楊 坤 楊小童 陳月明
(安徽醫科大學生物醫學工程學院 合肥 230032)
心血管疾病是一種常見的慢性非傳染性疾病,根據國家心血管病中心組織編撰的《中國心血管病報告2018》[1]和美年大健康在2020年4月29日發布《健康中國·體檢大數據心血管健康報告》顯示,心血管疾病嚴重危害人們的身體健康,是導致國居民死亡的重要原因之一。心電圖(Electrocar?diogram,ECG)診斷是檢測心臟疾病最基礎、最常用的方法,而人工診斷的誤診率較高,同時面臨相應的醫療資源顯著不足的現狀。因此利用計算輔助系統實現對心電異常的智能診斷具有極其重要的實際意義和臨床價值。
針對上述問題,本文的主要貢獻在于:首先,針對數據集樣本分布不均勻問題,使用生成式對抗神經網絡擴充訓練的數據集;其次,為了減少采樣數據與數據存儲空間,使用壓縮感知理論對心電信號進行壓縮與重構,進一步降低了心電異常模型的復雜程度。
本文提出的研究框架如圖1所示,主要包括四個部分:預處理、壓縮與重構、數據增強、特征學習與分類。心電信號預處理的過程包括使用小波閾值對實際數據集中的心電信號數據去噪處理、心拍劃分以及訓練集和測試集的劃分;其次使用壓縮感知模型對數據進行壓縮并重構;利用生成對抗網絡WGAN的生成器生成數據集中樣本少的心電數據,解決數據集中樣本不平衡的問題,即對較少的樣本類別應用數據增強方法,得到最終的訓練集;最后利用經過訓練卷積神經網絡網絡模型對測試集進行分類。

圖1 心電異常識別模型框架
心電是通過放置在人體表面的電極來接收心臟搏動的電信號,經過導線或者其他設備送到終端顯示處理,在此過程中會受到來自各方面的噪音,如電力線干擾、基線漂移、電極運動偽影、儀器等干擾[14],這些干擾導致心電信號產生失真,甚至會產生和病變信號相似的波形,導致無法正確判斷。
本文使用應用廣泛的小波變換去除心電信號中的噪聲。Daubechies小波具有正則性,能夠使得重構后的心電信號更加光滑,且隨著小波分解層數的增大,心電信號在頻域的局部表現能力越強,頻帶劃分能力越強。因此本文選擇Daubechies8進行小波分解。軟閾值函數在連續性、穩定性優于硬閾值函數。在對心電信號分解后,使用軟閾值函數對各尺度系數分別進行處理,圖2展示了原始的心電信號,重構的心電信號和消除的噪聲成分。重構的心電信號消除了原始信號的高頻噪聲,并且保持心電信號的正常形態。

圖2 利用小波變換消除心電噪聲的過程
香農采樣定理[15]指出,信息系統最低以奈奎斯特率,即輸入信號最高頻率的兩倍進行采樣,可以無失真地重構出原始信號,此方法使用的采樣點仍然較多。自然界大多數信號都不是直接稀疏的,可以找到某個特定變換域Ψ,使得信號是稀疏或可壓縮的。而壓縮感知理論指出,以較低于奈奎斯特率的采樣速率實現寬帶信號的采集與重構,既達到了降噪的目的,同時又可以進一步減少采樣數據和數據存儲空間,能夠優化心電分類模型的復雜度。本文用壓縮感知方法對一維心電信號進行采樣和重構[16~17],主要步驟如下:
1)根據心拍的大小將原始一維心電信號X0轉化為N維心電矩陣X1。
2)利用M*N維稀疏二進制隨機觀測矩陣Φ(Φ每一列中1的個數相同且遠小于矩陣行數,1的位置隨機)對N維心電數據X1進行壓縮采樣,根據Y=ΦX1得到M維觀測值Y。
菲式春卷(Lumpia)還有芭露特煮鴨蛋(Balut)也自不用多說。其中,芭露特煮鴨蛋在菲律賓的必食清單中更是名列前茅,甚至被譽為“黑暗料理”中的代表(就是即將孵化的鴨蛋),不過也有不少人對它敬而遠之,反倒是口味清淡的菲式春卷得到更多中國游客的支持。
3)通過重構算法,并利用觀測值Y、觀測矩陣Φ和Daubechies(db)小波基Ψ得到重構的稀疏系數^S。
4)利用重構的稀疏系數^S,通過^X1=Ψ^S,得到重構的信號^X1。5)重構的信號^X1轉化為一維信號^X0。6)比較重構信號^X0與X0的信噪比SNR。
深度學習技術的局限之一是需要大量的已標注的數據才能有足夠的精度。因此在訓練深度學習模型的過程中,數據集尤為重要。但是在實際分類問題中,數據集通常是有限的,并且由于對象不同而使得樣本數據分布并不平衡,從而導致模型無法取得理想的效果。通過某種方法擴充適當的樣本數量能夠有效緩解此現象。常見的數據集擴充的方法有插值法和外推法,但是此類方法所合成數據的種類受到給定數據密度的影響。而另一種方法是基于生成模型,即基于一個隨機數據生成新的數據。此種模型在假設的模型結構充分接近真實的數據分布時具有良好的性能。本文使用GAN[18]生成新的心電樣本,通過GAN方法生成樣本的方法如圖3所示,其訓練過程如下:

