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