李逸群,谷雪蓮,孫毅勇
(1.上海理工大學(xué) 醫(yī)療器械與食品學(xué)院,上海 200093;2.上海微創(chuàng)電生理醫(yī)療科技股份有限公司,上海 201318)
房顫(Atrial Fibrillation,AF)是一種常見的心律失常疾病,容易誘發(fā)心力衰竭、腦卒中、心肌梗死等疾病,導(dǎo)致較高的致殘率和死亡率,危害人類健康與生命安全[1]。對于一些發(fā)作時長較短或無癥狀的陣發(fā)性心律失常,傳統(tǒng)心電監(jiān)護設(shè)備不易捕捉,致使臨床診斷較為困難、漏診率增加[2]。單導(dǎo)聯(lián)心電儀作為一種模擬人體胸導(dǎo)聯(lián)動態(tài)實時監(jiān)測心電信號的裝置,相比傳統(tǒng)的心電圖機,具有長時記錄連續(xù)采集、易操控、易佩戴、可提供異常心電回放等功能,因此使用單導(dǎo)心電記錄儀檢測陣發(fā)性房顫具有重要的臨床意義。
房顫發(fā)作時,心電圖表現(xiàn)為不規(guī)則的RR 間期,P 波消失,代之為F 波。經(jīng)典檢測方法主要通過RR 間期分析[3],時域法或頻域法分析P 波形態(tài)[4-5]。Steven 等[6]通過期望最大化算法構(gòu)造P 波高斯混合模型以判斷P 波消失,其靈敏度、特異性分別為98.09%、91.66%;Du 等[7]使用QT 間期中RR 間期差、F 波均值、標(biāo)準(zhǔn)差作為特征來檢測,其靈敏度、陽性精確率、準(zhǔn)確率分別為94.13%、98.69%、93.67%;Lian等[8]通過RR 間期和兩個相鄰RR 間期差為特征構(gòu)造平面直角坐標(biāo)系,每條數(shù)據(jù)劃分為包含32、64、128 個RR 間期的連續(xù)時間窗口,并對每個窗口進行AF 檢測,其靈敏度、特異性分別為95.90%、95.40%;孟丹陽等[9]先利用信息熵和連續(xù)小波變換篩選出奇異波形并識別出R 波,然后構(gòu)建BP神經(jīng)網(wǎng)絡(luò)將其時域特征作為訓(xùn)練數(shù)據(jù)用于陣發(fā)性房顫識別,最終使用AFDB 數(shù)據(jù)庫進行驗證,其靈敏度、特異性、準(zhǔn)確率分別為96.45%、95.03%、96.05%;魏曉玲等[10]提取心房信號的遞歸矩陣和兩個相鄰信號的相干譜作為特征,利用多特征融合與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的方法來識別房顫,最終使用MIT-BIH 數(shù)據(jù)庫進行驗證,其靈敏度、特異性、準(zhǔn)確率分別為99.88%、91.36%、95.62%。這些方法主要依賴人工提取特征,其過程可能丟失重要信息,從而難以反應(yīng)數(shù)據(jù)的內(nèi)在屬性導(dǎo)致算法性能下降,無法適用于龐大的群體。同時,人工特征提取計算代價較大,不利于臨床實時檢測。
近年來基于深度學(xué)習(xí)技術(shù)的模型可自動挖掘數(shù)據(jù)間的關(guān)聯(lián)信息并學(xué)習(xí)有效特征,在語音識別、圖像分類、文本翻譯等領(lǐng)域表現(xiàn)出色。Liman 等[11]設(shè)計兩個獨立的神經(jīng)網(wǎng)絡(luò),分別從ECG 和心率中提取相關(guān)特征,最終合并至遞歸神經(jīng)網(wǎng)絡(luò)用于描述相關(guān)序列,然后通過支持向量機(SVM)進行最終決策,其靈敏度、特異性分別為72.30%、98.70%;Hong 等[12]利用譜聚類算法構(gòu)造中心波并提取相關(guān)特征,結(jié)合13 層深度殘差網(wǎng)絡(luò)用于房顫檢測,使用數(shù)據(jù)為2017 計算心臟會議(Computing in Cardiology,CinC)提供,其中官方F1 分值為0.84;高碩等[13]利用卷積神經(jīng)網(wǎng)絡(luò)自動提取心電特征,通過投票法和學(xué)習(xí)法的集成策略識別房顫,最終使用中國心血管病數(shù)據(jù)庫進行驗證,準(zhǔn)確率為94.60%。高魯棒性模型依賴于大量的數(shù)據(jù),而實際采集的數(shù)據(jù)大多為正常竇性心律樣本,房顫只占少數(shù)。相比其他類樣本,房顫樣本分布不平衡,且許多非房顫節(jié)律表征出與房顫類似的不規(guī)則RR 間期,導(dǎo)致房顫識別準(zhǔn)確率下降。現(xiàn)有文獻算法中訓(xùn)練集和測試集均源于同一數(shù)據(jù)集,雖表現(xiàn)出較高的識別精度,但面向臨床數(shù)據(jù)則效果下降,導(dǎo)致模型泛化能力弱,且數(shù)據(jù)預(yù)處理階段耗費大量時間,難以應(yīng)用在單導(dǎo)心電記錄儀進行陣發(fā)性房顫檢測。
縮減特征工程,使用端到端的訓(xùn)練方式盡可能使模型從原始輸入到輸出,可給予模型更多的自動調(diào)節(jié)數(shù)據(jù)空間,以增加模型的整體契合度。因此,本文設(shè)計一種端到端的神經(jīng)網(wǎng)絡(luò),并與移動式單導(dǎo)心電記錄儀相結(jié)合進行陣發(fā)性房顫檢測,首先通過MIT-BIH 數(shù)據(jù)庫驗證算法可行性,然后使用臨床數(shù)據(jù)驗證算法泛化能力,提高檢測效率,使模型具有更高的普適性。
經(jīng)典的機器學(xué)習(xí)先經(jīng)過人工特征提取然后訓(xùn)練分類器模型進行預(yù)測。人工特征設(shè)計需要大量的專家知識,Lecun 等[14]最早提出卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)并用于手寫數(shù)字識別。近年來,CNN 作為一種廣泛應(yīng)用的分類器在語音識別、人臉識別、姿態(tài)分析、自然語言處理甚至腦電波分析等方面均有突破。標(biāo)準(zhǔn)CNN 包含卷積層、池化層和全連接層。
本文實驗數(shù)據(jù)來自MIT-BIH 標(biāo)準(zhǔn)心電數(shù)據(jù)庫。為改善算法魯棒性,本文從多個數(shù)據(jù)庫中選取不同類型的數(shù)據(jù),如心律失常數(shù)據(jù)庫(MIT-AD)[15]、惡性室性心律失常數(shù)據(jù)庫(MIT-MVA)[16]、房顫數(shù)據(jù)庫(MIT-AFD)[17]、持續(xù)性房顫數(shù)據(jù)庫(MIT-LAFD)[18]、正常竇性心律數(shù)據(jù)庫(MITNSR)等[19],同時將上海遠心醫(yī)療科技有限公司自主研發(fā)的單導(dǎo)心電記錄儀(Ryhthm WatchTM)采集的60 例數(shù)據(jù)作為全新的未知數(shù)據(jù)來測試算法泛化能力,數(shù)據(jù)采集得到倫理委員會批準(zhǔn)和患者知情同意[20]。該數(shù)據(jù)集以醫(yī)生判定結(jié)果作為標(biāo)準(zhǔn)判斷算法分析檢測的正確與否。受試者包含男 性37 例(71.7%),女 性23 例(38.3%),年 齡37~76(64.12±9.13)歲,其中臨床診斷為陣發(fā)性房顫32 例,正常竇性心律28 例。每例采樣率為256Hz,時長為30s。
本文將數(shù)據(jù)集中訓(xùn)練集記為TR,驗證集記為TE,表示為:

