韓昕哲 尚莉伽 張宏坡 毛曉波 劉 超 王漢章 逯 鵬,5*
1(鄭州大學電氣工程學院 河南 鄭州 450001) 2(互聯網醫療與健康服務河南省協同創新中心 河南 鄭州 450001) 3(北京市東城區中小學衛生保健所 北京 100007) 4(數學工程與先進計算國家重點實驗室 河南 鄭州 450001) 5(中醫藥智能科學與工程技術研究中心 河南 鄭州 450001)
心電圖(Electrocardiogram,ECG)是進行心血管疾病診斷的重要工具。基于計算機輔助分析的ECG自動分類技術具有可靠的臨床應用價值[1]。傳統的ECG分類方法依賴手工選取特征[2]。深度學習利用大量心電數據訓練,自動學習特征,是當前實現ECG自動分類的主要技術途徑[3]。
訓練一個性能優異的深度學習模型需要大量標注的ECG數據和計算能力[4]。訓練出的神經網絡模型是對當前心電數據的擬合;若數據分布發生改變,必須根據任務調整模型,否則會出現分類準確率嚴重下降情況,即領域自適應問題[5]。研究表明,域適應問題是影響ECG分類模型大規模應用的關鍵之一[6]。Yao等[7]的研究發現基于美國心電數據集訓練的分類模型不適用于中國心電數據集。Kachuee等[8]通過微調網絡將心律不齊的分類模型應用于心肌梗塞的分類任務。Salem等[9]將DenseNet作為預訓練模型,把劃分后的每個心拍轉換為二維特征圖,通過使用大量二維特征圖微調DenseNet實現分類。上述文獻使用的微調方法需要目標數據有大量的標注,當目標數據缺少標注時則不再適用。
本文構建了一個域適應分類網絡。首先通過雙向門控循環單元(Bidirection Gated Recurrent Unit,BiGRU)分別從源數據和目標數據自動抽取特征,然后將其映射至再生希爾伯特空間內,最后利用源數據的標注來學習公共空間的特征表示,實現ECG分類的無監督域適應。
有標注的源心電數據表示為XS=[x1,x2,…,xM],心電類別空間CS=[C1,C2,…,CI],其中:M表示源數據的樣本總量;I表示類別數。無標注的目標心電數據XT=[x1,x2,…,xN],其中N表示目標數據的樣本總量。假設源數據和目標數據的類別空間相同,即CS與CT一樣,網絡模型的實現目標是使用源域的標注數據來解決目標域的分類任務。
門控循環單元(Gated Recurrent Unit,GRU)將長短期記憶網絡[10]的遺忘門、輸入門和輸出門簡化為更新門和重置門,保留LSTM功能的同時,減少了參數數量,從而大幅提升了訓練速度[11]。門控循環單元具體結構如圖1所示。更新門用于控制tn-1時刻的狀態信息對tn時刻狀態的影響程度,更新門的值越大說明tn-1時刻對tn時刻影響越大。重置門用于控制tn-1時刻的狀態信息的忽略程度,重置門的值越小說明忽略得越多。

圖1 GRU結構
更新門狀態zt和重置門狀態rt的計算方式為:
zt=σ(Wz·[ht-1,xt])
(1)
rt=σ(Wr·[ht-1,xt])
(2)
st=tanh(Ws·[rt×ht-1,xt])
(3)
ht=(1-zt)×ht-1+zt×st
(4)
式中:st表示t時刻的候選激活狀態;ht表示t時刻的激活狀態;xt表示t時刻的輸入;σ代表非線性函數;Wz、Wr、Ws分別表示相應的權重矩陣。
ECG在時間上有上下文關聯性[12],單向GRU網絡只能獲取輸入數據的上文信息,因此本文使用雙向門控循環單元網絡利用同一通道的上下文信息。模型結構如圖2所示。

圖2 BiGRU結構
可以看出,BiGRU是由兩層單向的GRU組成,當前的輸出由前向信息和反向信息共同決定。
本文提出的域適應網絡模型MMD-Net由1層BiGRU、1個適應層、2個全連接層和1個輸出層組成,模型整體結構如圖3所示。適應層在BiGRU和Dense1之間,作用是將BiGRU提取的ECG特征投影至公共空間,并使用MMD計算源域和目標域數據的特征距離。

圖3 模型總體結構
本文使用的域適應損失函數為兩部分,如式(5)所示。

(5)

(6)
式中:N為類別數;XL經過Softmax函數處理,轉化成對應屬于每個標簽的概率值,再計算交叉熵。
(7)
式中:φ()是非線性映射函數;H表示映射到的再生希爾伯特空間。
式(8)-式(11)為通過恒等變換并使用核函數計算MMD的過程。
首先將式(7)經過平方運算后展開,再開方的等價變換運算得到:
(8)

