鐘霽媛,陳思翰,王晗
(1.成都市第七中學,成都610041;2.四川大學華西醫(yī)院,成都610041;3.四川大學機器智能實驗室,成都610065)
近年來,隨著機器智能蓬勃發(fā)展,其相關理念與研究成果隨著新聞傳媒技術的成熟達到了家喻戶曉的程度。目前,在機器學習領域,最成功的算法就是神經(jīng)網(wǎng)絡方法。在智慧醫(yī)療、廣告推薦、問答系統(tǒng)等領域,基于深度神經(jīng)網(wǎng)絡的方法已經(jīng)超越傳統(tǒng)的數(shù)理分析方法,更加高效、準確,甚至在部分應用上超越了人類大腦的識別能力。
癲癇是一種以大腦神經(jīng)元異常突然性放電為特征的神經(jīng)系統(tǒng)疾病。近年來的研究證明,癲癇是一組包含各種并發(fā)癥的復雜神經(jīng)網(wǎng)絡疾病,而不同類型的癲癇,受累的神經(jīng)網(wǎng)絡往往各有區(qū)別,這也可能造成癲癇患者表現(xiàn)出不同的臨床綜合征以及臨床藥物治療效果的差異。因此,在癲癇患者疾病的早期進行癲癇網(wǎng)絡特征識別并進行預后的判斷,可以有效改善目前的癲癇治療方案,進行個體化的精準治療。癲癇的鑒別和治療具有重要的社會意義和臨床意義。
目前癲癇主要通過醫(yī)生檢查受試者腦電圖中的癲癇波,并結合受試者的臨床病史,進而判斷受試者是否患有癲癇以及癲癇的具體類型。往往需要對受試者的腦電波進行24 小時甚至更長期的監(jiān)測,這樣就會導致癲癇鑒別十分耗時。此外又依賴于醫(yī)生的臨床經(jīng)驗。為了克服上述的局限性,近年來有學者把目光投向受試者的磁共振影像,希望借助機器學習的方法對受試者進行癲癇鑒別。
顳葉內外側癲癇的鑒別診斷是目前臨床上時常遇到的問題,顳葉內側癲癇患者的癲癇波位于大腦深面,普通的頭皮腦電難以準確捕捉到這種腦電信息,而深部電極安置存在技術難度高,術后并發(fā)感染的可能性等,所以顳葉內外側癲癇的鑒別診斷時常對臨床經(jīng)驗不豐富的醫(yī)生構成困擾。為了解決這個問題,本文創(chuàng)新性地提出了基于深度神經(jīng)網(wǎng)絡的方法對顳葉內外側癲癇患者進行鑒別。
在腦部疾病診斷的相關領域中主流研究方法是基于腦電圖提取關鍵特征進行疾病診斷,然而隨著機器學習的興起,另一種基于磁共振影像利用機器學習進行疾病診斷的研究方法也漸漸受到人們的關注。
腦電圖用于癲癇研究已有較長歷史,為了對癲癇性發(fā)作進行準確檢測,研究者往往使用特征提取的方法,即從時域和頻域角度分析腦電圖。但隨著磁共振技術的成熟,研究者逐漸將研究目光投向磁共振影像上,因為腦功能磁共振影像不光提供了腦部的動態(tài)信息,還可以提供腦網(wǎng)絡的特征信息,在癲癇、抑郁癥等腦部疾病的鑒別方面有了一定的研究的成果。
Jahankhani 等利用離散小波變換將腦電分解為1~4 赫茲、4~8 赫茲、8~13 赫茲以及13~30 赫茲等不同的頻率子帶信號,計算出小波系數(shù)的相關統(tǒng)計特征,并將其作為腦電特征。Guo 等人[1]現(xiàn)將腦電信號經(jīng)小波變換分解,提取出子帶信號的線長特征作為癲癇腦電特征,同時設計了前饋神經(jīng)網(wǎng)絡,將子帶信號的線長特征輸入神經(jīng)網(wǎng)絡,完成癲癇發(fā)作的自動檢測。Dai 等人[2]從磁共振功能影像和磁共振結構影像中提取低頻振幅(ALFF)、局部一致性(ReHo)、灰質密度(GMD)、局部功能相關強度(RFCS)等指標,并將其相互組合后,利用支持向量機(SVM)的方法,實現(xiàn)了對阿爾茨海默病的鑒別。劉珍銀等人[3]認為人腦是一個非常復雜的網(wǎng)絡,具有多種重要的網(wǎng)絡屬性,其中包括“小世界”屬性,并使用基于血氧水平對比度的功能磁共振成像技術,分析了顳葉癲癇患者和健康人的腦功能網(wǎng)絡的“小世界”屬性,并結合具體數(shù)據(jù)集在數(shù)理統(tǒng)計層面上對比了兩者在“小世界”屬性上的差異。劉文釗等人[4]利用靜息態(tài)下的功能磁共振影像和機器學習的雙視角分別對ReHo、ALFF 和FALFF 進行了實驗探究,通過SVMRBF 算法對抑郁癥患者和健康人進行分類并對特征重要性與統(tǒng)計量之間的關系做了定量分析,實驗表明抑郁癥患者在統(tǒng)計水平上與健康人有差異。上述研究的結果表明,相較于傳統(tǒng)的臨床-電生理診斷體系,機器學習通過對大數(shù)據(jù)進行稀疏化處理的方法對癲癇患者的疾病特征進行了提取以及泛化,這是一個全然不同的視角,可能使我們加深對癲癇等神經(jīng)系統(tǒng)疾病復雜病理過程的理解,進而為精準治療以及個體化治療提供依據(jù),進而大大改善目前的治療方案以及患者預后[5]。
神經(jīng)網(wǎng)絡研究在近十年間飛速發(fā)展,在特征提取、圖像分類、目標檢測、語意分割、語音識別等諸多領域都取得了顯著性成就[6]。
Krizhevsky 等人[7]于2012 年提出了AlexNet 網(wǎng)絡,在公開的大型圖像數(shù)據(jù)庫ImageNet 的圖像分類比賽中以超過第二名11%準確性的壓倒性優(yōu)勢奪得了比賽冠軍。自此引起了學術界對卷積神經(jīng)網(wǎng)絡的關注。谷歌Szegedy 等人[8]于2015 年提出了Inception 模塊,并在此基礎上設計了Inception V1 網(wǎng)絡,再次刷新了ImageNet上的圖像分類準確性。同年Ioffe 等人[9]提出了批標準化,并應用于Inception 網(wǎng)絡,再次刷新紀錄。2016 年Szegedy 等人[10]繼續(xù)挖掘Inception 網(wǎng)絡潛力,提出了用多層連接的小卷積核組成小網(wǎng)絡代替大卷積核,設計了Inception V3 網(wǎng)絡,進一步提高了紀錄。同年,Szegedy 等人[11]吸收微軟RestNet[12]網(wǎng)絡的優(yōu)點,進一步改進網(wǎng)絡提高了準確性。谷歌Zoph 等人[13]于2017 年提出NASNet 網(wǎng)絡,用于大規(guī)模圖像分類和識別。該網(wǎng)絡能夠實現(xiàn)機器學習模型設計自動化,并在ImageNet圖像分類任務上取得了迄今為止最好的準確性。
Hochreiter 等人[14]于1997 年提出了經(jīng)典的LSTM網(wǎng)絡,解決了回復神經(jīng)網(wǎng)絡長時依賴問題,同年Schuster 等人[15]在此基礎上,增加反向連接利用反向信息,提出了雙向LSTM 網(wǎng)絡。Cho 等人[16]于2014 年提出LSTM 網(wǎng)絡的變體GRU 網(wǎng)絡,旨在解決標準RNN 中出現(xiàn)的梯度消失問題。相比經(jīng)典LSTM 網(wǎng)絡,GRU 網(wǎng)絡計算速度更快。
為了完成受試者癲癇診斷,受試者平躺于磁共振掃描儀設備中,經(jīng)過腦部磁共振掃描后獲得磁共振掃描序列,將某個受試者單次掃描的磁共振序列經(jīng)過一定的預處理方法后作為輸入數(shù)據(jù)傳入到系統(tǒng)中檢測。系統(tǒng)采用多模態(tài)融合的深度神經(jīng)網(wǎng)絡方法對跨模態(tài)輸入數(shù)據(jù)進行分析,其本質上是對跨模態(tài)輸入數(shù)據(jù)的分類問題。
本文用深度神經(jīng)網(wǎng)絡實現(xiàn)對一組跨模態(tài)輸入數(shù)據(jù)的分類,具體包括:①數(shù)據(jù)準備;②深度神經(jīng)網(wǎng)絡模型設計;③深度神經(jīng)網(wǎng)絡模型訓練;④深度神經(jīng)網(wǎng)絡模型測試幾個部分。
本研究使用深度神經(jīng)網(wǎng)絡對受試者是否是健康人(HC)、是否患有顳葉內側癲癇(mTLE)和是否顳葉外側癲癇(TLE)的診斷是從大量受試者的磁共振掃描序列數(shù)據(jù)中自動地學習到相關癲癇特征后進行的。因此,對深度神經(jīng)網(wǎng)絡進行訓練之前,需要對大量受試者的磁共振掃描序列數(shù)據(jù)進行標注(由神經(jīng)內科??漆t(yī)生診斷)和預處理(從受試者掃描序列中提取出多模態(tài)信息),并對數(shù)據(jù)集進行相應劃分。
(1)數(shù)據(jù)標注:受試者完成磁共振掃描后,本發(fā)明將某個受試者的單次磁共振掃描序列作為一例數(shù)據(jù)。專業(yè)的神經(jīng)內科醫(yī)生結合磁共振掃描序列及受試者臨床癥狀對每例數(shù)據(jù)是否是健康人,是否患有顳葉癲癇和是否患有良性中央顳區(qū)癲癇進行精準地標注。
(2)圖像預處理:對每例磁共振掃描序列進行時間矯正,空間標準化,空間平滑、時序壓縮等預處理操作后得到腦區(qū)間相關強度,以及各腦區(qū)的信號強度作為神經(jīng)網(wǎng)絡輸入數(shù)據(jù)。
(3)數(shù)據(jù)集劃分:為了訓練和測試深度神經(jīng)網(wǎng)絡模型,將經(jīng)預處理的數(shù)據(jù)集按照4:1 分為訓練集和測試集。
圖1 方法流程示意圖
基本的神經(jīng)網(wǎng)絡由神經(jīng)元以及神經(jīng)元之間的連接組成。神經(jīng)網(wǎng)絡分為輸入層、隱藏層和輸出層。隱層神經(jīng)元本質上是在逼近輸入數(shù)據(jù)與其特征之間的高度非線性關系。深度神經(jīng)網(wǎng)絡與淺層神經(jīng)網(wǎng)絡相比,“深度”體現(xiàn)在隱層數(shù)量更多,連接方式更加靈活和復雜,能夠用相比淺層網(wǎng)絡少得多的參數(shù)獲得輸入數(shù)據(jù)到其特征之間的映射關系,也就是說,深度神經(jīng)網(wǎng)絡學習到輸入數(shù)據(jù)特征的能力更加強大。本文中設計的深度神經(jīng)網(wǎng)絡模型包括三個大類模塊,其中圖像提取模塊包含2 個子類模塊:
(1)時序提取模塊:包括一個或多個雙向長短時記憶模塊層。該模塊在時序信號上對輸入數(shù)據(jù)中的時序數(shù)據(jù)進行時序特征提取。
(2)圖像提取模塊:由特征提取模塊和特征綁定模塊構成
①特征提取模塊:包括一個輸入層和多個卷積結構。每個卷積結構由多個不同尺度的卷積層和池化層構成。
②特征綁定模塊:包括一個或多個多尺度池化層。該模塊在圖像維度上對輸入數(shù)據(jù)中的圖像數(shù)據(jù)的特征進行綁定。
③分類模塊:包括一個多類別分類器(Softmax)。時序提取模塊和圖像提取模塊提取的信息跨模態(tài)融合后由分類模塊進行最后的分類。
深度神經(jīng)網(wǎng)絡對輸入數(shù)據(jù)進行學習的過程也稱為訓練。訓練神經(jīng)網(wǎng)絡的目標是找到一組權值(連接不同層神經(jīng)元之間的數(shù)值),使得對一個較大規(guī)模數(shù)據(jù)集的損失函數(shù)最小。具體步驟包括:
(1)數(shù)據(jù)編碼
對神經(jīng)網(wǎng)絡網(wǎng)絡的輸出層,考慮到本發(fā)明要解決的是一個三分類問題,即輸出三個不同類別,通過對類別進行編碼,如第i 個圖像樣本屬于第1 類,那么,其目標輸出表示為di=[1 ,0,0]T,反之,其目標輸出表示為di=[0 ,1,0]T或di=[0 ,0,1]T。
(2)跨模態(tài)融合
深度神經(jīng)網(wǎng)絡經(jīng)過時序提取模塊和圖像提取模塊后,會分別得到一組代表時序特征向量,記為vr和vc。然后將兩個特征向量拼接起來從而實現(xiàn)跨模態(tài)信息的融合。
(3)性能函數(shù)設計
根據(jù)所使用的多類別分類器,設計性能函數(shù),通過求解最優(yōu)化問題來獲得網(wǎng)絡的權值矩陣。
(4)網(wǎng)絡計算
通常,對一個L 層的前饋神經(jīng)網(wǎng)絡,設其訓練樣本集合為X ∈Rm×n,其中,m 為單個樣本的維度,n 表示訓練樣本的個數(shù),那么,第i 個樣本可表示為Xi。設第l層的第j 個神經(jīng)元到l+1 層的第k 個神經(jīng)元連接權值記為,那么,第l 層到l+1 層的連接權值矩陣W(l)。設第l 層上神經(jīng)元的激活函數(shù)為f()?(l),從輸入層到輸出層,不斷進行前向計算,其過程為:
通常,對一個L 層的長度為T 的回復神經(jīng)網(wǎng)絡,設其訓練樣本集合為,其中,m 為單個樣本單個時序的單個維度,n 表示訓練樣本的個數(shù), 表示訓練樣本的時序長度。那么,第i 個樣本的第l 層的第t個時刻可表示為t),U(l)和W(l)可表示為第l 層相應連接權矩陣,b(l)表示第l 層的偏置,設第l 層上神經(jīng)元的激活函數(shù)為σ()?(l),那么,從輸入層到輸出層,不斷進行回復計算,其過程:
接著,進行跨模態(tài)融合,將前饋計算和回復計算得到的最終計算結果拼接起來,即:
最后設計性能函數(shù):
(5)將網(wǎng)絡計算所獲得的輸入數(shù)據(jù)的預測類別,與其真實所屬類別相比對,使用(5)中的性能函數(shù)來計算網(wǎng)絡預測值與目標輸出值的差異,并使用反向傳播算法實現(xiàn)網(wǎng)絡權值更新:
(6)重復(4)和(5)直至網(wǎng)絡收斂或達到規(guī)定的迭代次數(shù)。
深度神經(jīng)網(wǎng)絡模型的測試是測試所設計的神經(jīng)網(wǎng)絡是否能夠對從未學習過的數(shù)據(jù)進行正確的分類判斷,可用于對所設計的深度神經(jīng)網(wǎng)絡性能進行評價。本系統(tǒng)在測試過程中,輸入劃分出的測試集中的磁共振掃描序列數(shù)據(jù)。系統(tǒng)通過已經(jīng)訓練好的網(wǎng)絡計算出網(wǎng)絡輸出層神經(jīng)元的激活值,并根據(jù)激活值預測出該組圖像相應的所屬類別。這一過程完全由神經(jīng)網(wǎng)絡獨立完成。
將由深度神經(jīng)網(wǎng)絡預測的類別與樣本實際類別標簽進行比對,統(tǒng)計預測正確的樣本個數(shù)。當測試結果達到預期效果,則完成癲癇診斷問題的深度神經(jīng)網(wǎng)絡的訓練。
表1 癲癇數(shù)據(jù)集數(shù)據(jù)分布
本文實驗中所用的癲癇數(shù)據(jù)集數(shù)據(jù)分布如表格1所示,總計395 例數(shù)據(jù)。癲癇數(shù)據(jù)集中每例病例均為掃描幀數(shù)為200 幀磁共振功能像掃描序列。為獲得實驗中時序數(shù)據(jù),利用MATLAB 的DPABI 包將原始腦部的磁共振掃描序列數(shù)據(jù)預處理成能反映具有時序關系的FC 指標,得到各腦區(qū)時序上的信號強度,其數(shù)據(jù)維度為190×160(190 代表掃描序列去掉前10 幀后的剩余幀數(shù),160 代表使用的Dosenbach 等研究的腦區(qū)模型有160 腦部分區(qū))。為了獲取實驗中圖像數(shù)據(jù),利用MATLAB 的DPABI 包將原始數(shù)據(jù)處理成維度為160×160 的功能連接強度矩陣。
將本文提出的方法應用于真實癲癇數(shù)據(jù)集上的結果如圖2 所示,可在劃分好的測試集上達到92.3%的準確率,說明本文提出的方法經(jīng)過了真實數(shù)據(jù)的考驗。
圖2 利用本文提出的方法在劃分好的測試集上的分類準確率隨訓練周期變化圖
本文的工作從磁共振功能像出發(fā),基于深度學習的方法,從深度卷積神經(jīng)網(wǎng)絡和深度回復神經(jīng)網(wǎng)絡特征融合的視角來進行癲癇鑒別,在查閱的文獻中,首次利用深度學習的方法進行癲癇診斷,同時也具有一定的實際臨床意義。