因心電信號為離散的時間序列,故將訓(xùn)練數(shù)據(jù)作為輸入樣本表示為:

其中,xi(t)表示為第i個樣本信號,xi(t)={xi[ 1 ],xi[ 2 ],…,xi[t]},記t時刻采樣點值為一個特征值,xi(t)∈?1250,∧為信號索引集合,yi作為信號類別,yi∈[0,1],其中1為房顫,0為非房顫。本文模型采用3 個局部區(qū)域塊用來表示特征,每塊含M個濾波器,尺寸為(Sb,b=1,…4)不等,通過輸入特征向量進行卷積運算,其輸出作為下一塊輸入,可表示為:

其中,t=(1,2…1250 -Sb+1),權(quán)重wk∈?Μ@Sb,bk∈?Μ為濾波器所對應(yīng)的偏置系數(shù),輸入信號xi(t)經(jīng)過線性運算后再由非線性激活函數(shù)Relu 進行線性修正以保證網(wǎng)絡(luò)稀疏性,加速模型收斂,其過程可表示為:

為了降低下一層輸入維度,約減參數(shù),本文對結(jié)果C 采取最大池化操作,其本質(zhì)是起到平移不變性作用,舍棄不明顯特征,剔除信號扭曲變形帶來的影響,減少計算代價。同時,為了防止每一層經(jīng)過線性修正后的輸出值范圍發(fā)生變化,可對池化后結(jié)果進行歸一化處理,使得訓(xùn)練集批量樣本分布服從標(biāo)準(zhǔn)正態(tài)分布,減小梯度彌散,網(wǎng)絡(luò)更加穩(wěn)定[21]。
將“分布式特征表示”映射到樣本標(biāo)記空間,故本文設(shè)計Lk(k=1,…,5) 層感知器,如圖1 所示(彩圖掃OSID 碼可見,下同)。在C3 卷積層經(jīng)過池化操作得到M個2 維特征圖,再計算每個特征圖的平均值,得到一個Vm(m=1,2,…,130)特征向量。該向量為輸入信號xi(t)的抽象特征表示,通過權(quán)重矩陣連接至L1~L4,其每層輸出通過式(4)計算的結(jié)果作為下一層輸入。本文最后采用邏輯回歸分類器將L5層作為輸出層,該層輸出結(jié)果s 通過Sigmoid函數(shù)計算出預(yù)測結(jié)果,可表示為:

