陳茜+歐陽繩武+馬新宇+謝泉
摘 要: 結合差分閾值法、多重神經網絡心電診斷方法提出一種新型的遞進型雙層BP神經網絡心電信號智能診斷設計。采用差分閾值法檢測QRS波特征點,通過心電采集電路板對該信號進行放大濾波處理后進行心電診斷。通過對比單一BP神經網絡與遞進型雙層 BP神經網絡識別結果,得出遞進型雙層BP神經網絡識別室性早搏、房性早搏、心房顫動時識別率更高(達到97%以上)的結論。測試結果表明,該設計有助于診測和判斷心血管疾病,提高了對治療方法的有效性判斷。
關鍵詞: 心電信號; QRS波檢測; 小波變換; BP神經網絡; 深度學習; 智能診斷
中圖分類號: TN911.7?34; TP183 文獻標識碼: A 文章編號: 1004?373X(2018)01?0076?05
Abstract: In comparison with the difference threshold method and multiple neural network ECG diagnosis method, a new electrocardiosignal intelligent diagnosis design of progressive dual?layer BP neural network is proposed. The difference threshold method is used to detect the feature points of QRS wave. The signal is amplified and filtered in ECG acquisition circuit board for ECG diagnosis. The recognition results of single BP neural network and progressive dual?layer BP neural network are compared to obtain the conclusion that the progressive dual?layer BP neural network can improve the recognition ratio of ventricular premature beat, atrial premature beat and atrial fibrillation by 97%. The test results show that the design can diagnose and judge the cardiovascular disease, and improve the judgment accuracy of treatment methods.
Keywords: ECG signal; QRS?wave detection; wavelet transform; BP neural network; deep learning; intelligent diagnosis
0 引 言
當今社會,人們的工作生活壓力正不斷加大,大多數人處于亞健康狀態,導致到了一定年紀后心臟病發作比例越來越高[1]。同時對更高生活質量的追求,人們越發看重醫療健康,但是醫院的繁瑣醫療程序與高成本的醫療檢查并不能滿足大部分的患者,所以促使便攜性家庭形式的醫療產品發展迅速,家庭式的心電監護儀器就是一種。因此,如何做一個既可以考慮便攜性、硬件要求低、實時性好,又可以從當前大量的心電診斷結果中更精確自我學習的心電監測診斷儀器是現在需要考慮的。
現在比較出名的心電診斷算法包括人工神經網絡法、數據統計法、基于支持向量機方法[2]。
采用BP神經網絡通過自我學習方式對心電信號波形進行甄別,分辨能力高,實時性能好,但存在訓練失敗問題[3];數據統計法簡單易于實現,但只對個別癥狀效果不錯,對于復雜的心電波形而言,容易出現隨機算法重疊,導致混淆病狀;通過支持向量機研究心電信號波形的區分,搭建向量模型,提高了心電信號波形識別速度,但大規模訓練樣本難以實施,不適合多種心電分析[4]。
本文結合差分閾值法、多重神經網絡心電診斷方法,提出一種新型的遞進型雙層BP神經網絡心電信號智能診斷設計,糾正了BP神經網絡可能出現的訓練失敗問題,加強了神經網絡學習能力,提高了心電識別能力[5]。
1 心電信號特征點檢測算法
當電極貼到體表以后,不同的位置就會產生一個不同的隨著時間變化周期性變化的電位,通過導聯線連接到心電采集電路板后可以對其進行放大濾波處理,在臨床中人們發現同一個心電波段在人體不同位置測出的強弱存在差異。
心電信號特征點檢測的算法主要有以下幾種:神經網絡法、小波變換法、差分閾值法、模板匹配法[6]。其中差分閾值法比較簡單,可以高效率地處理結果,方便在硬件要求不高的環境完成,但檢測的準確率不算高[7];模板匹配法易于理解其根本機制,但容易受到高頻噪聲和基線漂移的干擾[8];神經網絡法能夠精確地判別信號特征,但在真實的環境中及時性不好[9];小波變換法比差分閾值法計算量大許多,但其局域化在時域和頻域有較好的特性,提高了檢測的精確度[10]。
上述幾種算法各有利弊,相比較起來差分閾值法更適合于現實環境的復雜性以及硬件要求。本文結合差分閾值法和BP神經網絡心電診斷方法的優點提出一種新型的遞進型雙層BP閾值神經網絡心電信號智能診斷設計。
差分閾值法是比較典型的快速識別算法,經常用來識別峰值。其檢測圖如圖1所示。基本原理是:QRS波形段是心電信號里面變化最為明顯的間隔段,其對應斜率與其他波段對比有很大差異[11]。通過一二級差分函數連續閾值判斷出R波位置規模,然后通過閾值得到波峰來確定R波,根據R波位置,用相同方法來確定QS點P波、T波具體位置,其主要步驟如下:endprint
按照差分方程求取心電信號的一級差分序列和二級差分序列,一級差分方程和二級差分方程如下所示:
[y1(n)=x(n+1)-x(n-1)]
[y2(n)=y1(n+1)-y1(n-1)]
將一級差分方程與二級差分方程相結合,得:
[y3(n)=y1(n)×max(y1)+y2(n)×max(y2)]
式中:[max(y1),][max(y2)]分別為一級差分序列和二級差分序列的最大值。這樣相當于對差分后的信號波形進行增強,能夠凸顯出R波特征。
2 心電診斷
2.1 BP神經網絡
BP(Back Propagation)神經網絡被稱做多層前饋神經網絡,是三層前饋神經網絡的拓撲結構[12],這種神經網絡模式的特點是:各層神經元僅與連接層神經元之間有聯系;每一層內神經元相互沒有接觸點;每一層內神經元相互沒有反饋接連。信號源先前向傳遞到隱節點處,經過一系列轉換后,傳遞隱節點的傳出信息到輸出節點,再給出最后的結論。一般采取Sigmoid型函數作為節點的激勵函數(目標函數)。
BP神經網絡的輸入與輸出并不是一個線性的相關,而是有復雜的非線性映射特性,如果輸入節點數為[i,]輸出節點數為[o,]則拓撲網是從[i]維數組到[o]維數組歐氏空間的高度非線性映射。采用調節BP神經網絡中的相鄰權值和網絡拓撲范圍(包含[i,o]和隱層節點數n),能夠解決非線性區分等議題,而且可以以任何準確度接近任意非線性函數。這樣的網絡拓撲圖(見圖2)非常復雜,但準確率也高,在完成了BP網絡的構造后,使用大量輸入對應的輸出樣本集反復進行訓練任務,同樣也對網絡的相鄰權值和判別閾值進行學習和調節,一步步實現接近網絡給出的輸入輸出映射關系。
利用BP網絡對心電異常波形進行識別,具有識別速度快、識別率高、容錯性好等特點。
對于神經網絡模式分類器來說,由于神經網絡本身具有自我學習、自適應環境和自組織行為的特點,只要待辨認的模型在其表示區域內有一點點的差異,網絡就可以通過自適應劃分類別學習,找到每個模型不一樣的特點突出信息進行分類讀取[13]。
本文采納的是典型的三層前向BP神經網絡,包括數據源層、隱含層和數據結論層。在本測驗中,數據來源層神經元的個數為心電波樣本的采樣點數,即為121個。數據結論只用一個神經元:結論包括了PVC(室性早搏)、APC(房性早搏),AF(心房顫動),Nor(正常)四種典型波。輸出目標之所以這樣設置,是為了避免網絡在識別不同波形時出現相互間的干擾,使識別效果更好。
通過數據源層與隱含層之間相鄰權值的“自組織”,隱含層起到對樣本輸入模式進行特征提取的作用,然后將提取的特征傳遞給數據結論層。確定隱含層節點數可以采納行為公式[n隱=m+n+α,]其中[n]為輸入神經元數,[m]為輸出神經元數,[α]為1~10之間的常數。在實驗中,隱層節點數一般采用不用的值進行訓練,然后比較效果最終選定一個合適的值,這部分在結果分析中將作具體討論。
在傳輸函數的選擇上,隱含層采取激勵函數(雙曲正切Sigmoid函數),而數據結論層傳輸函數為線形函數。采用逆向的傳遞算法對網絡進行學習。
2.2 遞進型雙層BP神經網絡
單一的BP神經網絡很有可能學習訓練不成功,從純算法理論方面來看,BP算法是一種局部內優化搜索方法,但它要實現的議題為解決高度非線性函數的全局峰值,就因為這樣算法很有可能陷入某些局部的峰值,而錯過重要特征點信息,使學習訓練失敗。網絡的準確度、容錯廣度能力同訓練樣本的代表性緊密聯系,而從大量數據中選取代表性樣本實例構成訓練集是一個很艱巨的議題。所以基于神經網絡這樣一個缺陷,結合心電信號的特征點采用一種新型的遞進型雙層BP神經網絡學習算法。
本文設計的遞進型雙層BP神經網絡學習心電信號聯合兩個BP神經網絡,分別采用連續的離散波形對第一個神經網絡進行訓練,然后提取幾個心電明顯的特征點并使用前一個神經網絡的結果對第二個神經網絡進行訓練。具體的框架設計如圖3所示。2號神經網絡采用心電波的明顯特征點是為了提醒1號神經網絡的判斷是不正確的,給1號神經網絡的錯誤判斷重新加權,讓錯誤的判斷偏移到正確的結論上,讓正確的判斷加強權值偏移,對心電信號的診斷提高精準度。
遞進型雙層BP神經網絡訓練步驟如下:
1) 初始化1號、2號神經網絡:準備兩個神經網絡1號和2號,并且分別初始化,選擇200組特征點明顯的樣本,本實驗的樣本取自MIT?BIH心電數據庫。選取的常見心臟疾病波形為PVC(室性早搏)、APC(房性早搏)、AF(心房顫動)、Nor(正常)四種典型波。相對正常心電波而言,PVC會出現寬大畸形QRS波群,而APC的波形與正常波沒有多大區別,只是發生APC時P波會提前出現,導致R?R間期縮短。
2) 訓練1號神經網絡:取樣本到1號神經網絡去訓練,200組樣本每組訓練2 000次,先將訓練過的心電波樣本送入已訓練好的BP網絡進行仿真測試,計算誤差函數,對比目標誤差設定為0.004,如果達不到標準繼續訓練,直到識別結果全部達標,則完成1號神經網絡學習。
3) 1號神經網絡診斷:從MIT.BIH數據庫再將T202的全部數據送入該網絡做自動檢測,一共有2 136個心電波,包括19個PVC和55個APC,每個測試樣本的抽取辦法和訓練樣本相同。經過多次實驗,識別成功率都在95%以上,識別效果較為理想,可是這仍然有5%的誤差,無法進一步提高。
4) 初始化2號神經網絡:對2 136個心電數據采用差分閾值法把特征點提取出來,其中4個特征點非常具有代表性,包括前RR波峰間距、后RR波峰間距、R波幅值、QRS間距,如圖4所示。endprint
5) 訓練2號神經網絡:得到兩個輸入樣本。
① 上面差分閾值法識別取到的每個心電數據的這四個特征值。
② 2 136組T202數據通過采取1號神經網絡得到測試結果數據。這兩個樣本一一對應作為2號神經網絡的輸入端,再一次經過訓練,直到達到目標函數0.004標準,訓練結束。
為了推廣網絡,本文用已訓練好的遞進型雙層BP神經網絡來識別MIT?BIH心電數據庫中的其他心電數據,如T107,T108,T210,T222,T223等。由于不同病人存在生理差異,所以得到的辨識率也不盡相同。為了提高神經網絡對異常心電波形的識別率,可以對輸入的異常心電波的訓練樣本進行調整:如果發現漏波嚴重,則可以適當增加訓練數據量;如果發現誤判比較嚴重,則減少訓練數據量,盡量挑選特征點比較明顯或者同一病癥波形類似的波形進行訓練。另外,增加正常心電波的訓練樣本也可以達到同樣的效果。測試結果如表1,表2所示。
對遞進型雙層BP神經網絡和單一BP神經網絡做詳細對比,1號神經網絡傳入的訓練數據是:采用速率為380次/s的速度提取心電信號離散信號點和該信號對應的正確癥狀; 2號神經網絡采用差分閾值法提取心電信號的P,T,QRS特征點、1號神經網絡的測試結果(不管對錯)和該心電信號對應正確的癥狀。通過測試,從表1和表2可以發現,1號神經網絡收斂性差,學習能力相對較弱,識別率為95%左右,2號神經網絡由于主動加入正確的病癥,把1號的錯誤結論神經元權值偏移到正確結論上,識別率達到97%以上。
3 結 論
本文設計的關鍵在于采用雙層的神經網絡結構,第一層只是傳統BP神經網絡診斷心電的方法,存在誤差甚至是某些心電可能訓練失敗,可是第二層卻采用第一層BP神經網絡的診斷結果(不管對錯)、絕對正確的結果和心電信號特征點作為訓練樣本,得到最終的人工神經網絡。這樣,第一層得到的正確或者錯誤結果,在第二層神經網絡就會把錯誤的結果糾正到正確軌道上來,把正確的結果加強認知,大大減少了誤差。
在表2測試中,遞進型雙層BP神經網絡識別室性早搏、房性早搏、心房顫動時識別率較高,效果不錯,辯識率在97%以上。雖然識別率仍然有不足的地方,有一定幾率誤波、漏波,但由于便攜式心電信號檢測并不是短暫幾秒鐘的識別,而是需要一段連續的檢測時間,最后可得到綜合結果,然后把心電信號圖通過互聯網上傳至網絡,可以依靠強大的“互聯網+”,讓在線醫生再次確認。心電圖波形發生的異常種類太多,人工神經網絡能夠識別的心臟病癥只是少數,人工智能雖然有像谷歌AlphaGo這樣的杰出代表,但仍然存在許多缺陷,仍然需要依靠有豐富經驗的醫生結合個人的身體差異作出更準確的判斷。今后,隨著機器智能化的進一步發展,相信可以最終解決這一問題。
注:本文通訊作者為陳茜。
參考文獻
[1] 張敬平.用BP神經網絡預測土壤入滲參數時隱層神經元數分析[J].山西水土保持科技,2008(3):20?22.
ZHANG Jingping. Analysis of hidden layer neuron number using BP neural network in predicting soil infiltration parameters [J]. Soil and water conservation science and technology in Shanxi, 2008(3): 20?22.
[2] 趙曉明.心電T波交替信號檢測關鍵算法[D].天津:南開大學,2010.
ZHAO Xiaoming. Key algorithms for electrocardiogram T wave alternans detection [D]. Tianjin: Nankai University, 2010.
[3] 崔海霞,廖明群.基于人工神經網絡的數據散列加密算法[J].電子工程師,2016(5):59?61.
CUI Haixia, LIAO Mingqun. A Hash encryption algorithm based on manual neural network [J]. Electronic engineer, 2016(5): 59?61.
[4] 蓋立平,劉雅楠,劉旭.心電圖形成原理的模擬設計[J].醫療衛生裝備,2006(11):76?77.
GAI Liping, LIU Yanan, LIU Xu. Analog design of magnetic resonance imaging principle [J]. Chinese medical equipment journal, 2006(11): 76?77.
[5] 張山杉.神經網絡在天線設計中的應用[J].現代電子技術,2010,33(15):71?73.
ZHANG Shanshan. Application of neural network in antenna design [J]. Modern electronics technique, 2010, 33(15): 71?73.
[6] 宋喜國,鄧親愷.MIT?BIH心率失常數據庫的識讀及應用[J].中國醫學物理學雜志,2004,21(4):230?232.
SONG Xiguo, DENG Qinkai. On the format of MIT?BIH arrhythmia database [J]. Chinese journal of medical physics, 2004, 21(4): 230?232.
[7] 田杰.基于Cortex的實時心電處理及檢測技術[D].濟南:山東師范大學,2011:55?57.endprint
TIAN Jie. The real?time ECG processing and detection techno?logy based on cortex [D]. Jinan: Shandong Normal University, 2011: 55?57.
[8] 蘇麗,趙國良,李東明.心電信號QRS波群檢測算法研究[J].哈爾濱工程大學學報,2005(4):513?517.
SU Li, ZHAO Guoliang, LI Dongming. Study of algorithms of QRS complexes detection in electrocardiogram signal [J]. Journal of Harbin Engineering University, 2005(4): 513?517.
[9] 王明松,張躍,張集墨.完全性束支傳導阻滯優化判別的研究[J].計算機仿真,2013,30(5):395?398.
WANG Mingsong, ZHANG Yue, ZHANG Jimo. Optimization study on complete bundle branch block discrimination [J]. Computer simulation, 2013, 30(5): 395?398.
[10] 黃家洺,鄭日榮,曾繩濤.心電信號特征檢測算法研究[J].機電工程技術,2013,42(8):106?110.
HUANG Jialuo, ZHENG Rirong, ZENG Shengtao. Research on ECG feature detection algorithm [J]. Mechanical & electrical engineering technology, 2013, 42(8): 106?110.
[11] 劉江,姚欽.基于高斯模糊神經網絡的多傳感器目標識別系統[J].彈箭與制導學報,2008(3):217?219.
LIU Jiang, YAO Qin. Multisensor target identification system with FGNN [J]. Journal of projectiles, rockets, missiles and guidance, 2008(3): 217?219.
[12] YANG S, YANG G. ECG pattern recognition based on wavelet transform and BP neural network [C]// Proceedings of 2010 International Symposium on Networking & Netwo. [S.l.]: EBSCO, 2010: 234?242.
[13] CAO Y Z, LI G, FAN Z F. ECG beat classification using support vector machine with wavelet transform based on feature extraction [J]. Journal of Tianjin University, 2007, 40(7): 811?815.endprint