徐永紅 王金萍 馬佳越
(燕山大學電氣工程學院,河北 秦皇島 066004)
心血管疾病(cardiovascular disease,CVD)是全球發病率和死亡率最高的疾病之一。 美國國家健康與營養調查(The National Health and Nutrition Examination Survey,NHANES)2015-2018年數據顯示,20 歲成年人CVD(包括冠心病,心衰,中風和高血壓)的患病率總體為49.2%,且隨年齡增長而增加[1]。 心律失常作為心血管疾病中的一種重要疾病,具有隱蔽性和突發性,不僅能單獨發病,還能和其他疾病伴發。 心電圖(electrocardiogram,ECG)作為一種低成本、無創的測試方法廣泛應用于CVD 臨床治療,能夠檢測各種心血管疾病,如心肌梗死[2]和心律失常[3-4]。 通常心跳節拍由一個固定的PQRS-T 序列組成,臨床分析中通常結合單個心拍的形態(振幅、寬度和形狀)以及心拍間隔了解心臟狀況[5-6]。
研究過程中,樣本不均衡現象對于心律失常分類算法存在著不良影響,由于醫療數據的敏感性,使得數據的獲取和應用受到嚴格的控制和監管[7]。因此,生成不含有任何個人細節的合成數據成為目前形勢下的一種有效解決辦法。 Clifford 等[8]根據三維矢量心電圖公式,使用高斯核和為患者生成正常心臟偶極子,異常心拍被認為是對正常偶極子的擾動或新的偶極子軌跡。 利用一階馬爾科夫鏈實現正常和異常心拍之間的轉換。 Li 等[9]基于數據流圖生成心電信號,將P 波、QRS 波和T 波視為心電信號的一個片段,并對該片段進行時間序列處理,合成完整心拍。 心電信號的數據流圖模型可用于心電信號發生器的設計。 McLachlan 等[10]提出在不使用真實電子健康記錄的情況下生成接近真實的合成心電波形。 Mario 等[11]在Ryzhii 等[12]的基礎上在心率變異性(heart rate variability,HRV)頻譜中引入了呼吸性竇性心律失常和Mayer 波,生成了具有類HRV 譜的12 導聯心電信號,可擬合真實受試者的臨床心電圖。
近年來,深度學習的快速發展使其在語音識別[13]、圖像識別[14]、以及生物醫學領域得到了成功的應用[15-16]。 深度學習的發展促進了基于迭代訓練的仿真模型應用,合成數據可以單獨或與原始數據一起用于模型訓練和軟件測試。 Zhu 等[17]提出由雙向長短期記憶(bidirectional long-short-term memory, LSTM) 和卷積神經網絡(convolutional neural network, CNN)構成生成對抗網絡(generative adversarial network,GAN) 生成心電數據。 Hazra等[18]使用網格LSTM 為GAN 生成網絡,以CNN 作為GAN 模型的鑒別網絡。 利用該網絡對四種生物醫學信號(心電圖、腦電圖、肌電圖、光體積描記圖)進行了合成信號的實驗。 Ye 等[19]提出一種名為RPSeqGAN 的新型生成對抗架構,該架構使用依賴于序列生成對抗網絡( sequence generation adversarial network,SeqGAN)算法的訓練過程。 通過SeqGAN 算法實現策略梯度(policy gradient, PG)和蒙特卡羅(Monte carlo, MC)搜索,解決了訓練過程中的不穩定性和模型質量低的問題,然后生成不同模擬精度和不同周期的心電圖片段。 Golany等[20]通過引入心電信號數學模型[21]對GAN 進行優化,對MIT-BIH 數據集的單導聯進行數據擴增,得到了優秀的實驗結果。
深度學習的訓練過程是端到端的,輸入端到輸出端的黑盒操作忽略了生理機制。 因此,利用數學模型生成心電信號一直是研究熱點。 McSharry等[21]開創性地提出了一種基于3 個耦合常微分方程的兩階段動態模型來生成仿真心電信號。 首先,通過指定一個真實R-R 速圖的頻譜參數和時間參數(平均心率和標準偏差)產生一個內部時間序列;然后,構建了運動方程,在三維狀態空間中生成運動軌跡,并指定了每個心跳峰值的位置和高度。 P波、Q 波、R 波、S 波和T 波分別用該軌跡模型內的一組高斯方程表示,對5 個基波求和得到合成心電信號。 通過調整軌道的角速度,可以改變RR 間隔波形。 心電圖曲線代表了由與適當的動力系統相關的微分方程確定的軌跡。 通過考慮心率變異性,也可以產生長期的記錄。 Ayatollahi 等[22]將建立心電信號生成模型分為兩個步驟。 首先生成人工RR速圖,控制R 波的位置;然后是構建心電圖的實際形狀。 他們使用一個改進的塞曼模型來產生RR 速度圖信號,結合了交感神經和副交感神經活動的影響,以便在HRV 的功率譜中產生顯著的峰值。 使用改進的動態模型[21]構建單周期心電波形,建模出與心電圖形狀相關的心率異常。
基于上述背景,將數學模型與神經網絡結合,利用時序心臟模型生成仿真數據,解決心律失常分類樣本不平衡問題。 借鑒Golany 等[20]的方法對12導聯數據進行心電數據生成實驗,并將其作為所提方法的對比方案,證明方法的有效性。 且相較于處理單個心拍,處理的是包含更多特征的心電片段。
采用時序心臟模型對不均衡數據進行樣本生成,利用深度殘差網絡對擴增后的數據集進行單導聯信號分類,通過XGBoost 算法實現12 導聯融合進一步提升分類精度。 同時采用對抗神經網絡對數據集進行樣本生成,對比兩種方法的分類性能。 對第三方數據集進行獨立實驗驗證,證明本方法的通用性。
時序輸入輸出自動機(deterministic timed I/O automaton, TIOA)模型[23]可用于模擬從心房到心室的動作電位傳導過程,因此可以通過此模型模擬特定的心律失常類型。 模型中加入了起搏器模塊,可與心臟模型組成閉環用于起搏器驗證。 TIOA 心臟模型的結構如圖1 所示。 其中,實線表示心房發出脈沖,長虛線表示心室發出脈沖,短虛線代表起搏器發出脈沖。 下面分別對模型各組分及脈沖傳導方式加以介紹。