圖3 生成對抗神經網絡模型
1)初始化生成器G的參數θg和鑒別器D的參數θd。
2)生成器G接受隨機變量Z的輸入,經過生成器G后生成假樣本G(Z)。固定生成器G訓練鑒別器D盡可能準確區分真實樣本和生成樣本。
3)循環k次更新鑒別器D之后,使用較小的學習率來更新一次生成器G的參數,訓練生成器G使其盡可能可以減小生成樣本與真實樣本之間的差距,即盡量使得鑒別器D判別錯誤。
4)多次更新迭代之后,最終理想情況是使得鑒別器D判別不出樣本來自于生成器G的輸出還是真實的輸出,即鑒別器D每次輸出的概率值都是1/2。
由GAN訓練過程可知,在GAN框架中,生成器用于學習生成數據,鑒別器用于正確鑒別訓練數據和生成數據。模型最優的情況下,生成器逐漸可以生成與訓練數據相似但不相同的數據。
原始的GAN模型并不成熟,存在梯度消失和模式崩潰問題,而這個問題的出現原因是使用JS距離衡量兩個分布。WGAN[19]使用Wasserstein距離代替JS距離對真實樣本和生成樣本之間的距離進行度量。計算方法如式(1)所示。相比較JS散度,Wasserstein距離的優越性在于即便兩個分布沒有重疊,Wasserstein距離仍然能夠反映它們的遠近關系。

由美國麻省理工學院提供的MIT-BIH[20]心律失常數據庫包括47個受試者的4000多個24h的周期性動態心電數據,有48個時長約為30min的記錄文件,采樣頻率360Hz,共計109500個心拍,且有權威專家對其進行了詳細的注釋和標記,在對心律失常分類和臨床研究中應用最為廣泛。本文使用標準的MIT-BIH數據庫的心電數據,并通過與權威專家提供的注釋進行比較來分析和評估實驗取得的結果。
依據美國醫療儀器促進協會對心電信號的分類標準,可將心電分為正常(N)、室上性心律異常(S)、室性心律異常(V)、融合心跳(F)、未確定(Q)五類。表1顯示Q類僅有15個樣本,因此舍棄Q類,本文只研究N、S、V、F四類心拍,四類心拍的樣本分布如表1所示。

表1 心拍異常數據集樣本數量分布
為了心拍劃分的準確性,且本文研究的重心不是R波檢測,故本文直接使用MIT-BIH數據庫提供的“.atr”文件中標注的心電圖R尖峰的位置,提取R尖峰的前99個數據點、R尖峰后200個數據點,共計300個采樣點構成一個完整的心拍樣本。將表1的數據劃為訓練集與測試集情況,真實標簽使用one-hot編碼,結果如表2所示。同時,為了充分評估模型的性能,采用5折交叉驗證的訓練模型并統計實驗結果。

表2 訓練集和測試集劃分
實驗平臺為處理器型號為Intel(R)Core i5-10400F CPU,64位Windows操作系統,16G運行內存的臺式電腦,配有Matlab R2014a,Python3.8等軟件,整個實驗過程中未使用GPU加速。
本文使用三個性能評價指標衡量模型訓練的結果,分別是精準率P、召回率R、F1值,計算方法如式(2)~(4)所示。TP表示真正例,FP為假正例,FN為假負例,在P、R、F1三個評價指標中,P、R、F1值越大,模型性能越好。

為了綜合評估本文提出的框架的有效性,使用同一個卷積神經網絡作為心電信號分類模型(Baseline)。該模型的設計思想借鑒了LeNet,心電信號經過卷積、池化、Softmax轉化后輸出一個四維概率分布。Baseline模型有若干卷積層、池化層以及其他操作組成,詳細結構參數描述如表3所示。其中,CNN結構中卷積層過濾器的尺寸5*5,步長為1,使用全0填充;池化層過濾器的尺寸3*3,步長為2,同樣使用全0填充。網絡中包含了最大池化層和平均池化層;優化器為Adam優化器,學習效率0.0001,激活函數為Relu。為了防止隨著訓練的過程中出現過擬合的問題,因此Baseline加入正則化處理,同時添加Dropout層,設置Dropout的丟棄率為0.5,以此提高模型泛化能力。

