黃紅紅,張 豐,呂良福+,司霄鵬
1.天津大學 醫(yī)學工程與轉化醫(yī)學研究院,天津 300072
2.天津大學 數學學院,天津 300354
癲癇是一種由大腦神經元突發(fā)性異常放電導致的大腦功能性障礙疾病。據世界衛(wèi)生組織統(tǒng)計,全球約有7 000萬人患有癲癇[1]。癲癇患者在發(fā)病時呈現肌肉抽搐、呼吸困難、意識喪失等癥狀。由于癲癇發(fā)作的偶然性,患者極有可能在高空、駕駛、游泳等危險情況下發(fā)病并喪失意志從而產生意外事故與傷害,并帶來不良社會和經濟影響[2]。據統(tǒng)計,癲癇患者過早死亡的幾率比健康人高出近3倍[3]。醫(yī)學研究表明,癲癇雖然無法被完全治愈,但是可以通過藥物、電刺激或者手術等治療手段來控制發(fā)病[4]。通過建立癲癇預測模型,在發(fā)病之前進行警報,可以留給患者足夠的時間采取防范和治療措施,這將顯著提高癲癇患者的生活質量[5]。
在腦電圖(electroencephalography,EEG)的輔助下,醫(yī)生結合患者臨床表現對癲癇病情進行診斷。腦電圖中的腦電信號記錄著腦神經細胞自發(fā)電生理活動。癲癇患者發(fā)病時腦電圖上會呈現出棘波、尖波、棘慢波等癲癇特征波,醫(yī)生可借助特征波進行病情診斷。腦電圖用于癲癇研究已經有70多年的歷史[6],在過去的十年中,研究熱點逐漸由癲癇檢測向癲癇預測轉變[7]。盡管在之前的研究中,有大量傳統(tǒng)機器學習算法用于建立癲癇預測模型,但都面臨需要手動提取特征、泛化性較差等問題。神經網絡算法具有自動提取特征、變體多等諸多優(yōu)點,可適用于處理海量腦電信號的場景。
目前在癲癇預測領域,應用的神經網絡算法主要包括多層人工神經網絡(artificial neural network,ANN)和脈沖神經網絡(spiking neuron networks,SNN)。傳統(tǒng)的多層人工神經網絡算法主要包含多層感知機(multilayer perceptron,MLP)、卷積神經網絡(convolutional neural networks,CNN)、循環(huán)神經網絡(recurrent neural network,RNN)、生成對抗網絡(generative adversarial networks,GAN)、Transformer 等神經網絡及其變體。在應用中受限于數據不足、硬件條件有限、模型性能不足等因素,基于傳統(tǒng)多層人工神經網絡的癲癇預測模型仍待進一步發(fā)展[8]。SNN是一種基于神經脈沖信號傳遞的神經網絡模型,被稱為第三代神經網絡。與神經網絡中的傳統(tǒng)人工神經網絡模型不同,脈沖神經網絡模擬了人腦神經元脈沖放電來傳遞信息的行為[9],采用脈沖信號傳遞信息,更具有生物學特性。
常見的癲癇預測模型按照圖1 所示流程進行搭建,本文按照癲癇預測模型的搭建流程依次從數據集、數據預處理、特征提?。ㄌ貏e是手工設計特征提?。⒛P退惴◣讉€模塊進行綜述。
圖1 癲癇預測模型的構成模塊Fig.1 Modules of epilepsy prediction model
按照發(fā)病的階段,EEG 信號可以分為癲癇發(fā)作間期、發(fā)作前期、發(fā)作期、發(fā)作后期四個階段[10],如圖2所示[11]。癲癇發(fā)作前期可以看作癲癇發(fā)作前的預警,根據EEG 信號及時準確地識別出癲癇發(fā)作前期,即可預測癲癇發(fā)作。癲癇預測問題本質為癲癇發(fā)作間期、發(fā)作前期的二分類問題,這與癲癇檢測問題類似。以上建立在癲癇發(fā)作前期存在的假設上,許多研究也成功地驗證了癲癇發(fā)作前期腦電圖動力學的變化,間接驗證了假設的成立[7]。
圖2 癲癇發(fā)作過程的腦電信號Fig.2 EEG signals during seizures
EEG數據集的質量會直接影響癲癇預測模型的預測效果。由于私有EEG 數據集獲取困難、數據量小且標注困難,當前的癲癇預測模型多采用公開數據集進行訓練。但不同的公開數據集中包含了來自不同采集方式、不同通道和質量的數據,數據集中包含各種噪聲,這會對模型的訓練和泛化能力產生負面影響。常見的數據集分類方式如圖3所示。
圖3 數據集分類情況Fig.3 Dataset classification
按照數據來源進行劃分,EEG 數據集可以分為公開數據集、私有數據集、合成數據集三類。公開數據集是指由機構、組織或個人公開發(fā)布的數據集;私有數據集是指未公開發(fā)布的數據集;合成數據集是指通過人工或者算法生成出來的數據集,其數據特性與真實數據相似,可用于癲癇預測模型的訓練。
1.1.1 公開數據集
由于公開數據集的易得性,目前研究中常使用公開數據集進行模型訓練,便于和其他研究對比模型效果。常用公開數據集如表1所示。
表1 常用EEG公開數據集Table 1 Common public EEG datasets
1.1.2 私有數據集
私有數據集來源于實驗室或醫(yī)院中癲癇患者的腦電檢測記錄,由經驗豐富的專業(yè)醫(yī)師進行標注后,經過適當數據處理而構建??梢杂糜谀P偷耐獠框炞C,檢驗模型的泛化性能。如TJU-HH 數據集,記錄了2019 年5 月至2020 年12 月于天津大學環(huán)湖醫(yī)院17名癲癇患者的顱內腦電數據。
1.1.3 合成數據集
由于私有數據集數據有限且獲取困難,有學者嘗試利用GAN 等算法學習構建合成數據集,這可緩解數據量不足的問題。如Xu等人[12]提出了一種基于GAN的模型,可以用于合成癲癇發(fā)作前期EEG數據,緩解數據量不足、分布不均衡的問題。
1.2.1 頭皮腦電信號
通過頭皮表面的電極所檢測的腦電信號為頭皮腦電信號(scalp EEG,sEEG),也被稱為顱外腦電信號。這種采集方式容易受到工頻干擾和被試者體動和眼動活動影響,因此sEEG信號噪聲多、強度弱。
1.2.2 顱內腦電信號
通過手術在大腦中植入電極所檢測到的腦電信號為顱內腦電信號(intracranial EEG,iEEG)[13]。iEEG可以直接記錄大腦深部區(qū)域的腦電信號,相比于sEEG信號來說噪聲小、空間分辨率高,且可以檢測到頭皮腦電信號無法檢測到的陰性癲癇發(fā)作與特征。但由于手術的有創(chuàng)性,iEEG不及sEEG應用廣泛。
1.3.1 非連續(xù)數據集
非連續(xù)數據集是指數據集的腦電數據在時間上是非連續(xù)的,是在原始EEG信號中截取出來的片段,即人為剔除了部分數據,目前大部分的公開癲癇發(fā)作數據集如Freiburg、Kaggle等數據集都是非連續(xù)的。
1.3.2 連續(xù)數據集
連續(xù)數據集是指數據在時間上是連續(xù)的。連續(xù)數據在癲癇的自動檢測和實際應用具有研究價值,但由于數據量較大且癲癇發(fā)作時腦電變化的不規(guī)律性,基于連續(xù)數據集的模型更容易發(fā)生誤判,導致效果不如非連續(xù)數據集。常用的連續(xù)數據集有SWECETHZ數據集等。
數據質量的好壞會直接影響模型的性能,因此原始的EEG數據通常不能直接應用于癲癇預測模型中,需要進行數據預處理。在實際的應用中,數據預處理和特征提取步驟順序不固定,常見的數據預處理有以下幾種。
EEG信號可以分為癲癇發(fā)作間期、發(fā)作前期、發(fā)作期、發(fā)作后期四個階段。在構建癲癇預測模型前,需要對原始EEG數據中的不同發(fā)作階段進行定義與標注,常用的一個標注方法如下:癲癇發(fā)作前預留5 min 的時間間隔用于采取預防措施;將癲癇發(fā)作開始前5~35 min 的數據標注為發(fā)作前期;考慮到發(fā)作間期和發(fā)作前期之間無明顯的界限,4 h 的間隔可以避免數據標注不明確對實驗結果的影響,因此將距離每一次發(fā)作開始和結束4 h 之外的數據標注為發(fā)作間期。
采集到的信號中往往包含各類偽影與噪聲,常采用帶通濾波的手段進行消除,如巴特沃斯濾波器(Butterworth filter)等,其具有較低的截止頻率(0.1 Hz)和較高的截止頻率(127 Hz),是一種廣泛應用于生物醫(yī)學信號分析的濾波技術[14]。
另外sEEG信號由于采集方式的限制,會被50 Hz和60 Hz 的電源線噪聲污染,也稱為工頻干擾,需要人為進行消除。Truong等人[15]通過去除47~53 Hz和97~103 Hz 頻帶信號來去除50 Hz 的工頻干擾;通過去除57~63 Hz 和117~123 Hz 頻帶信號來去除60 Hz的工頻干擾,其去除工頻干擾前后的對比圖如圖4所示。
由于EEG信號不同通道間可能存在較大的相關性,可能需要對數據集進行一些其他數據處理操作,如主成分分析、通道選擇等。
EEG 數據作為一種人體生理信號,在應用于算法模型時需要特別注意一些特性。(1)數據處理難度:由于癲癇發(fā)作具有偶然性和突發(fā)性且持續(xù)時間較短,這導致在收集到的數據中癲癇發(fā)作前期和發(fā)作期的數據較少,樣本分布不均衡,需要進行適當處理。(2)特征提取難度:EEG蘊含著人腦大量信息,但是由于人類對于大腦以及神經網絡模型認識的不足導致目前無法判定何種信號是對預測癲癇發(fā)作有益的,在進行EEG信號的特征提取時,希望盡可能提取多維度的信息。
人工設計特征的提取方法常常與傳統(tǒng)機器學習相結合來構建癲癇預測模型,但是此類模型在處理海量數據時暴露出了普適性差、模型性能差等缺點。而神經網絡模型可自動提取特征,在處理海量數據和復雜問題時具有更大優(yōu)勢。由于EEG中含有大量噪聲,在數據預處理階段進行初步特征提取可以有效提高數據質量,從而提升模型性能。因此在癲癇預測領域常將自動提取特征和人工設計特征結合使用,以盡可能多地提取到多維度的信息,常用的人工設計特征如表2所示。
EEG 的時域和頻域特征中包含了大量病理信息,對時域和頻域相關特征進行提取,有利于模型性能的提升。利用頻域變換和時頻變換等手段可以有效提取時域、頻域等信息。常用的時頻變換方法有傅里葉變換、小波變換、Gabor變換、Hilbert-Huang變換等[16]。
另外一個常用的與時頻相關的特征為采樣信號的梅爾頻率倒譜系數(Mel-frequency cepstral coefficients,MFCCs),Dissanayake 等人[17]考慮到MFCCs 對生物醫(yī)學信號相關神經網絡任務具有廣泛適用性,使用了MFCCs 作為模型特征,構建的癲癇預測模型表現出了較優(yōu)性能。
熵特征是一個廣泛應用于生物信號處理的非線性特征,主要指從信號的隨機性和復雜性中提取的信息熵和相關熵,例如模糊熵、近似熵、多尺度熵等。
擴散距離也是一種非線性距離測量方式,用于量化兩個分布之間的差異。它是由Ling 和Okada[18]引入的,用于形狀匹配和圖像特征匹配。Yuan等人[16]采用了擴散距離作為特征構建了癲癇預測模型并表現出了較佳的性能。
在癲癇預測領域,互信息可以提取到EEG 信號中不同特征間的相關性?;谶@個原理,Salafian 等人[19]提出了一種算法,借助一維卷積神經網絡(1DCNN)提取原始EEG的特征,并與神經互信息估計算法中提取到的不同通道之間的瞬時相關性特征進行特征融合,利用軟估計作為學習函數節(jié)點進行因子圖推斷并納入時間相關性來構建癲癇預測模型,經實驗驗證后發(fā)現該特征可以作為癲癇預測模型的有效特征。
應用于癲癇預測模型的神經網絡方法有很多,主要分為多層人工神經網絡和脈沖神經網絡兩類。多層人工神經網絡主要有MLP、CNN、RNN、Transformer模型等,其中CNN 模型應用最廣泛。脈沖神經網絡也有很多變體,在應用于癲癇預測領域時展現出了良好的性能。
MLP 是一種最簡單的人工神經網絡算法,廣泛應用于分類、回歸任務。Guevara 等人[20]提出應用MLP等機器學習方法結合EEG和功能性近紅外光譜(functional near-infrared spectroscopy,fNIRS)建立模型,對癲癇進行預測。Yang 等人[21]使用基于MLP 的算法研究了時間序列非平穩(wěn)性對癲癇發(fā)作預測性能的影響,并表現出了較優(yōu)的性能。Li等人[22]提出了一種基于MLP的端到端的癲癇發(fā)作預測模型。該模型將去噪加權和MLP 相結合,實現了多個通道信息的整合。實驗結果表明,該模型在癲癇發(fā)作預測領域具有良好的應用前景。
CNN 是一種具有局部連接、權重共享等特性的神經網絡,通常由輸入層、卷積層、池化層和全連接層組成,基礎神經網絡結構如圖5 所示,其借助卷積的設計可以極大減少神經網絡參數數量,提升計算效率,常用于計算機視覺領域。在癲癇預測領域,基于CNN 的癲癇預測模型已經具備了比較成熟的范式,如Truong等人[15]提出利用30 s時間窗口的短時傅里葉變換來提取腦電信號中的時頻特征,并借助重疊采樣技術解決了樣本分布不均衡問題,極大改善了數據質量,在此基礎上建立的CNN 癲癇預測模型表現出了良好性能。Khan等人[23]提出使用連續(xù)小波變換提取腦電信號中的時域、頻域特征,再借助卷積神經網絡構建癲癇預測模型。Xu等人[24]提出不對腦電信號進行處理與變換,采用原始腦電信號作為輸入,建立了一種基于CNN 的端到端神經網絡解決方案,為癲癇預測模型提供了另外一種思路。
在基本的范式上,有很多學者提出了由改進后的CNN 構建的癲癇預測模型,具有更良好的模型性能。本節(jié)按照CNN 算法的架構改進、訓練策略改進、其他改進方式對基于CNN 的癲癇預測模型進行綜述。
4.2.1 CNN架構改進
在癲癇預測領域,對CNN 架構進行合理改進可以獲得更好的性能。Khan等人[25]根據神經網絡架構改進類型,將CNN模型的改進大致分為7個方向:基于空間利用、深度、多路徑、寬度、通道改進、特征圖利用和注意力的使用。本文主要圍繞維度、空間、寬度三方面對改進的CNN架構的癲癇預測模型進行總結,對比分析列表如表3。
表3 CNN架構的不同改進方式Table 3 Different improvement methods for CNN architecture
CNN神經網絡按照卷積核的維度可以分為一維卷積神經網絡、二維卷積神經網絡(2D-CNN)、三維卷積神經網絡(3D-CNN),其中三維卷積神經網絡應用最為廣泛。Wang等人[26]提出了一種結合隨機選擇和數據增強策略的1D-CNN 模型來檢測癲癇發(fā)作。在該模型中采用兩個具有不同計算規(guī)模的并行1DCNN 模塊來同步提取EEG 的特征,將這兩個并行1D-CNN 塊的輸出連接起來用于最終分類。該文還給出了基于時間片段的評價和基于事件的評價方法這兩種評價方式,提供了客觀、全面的評價體系。Gupta等人[27]也提出了一種基于1D-CNN的癲癇發(fā)作預測與診斷系統(tǒng)EpilNet,并開發(fā)了一個應用程序接口,便于該模型的工程性運用。Wang 等人[28]提出了一種應用多尺度擴張卷積的3D-CNN 來分析腦電信號時域、頻域和通道信息,實現了80.5%的準確度、85.8%的敏感性和75.1%的特異性。
卷積核的空間大小會直接影響到神經網絡提取到的特征,一般來說卷積核越大神經網絡提取到的信息越多,但這會直接導致計算量的增大。為了進一步提高模型性能,有學者采用擴張卷積神經網絡來構建癲癇預測模型。Hussein等人[29]首次提出了一種半擴張卷積的結構,并將多個具有不同擴展速率的半擴張卷積組合在一起代替標準卷積網絡中的卷積層,使卷積神經網絡在具有大的視野的同時保持圖像高分辨率,應對腦電信號這種圖像數據具有良好性能。Gao 等人[30]建立了一種基于擴張卷積神經網絡的癲癇預測模型。該模型采用基于注意力機制的特征加權融合策略,充分利用了腦電信號的時空多尺度特征。
多視圖卷積網絡在癲癇預測模型上也展現出了較好的性能。Liu等人[31]提出了一種多視圖卷積神經網絡框架來預測癲癇的發(fā)作,通過特征拼接可同時獲得時域和頻域特征的特征表示。
4.2.2 CNN訓練策略改進
在改進CNN架構的基礎上對訓練策略進行改進可以進一步提升癲癇預測模型的性能。
采取合理的訓練策略可以使模型僅用小樣本數據進行模型訓練,可以很好解決數據量不足的問題。Tariq等人[32]提出了一種基于孿生神經網絡的癲癇預測模型,該方法以小波變換后的腦電信號張量為輸入,用CNN 模型來檢測癲癇發(fā)作前期的腦電信號。該模型擺脫了以往神經網絡模型對大數據的依賴性,僅需要一次癲癇發(fā)作數據進行模型訓練即可獲得優(yōu)異的性能。
針對模型抗干擾性不強的問題,Liang 等人[33]提出了一種基于一致性的訓練策略來解決模型在小干擾下不穩(wěn)定的問題,并借助多視圖CNN 在內的多個模型進行驗證,使得模型的泛化能力得到了充分增強。
對損失函數進行優(yōu)化也可以提升模型性能,Yarlagadda 等人[34]提出了一種具有子網損失函數的CNN 癲癇預測模型。將子網損失函數應用于CNN,用合適的損失值更新網絡模型。實驗表明該模型具有良好的學習性能,在iEEG 和靜息態(tài)功能磁共振成像(resting-state functional magnetic resonance imaging,rs-FMRI)兩類數據集上的訓練測試結果可達到99.2%的準確度。
預訓練可以極大提升模型性能,廣泛用于計算機視覺、自然語言處理等領域,在癲癇預測領域也展現出了良好的性能。Das 等人[35]提出采用自監(jiān)督策略以增強擴張卷積遞歸神經網絡模型的性能,這種策略的核心思想是將自監(jiān)督預訓練階段中學習的權重應用到監(jiān)督訓練階段,以提高模型的預測能力。
4.2.3 CNN其他改進
針對數據集是否來源于同一個患者,癲癇預測模型可以分為兩類:一類不區(qū)分不同患者,旨在設計一種通用型分類器,其可以識別癲癇發(fā)作的普遍規(guī)律,適用于多個患者,具有跨數據集的全局預測能力;另一類是針對某個患者特征構建獨屬于患者的個性化癲癇預測模型。Dissanayake 等人[17]提出了適用于多個患者的多任務二維卷積神經網絡和連體網絡,它們具有不同的學習策略,可以利用來自多個患者的數據來進行模型訓練。
針對數據量不足、標注不全的問題,Rasheed 等人[36]提出了一種用于生成合成EEG數據樣本的深度卷積生成對抗網絡,并使用卷積癲癇發(fā)作預測器來檢驗人工數據與其對應標簽的匹配程度。Liang等人[37]基于一致性原則在CNN基礎上針對醫(yī)學數據標注不全的問題提出了一種半監(jiān)督的癲癇預測模型,可以充分使用未標注的數據。
針對CNN模型的訓練時間長和硬件要求高的難題,Wu 等人[38]著力于解決設備中的傳輸帶寬與計算資源的限制問題,提出一種基于殘差神經網絡的模型C2SP-Net。該模型通過一種即插即用的傳感器內壓縮矩陣,對采集到的原始腦電信號進行壓縮,壓縮后的信號可直接用于癲癇發(fā)作預測,降低了對傳輸帶寬與計算資源的要求,在癲癇發(fā)作之前可以及時給予癲癇患者警報。并且壓縮后的信號也可以被高保真地還原,便于醫(yī)生/科學家進行事后分析,具有巨大應用潛力。Li 等人[39]提出了一種新穎的低延遲并行卷積神經網絡架構,與最先進的CNN 體系結構相比,其網絡參數減少了至少50%,可以極大提高運算速度。Zhao 等人[40]針對神經網絡硬件要求、計算資源消耗高的問題,提出了一種硬件友好的二進制一維卷積神經網絡,用于癲癇發(fā)作的預測。該模型利用一維卷積內核來提高預測性能。除第一層外,所有參數都被二值化以減少所需的計算和存儲。該模型經公開數據集測試,展現了優(yōu)良的性能。
神經網絡也可以作為一種自動提取特征的工具,將提取出的特征輸入分類器中進行學習以實現癲癇的預測。Agarwal 等人[41]結合CNN 與支持向量機(support vector machine,SVM)提出了一種CNNSVM 模型,將提取到的時域、頻域信息和CNN 網絡自動提取到的深度特征進行特征融合,采用SVM 算法構建了癲癇預測模型。將模型部署在自動邊緣計算服務系統(tǒng)中,實驗結果驗證這是一種可行的癲癇發(fā)作預測方法。
RNN 是一種帶有短期記憶能力的神經網絡,可以處理時間序列數據,常用于語音識別、自然語言處理等領域。長短期記憶網絡(long short-term memory,LSTM)是RNN的一種變體,可以解決RNN中常見的梯度爆炸問題和梯度消失問題,是預測癲癇領域中的常用模型,其基本記憶單元如圖6所示。
圖6 LSTM結構記憶單元Fig.6 Memory cell of LSTM
湯云琪等人[42]采用小波變換提取腦電信號中的不同能量特征作為LSTM 的輸入,將電子搜索算法(electronic search algorithm,ESA)和隨時間反向傳播算法(backpropagation through time,BPTT)相結合更快更準確地調整網絡參數,以實現癲癇病發(fā)作的短時預測。與現有的網絡預測分類模型LSTM、SVM進行對比實驗,本文算法較大提高了分類精度。Singh等人[14]提出了一種基于譜特征的雙層LSTM網絡模型,利用長期多通道腦電信號自動預測癲癇發(fā)作,并與傳統(tǒng)機器學習算法隨機森林分類器、決策樹分類器、K 近鄰分類器、支持向量機分類器和樸素貝葉斯分類器等進行對比實驗,實驗表明LSTM模型效果較好。Ali 等人[43]提出了一種雙向LSTM 網絡(bidirectional long short-term memory,Bi-LSTM),與SVM 和門控循環(huán)單元網絡(gated recurrent units,GRU)相比優(yōu)勢顯著。
Transformer 是一種基于自注意力機制的神經網絡,主要用于自然語言處理領域。Transformer 主要包括編碼器和解碼器,其中編碼器和解碼器都由多個堆疊的自注意力層和前饋神經網絡層組成,Transformer的網絡結構如圖7所示。
圖7 Transformer結構Fig.7 Structure of Transformer
Transformer 在處理長序列問題上具有天然的優(yōu)勢,在癲癇預測領域具有巨大的應用潛力。張曉玲[6]將Transformer 用于構建癲癇預測模型,構建了基于圖譜識別分類的視覺轉換器(vision transformer,ViT),用于癲癇發(fā)作個性化預測研究,實驗表明該模型表現出了較優(yōu)性能。Godoy 等人[44]更側重于不同通道的信息,基于Transformer 開發(fā)了兩個神經網絡模型,分別是時序多通道變壓器(temporal multichannel transformer,TMC-T)和時序多通道視覺轉換器(temporal multi-channel vision transformer,TMCViT),并對不同時間長度的癲癇發(fā)作前期進行探索。實驗結果和統(tǒng)計驗證表明,TMC-ViT 模型性能超越了CNN模型。Hussein等人[45]也基于Transformer提出了一種多通道視覺轉換器模型,用于多個通道EEG數據的時空光譜特征的自動同步學習。實驗表明該模型對sEEG 數據集的平均預測靈敏度可達99.80%,對iEEG 數據集的平均預測靈敏度可達90.28%~91.15%。
Yan等人[46]將EEG信號進行短時傅里葉變換,將得到的三階張量按照不同維度進行mode-n矩陣展開得到三個矩陣,將其作為三層結構Transformer 模型的輸入,從而實現癲癇預測任務。與以往的腦電分類模型相比,該模型能夠更好地利用腦電信號中的時間、頻率和通道信息,提高了癲癇發(fā)作預測的準確性。
Hu等人[47]提出了一種混合Transformer模型并在此基礎上針對性地提出一種混合腦電圖節(jié)律信號的特征融合方法,該模型可以從多尺度分辨率分析EEG數據并應用注意力機制對不同通道特征進行提取。實驗結果表明,該模型比CNN 具有更好的特征序列模式建模能力。
基于人工神經元的神經網絡在預測癲癇發(fā)作領域展現出了巨大的應用潛力,但是在性能與消耗資源方面都與生物神經元相差甚遠。SNN被公認為是新一代更接近人腦的神經網絡算法,它能夠捕獲生物神經元的豐富動態(tài)、表示和整合不同的信息維度(例如時間、頻率和相位),具有對大腦中復雜信息進行建模的應用潛力[48]。此外SNN模型對硬件的算力要求較低,可部署在低功耗硬件上。
在生物體中來自一個神經元的信息可以通過多個突觸以多個尖峰的形式傳輸到下一個神經元,受此啟發(fā),Ghosh-Dastidar 等人[49]提出了一種多尖峰神經網絡模型,并基于此開發(fā)了一種名為Multi-SpikeProp 的監(jiān)督學習算法,將原始單脈沖神經網絡模型的效率提高了兩個數量級,在癲癇檢測的EEG分類問題上獲得了更高的精度。
隨著神經網絡算法的發(fā)展,有學者嘗試將SNN與多層人工神經網絡進行結合,借助卷積神經網絡的架構與更新原理來改進SNN 模型,使其具有更高的穩(wěn)定性與準確度。Zarrin等人[50]開發(fā)了一個具有兩個卷積隱藏層的深度尖峰神經網絡(deep spiking neural network,DSNN),輸入層可將iEEG 頻譜圖轉換為尖峰作為SNN 的輸入。由于尖峰的離散性,原始SNN 模型直接使用沖激函數進行梯度下降,這會使得網絡的訓練不穩(wěn)定,因此Zarrin等人采用替代梯度法(surrogate gradient method)用于反向傳播計算并使用Sigmoid 函數來近似Heaviside 階躍函數的導數。改進后的深度尖峰神經網絡模型在癲癇檢測的EEG二分類問題的準確度可達到97.6%。Tian等人[51]聚焦在SNN 能量效率高的特點上,提出了一種用于癲癇發(fā)作預測的神經形態(tài)計算方法。該方法使用高斯隨機離散編碼器(Gaussian random discrete encoder)將連續(xù)腦電信號轉換為離散的時間相關尖峰序列,并在脈沖卷積神經網絡(Spiking-CNN)中進行預測,該網絡結合了CNN 和SNN 的優(yōu)點,硬件友好,并且具有較高精度。
以往的SNN模型大多依賴神經網絡自動提取特征進行模型構建,而Burelo等人[52]將研究重點放在性能穩(wěn)定的癲癇生物標志物對模型的提高。將腦電信號中出現的高頻振蕩(interictal high frequency oscillations,HFO)作為活動性癲癇的生物標志物,設計了一個雙層網絡的SNN 模型,并在神經形態(tài)模擬電路上進行了實現,準確度可達80%,這項研究是朝著使用低功耗可穿戴設備進行無創(chuàng)癲癇監(jiān)測邁出的又一步。
基于神經網絡的癲癇預測模型種類繁多,有學者嘗試對不同的癲癇預測模型進行對比分析。Salafian等人[19]比較了傳統(tǒng)機器學習算法和CNN、LSTM等神經網絡模型在預測癲癇上的性能差異。在這項分析中,發(fā)現LSTM是處理海量時間序列的腦電數據的最佳癲癇發(fā)作預測模型。也有學者嘗試將多種模型結合起來構建癲癇預測模型,Daoud等人[11]將多層感知器、深度卷積神經網絡(deep convolutional neural networks,DCNN)、Bi-LSTM 網絡、自動編碼器(autoencoder,AE)四個模型進行組合,并組成了一個DCAE+Bi-LSTM 的模型,預訓練一個基于DCNN 模型的編碼-解碼器,并在訓練好的AE 后連接一個Bi-LSTM模型作為分類器,實驗證明該模型超越了以往模型的性能,但是耗費時間較長,不能達到實時預警的效果。為了對比不同模型的效果差別,以CHBMIT數據集上的模型表現為例,以準確度作為衡量指標,如圖8。本文還對近期有關癲癇預測模型的文獻進行總結,如表4。
表4 基于神經網絡的不同癲癇預測模型對比Table 4 Comparison of different epilepsy prediction models based on neural network
圖8 同一數據集上的不同模型表現Fig.8 Performance of different models on same dataset
基于神經網絡算法的癲癇預測模型展現出了優(yōu)異性能,正在成為癲癇預測領域的研究熱點,但在實際應用過程中仍存在一些挑戰(zhàn)與不足。
雖然SNN 算法是硬件友好型的,但是目前癲癇預測模型中采用的主流算法是以CNN、RNN 為代表的多層人工神經網絡,它依賴于強算力和高內存,對于硬件的要求較高,這限制了癲癇預測模型的實際應用。針對這個問題,可以借助云計算技術提供算力支持或研發(fā)資源節(jié)約型的高效算法進行本地實現。
5.1.1 基于云計算的解決方案
將模型部署到云端服務器,檢測的腦電數據實時傳輸到云端進行計算,再將計算結果傳輸回來,這種云計算方法可以緩解本地算力不足問題。由于數據量過大,數據傳輸和計算將導致嚴重延遲,云計算解決方案也面臨較大挑戰(zhàn)。Hosseini等人[54]提出了一種基于云的腦機接口系統(tǒng),將腦電數據進行降維,實時上傳到云端堆疊式自動編碼器,進行無監(jiān)督特征提取和分類,是目前為止較為前沿的解決方案,可以借鑒此解決方案進一步壓縮數據量和提高傳輸速率,降低時延。
5.1.2 基于本地計算的解決方案
由于云計算的時延問題,將模型部署在本地硬件上也是一種可能的解決方案。這種方案對算法模型和硬件特性同時提出了要求:算法模型應是資源節(jié)約型的,不要求過高的算力和內存空間;硬件需要提供盡量大的算力和利于計算的硬件系統(tǒng)結構設計。Kiral-Kornek 等人[55]聚焦于硬件的改進,使用神經形態(tài)TrueNorth芯片來部署基于多層人工神經網絡的癲癇預測模型,為硬件的選擇提供了可參考的解決方案。Zaghloul等人[56]聚焦可穿戴系統(tǒng),提出了一種用于癲癇發(fā)作早期預測的無線可穿戴式自適應系統(tǒng),具有巨大應用潛力。Seethalakshmi等人[57]提出了一種基于神經網絡的物聯(lián)網框架,設計了更適于本地硬件的算法模型并優(yōu)化了系統(tǒng)流程,為其他癲癇預測模型的物聯(lián)網應用提供了一個可行的范式。
基于神經網絡的癲癇預測模型需要海量數據進行訓練,在這個過程中可能會有患者隱私泄露風險。針對這個問題,可以通過對患者信息加密來保護隱私,但是加密算法存在被破解的風險。另一種解決方案是采取聯(lián)邦學習形式進行模型訓練,只共享用本地患者數據訓練好的模型參數或者訓練結果而不共享數據,這樣可以在源頭上杜絕患者隱私的泄露。Borovac等人[58]提出了一種數據不能共享的情況下的模型訓練解決方案,即在各自的數據集上分別進行模型訓練,最終通過融合算法將訓練結果進行融合,這是一個行之有效的解決方案。
目前發(fā)表的論文中,癲癇預測模型大多采用EEG 數據集,這使得輸入的數據中患者生理信息可能是不全面的??刹捎枚嗄B(tài)信息輸入,增加其他生理信號或指標,提供人體更多維度的信息,可能會提高模型性能。Cichy 等人[59]為了更好捕獲大腦信息,同時采用了功能性磁共振成像和腦磁或腦電圖多種生理信號,以同時捕獲大腦中的時間、空間信息。Truong等人[53]將EEG、心電圖信號(electrocardiogram,ECG)、體溫和時間多種數據進行數據融合,并借助無監(jiān)督的GAN 進行特征提取。在癲癇預測模型中,也可以將fMRI、EEG、ECG、體溫等多種生理數據進行多模態(tài)的癲癇預測模型的構建。
雖然當下基于神經網絡的各種癲癇預測模型都表現出了極佳的性能,但是學界至今無法完全解釋模型內部的具體原理與機制,神經網絡算法也因此被稱為黑箱模型,基于神經網絡算法的癲癇預測模型難以大規(guī)模應用于臨床實踐。針對這個問題可以借助可視化、局部敏感度分析等技術來研究神經網絡的可解釋性問題。Gabeff等人[60]應用DeepLIFT 算法等方法對基于CNN的癲癇預測模型的第一層輸出進行可視化分析,來探索第一層的內核如何對最終決策做出貢獻,為研究癲癇預測模型的可解釋性提供了一個可行方案。基于神經網絡的癲癇預測模型可解釋性是一個非常重要的問題,但是目前相關研究十分有限,模型可解釋性仍待進一步挖掘。
本文系統(tǒng)回顧了神經網絡算法在癲癇預測領域的應用,從算法特點與模型結構等方面介紹了常用的神經網絡算法并對比不同模型在數據集上的預測性能。同時,提出目前基于神經網絡算法的癲癇預測模型具有硬件要求高、隱私保護難、多模態(tài)信息利用不足、缺乏解釋性等不足,并針對這些不足進行展望提出了可能的解決方案。神經網絡算法在癲癇預測領域有很大的應用潛力,但是目前仍然面臨很大的挑戰(zhàn),需要研究人員進一步探索。