在心血管疾病的診斷中,心電信號的分析一直起到至關重要的作用。目前如何利用算法有效識別出信號中的異常心拍,仍然是心電信號分析領域中的難點。本文將深度殘差網絡與自注意力機制相結合,提出了一種能夠自動識別出異常心拍的分類模型,該模型首先基于殘差結構設計了18層卷積神經網絡,用來充分提取信號中的局部特征,之后再結合雙向門控循環單元,用于提高網絡對于時序特征的挖掘能力,最后引入自注意力機制為提取到的每一個特征賦予區分化的權重,協助模型在訓練的過程中更有效地關注重要特征,以此來獲得較高的分類精度。本研究采用多種方式進行數據增強,緩解了由于數據不平衡問題對模型效果帶來的影響。本研究實驗數據來源于麻省理工學院與貝斯以色列醫院(MIT-BIH)構建的心律失常數據庫,最終結果表明,研究提出的模型在原始數據集上達到了98.33%的總體準確率,在優化后的數據集中達到了99.12%的總體準確率,證明了該模型在心電信號分類方面擁有良好的效果,具備應用到便攜式心電檢測設備的潛在價值。
引用本文: 袁成成, 劉自結, 王常青, 楊飛. 融合殘差網絡與自注意力機制的心律失常分類. 生物醫學工程學雜志, 2023, 40(3): 474-481. doi: 10.7507/1001-5515.202210062 復制
0 引言
心電圖(electrocardiogram,ECG)包含了心臟活動中每一個心拍周期的電位變化,是衡量心臟健康狀況的重要依據。精準、高效地識別出心電信號中的異常心率,對于人們預防和治療心血管疾病具有重要意義[1]。通常情況下,醫生通過分析心電圖來實現心律失常的診斷,這個過程需要投入巨大的精力和時間,如今隨著醫療數據的不斷增長,利用計算機技術對臨床數據進行統計和分析,已經成為提高診斷效率的有效手段。目前,一些基于特征工程的識別方法已經用于心電信號分類的研究中,比如:Wang等[2]提出一種基于主成分分析的特征簡約方法,可用來對特征進行提取和分類。Li等[3]基于隨機森林和小波包熵對心電信號進行分析,通過先對心電信號進行小波包分解,再將獲取的數據利用隨機森林算法實現分類。Pandey等[4]設計了一種基于支持向量機(support vector machine,SVM)的心拍識別算法,成功提取了包括形態學和R-R間期等在內的特征信號。這些方法依靠較高質量的特征工程可以取得一定成效,但是研究人員需要花費大量的時間來構建特征工程,人力成本較高。近年來,針對心電信號的自動分類問題,不少學者在深度學習的領域中展開了深入研究,利用深度學習方法主動從信號中學習有價值的特征,并挖掘出數據中潛在的深層信息,相關研究在信號分類方面體現出明顯優勢。其中,Sellami等[5]利用卷積神經網絡(convolutional neural network,CNN)直接對未經過預處理的心電數據進行分類研究,克服了分類結果中精度不平衡的問題。Chen等[6]將CNN和長短期記憶網絡(long short term memory,LSTM)相結合,采用了多輸入的結構,用來自動識別包括正常竇性節律、心房顫動、心室二聯律、起搏心律、心房撲動和竇性心動過緩在內的6種心拍片段。Gao等[7]為了進一步優化神經網絡在處理時序信號中的效果,引入了注意力機制,并通過實驗結果的對比分析,證明了注意力機制能夠有效提高神經網絡的分類性能。Yao等[8]在模型中引入了門控循環單元(gated recurrent unit,GRU),該模型由一個CNN層、6個局部特征提取模塊、一個GRU層和一個歸一化指數函數柔性最大(softmax)層組成,實驗結果表明該模型在識別異常心拍方面具有良好表現。Zhou等[9]將神經網絡與極限學習機(extreme learning machine,ELM)相結合,研究先利用兩層CNN充分抽取信號中的局部特征,之后再導入到ELM分類器中進行信號分類,提升了傳統神經網絡在心電信號方面的識別精度。Li等[10]基于4個殘差塊設計了心電信號分類算法,并有效地完成了單導聯心電信號的分類任務。Zhou等[11]利用對抗神經網絡(generative adversarial nets,GANs)來擴充數據,通過結合真實的和生成的心電圖耦合矩陣來訓練模型,并在專家輔助診斷方面發揮出實際的作用。Che等[12]結合CNN和轉換器(transformer)結構來提取心電信號中的時間信息,并通過在損失函數中引入了一個新的鏈接約束,增強了模型對于嵌入向量的分類能力。
在目前的臨床診斷中,心電信號的分析大多還是先按照傳統的方式抽取特征,之后再結合醫師的分析給出大致的建議,難以實現高效的智能診斷。針對這類問題,本研究提出了一種融合了殘差網絡(residual network,ResNet)和自注意力機制[13](self-attention)的心電信號分類模型。具體來說,本文工作主要有以下幾個方面:①利用ResNet的方式構建深度卷積層,在充分提取局部特征的同時,該結構可以有效避免深層網絡中出現的梯度退化現象。②結合self-attention與雙向GRU(bi-direction GRU,BiGRU)構建自注意力BiGRU(self-attention BiGRU,ABiGRU)網絡,提出ResNet-ABiGRU心電信號分類模型,利用BiGRU網絡充分考慮信號中的時間相關性,提取信號中的全局特征,相較于常用的LSTM網絡,GRU網絡的結構更加簡單,可以節省計算資源,同時加入的self-attention能夠動態地為特征信號分配權重,增強模型對于重要特征的關注程度,從而提升分類效果。③在對實驗結果的分析中,研究減少了數據不平衡因素對實驗結果帶來的影響,并將模型的分類結果與現有的研究成果進行比較,以期證明所提出的模型可行性良好,具備為嵌入式心電信號檢測設備的發展提供算法支撐的潛在價值。
1 ResNet-ABiGRU網絡模型構建
本研究提出的分類模型的結構如圖1所示,該分類模型主要由ResNet層、BiGRU層、self-attention層和全連接層共同構成。從圖1中可以看出,模型輸入的心拍數據是以序列的形式,其中每個心拍的長度為330個采樣點(|-330-|)。在ResNet層中,主要由模塊a和模塊b堆疊組成,模塊a中信號的通道并未發生改變,可以直接拼接輸出,在圖1中用實線表示。模塊b中的信號通道發生變化,需要進行支路下采樣的操作,以此來保持模塊間通道的一致,在圖1中用虛線表示。模型共使用兩層BiGRU結構,并將輸出空間的維度逐步縮小,其分別設置為128和64,旨在提取時序特征的同時保證模型的有效收斂。在self-attention層中,通過將獲得的特征信息轉換成嵌入向量,并將其與權重矩陣進行點乘計算,以此來讓模型得到不同特征信號的權重信息,從而實現對重要特征信息的重點學習。最后,通過全連接層將所有特征匯總展開,轉換成一維的向量表示,并結合softmax函數實現最終的五類心拍的識別任務。

