作者:蔡增玉 ,崔夢(mèng)夢(mèng) ,侯佳林 ,張建偉
引 言
心臟病已經(jīng)成為威脅人類生命的一項(xiàng)重大疾病,目前中國(guó)的心血管疾病預(yù)防工作雖然取得了初步成效,但是仍舊面臨嚴(yán)峻的挑戰(zhàn),中國(guó)心血管疾病的患病率及死亡率仍處于上升階段。防治心血管病的態(tài)勢(shì)已經(jīng)刻不容緩,每10例死亡患者中,就有 4例是心血管疾病患者,心臟病的致死率占心血管疾病的50%以上。
目前我國(guó)有多種方式檢測(cè)患者是否患有心臟病,如動(dòng)態(tài)心電圖、CTA、ECG、UCG等?;颊呤紫刃枰メt(yī)院做心電圖檢查,經(jīng)驗(yàn)豐富的醫(yī)師通過查看患者的心電圖是否有心房顫動(dòng)、房性前收縮、房室和束支傳導(dǎo)阻滯等癥狀,以此對(duì)患者是否患有心臟病做出診斷。傳統(tǒng)的心臟病診斷方式會(huì)因各種主觀因素對(duì)結(jié)果造成影響,許多學(xué)者對(duì)此進(jìn)行了深入的研究,并將機(jī)器學(xué)習(xí)的方法引入到心臟病預(yù)測(cè)中,提出了各種基于機(jī)器學(xué)習(xí)的心臟病預(yù)測(cè)方法[1?10]。比較典型的方法有用支持向量機(jī)和人工神經(jīng)網(wǎng)絡(luò)兩種不同的模型對(duì)數(shù)據(jù)進(jìn)行建模[11];使用基于聚類和 XGboost算法進(jìn)行建模[12]。其中,文獻(xiàn)[11]中設(shè)計(jì)的模型具有較高的查重率,但訓(xùn)練過程中容易產(chǎn)生過擬合問題,造成模型的泛化能力不強(qiáng);文獻(xiàn)[12]基于聚類和XGboost 算法雖然有較高的準(zhǔn)確率,但是當(dāng)有大量的訓(xùn)練數(shù)據(jù)時(shí),訓(xùn)練速度將變得十分緩慢。
1、 基于殘差神經(jīng)網(wǎng)絡(luò)的心臟病預(yù)測(cè)系統(tǒng)
1.1 系統(tǒng)功能設(shè)計(jì)
本文主要將系統(tǒng)分成:用戶模塊、病歷模塊、數(shù)據(jù)預(yù)處理模塊、模型訓(xùn)練模塊和預(yù)測(cè)模塊,其總體的功能結(jié)構(gòu)圖如圖1所示。
1)用戶模塊。該模塊包含用戶注冊(cè)和用戶登錄兩個(gè)部分。用戶在注冊(cè)部分通過注冊(cè)操作把個(gè)人的賬號(hào)、密碼等信息以密文的形式寫入數(shù)據(jù)庫(kù);用戶在登錄部分輸入之前注冊(cè)過的賬號(hào)和密碼信息,通過數(shù)據(jù)庫(kù)驗(yàn)證系統(tǒng)使用權(quán)限。
2)病歷模塊。該模塊同樣包含建立病歷和查看病歷兩個(gè)部分。用戶可以通過該模塊收集和查看患者的個(gè)人信息以及既往病史,方便對(duì)患者的信息進(jìn)行管理,還可以對(duì)用戶當(dāng)前的就診情況進(jìn)行記錄。
3)數(shù)據(jù)預(yù)處理模塊。該模塊主要通過對(duì)要訓(xùn)練的數(shù)據(jù)進(jìn)行整理,把患者的心電圖與其對(duì)應(yīng)的種類標(biāo)簽結(jié)合在一起,為之后的訓(xùn)練模型做準(zhǔn)備。
4)模型訓(xùn)練模塊。該模塊通過對(duì)大量數(shù)據(jù)的學(xué)習(xí),提取其中的規(guī)律、準(zhǔn)則,最終形成一個(gè)能夠預(yù)測(cè)心電圖的模型。
5)預(yù)測(cè)模塊。該模塊利用之前形成的模型對(duì)患者的心電圖進(jìn)行分析之后,得出患者最終是否患有心臟病以及種類和概率的結(jié)論。
1.2 系統(tǒng)流程設(shè)計(jì)
系統(tǒng)的模型構(gòu)成大體可以分為4個(gè)步驟,分別為數(shù)據(jù)預(yù)處理、卷積層、池化層、全連接層。本文構(gòu)建的是一個(gè)16層的卷積神經(jīng)網(wǎng)絡(luò),如圖2所示。
為了取得更好的模型訓(xùn)練效果,數(shù)據(jù)集選用 2017年度 PhysioNet 計(jì)算心臟病學(xué)挑戰(zhàn)賽提供的官方數(shù)據(jù)。首先對(duì)心電圖數(shù)據(jù)進(jìn)行預(yù)處理,把要訓(xùn)練的心電圖數(shù)據(jù)集貼上對(duì)應(yīng)種類的標(biāo)簽,形成一個(gè)整體的數(shù)據(jù)+標(biāo)簽的標(biāo)準(zhǔn)化數(shù)據(jù)集合,為后續(xù)的訓(xùn)練作準(zhǔn)備;然后將標(biāo)準(zhǔn)化的數(shù)據(jù)輸入卷積神經(jīng)網(wǎng)絡(luò)模型中迭代進(jìn)行卷積、池化操作,同時(shí)為了解決網(wǎng)絡(luò)退化問題,加入殘差模塊,將殘差模塊的數(shù)據(jù)和迭代得到的數(shù)據(jù)匯總,經(jīng)過運(yùn)算后輸入全連接層最終得到分析結(jié)果。
1.2.1 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理模塊對(duì)數(shù)據(jù)整理起到重要作用,本文訓(xùn)練中用到的數(shù)據(jù)來自2017年度 PhysioNet計(jì)算心臟病學(xué)挑戰(zhàn)賽提供的官方數(shù)據(jù),根據(jù)官方提供的參考文檔,將這些心電圖貼上相應(yīng)種類的標(biāo)簽,最終形成一個(gè)trainingset,為后續(xù)的訓(xùn)練做準(zhǔn)備。該模塊界面設(shè)計(jì)簡(jiǎn)單,方便用戶操作。
1.2.2 卷積層
對(duì)圖片進(jìn)行卷積運(yùn)算,第一個(gè)參數(shù)是輸入心電圖數(shù)據(jù),第二個(gè)參數(shù)是卷積核,卷積具體運(yùn)算就是卷積核與對(duì)應(yīng)圖片的像素點(diǎn)進(jìn)行相乘然后累加之后的數(shù)值,作為特征映射的值。本系統(tǒng)卷積層以一維卷積的方式進(jìn)行卷積,卷積核大小選取 3×1,步長(zhǎng)為 1,通過訓(xùn)練網(wǎng)絡(luò)將卷積核中的每一個(gè)數(shù)值訓(xùn)練出來,以期達(dá)到最好的效果。本系統(tǒng)在卷積的過程中,當(dāng)出現(xiàn)卷積核的大小超過圖片區(qū)域時(shí),用 0進(jìn)行邊緣填充,因?yàn)?0填充的方式不會(huì)對(duì)卷積產(chǎn)生影響,只是輔助卷積完成。
1.2.3 池化層
池化操作對(duì)不同大小的輸入具有調(diào)和作用,當(dāng)需要對(duì)輸入大小不同的圖像進(jìn)行處理時(shí),若對(duì)輸入圖像的大小有限制,可以通過對(duì)池化區(qū)域的偏置進(jìn)行調(diào)整,就可以使不同大小的圖片在調(diào)整后達(dá)到一致。池化操作一般有兩種,即最大池化和平均池化。最大池化選擇該區(qū)域中最大值作為池化后的值,反向傳播時(shí),梯度通過前向傳播過程的最大值反向傳播,其他位置梯度為0;平均池化選擇區(qū)域中的平均值作為池化后的值。本系統(tǒng)采用最大池化,選用濾波器大小為2×1,池化步長(zhǎng)為2,與卷積操作相互配合,形成一個(gè)卷積、池化迭代的深層網(wǎng)絡(luò)。
1.2.4 殘差神經(jīng)網(wǎng)絡(luò)
為了解決出現(xiàn)的網(wǎng)絡(luò)退化問題,在卷積神經(jīng)網(wǎng)絡(luò)中加入恒等映射模塊,也稱殘差單元。像神經(jīng)網(wǎng)絡(luò)那樣,如果直接累加上一層所學(xué)的模型,會(huì)使模型訓(xùn)練的難度加大,但增加帶有捷徑連接的殘差模塊時(shí),結(jié)果就會(huì)產(chǎn)生不同。假設(shè)某個(gè)神經(jīng)網(wǎng)絡(luò)的輸入值為x,期望輸出值為H(x),訓(xùn)練的結(jié)果是F(x),學(xué)習(xí)率為0.01,在沒加入殘差模塊時(shí),輸入是x=1,期望值是1.01,從1.01學(xué)習(xí)到1.02,映射輸出增加為0.011.01=1%;當(dāng)引入殘差模塊時(shí),映射F(x)是從0.01到0.02,映射輸出為0.010.01=100%,后者輸出變化對(duì)權(quán)重的調(diào)整作用更明顯。換句話說,殘差單元的思想是差分放大器,通過去掉上層輸入的相同部分,從微小變化中提升學(xué)習(xí)能力。通過這種方式解決了隨著層數(shù)的加深準(zhǔn)確率和精準(zhǔn)度減小的問題,同時(shí)還降低了梯度消失和梯度爆炸的風(fēng)險(xiǎn)。殘差網(wǎng)絡(luò)的提出將深度學(xué)習(xí)的性能提高了一個(gè)層次,使得網(wǎng)絡(luò)層數(shù)可以從幾十層上升到幾千層,為殘差網(wǎng)絡(luò)在圖像領(lǐng)域的應(yīng)用奠定了基礎(chǔ)。
1.2.5 全連接層
通過對(duì)卷積、池化操作形成的局部特征進(jìn)行權(quán)值矩陣的重組,并整合成多個(gè)完整的圖像,與標(biāo)準(zhǔn)圖像進(jìn)行對(duì)比,如果結(jié)果一樣,則反向激活相應(yīng)圖的權(quán)值。把原始數(shù)據(jù)經(jīng)過卷積、池化操作后映射到特征平面中,全連接層會(huì)提取分布式特征,全連接層把特征整合到一起,能夠極大地減少特征位置給分類產(chǎn)生的影響。全連接層一般設(shè)置為兩層,用來解決非線性問題。由于最終得出的預(yù)測(cè)結(jié)果的類別是互斥的,所以本文的全連接層采用 softmax回歸進(jìn)行分類,模型優(yōu)化采用adam優(yōu)化器。
2、 基于殘差神經(jīng)網(wǎng)絡(luò)的心臟病預(yù)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1系統(tǒng)實(shí)現(xiàn)
2.1.1模型訓(xùn)練實(shí)現(xiàn) 模型訓(xùn)練是整個(gè)預(yù)測(cè)系統(tǒng)的基礎(chǔ),該部分的主要功能是為之后的預(yù)測(cè)模塊提供一個(gè)泛化能力強(qiáng)的模型。該功能利用tensorflow框架實(shí)現(xiàn)了參數(shù)可調(diào)整,通過對(duì)Batch、epochs、卷積窗口大小、池化窗口大小進(jìn)行調(diào)整,可以不斷提高模型的準(zhǔn)確度,不斷進(jìn)行訓(xùn)練,直到達(dá)到模型的最優(yōu)性能。
2.1.2 預(yù)測(cè)分析功能實(shí)現(xiàn) 預(yù)測(cè)功能是整個(gè)系統(tǒng)的核心部分,也是系統(tǒng)的主界面。該功能通過載入患者的心電圖數(shù)據(jù),然后利用訓(xùn)練好的模型進(jìn)行結(jié)果預(yù)測(cè)。該模塊實(shí)現(xiàn)了查找用戶心電圖功能,系統(tǒng)操作人員根據(jù)患者的名字就可以把患者的心電圖數(shù)據(jù)載入模型中,方便醫(yī)生操作。同時(shí),該模塊還實(shí)現(xiàn)了心電圖預(yù)覽功能。通過設(shè)置顯示心電圖按鈕,點(diǎn)擊之后可以先粗略地觀察心電圖,了解一些情況。最后實(shí)現(xiàn)分析功能,對(duì)患者的心電圖進(jìn)行分析,生成最后的分析報(bào)告。
2.2 系統(tǒng)性能調(diào)參測(cè)試 2.2.1 Batch 大小最優(yōu)測(cè)試Batch大小即批處理的尺寸大小,它的大小決定著下降的方向。選擇合適的批處理大小可以迅速找到合適的學(xué)習(xí)率,加快模型的收斂。如果批處理尺寸太大的話,雖然可以提高內(nèi)存的利用率,但是會(huì)減小相應(yīng)的精度,對(duì)參數(shù)的修正也更加緩慢;如果批處理尺寸太小,不僅會(huì)使學(xué)習(xí)的時(shí)間增加,甚至?xí)鼓P筒皇諗?。Batch大小一般設(shè)置成16的倍數(shù),便于機(jī)器的處理,通過控制其他變量不變,改變 Batch尺寸大小,查看對(duì)模型準(zhǔn)確率的影響,如圖3所示。
通過測(cè)試發(fā)現(xiàn),當(dāng)Batch的大小選擇為32時(shí),模型的準(zhǔn)確率最高,再增加Batch大小會(huì)使模型的準(zhǔn)確率降低,所以本文選定的Batch大小為32。
2.2.2 卷積核大小最優(yōu)測(cè)試
卷積核大小對(duì)模型的影響至關(guān)重要。如果卷積核的尺寸選得太大的話,會(huì)使整個(gè)模型的復(fù)雜度急劇增加;如果卷積核的尺寸選得太小的話,又會(huì)使訓(xùn)練的速度降低。所以選擇合適的卷積核大小比較重要。通常卷積核的大小設(shè)置成偶數(shù),形成正方形。本文采用一維卷積,通過控制其他變量不變,改變卷積核的大小查看對(duì)模型準(zhǔn)確率的影響,如圖4所示。
通過測(cè)試發(fā)現(xiàn),當(dāng)卷積核的大小選擇為16 時(shí),模型的準(zhǔn)確率最高,選擇小于或者大于 16 的尺寸時(shí),模型的準(zhǔn)確率會(huì)降低,所以本文選擇卷積核大小為16。
2.2.3 池化窗口大小最優(yōu)測(cè)試
池化窗口的大小也會(huì)影響著模型的準(zhǔn)確率。當(dāng)池化層的窗口選擇太大的話,會(huì)在一定程度上損失信息。如果選擇太小的話,會(huì)影響感受野的大小變化。本文通過控制其他變量不變,改變池化窗口的尺寸觀察其對(duì)模型準(zhǔn)確率的影響,如圖5所示。
通過測(cè)試發(fā)現(xiàn),當(dāng)池化窗口大小為4時(shí),模型的準(zhǔn)確率最高,再增加池化窗口的大小時(shí)會(huì)導(dǎo)致模型的準(zhǔn)確率下降。
3、 結(jié) 語(yǔ)
本文采用殘差神經(jīng)網(wǎng)絡(luò)以心電圖的方式進(jìn)行機(jī)器學(xué)習(xí),對(duì)患者是否患有心臟病進(jìn)行預(yù)估。利用殘差網(wǎng)絡(luò)具有快捷連接和恒等映射的特點(diǎn),解決了網(wǎng)絡(luò)退化、網(wǎng)絡(luò)深度限制的問題,為學(xué)習(xí)心電圖的深層次特征提供了巨大的幫助。此外,本文采用PhysioNet計(jì)算心臟病學(xué)挑戰(zhàn)賽官方提供的8528個(gè)數(shù)據(jù)進(jìn)行學(xué)習(xí),將心臟病分為4個(gè)種類,進(jìn)行實(shí)驗(yàn)驗(yàn)證。其中構(gòu)建了一個(gè)16層的卷積神經(jīng)模型,首先將數(shù)據(jù)以300×30大小的方式輸入卷積層,然后用 16×1的卷積核進(jìn)行一維卷積,經(jīng)過4×1大小的濾波器進(jìn)行最大池化,加上批標(biāo)準(zhǔn)化處理迭代至16層,最后加上全連接層構(gòu)成16層卷積神經(jīng)網(wǎng)絡(luò)。通過整體的訓(xùn)練后,對(duì)未訓(xùn)練的一批數(shù)據(jù)進(jìn)行預(yù)測(cè),其結(jié)果準(zhǔn)確率達(dá)到76.5%。最終,利用該技術(shù)設(shè)計(jì)了一種心臟病智能預(yù)測(cè)系統(tǒng),實(shí)現(xiàn)了對(duì)心臟病的實(shí)時(shí)預(yù)測(cè),提供了對(duì)患者病情的詳細(xì)分析報(bào)告。利用該系統(tǒng)可以減輕醫(yī)生的負(fù)擔(dān),給醫(yī)生對(duì)病情的診斷提供了輔助判斷,提高了就診的效率,對(duì)社會(huì)醫(yī)療體系提供了幫助。
審核編輯:郭婷
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4820瀏覽量
106230 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8530瀏覽量
135968
原文標(biāo)題:論文速覽 | 基于殘差神經(jīng)網(wǎng)絡(luò)的心臟病預(yù)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
文章出處:【微信號(hào):現(xiàn)代電子技術(shù),微信公眾號(hào):現(xiàn)代電子技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
穿戴式心臟病預(yù)防芯片,手機(jī)預(yù)測(cè)心臟病發(fā)作
有提供編寫神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)程序服務(wù)的嗎?
關(guān)于BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的確定??!
詳解高危心臟病人遠(yuǎn)程實(shí)時(shí)監(jiān)護(hù)系統(tǒng)
什么是深度殘差收縮網(wǎng)絡(luò)?
如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?
卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用
《 AI加速器架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)》+第一章卷積神經(jīng)網(wǎng)絡(luò)觀后感
灰色補(bǔ)償神經(jīng)網(wǎng)絡(luò)及其應(yīng)用研究
研究人員用AI分析心臟掃描任務(wù) 準(zhǔn)確率戰(zhàn)勝人類心臟病專家

使用視網(wǎng)膜掃描發(fā)現(xiàn)心臟病風(fēng)險(xiǎn)可行嗎
基于深度殘差神經(jīng)網(wǎng)絡(luò)的遠(yuǎn)程監(jiān)督關(guān)系抽取模型
基于殘差神經(jīng)網(wǎng)絡(luò)的微型電機(jī)轉(zhuǎn)子焊點(diǎn)圖像檢測(cè)
LED心臟病發(fā)作的項(xiàng)目

評(píng)論