(9)
MMD-Net采用線性核函數和高斯核函數[14],分別是:
k1(x,x′)=xTx′
(10)
(11)
實驗使用的ECG數據集MIT-BIH心房顫動數據集(MIT-BIH Atrial Fibrillation Database,AFDB)[15]和中國心血管疾病數據庫(Chinese Cardiovascular Disease Database,CCDD)[16]。
AFDB包含23組二導聯數據,采樣率250 Hz,包含四種節律:291個心房顫動,14個心房撲動,12個房室交界性心律,288個其他心律。
CCDD是標準12導聯臨床數據集。數據集中存在記錄對應多個疾病字典碼的情況。本文使用的均為有且只有一個疾病字典碼的記錄,將篩選出的記錄降采樣為250 Hz,保證數據的一致性。
實驗中,把數據劃分為5 s的ECG片段,獲取的數據集情況如表1所示。實驗數據分為房顫和非房顫兩種類型,其中非房顫類型包含房撲、房室交界和其他。為保證二分類的數據平衡性,隨機從AFDB和CCDD分別抽取50 000和12 000個樣本,并按照8 ∶2的比例劃分訓練集與測試集。

表1 數據標簽及樣本數量
經過劃分的心電片段如圖4和圖5所示,可以看出,AFDB和CCDD的房顫數據之間存在明顯的形態學差異。

圖4 AFDB的房顫樣本
模型評估采用準確率Acc(Accuracy)、精確度P(Precision)、召回率R(Recall)和F1分數(F1Score)。計算公式分別為:
(12)
(13)
(14)
(15)
式中:TP(True Positive)表示將房顫類型數據預測為房顫的樣本數;TN(True Negative)表示將非房顫數據預測為非房顫的樣本數;FP(False Positive)表示將非房顫數據預測為房顫的樣本數;FN(False Negative)表示將房顫數據預測為非房顫的樣本數;Acc表示總體模型的整體分類準確率;R表示房顫被分對的比例,衡量了模型對房顫的識別能力;P表示被分為房顫的樣本中實際為房顫的比例;F1為P和R的調和平均。
2.3.1實驗結果
實驗過程中CCDD和AFDB交替作為源數據和目標數據,分別記作CCDD→AFDB和AFDB→CCDD。首先使用源數據訓練得到模型,即預訓練模型;然后使用目標數據測試集測試得到在預訓練模型上的表現,記作基準組;然后分別采用線性核和高斯核的MMD-Net域適應學習實驗,分別記作線性核組和高斯核組。實驗相關參數如表2所示。

表2 實驗參數設置
表3是CCDD→AFDB的實驗結果,圖6是模型準確率隨適應因子的變化情況。基準組分類準確率為0.628 4。相較于使用高斯核函數,MMD-Net在使用線性核函數時各項評價指標更高。適應因子λ=0.2測試準確率最高,F1分數提高5.21。使用高斯核函數時。圖6顯示在CCDD→AFDB實驗中,適應層采用線性核函數和高斯核函數平均準確率為75.98%和70.70%。

表3 CCDD→AFDB的實驗結果

圖6 CCDD→AFDB實驗中不同核函數的測試準確率
表4是AFDB→CCDD的實驗結果,圖7是模型的測試準確率隨適應因子λ的變化情況。本組實驗中,使用高斯核函數對模型的提升效果更好。圖7顯示適應層采用線性核函數和高斯核函數的平均準確率分別為56.26%和85.24%。

表4 AFDB→CCDD的實驗結果

圖7 AFDB→CCDD實驗中不同核函數的測試準確率
以上基于AFDB和CCDD的雙向域適應實驗結果表明,二者數據類別空間上一致,但在數學分布上存在差異。本文的MMD-Net通過域適應學習,平均準確率分別達到了73.34%和70.75%,其中適應因子取值在0.2~0.5內得到的準確率更高。這說明本文的模型可以通過最小化源域與目標域的差異,使得模型學習源域和目標域的共同表示,有效提高了模型在目標域的分類準確率。
2.3.2可視化分析
為更加直觀地顯示MMD-Net的分類性能,選取表4中的高斯核組對模型進行可視化展現[17],分別如圖8-圖10所示。房顫和非房顫樣本分別為帶有0和1的方塊。圖8顯示了AFDB測試集在其訓練集上訓練出來的模型的分類結果,表明預訓練模型對源數據具有很好的分類性能。圖9是預訓練模型在目標數據測試集上的表現,對目標數據無法準確劃分。圖10是MMD-Net分類的可視化結果,表明適應層的加入顯著改善了模型在目標數據的分類性能。

圖8 預訓練模型分類結果的可視化

圖9 預訓練模型在目標數據分類結果的可視化

圖10 MMD-Net在目標數據分類結果的可視化
針對心電信號分類中的域適應問題,本文提出基于MMD心電域適應學習的分類模型MMD-Net。將源數據和目標數據輸入BiGRU中學習特征,通過適應層將各自特征映射至公共的再生希爾伯特空間內,使用MMD度量特征空間內的分布差異,并利用源數據的標簽信息實現對目標數據的域適應學習。在CCDD和AFDB上的雙向域適應實驗結果表明,本文方法能有效提高目標域分類準確率,提升模型泛化性能。后續工作將考慮使用多核MMD進一步提升應用價值。