在ResNet中的所有模塊中,研究在每一層CNN的后面加入批標準化(batch normalization,BN),且都使用線性整流函數(rectified linear unit,ReLU)作為激活函數。為了防止過擬合,實驗在網絡輸入端的首個CNN層中使用最大池化(max pooling),在殘差連接的末尾處使用平均池化(average pooling),在整個網絡的末尾處使用丟棄層(dropout)。同時為了保證能夠有效收斂,研究在訓練的過程中使用交叉熵損失函數,每次訓練的批大小(batch_size)設為128,學習率設置為0.001,并選擇適應性矩估計(adaptive moment estimation,Adam)作為網絡優化器。
2 數據預處理
本文使用的是由美國麻省理工學院與貝斯以色列醫院(Massachusetts Institute of Technology and Beth Israel Hospital,MIT-BIH)構建的心律失常數據庫[14]。心電信號在采集的過程中容易混入噪聲,這會影響到數據的質量,因此在使用前需要進行降噪處理[15]。當前常見的幾種降噪方式包括濾波器降噪、經驗模態分解[16]和小波變換。其中濾波器降噪對高頻噪聲效果明顯,但是容易造成波形失真;經驗模態分解能夠減小波形的失真,但是處理的結果往往帶有波形混疊的現象;相比之下,小波變換不僅能夠有效區分數據中的時域信號和頻域信號,而且也具備良好的適應性[17]。本研究選用多貝西(Daubechies,db)小波基對信號進行降噪處理,利用信噪比(signal noise ratio,SNR)和均方誤差(mean square error,MSE)來評估db小波在不同階數下的降噪效果,實驗結果如表1所示。