圖1 TIOA 心臟模型結構Fig.1 TIOA heart model structure diagram
心房及結間束結構。 心房結構接受3 種脈沖的激勵,分別是竇房結產生的正向脈沖、心室搏動產生的反向脈沖以及起搏器產生的起搏脈沖。 正向脈沖或反向脈沖到達心房,會產生抑制起搏器發出脈沖的信號。 當正向脈沖經過心房到達結間束,脈沖信號在此處產生延遲,延遲時間結束后,正向脈沖傳導至房室結。 在延遲時間內,若有反向脈沖到達結間束,則會發生正向脈沖與反向脈沖的融合,導致沒有脈沖向房室結或心房傳導。
房室結、房室結延遲及房室束的結構如圖2 所示。 房室結的動作電位變化包括緩慢去極化,快速去極化,不應期以及復極化。 緩慢去極化的時間決定不應期的初始時間,如式(1)所示。 在房室結去極化期間,若有正向脈沖或反向脈沖傳到房室結,都會延長房室結的不應期時間,如式(2)和式(3)所示。 公式中的變量含義如表1 所示。 當去極化結束后,會發出正向脈沖或反向脈沖至房室結延遲結構。 正向延遲時間結束后,脈沖傳導至房室束結構。 反向延遲結束后,脈沖傳導至結間束結構。 假設不應期期間只有一個脈沖到達房室結。


圖2 房室結電位變化示意Fig.2 Schematic diagram of AV junction potential change

表1 房室結組件中變量及其含義Tab.1 Variables in AV junction and their meanings

心室結構:心房發出的正向脈沖經過房室束的延遲,到達心室結構。 心室同樣可以接受3 種脈沖的激勵,來自心房的正向脈沖,心室搏動產生的反向脈沖以及起搏器產生的起搏脈沖。 兩次心室脈沖間隔被記錄為RR 間隔。 正反向脈沖信號均會抑制起搏器發出脈沖。 心室起搏產生的反向脈沖逆向傳導至房室束,實現上述反向脈沖動作電位。
起搏器結構:起搏器是模型的外接結構,可在特定設置下工作。 起搏器內設有心房和心室的脈沖檢測結構,以及用于調控心房和心室事件的脈沖生成結構。 起搏器工作時不斷檢測是否有心房或心室脈沖生成,當兩次脈沖超過心房和心室的設定時間間隔時,起搏器發出起搏脈沖至心房或心室,模擬治療心率過緩時植入心臟的脈沖發生器。
TIOA 模型模擬ECG 數據需要接收由真實心電數據計算得到的P-QRS-T 各特征波間隔參數,稱為顯參數,如表2 所示。 其中,RR 間隔作為竇房結脈沖間隔參數輸入到竇房結結構,竇房結發出脈沖至心房結構,輸出P 波產生位置。 PQ 間隔作為結間束延遲時間參數輸入到結間束結構,是脈沖在心房與房室結之間的延遲。 當脈沖到達房室結時,輸出Q 波產生位置。 脈沖在房室結內的傳遞由隱參數控制。 QR 間隔是房室結延遲結構和房室束結構的延遲時間參數。 當脈沖經過延遲到達心室結構時,輸出R 波產生位置。 之后經過RT 間隔的延遲,心室完成復極化,輸出T 波位置,完成一次心跳模擬。

