張培玲,李小真,郭艷濤
(1.河南理工大學(xué)物理與電子信息學(xué)院,河南 焦作 454000;2.河南理工大學(xué)電氣工程與自動(dòng)化學(xué)院,河南 焦作 454000;3.中石化中原石油工程設(shè)計(jì)公司,河南 鄭州 450000)
心電圖是記錄心電信號(hào)隨時(shí)間變化的一維序列,由多個(gè)心拍組合而成,每個(gè)心拍包含P波,QRS波,T波的信號(hào)段,其中蘊(yùn)藏著豐富的生理信息[1],一方面醫(yī)生可以通過觀察心拍來對(duì)患者的病情做出診斷,另一方面人們對(duì)心電信號(hào)進(jìn)行心拍分割,為后續(xù)的心電信號(hào)分類識(shí)別做好準(zhǔn)備。傳統(tǒng)的機(jī)器學(xué)習(xí)在心拍識(shí)別方法主要有:支持向量機(jī)[2]、模糊數(shù)學(xué)[3]、隨機(jī)森林[4]等。它們主要由數(shù)據(jù)預(yù)處理、人工提取特征和設(shè)計(jì)分類器三部分構(gòu)成。其步驟是首先消除各種噪聲,再將人工提取的時(shí)域、頻域或小波域特征輸入分類器中。由于需要手動(dòng)提取特征信息,淺層的網(wǎng)絡(luò)結(jié)構(gòu)不能充分挖掘數(shù)據(jù)庫(kù)下所隱藏的深層病理信息,傳統(tǒng)方法在心電信號(hào)分類方面具有很大的局限性。
隨著人工智能的興起,帶動(dòng)了深度學(xué)習(xí)技術(shù)的高速發(fā)展,更多的研究人員嘗試將深度學(xué)習(xí)應(yīng)用在心電信號(hào)分類方面。Ali[5]使用AlexNet網(wǎng)絡(luò)模型實(shí)現(xiàn)對(duì)心電信號(hào)分類,平均精度達(dá)到92%,Acharya[6]等人構(gòu)建十一層卷積神經(jīng)網(wǎng)絡(luò)模型,來對(duì)心律失常的四種疾病進(jìn)行分類。張異凡[7]等人利用卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短時(shí)記憶網(wǎng)絡(luò),采用并行組合的方式。在MIT-BIH數(shù)據(jù)集進(jìn)行試驗(yàn),實(shí)現(xiàn)了對(duì)五種不同類別的心電信號(hào)分類,其平均準(zhǔn)確率達(dá)到99.11%。不同于傳統(tǒng)機(jī)器學(xué)習(xí),深度學(xué)習(xí)具有自動(dòng)提取信號(hào)特征的能力,在學(xué)習(xí)能力方面也優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)。
針對(duì)模型訓(xùn)練仍存在梯度消失問題,導(dǎo)致測(cè)試準(zhǔn)確率低。本文提出了一種改進(jìn)的深度殘差網(wǎng)絡(luò)用于心電信號(hào)識(shí)別,首先將數(shù)據(jù)輸入部分卷積池層、池化層替換為Inception模塊,能提取多尺度網(wǎng)絡(luò)特征。其次通過殘差網(wǎng)絡(luò)嵌套多個(gè)殘差網(wǎng)絡(luò),在不同的殘差塊之間信息傳播創(chuàng)造“快捷連接”,充分融合低層和高層提取的網(wǎng)絡(luò)特征,緩解了梯度消失問題。最后將該網(wǎng)絡(luò)模型在MIT-BIH[8]進(jìn)行心電信號(hào)實(shí)驗(yàn),達(dá)到較好的分類效果。
殘差神經(jīng)網(wǎng)絡(luò)是由何凱明[9]等人提出的新型深度學(xué)習(xí)結(jié)構(gòu),通過其設(shè)計(jì)的殘差神經(jīng)網(wǎng)絡(luò)模型取得了在ImageNet比賽分類第一名。在此之前,為了提高訓(xùn)練準(zhǔn)確率,往往增加網(wǎng)絡(luò)的深度達(dá)到其目的,然而實(shí)驗(yàn)證明,當(dāng)網(wǎng)絡(luò)設(shè)計(jì)越深入,網(wǎng)絡(luò)退化、梯度消失問題就越明顯,導(dǎo)致網(wǎng)絡(luò)準(zhǔn)確率下降,相比于其他網(wǎng)絡(luò),殘差神經(jīng)網(wǎng)絡(luò)通過對(duì)網(wǎng)絡(luò)結(jié)構(gòu)添加“快捷連接”來避免這些問題。它借鑒Highway思想,通過在網(wǎng)絡(luò)結(jié)構(gòu)中增加shoucut連接,實(shí)現(xiàn)了高層直接對(duì)低層進(jìn)行信息傳遞,如圖1所示,可以看出,輸出值x一方面經(jīng)過兩次卷積映射得到F(x),另一方面在與自身恒等映射的疊加下得到了H(x),這樣將學(xué)習(xí)目標(biāo)轉(zhuǎn)換為H(x)和自身恒等映射x的差值,即F(x)=H(x)-x。
圖1 殘差單元
如圖2所示,改進(jìn)后的殘差網(wǎng)絡(luò)結(jié)構(gòu)為:首先將一維心電信號(hào)輸入的模型中,再采用Inception模塊替換最初的卷積池化層。后面接著四個(gè)殘差層,每個(gè)殘差層包含不同個(gè)數(shù)的殘差單元,每個(gè)殘差單元含有兩個(gè)卷積層。四個(gè)殘差層內(nèi)部殘差單元個(gè)數(shù)分別為3、4、6、3,其內(nèi)部使用的卷積核個(gè)數(shù)分別為64、128、256、512。之后經(jīng)過均值池化層和全連接層,最后使用Softmax分類器實(shí)現(xiàn)對(duì)心電信號(hào)的四種分類。在本文訓(xùn)練模型過程中,使用Dropout防止過擬合,采用Adam優(yōu)化器優(yōu)化網(wǎng)絡(luò),激活函數(shù)使用Relu激活函數(shù)。
圖2 改進(jìn)殘差網(wǎng)絡(luò)結(jié)構(gòu)圖
在處理心電信號(hào)過程中,為了能夠幫助網(wǎng)絡(luò)提取到不同尺度的特征,提高網(wǎng)絡(luò)的學(xué)習(xí)能力,本文使用了inception模塊,如圖3所示,它與以往的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)結(jié)構(gòu)不同,inception網(wǎng)絡(luò)結(jié)構(gòu)共有四個(gè)通道數(shù),整個(gè)網(wǎng)絡(luò)不僅含有1×1、3×3、5×5三種卷積核,還包含一個(gè)最大池化層,最后會(huì)在輸出被統(tǒng)一聚合起來成為一個(gè)非常深的特征圖。在3×3和5×5的卷積核前面放置1×1的卷積核用于降低維度,減少參數(shù)量。另外,由于本文輸入為一維心電信號(hào),而傳統(tǒng)的inception模塊為二維輸入數(shù)據(jù),因此,本文的卷積核二維結(jié)構(gòu)應(yīng)改為一維結(jié)構(gòu),即1×1、1×3、1×5替換掉1×1、3×3、5×5。
圖3 Inception模塊結(jié)構(gòu)
為進(jìn)一步緩解傳統(tǒng)殘差塊仍存在的梯度消失、測(cè)試準(zhǔn)確率低的問題,充分挖掘殘差網(wǎng)絡(luò)的優(yōu)化能力,提高模型的學(xué)習(xí)能力,本文對(duì)殘差單元進(jìn)行改進(jìn)。
假設(shè)一個(gè)殘差單元為:
式中:x代表輸入,Y代表輸出,W1、W2代表經(jīng)過卷積核的權(quán)重矩陣,F(xiàn)(x,W)代表網(wǎng)絡(luò)學(xué)習(xí)的殘差函數(shù)。σ代表激活函數(shù)Relu,把兩個(gè)相鄰的殘差單元結(jié)構(gòu)看成一個(gè)整體模塊,則:
式中:F1(x,W)代表經(jīng)過第一個(gè)殘差單元的學(xué)習(xí)到的網(wǎng)絡(luò)特征,F(xiàn)2(x,W)代表經(jīng)過兩個(gè)殘差單元學(xué)習(xí)到的網(wǎng)絡(luò)特征。普通卷積層內(nèi)部的梯度為輸入對(duì)輸出的求導(dǎo):
為了達(dá)到訓(xùn)練的高精度,從反向傳播的誤差入手,假設(shè)共有N個(gè)殘差單元,從深層N層展開到淺層n,得到:
對(duì)于任意深度單元模塊n(0≤n≤N),損失函數(shù)到達(dá)n梯度為:
式中:ε代表損失函數(shù),?x n代表的是第n層的輸入和第n+1層的輸出。表示的是第i個(gè)內(nèi)部卷積層的梯度。隨著網(wǎng)絡(luò)的加深,到達(dá)第n層的梯度越來越少直至消失,為防止這種情況發(fā)生,在公式6上加上1即:
所以對(duì)于每個(gè)殘差單元,其內(nèi)部卷積層的梯度為:
將式(8)還原得:
如圖4所示,假設(shè)淺層特征X為殘差單元的輸入,其輸出與其下個(gè)卷積層相關(guān),完成了層與層之間的連續(xù)傳播。其次在兩個(gè)殘差單元直接添加“快捷連接”構(gòu)成殘差層,實(shí)現(xiàn)了淺層特征和深層特征信息融合。對(duì)比反向傳播式(6)和式(7),改進(jìn)的殘差嵌套兩個(gè)殘差單元能夠緩解梯度消失影響。同理為了擴(kuò)展網(wǎng)絡(luò)的深度,保證網(wǎng)絡(luò)得以充分學(xué)習(xí),在多個(gè)殘差單元之間形成“快捷連接”,如圖5所示。
圖4 殘差嵌套殘差單元
圖5 殘差嵌套多個(gè)殘差單元
本文采用MIT-BIH數(shù)據(jù)庫(kù)進(jìn)行實(shí)驗(yàn),共含有48條數(shù)據(jù)記錄,每條記錄長(zhǎng)30 min,采用3個(gè)不同文件進(jìn)行保存,分別是dat文件、atr文件和hea文件。采樣頻率為360 Hz,以R波為中心截取一個(gè)心拍為250個(gè)點(diǎn)作為模型的輸入特征。
本文按照AAMI的心拍分類標(biāo)準(zhǔn),不考慮使用心臟起搏器的記錄,即102、104、107和217號(hào)被剔除在外,將心拍劃分為五類分別是:正常心拍(N)、室上性心拍(S)、室性心拍(V)、融合心拍(F)和未分類心拍(Q)。將44條記錄劃分為訓(xùn)練集和測(cè)試集,其中22條記錄為測(cè)試集(DS1),另外22條記錄為訓(xùn)練集(DS2),測(cè)試集為:100,103,105,111,113,117,121,123,200,202,210,212,213,214,219,221,222,228,231,232,233,234。訓(xùn)練集為:101,106,108,109,112,114,115,116,118,119,122,124,201,203,205,207,208,209,215,220,223,230。
如表1所示,本文從MIT-BIH數(shù)據(jù)庫(kù)提取到五種不同類型的心拍,并且計(jì)算了它們的數(shù)量。由表1可知,一共大約有十萬個(gè)心拍,其中N類心拍占主要部分。而Q類心拍遠(yuǎn)小于其他類別心拍,將它舍去,本文只研究N、S、F、V四類別心拍。從表1中還可以看到S、F類別心拍較少,為降低ECG分類不平衡問題,將S類隨機(jī)過抽樣原來的2倍,將F類隨機(jī)過抽樣原來的4倍。
表1 MIT-BIH數(shù)據(jù)庫(kù)不同類別心拍數(shù)量
ECG信號(hào)在采集過程中容易受儀器、環(huán)境影響。如工頻干擾、肌電干擾、基線漂移影響分類結(jié)果的準(zhǔn)確性[10-11]。因此,能夠合理的對(duì)ECG進(jìn)行濾波顯得尤為重要。本文結(jié)合軟、硬閾值的優(yōu)點(diǎn)提出了新閾值函數(shù)。該閾值函數(shù)不僅使得小波系數(shù)的恒定偏差進(jìn)一步降低而且小波域內(nèi)連續(xù),而且高階可導(dǎo),如式(10)所示。
從MIT-BIH數(shù)據(jù)庫(kù)選取108號(hào)原始數(shù)據(jù),采樣點(diǎn)數(shù)n為3500,如圖6所示,信號(hào)含有大量噪聲。對(duì)含噪信號(hào)進(jìn)行自適應(yīng)完備集合經(jīng)驗(yàn)?zāi)B(tài)分解(Complete ensemble empirical mode decomposition with adaptive noise,CEEMDAN)[12-13]分 解,采 用sym8小波基,結(jié)合改進(jìn)的小波閾值應(yīng)用于去除心電信號(hào)中基線漂移和高頻噪聲[14],如圖7所示,采用CEEMDAN-改進(jìn)小波閾值算法很好的消除了心電信號(hào)存在的噪聲,保留了心電信號(hào)的原始特征,有利于后期分類研究的進(jìn)行。
圖6 ECG原始信號(hào)
圖7 濾波結(jié)果
本文選取的心電信號(hào)分類性能的評(píng)估標(biāo)準(zhǔn)為敏感度(Sensitivity,Se)、陽性檢測(cè)率(Positivity,P+)和總正確率(Accuracy,Acc)[15],其公式如下:
式中:TP為真陽性,代表是預(yù)測(cè)結(jié)果為正樣本,實(shí)際上結(jié)果也為正樣本,F(xiàn)P為假陽性,代表預(yù)測(cè)結(jié)果為負(fù)樣本,實(shí)際上結(jié)果為正樣本。FN為假陰性,代表預(yù)測(cè)結(jié)果為負(fù)樣本,實(shí)際上結(jié)果也為負(fù)樣本,TN為假陽性,代表是預(yù)測(cè)結(jié)果為負(fù)樣本,但實(shí)際上為正樣本[16-17]。
為了驗(yàn)證本文提出的改進(jìn)殘差網(wǎng)絡(luò)模型對(duì)分類結(jié)果的有效性,將原始?xì)埐罹W(wǎng)絡(luò)模型Resnet、數(shù)據(jù)輸入部分卷積層,池化層替換成Inception模型稱為ResNet-Incept、殘差網(wǎng)絡(luò)嵌套多個(gè)殘差網(wǎng)絡(luò)模型稱為ResNet-ResNet以及本文提出的算法在MIT-BIH數(shù)據(jù)庫(kù)進(jìn)行比較。
如圖8所示,為不同模型在MIT-BIH數(shù)據(jù)庫(kù)的準(zhǔn)確率變化情況,本文提出的算法分類準(zhǔn)確率最高為95.1%。ResNet-ResNet網(wǎng)絡(luò)模型準(zhǔn)確率為93.4%,相比之下,本文算法準(zhǔn)確率提高1.7%。再看ResNet-Incept網(wǎng)絡(luò)模型的準(zhǔn)確率為91.7%,本文算法準(zhǔn)確率提升3.4%,而原始?xì)埐罹W(wǎng)絡(luò)模型分類準(zhǔn)確率為90.4%,要低于其他三種算法準(zhǔn)確率。
圖8 不同算法準(zhǔn)確率比較圖
為了進(jìn)一步驗(yàn)證本文提出分類算法的有效性,將提出的改進(jìn)網(wǎng)絡(luò)模型與近幾年的已發(fā)表的論文做對(duì)比,其算法性能對(duì)比圖如表2所示。
表2 算法性能對(duì)比
如表2所示,圖表比較了本文算法和其他三種算法在4種類別的性能。本文算法與文獻(xiàn)[18]作對(duì)比,可以看出,Se的平均值提升了23.4%,P+的平均值提升了2.6%,精度提升了0.6%。與文獻(xiàn)[19]作對(duì)比,Se的平均值提升了13.5%,P+的平均值提升了12.6%,精度提升了1.18%,與文獻(xiàn)[20]作對(duì)比,Se的平均值提升了6.9%,P+的平均值提升了8.6%,精度提升了6.8%。總體來說,本文算法要優(yōu)于其他三種算法,得到了較好的分類效果。
本文提出了一種改進(jìn)的殘差網(wǎng)絡(luò)結(jié)構(gòu),通過以殘差網(wǎng)絡(luò)嵌套多個(gè)殘差網(wǎng)絡(luò)方式充分融合底層和高層的網(wǎng)絡(luò)特征,從而能進(jìn)一步緩解殘差網(wǎng)絡(luò)在訓(xùn)練時(shí)梯度消失問題;將傳統(tǒng)輸入部分的卷積層、池化層替換為inception模塊,能提取到更豐富的網(wǎng)絡(luò)特征。最后,將殘差網(wǎng)絡(luò)在MIT-BIH數(shù)據(jù)庫(kù)進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果表明了本算法的有效性和可行性。然而本算法僅僅停留在對(duì)某幾類心律異常識(shí)別,在未來的工作中,我們將嘗試與相關(guān)醫(yī)院和企業(yè)合作以便擴(kuò)充樣本數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)更多心律異常分類識(shí)別,并將分類算法應(yīng)用到可穿戴設(shè)備中,為人們提供便捷的服務(wù)。