從SNR和MSE兩個指標的結果可以看出,一開始隨著小波基階數的增大,降噪效果提升明顯,但在db9小波基之后,降噪效果不再有提升,因此db9小波基取得了最佳的降噪效果。實驗選擇軟閾值函數來對不同的噪聲做量化處理,同時利用db9小波基將信號分解成五層,該過程能夠有效去除心電信號中的高頻噪聲。心電信號在小波變換中的降噪效果如圖2所示,分別表示包含噪聲的原始心電信號和經過db9小波基處理的降噪后的心電信號,從對比結果可知,最終得到的信號不僅保留了原本的特征信息,曲線也變得更加平滑,體現了良好的降噪效果。

實驗過程依據美國醫療儀器促進協會(The Association for the Advancement of Medical Instrumentation,AAMI)制定的心率失常分類標準[18],將原始數據劃分為正常搏動心拍(normal,N)、室上性早搏或異常(superaventricular,S)、室性逸搏(ventricular,V)、心室融合心跳(fusion,F)和未知心跳(unknown,Q)。研究利用數據庫中已標注的R峰信息,對信號進行分割,每個心拍劃分的長度為330個采樣點,整個實驗過程一共得到104 441個心拍。研究每次訓練和評估模型時,都會在心拍總數不變的情況下,以7:3的比例隨機劃分出訓練集和測試集,其中用于訓練模型的心拍總數為73 109個,用于測試的心拍總數為31 332個,原始數據中各類心拍的分布情況如表2所示。

3 實驗結果與分析
在醫學分類的標準中,只有N類心拍表示為正常心拍,用陰性來表示,其余的異常心拍用陽性表示。因此在本次實驗中N為陰性,S、V、F、Q均用陽性表示。本文以整體準確率(accuracy,Acc)、靈敏度(sensitivity,Sen)和特異性(specificity,Spe)來衡量模型的性能。各個指標的計算過程如式(1)~式(3)所示:
![]() |
![]() |
![]() |
其中,假陽性(false positive,FP)表示心拍的真實類別為陰性,被錯誤的分類為陽性的樣本個數;真陽性(true positive,TP)表示心拍的真實類別為陽性,被正確分類成陽性的樣本個數;真陰性(true negative, TN)表示心拍的真實類別為陰性,被正確分類成陰性的樣本個數;假陰性(false negative, FN)表示心拍的真實類別為陽性,被錯誤的分類為陰性的樣本個數。
整個研究過程使用的硬件設備為安徽醫科大學提供的醫學大數據超算中心服務器,所使用配置為:顯卡(RTX3090TI,Nvidia,美國);處理器(XeonGold 6240,Intel,美國);編譯集成環境Python IDE(pycharm 2019,捷克),模型每次的訓練周期為150輪次,每次訓練平均耗時約3 h。
由表2描述的心拍分布情況可知,相較于N類心拍,S、V、F、Q四類心拍的數量嚴重不足,為了避免對實驗結果產生干擾,本次研究分別使用隨機欠采樣[19]、合成少數過采樣[20]及自適應綜合采樣[21]對訓練集進行平衡化處理,研究所提出的分類模型性能衡量的實驗結果如表3所示。

從表3可以看出,經合成少數過采樣與自適應綜合采樣處理后,其分類結果都具有良好表現,而隨機欠采樣反而影響了原本的模型性能,分類的Acc只有91.01%。究其原因,是因為隨機欠采樣會從多數類的數據中刪除樣本信息,這雖然有助于建立多數類數據與少數類數據之間的平衡,但可能會丟失數據集中有價值的信息[22],影響了模型的學習能力。因此,隨機欠采樣并不適用于本研究中的數據平衡化處理。在合成少數過采樣與自適應綜合采樣處理后的結果比較中,合成少數過采樣在Acc、Sen和Spe這三個指標上均比自適應綜合采樣高,因此本研究選擇合成少數過采樣算法來對數據進行平衡化處理。模型在數據平衡前和數據平衡后的分類結果如圖3所示,由混淆矩陣來表示,其中每類心拍詳細的分類結果如表4所示。


