姚寧,張淼,陳宏濤
(太原理工大學信息與計算機學院,山西 晉中 030600)
精神分裂癥(Schizophrenia,SZ)主要癥狀包括患者情感、思維、行為、感覺、精神活動等多方面的異常,且目前尚不明確其病因[1]。靜息態(tài)功能磁共振成像(resting-state functional Magnetic Resonance Image,rs-fMRI)因其時空分辨率高且不需要被試完成復雜任務已經被廣泛用于精神疾病的研究[2]。利用rsfMRI 構建腦區(qū)之間的功能連接矩陣,可以分析正常被試與SZ 患者大腦功能的差異,進而為醫(yī)生診斷SZ患者提供幫助。
大部分fMRI 分類研究使用傳統機器學習算法,如支持向量機(Support Vector Machine,SVM)和隨機森林(Random Forest,RF)等[3]。雖然傳統機器學習方法已經在fMRI 分類任務中表現出較好的性能,但其無法提取到深層特征,分類精度有待進一步提升。近年來已有學者將卷積神經網絡(Convolutional Neural Network,CNN)等深度學習模型用于fMRI 分類研究中,并獲得了較高的分類精度[4]。然而以上研究大都只考慮到了腦區(qū)之間的靜態(tài)功能連接(static Function Connection,SFC),腦區(qū)之間的連接還表現出了動態(tài)的特性。通過構建腦區(qū)之間的動態(tài)功能連接(Dynamic Function Connection,dFC),并與靜態(tài)功能連接結合使用可以更加全面地描述腦區(qū)之間的關系。
為了充分利用靜態(tài)和動態(tài)功能連接,文中提出了CNN-Attention 深度學習模型。該模型將兩種功能連接作為特征輸入,利用CNN 網絡分別提取二者的特征,然后將特征合并后傳入全連接層分類。其中,CNN-Attention 模型在CNN 與全連接層之間加入了注意力機制,為提取后的特征進行加權,提高模型分類的性能。在對121 位精神分裂癥患者和195 位正常被試進行分類時,所提出的深度學習模型有較高的分類精度,且用實驗證明,結合使用靜態(tài)和動態(tài)功能連接能有效地提高模型的分類準確率。
目前構建腦網絡最常用的方法是皮爾遜相關法[5](Pearson’s Correlation,PC),通過計算兩個腦區(qū)時間序列間的相關系數來構建相關矩陣,即靜態(tài)功能連接矩陣。
兩個腦區(qū)間的皮爾遜相關系數表示為:
其中,xi、xj表示兩個腦區(qū)時間序列,Pij為時間序列間的皮爾遜相關系數,分別為xi、xj的平均值。
使用滑動窗相關法(Sliding Window Correlation,SWC)計算腦區(qū)之間的動態(tài)功能連接,所求得的動態(tài)功能連接矩陣為一系列隨時間變化的相關系數矩陣,各個時間窗內的矩陣代表了各腦區(qū)之間的相關性隨時間變化的情況[6]。用基于加權皮爾遜相關的滑動時間窗法提取腦區(qū)間的動態(tài)功能連接。加權皮爾遜相關將窗口之外的時間序列數據置為零,只保留窗口內的數據[7],任意兩個腦區(qū)時間序列x和y的加權皮爾遜相關可以表示為:
wi為權重向量,通過設置不同的wi來構建不同的窗函數,該文使用錐形窗來提取腦區(qū)間的動態(tài)功能連接,錐形窗與矩形窗的不同之處在于其為靠近窗口中心的時間點施加更大的權重[8]。wi表示為:
其中,rect 為矩形窗函數,其將時間窗外的數據置為0,時間窗內的數據置為1,Gauss(σ) 為高斯窗函數,σ=mTR (1 TR 為2 s)。通過將矩形窗與高斯窗相卷積就可以得到錐形窗。
該文使用的數據集1 來自于由美國國立衛(wèi)生研究院資助,由腦網絡研究機構(the Mind Research Network)和新墨西哥大學收集并公開的COBRE 數據集,可通過網站(http://fcon_1000.projects.nitrc.org/indi/retro/cobre.html)訪問和下載。COBRE 數據集中包含有71 位精神分裂癥患者和74 位健康被試。數據集2 為由加州大學洛杉磯分校發(fā)布的UCLA 數據集(https://openfmri.org/),該數據集一共包含50 位精神分裂癥患者和121 位正常被試。該文將兩個數據集合并作為分類模型輸入。所有被試統計學資料見表1。
表1 人口統計學信息
所有SZ 患者均由醫(yī)師按美國精神疾病診斷與統計手冊第四版(Diagnostic and Statistical Manual of Mental Disorders,DSM-IV)診斷標準確診,同時排除可由DSM-IV 確診的患有其他精神疾病的被試以及過去12 個月內有濫用藥物史、有5 min 以上意識喪失的嚴重頭部外傷史和智力低下的被試。健康被試同樣也通過DSM-IV 檢測,保證健康被試不患有任何精神疾病,同時保證沒有濫用藥物和頭部創(chuàng)傷
原始的fMRI 圖像中人腦的位置和大小不相同,且含有較多噪聲。文中使用SPM12(https://www.fil.ion.ucl.ac.uk/spm)以及DPARSF(http://www.rfmri.org/dpabi)對數據集進行預處理。為保持所有被試掃描時間相同且消除剛開始掃描時梯度磁場不穩(wěn)定造成的誤差,COBRE 數據集去除所有被試的前10 個時間點,UCLA 數據集去除前12 個時間點,對所有被試進行時間層校正、頭動校正,圖像配準至蒙特利爾神經研究所標準空間,重采樣體素為3 mm×3 mm×3 mm,回歸干擾信號和全局信號,帶通濾波(0.01~0.1 Hz),使用自動解剖標記(Automated Anatomical Labeling,AAL)圖譜將腦部劃分為116 個腦區(qū)。
靜態(tài)功能連接矩陣由腦區(qū)間的皮爾遜相關表示,可由公式(1)求取。動態(tài)功能連接由加權皮爾遜相關求得,其中高斯窗的方差設置為4 TR,窗口大小設置為20 TR。經實驗證明,窗口寬度在15~30 TR之間時可以準確提取rs-fMRI 中的動態(tài)特性,若窗口過大會導致無法捕捉到有價值的功能連接變化,而窗口過小又會引入本不存在的動態(tài)特性[9]。窗口每次移動1 TR。提取靜態(tài)和動態(tài)功能連接流程如圖1 所示。
圖1 提取靜態(tài)和動態(tài)功能連接流程圖
該文提出了一種結合使用靜態(tài)和動態(tài)功能連接的深度學習模型CNN-Attention。對于功能連接矩陣,該文沒有使用廣泛應用于圖像識別中的(3×3)、(5×5)卷積核,而是利用一個卷積核為(116×1)和一個卷積核為(1×116)的CNN 層來對連接矩陣做特征提取。功能連接矩陣與圖像相差較大,圖像中類型相近的特征往往分布在幾個相鄰的像素之間,而功能連接中的特征與每個提取的腦區(qū)有關。功能連接矩陣中每一行/列代表一個腦區(qū)與其他腦區(qū)之間的相關性,這顯然與圖像不同,故(3×3)、(5×5)卷積核不適用于功能連接矩陣。而(1×n)和(n×1)卷積核(n為腦區(qū)的數量)可以為每個腦區(qū)提取與之相關的最具鑒別力的特征,CNN 層將不同的權重賦給每個連接值,權重大的連接值代表最具區(qū)分能力的特征。
CNN-Attention 模型沒有采用文獻[12]提出的將兩種特征矩陣組合為(116×116×2)的矩陣作為CNN網絡的輸入,組合兩種特征會使提取到的深層特征同時帶有靜態(tài)和動態(tài)信息,雖然每個深層特征擁有更多的信息量,但也會導致注意力網絡無法關注到那些在靜態(tài)功能連接中不具鑒別力但在動態(tài)功能連接中區(qū)別較大(或相反)的深層特征。該文利用卷積層分別對靜態(tài)和動態(tài)功能連接進行特征提取,之后將降維后的深層特征串聯作為注意力網絡的輸入,使注意力網絡表現出更好的效果。
CNN 網絡中,第一層濾波器個數為64 個,第二層為128 個。對于動態(tài)功能連接,首先按窗口對動態(tài)功能連接矩陣求平均,將其變?yōu)?116×116×1)的矩陣,這樣可以減少特征數量,提高學習速度,之后的特征提取與靜態(tài)功能連接相同。為提高訓練精度和防止過擬合,在每個CNN 層后都加有批量標準化(Batch Normalization,BN)層并在第二個CNN 層后加入Dropout 層(丟棄率設置為25%),激活函數使用LeakyReLU(alpha=0.01)。
近年來,注意力機制被廣泛應用于深度學習模型中[10]。注意力機制可以使模型在眾多無關信息中分辨出最具鑒別力的特征,進一步提高分類模型的分類精度。通過CNN網絡特征提取后,模型將兩個輸入為(116×116×1)的矩陣降維為兩個(1×1×128)的矩陣。將這兩組特征串聯起來作為注意力網絡的輸入。
注意力網絡包括兩層全連接層,第一個全連接層神經元的個數是輸入特征數的1/4,為64 個,激活函數為LeakyReLU,第二個全連接層神經元個數與輸入特征數相同為256 個。這樣一方面減少了所要學習的參數個數(若輸入特征直接與第二個全連接層相連,需要學習的參數個數為256×256=65 536,在不考慮偏差的情況下,加入第一個全連接層后需要學習的參數個數為256×64+64×256=32 768,是之前的1/2),同時加入LeakyReLU 激活函數增加了模型的非線性分類能力。第二層的激活函數為Sigmoid 函數,輸出(0,1)之間歸一化的權重,最后將所得到的權重與輸入的256 個特征相乘獲得加權后的特征。
將加權后的特征輸入神經元個數為96,2 的全連接層,前一層激活函數為LeakyReLU,最后一層激活函數為Softmax。模型結構如圖2 所示。
圖2 CNN-Attention結構示意圖
在本實驗中,使用自適應矩估計(Adaptive moment estimation,Adam)優(yōu)化器來最小化真實標簽和預測標簽之間的損失值,其學習率設置為0.000 1。損失函數為交叉熵損失,其公式為:
其中,n為樣本數量,yi為樣本真實標簽,為模型預測的標簽,L為損失值。
訓練時,每批次選取32 個被試,一共訓練150 個epoch。由于樣本數據有限,該文提出的深度學習模型可能存在過擬合的問題,為了減少這一問題對分類結果產生的影響,實驗采用5 折交叉驗證,結果取5 折交叉驗證的平均值。
根據交叉驗證的結果,該文使用靈敏度SN(Sensitivity)、特異性SP(Specificity)、分類準確率ACC(Accuracy)和受試者工作特征曲線(Receiver Operating Characteristic,ROC)作為分類結果評估指標。各個指標計算方法如下:
其中,TP為真正例,即SZ患者被正確分類個數;FN為假反例,即SZ患者未被正確分類個數;FP為假正例,即正常被試被錯誤分類個數;TN為真反例,即正常被試被正確分類個數;SN表示SZ 患者中預測正確的被試所占比例;SP表示健康被試中正確預測的被試所占比例;ACC為分類精度,即所有被試中預測正確的被試所占比例;FPR為假陽性率,ROC 曲線的橫坐標為FPR,縱坐標為SN,曲線下面積(Area Under Curve,AUC)反映分類器性能,AUC 越大,分類器性能越好。
為了證明CNN-Attention 模型擁有較好的分類性能,將其與一些經典分類模型對比,所用到的傳統機器學習模型包括SVM 和RF,深度學習模型包括卷積神經網絡、BrainNetCNN[11]和CCNN[12](Connectome-Convolutional Neural Network)。
SVM 模型首先利用PCA 進行特征提取,保留95%的主成分,然后將特征輸入到線性SVM 中,懲罰因子設置為0.1。RF 的最大深度為13,基決策樹的數量為111。
卷積神經網絡使用兩層核函數為(3×3)一層卷積核為(5×5)的CNN 層,每層濾波器的個數分別為32,64,128,每個CNN 層后都有BN 層、最大池化層和Dropout 層,最后用神經元個數分別為128,2 的全連接層整合特征并完成分類,模型中激活函數均為LeakyReLU(alpha=0.01)。通過對比卷積神經網絡與CNN-Attention 模型,比較不同卷積核對模型分類性能的影響。
BrainNetCNN 使用原文中提到的兩層E2E 層、一層E2N 層和一層N2G 層,最后將卷積層得到的特征與四層神經元個數為256,128,30,2 的全連接層相連并通過Softmax 激活函數分類。
CCNN 使用與原文中相同的結構,即兩層卷積核分別為(1×116)和(116×1)的卷積層和兩層神經元個數為96,2 的全連接層。
為控制無關因素的影響,所有模型中使用的損失函數和優(yōu)化器與前文相同,均為交叉熵損失函數和Adam 優(yōu)化器,訓練150 個epoch,每批次被試個數均為32,且都進行了5 折交叉驗證。
為考察靜態(tài)與動態(tài)功能連接對經典網絡分類性能的影響,分別將二者作為模型的輸入,考察分類器的性能。對于傳統機器學習,提取靜態(tài)和動態(tài)功能連接矩陣的對角線上半部分并串聯作為模型的輸入。對于深度學習模型,將靜態(tài)功能連接矩陣與動態(tài)功能連接矩陣組合為(116×116×2)的矩陣作為輸入。同時將CNN-Attention 中的注意力網絡去除來測試注意力網絡對模型的影響,以及將靜態(tài)與動態(tài)功能連接組合為(116×116×2)的矩陣作為模型輸入來考察不同特征提取策略對分類結果的影響。
表2 為使用靜態(tài)功能連接、動態(tài)功能連接和二者結合的分類結果。CNN-Attention 模型在結合使用動態(tài)和靜態(tài)功能連接時得出了最高的分類準確率為79.11%和最高的AUC 為0.841。且相較于單獨使用兩種特征,結合使用使分類準確率提升了4.14%。SVM 擁有最高的靈敏度為77.77%,隨機森林有最高的特異性為93.33%。圖3 為結合使用靜態(tài)和動態(tài)功能連接時模型的ROC 曲線。
圖3 ROC曲線
表2 不同方法的分類結果
將CNN-Attention 模型中注意力網絡去除后,得到的分類準確率為76.25%,與原模型相比下降了2.86%。將CNN-Attention 模型中靜態(tài)和動態(tài)功能連接組合為(116×116×2)的矩陣作為輸入,得到的分類準確率為74.03%,與原模型相比下降了5.08%。
從實驗結果可以看出,結合使用靜態(tài)和動態(tài)功能連接可以有效地提高深度學習模型的性能,證明靜態(tài)和動態(tài)功能連接互為補充,二者結合使用可以為疾病的識別提供更多有鑒別力的特征。同時也表明大腦是一個動態(tài)的系統,綜合考慮大腦的靜態(tài)和動態(tài)特性可以更好地描述腦區(qū)之間的關系。
相比于傳統機器學習算法,深度學習模型的分類精度更高,這是因為深度學習模型可以提取到腦功能連接中有價值的深層信息,體現出深度學習方法在處理多被試、高維度腦功能連接數據時的優(yōu)勢。
相比于BrainNetCNN,CNN-Attention 需要學習的參數較少,準確率較高,避免了由于網絡過于復雜而引起的過擬合問題。而與CCNN 相比,CNNAttention 將兩種特征分開進行特征提取,并加入注意力網絡來進一步對特征加權,有效提高了分類準確率。CNN 模型的準確率低于其他深度學習模型,可以證明(1×n)和(n×1)卷積核對功能連接數據提取特征要優(yōu)于(3×3)、(5×5)卷積核。
以往研究表明,相比于正常被試,精神分裂癥患者腦區(qū)間復雜的相互作用發(fā)生了改變。且這種連接的異常不僅存在于單個腦區(qū),而是存在于全腦中[13]。
為了考察精神分裂癥患者哪些腦區(qū)相比于正常被試發(fā)生了改變,該文對模型中權重的分布進行了分析。分別考察了靜態(tài)功能連接與動態(tài)功能連接第一個卷積層的權重,二者均為(64×116)的權重矩陣。通過將矩陣中每一列權重的絕對值相加,得到兩個(1×116)矩陣。這兩個矩陣分別代表了dFC 與sFC 中各個腦區(qū)在分類中的重要程度。選擇其中排名前十的腦區(qū)作為具有鑒別力的腦區(qū),所選腦區(qū)如表3 和圖4 所示。
表3 sFC和dFC中具有鑒別力的腦區(qū)
圖4 最具鑒別力的腦區(qū)
結果表明,模型從sFC 與dFC 中提取到的重要腦區(qū)并沒有明顯的重合,雖然二者都與腦區(qū)之間的皮爾遜相關,但dFC 關注的是一段時間內腦區(qū)之間相關性的變化情況。相較于sFC,dFC 更加關注SZ 患者與正常被試之間小腦的差異,且有研究表明,精神分裂癥患者小腦動態(tài)功能連接存在異常[14]。sFC把更多的權重分給了大腦區(qū)域,已有研究證實SZ 患者后扣帶回、前扣帶和旁扣帶腦回以及中央后回存在異常[15-16]。
文中基于卷積神經網絡和注意力網絡提出了CNN-Attention 網絡模型,利用動態(tài)和靜態(tài)功能連接矩陣作為輸入來對精神分裂癥患者進行分類。通過實驗證明,相較于只使用靜態(tài)或動態(tài)功能連接,結合使用二者會有效提高模型分類性能,且該文提出的模型擁有較高的分類精度。此外還找出了兩種特征對分類結果影響較大的腦區(qū),結果與以往研究一致,可以為精神分裂癥的發(fā)病機制及生物學標志物的確定提供線索,為精神疾病的預防與治療提供幫助。