近年來,深度神經網絡(DNNs)已廣泛應用于心電圖(ECG)信號分類領域,但是以往的模型從原始 ECG 數據中提取特征信息受限。因此,本文提出了一種基于金字塔型卷積層的深度殘差網絡(PC-DRN)算法,該算法中包含的金字塔型卷積(PC)層可以從原始 ECG 數據中同時提取多尺度特征,并采用深度殘差網絡訓練 ECG 信號分類模型,可以實現對 ECG 信號的分類。本文使用 2017 心臟病學挑戰賽(CinC2017)提供的公開數據集,驗證本文提出方法對 4 類 ECG 數據的分類效果。本文選取精度和召回率之間的諧波均值 F1 作為主要評價指標。實驗結果表明,PC-DRN 的平均序列級別 F1(SeqF1)從 0.857 提升到了 0.920,平均集合級別 F1(SetF1)從 0.876 提升到了 0.925。因此,本文提出的 PC-DRN 算法為 ECG 信號的特征提取和分類提供了一種新的思路,為心律失常的分類診斷提供了有效的手段。
引用本文: 蔣明峰, 魯薏, 李楊, 項宜坤, 張鞠成, 王志康. 基于金字塔卷積結構的深度殘差網絡心電信號分類方法研究. 生物醫學工程學雜志, 2020, 37(4): 692-698. doi: 10.7507/1001-5515.201912048 復制
引言
心電圖(electrocardiogram,ECG)是人體表面不同部位電極所記錄下來的心臟電活動變化圖,主要用于診斷心臟疾病[1-2],是臨床醫生進行心臟疾病診斷的主要依據之一。心血管疾病是一種常見的心臟疾病,主要包括冠心病、心力衰竭、心肌梗塞等,患者發病前往往會出現心律失常的情況[3]。因此,通過計算機輔助系統對 ECG 數據進行自動檢測和分析,對于診斷心律失常等心臟疾病極為重要。目前,對于計算機輔助系統的研究已經逐步成型,通過人工智能算法從 ECG 信號中篩查出關鍵的異常片段,并給出輔助診斷結論,促進了診斷準確性的提升[4]。
房顫(atrial fibrillation,AF)在人群中的發病率為 1%~2%,其特征表現為心房電活動不協調,從而導致無效的心房收縮[5],輕則導致日常生活受到限制,重則造成心衰死亡。隨著人口老齡化問題的加劇,房顫的患病率不斷上升,房顫患者的數量也在不斷增加[2],房顫已經對越來越多的人的生活質量帶來負面影響[6]。具體而言,房顫是臨床上常見的一種室上性快速性心律失常[7],但是與臨床實踐中遇到的其他心律失常不同的是,房顫可以在發作早期進行治療干預。在絕大多數情況下,臨床醫生通過觀察 ECG 信號來診斷患者是否發生房顫。因此,為了能夠在早期就發現房顫并進行干預治療,同時有效降低醫生的工作強度,提升計算機輔助系統檢測心肌異常收縮的時效性和準確性就顯得至關重要。
近年來,深度神經網絡(deep neural networks,DNNs)在圖像分割、語音識別和智能醫療等領域取得了諸多研究成果[8]。同時,計算性能的提升和算法的優化也為 DNNs 創造了良好的條件,可以更好地輔助醫生治療[9-10]。比如就 ECG 信號分類而言,傳統的方法依賴于精準的手工特征提取,但是當出現 ECG 信號有噪聲等難以手工提取特征的情況時,分類效果則遠不如 DNNs。ECG 信號分類研究一般包括 ECG 信號的采集、預處理、特征提取以及分類等步驟。但是,DNNs 可以自動提取特征而無需人工提取。因此,現有的 ECG 信號分類算法大多是采用 DNNs 實現的,也取得了較好的效果[11-12]。Zhang 等[13]將一維 ECG 數據轉換成二維 ECG 數據,然后使用卷積神經網絡(convolutional neural network,CNN)學習分層特征并進行識別。Liu 等[14]提出基于多導聯的 ECG 數據節拍分割算法,使用一種包含亞二維卷積層和超前非對稱池化層的多導 CNN 模型開展研究,結果顯示該模型對心肌缺血檢測具有較好準確性。Wu 等[15]開發了端到端的兩層 CNN,在 DeepQ 心律失常數據庫[16]和麻省理工學院與貝斯以色列醫院(Massachusetts Institute of Technology and Beth Israel Hospital,MIT-BIH)數據庫上分別驗證了對于 ECG 數據分類的準確性。Al Rahhal 等[17]設計了一種具有稀疏性約束的疊層去噪自編碼的 DNNs,以無監督的方式從原始 ECG 數據中學習特征,該方法具有較強的魯棒性和泛化能力。Acharya 等[18]通過訓練一個四層 CNN,對 4 類 ECG 數據進行分類,效果良好。Luo 等[19]和 Xia 等[20]使用譜圖技術對 ECG 信號進行分析,將其輸入到 DNNs 中進行分類,都得到了較好的分類效果。Isin 等[21]和 Xiao 等[22]通過將 ECG 信號轉換成二值圖像,利用已構建的各種結構和預訓練模型,證明了深度遷移學習是一種有效的心律失常自動檢測方法。Liu 等[23]建立了一種兒童室性早搏自動檢測模型,該模型對 ECG 信號分類有效。Hannun 等[12]構建了一個深度殘差網絡(deep residual network,DRN),在每個卷積層前設計了一種預激活模塊,該模型對噪聲、竇性心律以及十二種心律失常分類達到心臟病專家級別的分類結果。
基于此,本文提出了一種基于金字塔型卷積層的深度殘差網絡(deep residual network based on pyramidal convolution layer,PC-DRN)模型架構。本文在該架構中構建了一層金字塔型卷積(pyramidal convolutional layer,PC)層,該 PC 層通過不同的卷積分支使得網絡可以從原始 ECG 數據中同時提取到多尺度特征,然后整合 ECG 信號不同尺度的信息,在此基礎上通過以殘差方式連接的深度 CNN 實現 ECG 信號分類。PC-DRN 可以有效改善特征提取和分類能力,為提升 DNNs 分類 ECG 信號準確率提供了一種新方法。
1 PC-DRN 網絡模型
本文研究了一種端到端的 PC-DRN 模型架構,該模型能夠實現對 4 類 ECG 數據自動分類。通過構建 PC 層以及殘差塊,PC-DRN 可以從 ECG 數據中提取到更加全面的特征,提升模型潛在習得特征的性能,改善模型診斷性能。
1.1 網絡總體架構
本文基于目前在 ECG 信號分類領域較為權威的一種 DNNs 網絡[12],構建了一個 PC-DRN 網絡,該網絡共有 34 層,其中包含 33 層卷積層和 1 層全連接層,網絡總體架構如圖 1 所示。在該架構中,一共有兩種類型的卷積層:①PC 層,為了使神經網絡對 ECG 信號特征的提取更加全面,第一層卷積層采用了 PC 層架構;② 殘差塊中的常規卷積層,每個殘差塊中包含 2 個常規卷積層,網絡架構中共含有 16 個殘差塊。

