李懷東,吳騰
(福州大學(xué) 機(jī)械工程及自動化學(xué)院,福建 福州 350108)
根據(jù)《中國心血管健康與疾病報(bào)告2019》[1],近年來,我國的心血管疾病死亡率仍舊居于首位,每5例死亡者中有2例死于心血管病。報(bào)告強(qiáng)調(diào),為降低日益加重的心血管疾病負(fù)擔(dān),一方面仍要強(qiáng)調(diào)提高醫(yī)療水平,改善醫(yī)療質(zhì)量,另一方面最重要的是加強(qiáng)對心血管危險(xiǎn)因素的控制,預(yù)防心血管疾病的發(fā)生。
心電信號是臨床用于診斷病人心臟健康狀態(tài)的一種綜合工具,具有無創(chuàng)、設(shè)備能耗低和易獲取等特點(diǎn),所以在各種心律失常檢測以及心臟病病理分析中都發(fā)揮了巨大的作用。心律失常是指心臟出現(xiàn)異?;顒踊蛐袨榈那榫埃切难芗膊☆A(yù)防的關(guān)鍵。在過去十年里,發(fā)展了許多基于信號處理技術(shù)的自動心跳分類方法,主要包括兩個(gè)步驟:特征提取和分類。心電信號的自動分類流程首先通過對心電圖中的特征系數(shù)進(jìn)行特征提取,突出異常和正常特征的區(qū)別,然后再利用相應(yīng)的分類器對特征進(jìn)行分類來達(dá)到識別心律目的。其中,心律失常的分類方法主要有:支持向量機(jī)[2]、神經(jīng)網(wǎng)絡(luò)[3]、決策樹(CT)[4]和加權(quán)條件隨機(jī)域(CRF)[5]。近年來,隨著深度學(xué)習(xí)(deep learning)的大熱,越來越多的人將其應(yīng)用到了心電信號的分類中[6-7]?;谏疃葘W(xué)習(xí)的分類方法無需對心電信號特征提取,能夠根據(jù)原始的信號對其所屬的類別直接進(jìn)行分類,具有高效、便捷和精準(zhǔn)的特點(diǎn)。
卷積神經(jīng)網(wǎng)絡(luò)由幾個(gè)卷積層組成,每層卷積層之后通常是接池化層,如圖1所示。在卷積層中,每一隱藏層中的每一個(gè)神經(jīng)元都連接到前一隱藏層神經(jīng)元的一個(gè)小區(qū)域,即感受域。其中,每個(gè)神經(jīng)元學(xué)習(xí)一組權(quán)重,而每層學(xué)習(xí)一個(gè)總體偏差。隨后,滑動卷積窗口,下一隱藏層的神經(jīng)元根據(jù)窗口的位置學(xué)習(xí)相應(yīng)的權(quán)值。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
這個(gè)過程在數(shù)學(xué)中可以表示為
(1)
對于信號而言,往往具有很強(qiáng)的時(shí)序性,而在時(shí)序特征提取的能力上,CNN是不如循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的。長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(LSTM)是一種特殊的RNN。與RNN相同,LSTM也采用了重復(fù)模塊鏈的形式,但不同之處在于重復(fù)模塊的結(jié)構(gòu)不同。RNN的重復(fù)模塊只有一層,而LSTM有4層,它們以一種特殊的方式相互作用。其數(shù)學(xué)表達(dá)式如下:
ft=σ(Wf·[ht-1,xt]+bf)
(2)
it=σ(Wi·[ht-1,xt]+bi)
(3)
Ct=ft·Ct-1+it·tanh(Ws·[ht-1,xt]+bs)
(4)
ht=σ(Wo·[ht-1,xt]+bo)·tanh(Ct)
(5)
式中:xt是輸入序列;ht-1是上一隱藏層的輸出;bf、bi和bo分別表示遺忘門、輸入門和輸出門的偏置;Wf、Wi和Wo分別表示遺忘門、輸入門和輸出門的權(quán)重;Ws為當(dāng)前單元的權(quán)重;Ct是當(dāng)前細(xì)胞的記憶單元。其中,權(quán)重采用隨機(jī)初始化,而偏置初始化為0。
傳統(tǒng)的LSTM有一定的局限性,只能實(shí)現(xiàn)單向傳輸。它從前面到后面提取數(shù)據(jù)特征的能力較強(qiáng),但對從后往前的信息識別性較差。雙向LSTM(BiLSTM)很好地解決了這個(gè)問題。雙向?qū)訉?shí)際上是由兩個(gè)方向相反的LSTM層組成:前向LSTM和后向LSTM。在每個(gè)時(shí)間步中,前向LSTM的輸出總結(jié)了之前所有時(shí)間步的局部特征,后向LSTM的輸出也總結(jié)了后續(xù)所有時(shí)間步的局部特征。將兩個(gè)LSTM層在某一時(shí)刻的局部輸出進(jìn)行匯總后,通過激活函數(shù)對其進(jìn)行非線性處理。因此,提取的特征可以更好地反映數(shù)據(jù)信息,達(dá)到更好的特征提取效果。
本文實(shí)驗(yàn)數(shù)據(jù)選自美國麻省理工學(xué)院所提供的MIT-BIH心律失常的數(shù)據(jù)庫[8]。該數(shù)據(jù)庫包含48條雙導(dǎo)聯(lián)動態(tài)心電信號記錄,記錄來自于心律失常實(shí)驗(yàn)室的47名受試者(記錄201和202來自同一男性),采樣頻率為360 Hz。本文采用導(dǎo)聯(lián)I心電數(shù)據(jù)作為實(shí)驗(yàn)樣本,根據(jù)數(shù)據(jù)中的QRS波位置取波前0.4 s,波后0.5 s,再下采樣成320采樣點(diǎn)的心拍作為輸入數(shù)據(jù)。分類標(biāo)準(zhǔn)按照美國醫(yī)療儀器促進(jìn)協(xié)會(AAMI)將原始的MIT-BIH的標(biāo)簽重新分成:正?;蛘呤鲗?dǎo)阻滯節(jié)拍(N)、室上性異常節(jié)拍(S)、心室異常節(jié)拍(V)、融合節(jié)拍(F)、未能分類節(jié)拍(Q)等5類。并根據(jù)7∶3的比例將數(shù)據(jù)集劃分成訓(xùn)練和測試集。原始標(biāo)簽和重新分類的AAMI標(biāo)簽如表1所示。
表1 AAMI標(biāo)簽與MIT-BIH標(biāo)簽對照表
為全面評估研究方法對心拍的分類結(jié)果,本實(shí)驗(yàn)采用混淆矩陣,主要包括三大評定指標(biāo):敏感度(Se)、精確度(Pre)、F1分?jǐn)?shù)。
(6)
(7)
(8)
式中:真陽性TP表示正樣本被預(yù)測為正樣本的數(shù)目;假陰性FN表示正樣本被預(yù)測為負(fù)樣本的數(shù)目;假陽性FP表示負(fù)樣本被預(yù)測為正樣本的數(shù)目。
如圖2所示,本文所搭建的神經(jīng)網(wǎng)絡(luò)由三分支的卷積神經(jīng)網(wǎng)絡(luò)后接一層BiLSTM及兩層多層感知機(jī)(MLP)構(gòu)成。其中,每條分支由兩層卷積神經(jīng)網(wǎng)絡(luò)組成,而每層CNN所使用的卷積核都不相同,這有助于在不同的空間尺度上提取信號的細(xì)節(jié)特征。每層卷積層后接一層批量歸一層(BN)和激活層,所使用的激活函數(shù)為ReLu,且步長均為1。對于每支路的最后一層卷積層后接步長為2的池化層,用于減小網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),加快收斂。在卷積網(wǎng)絡(luò)結(jié)束后,先對每支路卷積進(jìn)行拼接,然后輸入一層神經(jīng)元個(gè)數(shù)為32的BiLSTM,用于提取時(shí)序特征。最后接兩層MLP,用于對分類結(jié)果進(jìn)一步的細(xì)化和分類,最后一層MLP所采用的激活函數(shù)為Softmax。詳細(xì)的參數(shù)如表2所示。
圖2 本文所使用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
表2 本文所使用模型的細(xì)節(jié)參數(shù)
本實(shí)驗(yàn)?zāi)P驮贗ntel i7-8750H CPU、NVIDIA GTX 1060上訓(xùn)練,內(nèi)存為16 GB,使用基于python3.6的tensorflow2.1框架。心拍的分割與數(shù)據(jù)集的制作在jupyter上實(shí)現(xiàn),其中訓(xùn)練集和測試集分別有70 479和30 208個(gè)樣本,并在訓(xùn)練階段使用五折交叉驗(yàn)證。五折交叉驗(yàn)證通過將訓(xùn)練集平均分成5個(gè)不同訓(xùn)練組,取其中1份作為驗(yàn)證集,剩下4份作為訓(xùn)練集。在每次訓(xùn)練結(jié)束后輪換訓(xùn)練和驗(yàn)證集,5次輪換后平均結(jié)果來降低方差,因此其結(jié)果對數(shù)據(jù)集劃分的敏感性較低,具有較強(qiáng)的穩(wěn)定性。訓(xùn)練過程中所使用的優(yōu)化器為adam,學(xué)習(xí)率為0.000 1,每批次輸入32個(gè)樣本,迭代的次數(shù)為100。
測試了傳統(tǒng)CNN、多分支CNN及本文所提出的基于BiLSTM和多分支CNN的模型的訓(xùn)練與驗(yàn)證準(zhǔn)確率,其結(jié)果如圖3所示(本刊為黑白印刷,如有疑問請咨詢作者)。從圖3可以看出,無論是在訓(xùn)練還是測試階段,本文提出的模型在準(zhǔn)確率都高于其他的模型,說明該模型對分類的性能有一定的提升。在第30次迭代后訓(xùn)練和驗(yàn)證集曲線平穩(wěn),沒有發(fā)生過擬合現(xiàn)象。
圖3 訓(xùn)練和驗(yàn)證集準(zhǔn)確率的變化
使用訓(xùn)練好的模型對測試集進(jìn)行分類,得到混淆矩陣如表3所示。其中列是模型的預(yù)測值,行表示樣本的真實(shí)值,對角線表示正確分類的結(jié)果??梢钥闯瞿P驮跍y試集上表現(xiàn)良好,對于每一類基本都將心拍成功分類,特別是對于N、V、F這三個(gè)類別表現(xiàn)尤為突出,這三類在F1得分上分別高達(dá)99.5%、97.1%、97.7%,而對于Q類,訓(xùn)練和測試集僅有10個(gè)和5個(gè)樣本,但在樣本量少的情況下,仍有1個(gè)樣本被分類成功,說明模型充分考慮到樣本間的平衡性。
表3 分類結(jié)果的混淆矩陣表示
本文研究方法與近年來國外在MIT-BIH數(shù)據(jù)庫上的心電信號自動識別方法進(jìn)行對比,主要比較S和V兩類。根據(jù)AAMI標(biāo)準(zhǔn),S和V類的識別分類更具有臨床意義,其結(jié)果如表4所示,最好效果已加粗。可以看出,本文的方法在V和S類上雖然Pre值略低,但是效果基本持平,而且Sen和F1值高于其他文獻(xiàn)。作為綜合指標(biāo),S和V類的F1相較于其他文獻(xiàn)最好的結(jié)果分別提高了2.3和0.9。說明本文方法能在不同層面上更深提取ECG的特征,以此來達(dá)到更好的分類精度效果。
表4 本文與其他方法比較 單位:%
本文針對傳統(tǒng)CNN模型對細(xì)節(jié)特征方面提取的不足,使用多支路的CNN來提取更深層次的特征,同時(shí)考慮到ECG作為時(shí)序信號,結(jié)合BiLSTM模型對序列信號優(yōu)勢特點(diǎn),將其應(yīng)用在網(wǎng)絡(luò)模型的搭建中,分析和討論了在訓(xùn)練過程中該模型的訓(xùn)練和驗(yàn)證準(zhǔn)確率變化情況、模型在測試集上的分類效果,重點(diǎn)比較了該模型與其他論文的Sen、Pre和F1值。實(shí)驗(yàn)結(jié)果表明:在訓(xùn)練階段,該模型無論在準(zhǔn)確率還是擬合效果方面都優(yōu)于之前的傳統(tǒng)模型;在測試階段,模型對每類的分類在不同指標(biāo)上都有良好的效果;與其他論文相比,在細(xì)節(jié)與綜合得分上持平或者高于其他論文的模型。綜上可知,該模型在心電信號的自動分類上具有良好的應(yīng)用前景。