趙瀅琳,龐春穎,李爽
(長(zhǎng)春理工大學(xué) 生命科學(xué)技術(shù)學(xué)院,長(zhǎng)春 130022)
據(jù)《中國(guó)心血管健康與疾病報(bào)告2019》指出,目前我國(guó)心血管疾病患病人數(shù)約3.3億人[1],其中心肌梗死(以下簡(jiǎn)稱:心梗)患者數(shù)量逐年增多,心梗由于發(fā)病迅速、致死殘率高、復(fù)發(fā)率高等特點(diǎn)受到人們廣泛關(guān)注。根據(jù)心電圖中ST段出現(xiàn)異常的位置,可分為廣泛前壁心梗、下壁心梗、后壁心梗等類型[2]。廣泛前壁心梗面積較大,梗死累及的導(dǎo)聯(lián)數(shù)較多,病人的預(yù)后也較差,患者會(huì)有胸痛、血壓下降、心力衰竭、心律失常等一系列的癥狀,嚴(yán)重者危及生命。廣泛前壁心??赏ㄟ^(guò)心電圖變化早期診斷,綜合ST段抬高,T波倒置和Q波異常多種改變[3],這對(duì)于醫(yī)生的經(jīng)驗(yàn)和資質(zhì)有著很高的要求。因此,廣泛前壁心梗的自動(dòng)檢測(cè)至關(guān)重要。
目前已有人對(duì)心梗自動(dòng)檢測(cè)進(jìn)行研究,大多是采用傳統(tǒng)的機(jī)器學(xué)習(xí)框架,通常由特征提取和分類構(gòu)成,首先對(duì)QRS波,ST-T段進(jìn)行主成分分析(PCA,Principal Component Analysis),用小波變換(WT,Wavelet Transform),多項(xiàng)式擬合等技術(shù),利用全局特征(幅度,峰值,均值,方差等)表示節(jié)拍,然后送入分類器中進(jìn)行分類,常見(jiàn)的分類器有神經(jīng)網(wǎng)絡(luò)(NN,Neural Network),支持向量機(jī)(SVM,Support Vector Machines),K近鄰(KNN,K Nearest Neighbours),隨機(jī)森林(RF,Random Forest)。Saini R 等人[4]采用了 KNN 分類器進(jìn)行心梗自動(dòng)檢測(cè),達(dá)到了84%的準(zhǔn)確率;Gopakumar C等人[5]用支持向量機(jī)對(duì)心梗進(jìn)行分類,準(zhǔn)確率達(dá)到94%。雖然這些方法體現(xiàn)出了良好的性能,但是需要手工提取特征值,魯棒性低,計(jì)算成本與人工成本昂貴。也有學(xué)者單純用深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)自動(dòng)檢測(cè)心梗,但是由于網(wǎng)絡(luò)層數(shù)較深,時(shí)間復(fù)雜度較大,并沒(méi)有達(dá)到預(yù)期效果。Resul Dasa等人利用神經(jīng)網(wǎng)絡(luò)、概率模型算法相結(jié)合,實(shí)現(xiàn)了心梗疾病自動(dòng)診斷,準(zhǔn)確率達(dá)89.01%。常戰(zhàn)國(guó)等人[6]利用BP神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合方法對(duì)12導(dǎo)聯(lián)數(shù)據(jù)進(jìn)行分析,檢測(cè)心梗的準(zhǔn)確率達(dá)到了96%。
本文針對(duì)上述問(wèn)題,提出了一種端到端的改進(jìn)多導(dǎo)聯(lián)殘差網(wǎng)絡(luò)(IMRN,Improved multi-lead residual network),該網(wǎng)絡(luò)以殘差網(wǎng)絡(luò)(ResNet,Residual Network)為基礎(chǔ)[7],將多個(gè)導(dǎo)聯(lián)的心拍信號(hào)并行輸入,經(jīng)過(guò)空洞卷積層、池化層、歸一化層、激活層,利用融合策略將網(wǎng)絡(luò)提取的特征進(jìn)行合并最后輸出分類結(jié)果[8]。研究表明,該方式改善了心電信號(hào)在單導(dǎo)聯(lián)的特征學(xué)習(xí)過(guò)程,在加深網(wǎng)絡(luò)層數(shù)的前提下避免了模型的退化現(xiàn)象,免去了手動(dòng)提取特征值的繁瑣過(guò)程,可以更加精確地診斷廣泛前壁心梗的發(fā)生。
臨床研究表明,廣泛前壁心肌梗死涉及到的導(dǎo)聯(lián)數(shù)較多,單一導(dǎo)聯(lián)的心電信號(hào)不能對(duì)其進(jìn)行較為精準(zhǔn)的預(yù)測(cè),因此選用V1~V5共五條導(dǎo)聯(lián)信號(hào)。本文算法主要分為三個(gè)步驟,首先對(duì)心電信號(hào)進(jìn)行去噪濾波處理,把一段較長(zhǎng)的心電信號(hào)分割為一個(gè)個(gè)獨(dú)立的心拍,然后搭建輸入為五個(gè)并行信號(hào)的改進(jìn)多導(dǎo)聯(lián)殘差網(wǎng)絡(luò)模型,這里引入了空洞卷積的概念,最后加入融合特征層,對(duì)得到的信號(hào)提取主要特征,用softmax進(jìn)行分類。總體框圖如圖1所示。
圖1 總體結(jié)構(gòu)
本研究采用的數(shù)據(jù)來(lái)自德國(guó)柏林本杰明富蘭克林大學(xué)心臟病系的邁克爾·奧夫教授(MichaelOeff,M.D.)和德國(guó)國(guó)家計(jì)量學(xué)研究所(Physikalisch-Technische Bundesanstalt,PTB)收集 和處理的公共的ECG診斷數(shù)據(jù)庫(kù)(diagnostic ECG database),即PTB診斷數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)包含148名心?;颊撸?2名健康受試者,每個(gè)ECG記錄是根據(jù)16位的采樣精度和1 000 Hz的采樣率進(jìn)行量化,每個(gè)采樣值為2個(gè)字節(jié),每個(gè)記錄由15個(gè)同時(shí)測(cè)量的信號(hào)組成,即3個(gè)Frank導(dǎo)聯(lián)(vx,vy,vz)和傳統(tǒng)的12導(dǎo)聯(lián)(Ⅰ、Ⅱ、Ⅲ、aVR、aVL、aVF、V1、V2、V3、V4、V5、V6)。在大多數(shù)這些心電圖記錄的頭(.hea)文件中有一個(gè)詳細(xì)的臨床摘要,包括年齡、性別、診斷以及病史、藥物和干預(yù)、冠狀動(dòng)脈病理學(xué)、心室造影、超聲心動(dòng)圖和血流動(dòng)力學(xué)的數(shù)據(jù)。頭文件中還記錄了心梗發(fā)生的位置,本文選擇PTB數(shù)據(jù)庫(kù)中52名健康受試者和40名廣泛前壁心?;颊叩墓?88條記錄作為數(shù)據(jù)集。其中健康心拍10 646個(gè),廣泛前壁心?;颊咝呐?3 652個(gè)。
對(duì)原始心電信號(hào)進(jìn)行去噪處理[9]。心電信號(hào)屬于強(qiáng)噪聲背景下的微弱信號(hào),存在許多噪聲,常見(jiàn)的有基線漂移、肌電干擾、工頻干擾等噪聲,本研究采用小波變換去噪,選用波形與心電信號(hào)最為相似的Daubechies6小波基函數(shù),能夠更好地保留心電信號(hào)峰值[10-11]。
由于心電圖QRS波形最能反映心電信號(hào)特點(diǎn),因此對(duì)去噪后的信號(hào)進(jìn)行R波定位,這里采用潘·湯普金斯(Pan-Tompkins)算法[12]。為了保證心拍分割的完整性,根據(jù)PTB數(shù)據(jù)庫(kù)的采樣頻率,選取R波前250個(gè)點(diǎn),R波后400個(gè)點(diǎn)組成一個(gè)完整的心拍[13]。
兩種類型心拍經(jīng)去噪處理后如圖2所示。其中圖2(a)為健康心拍,圖2(b)為廣泛前壁心梗的心拍,可以看出,廣泛前壁心梗心電圖發(fā)生了改變,具體表現(xiàn)為ST段弓背向上型抬高,寬而深的Q波、T波倒置。
圖2 心拍示例
空洞卷積(dilated convolution)是指在原始的卷積層里加入空洞,使之感受野變大,且不損失原有信息[14]。空洞卷積起源于圖像分割[15],將圖像輸入卷積神經(jīng)網(wǎng)絡(luò)(CNN,Convolutional Neural Network)中,經(jīng)過(guò)卷積操作時(shí),隨著卷積核不斷移動(dòng),會(huì)有許多像素點(diǎn)被重復(fù)卷積,再經(jīng)過(guò)池化層(pooling)減小圖像尺寸,增大感受野,此時(shí)圖像信息難免會(huì)有損失和誤差,空洞卷積因此而生。如圖3所示,圖3即是在卷積核為3×3時(shí),不同空洞率(dilated rate)下的感受野大小,當(dāng)空洞率為1時(shí)候,空洞卷積與傳統(tǒng)卷積相同,而增加空洞率以后,感受野明顯增大??斩淳矸e在保證卷積核不變的前提下,增加了感受野,且實(shí)現(xiàn)了池化層的下采樣功能,因此加入了空洞卷積的網(wǎng)絡(luò)可以省去池化層。
圖3 空洞卷積示意圖
深度學(xué)習(xí)中,隨著網(wǎng)絡(luò)層數(shù)的增加,難免會(huì)出現(xiàn)精度不夠、計(jì)算復(fù)雜度高等問(wèn)題,殘差網(wǎng)絡(luò)(Resnet)的出現(xiàn)為這種問(wèn)題提供了解決方法。殘差網(wǎng)絡(luò)在2016年首次被提出[16],旨在提高基于Image Net數(shù)據(jù)庫(kù)的圖像分類技能,模型通過(guò)識(shí)別映射概念解決梯度消失和梯度爆炸及退化問(wèn)題。同時(shí)利用不同層次特征之間的信息整合來(lái)提取強(qiáng)相關(guān)的代表性特征[17]。殘差網(wǎng)絡(luò)主要由殘差塊組成,擁有跨層連接結(jié)構(gòu),可以在深層次網(wǎng)絡(luò)結(jié)構(gòu)中充分訓(xùn)練,提高準(zhǔn)確率。殘差塊如圖4所示,公式如下:
圖4 殘差塊
其中,y為特定層的輸出;relu為激活函數(shù);i為Resnet塊的輸入;conv為卷積算法;o為Resnet塊的輸出。
本研究提出的改進(jìn)多導(dǎo)聯(lián)殘差網(wǎng)絡(luò)模型(IMRN),將部分殘差塊中的傳統(tǒng)卷積層改進(jìn)為空洞卷積,減少了重復(fù)參數(shù)的數(shù)量,減輕了網(wǎng)絡(luò)訓(xùn)練難度,不對(duì)訓(xùn)練結(jié)果造成影響。經(jīng)過(guò)一系列卷積層、殘差塊進(jìn)行處理后,送入正則化層(dropout)防止過(guò)擬合,加入特征融合層,將五導(dǎo)聯(lián)的信號(hào)特征進(jìn)行權(quán)重提取,即將輸入列表合并到一個(gè)長(zhǎng)的特征向量或者張量中,或者只保留輸入層的最大值,最后送入softmax層進(jìn)行分類[18-19]。結(jié)構(gòu)如圖5所示。
圖5 網(wǎng)絡(luò)結(jié)構(gòu)示意圖
其中,殘差塊a和殘差塊b的具體結(jié)構(gòu)如圖6所示。
圖6 改進(jìn)殘差塊示意圖
模型中,卷積層(Covolutional)是用來(lái)提取特征,卷積層具有平移不變性、大小不變、旋轉(zhuǎn)不變的特點(diǎn);批量歸一化層(BN,Batch Normalization,)使訓(xùn)練過(guò)程收斂速度加快,減輕梯度消失;激活函數(shù)選用非線性函數(shù)(Relu,Rectified Linear Unit)提高效率,Relu公式為:f(x)=max(0,x),通過(guò)減少參數(shù)的依賴性來(lái)緩解過(guò)擬合的發(fā)生。
在改進(jìn)的殘差塊a中,將第一個(gè)卷積過(guò)程中卷積層設(shè)置為空洞卷積,在對(duì)心電數(shù)據(jù)進(jìn)行特征提取時(shí),增加了感受野,減少了參數(shù)量,使用空洞卷積的優(yōu)點(diǎn)是避免了使用池化層時(shí)出現(xiàn)的信息缺失,保證了實(shí)驗(yàn)中24 298個(gè)心拍的充分利用和訓(xùn)練,提升模型的魯棒性和準(zhǔn)確率。殘差塊b的設(shè)計(jì)與普通殘差網(wǎng)絡(luò)一致,由傳統(tǒng)的卷積層、激活層、歸一化層組成,為了保證與殘差塊a輸出的維度一致,加入了池化層和零填充。
模型參數(shù)設(shè)置如下:網(wǎng)絡(luò)輸入形狀為650×1,卷積核大小統(tǒng)一設(shè)置為3,步長(zhǎng)為1,第一層卷積核數(shù)量為16個(gè),第一組殘差塊卷積核數(shù)量為16,空洞率為2,第二組殘差塊卷積核數(shù)量為32個(gè),空洞率為2,第三組殘差塊卷積核數(shù)量為64,空洞率為2,最后經(jīng)過(guò)特征融合,輸出分類結(jié)果。
利用梯度下降法對(duì)模型進(jìn)行訓(xùn)練,選用常見(jiàn)的優(yōu)化器Adam[20]用來(lái)更新網(wǎng)絡(luò)權(quán)重,本研究將學(xué)習(xí)率設(shè)為0.000 1,設(shè)置patience為10,即當(dāng)連續(xù)訓(xùn)練10次后結(jié)果沒(méi)有改善,訓(xùn)練就會(huì)停止。
網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),首先通過(guò)正向傳播得出損失值大小,然后需要根據(jù)損失值利用反向傳播重新調(diào)整部分參數(shù),優(yōu)化最終模型。這里要用到損失函數(shù),損失函數(shù)也稱為代價(jià)函數(shù),表示的是預(yù)測(cè)值與真實(shí)值之間的差距,由于模型是一個(gè)二分類模型,分類結(jié)果服從伯努利分布,所以采用二分類交叉熵?fù)p失函數(shù),公式如下:
其中,ti是某類別的真實(shí)值,取值為0或1;pi是某類別的預(yù)測(cè)值。損失值越小,說(shuō)明模型分類效果越好。
利用Python3.6語(yǔ)言編程,采用Tensorflow作為后端的keras深度學(xué)習(xí)框架,其內(nèi)部有很多深度學(xué)習(xí)模型,計(jì)算機(jī)內(nèi)存8 GB,操作系統(tǒng)為Windows 10,處理器為Intel i7-8750H。
為了評(píng)估分類器性能,通過(guò)比較實(shí)際輸出和預(yù)測(cè)輸出來(lái)測(cè)量不同參數(shù),如靈敏度(sensitivity)、特異性(specificity)、準(zhǔn)確率(accuracy)和精度(Precision,PPV)。他們的定義如下:
其中F1-score值是精度和靈敏度的調(diào)和平均數(shù),最大為1,最小為0,也可作為評(píng)價(jià)指標(biāo)之一。TP和TN分別代表真陽(yáng)性和真陰性,F(xiàn)P和FN分別代表假陽(yáng)性和假陰性。
另外采用受試者工作特性曲線ROC-AUC(Receiver Operating Characteristic-Area Under Curve)來(lái)評(píng)價(jià)最終的二分類結(jié)果。ROC曲線縱軸為真正率(TPR靈敏度),橫軸為假正率(1-特異度FPR)。ROC曲線下面積為AUC,曲線越靠近左上角,即AUC面積越大,分類效果越好,越具有應(yīng)用價(jià)值[23]。
為了實(shí)驗(yàn)結(jié)果的可靠性,評(píng)估模型性能,采用了K倍交叉驗(yàn)證方案。本研究選擇5折交叉驗(yàn)證。首先將整體數(shù)據(jù)集隨即劃分為5個(gè)數(shù)量相同的子集,第一次將第一份用于測(cè)試,剩下四份用于訓(xùn)練,然后將第二份用于測(cè)試,剩余四份用于訓(xùn)練,以此類推,最后將結(jié)果匯總求平均值作為最后的模型評(píng)價(jià)。示意圖如圖7所示。
圖7 五折交叉示意圖
為了體現(xiàn)文中改進(jìn)殘差網(wǎng)絡(luò)的優(yōu)越性,增加了經(jīng)典殘差網(wǎng)絡(luò)模型(Resnet)實(shí)驗(yàn)[21]的對(duì)比,即將殘差塊a和b統(tǒng)一為殘差塊b(效果等同于將空洞率設(shè)置為1),其余參數(shù)不變,將預(yù)處理的數(shù)據(jù)送入模型進(jìn)行訓(xùn)練,其ROC曲線如圖8所示??梢钥闯?,Resnet模型AUC值為95.80%,分類效果較好,但是還有提升空間。
圖8 經(jīng)典殘差網(wǎng)絡(luò)ROC曲線
為了進(jìn)一步分析模型分類效果,圖9分別繪制了LeNet-5網(wǎng)絡(luò)、AlexNet網(wǎng)絡(luò)和多導(dǎo)聯(lián)殘差網(wǎng)絡(luò)(IMRN)相應(yīng)的ROC曲線以及對(duì)應(yīng)的AUC值。LeNet-5是最經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò),由兩個(gè)卷積層、兩個(gè)池化層、兩個(gè)全連接層和一個(gè)輸出層組成[22];AlexNet是 Hinton研究團(tuán)隊(duì)在 2012年參加的Image Net圖像識(shí)別競(jìng)賽中獲得冠軍的一種新型卷積神經(jīng)網(wǎng)絡(luò)[23],將二者與本文算法進(jìn)行對(duì)比,對(duì)廣泛前壁心梗進(jìn)行自動(dòng)診斷,從圖9中可以看出,傳統(tǒng)LeNet網(wǎng)絡(luò)AUC值為86.54%,AlexNet網(wǎng)絡(luò)AUC值達(dá)到了93.20%,而本文提出的新算法AUC值可達(dá)到98.00%,曲線更靠近Y軸,分類性能更好。
圖9 三種模型ROC曲線對(duì)比
將三種算法及傳統(tǒng)殘差網(wǎng)絡(luò)算法的準(zhǔn)確率、靈敏度、特異性、精度與F1-score值進(jìn)行比較,如表1所示。
表1 不同模型比較
從表1中可以看出,本文提出的IMRN算法準(zhǔn)確率達(dá)到了97.85%,F(xiàn)1-score值達(dá)到96.33%,各方面參數(shù)都優(yōu)于前三種網(wǎng)絡(luò)模型。再將IMRN網(wǎng)絡(luò)與現(xiàn)有的其他文獻(xiàn)里面的準(zhǔn)確率進(jìn)行比較,如表2所示。
表2 本文算法與文獻(xiàn)中算法比較
表2中可以看出,與其他文獻(xiàn)運(yùn)用深度學(xué)習(xí)提出的網(wǎng)絡(luò)結(jié)構(gòu)相比,IMRN的準(zhǔn)確性和特異性都有明顯提升,證明了此算法的優(yōu)越性。
針對(duì)人工診斷廣泛前壁心梗復(fù)雜度高、傳統(tǒng)機(jī)器學(xué)習(xí)算法診斷準(zhǔn)確率低的問(wèn)題,提出了一種基于改進(jìn)的多導(dǎo)聯(lián)殘差網(wǎng)絡(luò)(IMRN)模型,實(shí)現(xiàn)了廣泛前壁心梗和正常心電信號(hào)的分類,達(dá)到了97.85%的準(zhǔn)確率。將其與經(jīng)典的LeNet、AlexNet、Resnet相比較,根據(jù)ROC曲線分析,得出IMRN診斷能力更強(qiáng)。
下一步研究是將預(yù)測(cè)模型用于臨床數(shù)據(jù)的檢測(cè),根據(jù)國(guó)人心電數(shù)據(jù)特點(diǎn)進(jìn)一步調(diào)整參數(shù),優(yōu)化模型,從而在臨床中獲得更廣泛應(yīng)用。