倪娟 王劍卓
摘要:針對心電圖不同樣本間的高變異性,以及深度學習模型泛化能力不足的問題,提出一種基于Mixup的心電圖多標簽異常心律檢測方法。首先,通過Mixup方法將心電圖與白噪聲混合;然后,利用混合樣本訓練深度學習模型;最后,在CPSC 2018數據集上進行實驗,該方法的F1分數相較于Inception-ResNet-v2、MLC-CNN、STA-CRNN分別提升了0.014、0.031、0.023。
關鍵詞:Mixup方法;心電圖;多標簽;異常心律檢測;深度學習模型
中圖分類號:TP391 ?????????????文獻標志碼:A??????? ?文章編號:1674-2605(2024)03-0008-05
DOI:10.3969/j.issn.1674-2605.2024.03.008
Multi Label Abnormal Heart Rate Detection Method for ECG? Based on Mixup
Abstract: Multi label abnormal heart rate detection method based on Mixup is proposed to address the high variability of electrocardiograms between different samples and the insufficient generalization ability of deep learning models. Firstly, the electrocardiogram is mixed with white noise using the Mixup method; Then, use mixed samples to train deep learning models; Finally, the experiment was conducted on the CPSC 2018 dataset, compared to Inception-ResNet-v2, MLC-CNN, STA-CRNN, the F1 scores of this method have increased by 0.014, 0.031, and 0.023, respectively.
Keywords: Mixup method; electrocardiogram; multi label; abnormal heart rate detection; deep learning models
0 引言
心血管疾病是導致人類死亡的首要原因[1]。在臨床實踐中,心電圖(electrocardiogram, ECG)是診斷心血管疾病的主要手段之一。但ECG心律種類繁多,波形變化復雜,易受測量噪聲和偽跡的干擾。人工分析ECG效率較低,且對醫生臨床經驗和專業能力要求較高。因此,ECG多標簽心律檢測成為信號處理、機器學習和生物醫學工程等多學科交叉領域的研究熱點[2-5]。
近年來,學者們提出了許多具有較強表征能力的深度學習方法,提升了心律檢測的精度。ATTALLAH等[6]通過集成5種不同結構的深度學習模型,分類
COVID-19與其他心臟病例;實驗結果顯示,該方法的分類準確率分別為98.80%和91.73%。YANG等[7]提出一種由逐點卷積和深度可分離卷積模塊組成的卷積神經網絡(convolutional neural network, CNN),能有效地識別不同類別的異常心律。YAO等[8]設計一種基于注意力的時間增量卷積神經網絡,將ECG的空間信息和時間特征融合;在2018年中國生理信號挑戰賽上,分類準確率達到了81.2%。JIANG等[9]針對多標簽異常心律檢測任務忽略了類別相關性的問題,提出一種基于圖卷積神經網絡的異常心律檢測方法,將不同類別之間的關聯性融入到檢測網絡,以提高異常心律的檢測性能。CAI等[10]提出一種多模塊多
標簽心電分類模型,結合了一維卷積、擠壓塊等,可同時檢測55種心臟病癥狀,其宏觀F1分數為0.863。WANG等[11]提出一種基于生成對抗網絡模型的異常心律分類方法,提高了小樣本分類的精度。但因異常心律之間的特征空間分布較為復雜,上述方法面臨過擬合的風險,只能學習到常見特征,而無法學習到罕見特征。
為此,本文通過Mixup方法在ECG中引入一定強度的白噪聲來訓練多標簽異常心律檢測模型,降低了模型在決策邊界附近的震蕩,提高了模型泛化能力及多標簽異常心律檢測的性能。
1 算法設計
1.1 問題描述
針對深度學習模型易受噪聲影響,出現過擬合甚至梯度爆炸的現象,導致其泛化性能較差的問題,本文引入鄰域風險最小化原則[13],在ECG中加入比例為
的白噪聲
,實現數據的真實分布建模。ECG混合樣本表示為
(1)
由于白噪聲不屬于待檢信號,因此
,即ECG混合樣本的標簽可表示為
(2)
其近似數據分布可表示為
采用最小化損失函數來確保ECG混合樣本能夠準確地映射到相應的標簽,并獲得接近實際數據分布的結果,即
1.2 損失函數及其優化
本文采用二元叉熵損失函數(BCELoss)來度量異常心律的分類差,計算公式為
式中:和
分別為模型的預測值和數據的標簽值。
本文采用AdamW優化器,初始化學習率設置為2e?4,訓練迭代次數為100次,訓練批次大小為64。
1.3 深度學習模型結構
深度學習模型在訓練時容易出現過擬合,導致模型雖然在訓練樣本上擬合得很好,但在未見過的數據上表現不佳。本文通過引入正則化方法——Mixup來減小模型過擬合風險。首先,采用文獻[14]提出的Jitter方法給原始ECG添加時間步長為t的白噪聲
,以
為樣本混合策略,擴展訓練樣本范圍,如此模型能夠在噪聲干擾的環境下學習和訓練,從而緩解深度學習模型的過擬合;然后,利用ECG混合樣本訓練深度學習模型。本文采用一維殘差神經網絡(residual network, ResNet)[15]作為多標簽異常心律的檢測網絡。基于Mixup的ECG多標簽心律分類模型框架如圖1所示。
1) 利用一個一維卷積(Conv1d)層(卷積核大小為15×1,步長為1)初步提取ECG特征;
2) 通過批量歸一化層(BatchNorm1d)和激活函數(ReLU)來減輕梯度消失和梯度爆炸的問題;
3) 采用最大池化(Maxpooling)層(窗口大小為3×1,步長為2)進一步提取ECG特征;
4) 利用4個堆疊的殘差塊(Residual Block)提取ECG的深層特征,每個殘差塊包括2個Conv1d層(卷積核大小為7×1,步長為1),用于捕獲ECG局部關聯關系;2個BatchNorm1d層,用于標準化卷積層輸出,從而加速訓練并減輕梯度消失的問題;1個Dropout層,用于減少過擬合風險;2個ReLU層,用于引入非線性激活,增強特征表征能力;
5) 通過平均池化層(Avgpooling),對最后一個殘差塊的輸出特征降維;
6) 采用全連接層(Dense)將提取的特征向量降維,并作為分類器的輸入;
7) 利用一個激活函數(Sigmoid)得到最終的分
2 數據
2.1 數據集
為驗證本文方法的有效性和準確性,選用第一屆中國生理信號挑戰賽采用的數據集(CPSC 2018)[16]進行實驗。該數據集的ECG采樣頻率為500 Hz,包括正常類別(N)和8種異常心律(AF、I-AVB、LBBB、RBBB、PAC、PVC、STD、STE),其中,每個數據樣本由12個導聯組成,數據樣本時長為6~60 s。
2.2 數據預處理
首先,通過中值濾波器消除ECG的基線漂移;然后,利用雙線性變換法設計數字帶阻濾波器,去除工頻干擾;接著,采用5級小波變換,選用bior4.4小波基函數,消除肌電干擾;最后,對各個導聯的ECG進行極差歸一化,去除數據樣本幅值分布差異的影響。
由于CPSC 2018數據集的ECG樣本時長不一致,本文將該數據集的所有ECG樣本重采樣為30 s。對于長度不足15 000個采樣點的樣本,采用補零操作至15 000個采樣點;對于長度超過15 000個采樣點的樣本,截取前15 000個采樣點。將該數據集按7∶2∶1的比例劃分為訓練集、驗證集和測試集,并確保各子集中的類別比例一致。
3 實驗結果與分析
3.1 評價指標
本文采用準確率(precision rate, P)、召回率(recall rate, R)和F1分數(F1-score, F1)作為異常心律分類性能的評價指標,計算公式分別為
式中:TP、FP、FN分別為預測正確存在的異常心律總數、預測錯誤實際不存在的異常心律總數和預測錯誤實際存在的異常心律總數。
3.2 實驗對比與分析
本實驗運行環境為Windows 10操作系統,Python 3.8,利用PyTorch 1.11深度學習框架進行模型訓練和測試。計算機的CPU為Intel Core i9-13900K@ 5.80 GHz,內存為128 GB,GPU為NVIDIA Geforce RTX4090,顯存為24 GB。
為驗證本文方法的有效性,與如下3種方法進行對比實驗,實驗結果如表1所示。
方法1(Inception-ResNet-v2[17]),利用遞歸圖和Inception-ResNet-v2架構,將異常心律分類問題建模為二維圖像分類任務;
方法2(MLC-CNN[18]),利用數據分布的先驗知識,增強心電異常的融合特征;
方法3(STA-CRNN[19]),利用時空注意力的卷積遞歸神經網絡,重點關注ECG時空軸上的代表性特征。
由表1可以看出,本文方法在CPSC 2018數據集上的分類性能最好。
針對α的不同取值,設置2組實驗方案:
實驗組(1),將α設置為0,即不采用Mixup方法;
實驗組(2),將α依次取值為0.2、0.4、0.6、0.8,實驗結果如表2所示。
對比實驗組(1)、(2)的平均F1分數可知,原始ECG加入適量的噪聲,有助于減輕模型的過擬合,同時提高了模型的泛化能力。
此外,通過CPSC 2018多標簽異常心律分類混淆矩陣(見圖2),解釋該模型在預測異常心律時的有效性及原因。
由圖2可以觀察到,9類患者的異常心律預測錯誤率普遍較低,正確預測率相對較高;然而,相較于其他類別,PAC、STD和STE存在較高的錯誤率,主要因為這些類別的樣本數量較少,模型難以充分學習異常心律的相關特征。
4 結論
針對多標簽異常心律檢測任務存在難以準確提取代表性特征的問題,本文采用Mixup方法在原始ECG中引入一定強度的白噪聲,不僅有助于增加數據的多樣性,還可以提高模型的泛化能力,從而更準確地捕捉異常心律特征。然而,一些小樣本類別的檢測精度仍不盡如人意,影響了檢測性能。之后考慮利用集成學習的方法,將多個模型的預測結果進行融合,進一步提高小樣本類別的檢測性能。
參考文獻
[1] 張曉東,白曉君.防治心腦血管疾病進入腦心同治時代[N].健康報,2024-04-17(4).
[2] YANG S, LIAN C, ZENG Z, et al. A multi-view multi-scale neural network for multi-label ECG classification[J]. IEEE Tran-sactions on Emerging Topics in Computational Intelligence, 2023.
[3] RAN S, LI X, ZHAO B, et al. Label correlation embedding guided network for multi-label ECG arrhythmia diagnosis[J]. Knowledge-Based Systems, 2023,270:110545.
[4] SRIVASTAVA A, PRATIHER S, ALAM S, et al. A deep residual inception network with channel attention modules for multi-label cardiac abnormality detection from reduced-lead ECG[J]. Physiological Measurement, 2022,43(6):064005.
[5] LIU H, CHEN D, CHEN D, et al. A large-scale multi-label 12-lead electrocardiogram database with standardized diagnostic statements[J]. Scientific Data, 2022, 9(1):272.
[6] ATTALLAH O. ECG-BiCoNet: An ECG-based pipeline for COVID-19 diagnosis using Bi-Layers of deep features integra-tion[J]. Computers in Biology and Medicine, 2022,142:105210.
[7] YANG F, ZHANG X, ZHU Y. PDNet: A convolutional neural network has potential to be deployed on small intelligent devices for arrhythmia diagnosis[J]. CMES-Computer Modeling in En-gineering & Sciences, 2020, 125(1):365-382.
[8] YAO Q, WANG R, FAN X, et al. Multi-class arrhythmia detection from 12-lead varied-length ECG using attention-based time-incremental convolutional neural network[J].Information Fusion, 2020, 53: 174-182.
[9] JIANG Z, ALMEIDA T P, SCHLINDWEIN F S, et al. Diagnostic of multiple cardiac disorders from 12-lead ECGs using graph convolutional network based multi-label classifica-tion[C]//2020 Computing in Cardiology. IEEE, 2020: 1-4.
[10] CAI J, SUN W, GUAN J, et al. Multi-ECGNet for ECG arrythmia multi-label classification[J]. IEEE Access, 2020, 8: 110848-110858.
[11] WANG Y, SUN L, SUBRAMANI S. Cab: classifying arrhythmias based on imbalanced sensor data[J]. KSII Trans Internet Inf Syst (TIIS), 2021,15(7):2304–2320.
[12] SUGIYAMA M, BAO H, ISHIDA T, et al. Machine learning from weak supervision: An empirical risk minimization approach[J]. MIT Press, 2022.
[13] PINTO F, YANG H, LIM S N, et al. Using Mixup as a r egularizer can surprisingly improve accuracy & out-of- distribution robustness[J]. Advances in Neural Information Processing Systems, 2022, 35: 14608- 14622.
[14] LI M P. Jitter, noise, and signal integrity at high-speed[M]. Pearson Education, 2007.
[15] ALLEN-ZHU Z, LI Y. What can resnet learnefficiently, going beyond kernels[J]. Advances in Neural Information Processing Systems, 2019,32.
[16] LIU F, LIU C, ZHAO L, et al. An open access database for evaluating the algorithms of electrocardiogram rhythm and morphology abnormality detection[J]. Journal of Medical Imaging and Health Informatics, 2018,8(7):1368-1373; 6.
[17] ZHANG H, LIU C, ZHANG Z, et al. Recurrence plot-based approach for cardiac arrhythmia classification using inception-ResNet-v2[J]. Frontiers in Physiology, 2021,12:648950.
[18] GE Z, JIANG X, TONG Z, et al. Multi-label correlation? guided feature fusion network for abnormal ECG diagnosis[J]. Knowledge-Based Systems, 2021, 233:107508.
[19] ZHANG J, LIU A, GAO M, et al. ECG-based multi-class arrhythmia detection using spatio-temporal attention-based convolutional recurrent neural network[J]. Artificial Intelli-gence in Medicine, 2020,106:101856.