從表4可以看出,在選擇合成少數過采樣的方式處理數據之后,模型在平均Sen、平均Acc和平均Spe上的性能均有提升,并且模型整體的Acc也有提升,這表明更大的數據集有利于模型學習到更多的信息,也體現了實驗過程中對數據集進行平衡化處理的必要性。從數據增強后的結果來看,模型的分類Acc平均達到99.66%,其中Acc最高的為Q類心拍,達到99.97%;模型的分類Sen平均達到95.53%,其中N類心拍的Sen最高,為99.57%;模型的Spe平均達到99.36%,Q類心拍在所有心拍中的分類Spe最高,為99.99%。值得注意的是,即使是在原始的數據集上,模型仍然能夠達到98.33%的整體Acc。模型在訓練集和測試集中的Acc與損失值(Loss)的收斂過程如圖4所示,可以看到訓練集上的曲線趨于平穩,測試集上的曲線在一個很小的區間里震蕩,并沒有出現嚴重的過擬合現象,模型的整體性能表現良好。

本文也對模型進行了消融比對,其他所對比的模型組合分別為:由ResNet和self-attention組成的分類模型(ResNet-Attention)、由ResNet和BiGRU組成的分類模型(ResNet-BiGRU)以及由BiGRU和self-attention組成的分類模型(BiGRU-Attention),不同組合的模型在測試集中的表現如圖5所示。從圖5中可知,在訓練的初始階段,四種模型均出現不同程度的震蕩,其中BiGRU-Attention模型的震蕩最為劇烈且初始準確率最低,這是因為模型在初始階段未能有效挖掘出信號中的深層特征,在特征抽取不足的情況下影響了網絡的學習能力。在ResNet-Attention模型中,由于引入了殘差結構,深層次的CNN提高了模型提取特征的能力,因此準確度有了明顯的提升。從圖5中四種曲線的走勢中可以看出,本研究所提出的模型在測試集中取得了最好的分類效果,并且對比ResNet-BiGRU模型可以發現,注意力機制的加入能夠幫助模型更容易實現并行化計算,在提高分類準確度的同時加速模型的收斂。

為了進一步體現本文模型(ResNet-ABiGRU)對于各類心拍的分類效果,本文利用受試者工作特征曲線(receiver operating characteristic,ROC)和曲線下面積(area under the curve,AUC)來展示模型的分類效果。ROC在圖中以直觀的曲線分布表示出來,AUC在圖中則以曲線下面積占比來表示(即區域總面積為1,區域值越高,表明取得的分類效果越好),同時利用宏平均和微平均來綜合衡量模型的分類效果,模型在結果中的ROC-AUC曲線如圖6所示,計算的結果在圖6中一并展出。從整體上來看,在微平均和宏平均上達到了0.99,各類心拍的ROC曲線分布基本一致,表明模型對于不同心拍均能夠達到有效識別的效果。從單個心拍識別的角度來看,Q類心拍和V類心拍的AUC值達到了1,而F類心拍的AUC值只有0.98,這是由于合成少數過采樣算法雖然有效緩解了F類心拍不足的情況,但是生成的部分數據也可能會存在樣本重疊的問題,導致特征的區分度不夠明顯,這在一定程度上影響了數據質量,進而導致模型在不同心拍的識別任務中存在較小的誤差。

本文也將研究中的模型與目前現有的方法中的模型進行對比,為了保證研究的可比較性,所對比的方法均使用MIT-BIH心律失常數據庫作為實驗的數據來源。研究與各類方法的對比結果如表5所示。

