


隨著我國(guó)人口結(jié)構(gòu)和社會(huì)環(huán)境的改變,心血管病已經(jīng)超越腫瘤成為致死率第一的疾病。大多數(shù)心血管疾病常伴有心律失常,本文針對(duì)這一特征,從心電信號(hào)的自動(dòng)識(shí)別和類型分析處入手,研究并提出了一種基于深度學(xué)習(xí)的心電圖分類算法。首先對(duì)原始的心電信號(hào)數(shù)據(jù)集進(jìn)行濾波、歸一化、求取信號(hào)功率圖譜和加窗函數(shù)等處理,數(shù)據(jù)經(jīng)過(guò)預(yù)處理后能夠更好地從其頻域中提取相關(guān)特征;考慮到心電圖本身具有一定的時(shí)序特性,使用長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)來(lái)捕捉心電數(shù)據(jù)的前后依賴關(guān)系,通過(guò)多分類器實(shí)現(xiàn)多標(biāo)簽并進(jìn)行相關(guān)訓(xùn)練。
本文采用一種改進(jìn)型的LSTM的高效變體網(wǎng)絡(luò)(GRU)將經(jīng)過(guò)預(yù)處理后的心電信號(hào)作為網(wǎng)絡(luò)的輸入序列,將心電信號(hào)的特征提取并分類。評(píng)價(jià)該模型性能的指標(biāo)為分類準(zhǔn)確率,同時(shí)在2018生理信號(hào)挑戰(zhàn)賽的數(shù)據(jù)(2018數(shù)據(jù)集)上進(jìn)行了測(cè)試,取得了良好的實(shí)驗(yàn)結(jié)果。
隨著計(jì)算機(jī)深度學(xué)習(xí)的不斷發(fā)展,建立一種快速有效識(shí)別心電圖的深度學(xué)習(xí)網(wǎng)絡(luò),對(duì)整個(gè)社會(huì)醫(yī)療領(lǐng)域的發(fā)展有著重要意義。利用神經(jīng)網(wǎng)絡(luò)對(duì)心電信號(hào)進(jìn)行分類目前還是一個(gè)較新的領(lǐng)域。Andrew Y.Ng等提出了一種固定采樣周期的卷積神經(jīng)網(wǎng)絡(luò),通過(guò)固定256個(gè)采樣點(diǎn)來(lái)生成一個(gè)標(biāo)簽。Lipton等提出了一種用于多標(biāo)簽分類的LSTM網(wǎng)絡(luò),該網(wǎng)絡(luò)提取心電信號(hào)的時(shí)序特征來(lái)進(jìn)行分類;Zihlmann等提出了采用卷積神經(jīng)網(wǎng)絡(luò)的架構(gòu),對(duì)心電信號(hào)進(jìn)行識(shí)別和分類。
本文使用的模型為改進(jìn)型的GRU網(wǎng)絡(luò),與傳統(tǒng)的GRU相比,GRU在算法上增加了用于多標(biāo)簽的分類器機(jī)制,同時(shí)該網(wǎng)絡(luò)所接受的輸入信號(hào)為心電信號(hào)非固定周期的頻域特征。
數(shù)據(jù)集與處理方法
數(shù)據(jù)集
本文使用的是2018數(shù)據(jù)集,心電圖記錄的采樣頻率保持500 Hz,訓(xùn)練集包含了6796個(gè)人的十二導(dǎo)聯(lián)心電圖記錄,持續(xù)時(shí)間為6~60s,每種病例類型的分布如表1所示。
數(shù)據(jù)預(yù)處理
2018數(shù)據(jù)集的采樣率為500 Hz,心電信號(hào)的平均持續(xù)時(shí)間為15s左右,最長(zhǎng)的持續(xù)時(shí)間可以達(dá)到60s,這會(huì)造成數(shù)據(jù)集存在著較長(zhǎng)的數(shù)列,而GRU模型的輸入序列的合適范圍是500~1000。若將2018數(shù)據(jù)集直接作為模型的輸入,則會(huì)出現(xiàn)因?yàn)樾蛄羞^(guò)長(zhǎng)而產(chǎn)生反向傳播過(guò)程導(dǎo)致梯度消失的問題。因此需要對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理。
為了選擇合適的輸入序列長(zhǎng)度以及提取心電信號(hào)的頻域特征,使用FFT窗口函數(shù)將龐大的原始數(shù)據(jù)映射為適宜模型計(jì)算的長(zhǎng)度序列,并在時(shí)間窗口中計(jì)算頻譜圖,為實(shí)現(xiàn)心電數(shù)據(jù)的非固定周期采樣,通過(guò)加窗來(lái)盡可能減少在非整數(shù)個(gè)周期上進(jìn)行FFT產(chǎn)生的誤差;由于人體心電信號(hào)的高頻成分較少,且有一定的隨機(jī)性,其功率圖譜的高次諧波部分峰峰之間的區(qū)別較為模糊,在選擇加窗函數(shù)時(shí),優(yōu)先考慮良好頻譜分辨率的具有窄主瓣的平滑窗。
由于人體心電信號(hào)是非常微弱的生理低頻電信號(hào),頻率范圍為0.1~35Hz,主要集中在5~20Hz;同時(shí),肌電信號(hào)的頻率為20~5000 Hz,其主要成分的頻率與肌肉的類型有關(guān),一般在30~300Hz。為了抑制噪聲,需要對(duì)ECG信號(hào)進(jìn)行濾波處理,選擇巴特沃斯低通濾波器來(lái)濾除肌電干擾。利用濾波器對(duì)原始心電信號(hào)進(jìn)行消噪處理,結(jié)果如圖1所示
(a)原始心電信號(hào)
GRU網(wǎng)絡(luò)模型
長(zhǎng)短期記憶網(wǎng)絡(luò)—LSTM
長(zhǎng)短期記憶網(wǎng)絡(luò)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),最大的特點(diǎn)在于引入了門機(jī)制和記憶單元,在LSTM網(wǎng)絡(luò)中不會(huì)出現(xiàn)諸如梯度消失和梯度爆炸等問題。LSTM模型就像是一條流水線,不同的門和記憶單元對(duì)輸入量進(jìn)行一步步的深加工,在LSTM模型中,輸入序列通過(guò)輸入門運(yùn)算后進(jìn)入記憶單元,記憶單元通過(guò)輸出門被運(yùn)送到其他LSTM單元。圖2給出了LSTM存儲(chǔ)器單元的內(nèi)部結(jié)構(gòu)。
然而,由于其結(jié)構(gòu)復(fù)雜性,求解LSTM模型通常需要很長(zhǎng)的時(shí)間。為了加快訓(xùn)練速度,GRU被提出作為改進(jìn)LSTM的簡(jiǎn)易方便的模型,目前GRU模型并未用于心電信號(hào)的識(shí)別。
改進(jìn)型GRU網(wǎng)絡(luò)
GRU就是LSTM的一個(gè)變形狀態(tài),它將遺忘門和輸入門組合成了更新門,但GRU模型的計(jì)算和實(shí)現(xiàn)更加簡(jiǎn)單。一個(gè)典型的GRU單元由2個(gè)門組成:復(fù)位門和更新門。
類似于LSTM單元,t時(shí)刻的隱藏狀態(tài)輸出是由t-1時(shí)刻的隱藏狀態(tài)值和t時(shí)刻的輸入序列計(jì)算得來(lái),如式(6)所示。
與傳統(tǒng)的單一標(biāo)簽分類不同,心律失常往往會(huì)造成多個(gè)疾病同時(shí)存在,傳統(tǒng)的GRU模型在多標(biāo)簽處理數(shù)據(jù)方面有著一定的局限性,于是本文引入了十二導(dǎo)聯(lián)多標(biāo)簽分類的算法。
如圖4所示,在改進(jìn)后的GRU模型中,x1,x2,x3,……,xi表示經(jīng)過(guò)數(shù)據(jù)預(yù)處理后的各個(gè)導(dǎo)聯(lián)的向量,這些向量經(jīng)過(guò)GRU模型的計(jì)算,輸出為對(duì)應(yīng)的h1,h2,h3,…,hi,然后GRU模型中添加了多標(biāo)簽分類層v,其中v層由keras庫(kù)中multi-label算法構(gòu)成,通過(guò)訓(xùn)練不同的病理特征,分析出各個(gè)導(dǎo)聯(lián)輸出所對(duì)應(yīng)的各種疾病分布的概率值a1,a2,a3……,ai,并通過(guò)Sofimax函數(shù)層對(duì)層的輸出進(jìn)行計(jì)算分析,從而達(dá)到十二導(dǎo)聯(lián)多標(biāo)簽分類的目的。
實(shí)驗(yàn)結(jié)果與討論
實(shí)驗(yàn)環(huán)境
本實(shí)驗(yàn)所采用的設(shè)備為Windowsl0操作系統(tǒng),i5四核處理器,8G運(yùn)行內(nèi)存。所采用的編程語(yǔ)言為Python3.6、C語(yǔ)言,并在matlab平臺(tái)以及pytorch平臺(tái)分別進(jìn)行數(shù)據(jù)預(yù)處理和模型搭建測(cè)試的環(huán)節(jié),pytorch平臺(tái)上配合Keras以及Tensorflow深度學(xué)習(xí)框架進(jìn)行庫(kù)的調(diào)用和測(cè)試訓(xùn)練。
實(shí)驗(yàn)結(jié)果
為了進(jìn)行模型性能的評(píng)估,引入了混沌矩陣,矩陣的每一列代表了數(shù)據(jù)預(yù)測(cè)的類別,而每一列的總數(shù)代表預(yù)測(cè)為該類別數(shù)據(jù)的數(shù)目;每一行代表了數(shù)據(jù)的實(shí)際類別,每一行的數(shù)據(jù)總數(shù)表示該類別實(shí)際的數(shù)據(jù)數(shù)目。混沌矩陣具有4個(gè)基礎(chǔ)指標(biāo):TP,TN,F(xiàn)P,F(xiàn)N。
TP為真實(shí)值是positive,模型認(rèn)為是positive的數(shù)量;TN為真實(shí)值是positive,模型認(rèn)為是negative的數(shù)量;FP為真實(shí)值是negative,模型認(rèn)為是positive的數(shù)量;FN為真實(shí)值是negative,模型認(rèn)為是negative的數(shù)量。
為了更直觀地查看模型的性能,可以分別計(jì)算此時(shí)的tpr與fpr,tpr和fpr的計(jì)算公式如下式(7)、式(8)所示;根據(jù)這組tpr以及fpr值就可以畫出ROC曲線,由該ROC曲線就可以判斷模型的性能,ROC曲線如圖5所示。
可以很直觀地看出,GRU模型對(duì)測(cè)試集中的數(shù)據(jù)進(jìn)行識(shí)別的準(zhǔn)確率達(dá)到了0.88,模型性能良好。同時(shí)對(duì)所有的測(cè)試集進(jìn)行得分F的計(jì)算。實(shí)驗(yàn)結(jié)果如下表2所示。
可以看出在2018數(shù)據(jù)集上,該模型對(duì)AF的分類效果最好,在RBBB上的分類效果最差,對(duì)所有疾病的分類準(zhǔn)確率均大于0.7,這表明模型具有良好的分類性能,具有一定的可行性和獨(dú)特的優(yōu)勢(shì)。
本文提出了一種改進(jìn)型的GRU網(wǎng)絡(luò)模型來(lái)識(shí)別并分類心電信號(hào),與主流的深度學(xué)習(xí)識(shí)別模型相比,該模型提取了心電信號(hào)的頻域特征,濾波處理,消除掉不必要的干擾信號(hào),利用多標(biāo)簽識(shí)別算法,更加簡(jiǎn)單,計(jì)算量也較少。缺點(diǎn)是在頻域處理過(guò)程中,容易丟失少部分時(shí)域信息,從而降低某些罕見病癥的識(shí)別準(zhǔn)確率。在下一步工作中,需要繼續(xù)研究信號(hào)的特征提取,在減少計(jì)算量的同時(shí),保證信息特征的完全性和信號(hào)分類的準(zhǔn)確性。