趙 偉
(集美大學 誠毅學院,福建 廈門 361021)
癲癇是一種影響所有年齡段人群的慢性腦部神經系統疾病[1]。腦電圖(Electroenc ephalography ,EEG)是通過放置于頭皮或顱內特定位置的電極采集獲得的大腦活動的電信號,已被廣泛用于癲癇診療[2]。臨床上,腦電圖的識讀和分析主要依賴神經科醫生通過肉眼進行檢測和手工標注。然而,EEG數據量巨大,傳統的人工判讀不僅耗時費勁,也會因專家的主觀經驗差異造成診斷結果的差異[3]。因此,設計高效、可靠的癲癇EEG自動識別算法,從而協助神經科醫生高效地對癲癇患者進行診療具有重要的臨床意義。
傳統的EEG分析方法主要包含特征提取和模式分類兩部分。其中,常用的特征提取方法有時域分析法、頻域分析法、時頻域分析法和非線性動力學方法。常用的分類器有支持向量機(Support Vector Machine,SVM)、人工神經網絡和K最近鄰分類器等[4]。傳統的EEG識別方法過程相對繁瑣,而且需要結合人工經驗進行特征提取。目前,深度學習已廣泛應用于圖像識別、語音識別、文本分類等領域,并取得了良好的分類效果。與傳統方法相比,基于深度學習的方法不需要根據人工經驗提取特征,可直接對EEG信號進行訓練,實現自主學習其內在特征并完成癲癇自動識別。ACHARYA[5]提出把深度卷積神經網絡(Convolutional Neural Networks,CNN)應用于識別癲癇EEG信號。ABBASI[6]將長短期記憶網絡(Long Short-Term Memory,LSTM)應用與癲癇腦電識別,取得了比SVM更好的結果。此外,一些研究者提出了混合的癲癇識別模型。潘奕竹等[7]提出了一種基于信號轉差分模塊(Difference Module,DM)與CNN結合的癲癇腦電分類方法。齊永鋒等[4]提出了一種采用多尺度卷積特征融合與LSTM相結合的癲癇EEG自動識別模型。
(1)殘差網絡。為了解決隨著網絡模型深度加深而出現的網絡退化問題,HE[8]提出了殘差網絡。殘差網絡是一種經典的卷積神經網絡。它由多個殘差模塊堆疊而成,殘差模塊結構如圖1所示。殘差模塊的輸入為x,期望輸出為H(x),學習目標為F(x)=H(x)-x。殘差模塊可以實現網絡的恒等映射,通過殘差模塊的快捷連接實現高層直接對底層的信息傳遞,以此解決深度網絡的退化問題及防止出現梯度消失。ERNet模型中的殘差單元結構是在此基礎上進行改進的。

圖1 殘差模塊結構
(2)改進的殘差模塊。為了提高模型的泛化能力,使其能夠適用于不同的癲癇EEG識別任務,本研究構建ERNet深度網絡模型對殘差模塊進行改進,引入了批歸一化(Batch Normalization,BN)和Dropout操作。改進后的每個殘差模塊包含兩個卷積塊和一個快捷連接,每個卷積塊依次進行卷積、BN、ReLU和Dropout操作,其結構如圖2所示。

圖2 改進的殘差模塊結構
殘差模塊采用一維卷積來自動提取EEG時間序列中的內在特征,其卷積核越大,感受野越大,可以捕獲EEG序列更抽象的特征,反之亦然,具體表達式為:
(1)
其中,x表示EEG序列,w表示卷積核,a表示卷積核的大小。為了避免了梯度消失或梯度爆炸的發生,在卷積操作之后進行批歸一化,同時,該操作還能減少內部協變量偏移,加速神經網絡訓練過程。激活函數采用目前卷積神經網絡中常用的ReLU激活函數,其定義如下:
(2)
為進一步提高模型的泛化能力,在激活函數之后采用Dropout操作。Dropout在模型訓練過程中會隨機丟棄一些隱藏神經元,削弱隱藏神經元之間的依賴性,防止特征提取時一直放大或縮小某些局部特征。它既保證模型的泛化能力,也避免產生過擬合現象,其表達式如下:
(3)
(4)