通過對比結果可以看出,上述幾種方法在Acc、Sen和Spe這三個指標上的表現均與本文所提出的分類方法存在一定的差距,這也進一步證明本文提出的模型在心電信號分類任務中具有一定的先進性,存在應用到移動心電檢測設備[23]中的潛在價值。
4 結束語
對于如何有效識別出心電信號中的異常心拍,本文提出了ResNet-ABiGRU心電信號分類模型,并論證了模型在心拍識別方面的有效性。由于整個研究是在公共數據集上得到的實驗結果,因此模型的泛化性還需要進一步的測試,研究的下一步工作主要有以下幾點:① 與校醫附院的相關科室進行對接,在醫院實時采集心電數據,并通過專家的指導構建可靠的醫療數據集,利用更大規模的數據集來提高模型的學習能力。② 針對心電信號的標注問題,由于人工標注會為團隊帶來龐大的工作量,因此會在之后的研究中嘗試利用無監督學習的算法思想,直接對未標注的原始數據進行訓練,以此來提高對于醫療數據的利用率。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:袁成成主要負責數據處理、模型搭建和論文撰寫。劉自結負責調研監督實驗流程、數據記錄和分析。王常青負責圖表繪制和算法設計。楊飛負責提供實驗指導和論文審閱修訂。
0 引言
心電圖(electrocardiogram,ECG)包含了心臟活動中每一個心拍周期的電位變化,是衡量心臟健康狀況的重要依據。精準、高效地識別出心電信號中的異常心率,對于人們預防和治療心血管疾病具有重要意義[1]。通常情況下,醫生通過分析心電圖來實現心律失常的診斷,這個過程需要投入巨大的精力和時間,如今隨著醫療數據的不斷增長,利用計算機技術對臨床數據進行統計和分析,已經成為提高診斷效率的有效手段。目前,一些基于特征工程的識別方法已經用于心電信號分類的研究中,比如:Wang等[2]提出一種基于主成分分析的特征簡約方法,可用來對特征進行提取和分類。Li等[3]基于隨機森林和小波包熵對心電信號進行分析,通過先對心電信號進行小波包分解,再將獲取的數據利用隨機森林算法實現分類。Pandey等[4]設計了一種基于支持向量機(support vector machine,SVM)的心拍識別算法,成功提取了包括形態學和R-R間期等在內的特征信號。這些方法依靠較高質量的特征工程可以取得一定成效,但是研究人員需要花費大量的時間來構建特征工程,人力成本較高。近年來,針對心電信號的自動分類問題,不少學者在深度學習的領域中展開了深入研究,利用深度學習方法主動從信號中學習有價值的特征,并挖掘出數據中潛在的深層信息,相關研究在信號分類方面體現出明顯優勢。其中,Sellami等[5]利用卷積神經網絡(convolutional neural network,CNN)直接對未經過預處理的心電數據進行分類研究,克服了分類結果中精度不平衡的問題。Chen等[6]將CNN和長短期記憶網絡(long short term memory,LSTM)相結合,采用了多輸入的結構,用來自動識別包括正常竇性節律、心房顫動、心室二聯律、起搏心律、心房撲動和竇性心動過緩在內的6種心拍片段。Gao等[7]為了進一步優化神經網絡在處理時序信號中的效果,引入了注意力機制,并通過實驗結果的對比分析,證明了注意力機制能夠有效提高神經網絡的分類性能。Yao等[8]在模型中引入了門控循環單元(gated recurrent unit,GRU),該模型由一個CNN層、6個局部特征提取模塊、一個GRU層和一個歸一化指數函數柔性最大(softmax)層組成,實驗結果表明該模型在識別異常心拍方面具有良好表現。Zhou等[9]將神經網絡與極限學習機(extreme learning machine,ELM)相結合,研究先利用兩層CNN充分抽取信號中的局部特征,之后再導入到ELM分類器中進行信號分類,提升了傳統神經網絡在心電信號方面的識別精度。Li等[10]基于4個殘差塊設計了心電信號分類算法,并有效地完成了單導聯心電信號的分類任務。Zhou等[11]利用對抗神經網絡(generative adversarial nets,GANs)來擴充數據,通過結合真實的和生成的心電圖耦合矩陣來訓練模型,并在專家輔助診斷方面發揮出實際的作用。Che等[12]結合CNN和轉換器(transformer)結構來提取心電信號中的時間信息,并通過在損失函數中引入了一個新的鏈接約束,增強了模型對于嵌入向量的分類能力。
在目前的臨床診斷中,心電信號的分析大多還是先按照傳統的方式抽取特征,之后再結合醫師的分析給出大致的建議,難以實現高效的智能診斷。針對這類問題,本研究提出了一種融合了殘差網絡(residual network,ResNet)和自注意力機制[13](self-attention)的心電信號分類模型。具體來說,本文工作主要有以下幾個方面:①利用ResNet的方式構建深度卷積層,在充分提取局部特征的同時,該結構可以有效避免深層網絡中出現的梯度退化現象。②結合self-attention與雙向GRU(bi-direction GRU,BiGRU)構建自注意力BiGRU(self-attention BiGRU,ABiGRU)網絡,提出ResNet-ABiGRU心電信號分類模型,利用BiGRU網絡充分考慮信號中的時間相關性,提取信號中的全局特征,相較于常用的LSTM網絡,GRU網絡的結構更加簡單,可以節省計算資源,同時加入的self-attention能夠動態地為特征信號分配權重,增強模型對于重要特征的關注程度,從而提升分類效果。③在對實驗結果的分析中,研究減少了數據不平衡因素對實驗結果帶來的影響,并將模型的分類結果與現有的研究成果進行比較,以期證明所提出的模型可行性良好,具備為嵌入式心電信號檢測設備的發展提供算法支撐的潛在價值。
1 ResNet-ABiGRU網絡模型構建
本研究提出的分類模型的結構如圖1所示,該分類模型主要由ResNet層、BiGRU層、self-attention層和全連接層共同構成。從圖1中可以看出,模型輸入的心拍數據是以序列的形式,其中每個心拍的長度為330個采樣點(|-330-|)。在ResNet層中,主要由模塊a和模塊b堆疊組成,模塊a中信號的通道并未發生改變,可以直接拼接輸出,在圖1中用實線表示。模塊b中的信號通道發生變化,需要進行支路下采樣的操作,以此來保持模塊間通道的一致,在圖1中用虛線表示。模型共使用兩層BiGRU結構,并將輸出空間的維度逐步縮小,其分別設置為128和64,旨在提取時序特征的同時保證模型的有效收斂。在self-attention層中,通過將獲得的特征信息轉換成嵌入向量,并將其與權重矩陣進行點乘計算,以此來讓模型得到不同特征信號的權重信息,從而實現對重要特征信息的重點學習。最后,通過全連接層將所有特征匯總展開,轉換成一維的向量表示,并結合softmax函數實現最終的五類心拍的識別任務。