表2 TIOA 模型脈沖傳遞參數Tab.2 TIOA model pulse transmission parameter
TIOA 模型對心臟內的不同生理結構建模,脈沖在心臟各模塊間傳遞、延遲,同時模塊發生狀態的轉換,對應人體心臟的收縮和舒張。 模型內設有多個參數,由真實數據中提取的參數稱為顯參數,包括波形的間隔、振幅、寬度。 而房室結模塊中狀態轉換復雜,參數較多,被稱為隱參數。 將顯參數中的波形間隔作為延遲參數輸入模型,隱參數由文獻[23]中得到初始值,再從真實數據中不斷學習優化。 模型的每次迭代均會計算仿真波形與真實波形之間的距離,引用高斯優化不斷優化隱參數,找到二者距離最小值。 由于模型的動作變化和輸出脈沖均與真實數據相關,因此所提模型是個性化的。
2003年,McSharry 等[21]根據正常心電圖的形態,提出用3 個常微分方程(ordinary differential equations,ODE)描述心電信號生成。 模擬得到的心電波形具有完整的P-QRS-T 波,也會產生規律的心率動態。 模型通過特定的心率統計數據參數化,比如心率的平均值和標準差以及心率變異性(HRV)的頻域特征。

模型會生成一個三維的狀態空間的軌跡,心電圖的周期性主要反映在(x,y)平面上單位半徑吸引極限環附近的運動軌跡上。 模型由3 個常微分方程組給出,如式(4)-(6)所示:受McSharry 等[21]的啟發,將每個心拍波形用5 個高斯函數擬合,分別代表P、Q、R、S、T 這5 個基波,如式(7)所示。 其中,ai代表基波高度,li為高斯函數的均值,ci為高斯函數的方差。 對于每個基波,ai和ci對應真實數據中計算得到的波形振幅和寬度,li是TIOA 心臟模型輸出的各基波的生成時刻。 于是,心臟模型生成的時間序列和心拍模型擬合的心拍數據共同合成出仿真心電片段。

使用2018年中國生理信號挑戰賽(The China Physiological Signal Challenge, CPSC)(http:/ /2018.icbeb.org/Challenge.html)公開數據集中的標準12導聯數據集,該數據庫是從11 家醫院收錄而來,數據集由6 877 條數據構成,其中男性記錄3 699 條,女性記錄3 178 條。 數據集中有9 類樣本,其中1類為正常信號(Normal),其余8 類為心律失常數據,分別為左束支阻滯(LBBB)、右束支阻滯(RBBB)、室性早搏(PVC)、房性早搏(PAC)、ST 段降低(STD)、ST 段抬升(STE)、心房顫動(AF)、I 度房室阻滯(I-AVB)[24]。 信號的采樣率為500 Hz。 對實驗數據的統計情況如圖3 所示,橫坐標表示數據集中每類患者數量,縱坐標是心律不齊類別。 可以明顯看出,實驗數據存在明顯的樣本不均衡問題。 因此將主要對LBBB、PVC、PAC、STD、STE 等5 種類別進行樣本均衡化處理。

圖3 CPSC 數據集統計Fig.3 Statistical chart of CPSC data set
數據集的每條記錄只有一個標簽,因此需要先對數據集進行分割與標注。 文獻[25]對2018年中國生理信號挑戰賽(CPSC)中的數據進行分割并對每個片段賦予標簽,本實驗采用文獻[25]中的數據分割方法進行數據預處理。 數據分割完成之后,進一步對心電片段進行預處理。 通過截止頻率為1 Hz 的巴特沃斯高通濾波器除基線漂移,采用小波變換去掉高頻噪聲的干擾。
心電信號生成模型如圖4 所示,顯參數由真實數據中提取,隱參數由文獻[23]中得到初始值,再從真實數據中不斷學習優化。 TIOA 模型生成的時間序列和心拍模型擬合的心拍數據共同合成出仿真心電片段。

