曹玉珍,高晨陽,余 輝,張力新,王 江
(1. 天津大學精密儀器與光電子工程學院,天津 300072;2. 天津大學電氣自動化與信息工程學院,天津 300072)
癲癇是一種常見的神經系統(tǒng)疾病.在癲癇發(fā)作期腦電信號(EEG)會呈現(xiàn)出快速劇烈的變化,與非發(fā)作期時有很大的不同[1].因此通過分析 EEG可以實現(xiàn)癲癇發(fā)作的檢測.然而依靠人力從海量的 EEG記錄中識別并分類異常片段是一項耗費大量時間精力的任務[2].因此對癲癇發(fā)作自動檢測系統(tǒng)的研究有重要意義.
傳統(tǒng)癲癇發(fā)作檢測方法一般利用小波變換、形態(tài)學分析等方法提取樣本的特征,然后通過隨機森林、最鄰近算法等方法對樣本進行分類[3-4].隨著深度學習理論不斷完善,卷積神經網絡(CNN)在癲癇腦電分類檢測中也取得了很好的效果,對于不同數據集平均識別準確率保持在88.0%~99.1%之間[5-6].
研究中使用的多通道EEG數據一般包含了很多冗余信息,這可能會增加算法的復雜度并且會帶來模型的過擬合[7].選擇合適的通道子集可以對原始復雜數據進行過濾,有助于提升癲癇發(fā)作自動檢測系統(tǒng)的性能[8].傳統(tǒng)的通道選擇方法可以分為過濾式方法和封裝式方法.過濾式方法使用方差、方差差異、互信息等準則去評估候選的通道子集[8].Arvaneh等[9]基于最大方差準則篩選方差最大的 3個通道作為通道子集的方法取得了和人類神經生理學家選擇的通道相近的檢測效果.封裝式選擇方法一般包括特征提取和基于機器學習算法分類這兩個過程.決策樹算法、遺傳算法等常被用于腦機接口應用中的最優(yōu)通道子集的選擇[10-11].以上的通道篩選方法均需要手動提取并選擇特征,而且在面對差異巨大的不同個體的EEG信號時,提取的特征也往往不同,在實際應用中需要相當的精力去挑選合適的特征集合.
自編碼器是神經網絡的一種,對于復雜數據的降維和特征自學習非常有效[12].卷積自編碼器(CAE)可以用于癲癇患者 EEG的特征提取,最終平均識別準確率可以達到88.1%[13],相比于傳統(tǒng)方法效果提升不顯著,且不能充分發(fā)揮深度網絡的優(yōu)勢.
針對以上方法的不足,本文提出一種把基于CAE和費舍爾準則(FC)的 EEG通道選擇方法與基于參數遷移的一維卷積神經網絡(1D-CNN)分類器相結合的組合模型以實現(xiàn)癲癇發(fā)作通道篩選與檢測.
自編碼器一般包含輸入層、輸出層以及隱含層,隱含層的輸出是原始數據的特征編碼表示.原始數據經過自編碼網絡輸出的編碼表示可以被看作特征向量.傳統(tǒng)的自編碼器在面對類似 EEG這樣的復雜高維的非線性數據時,模型性能往往較差,很難從中提取出有效的特征表示[14].在自編碼器結構中引入卷積層可以實現(xiàn)對 EEG數據特征的有效提?。瓹AE模型結構與參數示意如圖 1所示,其中 CONV、POOL、FC、DePOOL和 DeCONV分別表示卷積層、池化層、全連接層、逆池化層和逆卷積層,M 表示特征向量維數.
在編碼層,單通道輸入數據反復經過卷積層、池化層得到一定形狀的特征映射,然后經過“壓平”操作把多維的特征映射變?yōu)橐痪S向量,得到的一維向量經過全連接層后變?yōu)殚L度為 M 的一維特征向量輸出.在解碼層,特征向量經過全連接層,然后被“拉伸”成為編碼層所得特征映射相同大小的多維張量.再經過對應數目的逆池化層與逆卷積層后得到與原始數據相同大小的重構數據.
模型一共由 3對卷積層(逆卷積)、3對池化(逆池化)層和 4個全連接層構成.卷積層和池化層的步長分別設置為 1和 2,其核的大小分別為 5和 2,使用最大池化函數進行下采樣.3層卷積操作中卷積核的個數分別為 16、32、64,3層逆卷積操作中卷積核的個數分別為 32、16、1.在卷積過程中對樣本邊緣進行補零填充,使得經過卷積層的特征映射輸出與輸入尺寸相同.經過卷積編碼原始數據實現(xiàn)了時域上降維和特征域的升維.
FC是一種評價特征相關性的方法,它采用極小化類內方差-極大化類間距離的思想來計算特征與分類任務的相關性,具有快速方便的優(yōu)點[15-16].每一通道的 EEG數據經過 CAE提取的特征向量可以當作一個特征子集.首先計算不同特征子集與分類任務的相關性iF,然后選擇iF較高的前Nch個通道的EEG數據進行后續(xù)分類識別任務的模型訓練.對于第i個特征子集 fi,它分別屬于 K個類,所有樣本一共被分成了發(fā)作期和非發(fā)作期兩類信號.定義類間散度矩陣SB和類內散度矩陣SW,SB和SW分別代表不同類特征子集的可區(qū)分程度和同類特征子集之間的可區(qū)分程度.求出SB和SW的跡(trace),然后計算二者的比值,可以得到特征子集的評價指標.SW、SB和iF的計算公式分別為
式中:Ck為第k類樣本的下標集;nk為每一類的樣本數;xi為第i個通道的特征子集fi的向量;kμ為第k類樣本所有特征子集的平均向量;μ為所有樣本所有特征子集的平均向量;trace(?)為求矩陣的跡,即矩陣主對角線元素之和[17].
圖1 CAE的結構與參數示意Fig.1 Schematic of structure and parameters of CAE
遷移學習是一種機器學習技術,旨在從已有機器學習任務中獲取通用知識表示,然后將其應用到其他任務之中以優(yōu)化模型、加速收斂[18-19].其中參數遷移是把部分層網絡中節(jié)點的權重從一個訓練好的網絡遷移到一個未經訓練的相同結構網絡里,而不是從頭開始為特定的任務訓練一個模型.基于遷移過的模型參數對新模型進行訓練與微調,最終得到一個 1DCNN模型進行癲癇發(fā)作信號的識別.
研究表明,組合權重的模型有助于加速收斂過程,使得模型獲得更好的泛化效果[18].1D-CNN 模型的結構與參數遷移的過程如圖2所示.1D-CNN由結構與 CAE相同的 3層卷積層與池化層、2層全連接層和Softmax層組成.使用訓練好的CAE的平均權重初始化卷積層和全連接層,然后適當降低學習率進行模型的細化訓練.其中分類器使用二值交叉熵作為損失函數進行優(yōu)化訓練.
圖2 1D-CNN模型結構以及遷移過程示意Fig. 2 Schematic of 1D-CNN model and parameters transferring
實驗使用的EEG數據來源于PhysioNet網站中的CHB-MIT數據庫[20].數據庫中的數據記錄了若干患有癲癇的受試者在撤去抗癇藥物后連續(xù)幾天內監(jiān)測采集到的頭皮 EEG差動信號.其中數據分辨率為16位,采樣頻率為256Hz,通道數目為23[21].
選取發(fā)作持續(xù)時間較長的8名患者的EEG數據用于研究,其編號分別為 1、3、5、8、10、11、15、23.依據癲癇發(fā)作起止時間標注信息,將患者的 EEG數據以2s的時間長度(樣本長度為512點)劃分為發(fā)作期與非發(fā)作期兩類樣本.分割樣本時重疊窗口長度為 1s以實現(xiàn)數據增強.數據標準化處理有助于加快深度學習模型的訓練與收斂[2],因此對各 EEG樣本進行Z-score標準化處理.
卷積自編碼器和分類器均采用反向傳播算法訓練,使用自適應優(yōu)化方法Adagrad對損失函數進行優(yōu)化.在網絡最后的全連接層引入隨機失活以預防過擬合.在訓練過程中全局學習率設置為 0.003~0.008之間的隨機數,執(zhí)行多次訓練過程用于測試,以規(guī)避訓練過程中的隨機誤差.模型測試主要針對分類器進行測試,通過分類器的性能表現(xiàn)來衡量卷積自編碼器所提取特征以及通道選擇的優(yōu)劣.
分類器在每一次全數據集上的迭代優(yōu)化完成之后,都用測試集的數據進行驗證,其中測試集占全數據集的20%.
模型的訓練過程在一臺處理器為 Intel Core i7-7700 CPU@3.60GHz,圖形處理器為 GeForce GTX 1060,RAM 為 8G 的主機上實現(xiàn),其中編程環(huán)境為Python 3.5,深度學習框架為keras 2.2.2.
以病患 10為例,經過樣本分割與預處理,全通道兩類樣本各10051個.表1為篩選通道數Nch不同時,基于卷積自編碼器和費舍爾準則(CAE+FC)、方差和方差差異性篩選的通道編號對比.不同方法篩選出的通道除了順序有差異之外結果基本一致,說明基于CAE+FC的通道篩選方法具有可行性.
表1 各個方法篩選的通道編號對比Tab.1 Comparison of channel number set filtered by each method
對不同篩選方法都使用相同結構的 1D-CNN分類器進行評估,作為實驗組,基于 CAE+FC方法進行參數遷移.圖3是基于CAE+FC、方差、方差差異性和隨機選擇的篩選方法的最終模型預測真陽性率(TPR)、假陽性率(FPR)的比較,以及經過 CAE+FC篩選后的模型與全通道數據的模型 TPR和訓練時間的對比,其中篩選的通道數 Nch=5,特征向量維數M=128.
圖3 不同模型的性能對比Fig.3 Performance comparison of different models
由圖 3(a)可見,組合模型在最后的分類中 TPR和 FPR指標好于基于方差和基于方差差異的篩選方法,遠優(yōu)于隨機選擇的方法.圖3(b)說明與不經篩選的全通道相比,模型的真陽性率更高,且平均訓練時長只有前者的22.30%,更具實用性.
圖 4為 Nch=5時,不同篩選方法檢測模型的訓練損失值的下降趨勢.基于CAE+FC的組合模型的收斂速度顯著快于其他方法,尤其當損失值為1.2時組合模型迭代 12次就可達到其他兩種方法迭代約200次時的收斂狀況.
圖4 不同篩選方法下檢測模型的損失函數下降趨勢Fig.4 Declining trend of the loss function value of the detection model under different selection methods
特征向量維數 M和篩選后的通道數 Nch值對組合模型的性能有一定的影響.通過分析組合模型的性能與計算復雜度,探究模型在最優(yōu)性能時的參數選擇情況.
M值會影響CAE和1D-CNN分類器的結構,進而影響組合模型的效果.選擇 M∈{2,4,8,16,32,64,128}時的實驗結果進行討論.
使用神經網絡訓練過程中無法收斂情況所占比(記為 R)來描述分類器的穩(wěn)定性.統(tǒng)計不同 M 值下Nch不同時模型的平均準確率、最佳準確率均值、假陽性率均值(記為 FPR均值)和 R值,結果如表 2所示,其中R值的統(tǒng)計基數為621.可以發(fā)現(xiàn)隨著M變大,準確率指標逐漸提升,F(xiàn)PR指標和 R值逐漸變小,模型穩(wěn)定性得到提升.當 M=64時,平均準確率均值和最佳準確率均值最大,分別達到了 0.8795和0.9121,同時模型 R 值降為 0.M∈{32,64,128}時模型FPR均值基本都維持在0.1以下,同時R值也更低,組合模型的平均性能都在較高水準.
表2 不同M值時模型的平均性能Tab.2 Average performance of the model at different M values
研究表明,當 Nch在[2,6]區(qū)間時,模型擁有較好的性能[9].選擇模型準確率最高時篩選通道數目 Nch的取值和準確率排名前 5的模型對應的 Nch取值集合,結果如表 3所示.統(tǒng)計結果基本與已有研究的結論相符.
依據表 3選取相應 Nch值對應的模型繪制經驗ROC曲線.比較 ROC曲線,不難發(fā)現(xiàn) M 取32、64、128時,相應地Nch分別等于 2、6、5時,ROC曲線最靠近左上角,ROC曲線下面積(AUC)均為最大.觀察圖5,M=128時模型的最低TPR水平稍高于其他模型,且M=128,Nch=5時,AUC最大,模型擁有最好的 ROC曲線.使用單次全數據集迭代用時描述模型的計算復雜度,M∈{32,64,128}時模型的單次數據集迭代用時分別為 0.0602s,0.0635s,0.0522s.隨著 Nch增加,模型單次數據集迭代用時線性增加.綜上,不同 M 值時,最佳 Nch值落在[2,6]區(qū)間.當 M=128時模型的穩(wěn)定性和計算耗時得到平衡,在相同 Nch下模型訓練耗時最短,當 Nch=5時模型訓練集單次迭代耗時 0.2555s,組合模型對 10號病患癲癇發(fā)作檢測的準確率、真陽性預測率、假陽性預測率分別為93.49%、94.77%、4.17%.
表3 不同M值時準確率較高的模型對應的NchTab.3 Values of Nch corresponding to the model with higher accuracy when M values are different
圖5 M∈{32,64,128}時組合模型在不同 Nch下的經驗ROC曲線Fig.5 Empirical ROC curves of the combined model under different Nch for M∈{32,64,128}
經過8名病患腦電數據的驗證,本文組合模型對癲癇發(fā)作檢測的準確率、真陽性預測率、假陽性預測率的平均值分別達到了 92.79%、93.07%和 5.16%;基于方差的篩選方法的檢測模型最終 3個指標分別為 89.53%、90.45%、8.69%;基于方差差異性的篩選方法的檢測模型最終 3個指標分別為 88.23%、88.97%、9.73%;基于隨機篩選的檢測模型最終 3個指標分別 65.72%、66.53%、39.85%.基于 CAE+FC的篩選方法優(yōu)于基于方差和方差差異性的篩選方法,遠優(yōu)于隨機篩選,且組合模型的收斂所需的迭代次數平均僅為其他模型(基于方差和方差差異性的篩選方法對應的檢測模型)的1/10.
本文提出了一種基于深度學習方法的癲癇腦電通道選擇與發(fā)作檢測組合模型.首先通過卷積自編碼器對腦電信號進行特征提??;然后依據費舍爾準則進行通道選擇;最后用經過參數遷移的一維卷積神經網絡實現(xiàn)癲癇發(fā)作檢測.該組合模型在進行腦電通道篩選時不需要手動提取、選擇特征,提升了通道選擇與發(fā)作檢測的效果并且大大降低了模型訓練成本.此外當病患的 EEG數據庫得到更新時,可以用新加入的數據對現(xiàn)有模型進行增量學習,微調更新參數以實現(xiàn)更準確的判斷.該方法的研究思路亦可推廣用于阿爾茲海默癥等其他腦部疾病個性化檢測模型的建立.