在ResNet中的所有模塊中,研究在每一層CNN的后面加入批標準化(batch normalization,BN),且都使用線性整流函數(rectified linear unit,ReLU)作為激活函數。為了防止過擬合,實驗在網絡輸入端的首個CNN層中使用最大池化(max pooling),在殘差連接的末尾處使用平均池化(average pooling),在整個網絡的末尾處使用丟棄層(dropout)。同時為了保證能夠有效收斂,研究在訓練的過程中使用交叉熵損失函數,每次訓練的批大小(batch_size)設為128,學習率設置為0.001,并選擇適應性矩估計(adaptive moment estimation,Adam)作為網絡優化器。
2 數據預處理
本文使用的是由美國麻省理工學院與貝斯以色列醫院(Massachusetts Institute of Technology and Beth Israel Hospital,MIT-BIH)構建的心律失常數據庫[14]。心電信號在采集的過程中容易混入噪聲,這會影響到數據的質量,因此在使用前需要進行降噪處理[15]。當前常見的幾種降噪方式包括濾波器降噪、經驗模態分解[16]和小波變換。其中濾波器降噪對高頻噪聲效果明顯,但是容易造成波形失真;經驗模態分解能夠減小波形的失真,但是處理的結果往往帶有波形混疊的現象;相比之下,小波變換不僅能夠有效區分數據中的時域信號和頻域信號,而且也具備良好的適應性[17]。本研究選用多貝西(Daubechies,db)小波基對信號進行降噪處理,利用信噪比(signal noise ratio,SNR)和均方誤差(mean square error,MSE)來評估db小波在不同階數下的降噪效果,實驗結果如表1所示。

從SNR和MSE兩個指標的結果可以看出,一開始隨著小波基階數的增大,降噪效果提升明顯,但在db9小波基之后,降噪效果不再有提升,因此db9小波基取得了最佳的降噪效果。實驗選擇軟閾值函數來對不同的噪聲做量化處理,同時利用db9小波基將信號分解成五層,該過程能夠有效去除心電信號中的高頻噪聲。心電信號在小波變換中的降噪效果如圖2所示,分別表示包含噪聲的原始心電信號和經過db9小波基處理的降噪后的心電信號,從對比結果可知,最終得到的信號不僅保留了原本的特征信息,曲線也變得更加平滑,體現了良好的降噪效果。