圖4 心電信號生成模型Fig.4 ECG signal generation model
為提高仿真數據的真實性,提出利用高斯過程優化模型的隱參數。 在隱參數集中選取AVdMin 和Vthres 兩個參數進行優化。 其中AVdMin 表示脈沖在房室結延遲結構內延遲的最短時間,Vthres 表示房室結去極化閾值。 每次迭代均計算仿真數據與真實樣本之間的距離,通過高斯優化尋找最佳隱參數對,不斷縮小該距離值,使生成的數據更加具有真實意義。 如圖5 所示,圖片展示了LBBB 類心律不齊第一導聯隱式參數的高斯估計訓練與合成心電圖波形間統計距離的優化。

圖5 LBBB 類隱參數高斯優化Fig.5 Gaussian optimization of LBBB class implicit parameters
針對12 導聯的心電信號,采用深度殘差網絡實現單導聯的分類,而后通過XGBoost 算法實現12 導聯融合,進一步提高分類精度。 殘差網絡結構類似于RESNET-18 框架,卷積核尺寸設置為32×32,特征圖數目由12 起跳,dropout 設置為0.5,每一層卷積后都有L2 正則化項,優化器為SGD+Momentum,學習率初始值設置為0.1,并在后續采用staircase 式變化,droupout 為0.5,Batchsize 設置為128。 使用殘差網絡訓練12 個網絡模型得到12 組-9 類別的softmax 概率,每組取前8 個概率,共得到96 個數值作為特征,針對這些特征通過XGBoost 算法實現模型融合訓練。
為驗證所提方法的通用性,對第三方數據集進行仿真實驗。 選取PhysioNet/CinC 競賽集中的PTB數據集[27]。 該數據集包含來自290 名患者的549條心電記錄,每條記錄的平均長度超過100 s。 該數據集提供了12 個常規心電圖導聯和3 個Frank 導聯數據,采樣率為1 000 Hz,為降低計算復雜度,將數據降采樣至500 Hz。 數據集中患者的心臟診斷類型如表3 所示(22 名患者沒有診斷結果,共268名患者診斷記錄)。
由表3 可知,數據集存在明顯的數據不平衡問題。 因此對數據量較少的心肌肥大、瓣膜性心臟病、心肌炎和混合類數據進行數據增強,對每個患者的15 個標準導聯數據各擴增一倍。 將模型生成的仿真數據與真實數據混合后的數據集分割為10 s的心電片段,采用1.5 節中提到的殘差網絡進行單導聯分類,再通過XGBoost 算法進行導聯融合。

表3 患者診斷記錄Tab.3 Patient diagnosis Record
在機器學習分類中,準確率(Accuracy)代表分類正確的樣本數占樣本總數的比例;靈敏度(Sensitivity)代表所有正類中被預測為正類的比例;特異性(Specificity)代表所有負類中被預測為負類的比例;精確率(Precision)代表在預測為正類的樣本中真正類所占的比例,如式(8)-(11)所示。

式中,TP 代表真陽性,即被模型識別為正的正樣本數量;FP 代表假陽性,即被模型識別為正的負樣本數量;TN 代表真陰性,即被模型識別為負的負樣本數量;FN 代表假陰性,即被模型識別為負的正樣本數量。
按照1.4 節中所提方法依次擴增12 個導聯的數據,每個導聯的每種心律失常類型各擴增2 000個樣本,目的是解決數據集中存在的樣本不均衡問題,實現更好的分類效果。 5 種心律不齊類型的仿真波形及仿真數據分布如圖6 所示。 從仿真波形可以看出,LBBB 類數據的QRS 波群增寬。 PVC類數據中存在提早出現、寬大畸形的QRS 波形,PAC 類數據的P-R 間期明顯延長。 STD 和STE 類數據也對應出現ST 段的降低和抬升。 由此可見,所生成的仿真數據具有真實心電數據的波形特征。

圖6 5 種心律不齊類型的仿真波形及仿真數據分布(左為仿真波形,右為仿真數據分布)。 (a)左束支阻滯;(b)室性早搏;(c)房性早搏;(d)ST 段降低;(e)ST段抬升Fig.6 Simulation waveform and simulation data distribution of 5 types of arrhythmia (The left is the simulation waveform, and the right is the simulation data distribution).(a)LBBB;(b)PVC;(c)PAC;(d)STD;(e)STE
采用F1-score 來評價心律失常分類任務。 如表4 所示第2 列表示10 倍交叉驗證單導聯中性能最優的模型分類結果,第3 列為導聯融合但未進行樣本均衡的分類結果,第4 列表示所提基于樣本均衡與導聯融合的心律失常分類結果,第5 列以目前主流方法即對抗神經網絡方法進行樣本均衡后的分類結果,最后一列為與文獻[20]的對比結果,由于只對5 類不均衡數據類別進行了擴增和分類實驗,因此表格僅展示5 類結果對比。

