景恩彪,田裕,紀(jì)占林
(華北理工大學(xué)人工智能學(xué)院,唐山063210)
社會(huì)的進(jìn)步伴隨著諸多隱藏的問題。由世衛(wèi)組織權(quán)威報(bào)道,心血管疾病而死亡的人數(shù)在全球范圍內(nèi)持續(xù)增長,嚴(yán)重威脅到人們的正常學(xué)習(xí)和生活。對(duì)于心血管疾病的診斷,心電圖(Electrocardiogram,ECG)是最實(shí)用的方法,因此被心臟病學(xué)專家廣泛使用。全世界已經(jīng)開發(fā)出各種心律失常自動(dòng)檢測(cè)技術(shù)來對(duì)患者進(jìn)行診斷。
人工的診斷在長時(shí)間實(shí)時(shí)監(jiān)測(cè)方面存在著不小的問題,由于心電圖手工診斷心律失常非常耗時(shí),監(jiān)測(cè)巨量的數(shù)據(jù)肯定是無法實(shí)現(xiàn)的,實(shí)時(shí)性也得不到滿足。更重要的是,醫(yī)生長時(shí)間觀察處理波形,肯定會(huì)感到疲勞,一些在心電圖上顯示的異常就有可能被忽視掉,誤診漏診的現(xiàn)象不可避免,影響著識(shí)別的準(zhǔn)確率。
計(jì)算機(jī)的出現(xiàn)緩解了這一問題,醫(yī)生可以借助計(jì)算機(jī)更有效率地進(jìn)行對(duì)心電圖的診斷[1]。將計(jì)算機(jī)技術(shù)應(yīng)用到醫(yī)療診斷方面,進(jìn)行心電數(shù)據(jù)分析,先進(jìn)通信技術(shù)與生物信號(hào)領(lǐng)域相結(jié)合,遇到心血管疾病時(shí)可以及早發(fā)現(xiàn)并做出應(yīng)對(duì)。本文以心電圖波形類型識(shí)別為研究方向,依據(jù)心電圖標(biāo)準(zhǔn)數(shù)據(jù)集MIT-BIH的數(shù)據(jù)用小波變換、神經(jīng)網(wǎng)絡(luò)以及延伸模型殘差網(wǎng)絡(luò)等方式深層提取心電波形與心電異常事件之間的關(guān)系特征,構(gòu)建精準(zhǔn)預(yù)測(cè)模型,達(dá)到監(jiān)測(cè)與預(yù)警的目的。本文從心電圖監(jiān)測(cè)這一研究論點(diǎn)著手,結(jié)合神經(jīng)網(wǎng)絡(luò)算法,以求在心電監(jiān)測(cè)領(lǐng)域有新的突破性的研究。
心電圖經(jīng)過全球?qū)W者100多年研究與應(yīng)用,在當(dāng)今仍然是是檢查心臟病不可或缺的手段,在監(jiān)測(cè)心律失常領(lǐng)域的作用至關(guān)重要。1885年,生物學(xué)家Einthoven通過使用毛細(xì)管靜電計(jì)對(duì)心電圖波形進(jìn)行記錄[2],為后世創(chuàng)造了一種經(jīng)典的手段。
近年來,人工智能已被應(yīng)用于心電圖預(yù)測(cè)領(lǐng)域。機(jī)器學(xué)習(xí)(Machine Learning,ML)的重要分支深度學(xué)習(xí),在預(yù)測(cè)ECG波形和異常ECG事件方面取得巨大的成功,從而提高檢測(cè)精度。一種想法是將ECG信號(hào)視為一維數(shù)據(jù),并根據(jù)應(yīng)用于文本的標(biāo)準(zhǔn)方法對(duì)其進(jìn)行處理。Guo等人將心電信號(hào)的波動(dòng)分為四類,提出一種基于EMD和多類別有向無環(huán)圖的支持向量機(jī)[3]。Thomas M等人對(duì)心電波形數(shù)據(jù)進(jìn)行雙樹復(fù)小波變換[4],實(shí)現(xiàn)了特征的自動(dòng)提取。
深度學(xué)習(xí)是基于使用人工神經(jīng)網(wǎng)絡(luò)和表示學(xué)習(xí)。其中,卷積神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于許多領(lǐng)域。在心電信號(hào)分類中也表現(xiàn)出良好的性能,許多研究都取得了很好的分類精度。Hannun等人開發(fā)出一種基于34層CNN的算法[5],利用傳感和監(jiān)測(cè)設(shè)備產(chǎn)生的單導(dǎo)聯(lián)ECG數(shù)據(jù)檢測(cè)各種心律失常。這種算法在檢測(cè)心臟疾病方面比普通心臟病專家表現(xiàn)得更好。Sellami和Hwang提出一個(gè)具有批量加權(quán)損失的穩(wěn)健Deep CNN[6],在心電識(shí)別方面也有突出的表現(xiàn)。Yang等人提出一種基于ResNet的注意機(jī)制[7],用于MIT和PTB診斷數(shù)據(jù)集中的ECG數(shù)據(jù)處理。這個(gè)模型在兩個(gè)數(shù)據(jù)集中都很突出。Park等人使用一個(gè)SE-ResNet模型,該模型屬于帶有壓縮和激勵(lì)塊的殘差網(wǎng)絡(luò)[8],其性能優(yōu)于ResNet基線模型。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是傳統(tǒng)的前向傳播的變種[9],由于其對(duì)圖像數(shù)據(jù)的特征設(shè)計(jì)與描述是傳統(tǒng)機(jī)器學(xué)習(xí)方法不可比擬的,故一開始在計(jì)算機(jī)視覺方面出現(xiàn)并發(fā)展起來。CNN的設(shè)計(jì)靈感來源于圖像中的感受野這一重要含義,類比到數(shù)據(jù)中就代表著特征。CNN由多個(gè)卷積層組成,層與層的處理功能模仿的是視覺皮層細(xì)胞處理圖像的過程。圖1為識(shí)別心電圖的卷積神經(jīng)網(wǎng)絡(luò)。
圖1 卷積神經(jīng)網(wǎng)絡(luò)整體結(jié)構(gòu)
在第一階段中,卷積核用于掃描圖像,通過其滑動(dòng)映射功能將樣本的感受野代入網(wǎng)絡(luò)。在卷積神經(jīng)網(wǎng)絡(luò)中,盡量加入不同尺寸、通道的卷積核來進(jìn)行操作,達(dá)到信息的交互。在卷積層之后,數(shù)據(jù)通常送入池化層來對(duì)維度進(jìn)行收縮,進(jìn)行下采樣,從而減少特征和網(wǎng)絡(luò)的計(jì)算復(fù)雜性。需要注意的是,當(dāng)每個(gè)特征映射的維數(shù)降低時(shí),池化步驟保留了最重要的信息,常用的池化操作是最大池化。然后,第一級(jí)的輸出變成第二級(jí)的輸入,并采用新的卷積核。在下一階段,CNN使用一個(gè)全連接層,然后是通常使用可以輸出類別概率的Softmax激活函數(shù)進(jìn)行分類[10]。
卷積運(yùn)算的公式可以概括為:
池化層的作用是模仿人類視覺系統(tǒng),降低數(shù)據(jù)的維數(shù),并用更高層次的特征來指代圖像[11],公式如下:
利用最大似然函數(shù)在全連接層計(jì)算每個(gè)樣本的概率,將學(xué)習(xí)到的特征映射到目標(biāo)標(biāo)簽上,并以概率最高的標(biāo)簽作為分類結(jié)果,從而實(shí)現(xiàn)CNN分類。
殘差結(jié)構(gòu)的目的,就是讓神經(jīng)網(wǎng)絡(luò)保留基本的恒等映射的能力。這種能力可以隨著網(wǎng)絡(luò)的堆疊,保證網(wǎng)絡(luò)訓(xùn)練結(jié)果至少不會(huì)發(fā)生退化。
假設(shè)神經(jīng)網(wǎng)絡(luò)的輸入?yún)?shù)是x,目標(biāo)輸出是H(x),H(x)的內(nèi)部結(jié)構(gòu)可能無法被清晰表述。ResNet允許子模塊直接學(xué)習(xí)的殘差F(x)=H(x)-x使目標(biāo)輸出成為F(x)+x,避免了由于卷積層太多而導(dǎo)致的性能下降和準(zhǔn)確率降低的問題。右側(cè)的結(jié)構(gòu)屬于shortcut連接,通過在激活函數(shù)前的shortcut操作,將這一層之前的輸出和通過這一層網(wǎng)絡(luò)后得到的輸出相加,將相加后的值送到激活函數(shù)中得到本層的總輸出。圖2為殘差塊結(jié)構(gòu)。
圖2 殘差塊結(jié)構(gòu)
ResNet由于存在shortcut連接,假設(shè)輸入為x,則輸出y為:
正常的數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)得到輸出的關(guān)系如下,由于中間存在激活函數(shù)ReLU,所以考慮到雙層權(quán)重,則有:
一般使用激活函數(shù)ReLU增加非線性,把函數(shù)和結(jié)構(gòu)兩層的權(quán)重W1與W2關(guān)聯(lián)起來。
改變通道數(shù)目可以使信號(hào)的輸入數(shù)據(jù)和輸出數(shù)據(jù)的維度發(fā)生改變,這里在短接時(shí)對(duì)x做一個(gè)線性變換Ws,如下式。
回顧近年來提出的各大網(wǎng)絡(luò)模型,ResNet才是從底層思想上深刻理解了DL理論體系的深層結(jié)構(gòu)。除了重要的殘差思想,ResNet選取常規(guī)的SGD[12]優(yōu)化器,而不是使用一些新興的優(yōu)化方法。使用一個(gè)合理的初始化函數(shù),可以最大限度的保持訓(xùn)練特征的完整性。得益于這種特殊結(jié)構(gòu),即便使用上百層的網(wǎng)絡(luò)結(jié)構(gòu)來構(gòu)造模型也有了意義。
神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練效果與數(shù)據(jù)量成正比。數(shù)據(jù)量的增加,伴隨著模型中個(gè)單元的連接數(shù)目增加,分類精度也就得到了提高。輸入數(shù)據(jù)的維度和隱藏層的神經(jīng)元數(shù)目影響著一個(gè)完全連通的神經(jīng)網(wǎng)絡(luò)的大小。一般來說,網(wǎng)絡(luò)參數(shù)的數(shù)目會(huì)越來越多,模型變大,訓(xùn)練的速度自然就會(huì)比以前慢。為了解決這一問題,本文采用具有局部連接和參數(shù)共享特性的卷積神經(jīng)網(wǎng)絡(luò)。CNN可以減少模型參數(shù)的數(shù)量,從而加快模型的訓(xùn)練速度。對(duì)于單導(dǎo)聯(lián)的心電波形數(shù)據(jù),可以看作為一維時(shí)間序列,所以本文提出的研究方法對(duì)CNN進(jìn)行改進(jìn),提出一種改進(jìn)的ResNet-18單導(dǎo)聯(lián)心電圖自動(dòng)分類模型。該模型能夠從輸入的心電數(shù)據(jù)中提取到有用的多個(gè)特征,從而有效地獲得心電數(shù)據(jù)內(nèi)部結(jié)構(gòu)特征的表征,從而提高分類精度。圖3顯示了改進(jìn)的ResNet-18模型結(jié)構(gòu)。
圖3 改進(jìn)的ResNet-18模型
改進(jìn)的ResNet-18模型分為四個(gè)部分:卷積層、經(jīng)典ResNet層、改進(jìn)ResNet層和全連接層。
第一部分,卷積層在獲得輸入數(shù)據(jù)后,進(jìn)行數(shù)據(jù)的特征提取,以便為下一個(gè)更深層次的輸入做好準(zhǔn)備。
第二部分使用了經(jīng)典的ResNet結(jié)構(gòu),它被認(rèn)為是ECG多分類的最佳模型之一。在這一部分中,輸入數(shù)據(jù)進(jìn)行兩次卷積,并在兩次卷積之間加上修正的線性單元ReLU。ReLU對(duì)部分神經(jīng)元的輸出進(jìn)行歸零化處理,使得網(wǎng)絡(luò)稀疏化,減少了參數(shù)間的相互依賴性。它還可以減輕過擬合問題的發(fā)生。另外,將卷積前的數(shù)據(jù)輸入到最大池層,將樣本劃分為多個(gè)特征區(qū)域,并以某個(gè)區(qū)域的最大值作為區(qū)域代表,以減少計(jì)算量和參數(shù)數(shù)目。最后,添加兩種經(jīng)過不同處理的相同維數(shù)的數(shù)據(jù),完成塊模塊的創(chuàng)建。這一步的目的是繼承前一步的優(yōu)化效果,使模型繼續(xù)收斂。
為了獲得更好的性能,在第三部分使用了改進(jìn)的ResNet結(jié)構(gòu)。在經(jīng)典ResNet結(jié)構(gòu)前加入一個(gè)批處理范數(shù),以加快神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,加快收斂速度,保持算法的穩(wěn)定性。詳細(xì)的模型經(jīng)過7次這種結(jié)構(gòu),然后將數(shù)據(jù)發(fā)送到模型的下一部分。
最后,將輸出數(shù)據(jù)特征通過全連接層變成一維向量,并用適合多目標(biāo)分類的softmax函數(shù)對(duì)向量進(jìn)行回歸。其目的是將全連接層的輸出特征向量轉(zhuǎn)換成指數(shù)函數(shù),并通過指數(shù)函數(shù)將向量進(jìn)行等維映射。將所有結(jié)果相加并歸一化,以概率的形式表示多分類結(jié)果。使用的softmax函數(shù)定義為:
獨(dú)熱編碼使得實(shí)際心跳類標(biāo)簽對(duì)應(yīng)位置為1,其余位置為0。對(duì)結(jié)果進(jìn)行匯總,用來表示該分類結(jié)果的概率。當(dāng)訓(xùn)練樣本經(jīng)過卷積、正則化、激活和合并后,輸出數(shù)據(jù)特征從全連通層映射成一維向量,并用softmax函數(shù)計(jì)算。最后,以概率的形式給出了心跳分類的結(jié)果。
為了加快網(wǎng)絡(luò)的收斂速度和限制過擬合現(xiàn)象的產(chǎn)生,在提出的模型中,將L2正則化[13]添加到所有卷積層和全連通層中是很重要的。加權(quán)正則化的損失函數(shù)定義為:
為了簡化模型,在卷積層中加入Dropout[14]并設(shè)置為0.5,大大減少了參數(shù)數(shù)目和訓(xùn)練時(shí)間。
改進(jìn)的ResNet-18模型被用于對(duì)ECG圖像中的心跳進(jìn)行分類,可從MIT-BIH數(shù)據(jù)庫中獲得。雖然由于時(shí)間序列的密集性,人眼很難區(qū)分心電圖像中的某些區(qū)域,但借助于該模型,可以識(shí)別出每個(gè)標(biāo)記圖像中的標(biāo)簽。與其他分類模型相比,該模型可以在較短的計(jì)算時(shí)間內(nèi)對(duì)復(fù)雜的混合波圖像進(jìn)行分類??傮w上,減少了復(fù)雜圖像的訓(xùn)練和測(cè)試時(shí)間。根據(jù)算法進(jìn)行模型訓(xùn)練。
綜上所述,本文提出了改進(jìn)的ResNet-18的神經(jīng)網(wǎng)絡(luò)模型。由于醫(yī)生診斷主要是通過其形態(tài)學(xué)上的一些特征來進(jìn)行判斷,本文提出的ResNet-18模型在ResNet的基礎(chǔ)上進(jìn)行改進(jìn)和層數(shù)的疊加,能夠深層次地捕捉到心電信號(hào)的形態(tài)學(xué)特征,通過不斷地進(jìn)行卷積操作,最后的輸出的特征能夠感知到波形全局,因此能夠準(zhǔn)確地診斷心電圖中的異常信號(hào)。所提模型在臨床應(yīng)用方面具有很大的前景,值得深層次的研究和發(fā)展。