顏 菲 胡玉平
1(柳州鐵道職業(yè)技術學院信息技術學院 廣西 柳州 545616) 2(廣東財經(jīng)大學信息學院 廣東 廣州 510320)
心電圖ECG(Electrocardiogram)是一種非入侵性的心臟測試信號,廣泛應用于各類潛在的心臟病的預測[1-2]。近些年,國內(nèi)外學者歸納出了檢測和分類心律失常信號的三個基本步驟[3-4],即:預處理(消除噪聲和偽影,增強ECG信號),特征提取(基于特征描述或降維方法,從波形中提取特征),特征分類(基于獲取的特征獲得分類器的判別函數(shù))。然而,這些方法得到的分類結果很難滿足美國醫(yī)療器械促進協(xié)會AAMI(Association for the Advancement of Medical Instrumentation)的評估標準。
為了解決以上問題,研究人員不僅對方法性能的評判標準進行了研究,而且提出了允許醫(yī)學專家進行在線交互的半自動分類方法。例如,文獻[5]通過介紹心電信號預處理、心搏分割技術、特征描述方法和學習方法,介紹了基于心電信號的自動異常心搏分類方法的研究現(xiàn)狀,描述了用于評估由AAMI開發(fā)的、ANSI/AAMI 2008中的性能評價數(shù)據(jù)庫,同時提出了方法性能的評價流程。文獻[6]提出了一種用于心電圖診斷的決策支持方法,假設使用數(shù)字助理的半自動解釋為最優(yōu)的心電人機解釋模型。為了提高解釋精度,減少漏診,設計了采用網(wǎng)絡技術的微分診斷方法,通過將傳統(tǒng)方法與提出的半自動方法進行實驗比較可知,提出的方法可以大幅度提高診斷的準確率,這表明通過引入決策支持工具,并將相關方法與認為診斷相結合,確實具有非常好的診斷效果。此外,文獻[7]提出了一種用于設計半自動分類方法的通用集成架構,在對已有方法進行應用驗證的基礎上,開發(fā)了一種新的方法設計軟件。然而,這些半自動方法過度依賴于選擇機制,而這些選擇機制并沒有統(tǒng)籌考慮可以提升分類器準確率的樣本,因此診斷精度受到了較大限制。
隨著人工智能技術及需求的不斷發(fā)展,深度神經(jīng)網(wǎng)絡逐漸成為數(shù)據(jù)分析與信息處理領域的研究熱點[8-11],并在醫(yī)療圖像分析等癥多領域得到了廣泛應用。文獻[12]是一篇非常有價值的學術論文,論文作者基于主成分分析和小波變換的特征提取技術以及基于模糊C均值聚類方法的數(shù)據(jù)縮減技術,同時利用基于多層感知器與反向傳播方法的神經(jīng)網(wǎng)絡結構,構造了四種不同的ECG分類方法。針對10種不同心律失常信號進行的分類實驗表明,所提方法均具有非常好的分類精度。這些方法的提出,為科研人員進行后續(xù)的研究指明了方向。例如,文獻[13]將深度學習方法引入心電信號分類中,利用堆疊式稀疏自編碼器建立分類器,獲取高層特征,同時將軟最大回歸與SAE網(wǎng)絡相結合來完善分類器,從而實現(xiàn)更高精度的心電信號分類,實驗結果證實了所提深度網(wǎng)絡方法在心電信號分類中具有非常好的性能。文獻[14]使用多分辨率小波方法和Gabor濾波器從心電信號中提取波段特征和其他紋理特征,并利于基于支持向量機與神經(jīng)網(wǎng)絡相結合的方法對特征進行分類,實現(xiàn)了心律失常的快速、高精度分類。
本文在上述研究成果的啟發(fā)下,提出一種基于深度神經(jīng)網(wǎng)絡DNN(Deep neural network)[15]與疊加去噪自動編碼器SDA(Stacked denoising autoencoder)[16]的新型ECG信號主動分類方法,主要創(chuàng)新點包括:
1) 基于稀疏約束的SDA對給定可用訓練數(shù)據(jù)進行學習,得到具有無監(jiān)督學習模式的特征描述;
2) 在DNN的隱藏層添加回歸層來構建一種新的DNN,并在AAMI的標準下進行分類;
3) 利用主動調(diào)節(jié)技術降低專家對標簽數(shù)據(jù)實例的影響,完善分類器。
為了驗證所提方法的有效性,在三個機構提供的ECG數(shù)據(jù)庫中對所提方法及另外兩種最新的ECG分類方法進行了實驗對比,結果證明了所提方法在準確率和快速性方面具有明顯的優(yōu)越性。
圖1 本文方法的流程
SDA由編碼和解碼量部分組成。在編碼階段,通過非線性激活函數(shù)f(·)將包含噪聲的輸入映射到隱藏層hi∈Rl:
(1)
式中:W∈Rl×d為編碼權重矩陣;b∈Rl為編碼偏移向量;激活函數(shù)f(a)=1/(1+exp(-a))。
在解碼階段,同樣通過非線性激活函數(shù)g(·)映射隱藏層來重建輸入向量xi,即:
ri=g(M·hi+q)
(2)
式中:M∈Rd×l為解碼權重矩陣;q∈Rd為解碼偏移向量;激活函數(shù)g(a)=max(a,0)。
為了確定SDA運算過程中的參數(shù)向量δ=(W,M,b,q),需要求解如下所示代價函數(shù)的最小值:
(3)
(4)
式中:ρ為隱藏層節(jié)點的目標激活函數(shù);表示第j個隱藏層節(jié)點的平均激活函數(shù),其表達式如下:
(5)
為了優(yōu)化式(3)的代價函數(shù),首先將參數(shù)向量初始化為接近于01×4的向量,然后使用擬牛頓方法對其進行更新。為了減少參數(shù)數(shù)量,在優(yōu)化過程中將編碼層的權重學習關聯(lián)到解碼層,即令W=M。
在完成數(shù)據(jù)與訓練后,給出一種計算量較小的,包含H個隱含層的深度神經(jīng)網(wǎng)絡框架構建方法,進而通過在隱含層頂端添加回歸層來完成信號分類,最后通過梯度下降方法最小化式(6),實現(xiàn)DNN的優(yōu)化。整個過程的流程如圖3所示。
(6)
式中:κ為網(wǎng)絡參數(shù);Wsm為層權重,通過將Wsm初始化為較小的隨機值來估計參數(shù)向量σ=(Wi,bi,Wsm),i=1,2,…,H,通過在預訓練階段獲取的編碼權重來初始化H個隱藏層權重。
圖3 深度神經(jīng)網(wǎng)絡構建流程
在上述步驟的基礎上,提出一種DNN主動調(diào)節(jié)方法,從而避免已有方法忽略可以提高分類準確性信號的缺點,同時在交互過程中允許專家標記與ECG測試最相關的樣本數(shù)據(jù)。為了選擇最相關的ECG信號,采用基于熵的信號選擇標準:計算每個測試信號的熵值,然后標記具有最高熵值的信號sme(高熵值意味著可以使用較低可信度對ECG 進行分類),通過將這些ECG信號添加至訓練集合來進一步改善特征空間中分類器的決策區(qū)域。
為了避免由訓練數(shù)據(jù)集中的不確定數(shù)據(jù)引起的過擬合問題,選用基于進化計算中的優(yōu)勝劣汰原則來融合當前迭代和先前迭代中DNN的輸出值,可以保證網(wǎng)絡的穩(wěn)定性。具體的方法如下所示:
(1) 設置輸入數(shù)據(jù):訓練數(shù)據(jù)集S,測試數(shù)據(jù)集C,DNN參數(shù)γ1、γ2、γ3,迭代次數(shù)a,每次迭代標記的ECG信號數(shù)量sme;
(2) 最優(yōu)化式(3),使用擬牛頓方法計算DAE權重δ;
(3) 利用δ初始化DNN,通過最小化式(6),使用反向傳播計算σ;
(4) 使用預訓練的DNN分類測試記錄,假設P1為估計的后驗概率;
(5) 假設初始化的訓練集合為空集T=?;
(6) fori=1:a
① 使用P1計算每個測試數(shù)據(jù)的熵;
② 根據(jù)不確定性排序測試C;
③ 專家標記位于序列頂端的sme個信號;
④ 使用新標記的信號擴展訓練數(shù)據(jù)集;
⑤T=[T|Ss_me];
⑥ 使用T更新DNN權重;
⑦ 使用更新的DNN分類測試記錄C;
⑧ 假設P2是當前估計的后驗概率,使用最大規(guī)則更新P2:P2=max(P1,P2);
⑨ 假設P1=P2,根據(jù)最大P1選擇測試數(shù)據(jù)C的標簽;
(7) end
(8) 輸出最終分類結果
分類時,首先使用100 ms寬中值濾波器對所有ECG信號進行預處理,濾除去除P波和QRS復合波;其次,使用400 ms寬中值濾波器去除T波;再次,從原始信號中減去濾波后的信號,得到校正后的ECG信號;并使用截止頻率為20 Hz的低通濾波器濾除高頻噪聲;最后,利用剩下的數(shù)據(jù)集構架ECG信號初始訓練數(shù)據(jù)。此外,由于時間信息對識別非常重要,因此需要在數(shù)據(jù)集中添加相應的時間特征。
為了評估方法的性能,使用分類方法中的標準度量,包括靈敏度、總體準確率和陽性預測值,給出心室異常跳動結果。
為了驗證所提方法的有效性,采用三個典型ECG數(shù)據(jù)庫進行相關實驗,包括中國心血管疾病數(shù)據(jù)庫CCDD(Chinese cardiovascular disease database),美國心臟協(xié)會AHA(American Heart Association) 心律失常數(shù)據(jù)庫,歐盟心電圖通用標準CSE(Common Standards for Electrocardiography)數(shù)據(jù)庫,這三個數(shù)據(jù)庫的相關信息如表1、表2所示。此外,為了驗證所提方法的優(yōu)越性,在實驗中將本文方法與目前較新的兩種方法(文獻[13]、文獻[14])進行了對比分析。
表1 ECG數(shù)據(jù)庫
表2 訓練樣本與測試樣本數(shù)量
首先,以CCDD數(shù)據(jù)庫為例,利用SDA、回歸層和反向傳播微調(diào)構建DNN的初始化架構,相應的參數(shù)為:δ∈[-0.01, 0.01],ρ=0.1。圖4、圖5給出了CCDD數(shù)據(jù)集中每種配置得到的訓練結果,通過對比兩幅圖可以看出,與傳統(tǒng)的神經(jīng)網(wǎng)絡相比,提出的方法使用DNN主動分類能產(chǎn)生較好分類結果。這是因為DNN主動調(diào)節(jié)方法,在信號交互過程中允許專家標記與ECG測試最相關的樣本數(shù)據(jù),采用基于熵的信號選擇標準,計算每個測試信號的熵值,標記具有最高熵值的信號,能夠選擇出最相關的ECG信號,通過將這些ECG信號添加至訓練集合進一步改善了特征空間中分類器的決策區(qū)域??梢娀谶^完備描述方法的DNN具有更好的分類結果,過完備描述增加了神經(jīng)網(wǎng)絡的信息完整性,可以避免各類擾動度UI訓練結果的不利影響。
圖4 基于傳統(tǒng)神經(jīng)網(wǎng)絡的CCDD分類精度
圖5 基于深度神經(jīng)網(wǎng)絡的CCDD分類精度
在CCDD數(shù)據(jù)庫中對比了三種方法(本文方法,文獻[13],文獻[14])在ECG信號分類中的性能,如圖6至圖8所示。
圖6 數(shù)據(jù)庫CCDD中三種方法的靈明度對比
圖7 數(shù)據(jù)庫CCDD中三種方法的總體準確率對比
圖8 數(shù)據(jù)庫CCDD中三種方法的陽性預測值對比
由圖6至圖8可知,相比文獻[13-14]提出的方法,本文提出的方法具有更優(yōu)的性能。這是由于本文提出的方法網(wǎng)絡架構更為簡潔,通過特征學習來確定一種合適的深度架構模型,并增加了深度神經(jīng)網(wǎng)絡構建與微調(diào)操作,一定程度上提升方法的總體性能。
圖9所示為三種算法的模型訓練收斂速度對比實驗結果。由圖可知,在進行模型的離線訓練時,提出的方法可以在保證總體準確率最優(yōu)的情況下,大幅度降低模型訓練所需時間,可以加快參數(shù)的快速優(yōu)化與迭代訓練,即相比文獻[13]和文獻[14]方法,所提方法訓練時的收斂速度更快。分析可知,提出的方法在完成數(shù)據(jù)預訓練后,給出一種計算量較小的、包含H個隱含層的深度神經(jīng)網(wǎng)絡框架構建方法對DNN進行優(yōu)化,可以有效提升收斂速度。
圖9 數(shù)據(jù)庫CCDD中三種方法的模型訓練速度對比
表3給出了基于優(yōu)勝劣汰概率方法的分類結果,由該表可知,提出的方法能夠有效濾除不確定信號造成的不穩(wěn)定行為。
表3 數(shù)據(jù)庫CCDD分類結果 %
在AHA數(shù)據(jù)庫中對比了三種方法(本文方法,文獻[13],文獻[14])在ECG信號分類中的性能,如圖10至圖13所示。
圖10 數(shù)據(jù)庫AHA中三種方法的靈敏度對比
圖11 數(shù)據(jù)庫AHA中三種方法的總體準確率對比
圖12 數(shù)據(jù)庫AHA中三種方法的陽性預測值對比
圖13 數(shù)據(jù)庫AHA中三種方法的模型訓練速度對比
圖10至圖13分別給出了三種方法在AHA數(shù)據(jù)庫中的性能指標。由這些實驗截圖可知,與數(shù)據(jù)庫CCDD中的情況類似,與文獻[13-14]中的方法相比,提出的方法獲具有更好的分類性能,同時具備更好的動態(tài)特性。表4給出了分類結果的具體數(shù)值指標,由該表可知,提出的方法具有更高的性能指標,可以實現(xiàn)ECG信號的高精度分類。
表4 數(shù)據(jù)庫AHA分類結果 %
在CSE數(shù)據(jù)庫中對比了三種方法在ECG信號分類中的性能,如圖14至圖17所示。
圖14 數(shù)據(jù)庫CSE中三種方法的靈明度對比
圖15 數(shù)據(jù)庫CSE中三種方法的總體準確率對比
圖16 數(shù)據(jù)庫CSE中三種方法的陽性預測值對比
圖17 數(shù)據(jù)庫CSE中三種方法的模型訓練速度對比
圖14-圖17中的結果與數(shù)據(jù)庫CCDD、AHA中的情況類似,此處不做贅述。表5給出了分類結果的具體數(shù)值指標,所得結論不再贅述。
表5 數(shù)據(jù)庫CSE分類結果 %
最后,在包含多個隱藏層的神經(jīng)網(wǎng)絡上重復上述實驗,實驗中考慮H=3,4,5三種情況,每種情況對應的節(jié)點分別為{100,70,100}、{100,70,100,70}和{100,70,100,70,100},這些節(jié)點表示了稀疏和密集之間的交替變換。圖18-圖20給出了提出的方法在三種數(shù)據(jù)庫上獲取的實驗結果(實驗只針對所提方法,由于實驗結果與結論類似,因此不再贅述文獻[13]、[14]中的方法)。從圖中可以看出,基于一個和兩個隱藏層的DNN獲取的分類準確率較高。但是,隨著隱藏層數(shù)量的增加到3層或者4層、5層,分類準確率降低較為明顯。提出的方法在使用較少訓練樣本時,分類準確性嚴重下降,由此可見,在利用所提方法進行ECG分類時,較少的訓練樣本不能夠有效更新復雜網(wǎng)絡。
圖18 數(shù)據(jù)庫CCDD中多隱含層分類結果
圖19 數(shù)據(jù)庫AHA中多隱含層分類結果
圖20 數(shù)據(jù)庫CSE中多隱含層分類結果
在基于神經(jīng)網(wǎng)絡技術的已有研究的啟發(fā)下,針對ECG信號分類,提出一種基于深度神經(jīng)網(wǎng)絡和疊加去噪自動編碼器的新方法。該方法不僅繼承了深度學習在特征分類中所具備的精度優(yōu)勢,而且充分發(fā)揮了帶有稀疏約束的疊加去噪自動編碼器在對原始數(shù)據(jù)進行特征學習的優(yōu)點。提出的方法為心電圖分類的后續(xù)研究提供了一定的借鑒意義,同時具備較好的實際應用價值。然而,提出的方法在使用較少訓練樣本時,分類準確性下降嚴重,較少訓練樣本不能夠有效更新復雜網(wǎng)絡。下一步將重點研究在復雜網(wǎng)絡環(huán)境下提高分類準確率,降低信號交互次數(shù),例如,研究其他更有效的深度框架,定義并聯(lián)合適用于深度框架的主動學習條件。