楊朔 蒲寶明 李相澤 王帥 常戰(zhàn)國
摘 要:針對傳統(tǒng)基于形態(tài)特征的心電檢測算法存在特征提取不準(zhǔn)確和高復(fù)雜性等問題,提出了一種多層的長短時記憶(LSTM)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。結(jié)合傳統(tǒng)LSTM模型在時序數(shù)據(jù)處理上的優(yōu)勢,該模型增加了反向和深度計算,避免了人工提取波形特征,提高了網(wǎng)絡(luò)的學(xué)習(xí)能力。通過給定心拍序列和分類標(biāo)簽進(jìn)行監(jiān)督學(xué)習(xí),然后實現(xiàn)對未知心拍的心律失常檢測。通過對MIT-BIH數(shù)據(jù)庫中的心律失常數(shù)據(jù)集進(jìn)行實驗驗證,模型的總體準(zhǔn)確率為98.34%。相比支持向量機(jī)(SVM),該模型的準(zhǔn)確率和F1值均有提高。
關(guān)鍵詞:心律失常;心電;長短時記憶(LSTM)神經(jīng)網(wǎng)絡(luò);時序數(shù)據(jù);支持向量機(jī)
中圖分類號: TP183
文獻(xiàn)標(biāo)志碼:A
文章編號:1001-9081(2019)03-0930-05
Abstract: Aiming at the problems of inaccurate feature extraction and high complexity of traditional ElectroCardioGram (ECG) detection algorithms based on morphological features, an improved Long Short-Term Memory (LSTM) neural network was proposed. Based on the advantage of traditional LSTM model in time series data processing, the proposed model added reverse and depth calculations which avoids extraction of waveform features artificially and strengthens learning ability of the network. And supervised learning was performed in the model according to the given heart beat sequences and category labels, realizing the arrhythmia detection of unknown heart beats. The experimental results on the arrhythmia datasets in MIT-BIH database show that the overall accuracy of the proposed method reaches 98.34%. Compared with support vector machine, the accuracy and F1 value of the model are both improved.
Key words: cardiac arrhythmia; ElectroCardioGram (ECG); Long Short-Term Memory (LSTM) neural network; time series data; Support Vector Machine (SVM)
0 引言
心律失常是一種常見的心血管綜合癥,心臟電刺激的起源異常、傳導(dǎo)異?;蝾l率改變均會造成心律失常[1]。許多心血管疾病的病發(fā)初期常伴有心律失常的出現(xiàn),因此心律失常的檢測對于心血管疾病的預(yù)防具有重要意義。目前,廣泛應(yīng)用的心律失常檢測方法是心電(ElectroCardioGram, ECG)信號診斷[2]。
ECG信號反映了心臟周期性的功能狀態(tài)。當(dāng)發(fā)生心律失常時,心臟出現(xiàn)不規(guī)律跳動,心臟節(jié)律發(fā)生改變,心電圖中監(jiān)測到的電信號也會隨之出現(xiàn)明顯變化。傳統(tǒng)的ECG信號診斷通常由資深專家對心電圖波形進(jìn)行人工分析,識別波形圖中的異常,作出相應(yīng)的病情診斷。隨著計算機(jī)科學(xué)的發(fā)展,人工智能技術(shù)被應(yīng)用于ECG信號的自動診斷當(dāng)中。這種方法不僅能夠減少專家的壓力,提高檢測效率,還能節(jié)約病人的時間,避免耽誤病情。
ECG信號是一種周期性的時間序列信號,在一個心動周期中主要包括P波、QRS波群和T波等波形。由于受不同人群、采集設(shè)備和肌電信號的影響,波形中會包含不同程度的噪聲和基線漂移。過量的噪聲會影響算法對波形檢測的準(zhǔn)確性,所以在信號分析之前,需要選擇合適的濾波算法對EGG數(shù)據(jù)進(jìn)行去噪[3]。在這一方面,許多學(xué)者已經(jīng)提出了許多成熟的去噪算法。Savitha等[4]提出了一種結(jié)合有限長單位沖激響應(yīng)(Finite Impulse Response, FIR)濾波器和主成分分析(Principal Component Analysis, PCA)的方法來消除心電干擾,效果明顯優(yōu)于普通的數(shù)字濾波方法。Alfaouri等[5]通過分析小波變換后信號的頻率特性,采用合適的小波基函數(shù)和分解層數(shù),精確地過濾掉了特定頻率的噪聲。針對濾波后的ECG信號進(jìn)行心律失常的自動檢測,學(xué)者們也提出了許多優(yōu)秀的算法,像自回歸模型、支持向量機(jī)(Support Vector Machine, SVM)和卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)等。Korürek等[6]利用小波變換和PCA提取信號頻域特征,結(jié)合時域波形特征對MIT-BIT數(shù)據(jù)庫中的6種心律失常心拍進(jìn)行了驗證,取得了96%的分類準(zhǔn)確度。但這種方法對于波形特征要求較高,特征提取的準(zhǔn)確度容易受到噪聲的影響。Rajpurkar等[7]設(shè)計了一個34層的卷積神經(jīng)網(wǎng)絡(luò),對Holter中的12類單導(dǎo)聯(lián)心律失常數(shù)據(jù)進(jìn)行了識別,達(dá)到了專家診斷的效果。但這種模型需要長時間的訓(xùn)練,檢測時的時間復(fù)雜度較高。所以,本文提出一種深度長短時記憶神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于心律失常檢測。首先,在傳統(tǒng)長短時記憶(Long Short-Term Memory, LSTM)神經(jīng)網(wǎng)絡(luò)模型中,增加了反向推算結(jié)構(gòu),挖掘信號數(shù)據(jù)前后之間的聯(lián)系;其次為了降低模型復(fù)雜度,減少訓(xùn)練時間,只采用了兩層雙向LSTM網(wǎng)絡(luò)作隱含層;最后,將分割好的心拍序列作輸入,通過網(wǎng)絡(luò)模型檢測,得到檢測結(jié)果。實驗結(jié)果表明,本文采用的模型在心律失常檢測中,準(zhǔn)確率高、泛化性強(qiáng);相比其他模型具有明顯優(yōu)勢。
1 數(shù)據(jù)處理
本文使用的所有數(shù)據(jù)來源于MIT-BIH心律失常數(shù)據(jù)庫。MIT-BIH心律失常數(shù)據(jù)庫是麻省理工建立的基于國際標(biāo)準(zhǔn),經(jīng)過專家診斷和注釋的心電數(shù)據(jù)庫,是國內(nèi)外學(xué)者進(jìn)行相關(guān)研究的權(quán)威數(shù)據(jù)來源[8]。
1.1 小波閾值去噪
受采集環(huán)境的影響,ECG信號中通常存在許多干擾信號和基線漂移。為了獲取精準(zhǔn)的心臟活動信號,避免噪聲干擾產(chǎn)生誤判,本文運(yùn)用小波變換對ECG信號進(jìn)行分解和重構(gòu)來消除干擾信號和基線漂移。
小波變換是一種對信號進(jìn)行時頻轉(zhuǎn)換的信號分析方法,通過伸縮平移運(yùn)算對信號進(jìn)行多尺度細(xì)化,放大局部特征,以便進(jìn)行下一步的信號分析[9]。小波變換方法在消除ECG這類非平穩(wěn)信號中的噪聲時,具有明顯的優(yōu)勢。小波變換為連續(xù)信號f(t)在小波基函數(shù)下的展開,如式(1):
ECG信號經(jīng)過小波分解后,信號的有效信息主要集中在較大幅值的小波系數(shù)上,而噪聲信號則分布在各尺度小波域內(nèi),主要集中在較小幅值的小波系數(shù)上。通過設(shè)定合理的閾值,將小于閾值的小波系數(shù)進(jìn)行置零,從而達(dá)到心電信號去噪的目的。主要流程如圖1所示。
1.2 心拍分割
當(dāng)心律失常出現(xiàn)時,在心電圖中通??捎^察到一個或多個心拍波形發(fā)生改變,這些異常波形伴隨著正常波形重疊或交替出現(xiàn)。所以,當(dāng)計算機(jī)檢測心律失常時通常針對心拍波形進(jìn)行檢測,識別波形是否發(fā)生了明顯變化。一個完整的心拍波形如圖2所示,從當(dāng)前P波起始至下一個P波的起始。由于P波幅值較小,容易受噪聲影響等原因,在計算機(jī)處理時,通常以R波為基準(zhǔn)對波形進(jìn)行定位,再間接地尋找P波位置。目前針對ECG信號的R波檢測算法已經(jīng)相當(dāng)成熟,準(zhǔn)確率在99.5%以上[10],因此,在本文中依據(jù)此方法對較長記錄的ECG信號進(jìn)行分割,處理成單個心拍進(jìn)行識別。
1.3 MIT-BIH心拍
在MIT-BIH心律失常數(shù)據(jù)庫中,包含了十幾種類型的心律失常數(shù)據(jù),共有4000多個Holter記錄,每條記錄根據(jù)采集的時長,可分割成幾十到幾百個心拍。每個心拍均有對應(yīng)的診斷標(biāo)簽。本文依據(jù)數(shù)據(jù)庫的分類方法,采用單字符對心拍類型進(jìn)行替代。具體心拍類型與字符標(biāo)定的關(guān)系[11]如表1所示。
2 網(wǎng)絡(luò)模型
近年來,深度神經(jīng)網(wǎng)絡(luò)模型在自然語言處理、計算機(jī)視覺、生物醫(yī)學(xué)信號處理等多個領(lǐng)域取得了巨大的成功。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN),特別是LSTM,已成為當(dāng)前廣泛使用的網(wǎng)絡(luò)模型之一[12]。這種模型應(yīng)用在語音識別、自然語言處理和機(jī)器翻譯等基于時序數(shù)據(jù)的場景中具有明顯的優(yōu)勢。
2.1 LSTM
LSTM是一種特殊的RNN。這種結(jié)構(gòu)彌補(bǔ)了傳統(tǒng)RNN的缺陷:無法解決長期依賴問題。傳統(tǒng)的LSTM模型有三層:輸入層、隱含層和輸出層,核心單元是由存儲塊和存儲單元組成的特殊結(jié)構(gòu),其中包含三種乘法門:遺忘門、輸入門和輸出門。遺忘門選擇性保留歷史狀態(tài),輸入門用于更新學(xué)習(xí)的新信息,輸出門輸出學(xué)習(xí)到的信息。圖3顯示了LSTM核心結(jié)構(gòu)[13]。
2.2 雙向LSTM
雙向RNN是對傳統(tǒng)RNN結(jié)構(gòu)的一種拓展,該模型神經(jīng)單元的傳遞方向分為前向和后向。這種結(jié)構(gòu)應(yīng)用于LSTM網(wǎng)絡(luò)上即為雙向長短時記憶神經(jīng)網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory, BiLSTM)[14]。與傳統(tǒng)的LSTM神經(jīng)網(wǎng)絡(luò)不同,該網(wǎng)絡(luò)的輸入作用于前后兩個方向的隱含層,再將兩種隱含層的輸出進(jìn)行結(jié)合得到最終輸出。網(wǎng)絡(luò)結(jié)構(gòu)如圖4。
2.3 DBiLSTM
在本文中,利用多層神經(jīng)網(wǎng)絡(luò)的特點(diǎn),結(jié)合BiLSTM結(jié)構(gòu),采用了一種深度雙向長短時記憶神經(jīng)網(wǎng)絡(luò)(Deep Bidirectional Long Short-Term Memory,DBiLSTM)。該網(wǎng)絡(luò)含有多個隱含層,前層的輸出作為后層網(wǎng)絡(luò)的輸入。在DBiLSTM結(jié)構(gòu)中,BiLSTM結(jié)構(gòu)有助于挖掘前后特征之間的聯(lián)系,多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有助于豐富網(wǎng)絡(luò)學(xué)習(xí)的特征集,提高模型的準(zhǔn)確率。在模型結(jié)構(gòu)中,DBiLSTM實際上是對BiLSTM的一種深度拓展,如圖5所示。
在DBiLSTM模型中,輸入層的網(wǎng)絡(luò)參數(shù)傳遞與BiLSTM相同,但在輸出層,DBiLSTM將狀態(tài)作為輸入傳給了隱含層,更新公式即為:
3 實驗與分析
3.1 小波變換去噪
本文根據(jù)MIT-BIH數(shù)據(jù)庫波形數(shù)據(jù)的特征,對比了四種小波基函數(shù)bior、db、coif和sym的去噪效果。通過原始信號和去噪信號計算信噪比和均方根誤差,確定了選取coif2進(jìn)行變換。由于小波閾值去噪時的分解層數(shù)過高造成波形形態(tài)和幅值變化較大,過低造成噪聲抑制不明顯的原因,本文將分解層數(shù)設(shè)置為3層。對于合理閾值的選擇,本文采用了自適應(yīng)的Stein無偏風(fēng)險估計閾值。通過軟閾值去噪后的對比波形,如圖6所示。
從圖中可以看出,原始信號中存在的大量噪聲已經(jīng)被消除,信號中關(guān)鍵的P波、T波和QRS波群等波群特征被完美地保留下來,保證了后續(xù)波形定位和心拍分割的準(zhǔn)確性。由此可以得出,軟閾值小波變換對波形的噪聲起到了良好的抑制作用。
3.2 實驗數(shù)據(jù)集
為了避免訓(xùn)練數(shù)據(jù)的不平衡影響模型學(xué)習(xí)的準(zhǔn)確性,本文選取數(shù)據(jù)量大、數(shù)量差較小的4種心拍類型進(jìn)行實驗。同時為了避免多個心拍來自同一條記錄,將心拍進(jìn)行隨機(jī)組合,劃分出不同于訓(xùn)練集數(shù)據(jù)的測試集數(shù)據(jù)進(jìn)行交叉驗證,防止過擬合的發(fā)生。數(shù)據(jù)集的劃分如表2。
3.3 模型實現(xiàn)
心律失常的主要檢測過程為給定輸入時間序列X={x1,x2,…,xt},即單個心拍,將其輸入到訓(xùn)練好的網(wǎng)絡(luò)模型中,輸出此心拍對應(yīng)的心律失常標(biāo)簽。本文采用的總體網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。