式(5)中P為分布式特征屬于類別yc的后驗概率,θ為回歸系數(shù)。通過優(yōu)化θ使得代價函數(shù)J(θ) 最小,以此刻畫預(yù)測值和真實值的接近程度,表示如下:


Fig.1 CNN structure diagram with 3 convolution layers圖1 具有3 層卷積層的CNN 結(jié)構(gòu)
本文從MIT-AD、MIT-MVA、MIT-AFD、MIT-LAFD、MIT-NSR 共5 個數(shù)據(jù)庫中選取數(shù)據(jù)集DS={NSR、AF、AB、AFL、B、BI、HGEA、IVR、NOD、P、PM、PREX、SBR、SVTA、T、VF、VFIB、VFL、VT}的19 種心拍類型作為實驗數(shù)據(jù)。根據(jù)Mar 等[22]建議本文采取跨患者方式DS1={AF } 定義為房顫類,將DS2定義非房顫類,即有DS2=DS-DS1。為減小計算代價,適應(yīng)神經(jīng)網(wǎng)絡(luò)輸入,設(shè)定每個數(shù)據(jù)序列長度為10s,同時根據(jù)節(jié)律注釋對每個序列進行標(biāo)注。由于不同數(shù)據(jù)庫的采樣頻率存在差異,故對采樣率重新下采樣至125Hz,插值使用Matlab R2014 內(nèi)置的resample 函數(shù)。因正常心拍人群遠遠大于病態(tài)人群,故數(shù)據(jù)分布是類不平衡的。本文數(shù)據(jù)集中AF 類共12 184 例,除去NSR 和AF 的其他類屬于少數(shù)類,此類樣本共計4 875 例。為了增強算法魯棒性,本文對非AF 類進行過抽樣以保證類平衡,非AF 共計為12 203 例,其中包含NSR 類為7 328 例。
因數(shù)據(jù)集來源于多個數(shù)據(jù)庫,具有不同的單位量綱,為提升模型的收斂速度和精度,去除數(shù)據(jù)的單位限制,本文進行歸一化處理,轉(zhuǎn)化為無量綱的純數(shù)值以便不同單位或量級的指標(biāo)能夠進行比較和加權(quán)。常見的歸一化方式有Min-max 標(biāo)準(zhǔn)化、z-score 標(biāo)準(zhǔn)化兩種。本文采用z-score標(biāo)準(zhǔn)化,先求出原始數(shù)據(jù)的均值μ,標(biāo)準(zhǔn)差σ 經(jīng)過如下轉(zhuǎn)換:

