沈 堯,馬小虎,張 揚,楊東東
(蘇州大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215000)
據(jù)世界衛(wèi)生組織(WHO)統(tǒng)計[1],心血管疾病是人類健康的“頭號殺手”,全世界每年死于心血管疾病的人數(shù)高達(dá)1500萬人,2016年死于心血管疾病的人數(shù)占全球死亡人數(shù)的31%,約有1790萬人。心律失常作為心血管疾病的一種重要疾病,可單獨發(fā)作也可與其它心血管疾病并發(fā),嚴(yán)重時可致人猝死。臨床上對心律失常的主要診斷辦法是心電圖診斷,并且心律失常具有突發(fā)性以及不可預(yù)測性,對其進(jìn)行前期診斷和實時監(jiān)測是非常重要的。同時,人工診斷由于醫(yī)療資源的不足,醫(yī)生容易疲憊,造成誤診率高。劉亞萍等[2]以誤診疾病數(shù)據(jù)庫為統(tǒng)計范圍,查閱其中485篇文獻(xiàn),找出其中誤診病例高達(dá)7840例,誤診率達(dá)19.62%。因此,建立試試高效的心律失常自動分類系統(tǒng)不僅能減少醫(yī)生工作量,降低誤診率,還能有效監(jiān)測病人實時狀態(tài),提高治療效率,具有十分重大的意義。
一般來說,心電信號的分類包含信號預(yù)處理以及自動分類兩大部分。心電信號具有抗干擾性差的特點,因此信號的預(yù)處理主要是對采集過程中出現(xiàn)的因測量電極接觸不良導(dǎo)致的基線漂移、因供電設(shè)備產(chǎn)生的工頻干擾以及源于肌肉收縮和顫動的機(jī)電干擾進(jìn)行降噪處理,使得心電信號更為清晰,特征更容易提取。陰璽等[3]基于傳統(tǒng)的滑動濾波器,加入跳躍采樣機(jī)制,得到了較好的心電信號基線矯正效果,李慶華等[4]基于小波閾值算法,通過改進(jìn)的自適應(yīng)閾值算法獲得了更高的信噪比。在自動分類方面,以往的心電信號分類的工作主要集中于心電信號關(guān)鍵特征的提取,大多應(yīng)用統(tǒng)計模式識別分類算法,例如支持向量機(jī)(SVM)、隨機(jī)森林、K近鄰算法(KNN)、獨立成分分析(ICA)、主成分分析(PCA)。章潔等[5]通過自回歸移動平均模型(autoregres-sive moving average,ARMA)提取特征后,經(jīng)過隨機(jī)森林模型完成了心律失常的四分類,準(zhǔn)確率為89.97%,王利琴[6]等通過核主成分分析提取心電信號特征,結(jié)合極限學(xué)習(xí)機(jī),得到了98.68%的六分類準(zhǔn)確率,Sahoo[7]提出的基于心電信號衍生的多域特征心電搏動自動分類系統(tǒng),采用C4.5決策樹模型得到分類準(zhǔn)確率98.89%。這些基于特征提取的分類算法存在以下限制:①不同病人的心電波形不同,導(dǎo)致特征提取泛化性差,影響最終分類結(jié)果。②傳統(tǒng)機(jī)器學(xué)習(xí)分類效率難以提升,數(shù)據(jù)量不大。③大部分算法只能實現(xiàn)少數(shù)類別分類如二分類四分類等,對于準(zhǔn)確分類心律失常是遠(yuǎn)遠(yuǎn)不夠的。
深度學(xué)習(xí)跳過了人工提取特征的環(huán)節(jié),從大量數(shù)據(jù)中自動學(xué)習(xí)關(guān)鍵特征并完成分類,很好的解決了傳統(tǒng)機(jī)器學(xué)習(xí)在這方面的限制,因此很多學(xué)者通過深度學(xué)習(xí)在對心律失常自動分類方面取得了不少提升,例如M等[8]采用2s區(qū)間為數(shù)據(jù)集,通過RP工具將一維心電信號轉(zhuǎn)化為二維圖像后輸入CNN模型,得到準(zhǔn)確率為98.41%,張俊飛等[9]基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)對心拍分類的設(shè)計,對心律失常四分類達(dá)到98.95%的準(zhǔn)確率,柯麗等[10]基于卷積長短時記憶網(wǎng)絡(luò)(C-LSTM)進(jìn)行心律失常自動分類,準(zhǔn)確率達(dá)99.2%。盡管深度學(xué)習(xí)的很多模型在心律失常自動分類方面較傳統(tǒng)方法取得了很大進(jìn)步,然而心電信號屬于時序性數(shù)據(jù),需要進(jìn)行數(shù)據(jù)之間的關(guān)聯(lián),單純的進(jìn)行卷積提取特征可能會漏掉數(shù)據(jù)之間的聯(lián)系,從而影響分類結(jié)果。
為此,本文提出一種基于改進(jìn)的深度殘差網(wǎng)絡(luò)與長短時記憶網(wǎng)絡(luò)所融合的深度殘差長短時記憶網(wǎng)絡(luò)(Deep Residual Long Short Term Memory Network)心律失常自動分類模型。首先通過加入CBAM機(jī)制的深度殘差網(wǎng)絡(luò)提取心電信號特征,在壓縮信號的同時保留關(guān)鍵特征,避免梯度消失,接著通過與長短時記憶網(wǎng)絡(luò)學(xué)習(xí)所提取的特征,避免了LSTM因計算量大帶來的缺點,最后通過全連接層和softmax函數(shù)對心律失常自動分類。通過使用MIT-BIH心律失常數(shù)據(jù)集對本文方法進(jìn)行實驗,本文方法得到了高達(dá)99.53%的準(zhǔn)確率,實現(xiàn)了心律失常的高效分類。
本文基于深度殘差網(wǎng)絡(luò)和長短時記憶網(wǎng)絡(luò)各自的優(yōu)點,結(jié)合心電信號的獨特性,提出L-ResNet網(wǎng)絡(luò)模型結(jié)構(gòu)。它可以對心電信號自動進(jìn)行特征提取并在壓縮特征的過程中保留關(guān)鍵特征。圖1給出了本文所使用的方法的框架圖。
圖1 本文分類系統(tǒng)框架圖
本文實驗數(shù)據(jù)來自于MIT-BIH心律失常數(shù)據(jù)庫(MIT-BIH Arrhythimia Database)。該數(shù)據(jù)庫包含47位病人的心電圖數(shù)據(jù),總計48條30分鐘的兩導(dǎo)聯(lián)心電數(shù)據(jù)。圖2a是其中名為“100”的數(shù)據(jù)可視化心電圖。
一條心電圖由許多心拍組成,一個心拍主要的特征波有P波、QRS波以及T波(圖3a),每個心拍都包含著豐富的病理特征,因此將心電信號劃分為單獨的心拍是十分重要的。劃分心拍主要根據(jù)其QRS波的位置,熊敏[11]等通過多孔算法在MIH-BIH心律失常數(shù)據(jù)庫上取得了R波峰值點99.8%的準(zhǔn)確率。由于本文研究重點不是QRS波定位算法,并且MIH-BIH數(shù)據(jù)集中給出了QRS波的定位注釋,所以本文直接按照人工注釋劃分心拍。由圖2可見,每300個點的區(qū)間可以完整包含一個QRS、P、T波的組合,于是本文劃分心拍的規(guī)則是:以QRS波的位置為基礎(chǔ),向前取99個點,向后取200個點,將總計300個點截取出來作為一個心拍(圖3b)。隨后為了降低噪聲對模型提取ECG特征的干擾,采用小波變換的方法對心電信號進(jìn)行去噪。信號去噪對比如圖2。
圖2 心電圖信號去噪對比
圖3 心拍可視化
為了科學(xué)有效的與其它論文進(jìn)行比較,本文心拍的類別采用美國醫(yī)療儀器促進(jìn)協(xié)會(AAMI)所規(guī)定的心律失常五大類別。需要將MIT-BIH的15中心拍類別進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換規(guī)則如表1。轉(zhuǎn)換后,得到五大類總計93743個心拍數(shù)據(jù)集,其中30%作為測試集,49%作為訓(xùn)練集,21%作為驗證集。五種心拍可視化顯示如圖4。
圖4 五種心拍類型可視化
表1 AAMI心律失常類別轉(zhuǎn)化表
本文所提出的深度殘差長短時記憶網(wǎng)絡(luò)能夠跳過人工提取心電信號特征,自主學(xué)習(xí)信號關(guān)鍵特征并壓縮同時保留有效特征,再將得到的特征輸入長短時記憶網(wǎng)絡(luò),經(jīng)過反復(fù)迭代訓(xùn)練后,可以實現(xiàn)高準(zhǔn)確率的基于心電信號的心律失常自動分類。
ResNet是一種在卷積神經(jīng)網(wǎng)絡(luò)(CNN)基礎(chǔ)上,增加了殘差模塊的網(wǎng)絡(luò)模型。CNN可以通過卷積層的卷積核對每個感受野進(jìn)行卷積運算提取特征,并且通過權(quán)值共享減少參數(shù),緊接著的池化層通過使用總體統(tǒng)計特征簡化卷積層的輸出,進(jìn)一步壓縮特征。隨著CNN網(wǎng)絡(luò)的加深,模型能夠獲得更多的信息,但同時也會伴隨著梯度爆炸和梯度消失的問題。ResNet通過增加殘差模塊(圖5a),在卷積運算之后加上卷積操作之前的特征,這樣可以保證關(guān)鍵特征的不丟失,從而解決了CNN網(wǎng)絡(luò)層數(shù)加深所帶來的問題。而心電信號作為連續(xù)的數(shù)據(jù),其注重前后特征的聯(lián)系顯得尤為重要,因此ResNet的殘差模塊非常契合心電信號的處理。本文參考ResNet101網(wǎng)絡(luò)構(gòu)造框架,結(jié)合心電信號的連續(xù)性以及數(shù)據(jù)結(jié)構(gòu),構(gòu)建了一維的深度殘差網(wǎng)絡(luò),用以提取心電信號的特征。
CBAM(卷積注意模塊)是一種基于注意力機(jī)制的中間特征映射模塊。通過按照通道和空間推斷出注意力映射然后將結(jié)果相乘得到最終的特征。具體的過程為輸入的特征先分別進(jìn)行全局最大池化(global max pooling)和全局平均池化(global average pooling),然后將兩者通過共享全連接層的結(jié)果進(jìn)行基于elementwise加和操作,接著通過sigmoid函數(shù)激活得到通道注意力機(jī)制的結(jié)果,將其與輸入特征進(jìn)行elementwise相乘得到空間注意力機(jī)制的輸入;而空間注意力模塊則是將經(jīng)過channel模塊的特征分別進(jìn)行全局平均池化和全局最大池化后,合并進(jìn)行一次卷積操作并進(jìn)行sigmoid函數(shù)激活,最終與輸入特征進(jìn)行乘法操作得到最終輸出特征。CBAM學(xué)習(xí)了如何有效的強調(diào)和壓縮提取中間特征,由于其開銷很小,所以本文將CBAM模塊加入每一個ResNet的基礎(chǔ)模塊當(dāng)中,在殘差模塊對于輸入特征進(jìn)行卷積操作之后,進(jìn)行CBAM操作,最終將輸出的特征和輸入特征加和,形成加入CBAM機(jī)制的殘差模塊,如圖5b。
CBAM模塊的計算過程如下:
Mc(F)=σ(MLP(Avgpool(F))+MLP(Maxpool(F)))
(1)
Mc(F)=σ(f7×1([Avgpool(F);Maxpool(F)]))
(2)
F′=Mc(F)?F
(3)
F″=Ms(F′)?F′
(4)
其中,Mc(F)表示通道注意力機(jī)制的特征,Ms(F)空間注意力機(jī)制的特征,F(xiàn)為經(jīng)過殘差模塊提取的特征,F(xiàn)″為經(jīng)過CBAM模塊的提取的最終特征,σ為sigmoid函數(shù),W1∈RC/r*C,W0∈RC/C*r,r為減少率,W0后進(jìn)行ReLU函數(shù)激活,7×1表示一維卷積操作的卷積核大小。
圖5 加入CBAM機(jī)制前后的殘差模塊
長短時記憶網(wǎng)絡(luò)(LSTM)是一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的變種,在其基礎(chǔ)上增加了遺忘門,更新門和輸出門,以達(dá)到選擇性忘記不重要的特征,記住有效特征并更新輸出有用的信息。LSTM也因此多用于處理時序數(shù)據(jù),而心電信號由于其連續(xù)性,很契合LSTM模型的特點。LSTM的缺點在于引入了很多的內(nèi)容導(dǎo)致參數(shù)過多,但由于ResNet已經(jīng)對特征進(jìn)行了提取和壓縮,所以這一缺點被彌補了。
因此本文綜合兩者網(wǎng)絡(luò)的優(yōu)缺點,結(jié)合心電信號的特征,設(shè)計了101層的一維深度殘差網(wǎng)絡(luò)提取特征,其中每個卷積層后都跟有池化層和批歸一化層(BN),簡化輸出并防止過擬合,隨后使用線性整流函數(shù)(ReLU)函數(shù)作為卷積層輸出的激活函數(shù),這些模塊整體作為一個卷積層。經(jīng)過101層網(wǎng)絡(luò)以后得到最終10個點的一維數(shù)據(jù),輸入LSTM,最后使用全連接層得到輸出,將輸出輸入softmax函數(shù)得到不同類別的概率值,取最大概率作為分類結(jié)果,以此實現(xiàn)基于心電信號的心律失常自動分類。本文的模型結(jié)構(gòu)圖如圖6。
圖6 本文模型結(jié)構(gòu)圖
在ResNet101部分,先構(gòu)建一個卷積層(包含BN層,池化層以及ReLU)對輸入數(shù)據(jù)進(jìn)行特征提取。采用大小為(7,1)的卷積核,步長為2,將數(shù)據(jù)縮短為原來的一半。隨后分為四個部分,第一個部分由3個殘差模塊組成,每個殘差模塊依次經(jīng)過(1×1,64),(3×1,64),(1×1,256)的卷積層,接著經(jīng)過CBAM模塊,第二個部分由4個殘差模塊組成,每個殘差模塊依次經(jīng)過(1×1,128),(3×1,128),(1×1,512)的卷積層,接著經(jīng)過CBAM模塊,第三個部分由23個殘差模塊組成,每個殘差模塊依次經(jīng)過(1×1,256),(3×1,256),(1×1,1024)的卷積層,接著經(jīng)過CBAM模塊,第四個部分由三個殘差模塊組成,每個殘差模塊依次經(jīng)過(1×1,512),(3×1,512),(1×1,2048)的卷積層,接著經(jīng)過CBAM模塊。其中卷積層中的池化層均選擇最大池化,padding選擇same。最后通過卷積核大小(5,1),步長為1,輸出通道數(shù)為1的卷積層將提取的特征壓縮至一維,以便輸入LSTM。LSTM網(wǎng)絡(luò)采用32個隱藏單元,通過門控狀態(tài)來控制傳輸狀態(tài),記住需要長時間記憶的,忘記不重要的信息,將輸出通過全連接層以及softmax函數(shù),完成心律失常的五分類。模型參數(shù)如表2。
表2 本文網(wǎng)絡(luò)模型參數(shù)表
模型訓(xùn)練過程中,采用Adam作為優(yōu)化器,學(xué)習(xí)率為2e-4k,beta1=0.8,beta2=0.98,epsilon=1e-07。損失函數(shù)使用交叉熵?fù)p失函數(shù),批次大小為128,訓(xùn)練epoch為2000。
為了更好的和其它論文比較結(jié)果,本文采用AAMI所建議的準(zhǔn)確率(Acc)、敏感性(Sen)和特異性(Sp)三種方法對心律失常分類效果進(jìn)行分析和評估。其中準(zhǔn)確率指被正確分類的心拍個數(shù)的占比,是最能直觀體現(xiàn)分類性能的指標(biāo),數(shù)值越高則代表分類準(zhǔn)確率越高;靈敏度指被正確分類的心拍個數(shù)占該類心拍總數(shù)的比例,能直觀的體現(xiàn)是分類否有遺漏,數(shù)值越高則代表未被指出的該類心拍個數(shù)越低;特異性指被準(zhǔn)確分類不是該類心拍的樣本個數(shù)占所有不為該心拍類別的心拍總數(shù)的比例,數(shù)值越高則代表對該類心拍的分類精準(zhǔn)度越高,誤診心拍數(shù)越少。
三種方法的計算公式如下
Acc(%)=(TP+TN)/(TP+TN+FP+FN)×100%
(5)
Sen(%)=TP/(TP+FN)×100%
(6)
Sp(%)=TN/(TN+FP)×100%
(7)
其中,TP表示被分類正確的心拍個數(shù),為真陽性;FP表示不屬于某種心拍卻被錯誤分類為該心拍的個數(shù),為假陰性;TN表示不屬于某類心拍且被分類為其它類別的心拍個數(shù),為真陰性;FN表示屬于該類別卻被錯誤分類為其它類別的心拍個數(shù),為假陽性。
圖7給出了本文模型訓(xùn)練過程中準(zhǔn)確率的變化。圖中實線為訓(xùn)練集準(zhǔn)確率變化,可以看出經(jīng)過250個epoch以后,訓(xùn)練集準(zhǔn)確率已經(jīng)很高,接近于100%。隨著大量的循環(huán)訓(xùn)練,訓(xùn)練集準(zhǔn)確率也在緩緩提升。虛線代表訓(xùn)練過程中模型在驗證集上的準(zhǔn)確率,由于驗證集與訓(xùn)練集互不干涉,驗證集準(zhǔn)確率隨著訓(xùn)練集的準(zhǔn)確率同步提升,雖然沒有訓(xùn)練集的準(zhǔn)確率那么高,但是也穩(wěn)定在99.75%以上,表明沒有出現(xiàn)過擬合的現(xiàn)象。這說明本文提出的基于深度殘差網(wǎng)絡(luò)提取特征的長短時記憶網(wǎng)絡(luò)在訓(xùn)練過程中表現(xiàn)極佳,能夠有效的提取關(guān)鍵特征,拋開不重要的干擾信息,進(jìn)行準(zhǔn)確的分類。
圖7 訓(xùn)練過程準(zhǔn)確率變化圖
使用已經(jīng)訓(xùn)練好的模型,對測試集數(shù)據(jù)進(jìn)行分類,得到的混淆矩陣如圖8。其中坐標(biāo)軸的0-4分別對應(yīng)于AMMI心律失常類別中的N,S,V,F(xiàn),Q五種類別。橫坐標(biāo)表示模型對數(shù)據(jù)集的預(yù)測值,縱坐標(biāo)表示數(shù)據(jù)集的真實標(biāo)簽。矩陣上對角線上的元素個數(shù)為正確分類的樣本數(shù)量。測試集數(shù)據(jù)集大小為28123個樣本。
圖8 本文模型對測試集分類混淆矩陣
通過混淆矩陣的數(shù)據(jù)對模型的預(yù)測的準(zhǔn)確率、敏感性和特異性經(jīng)過計算,得到表3??梢钥吹交谏疃葰埐铋L短時記憶網(wǎng)絡(luò)在測試集上的準(zhǔn)確率達(dá)到了99.51%,表明其分類準(zhǔn)確率很高。其中除了S,F(xiàn)類別靈敏度較低,可能是由于這兩類的數(shù)據(jù)量較小,加之心電信號的類似,易于混淆。此外,五種類別的特異性指標(biāo)都很高,均超過97%,表明誤診率很低,這在醫(yī)學(xué)方面是尤為重要的。以上性能也驗證了本文方法的有效性。
將本文方法與同樣使用MIT-BIH心律失常數(shù)據(jù)集并按照AAMI建議分類的文獻(xiàn)進(jìn)行比較,結(jié)果如表4??梢钥闯觯瑹o論是從準(zhǔn)確率還是靈敏度和特異性,都表明本文方法能夠高效的進(jìn)行心律失常自動分類,并且具有優(yōu)越性。
表3 深度殘差長短時記憶網(wǎng)絡(luò)性能評價參數(shù)
表4 本文方法與其它文獻(xiàn)對比
本文針對先前心律失常自動分類缺乏數(shù)據(jù)的聯(lián)系性,提出了基于加入CBAM機(jī)制的深度殘差長短時記憶網(wǎng)絡(luò),能夠高效提取心電信號特征并加深心電信號間的聯(lián)系,去除無效的干擾信息,保留有效的關(guān)鍵信息,對心拍數(shù)據(jù)進(jìn)行準(zhǔn)確分類。最后通過實驗得出分類準(zhǔn)確率為99.51%,實現(xiàn)了心律失常高效準(zhǔn)確的自動分類,驗證了本文方法的有效性。考慮到心電信號與自然語言處理數(shù)據(jù)集的形式相似性,下一步將嘗試用自然語言處理方面的方法進(jìn)行心律失常自動分類,并且嘗試其它臨床數(shù)據(jù)集,以提高心律失常自動分類方法的泛用性。