表3 心電異常基線模型參數
使用設計的Baseline模型進行訓練和測試,迭代次數設置為500,訓練集和驗證集的Accuracy和Loss的變化如圖4和圖5所示。在Baseline訓練過程中,Loss呈下降趨勢并逐步趨向穩定,當迭代次數為300時開始收斂。Baseline模型的實驗結果如表4所示,S,V,F三個類別的準確率明顯低于N,而N的P,R,F1指標均接近于1,遠遠高于S,V,F。由于S,V,F的訓練樣本遠遠少于N,導致分類效果不甚理想。

表4 baseline模型實驗結果

圖4 迭代過程中準確率變化

圖5 迭代過程中損失值變化
由表1和表2可得,S、F相比較其他兩種的心電數據在數據量上較少,存在嚴重的樣本分布不均勻的問題,可以通過數據增強的方法解決。本文使用WGAN的來實現數據增強。WGAN模型中產生器網絡和鑒別器網絡都有6層。生成器由8個帶有LeakyReLU激活的卷積層和最后一個帶有tanh激活的卷積層組成。鑒別器包括7個帶有LeakyRe?LU激活的卷積層和一個完全連接的Softmax。生成器和鑒別器的優化器均使用Adam,學習率為0.0001。此外,鑒別器加入Dropout層來避免過擬合,設置Dropout的丟棄率為0.5,S和F使用不同的對抗神經網絡模型生成,具體參數如表5和6所示。

表5 生成器模型參數
S,F的樣本應用對抗神經網絡數據增強后,心電數據樣本分布如表7所示。S、F的訓練集樣本數量均增加了2000,將表7的數據集送入Baseline模型中訓練,實驗結果如表8所示。由表8可知,當使用GANs對N、S、F、V數據增強后,心拍異常分類平均F1值有98.64,與不使用數據增強的F1值增加10.75,且對于原來數據量較少的S、V、F三類的F1值分別增加了29.91%、2.69%、14.71%。由此可證明WGAN數據增強方法對解決心拍異常分類過程中樣本分布不平衡的有效性。

表6 鑒別器模型參數

表7 數據增強后的數據集

表8 WGAN模型實驗結果
為驗證壓縮感知模型對心拍分類模型簡化的有效性。不同的壓縮率、小波基的選擇和重構算法均會對重構誤差產生影響。本文著重討論了不同的重構算法對心拍分類的影響。將對壓縮感知模型加入到WGAN-NN框架中。實驗時,分別使用IHT、CoSMP、SP、OMP四種不同的重構算法,設計IHT_WGAN_CNN、CoSMP_WGAN_CNN、SP_WGAN_CNN、OMP_WGAN_CNN四組對比實驗。
1)壓縮感知評價標準
信噪比SNR用以衡量ECG信號的重構誤差,SNR越大,重構誤差越小,信噪比計算如式(5)所示。其中X為ECG原始信號,^X為重構后的信號。壓縮率CR用以衡量ECG的壓縮度,CR越大,信號壓縮率越高,CR計算如式(6),其中,M為觀測矩陣壓縮后的ECG信號長度。百分比均方根誤差PRD用于評價重構信號質量,PRD<9%的重構信號可用于醫學診斷。PRD計算如式(7)所示,其中L為重建后的信號。

2)重構算法選擇
設置壓縮比率CR為30%進行實驗時,IHT、CoSMP、SP、OMP四種重構算法的SNR和PRD如表9所示。由表9可知,四種重構算法PRD<9%,因此重新構的心電信號重構信號可用于醫學診斷,且OMP的效果最好。IHT_WGAN_CNN、CoSMP_WGAN_CNN、SP_WGAN_CNN、OMP_WGAN_CNN對N、S、V、F的訓練結果如表10所示。將心電數據壓縮至30%后的心電數據使用Baseline訓練后,可訓練的參數數量為114188,相較于壓縮前可訓練參數量降低了了28.30%。

表9 四種重構算法SNR和PRD值

表10 模型優化分類結果
IHT、CoSMP的重構效果最差,F1的值均比壓縮前小,而SP和OMP與壓縮前效果相近。因此本文提出的方法能以較低的時間復雜度重構心電信號,且在保證重構質量的同時,降低了模型的復雜程度,提高系統的運行速度。
本文針對心電異常事件的分類建模過程中存在數據分布不平衡的問題進行了深入研究,提出了使用GANs進行數據增強。實驗結果表明,應用GANs數據增強方法后,心電異常分類的F1值有了明顯的提升。除此之外,本文引入了壓縮感知模型對心電信號的數據進行壓縮,在不影響分類準確性的情況下,進一步降低模型的復雜度,提升了運行效率。然而本實驗僅僅是對四類心電異常進行分類識別,且僅是對單標簽進行分類。在后續的研究中,將進一步應用本文提出的算法框架研究多標簽心電[21~22]異常識別問題并降低心電自動診斷模型復雜程度。