使Z 符合標(biāo)準(zhǔn)正態(tài)分布,如圖2 所示。
本模型將80%數(shù)據(jù)集用于訓(xùn)練,20%用于驗證,采用二元交叉熵作為損失函數(shù),Adagrad 作為優(yōu)化器,初始學(xué)習(xí)率設(shè)為0.06。初始訓(xùn)練代數(shù)為150 輪,每代訓(xùn)練樣本為275例。本文采用早停法獲取最佳模型,同時在卷積層和全連接層使用dropout,其系數(shù)設(shè)為0.5 以防止模型過擬合,架構(gòu)使用Keras 和Tensorflow 作為后端實現(xiàn)。為減少模型學(xué)習(xí)時間,本文采用英偉達GTX 2080 Ti GPU 作為硬件計算平臺。通過計算靈敏度(SEN)、特異性(SPE)、陽性精確率(PPV)、準(zhǔn)確率(ACC)4 個指標(biāo)來評估模型分類性能[23],然后經(jīng)過5 折交叉驗證,求得其平均值作為最終評估指標(biāo)。其中:

其中,TP 為將房顫預(yù)測為房顫樣本數(shù),F(xiàn)P 為將非房顫預(yù)測為房顫樣本數(shù),TN 為將非房顫預(yù)測為非房顫樣本數(shù),F(xiàn)N 為將房顫預(yù)測為非房顫的樣本數(shù)。

Fig.2 Data before and after normalization圖2 歸一化前后數(shù)據(jù)
訓(xùn)練集與驗證集比例差異使得模型在驗證集上的性能變化明顯,同時從整個數(shù)據(jù)集中按照一定的比例隨機選擇驗證集會造成模型的不穩(wěn)定性,特別是數(shù)據(jù)集相對較小的情況下。為此本文采用K(K=5)折交叉驗證來評估模型穩(wěn)定性。本文將DS劃分為5 個大小相等的互斥子集,即DS=S1?S2?S3?S4?S5且Si?Sj=?(i≠j),依次將4 個子集選為訓(xùn)練集,剩余一個為驗證集,經(jīng)過5 次獨立實驗得出各評估指標(biāo)最終求出的平均值來驗證算法有效性。
本算法在MIT-BIH 數(shù)據(jù)庫經(jīng)過5 折驗證后的結(jié)果如表1 所示。從表1 可以看出,模型在第二次劃分的數(shù)據(jù)集(K=2)下效果最好,靈敏度、特異性、陽性精確率、準(zhǔn)確率分別99.23%、98.16%、97.81%、98.64%。其驗證集的平均靈敏度、特異性、陽性精確率、準(zhǔn)確率分別為98.41%、97.76%、97.74%、98.07%。最后使用5 次不同的驗證模型分別對60例臨床數(shù)據(jù)進行測試,首先設(shè)置10s 的時長窗口,其移動步長S 分別以10s、8s、5s、3s、1s 為單位對每例數(shù)據(jù)進行重疊截取,如圖3 所示。此時發(fā)現(xiàn)步長為1s 時算法泛化性能最好,其平均靈敏度、特異性、陽性精確率、準(zhǔn)確率分別為96.88%、89.29%、91.18%、93.33%,如表2 所示。為更進一步驗證本文算法的可行性,選取有代表性的Erdenebayar等[24]的二分類模式方法進行對比實驗。首先基于本文數(shù)據(jù)集進行網(wǎng)絡(luò)訓(xùn)練,其驗證集性能表現(xiàn)與本文對比結(jié)果如表3 所示。最后,模型采用單導(dǎo)數(shù)據(jù)進行測試并與文獻方法進行對比,結(jié)果如表4 所示。從表4 可知,雖然本文的總體靈敏度相比文獻低1.25%,但其特異性、陽性精確度、準(zhǔn)確率比文獻方法高,從而驗證了本方法在陣發(fā)性房顫檢測中的是有效性。

Table 1 Performance of algorithm in verification set表1 算法在驗證集的性能表現(xiàn)

Fig.3 Clinical data(30s duration)圖3 臨床數(shù)據(jù)(30s 時長)

Table 2 Algorithm performance in real data表2 算法在臨床數(shù)據(jù)的性能表現(xiàn)

