潘 輝,鄭 威,張瑩瑩
(江蘇科技大學(xué)電子信息學(xué)院,鎮(zhèn)江,212003)
世界衛(wèi)生組織的研究報(bào)告表明,心血管疾病是導(dǎo)致當(dāng)今人類死亡的主要疾病之一。心臟病發(fā)作之前,通常有明顯的心血管異常表現(xiàn),如心悸、暈厥、胸痛、氣短等。如果能及早發(fā)現(xiàn)并診斷出這些異常癥狀,可以節(jié)省預(yù)防心臟病發(fā)作的時(shí)間,以便及時(shí)提供有效的治療。
心電圖(Electrocardiogram,ECG)信號(hào)是有效觀察和診斷心律失常等心臟疾病的主要手段之一[1]。傳統(tǒng)的診斷方法需要專業(yè)醫(yī)生根據(jù)自己的經(jīng)驗(yàn),通過心電圖對(duì)患者的病情進(jìn)行分析診斷。此外,由于心律失常等心臟疾病的多樣性,大量的心電數(shù)據(jù)難免會(huì)導(dǎo)致漏診或誤診。為了提高診斷效率,迫切需要研究心電自動(dòng)分類技術(shù)。
目前,各種技術(shù)已被用來解決心電心律失常的分類問題?,F(xiàn)有的傳統(tǒng)方法有小波變換[2]、支持向量機(jī)[3]和多層感知機(jī)[4]。Yildirim 等[5]提出了一種小波序列基于雙向長(zhǎng)短期記憶人工神經(jīng)網(wǎng)絡(luò)(Long short-term memory, LSTM)網(wǎng)絡(luò)模型的心電信號(hào)分類算法,顯著提高了傳統(tǒng)網(wǎng)絡(luò)的識(shí)別性能。Dewangan 等[6]又將離散小波變換引入神經(jīng)網(wǎng)絡(luò)的預(yù)處理和特征提取。結(jié)果表明,如果形態(tài)學(xué)特征和小波系數(shù)同時(shí)用來訓(xùn)練神經(jīng)網(wǎng)絡(luò),分類精度將高于僅使用簡(jiǎn)單的形態(tài)學(xué)特征和小波系數(shù)。Jha 等[7]引入支持向量機(jī),有效地實(shí)現(xiàn)了心拍分類。Varatharajan 等[8]使用帶加權(quán)核函數(shù)的支持向量機(jī)模型對(duì)輸入心電信號(hào)的特征進(jìn)行分類。呂衛(wèi)等[9]針對(duì)短時(shí)傅里葉變換與小波變換對(duì)心電圖信號(hào)特征提取不足以及心律失常識(shí)別困難的問題,提出了一種基于S變換特征選擇的心律失常分類算法。實(shí)驗(yàn)結(jié)果表明,該算法達(dá)到了較好的分類效果,靈敏度、特異性和準(zhǔn)確率分別為96.14%、99.75%和99.81%。
近年來,深度神經(jīng)網(wǎng)絡(luò)心律失常分類的研究以其獨(dú)特的特點(diǎn)受到研究者的關(guān)注。Cheng 等[10]提出了一種基于遞歸神經(jīng)網(wǎng)絡(luò)的心電信號(hào)特征分類對(duì)阻塞性睡眠呼吸暫停的檢測(cè)方法,這種方法具有更好的分類精度。Li 等[11]提出了一種遺傳算法反向傳播神經(jīng)網(wǎng)絡(luò)對(duì)6 種心電信號(hào)進(jìn)行有效分類。Zihlmann等[12]提出了兩種用于任意長(zhǎng)度心電信號(hào)分類的深度神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu),并在PhysioNet/CinC Challenge 2017 提供的房顫分類數(shù)據(jù)集上進(jìn)行了評(píng)估。其基本結(jié)構(gòu)是一個(gè)具有跨時(shí)間平均特征聚集的深度卷積神經(jīng)網(wǎng)絡(luò);第二種結(jié)構(gòu)將卷積層用于特征提取,而長(zhǎng)短時(shí)記憶層用于特征的時(shí)間聚合。作為訓(xùn)練過程的關(guān)鍵部分,他們提出了一個(gè)簡(jiǎn)單的心電數(shù)據(jù)增強(qiáng)方案,并證明了其在房顫分類任務(wù)中的有效性。第二種結(jié)構(gòu)比第一種結(jié)構(gòu)優(yōu)越。
上述研究為心電信號(hào)識(shí)別提供了清晰的研究思路,但仍然存在一些問題,比如:(1)精心挑選的數(shù)據(jù)集在沒有使用K折交叉驗(yàn)證下表現(xiàn)良好;(2)網(wǎng)絡(luò)層數(shù)較淺,提取的特征不夠徹底;(3)分類性能較低。
本研究設(shè)計(jì)了一種改進(jìn)的殘差網(wǎng)絡(luò)模型。更具體地講,本文貢獻(xiàn)如下:(1)設(shè)計(jì)了一個(gè)可以對(duì)原始信號(hào)進(jìn)行歸一化處理的方法,提升了模型的兼容性;(2)在模型中將傳統(tǒng)卷積替換為空洞卷積,卷積時(shí)可以獲得更大的視野并且參數(shù)不變;(3)通過加深網(wǎng)絡(luò)深度,提取更深層特征。改進(jìn)殘差網(wǎng)絡(luò)的使用可避免模型隨著網(wǎng)絡(luò)的加深出現(xiàn)退化現(xiàn)象。采用K折交叉驗(yàn)證進(jìn)行心電信號(hào)分類實(shí)驗(yàn),獲得更加公正的結(jié)果。
空洞卷積(Dilated convolution)[13]的應(yīng)用能夠使模型在擁有相同性能的情況下使用更少的參量,在保持局部視野不變的條件下,獲得全局視野。圖1 顯示了3×3 卷積核在不同空洞率(Dilated rate)下的感受視野,Dilated rate 是用來控制感受視野的卷積步長(zhǎng)的參數(shù)。本文使用空洞卷積替換卷積層的傳統(tǒng)卷積時(shí),會(huì)一并去除池化層。因?yàn)榭斩淳矸e能夠在保持網(wǎng)絡(luò)接受視野的情況下,實(shí)現(xiàn)下采樣操作的效果,這與池化層的作用重疊。從圖1(a)可以看到,當(dāng)Dilated rate = 1 時(shí),空洞卷積將退化為傳統(tǒng)卷積;同樣地,圖1(b)和圖1(c)中Dilated rate 分別為2 和3,卷積視野相應(yīng)提升,但是參數(shù)與3×3 的卷積核相同。
圖1 空洞卷積示意圖Fig.1 Dilated convolution diagram
為了提供準(zhǔn)確可靠的心電信號(hào)多分類解決方案,可以通過加深網(wǎng)絡(luò)來提取更多的特征。但是隨著網(wǎng)絡(luò)的加深,網(wǎng)絡(luò)會(huì)出現(xiàn)退化問題。本文提出了一種基于改進(jìn)的殘差網(wǎng)絡(luò)(Modified dilated residual network,MDRN)模型,結(jié)構(gòu)如圖2 所示。模型建立在卷積操作之上,通過融合匯聚空間和通道信息,來提取特征信息。MDRN 的核心模塊是由殘差網(wǎng)絡(luò)[14]改進(jìn)而來,將預(yù)處理后的信號(hào)1×600 送入網(wǎng)絡(luò),第1層卷積層通過融合原始信息后進(jìn)入堆疊的殘差塊。MDRN 中包含兩種殘差塊(改進(jìn)的殘差塊A和殘差塊B),如圖3 所示。MDRN 網(wǎng)絡(luò)配置如表1 所示。
圖2 本文提出的網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 The proposed network structure
圖3 殘差塊Fig.3 Residual block
改進(jìn)的殘差塊(A):本文將圖3(a)中殘差塊A第1 個(gè)卷積層中的傳統(tǒng)卷積替換為空洞卷積,Dilated rate 設(shè)置為2。批標(biāo)準(zhǔn)化(Batch normalization, BN)層[15]和Relu 非線性激活函數(shù)。因?yàn)槟P褪褂每斩淳矸e替換了傳統(tǒng)卷積,所以在殘差塊A中去除了池化層。BN 層的使用能夠使后續(xù)超參設(shè)定更加自由,同時(shí)使得MDRN 收斂速度更快,性能更好。本文將BN 層置于卷積層之后激活函數(shù)之前。
表1 MDRN 網(wǎng)絡(luò)參數(shù)Table 1 MDRN network parameters
常見的激活函數(shù)[16]有:Relu, Elu, Sigmoid 和 Tanh,其分別定義如式(1)—(4)所示,示意圖如圖4 所示。本文選擇Relu 非線性激活函數(shù),可以使模型能夠更好地?cái)M合,并且Glorot 等[17]也證明了使用Relu 的網(wǎng)絡(luò)性能優(yōu)于預(yù)處理網(wǎng)絡(luò)。
圖4 4 種激活函數(shù)示意圖Fig.4 Schematic diagram of four activation functions
另外,為了解決殘差塊輸入輸出尺寸不統(tǒng)一問題,設(shè)計(jì)了殘差塊B,如圖3(b)所示。殘差塊B除了包含兩個(gè)連續(xù)的傳統(tǒng)卷積、BN 層和Relu 外,還在支路添加了一個(gè)Pool 層和Zero-padding。當(dāng)殘差塊內(nèi)部進(jìn)行相加時(shí),主路與支路尺寸會(huì)出現(xiàn)不統(tǒng)一現(xiàn)象,通過添加Pool 和Padding 操作將主路支路尺寸統(tǒng)一。
相較于標(biāo)準(zhǔn)殘差,本文未使用全局平均池化。由于考慮到心電信號(hào)是一維數(shù)據(jù),特征量相對(duì)二維圖像較少。故使用兩個(gè)連續(xù)的全連接層把分布式特征映射到樣本標(biāo)記空間,盡可能減少特征位置對(duì)分類帶來的影響和解決非線性問題,這是與標(biāo)準(zhǔn)殘差網(wǎng)絡(luò)不同的。
實(shí)驗(yàn)基于Python 和Tensorflow[18]部署,兩者都是開源軟件:Python 有很多開源庫,Tensorflow 是一個(gè)流行的深度學(xué)習(xí)框架。實(shí)驗(yàn)使用的實(shí)驗(yàn)環(huán)境和版本信息如表2 所示。
心電信號(hào)來源于麻省理工學(xué)院心律失常公共數(shù)據(jù)庫中心[19]收集的47 例患者48 例每小時(shí)動(dòng)態(tài)心電圖。記錄使用360 Hz 采樣頻率和11 位分辨率。許多心臟病學(xué)家使用軟件工具(Signalplant)對(duì)心電信號(hào)進(jìn)行獨(dú)立的周期校準(zhǔn)。實(shí)驗(yàn)選取5 個(gè)常見病例作為訓(xùn)練預(yù)測(cè)樣本進(jìn)行多分類識(shí)別。圖5 描述了6 種心拍類型,波形包括正常心電搏動(dòng)類型和5 種不同的心律失常心拍類型,表3 為5 例心律失常的注釋[20]。
為了實(shí)現(xiàn)對(duì)不同心律信號(hào)的自動(dòng)識(shí)別,提高模型在臨床應(yīng)用的兼容性,本文設(shè)計(jì)了一個(gè)預(yù)處理算法。在時(shí)間域上,以R 波作為標(biāo)定對(duì)心拍進(jìn)行分割,取3 個(gè)QRS 波作為一個(gè)周期,每個(gè)完整的QRS 波對(duì)應(yīng)300 個(gè)點(diǎn),通過去除第1 個(gè)QRS 波的前150 個(gè)點(diǎn)和第3 個(gè)QRS 波的后150 個(gè)點(diǎn),從而得到一個(gè)完整的QRS 波,具體如式(5)所定義。值得一提的是,本文并沒有額外增加人工特征和數(shù)據(jù)增強(qiáng)技術(shù),這樣有助于更好地驗(yàn)證模型的真實(shí)性能。
表2 實(shí)驗(yàn)環(huán)境和版本信息Table 2 Experimental environment and version information
圖5 采用的心電波形示意Fig.5 ECG waveform
表3 數(shù)據(jù)集注釋Table 3 Dataset comments
實(shí)驗(yàn)內(nèi)容將涉及最流行的網(wǎng)絡(luò)框架如AlexNet 和VGGNet。AlexNet 和VGGNet 是非常著名的卷積神經(jīng)網(wǎng)絡(luò)模型,AlexNet[21]在ilsvrc-2012 比賽中使用了不飽和神經(jīng)元和GPU 加速,取得了顯著的成績(jī)。VGGNet[22]是由牛津大學(xué)計(jì)算機(jī)視覺團(tuán)隊(duì)和谷歌deep mind 公司的研究人員共同開發(fā)的深度卷積神經(jīng)網(wǎng)絡(luò),討論了卷積神經(jīng)網(wǎng)絡(luò)的深度與性能的關(guān)系。通過反復(fù)疊加3×3 個(gè)小卷積核和2×2 個(gè)最大池化層,成功構(gòu)建了16~19 層深度的卷積神經(jīng)網(wǎng)絡(luò)。VGGNet 以7.5%的錯(cuò)誤率獲得了ilsvrc—2014 的亞軍和定位冠軍。
表4 和表5 分別展示了實(shí)驗(yàn)中AlexNet 和VGGNet 的網(wǎng)絡(luò)配置信息。一般來說這些主流的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network, CNN)模型在架構(gòu)上做了很好的優(yōu)化,但是參數(shù)較大。
表4 AlexNet 網(wǎng)絡(luò)參數(shù)Table 4 AlexNet network parameters
本文提出的模型旨在最大程度上正確診斷出患者患有哪種心臟病,使用評(píng)價(jià)指標(biāo)來評(píng)估模型的性能是最客觀的方法。實(shí)驗(yàn)選用準(zhǔn)確度(Accuracy, ACC)、精確度(Precision, PPV)、敏感度(Sensitivity,TPR)、特異性(Specificity, TNR)和F1分?jǐn)?shù)(F1score,F1)作為評(píng)價(jià)指標(biāo)。受試者工作特性曲線(Receiveroperating characteristic-area under curve, ROC-AUC),反應(yīng)敏感度和特異度連續(xù)變量的綜合指標(biāo)。ROC-AUC 曲線只在醫(yī)學(xué)分類識(shí)別中被廣泛應(yīng)用,通過統(tǒng)計(jì)數(shù)據(jù)確定疾病的最佳診斷點(diǎn),ROC 曲線橫坐標(biāo)為反正例率(False positive rate, FPR),縱坐標(biāo)為TPR。其中AUC 被定義為ROC 曲線下的面積。式(6)—(10)定義了上述的評(píng)價(jià)指標(biāo),其中FN(False negative)被預(yù)測(cè)為負(fù)樣本,但實(shí)際上是正樣本;FP(False positive)被預(yù)測(cè)為正樣本,但實(shí)際上是負(fù)樣本;TN(True negative)被預(yù)測(cè)為負(fù)樣本,實(shí)際上也是負(fù)樣本;TP(True positive)被預(yù)測(cè)為正樣本,實(shí)際上也是正樣本。
表5 VGGNet 網(wǎng)絡(luò)參數(shù)Table 5 VGGNet network parameters
為保證實(shí)驗(yàn)的可靠性,實(shí)驗(yàn)均采用了K折交叉驗(yàn)證(K-fold cross validation)法[23],如圖6 所示。本文選用5 折交叉驗(yàn)證,其中第i個(gè)實(shí)驗(yàn)使用第i個(gè)子集作為測(cè)試集,其他數(shù)據(jù)作為訓(xùn)練集;以i個(gè)實(shí)驗(yàn)的平均值作為結(jié)果,通過計(jì)算5 次,可以將測(cè)試誤差估計(jì)平均測(cè)試誤差。在實(shí)驗(yàn)中,并沒有任何額外的人工特征和數(shù)據(jù)增強(qiáng)進(jìn)行輔助,這樣得到的模型將更加真實(shí)可靠。
CNNs 模型的綜合評(píng)價(jià)結(jié)果如表6 所示,其中MDRN 指的是本文所提出的CNN 模型,改進(jìn)的殘差網(wǎng)絡(luò)(Modified residual network,MRN)指與本文提出模型結(jié)構(gòu)參數(shù)相同,但是沒有使用空洞卷積的模型。
圖6 K 折交叉驗(yàn)證Fig.6 K-fold cross validation
本文提出的模型獲得了ACC=97.20%,PPV=93.16%,TPR=92.85%,TNR=98.29% 和F1=93% 的預(yù)測(cè)結(jié)果。相比沒有使用空洞卷積的MRN 而言,ACC 提升 0.8%、PPV 提升 1.24%、TPR 提 升 2.75%、TNR 提升 0.3% 和F1分 數(shù) 提 高2%,說明空洞卷積對(duì)于提升模型的識(shí)別精準(zhǔn)度有很大的幫助。MDRN 的各項(xiàng)指標(biāo)也遠(yuǎn)高于AlexNet 和 VGGNet。從表 6 可以看出,提出的MDRN 模型擁有最好的分類表現(xiàn),AlexNet 模型識(shí)別效果最差。
提出的MDRN 模型訓(xùn)練和預(yù)測(cè)都在K折交叉驗(yàn)證下進(jìn)行,訓(xùn)練時(shí)產(chǎn)生的損失、準(zhǔn)確率與迭代次數(shù)的關(guān)系如圖7 所示,模型在迭代到1 500 次時(shí)雙曲線趨于收斂,到達(dá)預(yù)期效果。
為進(jìn)一步分析提出的模型MDRN 對(duì)于心電信號(hào)分類的效果,圖8 繪制了ROC 曲線并給出了對(duì)應(yīng)的 AUC 值。從圖 8 可看出,提出的 MDRN 模型的微平均(Micro average)和宏平均(Macro average)均維持在0.99 的水平,說明了模型擁有非常好的識(shí)別效果。從單標(biāo)簽分類來看,LBB 的AUC 值為1,超過了其他4 類病例。APC 和PVC 的AUC 值只有0.98,筆者推測(cè)可能是因?yàn)闃颖静痪鈱?dǎo)致。
為了更詳細(xì)地比較MDRN,MRN,AlexNet 和VGGNet,圖9 給出了4 種模型的混淆矩陣。對(duì)角線越亮,說明分類效果越好。提出的MDRN 模型對(duì)于每一類的識(shí)別非常穩(wěn),說明其擁有良好的可靠性。
總的來說,本文提出的模型在ECG 識(shí)別分類中取得了良好的識(shí)別分類效果,模型有著很好的泛化能力、可靠性和魯棒性。
表6 4 種模型綜合評(píng)價(jià)結(jié)果Table 6 Comprehensive evaluation results of four models %
通過上述實(shí)驗(yàn),本文得到了一個(gè)各項(xiàng)指標(biāo)均衡的結(jié)果。為了進(jìn)行比較,與目前已發(fā)表的文獻(xiàn)做了對(duì)比,結(jié)果如表7 所示。
由表7 可見,本文算法擁有97.20%的準(zhǔn)確率、92.85%的敏感度、98.29%的特異性和93.00%的F1分?jǐn)?shù)。對(duì)比先前的文獻(xiàn)可以看出,提出的模型在各項(xiàng)指標(biāo)都非常均衡,說明MDRN 能夠在心電識(shí)別領(lǐng)域取得良好的表現(xiàn)和穩(wěn)定性。主要有如下3 個(gè)原因:(1)預(yù)處理算法增加了模型的通用性和兼容性;(2)空洞卷積減少參量但是卷積視野不變,并且在使用空洞卷積時(shí)去除了池化層;(3)通過加深網(wǎng)絡(luò)深度,獲取更多特征,通過MDRN 模型避免退化問題的發(fā)生。
圖7 訓(xùn)練集損失、準(zhǔn)確率與迭代次數(shù)關(guān)系Fig.7 Relationship between training set cost,accuracy and iterations
圖8 MDRN ROC-AUC 曲線Fig.8 MDRN ROC-AUC curve
圖9 4 種模型混淆矩陣Fig.9 Confusion matrix of four models
表7 與已報(bào)道工作的對(duì)比Table 7 Comparison with the reported work
本文提出了一種改進(jìn)的殘差網(wǎng)絡(luò)應(yīng)用于心律失常分類。與先進(jìn)的網(wǎng)絡(luò)框架AlexNet 和VGGNet 相比,MDRN 取得了碾壓式的優(yōu)異表現(xiàn)??斩淳矸e在不損失性能的情況下可以擁有更小的參量;在保持局部視野的同時(shí)最大限度地提取全局視野。MDRN 的批標(biāo)準(zhǔn)化使得超參設(shè)定更加自由、訓(xùn)練速度更快、性能更好。另外,多分類心電識(shí)別比二分類在臨床應(yīng)用上更具有價(jià)值。
在未來的工作中,還需要對(duì)算法進(jìn)行圖像化應(yīng)用。目前算法還處于科研階段,沒有圖形用戶界面(Graphical user interface, GUI),后續(xù)將編寫GUI 便于專業(yè)醫(yī)師使用。