王 銳,周作建,李 燦,李紅巖,郎許鋒,宋懿花
(南京中醫(yī)藥大學(xué)人工智能與信息技術(shù)學(xué)院,江蘇 南京 210023)
房顫(心房顫動)是一種不致命的心臟疾病,但它可能導(dǎo)致心臟功能不全、血栓形成或中風(fēng)等嚴(yán)重后果。房顫常常伴隨心悸、心率不齊、氣短、胸痛等癥狀[2]。2015 年中國高血壓調(diào)查發(fā)現(xiàn),大于35 歲的居民房顫患病率為0.7%,農(nóng)村居民高于城市居民,分別為0.75%和0.63%[3]。因此,對于房顫患者而言,及早診斷和治療非常重要。根據(jù)房顫的持續(xù)時間,可將其分為三個階段:陣發(fā)性房顫、持續(xù)性房顫和永久性房顫[4]。
隨著科技的發(fā)展,利用計算機(jī)分析心電圖已成為目前最便捷的診斷手段之一。檢測心電信號的方法主要分為兩大類,即機(jī)器學(xué)習(xí)和深度學(xué)習(xí)。機(jī)器學(xué)習(xí)方法通常需要手動提取特征[5],當(dāng)原始信號出現(xiàn)噪聲過多等情況時,手動提取的難度大大增加,此時端到端的深度學(xué)習(xí)算法的優(yōu)勢就顯現(xiàn)出來[6]。深度學(xué)習(xí)算法通常比機(jī)器學(xué)習(xí)算法更具優(yōu)勢。例如,卷積神經(jīng)網(wǎng)絡(luò)(CNN)可以直接輸入原始心電信號,并自動從中學(xué)習(xí)特征,從而實(shí)現(xiàn)心律失常的自動檢測和診斷。如Zhao Renxing 等人將處理后的數(shù)據(jù)輸入到用卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建的深度學(xué)習(xí)模型中,得到從心電信號中自動提取出的心房顫動特征,用五種交叉驗(yàn)證策略來證明該模型的可操作性[7]。因此,目前利用計算機(jī)分析心電圖已經(jīng)成為一種非常便捷和可靠的心律失常診斷手段。
本文使用的數(shù)據(jù)集可以分類為三種不同的數(shù)據(jù)標(biāo)簽:非心房顫動(non atrial fibrillation),持續(xù)性心房顫動(persistent atrial fibrillation),陣發(fā)性心房顫動(paroxysmal atrial fibrillation)。將以上三類數(shù)據(jù)輸入模型中,為了增加神經(jīng)網(wǎng)絡(luò)的復(fù)雜度和增強(qiáng)其學(xué)習(xí)能力,可以采用Swish 激活函數(shù),并在卷積層之后使用Batch Normalization(BN)技術(shù),可以將數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化。此外,在每一層輸入的時候加個預(yù)處理操作,將數(shù)據(jù)歸一化,以提高訓(xùn)練效果;模型后端則使用了LSTM 網(wǎng)絡(luò),引入了注意力機(jī)制,以調(diào)整不同特征的重要性,并能夠更好地處理長序列數(shù)據(jù)。
卷積神經(jīng)網(wǎng)絡(luò)是一種深度神經(jīng)網(wǎng)絡(luò)[7],通過對特征的提取,來實(shí)現(xiàn)對圖像的分類、分割等任務(wù)。卷積神經(jīng)網(wǎng)絡(luò)是由隱含層、輸出層和輸入層三個基本結(jié)構(gòu)組成的[8]。卷積神經(jīng)網(wǎng)絡(luò)通過引入卷積層和池化層的結(jié)構(gòu),能夠更有效地提取圖像和語音信號中的特征,實(shí)現(xiàn)更高水平的分類和識別,得到一系列特征圖,并增強(qiáng)特征的不變性和泛化能力。池化層可以進(jìn)一步減少特征圖的大小,同時保留重要的特征信息,全連接層可以將所有的特征信息進(jìn)行匯總,最終輸出分類或回歸的結(jié)果。除了基本結(jié)構(gòu)外,卷積神經(jīng)網(wǎng)絡(luò)還有許多擴(kuò)展和改進(jìn),這些擴(kuò)展和改進(jìn)能夠處理更復(fù)雜的問題。卷積層在深度學(xué)習(xí)模型中的本質(zhì)是對輸入的數(shù)據(jù)進(jìn)行特征提取以及強(qiáng)化處理。CNN 通常采用梯度下降等優(yōu)化算法進(jìn)行訓(xùn)練,增加特征的多樣性[9]。卷積神經(jīng)網(wǎng)絡(luò)優(yōu)化的方式有很多種,如引入注意力機(jī)制、使用變形卷積等新技術(shù),進(jìn)一步提升了模型的性能和效果。
長短期記憶網(wǎng)絡(luò)是一種特殊RNN,1997 年由Schmidhuber和Hochreiter提出的[10]。它可以有效解決長序列訓(xùn)練過程中易出現(xiàn)的梯度消失和梯度爆炸的問題[11],LSTM 結(jié)構(gòu)中有記憶單元和輸入門、輸出門、遺忘門這三類門。這三類門都是邏輯單元,自身輸出不能被送入其余的神經(jīng)元中,而是承擔(dān)在網(wǎng)絡(luò)的其余部分和記憶單元相接的邊際處設(shè)置權(quán)值,誤差函數(shù)選擇性的記憶反饋并且隨著梯度下降的過程修正參數(shù)[12]。LSTM 是一種循環(huán)神經(jīng)網(wǎng)絡(luò)的變體,適合于處理時間序列數(shù)據(jù)[13]。LSTM 可應(yīng)用于分類、預(yù)測和序列到序列的翻譯等任務(wù),如股票價格預(yù)測、自然語言情感分析和語音識別等。此外,LSTM 還可以處理非常長的時間序列數(shù)據(jù),廣泛應(yīng)用于多個領(lǐng)域,表現(xiàn)出優(yōu)秀的性能。
注意力機(jī)制的輸入通常是一組向量表示的信息,例如序列中的單詞或句子中的詞向量。通過注意力機(jī)制,模型能夠自適應(yīng)地從輸入中選擇性地關(guān)注不同的信息,并且不需要事先確定關(guān)注哪些部分。其基本思想是在給定一組查詢和一組鍵值對的情況下,計算每個查詢與鍵的兼容性,將每個鍵的值乘以其對應(yīng)查詢的權(quán)重,然后將所有乘積加起來得到最終輸出。在這個過程中,注意力機(jī)制將一組鍵值對映射到一組輸出向量,這些輸出向量捕捉了查詢與鍵的交互信息。其計算步驟可以分以下三步。
⑴相似度計算:計算每個查詢與每個鍵之間的相似度,這通常涉及到計算兩個向量之間的點(diǎn)積或者其他相似度度量方式。
⑵權(quán)重計算:將相似度轉(zhuǎn)換為對應(yīng)的權(quán)重,這通常通過將相似度傳遞給softmax 函數(shù)來完成,softmax函數(shù)會將相似度轉(zhuǎn)換為概率分布,使得所有權(quán)重的和為1。
⑶加權(quán)求和:將每個鍵-值對表示為一個向量,使用權(quán)重向量對這些向量進(jìn)行加權(quán)求和,得到最終的輸出向量。
本文的點(diǎn)積模型是一種常見的注意力機(jī)制模型,如圖1所示。其利用矩陣乘積計算,提高了計算效率,具有簡單、高效和易于解釋等優(yōu)點(diǎn),如式⑴所示。式⑴中qi表示查詢序列,ki表示鍵序列。
注意力機(jī)制在深度學(xué)習(xí)中的應(yīng)用非常廣泛。例如,在機(jī)器翻譯任務(wù)中,注意力機(jī)制被用來對源語言句子中的每個單詞進(jìn)行加權(quán),以便更好地捕捉與目標(biāo)語言句子的對應(yīng)關(guān)系。在語音識別中,注意力機(jī)制可以用來對語音信號中的不同時間步進(jìn)行加權(quán),以便更好地捕捉與文本之間的對應(yīng)關(guān)系。
本研究是將CNN 與LSTM 結(jié)合,建立一種新的深度學(xué)習(xí)網(wǎng)絡(luò)模型,通過數(shù)據(jù)預(yù)處理將CPSC 2021(2021 年中國生理信號挑戰(zhàn)賽)數(shù)據(jù)輸入本文所設(shè)計的網(wǎng)絡(luò)模型之中,利用CNN的多次卷積和池化操作提取心電數(shù)據(jù)的局部特征,將提取的特征輸入下一層的LSTM網(wǎng)絡(luò),結(jié)合注意力機(jī)制對心電信號進(jìn)行分類。
數(shù)據(jù)的采集分為兩個階段,第一階段一共719 條記錄,采集了10 名房顫患者(5 名陣發(fā)性房顫患者)和39名非房顫患者的數(shù)據(jù),第二階段一共706條記錄,采集了37 名房顫患者(18 名陣發(fā)性房顫患者)和14 名非房顫患者的數(shù)據(jù)。
心電信號是人體的一種微弱生理信號,通常采集到的心電信號會伴隨有基線漂移、工頻干擾、肌電干擾等噪聲的影響[14]。常見的降噪方式有濾波降噪和小波降噪兩種。本文只進(jìn)行簡單的濾波,采用小波變換的降噪方式,主要解決心電信號中基線漂移的問題。本文隨機(jī)選取了“data_104_23”號數(shù)據(jù)的20s信號數(shù)據(jù)進(jìn)行預(yù)處理展示,如圖2所示。
圖2 心電信號預(yù)處理前后對比
心電信號具有一維的時序性,我們根據(jù)這一特點(diǎn)將LSTM 融入到CNN 網(wǎng)絡(luò)中,并引入注意力機(jī)制。就CNN 算法而言,它對心電信號的波形識別比較敏銳,LSTM 算法可以對心電信號中的時間序列特征進(jìn)行深度挖掘,在不用進(jìn)行繁瑣的超參數(shù)的調(diào)試下,記憶長期信息。而注意力機(jī)制的加入可以完成對模型的優(yōu)化。本文所設(shè)計的具體結(jié)構(gòu)如圖3所示。
江浙滬地區(qū)縣域鄉(xiāng)村旅游公路屬于我國縣域鄉(xiāng)村旅游公路的組成部分,并不能代表我國全部縣域鄉(xiāng)村旅游公路,關(guān)于縣域鄉(xiāng)村旅游公路選線適宜性的指標(biāo)體系和評價模型還需要更深入的研究和探討。期待未來能夠不斷完善和健全縣域鄉(xiāng)村旅游相關(guān)的研究,為鄉(xiāng)村旅游業(yè)的發(fā)展提供一個積極、理想的載體。
圖3 本文模型結(jié)構(gòu)圖
本文的模型利用CNN 提取心電信號中的特征,并通過LSTM 模塊對特征進(jìn)行處理,最后采用點(diǎn)積注意力機(jī)制和softmax分類器進(jìn)行分類識別。
具體地,CNN 模塊采用了三個卷積層,卷積核邊長設(shè)置為5,三層隱藏單元數(shù)分別設(shè)置為256、128 和64。在每個卷積層后使用批量歸一化BN,加快收斂速度,提高模型的泛化能力。Swish 函數(shù)被用作激活函數(shù),以控制數(shù)據(jù)的幅度,避免數(shù)據(jù)幅度過度變化。為了防止過擬合,卷積層后加入了最大池化操作,對特征數(shù)據(jù)進(jìn)行降維,然后輸入到LSTM模塊中。
在本文的模型中,經(jīng)過CNN 模型生成的通道維數(shù)作為LSTM 輸入的特征維度輸入,設(shè)置dropout 為0.2,將隱藏單元數(shù)設(shè)置為64。使用tanh 作為激活函數(shù),以實(shí)現(xiàn)對輸入數(shù)據(jù)的非線性變換,加快收斂速度,接著進(jìn)行全局平均池化操作,將整個特征信息壓縮到一個數(shù)值上,減少模型的參數(shù)量,該層輸出后經(jīng)過一個全連接層,將向量映射到指定輸出大小的向量空間,這樣可以進(jìn)一步提取到數(shù)據(jù)的特征,得到模型的輸出。
最后,通過點(diǎn)積注意力機(jī)制對特征進(jìn)行處理,實(shí)現(xiàn)特征的加權(quán),在使用softmax 分類器進(jìn)行分類識別時,softmax 函數(shù)將多個神經(jīng)元輸出,并將結(jié)果映射到(0,1)區(qū)間,從概率論的角度來看,完成了多分類。然后,我們選擇具有最高概率的類別作為輸出結(jié)果,即將概率最大的類別作為輸入向量的分類標(biāo)簽。完成對三種樣本數(shù)據(jù)的識別,實(shí)現(xiàn)原始信號的分類。本模型的設(shè)計采用了多種優(yōu)化方法,使得模型具有更高的泛化能力和魯棒性,可以用于心電信號的分類和診斷。
實(shí)驗(yàn)分所用的數(shù)據(jù)集為訓(xùn)練集和測試集,其數(shù)據(jù)分布如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)分布
針對本文提出的網(wǎng)絡(luò)模型,引入混淆矩陣,并從中提取出四個指標(biāo)Acc、F1、P、R,即分類準(zhǔn)確率Acc、F1分?jǐn)?shù)、精確率和召回率,其定義如下:
⑴分類準(zhǔn)確率:
⑶精確率:
⑷召回率:
通過對本文所設(shè)計模型的反復(fù)訓(xùn)練和網(wǎng)絡(luò)超參數(shù)的調(diào)整,輸出相應(yīng)的三分類結(jié)果。本文采取將CNN、LSTM 與改進(jìn)后的模型進(jìn)行對比,改進(jìn)后的模型是將CNN 與引入注意力機(jī)制的RNN 模塊的融合,對比的CNN 和LSTM 模型都是改進(jìn)模型的子模塊。三個模型的對比結(jié)果如表2所示。
表2 模型結(jié)果對比
由表2 結(jié)果可知,本文所提出的模型在準(zhǔn)確率為0.9771,F(xiàn)1 為0.9609,精確率為0.9765,召回率為0.9799。在準(zhǔn)確率方面本文模型略低于LSTM 模型,但高于CNN 模型,在其他三個指標(biāo)中,本文模型都優(yōu)于其他兩個模型,且效果有顯著提升。從對比實(shí)驗(yàn)的結(jié)果來看,本文提出的模型在準(zhǔn)確率方面比CNN模型提高了0.89%,在F1 得分方面分別提高了12.54%、8.77%,在精確率方面分別提高了12.09%、8.33%,在召回率方面分別提高了9.61%、6.42%??梢钥闯觯⒁饬C(jī)制的引入可以使網(wǎng)絡(luò)更加關(guān)注訓(xùn)練數(shù)據(jù)中的關(guān)鍵特征,從而提高網(wǎng)絡(luò)的泛化能力,使其在處理新數(shù)據(jù)時表現(xiàn)更好??傮w而言,將CNN 和LSTM 融合并加入注意力機(jī)制在一定條件下優(yōu)于CNN 和LATM 單獨(dú)構(gòu)造的分類模型的性能。
本文提出基于心電信號的房顫識別算法,利用心電信號的一維時序性特征,將卷積神經(jīng)網(wǎng)絡(luò)和加入注意力機(jī)制的長短期記憶網(wǎng)絡(luò)進(jìn)行融合,用于三分類的房顫信號識別。模型主要在CNN 模塊使用了Swish函數(shù)作為激活函數(shù),以控制數(shù)據(jù)的幅度,避免數(shù)據(jù)幅度的過度變化。并在LSTM 中引入了點(diǎn)積注意力機(jī)制,減小運(yùn)算量,提高了模型的準(zhǔn)確性。在通過預(yù)處理的訓(xùn)練數(shù)據(jù)上進(jìn)行訓(xùn)練,在測試集上進(jìn)行了測試,通過對比其子模塊,該模型雖在準(zhǔn)確率方面略低于LSTM模型,但綜合四項評價指標(biāo)而言,其性能優(yōu)于另外兩種模型。
本文提出的模型在以下幾方面還有提升的空間:①本研究所使用的數(shù)據(jù)量較大,在使用模型對數(shù)據(jù)進(jìn)行訓(xùn)練和驗(yàn)證的時候花費(fèi)的時間較長。②僅采用CPSC2021的數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn),并未在其他公開數(shù)據(jù)集和臨床真實(shí)數(shù)據(jù)中測試過性能。