李興秀,唐建軍,華 晶
1.江西農(nóng)業(yè)大學 計算機與信息工程學院,南昌 330045
2.江西農(nóng)業(yè)大學 軟件學院,南昌 330045
根據(jù)世界衛(wèi)生組織提供的數(shù)據(jù)表明,心血管疾病的死亡率占世界死亡率的1/3,而心律失常是心血管疾病中最常見的一種病癥,其表現(xiàn)為心臟功能的不規(guī)律,嚴重時甚至危及生命。因此,研究心律失常是診治該類心血管疾病患者的重要工作之一。目前,診斷心律失常的有力工具是心電信號分析。通過監(jiān)測患者的心電圖,醫(yī)務工作者可以識別出心律失常,然而這種通過人工視覺的檢測與解釋容易出錯[1]。利用心電自動分析技術可以在心臟活動的實時監(jiān)測中及時檢測出異常心臟信息[2],在早期檢測出心律失常能夠提高診斷效率并且節(jié)約人力與時間成本[3]。傳統(tǒng)的機器學習方法以特征為中心[4],因此分類器的性能很大程度上取決于提取特征的質量。近年來深度學習算法以其自動學習特征的優(yōu)勢,被越來越多地應用于醫(yī)療保健領域,如醫(yī)學影像的識別與分割、時間序列數(shù)據(jù)的監(jiān)測與分析等?;谏疃葘W習的心律失常分類技術可以自動提取心電信號的低層和高層特征,以端到端的方式將輸入的心電信號自動映射為心律失常的某個類型,避免了分類子過程之間的相互依賴(如QRS 復合波的提?。5]。現(xiàn)有的心電信號分類方法通常包含小波變換等預處理步驟,但是其計算量會增加實時分類系統(tǒng)的時延。此外,部分方法未按照美國醫(yī)療儀器促進協(xié)會(Association for the Advancement of Medical Instrumentation,AAMI)標準[6]進行分類。然而AAMI 標準包含了對自動心律失常分類方法的測試和評估方案,使得相關研究具有可比性。針對上述問題,本文提出了一種基于一維卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)和雙向長短期記憶網(wǎng)絡(bidirectional long short-term memory,BLSTM)的分類方法。該方法不需要濾波處理和手工特征提取過程。提出的模型首先使用卷積神經(jīng)網(wǎng)絡學習心電信號的形態(tài)特征,獲取信號的顯著信息,然后利用雙向長短期記憶網(wǎng)絡獲取特征中的上下文依賴關系;最后通過softmax函數(shù)實現(xiàn)AAMI 標準的五種心律失常類別的分類。方法采用mish 函數(shù)作為激活函數(shù),使得模型在訓練過程中更為穩(wěn)定。在MIT-BIH 心律失常數(shù)據(jù)庫進行五折交叉驗證,該方法獲得了99.11%的平均準確率,驗證了模型的有效性。
心律失常的自動分類方法分為傳統(tǒng)的機器學習方法[2,7-10]和基于神經(jīng)網(wǎng)絡的深度學習方法[3,11-17],這些方法主要包括信號預處理、特征提取以及分類三個步驟。傳統(tǒng)的機器學習方法通常需要提供手工制作的特征,然而特征的選擇或組合不僅需要專業(yè)知識且其過程是耗時的[18]。隨著深度學習理論與研究的發(fā)展,研究者們逐漸傾向使用深度學習算法從數(shù)據(jù)中自動提取感興趣的特征。根據(jù)網(wǎng)絡輸入的維度,可將深度學習分類方法分為基于一維心電信號的分類和二維心電圖像的分類。
目前,基于一維信號的深度學習算法是心律失常分類任務的研究熱點,例如Kiranyaz 等人[11]針對特定患者的心電圖開發(fā)了一種基于一維卷積神經(jīng)網(wǎng)絡的分類算法,然而該算法對SVEB 類型的心律失常分類靈敏度較低。Rajpurkar 等人[12]提出了一個34 層殘差卷積神經(jīng)網(wǎng)絡算法,可從單導聯(lián)可穿戴設備記錄的心電信號中檢測到心律失常信息。長短期記憶網(wǎng)絡擅長獲取時間序列信息,Yildirim[13]將信號分解成小波序列,然后輸入到深度雙向長短期記憶模型中進行分類,在無噪聲環(huán)境下實現(xiàn)了99.39%的識別性能,但是其訓練時間成本高且分類沒有按照AAMI的標準進行。針對此問題,Saadatnejad 等人[14]提出了一種小波變換和長短期記憶網(wǎng)絡來自動提取特征的輕量級分類方法,滿足可穿戴設備上的連續(xù)實時分類要求。Feng 等人[15]提出了基于16 層卷積神經(jīng)網(wǎng)絡和長短期記憶網(wǎng)絡的多通道分類算法,在PTB 數(shù)據(jù)庫中的心肌梗死分類準確率達到了95.4%。
基于二維心電圖像的深度學習方法中,文獻[16]將心電信號中的三個相鄰心跳轉化為二維耦合矩陣,其整合了信號的形態(tài)信息和節(jié)拍之間的相關性;Jun 等人[17]將每個心跳轉換成二維灰度圖像,之后將此作為二維卷積神經(jīng)網(wǎng)絡模型的輸入。然而基于二維的方法需要將一維信號轉換成二維信息,不僅增加了計算成本,而且存儲二維的信息會占用更多的硬盤空間??傊?,現(xiàn)有的很多方法要么沒有按照AAMI標準進行分類[3,13,15,19],要么預處理過程復雜[20-21],要么時間成本高[13,16-17]?;诖?,本文提出了一維卷積神經(jīng)網(wǎng)絡和雙向長短期記憶網(wǎng)絡組合而成的混合模型(CNN-BLSTM),該模型利用了卷積神經(jīng)網(wǎng)絡具有噪聲魯棒性和長短期記憶網(wǎng)絡在時間序列數(shù)據(jù)上的優(yōu)勢,探索其在未經(jīng)過任何濾波處理的數(shù)據(jù)上基于AAMI推薦的五種心電類別分類研究。
現(xiàn)有的心律失常分類研究中,預處理過程通常包含小波變換或濾波器組等濾波操作來得到干凈的心電數(shù)據(jù)。為盡可能保留心電信號的原始特征以增強模型的泛化能力,本文在信號預處理過程中未進行任何濾波操作或特征提取步驟,而是直接將原始信號分割成固定長度的節(jié)拍。原始心電信號首先通過mapminmax 函數(shù)歸一化到[0,1]之間,然后根據(jù)MIT-BIH 心律失常數(shù)據(jù)庫中注釋的R 峰值位置,按文獻[22]方法將信號分割成節(jié)拍,并給每個節(jié)拍注釋對應的標簽。為保證輸入形狀一致,將處理得到的每個節(jié)拍統(tǒng)一到長度為256 個采樣點的數(shù)據(jù)段。
將經(jīng)過預處理之后的節(jié)拍X=[x1,x2,…,xn]作為網(wǎng)絡的輸入,其中n為256。輸入X對應的標簽y∈{N,S,V,F,Q}。
CNN-BLSTM 由卷積神經(jīng)網(wǎng)絡和長短期記憶網(wǎng)絡兩個模塊組成,其中卷積神經(jīng)網(wǎng)絡的卷積層和池化層能夠提取輸入的底層特征[23],長短期記憶網(wǎng)絡能夠捕獲輸入和目標之間復雜的、時間上的上下文依賴關系[24],適用于心電信號分類等任務。圖1 和表1分別給出了本文提出的CNN-BLSTM 結構和對應的詳細參數(shù)。網(wǎng)絡總參數(shù)量約為4.7×105,運算復雜度約為6.95×10-4GFLOPs。
Fig.1 Structure of CNN-BLSTM圖1 CNN-BLSTM 結構
Table 1 Parameters and details of CNN-BLSTM structure表1 CNN-BLSTM 結構的參數(shù)與細節(jié)
2.2.1 卷積神經(jīng)網(wǎng)絡模塊
卷積神經(jīng)網(wǎng)絡模塊由若干個卷積層、池化層以及其他操作組成,如圖1 所示。卷積層具有局部連通性和權重共享等特性,可用于提取一維心電信號的局部特征。一維卷積層的公式如下:
其中,wl、bl為l層的權重和偏置,m為卷積核大小。
批歸一化層[25]可以使數(shù)據(jù)分布均勻,加快網(wǎng)絡訓練。激活層可以得到非線性的變換,提升模型擬合效果,因此在每個卷積層后面添加一個批歸一化層和激活層。就激活層而言,大部分研究所使用的是ReLU 激活函數(shù)(式(2)),根據(jù)其原理可知,ReLU 將負輸入都變?yōu)?,然而網(wǎng)絡處理過程中的數(shù)據(jù)存在負值,這會導致信息的丟失,故而本文中的激活層采用了一個自正則化的mish 激活函數(shù)[26](式(3))。mish函數(shù)的曲線圖見圖2,從圖像易知mish 函數(shù)是一個非單調的平滑的曲線,保留了少量的負值即信息更完整,這使得網(wǎng)絡的性能和穩(wěn)定性更好。
為保留心電信號中的顯著信息同時降低網(wǎng)絡計算復雜度,在每個卷積塊后添加一個核大小為2,步長為2 的最大池化層。此外,由于丟失層可以通過隨機丟棄部分信息來防止模型過度擬合,在最大池化層后加入一個丟失率為0.1 的丟失層。
Fig.2 Image of mish function and ReLU function圖2 mish 函數(shù)與ReLU 函數(shù)的圖像
2.2.2 雙向長短期記憶網(wǎng)絡模塊
基于長短期記憶網(wǎng)絡在動態(tài)數(shù)據(jù)上的優(yōu)勢,本文在卷積神經(jīng)網(wǎng)絡之后使用了雙向長短期記憶網(wǎng)絡來獲取特征中的上下文依賴關系,網(wǎng)絡結構如圖3 所示。雙向長短期記憶網(wǎng)絡包含一個前向LSTM 和反向LSTM 兩個網(wǎng)絡,每個網(wǎng)絡包含相同數(shù)量的LSTM單元,本文設置其數(shù)量為128。LSTM 單元由輸入門、輸出門和遺忘門組成,這些門能夠通過調節(jié)單元中的信息流來增加或刪除信息,因此單元可以獲取時間流中的信息。LSTM 單元的內(nèi)部結構如圖4 所示。
計算公式如下:
其中,it、ft、ct、ot分別為輸入門、遺忘門、單元狀態(tài)和輸出門,ut為狀態(tài)更新,σ為sigmoid 激活函數(shù)。
Fig.3 Bidirectional LSTM network architecture圖3 雙向LSTM 網(wǎng)絡結構圖
Fig.4 LSTM unit architecture圖4 LSTM 單元的內(nèi)部結構
緊接著雙向長短期記憶網(wǎng)絡模塊之后是一個丟失率為0.2 的丟失層和神經(jīng)元數(shù)為64 的全連接層,最后通過softmax 函數(shù)實現(xiàn)AAMI 標準推薦的5 種心電信號類別的分類任務:
其中,P(Xi)為預測的Xi屬于所有可能類的概率分布。
網(wǎng)絡訓練的最大輪數(shù)為80 輪,批量大小為128。利用Adam 優(yōu)化函數(shù)更新權重,初始學習率為0.001,在后期為加快模型收斂,使用衰減比率為0.1 的學習率衰減法降低學習率。
實驗數(shù)據(jù)采用了MIT-BIH 心律失常數(shù)據(jù)庫,該數(shù)據(jù)庫從47 名受試者身上共獲得48 個雙通道動態(tài)心電圖記錄,每個記錄的持續(xù)時間約為30 min,采樣頻率為360 Hz。根據(jù)AAMI標準建議,去除使用心臟起搏器收集的102、104、107 和217 這4 個心電記錄,將剩余44 條記錄分割后,按其類型劃分為N(正常搏動)、S(室上異位搏動)、V(心室異位搏動)、F(融合搏動)、Q(未知搏動)五大類,獲得節(jié)拍總樣本數(shù)為100 588個,具體類別和數(shù)量見表2。
本文在以Tensorflow 為后端的深度學習框架Keras 上進行了模型的訓練和測試實驗,所有實驗均在一臺處理器為Intel Core i5-10300H、顯卡為Nvidia GeForce RTX2060 的計算機上完成。
使用五折交叉驗證策略來評估所提模型的穩(wěn)定性。總樣本被等比例地劃分成5 部分,依次抽取其中1 份用來測試,其余4 份用來訓練,一共進行了5 次。每一次均評估性能指標(評估指標見3.4 節(jié)),最后計算5 次記錄的所有評估指標的平均值來獲得總體性能度量。
Table 2 Detailed classification of AAMI standards in ECG表2 AAMI標準在心電信號中的詳細分類
為評估本文模型的有效性,同大多數(shù)方法一樣,使用準確率(Acc)、靈敏度(Sen)、特異性(Spe)和陽性預測值(PPV)來評價模型的性能,各評價參數(shù)定義如下:
其中,TP(真陽性)表示正確分類的陽性樣本數(shù);TN(真陰性)表示正確分類的陰性樣本數(shù);FP(假陽性)表示陰性樣本被錯誤分類為陽性樣本的數(shù)量;FN(假陰性)表示陽性樣本被錯誤分類為陰性樣本的數(shù)量。
使用MIT-BIH 數(shù)據(jù)集來訓練和評估模型,經(jīng)過五折交叉驗證后,計算各性能指標的平均值作為最終各類別及總體的評估結果,實驗結果見表3。由該表可知,本文方法在AAMI 推薦的5 種類別上的整體準確率、靈敏度、特異性和陽性預測值分別為99.11%、92.33%、98.95%和95.46%。
Table 3 Evaluation results of model classified on test set表3 模型在測試集上分類的評估結果
圖5 給出了模型在測試集上分類的混淆矩陣,根據(jù)混淆矩陣可知,所提出的模型能夠正確識別大多數(shù)的心電節(jié)拍。由于F 類節(jié)拍和Q 類節(jié)拍樣本數(shù)量相對于其他3 類(N、S、V)較少,F(xiàn) 類與Q 類的評估結果較低。此外,S 類的靈敏度較低,原因是S 類中的AP 類起源于竇房結以外心房的任何部位,其表現(xiàn)為前P 波的缺失或出現(xiàn)異常的P 波,而其QRS 波群與N類中的RBBB 類波形相似,使得模型無法正確區(qū)分。盡管如此,本文方法在S 類和V 類這兩個重要的心律失常類別均實現(xiàn)了較好的分類性能。
Fig.5 Confusion matrix of model classified on test set圖5 模型在測試集上分類的混淆矩陣
本文模型與先進方法[1,21,27-30]進行了比較,如表4 所示,該表中研究的實驗數(shù)據(jù)均采用MIT-BIH數(shù)據(jù)庫,實驗結果來自對應文獻[1,21,27-30]。Golrizkhatami 等人[1]首先利用CNN、小波變換和統(tǒng)計學方法來提取心電信號不同層次的特征,之后使用決策層融合這些特征信息以預測心電信號類別。文獻[21]首先使用db6 小波去除心電信號中的噪聲,之后進行多組對比實驗得出13 層的VGGNet 為最優(yōu)模型,其獲得了97.87%的總體準確率。文獻[27]開發(fā)了一個9 層的卷積神經(jīng)網(wǎng)絡算法來識別5 種不同類型的心跳,在使用db6 去噪的數(shù)據(jù)集上的準確率為94.03%。Hua 等人[28]提出了在原始心電數(shù)據(jù)中使用R-R-R 的分割策略,該分割策略能夠讓網(wǎng)絡模型更好地學習到心電信號的潛在信息,在一個平衡數(shù)據(jù)集上獲得了97.45%的平均準確率和97.00%平均靈敏度。Bouny等人[29]將CNN 與小波變換相結合,同時提取心電信號和其小波子帶的判別特征,該方法達到了99.11%的總體準確率。Li 等人[30]實現(xiàn)了一個并行的通用回歸神經(jīng)網(wǎng)絡(general regression neural network,GRNN)來對心跳進行分類,該方法達到了95.00%的準確率。本文模型在沒有擴充或平衡數(shù)據(jù)集上的分類準確率達到了99.11%,能夠在未去噪的心電數(shù)據(jù)中學習到重要信息,因此可以較好地用于有噪聲的心電數(shù)據(jù)分類任務中。
Table 4 Overall performance comparison of this method and other methods表4 本文方法與其他方法整體性能比較
由于SVEB 類(S 類)和VEB 類(V 類)的心電信號與正常信號存在的差異很小,許多分類器在識別這兩類時表現(xiàn)較差,這對于患者而言是危險的。因此,正確識別出S 類和V 類的心律失常是分類器的一項重要任務。表5 給出了本文方法與其他研究對這兩類心律失常的識別能力。從表中可知,在靈敏度、特異性和陽性預測值評估指標上,本文方法整體表現(xiàn)優(yōu)于其他工作,表明了模型的有效性和先進性。
為驗證提出的模型和mish 激活函數(shù)的有效性,本文做了兩組消融實驗:第一組為使用CNN-BLSTM、CNN-LSTM、CNN 和BLSTM 模型的消融實驗;第二組為激活函數(shù)使用mish 和ReLU 的消融實驗。
Table 5 Comparison of classification performance between this method and other methods on SVEB and VEB表5 本文方法與其他方法在SVEB 類和VEB 類上分類性能比較
消融實驗結果見表6。模型的消融實驗是基于CNN、LSTM 和BLSTM 模塊的有效組合展開的,其中CNN-BLSTM 首先通過卷積提取信號的形態(tài)特征,隨后使用雙向LSTM 獲得特征中的上下文依賴關系,獲得了最好的準確率。CNN-BLSTM 組合模型相比于其他模型獲得了更好的靈敏度和特異性,降低了分類任務中的假陽性和假陰性錯誤。相比ReLU 激活函數(shù),使用mish 激活函數(shù)獲得了更好的分類性能,原因在于mish 激活函數(shù)保留了特征中少量的負值,有利于網(wǎng)絡學習到更加完整的信息。
Table 6 Comparison of classification performance of activation functions and models表6 激活函數(shù)和模型的分類性能比較
為驗證本文模型的噪聲抗干擾能力,對MIT-BIH數(shù)據(jù)集進行三種預處理方法,分別是未進行任何濾波的原始信號、經(jīng)過db6 小波濾波數(shù)據(jù)以及經(jīng)過db8小波[31]濾波數(shù)據(jù)。對比實驗數(shù)據(jù)僅存在是否經(jīng)過小波去噪的區(qū)別,其他處理過程以及模型訓練和評估過程完全一致,實驗結果見表7。由該表可知,模型對未去噪的分類性能與小波去噪后的結果相近,這表明模型能夠從未進行濾波處理的信號中提取到重要特征,驗證了本文提出的模型對噪聲具有魯棒性。
Table 7 Comparison of classification performance between original data and denoised data表7 原始心電數(shù)據(jù)與去噪后的數(shù)據(jù)分類性能比較
本文提出了一種基于卷積神經(jīng)網(wǎng)絡與雙向長短期記憶網(wǎng)絡的組合模型,該模型可以根據(jù)原始心電信號的單個節(jié)拍學習到重要的形態(tài)特征及特征的上下文依賴關系,并按照AAMI 標準推薦類別進行分類。在MIT-BIH 數(shù)據(jù)集上的實驗結果表明,該模型能夠有效提取一維信號的特征,并實現(xiàn)了高準確率的分類?,F(xiàn)有的許多工作都是在一個不平衡的數(shù)據(jù)集上進行研究,本文亦是如此。在未來的工作中,應考慮擴充數(shù)據(jù),在一個較平衡的數(shù)據(jù)集上完成實驗和評估,使模型能更好地完成心律失常分類任務。