(3)ERNet網絡模型。本研究提出的基于改進殘差網絡的癲癇EEG自動識別模型ERNet如圖3所示。首先對原始EEG時序信號進行標準化;再利用32個1×7的卷積核提取EEG淺層特征,滑動步長為2;接著進行最大池化操作以減少參數訓練量;然后,堆疊6個殘差模塊來捕獲不同層次的特征,其卷積核尺寸、個數及步長如圖3所示。利用平均池化來融合殘差模塊底層和高層的特征;然后利用全連接(Full Connect,FC)來提取與癲癇識別任務最相關的EEG特征;最后利用Softmax分類器來識別癲癇EEG信號。

圖3 ERNet深度殘差網絡
(1)數據集說明。本研究實驗數據來自于德國波恩大學癲癇病研究中心,數據集詳細描述見文獻[9]。該數據集被廣泛應用于癲癇檢測和識別。數據集包含5個子集分別為A、B、C、D、E,每個子集有100個樣本,信號采樣頻率為173.61 Hz,持續23.6 s,每段信號有4 097個采樣點,數據集描述如表1所示。

表1 波恩大學癲癇數據集描述
(2)性能評價指標。為了全面評估模型性能,采用十折交叉驗證,即將數據集分成10份,其中9份作為訓練集,1份作為測試集,最終結果取10次實驗的平均值。評價指標采用準確率(Accuracy,Acc)、精確率(Precision,Pre)和召回率(Recall,Rec)作為模型評估結果。其各項指標的取值范圍均為[0,1],數值越大,模型性能越強,具體定義如下:
(5)
(6)
(7)
其中,TP為正樣本的正確預測數量,TN為負樣本的正確預測數量,FP為負樣本的錯誤預測數量,FN為正樣本的錯誤預測數量。
(3)實驗結果與分析。本實驗在Windows10操作系統下進行,基于開源深度學習框架PyTorch,編輯語言采用Python3.8。ERNet網絡模型采用Adam(Adaptive Moment Estimation)優化器,其學習率、β1和β2分別設置為0.000 5、0.9和0.999;選用交叉熵作為損失函數,Dropout隨機丟棄概率設置為20%。在實驗中,批次大小設置為48,總共對模型進行300次迭代訓練。
為了測試模型對于不同癲癇識別任務的泛化能力,本研究基于波恩大學癲癇腦電數據集進行了5種不同分類任務的測試,其中,2個二元分類任務用于區分正常和癲癇發作EEG;3個三元分類任務用于識別正常、發作間期與發作期的EEG。采用十折交叉驗證對模型性能進行評估,實驗結果如表2所示。可以看出,ERNet對5種分類任務的準確率、精確率和召回率均較高,在二元分類任務A/E、B/E中,準確率達到了100.0%和99.5%,在三分類任務A/D/E、B/D/E和AB/CD/E中達到了98.7%、97.3%和98.4%。

表2 ERNet各分類任務測試性能
為了進一步分析ERNet網絡模型的性能,使用波恩大學癲癇EEG數據集進行識別的方法與ERNet進行比較,對比結果如表3所示。表中分別列出了目前主流的CNN模型、LSTM模型、CNN+LSTM模型、離散小波變換(DWT)和SVM模型等方法在不同識別任務中的實驗結果。經過對比可以看出,本研究提出的ERNet網絡模型面對不同的分類任務有較強適用性,總體而言,分類識別準確率較高。

表3 相同數據集的不同分類方法準確率比較
提出了一種改進的殘差網絡模型ERNet,并將其應用于癲癇EEG的自動識別。在波恩大學癲癇EEG數據集上進行了癲癇兩分類和三分類實驗,識別準確率為97.3%~100.0%,并在同一公開數據集與目前主流的其他識別方法進行比較,證明了該方法的有效性。