尹虹毅
?。ㄍ瑵髮W 電子與信息工程學院,上海 201804)
摘要:精神分裂癥是最常見的精神疾病之一,目前具體病因尚未明確,準確診斷患病與否是治療該疾病的前提。深度學習是一種構造多層神經網絡的機器學習方法,具有發現數據中隱藏的分布式特征表示的能力。針對精神分裂癥患者的腦電信號,提出了一種棧式自編碼網絡深度模型,以達到根據腦電信號自動識別受試者是否患病的效果。
關鍵詞:深度學習; 精神分裂癥;腦電
0引言
精神分裂癥是一種持續、慢性的精神疾病,臨床上表現為思維、情感、行為等多方面精神障礙,是精神病里最常見、最嚴重的一種[1]。精神分裂癥病程多遷延并呈進行性發展,如果能夠在患病早期準確診斷,并給予合理治療,多數患者的病情是可以得到控制的。目前,科學家們尚未找出精神分裂癥的具體成因,但研究顯示,精神分裂癥患者的大腦總體來說與非患者的大腦有區別[2]。
腦電(Electroencephalogram, EEG)是由腦部神經活動產生并且始終存在于中樞系統的自發性、節律性的電位活動。腦電是大腦的活動狀態的反映,是幫助診斷大腦疾病的一種輔助檢查方法。人類腦電波由5個主要波段構成:delta波(1~3 Hz)、theta波(4~7 Hz)、alpha波(8~13 Hz)、beta波(14~30 Hz)和gamma波(31~50 Hz)[3]。這5個波段的特征對于精神分裂癥的診斷有著重要的參考價值。
本文提出了一種基于深度學習的精神分裂癥患者的腦電分析方法:利用精神分裂癥患者和正常對照者的腦電信號,訓練深度神經網絡,使該模型具有根據輸入腦電信號,自動判別受試者是否患有精神分裂癥的功能。
1深度學習網絡
“機器學習”的概念自20世紀50年代提出以來就備受科技界的關注,而近年來“深度學習”逐漸成為機器學習研究中的一個新的領域[4],并在計算機視覺和語音識別方面取得相關成果。
1.1多層特征學習
深度學習網絡源于人工神經網絡。目前,大部分機器學習算法都屬于淺層學習,其局限性表現為對復雜分類問題圖1深度學習網絡的多層架構
的泛化能力受到制約。深度學習網絡提供了一種多層特征學習的策略,即通過學習一種多層非線性網絡結構,實現復雜函數逼近,表征輸入數據從低層到高層的不同表示[5],其多層架構示意圖如圖1所示。
這種基于多層特征學習的深度結構由一個輸入層、多個隱藏層和一個輸出層構成。該模型的訓練分為兩個階段:逐層貪婪訓練階段和微調階段。在逐層貪婪訓練階段,每次只訓練網絡中的一層,即首先訓練一個只含一個隱藏層的網絡,僅當這層網絡訓練結束之后才開始訓練一個有兩個隱藏層的網絡,以此類推,直到訓練完所有網絡。在每一步中,把已經訓練好的前層k-1固定,即把已經訓練好的k-1層的輸出作為第k層的輸入。在微調階段,這些層單獨訓練所得到的權重被用來初始化最終的深度網絡的權重,然后使用梯度下降算法對網絡中所有的權重值進行優化。
深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發現數據中隱藏的分布式特征表示[6],這對于復雜模型的分析具有相當重要的作用。當數據充足時,該算法可以學習到豐富的信息,故訓練的數據越多,其效果越好。因此,深度學習適用于數據信息量較大的分析場合。
1.2棧式自編碼網絡
1.2.1自編碼網絡
自編碼神經網絡是一種無監督學習算法,它通過設置目標值等于輸入值,來學習輸入數據的編碼方式。圖2是一個自編碼神經網絡的示例。
假設有一個固定無標簽樣本x(1),…,xm,它包含m個樣例。對于單個樣例 x,定義其代價函數為:
其中,W為網絡的權重,b為網絡的偏差,hW,b(x)為網絡的輸出。
對于全部樣本,定義整體代價函數為:
其中,λ為權重衰減參數。第一項為每個樣例的代價函數的平均;第二項為權重衰減項,其目的是減小權重的幅度,防止過度擬合。
自編碼神經網絡的目標是嘗試逼近一個恒等函數,從而使得輸出hW,b(x)接近于輸入x。通過在自編碼神經網絡加入某些限制,可以從輸入數據中提取出一些有用的結構。例如,輸入x是一個100維的數據,即m=100,若隱藏層有50個神經元,即L2=50,輸出也是100維的,hW,b(x)∈R100。由于隱藏層只有50個神經元,自編碼神經網絡被迫去學習輸入數據的壓縮表示。如果輸入數據中隱含著一些特定的結構,比如某些輸入特征是彼此相關的,那么通過這一算法就可以發現輸入數據中的這些相關性。即使在隱藏層神經元的數量較大的情況下,甚至多于輸入層神經元的數目,仍可通過給自編碼神經網絡施加一些其他的限制條件,例如稀疏性限制[7],來發現輸入數據的結構。
1.2.2稀疏性
假設神經元的激活函數是sigmoid函數,當神經元的輸出接近于1時認為它被激活,而輸出接近于0時認為它被抑制,那么使得神經元大部分的時間都處于被抑制狀態的限制稱為稀疏性限制[8]。
若在給定輸入為x情況下,自編碼神經網絡隱藏神經元j的激活度為a(2)j,則該隱藏神經元j在訓練集上的平均活躍度為:
根據稀疏性的定義,限制隱藏神經元j的平均活躍度接近于0,即:
其中,ρ是稀疏性參數,通常取一個接近于0的較小的值。
同時,在代價函數中加入一個額外的懲罰因子,懲罰那些ρ∧j和ρ有顯著不同的情況,從而使得隱藏神經元的平均活躍度保持在較小范圍內。本算法選擇相對熵(KL divergence),即懲罰因子:
∑s2j=1KL(ρρ∧j)(5)
其中,KL(ρρ∧j)=ρlogρρ∧j+(1-ρ)log1-ρ1-ρ∧j是一個以ρ為均值和一個以ρ∧j為均值的兩個伯努利隨機變量之間的相對熵。
在加入了稀疏性限制后,總體代價函數可以表示為:
Jsparse(W,b)=J(W,b)+β∑s2j=1KL(ρρ∧j)(6)
其中,J(W,b)如之前所定義,而β為控制稀疏性懲罰因子的權重。
1.2.3棧式自編碼算法
棧式自編碼網絡是由多層稀疏自編碼網絡組成的神經網絡,其前一層自編碼網絡的輸出作為其后一層自編碼網絡的輸入[9]。棧式自動編碼網絡的結構示意圖如圖3所示。
棧式自編碼網絡的訓練方法如下:在訓練每一層參數時,固定其他各層參數保持不變。在上述預訓練過程完成之后,進行微調,即通過反向傳播算法同時調整所有層的參數以改善結果。
1.3Softmax回歸
Softmax回歸解決的是多類分類問題,其思想如下:對于給定的測試輸入樣例(x,y),利用假設函數計算屬于每一個類別j的概率值p(y=j|x),則該假設函數hθ(x)形式如下:
2基于棧式自編碼的精神分裂癥腦電分析
2.1數據集
本文所用數據均為醫院采集的真實數據,其中有62個精神分裂癥患者,88個健康對照者。被試者的EEG信號均在靜息閉眼的狀態下采集。EEG的信號使用含有 64 個導聯的放大器進行數據的采集,采樣頻率為1 000 Hz,所采集的樣本數據都包含64個導聯上2~3 min的時域數據。
2.2腦電特征提取
因為精神分裂癥是由于大腦異常引起的,在得到的64個導聯的信號中,選取了59個最能直接反映大腦活動狀態的導聯,分別是AF3、AF4、AF7、AF8、C1、C2、C3、C4、C5、C6、CP1、CP2、CP3、CP4、CP5、CP6、CPz、Cz、F1、F2、F3、F4、F5、F6、F7、F8、FC1、FC2、FC3、FC4、FC5、FC6、Fp1、Fp2、Fpz、FT7、FT8、Fz、O1、O2、Oz、P1、P2、P3、P4、P5、P6、P7、P8、PO3、PO4、PO7、PO8、POz、Pz、T7、T8、TP7、TP8。
由于深度學習網絡需要大量訓練樣本,在此,對每個人的時域數據進行截取多個時間片段樣本的處理,將每個時域數據截成長度為2 s、重疊為25%的多個片段樣本。通過這樣處理后,獲得8 709個精神分裂癥患者的時間片段,11 542個健康對照者的時間片段樣本。
對每個樣本,采用快速傅里葉變換獲取其功率譜密度。接著,提取其在頻域中5個頻帶的能量作為特征,即delta波段(1~3 Hz)、theta波段(4~7 Hz)、alpha波段(8~13 Hz)、beta波段(14~30 Hz)和gamma波段 (31~50 Hz)的能量。最后,每個樣本提取到295個特征,作為棧式自編碼網絡的輸入。
2.3棧式自編碼網絡的實現
本文提出的用于精神分裂癥腦電分析的棧式自編碼網絡由多個自編碼網絡和一個Softmax回歸層構成。在完成訓練后,這個棧式自編碼網絡能夠根據測試腦電信號實現自動判別該腦電所屬實驗者是否患有精神分裂癥。
這個棧式自編碼網絡首先對網絡中的每層到進行逐層貪婪訓練:輸入的數據(295個頻域能量特征)被用于訓練第一個稀疏自編碼網絡,以獲取輸入數據的初級特征h(1)。在此,使用梯度下降方法來最優化代價函數,從而學習出第一個網絡的最佳權重參數。
在最佳權重學習完畢后,使用輸入數據在第一個網絡進行前向傳播,得到輸入數據的初級特征h(1)。而第一個網絡得到的特征h(1)被用作第二個網絡的輸入,采用同樣的方法獲取第二個網絡的特征h(2)。將前一層網絡學習到的特征作為下一層網絡的輸入,循環以上步驟,可獲得每層網絡的最佳權重參數。最后一層隱藏層的特征h(n-1)被用作Softmax回歸層的輸入,以獲取其最佳權重參數。
在完成了逐層最佳權重參數學習后,對整個網絡進行微調,以獲得最佳全局權重。
3實驗分析
本實驗將從兩個方面進行分析。為探究隱藏層節點數對識別效果的影響,先探究只含有一個隱藏層的自編碼網絡的隱藏層節點數對識別效果的影響,之后再探究棧式自編碼網絡的隱藏層層數對識別效果的影響。
3.1單層網絡隱藏層節點數對實驗結果的影響
首先構造了一個輸入層含有295個節點、輸出層為2個節點Softmax回歸層的單隱藏層自編碼網絡,令其隱藏層節點數為10~1 000,以觀察隱藏層節點數對精神分裂癥腦電的識別率,實驗結果如圖4所示。
從圖4可以看到,采用了稀疏自編碼網絡對精神分裂癥腦電具有較好的識別效果,不同隱藏層節點所獲得的識別準確率均在72%左右,其中當隱藏層節點數為80、110、200時,識別率最高,超過了74%。
3.2網絡層數對實驗結果影響
為探究棧式自編碼網絡的隱藏層層數對識別效果的影響,分別構造了隱藏層層數為2層、3層和4層的棧式自編碼網絡,具體網絡參數和實驗結果如表1所示。
從表1結果可以看到,當隱藏層數目增加時,該棧式自編碼網絡對精神分裂癥腦電的識別率有小幅度的提升。
4結論
針對精神分裂癥難以診斷的問題,本文提出了利用深度神經網絡對精神分裂癥腦電進行分析判別的方法。該方法通過建立含有多個隱層結構的棧式自編碼網絡,從大量腦電數據中獲取隱含結構信息,以提高分類識別以及預測的準確性。實驗驗證了所提出的方法的有效性,對 62個精神分裂癥患者和88個健康對照者的腦電數據的識別準確率較高,且有較好的適應性。從實驗分析可得,實驗結果與理論分析基本相符。
在未來的研究中,要解決的主要問題有:(1)深度神經網絡層數的極限在哪里,是否存在某個固定的層數使得該網絡達到性能最優;(2)如何決定某類問題深度學習的層數和隱藏層節點的個數。
參考文獻
?。?] 管麗麗,杜立哲,馬弘. 精神分裂癥的疾病負擔(綜述)[J]. 中國心理衛生雜志,2012,26(12):913919.
?。?] 宋安林. 精神分裂癥腦組織各部位神經病理改變對比研究[D].重慶:重慶醫科大學,2010.
?。?] TEPLAN M. Fundamentals of EEG measurement [J]. Measurement Science Review, 2002, 2(2): 110.
[4] YOSHUA B, COURVILLE A, VINCENT P. Representation learning: a review and new perspectives[J].IEEE Transactions on Pattern Analysis & Machine Intelligence, 2013,35(8):17981828.
[5] SCHLKOPF B, PLATT J,HOFMANN T. Greedy layerwise training of deep networks[J]. Advances in Neural Information Processing Systems,2007,19:153160.
?。?] HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006,313(5786):504507.
?。?] OLSHAUSEN B A, FIELD D J. Sparse coding with an overcomplete basis set: a strategy employed by VI?[J]. Vision Research,1997,37(23): 33113326.
?。?] LEE H, BATTLE A, RAINA R, et al. Efficient sparse coding algorithms[C]. Conference on Neural Information Processing Systems, 2007:801808.
?。?] YOSHUA B, DELALLEAU O. On the expressive power of deep architectures[C]. Interrational Couference on Discovery Science,2011,6925:1836.