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