閔騰飛, 臧天儀
(哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 哈爾濱 150001)
癲癇是一種長(zhǎng)期性的神經(jīng)系統(tǒng)疾病,病癥發(fā)作時(shí)癲癇抽搐,俗稱羊角風(fēng)。目前癲癇疾病不能治愈,對(duì)于多數(shù)患者,抽搐發(fā)作可由足夠劑量的藥物控制;如果藥物無(wú)法控制,只能通過(guò)外科手術(shù)切除引起癲癇的組織。但是仍有許多患者雖已接受了最好的治療方法,卻還會(huì)面臨間發(fā)性的癲癇抽搐發(fā)作病癥。即使癲癇發(fā)作不會(huì)經(jīng)常發(fā)生,也將導(dǎo)致癲癇患者由于可能發(fā)生的癲癇發(fā)作而經(jīng)歷持續(xù)的焦慮[1]。
通常,癲癇可由連續(xù)的腦電圖監(jiān)測(cè)確診,但以前腦電圖只能在住院治療的環(huán)境下才能獲得。近些年來(lái),隨著便攜式腦電圖系統(tǒng)的推出,腦電圖記錄變得非常普遍。然而,患者雖然獲得了與住院治療監(jiān)控一樣的腦電圖,但如何利用記錄的大量腦電圖在癲癇發(fā)作之前提供可靠的預(yù)警信號(hào)成為非常有價(jià)值的研究問(wèn)題[2]。
越來(lái)越多的人認(rèn)識(shí)到,通過(guò)采用癲癇發(fā)作預(yù)警的閉環(huán)治療策略,可以在一定程度上控制癲癇的發(fā)作[3]。早期癲癇發(fā)作預(yù)警系統(tǒng)還可以幫助患者尋求安全的環(huán)境,提醒患者避免駕駛或游泳等潛在的危險(xiǎn)活動(dòng),從而降低傷害風(fēng)險(xiǎn)以及由看似不可預(yù)測(cè)的癲癇發(fā)作導(dǎo)致的無(wú)助感。通過(guò)這種早期癲癇發(fā)作自動(dòng)預(yù)警系統(tǒng),可以以速效藥的形式觸發(fā)藥物干預(yù),只有在需要預(yù)防即將出現(xiàn)的癲癇發(fā)作時(shí)才可以使用藥物,從而減少總體副作用[4]。為了使基于EEG的癲癇發(fā)作預(yù)警系統(tǒng)能夠有效地運(yùn)行與工作,利用預(yù)測(cè)算法可靠地識(shí)別癲癇發(fā)作可能性增加的時(shí)期則將尤其顯出其現(xiàn)實(shí)關(guān)鍵研究意義。
隨著近些年數(shù)據(jù)量的急劇增長(zhǎng),計(jì)算機(jī)硬件設(shè)備GPU、CPU、存儲(chǔ)設(shè)備的快速發(fā)展,以及現(xiàn)實(shí)世界中實(shí)際問(wèn)題與日俱增的精度和復(fù)雜度的需求,深度學(xué)習(xí)持續(xù)成功地應(yīng)用于越來(lái)越廣泛的實(shí)際問(wèn)題中。在許多計(jì)算機(jī)應(yīng)用領(lǐng)域,如計(jì)算機(jī)視覺(jué)、語(yǔ)音和音頻處理、自然語(yǔ)言處理、計(jì)算機(jī)技術(shù)、生物信息學(xué)和化學(xué)、電子游戲、搜索引擎和推薦、網(wǎng)絡(luò)廣告和金融,深度學(xué)習(xí)方法都取得了進(jìn)步與突破[5]。
因此,利用深度學(xué)習(xí)方法分析處理巨量的腦電波數(shù)據(jù)是非常值得嘗試的研究方向。本文的研究?jī)?nèi)容是把深度學(xué)習(xí)模型應(yīng)用于癲癇發(fā)作預(yù)測(cè)問(wèn)題上,探索基于深度學(xué)習(xí)的癲癇發(fā)作預(yù)測(cè)算法的設(shè)計(jì),以及仿真測(cè)試其最終實(shí)驗(yàn)效果。
經(jīng)過(guò)國(guó)內(nèi)外文獻(xiàn)調(diào)研發(fā)現(xiàn),有不少研究學(xué)者基于深度學(xué)習(xí)方法已相繼發(fā)表了不同的癲癇檢測(cè)算法。例如Vidyaratne等人[6]提出了深度雙向遞歸神經(jīng)網(wǎng)絡(luò)方法進(jìn)行癲癇發(fā)作檢測(cè)。Turner等人[7]提出利用深度信念網(wǎng)分層學(xué)習(xí)方法分析高分辨率多通道腦電圖數(shù)據(jù)來(lái)檢測(cè)癲癇發(fā)作。Ye等人[8]利用快速傅里葉變換預(yù)處理腦電波(EGG)提取多個(gè)特征利用深度學(xué)習(xí)方法進(jìn)行癲癇發(fā)作檢測(cè)。
本文采用Kaggle上美國(guó)癲癇協(xié)會(huì)癲癇預(yù)測(cè)競(jìng)賽的數(shù)據(jù)集及評(píng)估模型的標(biāo)準(zhǔn),應(yīng)用線性判別分析作為基線模型,提出基于CNN和GRU的深度學(xué)習(xí)模型解決癲癇預(yù)測(cè)問(wèn)題。另外在此競(jìng)賽最后提交的結(jié)果中,并沒(méi)有找到基于遞歸神經(jīng)網(wǎng)絡(luò)的模型,然而前人的不少研究表明,遞歸神經(jīng)網(wǎng)絡(luò)區(qū)分EGG數(shù)據(jù)片段是有效的;因而探索遞歸網(wǎng)絡(luò)對(duì)癲癇預(yù)測(cè)問(wèn)題是否有效是很有必要的。為此,本文將展開(kāi)研究論述如下。
線性判別分析(Linear Discriminant Analysis,LDA),是一種監(jiān)督學(xué)習(xí)方法。其原理是將給定的數(shù)據(jù)集投影到一條直線上,使得同類之間的距離盡可能地小,不同類之間的距離盡可能地大。
一種良好的投影方式就是利用不同類別的數(shù)據(jù)的中心來(lái)代表這類樣本在空間中的位置。考慮一個(gè)兩分類問(wèn)題,兩類的均值向量為:
(1)
同時(shí)保證讓投影之后的中心距離盡可能地大,也就是:
(2)
盡可能大,其中,
(3)
圖1 LDA最大化問(wèn)題
左圖為最大間隔度量的降維結(jié)果,從圖1中可以看出在原始數(shù)據(jù)空間,2類數(shù)據(jù)可以被完美分開(kāi),但是以2類數(shù)據(jù)的均值連線的垂直方向投影,會(huì)產(chǎn)生一定程度的重疊。因此,F(xiàn)isher提出的LDA的優(yōu)化目標(biāo)為:最大化一個(gè)函數(shù),這個(gè)函數(shù)能夠讓類均值的投影分開(kāi)得較大,同時(shí)讓每個(gè)類別內(nèi)部的方差較小,從而最小化了類別的重疊(圖1中右的結(jié)果)。這也是LDA的中心思想,即:最大化類間距離,最小化類內(nèi)距離。
卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)如圖2所示。從圖2中可以看出,二維矩陣或者三維矩陣作為輸入數(shù)據(jù)送入卷積神經(jīng)網(wǎng)絡(luò),通過(guò)卷積神經(jīng)網(wǎng)絡(luò)的卷積和池化自動(dòng)提取數(shù)據(jù)特征,再用全連接層和Softmax進(jìn)行分類[5]。卷積層和池化層的輸出代表了輸入傳感器數(shù)據(jù)的高級(jí)特征,全連接層的目的就是用這些特征進(jìn)行分類。全連接層(Fully Connected Layer)通常使用softmax激活函數(shù)作為輸出層的多層感知機(jī)(Multi-Layer Perceptron), Softmax函數(shù)把任意實(shí)值的向量轉(zhuǎn)變成元素取值0-1、且和為1的向量。
圖2 卷積網(wǎng)絡(luò)的基本結(jié)構(gòu)
卷積和池化提取高維度的數(shù)據(jù)特征主要依靠4個(gè)特性,分別為:局部連接、權(quán)值共享、非線性、池化。如圖3所示,圖3中左側(cè)表示卷積網(wǎng)絡(luò)的局部連接的特性,輸入數(shù)據(jù)為6*6的矩陣,利用3*3的卷積核經(jīng)過(guò)步長(zhǎng)為1的移動(dòng)后,提取特征獲得4*4的特征圖。圖3中右側(cè)表示每次當(dāng)卷積核掃描到神經(jīng)網(wǎng)絡(luò)的神經(jīng)元時(shí),每個(gè)神經(jīng)網(wǎng)絡(luò)邊上的權(quán)值和偏移量是共享的。卷積網(wǎng)絡(luò)的非線性就是在每個(gè)卷積操作之后,都有一個(gè)ReLU的附加操作。ReLU的全稱是糾正線性單元(Rectified Linear Unit)。ReLU是以像素為單位生效的,可將所有負(fù)值像素替換為0。池化,也稱為下采樣,降低了每個(gè)特征映射的維度,但是保留了最重要的信息。池化可以有多種形式:最大(Max)、平均(Average)、求和(Sum)等等。目前,最大池化用得最多、也最廣泛。池化的功能在于逐步減少輸入特征的空間尺寸,從而減少網(wǎng)絡(luò)中的參數(shù)與計(jì)算數(shù)量,并抑制過(guò)擬合[5]。
圖3 卷積網(wǎng)絡(luò)的局部連接和權(quán)值共享
Fig. 3 Local connection and weight sharing of Convolutional Neural Network
如圖4所示,左側(cè)是時(shí)間維度展開(kāi)前,回路方式表達(dá)方式的遞歸神經(jīng)網(wǎng)絡(luò),其中x表示輸入層,s表示隱藏層,o表示輸出層。右側(cè)為按照時(shí)間線展開(kāi)后,可以看到當(dāng)前時(shí)刻的St并不僅僅取決于當(dāng)前時(shí)刻的輸入xt,同時(shí)與上一時(shí)刻的St-1也存在某種相關(guān),St同樣也由xt經(jīng)U的變化后的信息決定,此外這里包含另一份信息W·St-1,該信息是從上一時(shí)刻的隱藏狀態(tài)St-1經(jīng)過(guò)一個(gè)不同的W變換后得出的。遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的計(jì)算公式為:
St=f(U·xt+W·St-1),Ot=g(V·St),
(4)
其中,f與g表示神經(jīng)網(wǎng)絡(luò)的激活函數(shù)。
圖4 遞歸神經(jīng)網(wǎng)絡(luò)(RNN)基本結(jié)構(gòu)
但是普通的RNN結(jié)構(gòu)卻很難以傳遞相隔較遠(yuǎn)的信息。例如圖4中的部分,研究只考慮黑色箭頭的線性的傳遞過(guò)程,不考慮非線性部分,由此就會(huì)將式(4)簡(jiǎn)化為:
St=W·St-1,
(5)
如果將起始時(shí)刻的隱藏狀態(tài)信息S0向t時(shí)刻傳遞,就會(huì)得到式(6):
St=Wt·S0,
(6)
此時(shí),當(dāng)W<1時(shí),不斷相乘的結(jié)果是Wt向0衰減;當(dāng)W>1時(shí),不斷相乘的結(jié)果是Wt向∞擴(kuò)增,導(dǎo)致S0中的信息會(huì)被覆蓋掉,無(wú)法向t時(shí)刻傳遞。尤其對(duì)于某些復(fù)雜的問(wèn)題,可能需要更早的一些信息,甚至是時(shí)間序列的初始的信息,但間隔太遠(yuǎn)的輸入信息,RNN是難以記憶的[5]。因此,遞歸神經(jīng)網(wǎng)絡(luò)需要通過(guò)門(gates)控制,使不斷相乘的梯度保持在接近1的數(shù)值是非常重要的。
如圖5所示,LSTM的內(nèi)部結(jié)構(gòu)相比RNN更復(fù)雜,設(shè)計(jì)上包括了4層神經(jīng)網(wǎng)絡(luò),其中小圓圈是point-wise的操作,比如向量加法、點(diǎn)乘等,而小矩形表示一層可學(xué)習(xí)參數(shù)的神經(jīng)網(wǎng)絡(luò)。LSTM單元上面的那條直線表示了LSTM的狀態(tài)state,并且會(huì)貫穿所有串聯(lián)在一起的LSTM單元,從第一個(gè)LSTM單元一直流向最后一個(gè)LSTM單元。狀態(tài)state在這條通道中傳遞時(shí),LSTM單元可以對(duì)其添加或刪除信息,相應(yīng)的對(duì)信息流的修改操作由LSTM中的gates控制。這些gates中包含了一個(gè)Sigmoid層和一個(gè)向量點(diǎn)乘的操作,繼而研究可知Sigmoid層的輸出是0~1之間的值,該值將直接控制信息傳遞的比例。因此在LSTM中,網(wǎng)絡(luò)首先構(gòu)建了3個(gè)gates,即(it,ft,Ot)來(lái)控制信息的流通量。對(duì)此設(shè)計(jì)可分述如下。
圖5 遞歸神經(jīng)網(wǎng)絡(luò)(RNN)與長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LSTM)基本結(jié)構(gòu)
Fig. 5 The basic structure of Recurrent Neural Network (RNN) and long short term memory network(LSTM)
(1)輸入門it:控制有多少信息可以流入memory cell,即如下方公式(10)求得的Ct。
(2)遺忘門ft:控制有多少上一時(shí)刻的memory cell中的信息可以累積到當(dāng)前時(shí)刻的memory cell中。
(3)輸出門Ot:控制有多少當(dāng)前時(shí)刻的memory cell中的信息可以流入當(dāng)前隱藏狀態(tài)ht中。
研究中擬將用到的數(shù)學(xué)公式可表述如下:
it=Sigmoid(WxiXt+Whiht-1+bi);
(7)
ft=Sigmoid(WxfXt+Whfht-1+bf);
(8)
Ot=Sigmoid(WxoXt+Whoht-1+bo);
(9)
Ct=ft*Ct-1+it*tanh(WxcXt+Whcht-1+bc);
(10)
St=Ot*tanh(Ct).
(11)
但LSTM也因?yàn)橐肓撕芏鄡?nèi)容,使得參數(shù)增多,訓(xùn)練難度也因此加大了很多。故而很多時(shí)候研究中常會(huì)使用效果與LSTM相當(dāng)、但參數(shù)更少的GRU來(lái)構(gòu)建大訓(xùn)練量的模型。對(duì)此可解析得到如下數(shù)學(xué)公式:
zt=σ(Wz·[ht-1,xt]);
(12)
rt=σ(Wr·[ht-1,xt]);
(13)
(14)
(15)
如圖6所示,首先是GRU的2個(gè)門,分別是update gate(zt)和reset gate(rt),計(jì)算方法和LSTM中門的計(jì)算方法一致,方法公式具體如下:
zt=σ(Wz·[ht-1,xt]),
(16)
rt=σ(Wr·[ht-1,xt]).
(17)
圖6 門控循環(huán)單元(GRU)基本結(jié)構(gòu)
(18)
Kaggle競(jìng)賽美國(guó)癲癇協(xié)會(huì)癲癇預(yù)測(cè)競(jìng)賽的顱內(nèi)腦電圖(iEEG)記錄,采集自5條患有癲癇癥的狗和2個(gè)接受iEEG 監(jiān)測(cè)的人。狗的iEEG 記錄以400 Hz通過(guò)16個(gè)電極采樣得到,記錄每組電極電壓組的平均值。這些iEEG數(shù)據(jù)記錄有的延至數(shù)月,有的長(zhǎng)達(dá)一年,并且在一些狗的記錄中有多達(dá)100次的癲癇發(fā)作。研究中基于植入裝置(A)的癲癇警告系統(tǒng)如圖7所示。通過(guò)植入裝置(A),獲得16個(gè)電極上的iEEG數(shù)據(jù)(B);并將數(shù)據(jù)無(wú)線傳輸?shù)絺€(gè)人警告系統(tǒng)設(shè)備上;個(gè)人警告系統(tǒng)設(shè)備將其存儲(chǔ)在閃存驅(qū)動(dòng)器中,再通過(guò)互聯(lián)網(wǎng)每周上傳到中央數(shù)據(jù)存儲(chǔ)服務(wù)器上。(C)展示了癲癇發(fā)作的時(shí)間和閾值分布,該閾值定義了癲癇發(fā)作概率增加時(shí)期(發(fā)作前狀態(tài))。當(dāng)預(yù)測(cè)的概率超過(guò)定義的閾值時(shí),會(huì)觸發(fā)警告[9]。
圖7 患癲癇病犬的癲癇發(fā)作預(yù)警系統(tǒng)
除了狗的數(shù)據(jù)外,此次競(jìng)賽數(shù)據(jù)集還包括有,2位人類癲癇患者少于一周的顱內(nèi)腦電圖監(jiān)測(cè),其以5 000Hz頻率進(jìn)行采樣,記錄的電壓來(lái)自大腦外部的電極的電壓值。
眾所周知,癲癇發(fā)作會(huì)聚集在一起,或者以組的形式出現(xiàn)。通常具有癲癇發(fā)作集群的患者從預(yù)測(cè)后續(xù)癲癇發(fā)作中獲益甚微,而區(qū)分出癲癇發(fā)作前狀態(tài),就能為患者做出及時(shí)預(yù)警以及適當(dāng)治療。此競(jìng)賽的挑戰(zhàn)是區(qū)分前1 h的10 min長(zhǎng)的數(shù)據(jù)片段和發(fā)作間活動(dòng)的10 min iEEG片段。在這次競(jìng)賽中,定義癲癇發(fā)作前為癲癇發(fā)作開(kāi)始前的4 h,發(fā)作間為任何癲癇發(fā)作之前或之后至少4 h[10]。
數(shù)據(jù)集中每條數(shù)據(jù)為10 min長(zhǎng)的EGG時(shí)序數(shù)據(jù)片段,來(lái)自癲癇對(duì)象的發(fā)作前或者發(fā)作后時(shí)期。訓(xùn)練數(shù)據(jù)中1 h的數(shù)據(jù)片段將按照編號(hào)順序存儲(chǔ),測(cè)試數(shù)據(jù)片段則是隨機(jī)的。如圖8所示,1 h發(fā)作前片段定義為癲癇發(fā)作前1:05至0:05,這即確保了可以預(yù)測(cè)癲癇發(fā)作時(shí)間足夠長(zhǎng),以允許快速作用下優(yōu)選用藥。
圖8 癲癇發(fā)作前1 h的5個(gè)電極上的EEG信號(hào)
Fig. 8 EEG signals on 5 electrodes which are 1 hour before seizure
對(duì)于每一個(gè)10 min的EGG腦電圖數(shù)據(jù)片段,一些特定的特征從每個(gè)電極上的時(shí)域電壓值中提取。主要的提取數(shù)據(jù)特征方法可參考文獻(xiàn)[9,11],方法步驟詳見(jiàn)如下。
(2)過(guò)濾。使用巴特沃斯帶通濾波器過(guò)濾掉低頻(小于0.1 Hz)和高頻(高于180 Hz)的采樣點(diǎn)數(shù)據(jù)。這一步可運(yùn)用scipy包中的signal模塊的butter和lfilter來(lái)實(shí)現(xiàn)。
(3)離散傅里葉變換(DFT)。:每10 min的數(shù)據(jù)片段被分割為20個(gè)不重疊的30 s的小片段,每個(gè)小片段應(yīng)用離散傅里葉變換從時(shí)域信號(hào)變成頻域信號(hào)。傅里葉變換的公式為:
(19)
(4)劃分頻率帶。每個(gè)10 min的數(shù)據(jù)片段被分割成20個(gè)小片段的頻域信號(hào)后,把頻域從0.1 Hz至180 Hz劃分為8個(gè)互不相交的頻率帶,這些區(qū)間分別是:delta(0.1 Hz~4 Hz)、theta(4 Hz~8 Hz)、alpha(8 Hz~12 Hz)、beta(12 Hz~30 Hz)、low-gamma-0(30 Hz~50 Hz)、low-gamma-1(50 Hz~70 Hz)、high-gamma-0(70 Hz~100 Hz)、high-gamma-1(100 Hz~180 Hz)。
圖9 數(shù)據(jù)預(yù)處理后的幅度譜
(5)正則化。本實(shí)驗(yàn)一共有2種標(biāo)準(zhǔn)化方法,一種是把每個(gè)數(shù)據(jù)片段上每個(gè)電極的頻率譜上8×20特征矩陣壓縮成一維,進(jìn)行標(biāo)準(zhǔn)化;另一種是把每個(gè)8×20的頻率譜特征矩陣,視為20個(gè)樣例的8個(gè)特征,開(kāi)始對(duì)這20個(gè)長(zhǎng)度為8的向量進(jìn)行標(biāo)準(zhǔn)化。這2種標(biāo)準(zhǔn)化中,前者考慮到了特征在時(shí)域和頻域的位置,而后者沒(méi)有考慮時(shí)域。
綜合前述的數(shù)據(jù)預(yù)處理步驟提取信息,數(shù)據(jù)集大小從最開(kāi)始競(jìng)賽提供的總共111 G,增長(zhǎng)至當(dāng)下191 M的數(shù)據(jù)量,從而為后續(xù)實(shí)驗(yàn)減少了許多訓(xùn)練模型的時(shí)間。
本文的實(shí)驗(yàn)任務(wù)是區(qū)分出測(cè)試集中給定的數(shù)據(jù)片段是屬于發(fā)作前、還是屬于發(fā)作中。由于癲癇病的特性,癲癇發(fā)作間隔時(shí)間長(zhǎng),即使得數(shù)據(jù)集中屬于發(fā)作中的片段占據(jù)了大多數(shù)。對(duì)此,研究使用ROC曲線下的面積AUC來(lái)評(píng)估,并且是在所有7個(gè)對(duì)象測(cè)試數(shù)據(jù)集的預(yù)測(cè)概率的ROC曲線下的面積AUC來(lái)評(píng)估各模型的運(yùn)行性能,而這同時(shí)也是競(jìng)賽的評(píng)判打分排名標(biāo)準(zhǔn)。
基于線性判別分析的方法,在數(shù)據(jù)預(yù)處理中與2.2節(jié)探討的不同之處就在于,窗口大小為60 s,步長(zhǎng)為30 s,這樣10 min的數(shù)據(jù)被劃分成了19個(gè)60 s的有重疊的小片段數(shù)據(jù),那么每個(gè)60 s的片段共有N×8個(gè)數(shù)據(jù)特征,其中N代表電極的數(shù)目。模型結(jié)構(gòu)如圖10所示,模型用所有片段的19個(gè)小片段進(jìn)行線性判別分析訓(xùn)練,選取這19個(gè)小片段的預(yù)測(cè)平均值作為整個(gè)片段的預(yù)測(cè)值,在如前描述的數(shù)據(jù)預(yù)處理?xiàng)l件下,研究得到了最好的結(jié)果是整體的AUC為0.747 66。
圖10 基于LDA的預(yù)測(cè)模型
在EGG數(shù)據(jù)采集的過(guò)程中,由于腦電信號(hào)非常不平穩(wěn),在整個(gè)10 min的片段中或許并不存在發(fā)作前活動(dòng)的跡象。這可能是因?yàn)榘l(fā)作前特征出現(xiàn)在片段的開(kāi)頭或者最后,也有可能發(fā)作前的癲癇患者許多位置的電極和平常一樣,根本沒(méi)有癲癇預(yù)警癥狀。為了使本文設(shè)計(jì)的模型盡可能多地掌握患者腦部各處電壓的異樣,研究考慮先合并所有電極上的處理后的頻域信息,而后合并不同時(shí)間片段的信息。研究中可通過(guò)卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)這一設(shè)計(jì)。設(shè)計(jì)的網(wǎng)絡(luò)通過(guò)時(shí)間執(zhí)行一維卷積,從而分別從每個(gè)時(shí)間片段中提取相同類型的特征,繼而在較高層中跨時(shí)間軸來(lái)組合有關(guān)信息。此外,在Mirowski等人[12]的研究中提出腦電圖各電極上的信息之間的關(guān)系對(duì)癲癇的預(yù)測(cè)非常重要;在此競(jìng)賽中也有不少參賽者,把這個(gè)特征擴(kuò)展到了各自的數(shù)據(jù)集中。在本文研發(fā)的網(wǎng)絡(luò)中,研究旨在運(yùn)用第一個(gè)卷積層中的濾波器在相同的時(shí)間片段內(nèi)看到所有電極上的數(shù)據(jù)特征信息,這樣可使其學(xué)習(xí)彼此之間的互相關(guān)關(guān)系?;诖耍旅鎸⒔o出本文網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)詳述如下。
如圖11所示,研究把數(shù)據(jù)分成了20個(gè)小片段以及8個(gè)頻率帶,其第一層卷積C1在相同時(shí)間幀上的所有電極的頻帶上執(zhí)行卷積,第一層為16個(gè)過(guò)濾器的大小為(8·N)×1的卷積核,一共有(16·8·N+16)個(gè)參數(shù)。通過(guò)第一層得到了16×20的矩陣;第二層卷積C2是32個(gè)過(guò)濾器大小為16×12的卷積核,一共有(32·16·12+32)=6 176個(gè)參數(shù);第三層是全連接層F3,通過(guò)2個(gè)卷積層提取32×9的特征矩陣與F3的512個(gè)神經(jīng)元全連接,把所有特征信息提取到512個(gè)神經(jīng)單元中用來(lái)分類,共32×9×512+512=147 968個(gè)參數(shù);最后一層是一個(gè)邏輯回歸單元。由此計(jì)算可得模型的總參數(shù)共有15萬(wàn)個(gè),巨量的參數(shù)給后續(xù)模型的參數(shù)尋找?guī)?lái)了很大的困難,因此必須盡可能在此結(jié)構(gòu)上加以優(yōu)化,從而降低模型的參數(shù)總量。
圖11 基于CNN的模型
為了減少參數(shù)的數(shù)量,研究即在C2與F3直接引入全連接池化層GP3,如圖12所示,池化層在C2層得到的1×9矩陣上計(jì)算了均值、最大、最小、方差、L2正則化值、幾何平均值,這樣得到32個(gè)1×6的矩陣與具有512個(gè)單元的全連接層連接。如此一來(lái)池化層和全連接層只有(192·512+512)=98 816個(gè)。由于加入的池化層,參數(shù)在數(shù)目上就大約減少了5萬(wàn)個(gè)。
圖12 卷積和池化的CNN模型
研究中又設(shè)置了不同的數(shù)據(jù)預(yù)處理參數(shù),并對(duì)預(yù)測(cè)的原始結(jié)果,分別進(jìn)行了Softmax、minmax、median標(biāo)準(zhǔn)化,應(yīng)用此模型得到的結(jié)果見(jiàn)表1。
表1 不同數(shù)據(jù)預(yù)處理參數(shù)下模型的結(jié)果
Tab. 1 Results of the model under different data preprocessing parameters
數(shù)據(jù)AUCSoftmax AUCMinmax AUCMedian AUC6頻率帶30 s窗口0.770 60.770 70.781 10.769 56頻率帶120 s窗口0.763 20.786 00.775 20.753 48頻率帶30 s窗口0.766 80.743 70.773 70.780 8
由表1可以看出,經(jīng)過(guò)如上的標(biāo)準(zhǔn)化處理對(duì)最終的預(yù)測(cè)結(jié)果有一定的修正,但是尚未確定哪種標(biāo)準(zhǔn)化處理會(huì)得到比原始預(yù)測(cè)更好的收益;同時(shí),也可以看出本模型效果明顯超出基線模型大約3%左右,并且最好的結(jié)果能在504個(gè)隊(duì)伍的競(jìng)賽排行榜上取得排名第11位的成績(jī),可以說(shuō)基于卷積深度學(xué)習(xí)方法對(duì)于癲癇前期癥狀的預(yù)測(cè)是有用的。
腦電波(EGG)原始數(shù)據(jù)是時(shí)序的,可以直接利用RNN網(wǎng)絡(luò)的持續(xù)性和記憶性特點(diǎn)直接處理,但通過(guò)前面提及的預(yù)處理步驟將使所得的信息既有時(shí)間特性、又有頻率大小的位置特性,因此本次研究擬嘗試運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)解決發(fā)作前預(yù)測(cè)問(wèn)題。
首先,研究對(duì)數(shù)據(jù)應(yīng)用基礎(chǔ)的RNN、LSTM、GRU模型,探索其性能,其中GRU結(jié)構(gòu)如圖13所示,輸入數(shù)據(jù)先通過(guò)一層20個(gè)節(jié)點(diǎn)的GRU單元,其上各單元以0.2隨機(jī)失活,再全連接到一個(gè)邏輯回歸單元上輸出預(yù)測(cè)值。在其它基礎(chǔ)的遞歸神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)中只有第一層的GRU不同,分別為L(zhǎng)STM、SimpleRNN。
圖13 簡(jiǎn)單的GRU模型
這些簡(jiǎn)單模型在頻率帶為8,窗口長(zhǎng)度為30 s,步長(zhǎng)為30 s數(shù)據(jù)預(yù)處理設(shè)置下,得到的結(jié)果見(jiàn)表2。
表2 不同RNN模型的結(jié)果
由表2可知,此時(shí)得到的結(jié)果遠(yuǎn)遠(yuǎn)低于LDA的基線模型,甚至比隨機(jī)猜得的效果更差。這一仿真結(jié)果表明:雖然基于RNN的方法在癲癇發(fā)作片段的診斷上效果明顯,但在預(yù)測(cè)發(fā)作前片段的任務(wù)上,效果并不好。
本文以LDA為基線模型,探索了基于CNN和RNN的模型,對(duì) EGG數(shù)據(jù)預(yù)測(cè)癲癇發(fā)作前狀態(tài)概率的問(wèn)題進(jìn)行了實(shí)驗(yàn)性的研究。本文發(fā)現(xiàn)EGG數(shù)據(jù)從時(shí)域信號(hào)轉(zhuǎn)換到頻率信號(hào)后,利用卷積神經(jīng)網(wǎng)絡(luò)提取整合特征的能力,能較成功地預(yù)測(cè)癲癇發(fā)作前的數(shù)據(jù)片段。雖然基于RNN的模型在EGG數(shù)據(jù)片段屬于癲癇發(fā)作、非癲癇發(fā)作和健康人的分類問(wèn)題上得到了好的效果,但在癲癇發(fā)作前的預(yù)測(cè)問(wèn)題上效果并未臻至理想,當(dāng)然這也許是本文的RNN實(shí)驗(yàn)?zāi)P推诨A(chǔ)簡(jiǎn)單,參數(shù)設(shè)置或者數(shù)據(jù)預(yù)處理也有待進(jìn)一步改善的原因。后續(xù)工作可以考慮直接對(duì)原始的EGG數(shù)據(jù),按照電極上采樣數(shù)據(jù)量平均劃分為n個(gè)時(shí)間步,以每個(gè)時(shí)間步的采樣數(shù)據(jù)作為RNN的輸入,或許在這樣的情況下RNN就能提取出有效的特征信息。
本文討論了癲癇發(fā)作前片段預(yù)測(cè)任務(wù)的背景及意義,并基于具體的數(shù)據(jù)集說(shuō)明了任務(wù)評(píng)估標(biāo)準(zhǔn)。研究即以LDA為基線模型,探討了基本RNN模型對(duì)此任務(wù)的有效性,并提出了基于CNN模型的深度學(xué)習(xí)方法,較為成功地對(duì)癲癇發(fā)作前片段進(jìn)行了預(yù)測(cè)。