Ta ble 3 Comparison of the performance of the literature algorithm with algorithm of this paper in the verification set表3 文獻算法與本文方法在驗證集上的性能對比
本文算法與近幾年其他同類算法結(jié)果如表5 所示。Erdenebayar 等[24]先對數(shù)據(jù)進行帶通濾波和離散小波變換以去除基線漂移和高頻分量,最終基于7 層CNN 模型進行分類,雖然該研究在MIT 數(shù)據(jù)集上取得較高的分類性能,但其原始樣本僅包含房顫類與正常類,樣本來源較為單一,難以反映實際臨床情形,最終因算法魯棒性較差無法應(yīng)用至臨床檢測。本文采用文獻[24]方法基于同一測試集進行對比研究,表4 的結(jié)果表明本文指標(biāo)整體上要優(yōu)于文獻算法。文獻方法預(yù)處理數(shù)據(jù)要30s 時長,而本文僅需要10s;Fan 等[25]采用兩種不同濾波器的卷積流分別提取ECG特征,最終將融合特征通過3 層感知層映射為2 個標(biāo)記空間,其數(shù)據(jù)來源于CinC,數(shù)據(jù)時長為20s,最高靈敏度、特異性、陽性精確率、準(zhǔn)確率分別為93.77%、98.77%、91.78%、98.13%;Wang[26]提出一種CNN與修改動態(tài)遞歸網(wǎng)絡(luò)(ENN)堆疊的方法,該方法引入調(diào)節(jié)上下文單元反饋信息的權(quán)重值α,同時考慮來自上下文單元的信息與全部隱含層信息反饋,最高靈敏度、特異性、準(zhǔn)確率分別為97.90%、97.10%、97.40%。盡管Fan 等在訓(xùn)練集中復(fù)制房顫類樣本以阻止網(wǎng)絡(luò)學(xué)習(xí)非相關(guān)特性以增強梯度方向效果,但該做法并未引入新的特征信息,不具備總體樣本代表性;文獻[27]所采用的數(shù)據(jù)集中存在房顫類樣本占比少、類間分布不平衡問題;文獻[28]采用個體內(nèi)分類模式,忽略了個體間的差異[29],導(dǎo)致算法普適性差難以在臨床檢測中應(yīng)用。本文采用端到端的神經(jīng)網(wǎng)絡(luò),剔除了人工提取形態(tài)特征易錯、易漏等問題[30-31],與Wang 所使用的原始ECG 序列相比,雖讓采用了帶通濾波消除基線漂移及肌肉噪聲的干擾使得相關(guān)特征更加明顯,但其預(yù)處理因增加了計算代價因而降低了房顫的實時檢測效率。與傳統(tǒng)的房顫識別相比,尤其像基于RR 間期識別算法需要40s-120s 數(shù)據(jù),本文采用10s 數(shù)據(jù)更好地提高了效率,方便了臨床診斷,同時進一步驗證了本文方法在陣發(fā)性房顫檢測中的有效性。特別是本文使用的模型基于圖形處理器計算平臺,對單個樣本的處理時間為5ms 左右,可為單導(dǎo)心電記錄儀及實時云計算應(yīng)用提供參考。

Table 4 Performance comparison of algorithm in this paper and the literature algorithm in clinical data表4 本文和文獻算法在臨床數(shù)據(jù)的性能對比
本文提出基于一維卷積神經(jīng)網(wǎng)絡(luò)的陣發(fā)性房顫識別方法,該方法將CNN 自動提取的心電特征輸入到二元分類器中再進行房顫識別。采用MIT-BIH 數(shù)據(jù)庫進行實驗,結(jié)果表明算法可行,在單導(dǎo)心電記錄儀采集的數(shù)據(jù)上進行測試,結(jié)果表現(xiàn)出算法良好的泛化優(yōu)勢,對單個樣本的處理時間也表明該方法具有較高的計算效率,可為移動式單導(dǎo)心電記錄儀及實時云計算提供參考,也可為臨床提供輔助診斷。但該方法在二分類情況下噪音類數(shù)據(jù)對精度的影響是后續(xù)需研究的問題。下一步擬從以下幾方面研究更進一步優(yōu)化模型:①擴充實際臨床樣本驗證算法精度、采用多途徑數(shù)據(jù)集測試模型泛化能力;②加入噪聲數(shù)據(jù),由二分類變?yōu)樗姆诸悊栴},提升模型魯棒性;③結(jié)合循環(huán)神經(jīng)網(wǎng)絡(luò)進行建模分析。

Table 5 Presentation of similar studies in recent years表5 近幾年同類研究結(jié)果展示