蔣思清,陳瀟俊,高豪俊,何佳晉,吳 健,
(1.浙江大學公共衛(wèi)生學院,浙江 杭州 310058;2.浙江大學睿醫(yī)人工智能研究中心,浙江 杭州 310000)
在臨床上,心血管疾病常伴有心律失常癥狀,嚴重的心律失常可能會導致猝死或心力衰竭的發(fā)生,因此,及時、準確地檢測心律失常是十分必要的[1]。心電圖提供了豐富的心臟健康和病理信息,是診斷心臟疾病的重要方法[2]。心律失常情況通常要由醫(yī)生給出診斷,但在臨床實踐中,受到醫(yī)生經(jīng)驗的差異性和嚴重的心電噪聲影響,往往會出現(xiàn)誤診和漏診[3]的情況,因此需要找到一種識別帶有噪聲的心電信號,即可實現(xiàn)對心律失常類別進行準確判斷的方法,進而幫助醫(yī)生更精準地發(fā)現(xiàn)心律失常事件。此外,在人工智能技術(shù)迅速發(fā)展的背景下,目前計算機輔助心電圖分析的方法[4]越來越受到大家的關(guān)注,成為了心電圖領(lǐng)域的研究熱點之一,其中高精度的心電圖自動診斷在心血管疾病的預防和輔助診療中起到了關(guān)鍵作用,具有良好的實踐前景和重要的醫(yī)學價值。
目前,臨床心電圖在計算機領(lǐng)域的分類方法包括2 個大類,即基于信號處理技術(shù)的方法和基于深度學習的方法[5]。第一類信號處理方法包括小波特征、高階統(tǒng)計量、功率譜特征等通過提取特征向量的方式針對波形的振幅和頻率進行分析[6-11]。例如Martis等[12]對正常、心房顫動和心房撲動心電圖信號進行了獨立成分分析(Independent Component Correlation Algorithm,ICA),其分類效果顯著高于K 鄰近分類 器;Acharya 等[13]提 出 了 一 種 計 算 機 輔 助 診 斷(Computer Aided Diagnosis,CAD)方法,他們從心電信號中提取了熵特征并通過決策樹對14 個重要特征進行分類;Ye等[14]采用形態(tài)學和動態(tài)特征方法,檢測準確率達到86.4%。雖然上述傳統(tǒng)的分類方法取得了良好的結(jié)果,但從心電信號中提取關(guān)鍵特征并構(gòu)建心電特異性特征向量的過程復雜且耗時,其次,分類效果與特征的選擇高度相關(guān),特征的選擇容易受到主觀因素的影響,加上過擬合問題[15]的出現(xiàn),在實際應(yīng)用中具有一定的局限性,難以達到預期的診斷精度。相比之下,第二類深度學習方法比傳統(tǒng)方法更具優(yōu)勢。它們可以優(yōu)化心電信號特征提取的過程,取得更好的分類性能和泛化能力。Yildirim 等[16]采用長短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)對心電進行識別和分類;Chu等[17]首先提出了一種針對多導聯(lián)心電信號的二維卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)來提取交叉導聯(lián)心電圖特征,將CNN 和LSTM 提取的特征與傳統(tǒng)特征相結(jié)合,采用二值粒子群優(yōu)化算法(Discrete Binary Particle Swarm Optimization Algorithm,BPSO)對特征進行區(qū)分和選擇,最后選擇加權(quán)支持向量機作為分類器時效果表現(xiàn)良好;Sellami 等[18]采用Resnet 對心電信號進行自動分類,并提出了批量加權(quán)損失來處理數(shù)據(jù)不平衡的問題,每個輸入數(shù)據(jù)包含2 個心拍以便更好地學習特征,總體分類準確率達到89%。
隨著可穿戴技術(shù)的發(fā)展,心電數(shù)據(jù)的采集更加方便、高效[19],但由于數(shù)據(jù)標注的成本較高,許多普通醫(yī)院無法支持相應(yīng)設(shè)施,導致許多標注不完整,無法獲得足夠的優(yōu)質(zhì)訓練數(shù)據(jù)。心電圖數(shù)據(jù)的分布由于個體差異以及數(shù)據(jù)采集來源和方法不同也存在差異,而遷移學習中的領(lǐng)域自適應(yīng)方法在處理標記較少的數(shù)據(jù)及其分布差異方面具有優(yōu)勢,因此可以將遷移學習[20]引入心電信號分類任務(wù)中。本文重點研究基于遷移學習的自動分類技術(shù),采用大量標記樣本作為源域數(shù)據(jù),少量未標記樣本作為目標域數(shù)據(jù),利用域適應(yīng)提高域間遷移能力,多尺度特征提取器則有助于更好地學習信號的復雜特征,提高模型分類性能?;趯褂蜻m應(yīng)來解決標記不完整和個體變異問題,并對8 類常見的心律失常進行智能分類的方法應(yīng)用于臨床心電領(lǐng)域的相關(guān)研究在國內(nèi)外鮮有報導。
本文的3個主要工作如下:
1)提出一種基于對抗域自適應(yīng)學習的心電信號分類方法,解決標記訓練樣本不足的問題,改善個體差異導致的數(shù)據(jù)分布差異的現(xiàn)象。
2)對該方法的A、B、C這3大模塊各組成部分分別進行優(yōu)化,進而實現(xiàn)對臨床上8種常見的心律失常類別的精準分類,為心電圖臨床決策和輔助診斷提供依據(jù)。
3)提出4 個關(guān)鍵的時間特征,并將其與深度學習特征進行串聯(lián),增加特征的豐富性。
心電信號分類任務(wù)流程如圖1 所示。首先對心電記錄中的信號進行預處理,生成輸入數(shù)據(jù),然后將其傳遞到對抗域自適應(yīng)模型中進行訓練,將自動提取的模型特征與人工提取的時間特征進行融合并輸入到分類器中,得到最終的分類結(jié)果。
圖1 心電信號分類任務(wù)流程圖
在本文中使用的數(shù)據(jù)集和注釋來自麻省理工學院MIT-BIH 心律失常數(shù)據(jù)庫。該數(shù)據(jù)庫共48 條0.5 h(導聯(lián)數(shù)為2)的心電信號記錄,每組信號以360 Hz來進行采樣,單位電壓5 μV[21]。其中未明確分類搏動的研究意義相對較少,不能作為判斷分類結(jié)果的依據(jù),所以在心電研究中將其剔除。
根據(jù)MIT-BIH 心律失常數(shù)據(jù)庫提供的注釋,較主要篩選出8 種臨床心率失常類別,分別是正常竇性心律NOR(Normal Sinus Rhythm)、左束支傳導阻滯LBBB(Left Bundle Branch Block)、右束支傳導阻滯RBBB(Right Bundle Branch Block)、房性早搏APB(Atrial Premature Beat)、室性早搏PVC(Premature Ventricular Contraction)、步 速 跳 動PAB(Paced Beat)、室性逃逸跳動VEB(Ventricular Escape Beat)、心室顫振VFW(Ventricular Flutter Wave)。各類別記錄情況和對應(yīng)的心拍數(shù)如表1所示。
表1 MIT-BIH心律失常數(shù)據(jù)庫的心電圖信號描述摘要表
將MIT-BIH 心律失常數(shù)據(jù)庫中的48個記錄進一步分為數(shù)據(jù)集I 和數(shù)據(jù)集Ⅱ這2 組數(shù)據(jù)集,其中數(shù)據(jù)集I 包含的心電圖記錄編號分別為101、102、104、106、108、109、112、114、115、116、118、119、122、124、201、203、205、207、108、109、215、220、223、230;數(shù)據(jù)集Ⅱ中包含的心電圖記錄編號分別為100、103、105、107、111、113、117、121、123、200、202、210、212、213、214、217、219、221、222、228、231、232、233 和234。本實驗中,2 組數(shù)據(jù)集樣本在各類心律失常標簽數(shù)的具體分布情況如表2所示。
表2 MIT-BIH數(shù)據(jù)庫的心律失常各類標簽數(shù)目分布情況
原始數(shù)據(jù)在傳遞到模型進行訓練之前需要進行預處理,如圖2 所示。根據(jù)數(shù)據(jù)庫中已有的R 波峰值標記對每個心電信號進行定位。由于不同個體相鄰R 峰之間的平均間隔不同,使用固定數(shù)量的數(shù)據(jù)點分割心跳的方法會錯過心跳的一些重要信號特征,因此,本文采用下面提出的心拍分割的方法來解決這個問題:
圖2 數(shù)據(jù)預處理過程圖
1)基線漂移處理。對含有波形突變的心電基線漂移信號進行平滑處理,并從原始記錄數(shù)據(jù)中消去平滑信號,以消除基線漂移噪聲BW(Baseline Wander Noise)。
2)工頻、肌電去噪。采用截止頻率為(0.5,40)Hz的帶通濾波器和以db5 為基函數(shù)的離散小波變換DWT(Discrete Wavelet Transform),以消除信號電極偽影噪聲EMG(Electromyography Artifact Noise)、肌肉偽影噪聲MA(Muscle Artifact Noise)。
3)心拍分割。首先,讀取心跳標簽中提供的各心電波R 峰位置。假設(shè)Ri為第i個心跳R 峰值的位置。定義<N>表示將N四舍五入到整數(shù),心跳的起始位置
4)心拍格式標準化。每次心跳的采樣點Hi個數(shù)不同。進入深度學習模型的前提是心拍長度必須一致。假設(shè)統(tǒng)一后的采樣點數(shù)為D(本實驗中D為400),如果Hi小于D,則填0 到D,如果是Hi大于D,則裁剪至D[22],最終處理后的心跳為Hf,將對齊后的心跳H,用公式(其中,μ表示所有心跳(心拍)的均數(shù)圖,σ表示標準差意為所有心拍的離散程度)進行標準化,以消除信號中的偏移和幅度縮放問題。
5)時間特征提取。人工提取當前心跳的前RR間隔、后RR間隔、局部10 s的RR間隔和平均RR等4個時間特征,并利用公式(其中,max(PRR)表示前RR 間隔,min(PRR)表示后RR 間隔,PRR表示局部10 s 的RR 間隔,平均RR 用PRR表示)生成歸一化前后的RR時間特征。
6)數(shù)據(jù)增強。使用SMOTE 算法[23]生成來克服不同類別樣本數(shù)量不平衡的問題。
假設(shè)模型適用于輸入樣本,樣本標注可表示為y∈Y,并進一步假設(shè)存在分布S(x,y)和T(x,y),分別表示源域和目標域的分布,假設(shè)這2 種分布相似但不同,目標是從目標分布的輸入x來預測標簽y。訓練過程采用源域分布和少量的目標域進行,表示為{X1,X2,X3,…,XN},定義di為第i條數(shù)據(jù)樣本的域標簽,確定Xi是來自源域還是目標域,di=0表示來自源域;di=1表示來自目標域。所提出的對抗域自適應(yīng)模型實現(xiàn)原則如下:定義一種改進的對抗域自適應(yīng)模型,預測每個輸入x對應(yīng)的標簽y∈Y及其域標簽d={0,1}。對抗域自適應(yīng)模型如圖3 所示。所構(gòu)建的對抗域自適應(yīng)模型包括3 個模塊:多尺度特征提取模塊A、域識別模塊B和分類模塊C。
圖3 對抗域自適應(yīng)模型
2.1.1 多尺度特征提取模塊A
為了獲得足夠的特征,對A模塊進行了改進,將原來由一組卷積塊組成的單一特征提取結(jié)構(gòu)擴展為由2組具有不同卷積核的并行卷積塊組成的多個特征提取結(jié)構(gòu)。,將1.2節(jié)產(chǎn)生的輸入數(shù)據(jù)Hf代入模型,提取2組不同的特征,并將其串聯(lián)為特征f,即具體的結(jié)構(gòu)如圖4 所示,其中k表示卷積核的大小。表3 總結(jié)了多尺度特征提取模塊A 體系結(jié)構(gòu)和每一層的輸出情況,其中為防止模型過擬合,采用Dropout函數(shù)來消除減弱神經(jīng)元節(jié)點間的聯(lián)合適應(yīng)性,增強泛化能力,ReLU表示激活函數(shù),Maxpool表示池化層。
圖4 多尺度特征提取模塊A
表3 模塊A體系結(jié)構(gòu)
2.1.2 對抗域自適應(yīng)模塊B
針對原始模型層數(shù)少、特征提取少的問題,對B識別模塊進行優(yōu)化,將原始的2 個全連接層擴展為3個卷積塊和一個全連接層。具體的結(jié)構(gòu)如圖5所示。將A模塊提取的特征從源域和目標域數(shù)據(jù)中轉(zhuǎn)移到域識別模塊B中,可以對提取的特征源d∈[0,1]進行識別,B模塊的體系結(jié)構(gòu)和每一層的輸出情況如表4所示,其中Batch Norm表示批量歸一化層,用于加快原始模型的收斂速度,同時解決梯度爆炸和梯度消失的問題。
表4 模塊B體系結(jié)構(gòu)
圖5 對抗域模塊B
2.1.3 分類器模塊C
為了提高特性的維度和豐富性,對模塊C進行了優(yōu)化。輸入Softmax 層之前,將從全連接層特征提取的源域數(shù)據(jù)與1.2 節(jié)中4 次提取的時間特征進行拼接作為最終特征分類器的輸入,讓時間特征和深度學習提取特征的功能更好地結(jié)合,豐富特征多樣性。具體的結(jié)構(gòu)如圖6 所示,表5 為分類器模塊C 的結(jié)構(gòu)體系和每一層具體輸出情況。
圖6 分類器模塊C
表5 模塊C體系結(jié)構(gòu)
A(·)和C(·)對應(yīng)的是特征提取器和分類器。在學習階段,目標是學習特征提取器A 和任務(wù)分類器C,以最小化預期的目標損耗,使源域的數(shù)據(jù)分布與目標域的數(shù)據(jù)分布保持一致,減少域之間的差異。其中,A、B、C這3個模塊對應(yīng)的網(wǎng)絡(luò)映射分別為Ga,Gb,Gc;引入聯(lián)合損失函數(shù)E(ω,ω,ω),如式(1)所示。
損失函數(shù)主要包括2個部分,即分類損失L(c·,·)和域區(qū)分損失L(b·,·)。Lic和Lib表示第i個訓練樣本中計算出的相應(yīng)損失函數(shù)。其中Lc選用的不是使用傳統(tǒng)的交叉熵損失,而是選擇Focal損失函數(shù),是因為Focal損失函數(shù)在交叉熵的基礎(chǔ)上增加一個動態(tài)縮放因子[24],以解決類別分類不平衡以及困難的樣本難以訓練的問題,自動降低簡單樣本的損失權(quán)重,幫助模型集中于訓練更加困難的樣本,其公式為:
其中,αx為x樣本中該類別的權(quán)重參數(shù),(1-Px)γ為自由縮放因子,其中γ為可調(diào)節(jié)參數(shù),用于進一步調(diào)節(jié)縮放因子,公式部分的-log(Px)項為傳統(tǒng)交叉熵損失函數(shù),其中Px定義為:
其中y表示x樣本中的類別標簽,P∈[0,1]表示模型輸出y=1類別的概率。
ωa、ωb、ωc分別為多尺度特征提取模塊、域識別模塊和分類模塊的參數(shù)。λ表示2個學習目標之間的權(quán)重,di=0 表示第i個樣本為源域樣本。訓練過程如式(4)、式(5)所示。
具體訓練步驟如下:
步驟1 保持域識別模塊ωb的參數(shù)不變,并通過式(4)計算,最大限度地減少域識別模塊的損失,更新多尺度特征提取模塊ωa的參數(shù),得到域不變特征。這樣可以充分獲得不變特征,從而可以同時對源域數(shù)據(jù)和目標域數(shù)據(jù)進行匯總。最小化分類模塊的損失,更新分類模塊的參數(shù)ωc以獲得一個能夠準確預測標簽的分類器。^ωa,^ωb,^ωc分別為鞍點ωa,ωb,ωc的參數(shù)值。
步驟2 修正參數(shù)ωa和ωc,并保持它們不變。利用公式(5)最小化域識別模塊的損失,更新域識別模塊ωb的參數(shù),得到一個能夠區(qū)分特征源的強鑒別器。
步驟3 重復步驟1 的操作,固定域識別模塊的參數(shù)ωb不變,通過式(4)訓練多尺度特征提取模塊A和分類器模塊C,利用該訓練過程,交替更新參數(shù)。
步驟4 最終網(wǎng)絡(luò)保持了動態(tài)平衡,達到預定的迭代次數(shù)后,得到最優(yōu)值,并保存最優(yōu)模型。將新的心拍樣本輸入到保存的最優(yōu)模型中,得到最終的分類結(jié)果。
訓練過程如圖7所示。
圖7 對抗域自適應(yīng)模型的訓練過程
為全面評估本研究方法心律失常分類的結(jié)果,將混淆矩陣用于評估心拍分類結(jié)果,多類分類區(qū)別于二分類任務(wù),其TP 表示被正確檢測到的心跳數(shù),TN 表示未被正確檢測到的心跳數(shù),F(xiàn)P 包含被歸為該類別的其他類別的心跳數(shù),F(xiàn)N 包含這個類別被分類為其他類別的心跳次數(shù)。研究包括3 個評價指標:準確性Acc(accuracy)、敏感性Sen(sensitivity)和陽性預測值PPV(positive predictive value),指標定義為:
根據(jù)1.1 節(jié)所述的數(shù)據(jù)劃分情況,將數(shù)據(jù)集I 中所有的心跳樣本定義為源域數(shù)據(jù),將數(shù)據(jù)集Ⅱ中每條記錄前5 min 的心跳樣本定義為目標域數(shù)據(jù),訓練數(shù)據(jù)包括源域數(shù)據(jù)及其標簽和目標域數(shù)據(jù),測試數(shù)據(jù)為整個數(shù)據(jù)集Ⅱ。訓練完成后保存最優(yōu)模型,整個模型使用隨機梯度下降優(yōu)化器進行訓練,初始參數(shù)為默認參數(shù),為防止訓練集特征學得過快而丟失重要特征的學習,初始學習率設(shè)置為0.005,并設(shè)置學習率衰減因子lr_decay 為0.95,Dropout 均設(shè)置為0.3 以防止過擬合,設(shè)置為0.25 來平衡2 個分類器參數(shù)更新的權(quán)重,一輪訓練的批次數(shù)batch_size 設(shè)置為64,最大迭代輪數(shù)Epochs 設(shè)置為256 輪,并設(shè)定10 輪不出現(xiàn)損失下降則訓練停止的機制,網(wǎng)絡(luò)通過Pytorch 高級神經(jīng)網(wǎng)絡(luò)應(yīng)用編程接口(API)實現(xiàn)。
3.3.1 訓練情況
本文算法的訓練結(jié)果如圖8 所示,為模型訓練和測試過程中Loss曲線和精度曲線的變化情況。從圖8(a)中可以看出,測試集和訓練集Loss 損失函數(shù)曲線趨勢相似,雖出現(xiàn)波動但總體穩(wěn)定下降。圖8(b)訓練集和測試集的精度逐漸向預期方向提高,測試集的精度沒有急劇或大幅度下降,說明不存在過擬合情況。
圖8 模型訓練過程
3.3.2 預測效果
本文算法的測試集預測情況(數(shù)據(jù)集Ⅱ)如表6混淆矩陣所示,不同種類心拍的具體評價指標見表7。本文模型在測試集樣本中的總體準確率、靈敏度、陽性預測值分別為98.8%、97.9%、98.1%,其中心室震顫的準確率在各類型中最高,達到99.8%,步速跳動標簽在靈敏度指標中達到最高值99.4%,正常竇性心律標簽在陽性預測值中達到最好效果99.6%。該研究發(fā)現(xiàn)心拍數(shù)據(jù)量少于1000 例的類別如室性逃逸和心室顫振,即使使用數(shù)據(jù)增廣的方法,也無法避免對該類別因訓練不足導致陽性預測值較低的結(jié)果。對于室性逃逸類陽性預測值偏低的心拍類型,需要在后續(xù)研究中進一步提取有效、重要的心電特征來提升陽性預測值。
表6 預測結(jié)果與真實結(jié)果的混淆矩陣
表7 測試效果指標評估
3.3.3 實驗?zāi)P捅容^
為了驗證多尺度特征提取器和添加時間特征對實驗結(jié)果的影響,采用以下3個模型進行對比實驗:
1)模型X。采用3個卷積層、3個池化層和2個完全連接層來構(gòu)建,卷積層的核大小均設(shè)置為3,不采用多尺度和4 個時間特征等提取特征的方法,實現(xiàn)心律失常8分類。
2)模型X+Time4。將1.2 節(jié)提出的4 個時間特征添加到模型A的最后一層全連接層中,將拼接后的整體特征輸入Softmax分類器進行分類。
3)本文提出的模型(模塊A+B+C)。在實驗過程中,采用2 組并行的多尺度和4 個時間特征等提取特征的方法。
以上3 個模型均使用相同的輸入數(shù)據(jù),分類結(jié)果對比如表8所示。
從表8 中可以看出,第一組是采用單尺度提取特征的模型,而第二組增加了時間特征,時間特征是根據(jù)專業(yè)知識手工獲取的,類似于向分類器中添加專家知識,豐富特征信息,并且提升了特征的可解釋性,因此有效地提高了分類的準確性。
對比均添加時間特征信息的第二組單尺度模型和第三組多尺度模型,可以看出多尺度特征提取模塊可以有效提高分類精度。這是因為復雜的網(wǎng)絡(luò)結(jié)構(gòu)可以更全面地提取信號的整體特征,而不是局部特征,也可以更詳細地提取部分容易被忽視的特征。由表8可知,第三組訓練結(jié)果的總體準確率為98.8%,高于前2 組,并且第三組的8 種心律失常類別的陽性預測值和靈敏度均顯著高于第二組。綜上所述,本文提出的多尺度對抗域自適應(yīng)模型的分類性能優(yōu)于其他2種模型。
表8 不同模型的效果比較/%
3.3.4 與其他研究方法對比
為了使模型的有效性和泛化能力得到驗證,將本文提出的模型與先前國內(nèi)外ECG 心電分類研究的不同方法進行對比。為了使研究具有可比性,故針對僅使用MIT-BIH 數(shù)據(jù)庫的研究進行比較,研究還需滿足心律失常標簽分為5~9類,且采用準確率、靈敏度、陽性預測值進行比較評估(若原研究中沒有上述指標,則通過研究提供的混淆矩陣計算獲得,具體計算方法參考3.1節(jié)評估方法部分為依據(jù)進行)。
表9列出了本文與國內(nèi)外研究的比較情況??梢钥闯?,在統(tǒng)一使用MIT-BIH國際標準心律失常數(shù)據(jù)庫下,本文提出的方法在準確性、靈敏度、陽性預測值等評估指標中效果均優(yōu)于表9中的其他方法。為了確保研究時間上具有可比性,表中與近5年的3篇研究文獻進行比較,研究表明本文對抗域適應(yīng)系統(tǒng)的識別性能(靈敏度和陽性預測值)高于其他方法,尤其是陽性預測值達到了98.1%,其正確識別并歸為某類陽性心律失常事件的能力遠高于其他方法,同時其具備較高的精度和敏感性,驗證了本模型具備較好的泛化能力。
表9 本文方法與其他方法比較
本文針對心電信號訓練數(shù)據(jù)標注較少、患者個體變異導致的數(shù)據(jù)分布差異以及特征提取單一等問題,提出了一種基于對抗域自適應(yīng)的多尺度心拍分類模型,該模型是對抗域自適應(yīng)理論應(yīng)用于心電圖信號識別分類領(lǐng)域的一次創(chuàng)新和實踐。研究分別對該方法的A、B 和C 這3 個模塊進行了優(yōu)化,實驗結(jié)果表明,采用對抗域自適應(yīng)學習方法有效地提升了模型的性能和訓練效果,并且在模塊A中設(shè)計多尺度特征提取器,在模塊C 中融合時間特征和振幅特征,可以提高提取的數(shù)據(jù)特征的豐富性和多樣性。最終在5.2萬條心電信號的測試集的心律失常8 分類任務(wù)中取得了98.8%的準確率、97.9%的靈敏度、陽性預測值為98.1%的效果,通過實驗驗證了改進的對抗域自適應(yīng)學習分類模型的有效性。
多尺度提取特征尺度數(shù)量的擴充和調(diào)優(yōu)、心拍分割信號點長度的選擇以及分類器與時間特征、生理信息特征的融合方式等都有待進一步研究,今后將不斷以既有思想和方法為基礎(chǔ),更好地利用對抗域自適應(yīng)模型的優(yōu)勢,來提高心電信號識別與分類任務(wù)的精度。