實驗過程依據美國醫療儀器促進協會(The Association for the Advancement of Medical Instrumentation,AAMI)制定的心率失常分類標準[18],將原始數據劃分為正常搏動心拍(normal,N)、室上性早搏或異常(superaventricular,S)、室性逸搏(ventricular,V)、心室融合心跳(fusion,F)和未知心跳(unknown,Q)。研究利用數據庫中已標注的R峰信息,對信號進行分割,每個心拍劃分的長度為330個采樣點,整個實驗過程一共得到104 441個心拍。研究每次訓練和評估模型時,都會在心拍總數不變的情況下,以7:3的比例隨機劃分出訓練集和測試集,其中用于訓練模型的心拍總數為73 109個,用于測試的心拍總數為31 332個,原始數據中各類心拍的分布情況如表2所示。

3 實驗結果與分析
在醫學分類的標準中,只有N類心拍表示為正常心拍,用陰性來表示,其余的異常心拍用陽性表示。因此在本次實驗中N為陰性,S、V、F、Q均用陽性表示。本文以整體準確率(accuracy,Acc)、靈敏度(sensitivity,Sen)和特異性(specificity,Spe)來衡量模型的性能。各個指標的計算過程如式(1)~式(3)所示:
![]() |
![]() |
![]() |
其中,假陽性(false positive,FP)表示心拍的真實類別為陰性,被錯誤的分類為陽性的樣本個數;真陽性(true positive,TP)表示心拍的真實類別為陽性,被正確分類成陽性的樣本個數;真陰性(true negative, TN)表示心拍的真實類別為陰性,被正確分類成陰性的樣本個數;假陰性(false negative, FN)表示心拍的真實類別為陽性,被錯誤的分類為陰性的樣本個數。
整個研究過程使用的硬件設備為安徽醫科大學提供的醫學大數據超算中心服務器,所使用配置為:顯卡(RTX3090TI,Nvidia,美國);處理器(XeonGold 6240,Intel,美國);編譯集成環境Python IDE(pycharm 2019,捷克),模型每次的訓練周期為150輪次,每次訓練平均耗時約3 h。
由表2描述的心拍分布情況可知,相較于N類心拍,S、V、F、Q四類心拍的數量嚴重不足,為了避免對實驗結果產生干擾,本次研究分別使用隨機欠采樣[19]、合成少數過采樣[20]及自適應綜合采樣[21]對訓練集進行平衡化處理,研究所提出的分類模型性能衡量的實驗結果如表3所示。

從表3可以看出,經合成少數過采樣與自適應綜合采樣處理后,其分類結果都具有良好表現,而隨機欠采樣反而影響了原本的模型性能,分類的Acc只有91.01%。究其原因,是因為隨機欠采樣會從多數類的數據中刪除樣本信息,這雖然有助于建立多數類數據與少數類數據之間的平衡,但可能會丟失數據集中有價值的信息[22],影響了模型的學習能力。因此,隨機欠采樣并不適用于本研究中的數據平衡化處理。在合成少數過采樣與自適應綜合采樣處理后的結果比較中,合成少數過采樣在Acc、Sen和Spe這三個指標上均比自適應綜合采樣高,因此本研究選擇合成少數過采樣算法來對數據進行平衡化處理。模型在數據平衡前和數據平衡后的分類結果如圖3所示,由混淆矩陣來表示,其中每類心拍詳細的分類結果如表4所示。


從表4可以看出,在選擇合成少數過采樣的方式處理數據之后,模型在平均Sen、平均Acc和平均Spe上的性能均有提升,并且模型整體的Acc也有提升,這表明更大的數據集有利于模型學習到更多的信息,也體現了實驗過程中對數據集進行平衡化處理的必要性。從數據增強后的結果來看,模型的分類Acc平均達到99.66%,其中Acc最高的為Q類心拍,達到99.97%;模型的分類Sen平均達到95.53%,其中N類心拍的Sen最高,為99.57%;模型的Spe平均達到99.36%,Q類心拍在所有心拍中的分類Spe最高,為99.99%。值得注意的是,即使是在原始的數據集上,模型仍然能夠達到98.33%的整體Acc。模型在訓練集和測試集中的Acc與損失值(Loss)的收斂過程如圖4所示,可以看到訓練集上的曲線趨于平穩,測試集上的曲線在一個很小的區間里震蕩,并沒有出現嚴重的過擬合現象,模型的整體性能表現良好。