表4 不同方法的F1-score 對比Tab.4 F1 score comparison of different methods
針對導聯融合后數據,對比分析樣本均衡前后的準確率和召回率,作出PR 曲線,如圖7 所示。 由圖中曲線可以看出,所提樣本均衡方法可以提升心律失常分類性能。

圖7 樣本均衡前后PR 曲線。 (a)樣本均衡前PR 曲線;(b)樣本均衡后PR 曲線Fig.7 PR curve before and after sample equalization.( a) PR curve before sample equalization; ( b) PR curve after sample equalization
按照1.5 節中方法將分類結果與使用相同數據集的其他文獻結果進行對比,如表5 所示。 可以看出所提方法在PTB 數據集上的各分類指標均優于主流文獻,驗證了本方法的通用性和有效性。

表5 分類結果對比Tab.5 Comparison of classification results
盡管深度學習模型已廣泛應用在心電信號分析中,但豐富和平衡的心電數據集的可用性仍然是一個挑戰。 許多心電圖數據集存在樣本不足和不同類別樣本數量不平衡的問題。 因此,對心電信號進行有效的數據增強是十分必要的。
本研究提出了一種新的基于時序心臟模型和心電信號生成模型的心電數據增強策略,以平衡不同類別的樣本數量,增加數據集的多樣性。 通過與原始數據集的分類結果對比,驗證了數據增強的必要性。 從表4 可以看出,通過對LBBB、PVC、PAC、STD、STE 五類數據進行擴增,使多導聯心律失常的分類性能大幅度提高。 實驗在LBBB 類、STD 類、STE 類的表現尤其突出,分別由擴增前的0.706、0.684、0.524 提升至0.832、0.809、0.618。 圖8 中均衡前后的PR 曲線對比,表明提出的樣本均衡方法可以有效改善分類性能。
生成對抗網絡是通過生成網絡和判別網絡不斷博弈,進而學習到數據的分布。 對于樣本量過少的數據集,生成對抗網絡無法充分學習其數據分布特征,數據增強效果并不理想。 采用對抗生成網絡進行的樣本擴充與分類,其F1 分數均低于所提方法,其中STE 類F1 分數僅提升0.017,這是由于STE 類樣本數量最少,無法發揮對抗網絡的優勢。
基于CPSC2018 挑戰數據,也有其他針對數據不平衡的心律不齊分類研究。 Wang 等[35]提出聯合輔助分類器生成對抗網絡和基于堆疊殘差網絡并行連接LSTM 的分類模型。 通過生成小類的人工數據來重塑類平衡訓練數據集,將增強模型的輸出轉化為分類模型。 在CPSC2018 挑戰賽的參與者中,CPSC0236 引入注意機制調整權重,采用過采樣策略增強數據集,聯合15 層CNN 和雙向門控循環單元實現心電信號的分類[24],CPSC0223 通過串聯原始數據生成新的數據集,聯合Inception V3 模型和LSTM 網絡對均衡后的數據集分類[24]。 上述研究均未從數學模型角度進行數據生成,且機器學習算法不僅在很大程度上取決于數據集的選取和預處理,還是嚴格的黑箱程序,容易受到攻擊[36]。 而所提方法利用數據模型和神經網絡的結合進行數據增強分類,不僅可以平衡數據,還能調整參數使生成數據不帶有個人特征,實現數據脫敏。
本研究所提方案可以生成不同疾病類型的心電信號,但其仿真速度仍需進一步完善。 后續工作將考慮針對特定心律不齊,根據原始數據確定參數閾值,以此提升仿真效率。 另外對于心律失常的分類研究是否可以考慮引入醫學影像,理論上將心電信號與醫療影像的結合對于心律失常的分類研究將會更為細致精確,但兩者為不同技術層面的信號,在深度學習盛行的現在,如果可以利用深度學習算法挖掘出兩者之間的內在聯系,建立兩者間的對應關系,將會是更有意義的探索。
針對心律失常分類普遍存在的樣本不均衡問題,以提高多導聯心律失常分類性能為目的進行研究。 引用具有生理機制的TIOA 模型和波形仿真ODE 模型實現數據擴增,生成仿真數據解決樣本不均衡問題。 以深度殘差網絡對單導聯信號分類,通過XGBoost 算法實現12 導聯融合進一步提升分類精度。 實驗結果表明所提方法可有效提高心律失常分類性能,對心律失常的自動診斷具有重要的理論意義與實用價值,未來將研究更多的數據生成模型以解決實際中的樣本不均衡問題。