1.2 PC 層
受生物神經科學領域“感受野”概念的啟示而設計的 CNN 是一種特殊的深度前饋神經網絡[24]。在 CNN 的卷積層中,整個輸入信號的每個感受野都通過卷積核重復作用,這種作用形成特征圖[24]。但是單一特征圖中包含的特征信息不夠豐富,因此本文提出了一種可以得到融合特征的 PC 層以增加表征的信息,結構如圖 2 所示。PC 層包含多個不同的卷積分支,將不同卷積分支獲取的特征拼接后得到級聯特征,再經過一個尺寸為 1 × 1 的卷積核以得到融合特征。

PC 層算法如式(1)所示:
![]() |
其中,x 表示輸入卷積分支的 ECG 信號,Conv(·)表示卷積運算,X 表示一個卷積分支得到的特征圖,Xn 表示第 n 個卷積分支得到的特征圖,Concat(·)表示級聯運算,Y 表示 n 個卷積分支特征圖進行拼接后的級聯特征,R 表示級聯特征經過尺寸為 1 × 1 的卷積核后得到的融合特征。
PC 層中包含多個不同的卷積分支,每個卷積分支中包含 32 個卷積核,卷積核尺寸選取依次遞減,以得到不同尺度級別的特征。ECG 信號輸入后,為了更好地獲取信號波段信息,多個卷積分支同時提取特征,得到的多尺度特征圖描述了 ECG 信號的不同級別信息,使得 ECG 信號中不同波段都能被提取到。
卷積運算的表達式如式(2)所示:
![]() |
其中,表示第 h 個卷積層的第 α 通道輸入,
表示對應輸出,f(·)為激勵函數,x 為 ECG 信號,Mα 表示第 h-1 層特征圖,i 表示各個特征單元,
表示第 h-1 個常規卷積層中第 i 個特征單元的輸出,
表示卷積核矩陣,bias 是偏置項,“*”表示卷積操作符。
先通過卷積分支在特征通道上輸出多個尺度特征,充分保證各分支特征的映射,然后將級聯特征通過尺寸為 1 × 1 的卷積核進行卷積運算,可以對級聯特征進行嵌入融合,從而實現跨通道特征融合,以得到最后的融合特征。
1.3 殘差塊
為了克服 DNNs 近似恒等映射時隨著網絡層數增加而造成的退化問題,保證網絡結構單元的有效性,本文構建了 PC-DRN 模型。PC-DRN 模型包含多個通過恒等連接構建成的殘差塊,殘差塊針對每一層的輸入計算殘差,使得網絡參數更易優化[12]。如圖 1 所示,網絡架構中包含 16 個殘差塊[12],在殘差塊內部,讓兩層卷積層擬合輸入數據和映射后的輸出數據之間的殘差,幫助網絡解決退化問題[25]。
為了使網絡性能更佳,殘差塊中包含了批歸一化(bach-normalization,BN)、激活函數以及隨機權重丟棄層[12],如圖 1 所示。批歸一化通過固定減小均方差值來幫助網絡加快訓練速度,并且有助于梯度傳播。在激活函數中,本文選用修正線性單元(rectified linear unit,ReLU)函數,在反向傳播時幫助更新參數,幫助網絡克服梯度消失的問題。
2 實驗結果與分析
2.1 實驗數據
為了證明提出的 PC-DRN 模型算法的有效性,本文使用 2017 心臟病學挑戰賽(the physionet computing in cardiology challenge 2017,CinC2017)(網址:https://www.physionet.org/content/challenge-2017/1.0.0/)提供的公開數據集進行驗證。該數據集包含以下 4 類 ECG 數據:正常心律、房顫心律、其他心律和噪聲,ECG 數據波形如圖 3 所示。

該數據集包含 8 528 條單導聯 ECG 數據記錄,采樣頻率為 300 Hz,每條記錄長度在 9~61 s 之間,并采用心電監護設備進行帶通濾波,數據詳細信息參照文獻[26],如表 1 所示。每條數據都由一個.mat 文件和一個包含波形信息的.hea 文件構成。本文將該數據集劃分成 90% 的訓練集和 10% 的測試集,訓練集包含 7 676 條數據,共含有 291 838 個心拍;剩余 852 條數據作為測試集,共含有 32 550 個心拍。

2.2 實驗參數
本文應用隨機權重丟棄法避免過擬合,其參數設置為 0.2;使用修正線性單元進一步標準化值來加速訓練;使用批歸一化規范化傳遞值。網絡中的優化器選擇自適應矩估計優化器,默認參數 β1 = 0.9,β2 = 0.999,學習率初始化為。開始訓練前,隨機初始化權重。在訓練過程中,數據被分批輸入網絡,批尺寸設置為 32,為了使每一層上的批次歸一化,進行批量歸一化操作,以確保整個網絡的數值被縮放到相同的大小。
2.3 實驗評價標準
將經過人工標注并可視化檢查確認之后的 V3 版本分類標簽作為正確注釋結果[26],本文使用多個評價指標來衡量模型的分類性能。
2.3.1 準確度
準確度(accuracy,Acc)(以符號 Acc 表示)是一種衡量分類模型性能的指標[27],其定義為正確分類與總分類樣本總數的比值,如式(3)所示:
![]() |
其中,真陽性(true positive,TP)(符號記為:TP)表示正樣本的正確預測數;真陰性(true negative,TN)(符號記為:TN)表示負樣本的正確預測數;假陰性(false negative,FN)(符號記為:FN)表示正樣本的不正確預測數;假陽性(false positive,FP)(符號記為:FP)表示負樣本的不正確預測數。
2.3.2 序列級別諧波均值和集合級別諧波均值
F1 是精度(符號記為:Precision)和召回率(符號記為:Recall)之間的諧波均值[27],用于綜合衡量模型對 ECG 信號的分類效果,如式(4)所示:
![]() |
Hannun 等[12]在此基礎上提出了序列級別 F1(sequence level accuracy,SeqF1)(以符號 SeqF1 表示)以及集合級別 F1(set level accuracy,SetF1)(以符號 SetF1 表示),可以更全面地衡量分類模型性能。
SeqF1:將每 256 個采樣點作為一個序列進行一次預測,將得到的預測標簽與正確注釋標簽進行比較,計算其 F1 分數,得到 SeqF1。
SetF1:將每 30 s 的 ECG 數據記錄作為一個集合,若集合中存在唯一的心律失常標簽,則將其作為正確注釋標簽,每一個集合輸出一個預測標簽,依據預測標簽與正確注釋標簽計算 F1 分數,得到 SetF1。
受試者工作特征曲線的曲線下面積(area under curve,AUC)(以符號 AUC 表示)是判斷分類模型性能的常用評價方法。同樣地,Hannun 等[12]提出了類加權平均的序列級別 AUC(sequence level accuracy AUC,SeqAUC)和集合級別 AUC(set level accuracy AUC,SetAUC)來輔助 SeqF1 與 SetF1 綜合衡量模型性能。
2.3.3 CinC2017 評價方法
CinC2017 在 F1 的基礎上提出了一套評價方法。該評價方法不將模型對噪聲的分類性能計算在內,而是先將正常心律、房顫心律和其他心律都分別計算 F1(符號分別記為:F1N、F1A、F1O),再計算其宏平均值得到宏平均 F1(以符號 表示),如公式(5)所示:
![]() |
2.4 實驗結果與分析
采用 852 條測試集對分類模型進行性能評估。為了證明提出的 PC 層的有效性,本文參照文獻[12]的方法進行卷積核尺寸的選取。本文設置了卷積分支 n = 3 時的 PC3-DRN 算法,其卷積核長度分別設置為 16、8、4;以及卷積分支 n = 6 時的 PC6-DRN 算法,其卷積核長度分別設置為 16、13、11、9、7、4。
如表 2 所示,隨著 PC 層金字塔層數的增加,算法分類效果明顯提升。同時,PC6-DRN 相較于 DRN[12],性能有更加明顯的提升。就 SeqF1 而言,正常心律從 0.793 提升到了 0.906,房顫心律從 0.719 提升到了 0.823,其他心律從 0.703 提高到了 0.789,噪聲從 0.965 提升到了 0.985。PC6-DRN 的類加權平均 SeqF1 為 0.920,相較于 DRN[12]提升了 0.063,可見 PC6-DRN 分類性能得到顯著提升。就 SetF1 而言,PC6-DRN 對于 4 類 ECG 信號的分類性能也均有提升,其中特別顯著的是其他心律的 SetF1 從 0.503 提升到了 0.794,噪聲的 SetF1 從 0.876 提升到了 0.999。因此,在網絡中構建 PC 層,能夠增強網絡提取融合的多尺度特征的能力,提升網絡對樣本分類的判別能力。

如表 3 所示,PC3-DRN 和 PC6-DRN 相較于 DRN 在 SeqAUC 和 SetAUC 上均有提升。值得注意的是,在 DRN 中,所有類別的 SeqAUC 值都高于 0.926,SetAUC 值都高于 0.912;而在 PC6-DRN 中,所有分類的 SeqAUC 值都高于 0.941,所有類別的 SetAUC 值都高于 0.931。并且,PC6-DRN 的準確度為 85.7%,比 DRN[12]提升了 0.3%。由此可見,PC 層使得算法性能在各個方面提升,體現出其有效性。

如表 4 所示,為 DRN 的混淆矩陣結果。PC6-DRN 的混淆矩陣結果如表 5 所示。對比表 4 與表 5,可以看到分類效果的提升。本文按照 ECG 數據的記錄條數而非單個心拍進行性能測試,更符合臨床實際標注。


為了進一步地驗證本文提出算法的性能,本文采用 CinC2017 提出的宏平均 F1 作為評價標準,在相同數據集來源下進行模型性能對比。Zihlmann 等[2]提出了一個 24 層的 CNN(24-CNN)和一個 24-CNN 與 3 層長短期記憶網絡相結合的 27 層卷積遞歸神經網絡(27-layer convolution recurrent neural network,27-CRNN)模型,本文將 DRN、24-CNN、27-CRNN、PC3-DRN 以及 PC6-DRN 進行比較,結果如表 6 所示。DRN 在 3 類 ECG 數據上的分類性能相較于 24-CNN 和 27-CRNN 都得到了提升;含有 PC 層的算法也得到了更進一步的提升,并且 PC 層中金字塔層數多的網絡分類性能更佳;PC6-DRN 在房顫心律上的 F1 值為 0.851,相較于其他算法提升顯著,說明了 PC 層對房顫心律的分類效果極佳。為更好地驗證本文方法的有效性,本文采用準確度進行算法性能評價,得到 24-CNN 為 80.5%,27-CRNN 為 79.9%,而本文提出的 PC6-DRN 為 85.7%,相較于 24-CNN 和 27-CRNN 分別高出 5.2% 和 5.8%。

3 結語
本文提出了一種基于 PC-DRN 的 ECG 信號特征提取與分類方法。原始 ECG 信號輸入網絡架構后,先進入一層 PC 層,在不同特征通道維度上獲得多尺度特征,然后將多尺度特征級聯后輸入到殘差塊中。實驗結果表明,本文提出的 PC-DRN 算法克服了 DNNs 常見的網絡退化問題,增強了表征多尺度特征信息的能力,有效提升了分類性能。因此,PC-DRN 為 ECG 信號分類識別提供了一種新方法,在醫療領域中具有一定前景。
在未來的工作中,本課題組將進一步采集大量實測 ECG 數據,通過訓練經過專家標注后的實測 ECG 數據,不斷改善 PC-DRN 算法,希望最終可用于指導臨床實際操作。課題組未來的研究方向是致力于構建一個完整的新型心律失常輔助診斷醫療系統,期待其能緩解醫生壓力,進一步推進智能醫療的發展,為早期心律失常的檢測和診斷提供新方法。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
引言
心電圖(electrocardiogram,ECG)是人體表面不同部位電極所記錄下來的心臟電活動變化圖,主要用于診斷心臟疾病[1-2],是臨床醫生進行心臟疾病診斷的主要依據之一。心血管疾病是一種常見的心臟疾病,主要包括冠心病、心力衰竭、心肌梗塞等,患者發病前往往會出現心律失常的情況[3]。因此,通過計算機輔助系統對 ECG 數據進行自動檢測和分析,對于診斷心律失常等心臟疾病極為重要。目前,對于計算機輔助系統的研究已經逐步成型,通過人工智能算法從 ECG 信號中篩查出關鍵的異常片段,并給出輔助診斷結論,促進了診斷準確性的提升[4]。
房顫(atrial fibrillation,AF)在人群中的發病率為 1%~2%,其特征表現為心房電活動不協調,從而導致無效的心房收縮[5],輕則導致日常生活受到限制,重則造成心衰死亡。隨著人口老齡化問題的加劇,房顫的患病率不斷上升,房顫患者的數量也在不斷增加[2],房顫已經對越來越多的人的生活質量帶來負面影響[6]。具體而言,房顫是臨床上常見的一種室上性快速性心律失常[7],但是與臨床實踐中遇到的其他心律失常不同的是,房顫可以在發作早期進行治療干預。在絕大多數情況下,臨床醫生通過觀察 ECG 信號來診斷患者是否發生房顫。因此,為了能夠在早期就發現房顫并進行干預治療,同時有效降低醫生的工作強度,提升計算機輔助系統檢測心肌異常收縮的時效性和準確性就顯得至關重要。
近年來,深度神經網絡(deep neural networks,DNNs)在圖像分割、語音識別和智能醫療等領域取得了諸多研究成果[8]。同時,計算性能的提升和算法的優化也為 DNNs 創造了良好的條件,可以更好地輔助醫生治療[9-10]。比如就 ECG 信號分類而言,傳統的方法依賴于精準的手工特征提取,但是當出現 ECG 信號有噪聲等難以手工提取特征的情況時,分類效果則遠不如 DNNs。ECG 信號分類研究一般包括 ECG 信號的采集、預處理、特征提取以及分類等步驟。但是,DNNs 可以自動提取特征而無需人工提取。因此,現有的 ECG 信號分類算法大多是采用 DNNs 實現的,也取得了較好的效果[11-12]。Zhang 等[13]將一維 ECG 數據轉換成二維 ECG 數據,然后使用卷積神經網絡(convolutional neural network,CNN)學習分層特征并進行識別。Liu 等[14]提出基于多導聯的 ECG 數據節拍分割算法,使用一種包含亞二維卷積層和超前非對稱池化層的多導 CNN 模型開展研究,結果顯示該模型對心肌缺血檢測具有較好準確性。Wu 等[15]開發了端到端的兩層 CNN,在 DeepQ 心律失常數據庫[16]和麻省理工學院與貝斯以色列醫院(Massachusetts Institute of Technology and Beth Israel Hospital,MIT-BIH)數據庫上分別驗證了對于 ECG 數據分類的準確性。Al Rahhal 等[17]設計了一種具有稀疏性約束的疊層去噪自編碼的 DNNs,以無監督的方式從原始 ECG 數據中學習特征,該方法具有較強的魯棒性和泛化能力。Acharya 等[18]通過訓練一個四層 CNN,對 4 類 ECG 數據進行分類,效果良好。Luo 等[19]和 Xia 等[20]使用譜圖技術對 ECG 信號進行分析,將其輸入到 DNNs 中進行分類,都得到了較好的分類效果。Isin 等[21]和 Xiao 等[22]通過將 ECG 信號轉換成二值圖像,利用已構建的各種結構和預訓練模型,證明了深度遷移學習是一種有效的心律失常自動檢測方法。Liu 等[23]建立了一種兒童室性早搏自動檢測模型,該模型對 ECG 信號分類有效。Hannun 等[12]構建了一個深度殘差網絡(deep residual network,DRN),在每個卷積層前設計了一種預激活模塊,該模型對噪聲、竇性心律以及十二種心律失常分類達到心臟病專家級別的分類結果。
基于此,本文提出了一種基于金字塔型卷積層的深度殘差網絡(deep residual network based on pyramidal convolution layer,PC-DRN)模型架構。本文在該架構中構建了一層金字塔型卷積(pyramidal convolutional layer,PC)層,該 PC 層通過不同的卷積分支使得網絡可以從原始 ECG 數據中同時提取到多尺度特征,然后整合 ECG 信號不同尺度的信息,在此基礎上通過以殘差方式連接的深度 CNN 實現 ECG 信號分類。PC-DRN 可以有效改善特征提取和分類能力,為提升 DNNs 分類 ECG 信號準確率提供了一種新方法。
1 PC-DRN 網絡模型
本文研究了一種端到端的 PC-DRN 模型架構,該模型能夠實現對 4 類 ECG 數據自動分類。通過構建 PC 層以及殘差塊,PC-DRN 可以從 ECG 數據中提取到更加全面的特征,提升模型潛在習得特征的性能,改善模型診斷性能。
1.1 網絡總體架構
本文基于目前在 ECG 信號分類領域較為權威的一種 DNNs 網絡[12],構建了一個 PC-DRN 網絡,該網絡共有 34 層,其中包含 33 層卷積層和 1 層全連接層,網絡總體架構如圖 1 所示。在該架構中,一共有兩種類型的卷積層:①PC 層,為了使神經網絡對 ECG 信號特征的提取更加全面,第一層卷積層采用了 PC 層架構;② 殘差塊中的常規卷積層,每個殘差塊中包含 2 個常規卷積層,網絡架構中共含有 16 個殘差塊。

1.2 PC 層
受生物神經科學領域“感受野”概念的啟示而設計的 CNN 是一種特殊的深度前饋神經網絡[24]。在 CNN 的卷積層中,整個輸入信號的每個感受野都通過卷積核重復作用,這種作用形成特征圖[24]。但是單一特征圖中包含的特征信息不夠豐富,因此本文提出了一種可以得到融合特征的 PC 層以增加表征的信息,結構如圖 2 所示。PC 層包含多個不同的卷積分支,將不同卷積分支獲取的特征拼接后得到級聯特征,再經過一個尺寸為 1 × 1 的卷積核以得到融合特征。

PC 層算法如式(1)所示:
![]() |
其中,x 表示輸入卷積分支的 ECG 信號,Conv(·)表示卷積運算,X 表示一個卷積分支得到的特征圖,Xn 表示第 n 個卷積分支得到的特征圖,Concat(·)表示級聯運算,Y 表示 n 個卷積分支特征圖進行拼接后的級聯特征,R 表示級聯特征經過尺寸為 1 × 1 的卷積核后得到的融合特征。
PC 層中包含多個不同的卷積分支,每個卷積分支中包含 32 個卷積核,卷積核尺寸選取依次遞減,以得到不同尺度級別的特征。ECG 信號輸入后,為了更好地獲取信號波段信息,多個卷積分支同時提取特征,得到的多尺度特征圖描述了 ECG 信號的不同級別信息,使得 ECG 信號中不同波段都能被提取到。
卷積運算的表達式如式(2)所示:
![]() |
其中,表示第 h 個卷積層的第 α 通道輸入,
表示對應輸出,f(·)為激勵函數,x 為 ECG 信號,Mα 表示第 h-1 層特征圖,i 表示各個特征單元,
表示第 h-1 個常規卷積層中第 i 個特征單元的輸出,
表示卷積核矩陣,bias 是偏置項,“*”表示卷積操作符。
先通過卷積分支在特征通道上輸出多個尺度特征,充分保證各分支特征的映射,然后將級聯特征通過尺寸為 1 × 1 的卷積核進行卷積運算,可以對級聯特征進行嵌入融合,從而實現跨通道特征融合,以得到最后的融合特征。
1.3 殘差塊
為了克服 DNNs 近似恒等映射時隨著網絡層數增加而造成的退化問題,保證網絡結構單元的有效性,本文構建了 PC-DRN 模型。PC-DRN 模型包含多個通過恒等連接構建成的殘差塊,殘差塊針對每一層的輸入計算殘差,使得網絡參數更易優化[12]。如圖 1 所示,網絡架構中包含 16 個殘差塊[12],在殘差塊內部,讓兩層卷積層擬合輸入數據和映射后的輸出數據之間的殘差,幫助網絡解決退化問題[25]。
為了使網絡性能更佳,殘差塊中包含了批歸一化(bach-normalization,BN)、激活函數以及隨機權重丟棄層[12],如圖 1 所示。批歸一化通過固定減小均方差值來幫助網絡加快訓練速度,并且有助于梯度傳播。在激活函數中,本文選用修正線性單元(rectified linear unit,ReLU)函數,在反向傳播時幫助更新參數,幫助網絡克服梯度消失的問題。
2 實驗結果與分析
2.1 實驗數據
為了證明提出的 PC-DRN 模型算法的有效性,本文使用 2017 心臟病學挑戰賽(the physionet computing in cardiology challenge 2017,CinC2017)(網址:https://www.physionet.org/content/challenge-2017/1.0.0/)提供的公開數據集進行驗證。該數據集包含以下 4 類 ECG 數據:正常心律、房顫心律、其他心律和噪聲,ECG 數據波形如圖 3 所示。

該數據集包含 8 528 條單導聯 ECG 數據記錄,采樣頻率為 300 Hz,每條記錄長度在 9~61 s 之間,并采用心電監護設備進行帶通濾波,數據詳細信息參照文獻[26],如表 1 所示。每條數據都由一個.mat 文件和一個包含波形信息的.hea 文件構成。本文將該數據集劃分成 90% 的訓練集和 10% 的測試集,訓練集包含 7 676 條數據,共含有 291 838 個心拍;剩余 852 條數據作為測試集,共含有 32 550 個心拍。

2.2 實驗參數
本文應用隨機權重丟棄法避免過擬合,其參數設置為 0.2;使用修正線性單元進一步標準化值來加速訓練;使用批歸一化規范化傳遞值。網絡中的優化器選擇自適應矩估計優化器,默認參數 β1 = 0.9,β2 = 0.999,學習率初始化為。開始訓練前,隨機初始化權重。在訓練過程中,數據被分批輸入網絡,批尺寸設置為 32,為了使每一層上的批次歸一化,進行批量歸一化操作,以確保整個網絡的數值被縮放到相同的大小。
2.3 實驗評價標準
將經過人工標注并可視化檢查確認之后的 V3 版本分類標簽作為正確注釋結果[26],本文使用多個評價指標來衡量模型的分類性能。
2.3.1 準確度
準確度(accuracy,Acc)(以符號 Acc 表示)是一種衡量分類模型性能的指標[27],其定義為正確分類與總分類樣本總數的比值,如式(3)所示:
![]() |
其中,真陽性(true positive,TP)(符號記為:TP)表示正樣本的正確預測數;真陰性(true negative,TN)(符號記為:TN)表示負樣本的正確預測數;假陰性(false negative,FN)(符號記為:FN)表示正樣本的不正確預測數;假陽性(false positive,FP)(符號記為:FP)表示負樣本的不正確預測數。
2.3.2 序列級別諧波均值和集合級別諧波均值
F1 是精度(符號記為:Precision)和召回率(符號記為:Recall)之間的諧波均值[27],用于綜合衡量模型對 ECG 信號的分類效果,如式(4)所示:
![]() |
Hannun 等[12]在此基礎上提出了序列級別 F1(sequence level accuracy,SeqF1)(以符號 SeqF1 表示)以及集合級別 F1(set level accuracy,SetF1)(以符號 SetF1 表示),可以更全面地衡量分類模型性能。
SeqF1:將每 256 個采樣點作為一個序列進行一次預測,將得到的預測標簽與正確注釋標簽進行比較,計算其 F1 分數,得到 SeqF1。
SetF1:將每 30 s 的 ECG 數據記錄作為一個集合,若集合中存在唯一的心律失常標簽,則將其作為正確注釋標簽,每一個集合輸出一個預測標簽,依據預測標簽與正確注釋標簽計算 F1 分數,得到 SetF1。
受試者工作特征曲線的曲線下面積(area under curve,AUC)(以符號 AUC 表示)是判斷分類模型性能的常用評價方法。同樣地,Hannun 等[12]提出了類加權平均的序列級別 AUC(sequence level accuracy AUC,SeqAUC)和集合級別 AUC(set level accuracy AUC,SetAUC)來輔助 SeqF1 與 SetF1 綜合衡量模型性能。
2.3.3 CinC2017 評價方法
CinC2017 在 F1 的基礎上提出了一套評價方法。該評價方法不將模型對噪聲的分類性能計算在內,而是先將正常心律、房顫心律和其他心律都分別計算 F1(符號分別記為:F1N、F1A、F1O),再計算其宏平均值得到宏平均 F1(以符號 表示),如公式(5)所示:
![]() |
2.4 實驗結果與分析
采用 852 條測試集對分類模型進行性能評估。為了證明提出的 PC 層的有效性,本文參照文獻[12]的方法進行卷積核尺寸的選取。本文設置了卷積分支 n = 3 時的 PC3-DRN 算法,其卷積核長度分別設置為 16、8、4;以及卷積分支 n = 6 時的 PC6-DRN 算法,其卷積核長度分別設置為 16、13、11、9、7、4。
如表 2 所示,隨著 PC 層金字塔層數的增加,算法分類效果明顯提升。同時,PC6-DRN 相較于 DRN[12],性能有更加明顯的提升。就 SeqF1 而言,正常心律從 0.793 提升到了 0.906,房顫心律從 0.719 提升到了 0.823,其他心律從 0.703 提高到了 0.789,噪聲從 0.965 提升到了 0.985。PC6-DRN 的類加權平均 SeqF1 為 0.920,相較于 DRN[12]提升了 0.063,可見 PC6-DRN 分類性能得到顯著提升。就 SetF1 而言,PC6-DRN 對于 4 類 ECG 信號的分類性能也均有提升,其中特別顯著的是其他心律的 SetF1 從 0.503 提升到了 0.794,噪聲的 SetF1 從 0.876 提升到了 0.999。因此,在網絡中構建 PC 層,能夠增強網絡提取融合的多尺度特征的能力,提升網絡對樣本分類的判別能力。

如表 3 所示,PC3-DRN 和 PC6-DRN 相較于 DRN 在 SeqAUC 和 SetAUC 上均有提升。值得注意的是,在 DRN 中,所有類別的 SeqAUC 值都高于 0.926,SetAUC 值都高于 0.912;而在 PC6-DRN 中,所有分類的 SeqAUC 值都高于 0.941,所有類別的 SetAUC 值都高于 0.931。并且,PC6-DRN 的準確度為 85.7%,比 DRN[12]提升了 0.3%。由此可見,PC 層使得算法性能在各個方面提升,體現出其有效性。

如表 4 所示,為 DRN 的混淆矩陣結果。PC6-DRN 的混淆矩陣結果如表 5 所示。對比表 4 與表 5,可以看到分類效果的提升。本文按照 ECG 數據的記錄條數而非單個心拍進行性能測試,更符合臨床實際標注。


為了進一步地驗證本文提出算法的性能,本文采用 CinC2017 提出的宏平均 F1 作為評價標準,在相同數據集來源下進行模型性能對比。Zihlmann 等[2]提出了一個 24 層的 CNN(24-CNN)和一個 24-CNN 與 3 層長短期記憶網絡相結合的 27 層卷積遞歸神經網絡(27-layer convolution recurrent neural network,27-CRNN)模型,本文將 DRN、24-CNN、27-CRNN、PC3-DRN 以及 PC6-DRN 進行比較,結果如表 6 所示。DRN 在 3 類 ECG 數據上的分類性能相較于 24-CNN 和 27-CRNN 都得到了提升;含有 PC 層的算法也得到了更進一步的提升,并且 PC 層中金字塔層數多的網絡分類性能更佳;PC6-DRN 在房顫心律上的 F1 值為 0.851,相較于其他算法提升顯著,說明了 PC 層對房顫心律的分類效果極佳。為更好地驗證本文方法的有效性,本文采用準確度進行算法性能評價,得到 24-CNN 為 80.5%,27-CRNN 為 79.9%,而本文提出的 PC6-DRN 為 85.7%,相較于 24-CNN 和 27-CRNN 分別高出 5.2% 和 5.8%。

3 結語
本文提出了一種基于 PC-DRN 的 ECG 信號特征提取與分類方法。原始 ECG 信號輸入網絡架構后,先進入一層 PC 層,在不同特征通道維度上獲得多尺度特征,然后將多尺度特征級聯后輸入到殘差塊中。實驗結果表明,本文提出的 PC-DRN 算法克服了 DNNs 常見的網絡退化問題,增強了表征多尺度特征信息的能力,有效提升了分類性能。因此,PC-DRN 為 ECG 信號分類識別提供了一種新方法,在醫療領域中具有一定前景。
在未來的工作中,本課題組將進一步采集大量實測 ECG 數據,通過訓練經過專家標注后的實測 ECG 數據,不斷改善 PC-DRN 算法,希望最終可用于指導臨床實際操作。課題組未來的研究方向是致力于構建一個完整的新型心律失常輔助診斷醫療系統,期待其能緩解醫生壓力,進一步推進智能醫療的發展,為早期心律失常的檢測和診斷提供新方法。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。