本文也對模型進行了消融比對,其他所對比的模型組合分別為:由ResNet和self-attention組成的分類模型(ResNet-Attention)、由ResNet和BiGRU組成的分類模型(ResNet-BiGRU)以及由BiGRU和self-attention組成的分類模型(BiGRU-Attention),不同組合的模型在測試集中的表現如圖5所示。從圖5中可知,在訓練的初始階段,四種模型均出現不同程度的震蕩,其中BiGRU-Attention模型的震蕩最為劇烈且初始準確率最低,這是因為模型在初始階段未能有效挖掘出信號中的深層特征,在特征抽取不足的情況下影響了網絡的學習能力。在ResNet-Attention模型中,由于引入了殘差結構,深層次的CNN提高了模型提取特征的能力,因此準確度有了明顯的提升。從圖5中四種曲線的走勢中可以看出,本研究所提出的模型在測試集中取得了最好的分類效果,并且對比ResNet-BiGRU模型可以發現,注意力機制的加入能夠幫助模型更容易實現并行化計算,在提高分類準確度的同時加速模型的收斂。

為了進一步體現本文模型(ResNet-ABiGRU)對于各類心拍的分類效果,本文利用受試者工作特征曲線(receiver operating characteristic,ROC)和曲線下面積(area under the curve,AUC)來展示模型的分類效果。ROC在圖中以直觀的曲線分布表示出來,AUC在圖中則以曲線下面積占比來表示(即區域總面積為1,區域值越高,表明取得的分類效果越好),同時利用宏平均和微平均來綜合衡量模型的分類效果,模型在結果中的ROC-AUC曲線如圖6所示,計算的結果在圖6中一并展出。從整體上來看,在微平均和宏平均上達到了0.99,各類心拍的ROC曲線分布基本一致,表明模型對于不同心拍均能夠達到有效識別的效果。從單個心拍識別的角度來看,Q類心拍和V類心拍的AUC值達到了1,而F類心拍的AUC值只有0.98,這是由于合成少數過采樣算法雖然有效緩解了F類心拍不足的情況,但是生成的部分數據也可能會存在樣本重疊的問題,導致特征的區分度不夠明顯,這在一定程度上影響了數據質量,進而導致模型在不同心拍的識別任務中存在較小的誤差。

本文也將研究中的模型與目前現有的方法中的模型進行對比,為了保證研究的可比較性,所對比的方法均使用MIT-BIH心律失常數據庫作為實驗的數據來源。研究與各類方法的對比結果如表5所示。

通過對比結果可以看出,上述幾種方法在Acc、Sen和Spe這三個指標上的表現均與本文所提出的分類方法存在一定的差距,這也進一步證明本文提出的模型在心電信號分類任務中具有一定的先進性,存在應用到移動心電檢測設備[23]中的潛在價值。
4 結束語
對于如何有效識別出心電信號中的異常心拍,本文提出了ResNet-ABiGRU心電信號分類模型,并論證了模型在心拍識別方面的有效性。由于整個研究是在公共數據集上得到的實驗結果,因此模型的泛化性還需要進一步的測試,研究的下一步工作主要有以下幾點:① 與校醫附院的相關科室進行對接,在醫院實時采集心電數據,并通過專家的指導構建可靠的醫療數據集,利用更大規模的數據集來提高模型的學習能力。② 針對心電信號的標注問題,由于人工標注會為團隊帶來龐大的工作量,因此會在之后的研究中嘗試利用無監督學習的算法思想,直接對未標注的原始數據進行訓練,以此來提高對于醫療數據的利用率。
重要聲明
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
作者貢獻聲明:袁成成主要負責數據處理、模型搭建和論文撰寫。劉自結負責調研監督實驗流程、數據記錄和分析。王常青負責圖表繪制和算法設計。楊飛負責提供實驗指導和論文審閱修訂。