施翔宇,潘家輝
1(華南理工大學 自動化科學與工程學院 腦機接口與腦信息處理研究中心,廣州 510640)
2(華南師范大學 軟件學院,佛山 528225)
腦機接口是直接建立大腦和外部設備交流的渠道,而不需要人的任何肌肉活動.在不同的大腦信號中,腦電信號具有相對較高的時間分辨率,有非侵入性、成本低等特點,適用于實現腦機接口系統.腦電信號中的P300 事件相關電位是構建拼寫系統中常用的腦電信號之一.以往對P300 分類的工作主要利用傳統機器學習算法,如支持向量機和線性判別分析.Rakotomamonjy等[1]使用支持向量機,字符預測的平均準確率達到96.5%,在2004年的腦機接口競賽數據集II 中名列前茅.Bostanov 等[2]在腦機接口競賽中使用基于Bagging的線性判別分析獲得與支持向量機相當的結果.近十年來,深度學習在解決計算機視覺和自然語言處理等現實問題中取得了很大的進展,但是在腦電信號檢測的應用還處于起步階段.Cecotti 等[3]提出了一個4 層卷積神經網絡(convolutional neural networks,CNN),在數據集上獲得了的97%平均預測準確率.Liu 等[4]在CNN 中引入批歸一化(batch normalization,BN)[5]緩解過擬合,字符預測的平均準確率達98%.
意識障礙(disorders of consciousness,DOCs)是腦損傷的后遺癥,包括昏迷、植物狀態、最小意識狀態和閉鎖綜合征等4 種狀態.處于植物狀態的患者不能表達可理解的語言,也不能自發地睜開眼睛服從口頭命令[6-8],而最小意識狀態的特點是可以通過行為反應,表現出不一致但可重現的意識跡象[9].閉鎖綜合征患者以構音不全和四肢癱瘓為特征,但是能保持基本的認知功能[8].處于不同狀態的意識障礙患者有不同的意識水平,因此,準確的意識水平檢測是診斷和治療意識障礙患者的關鍵.目前,評估意識障礙患者意識狀態最常用的方法是行為評分法,如JFK 昏迷恢復量表修訂版[10,11].然而,這種基于行為的評估方法誤診率高達37%-43%[12,13].因此,探索非行為、客觀的方法來檢測意識障礙患者的意識水平具有重要意義.近年來,一些研究顯示了腦機接口技術在檢測意識障礙患者意識水平方面的潛力,Pan 等[14]使用結合P300和SSVEPs的視覺混合腦機接口檢測8 名意識障礙患者的意識,其中的3 名患者顯示了命令-跟隨行為.然而,意識障礙患者的認知能力普遍低于健康受試者,并且容易出現疲勞、注意力不集中等問題,難以完成長時間的實驗,如何在實驗時間短、數據數量少的情況下,準確分析出意識障礙患者的意識水平仍然是當前面臨的挑戰.一種可行的改進方向是優化分類算法,使其在樣本數量少的情況下訓練出好的模型.
在樣本數量較少的情況下,深度學習算法在訓練過程中容易出現過擬合現象,常見的解決方案有數據增強和正則化.而近年來的主流方案是使用元學習技術,利用已有的先驗知識解決新的問題,而不需要大量的訓練樣本,從而解決了小樣本帶來的過擬合問題.元學習技術可大致分為3 類:學習微調、基于循環神經網絡的記憶和度量學習.2015年Lake 等[15]在“Science”發表文章,提出了貝葉斯程序學習框架,實現單樣本學習,Vinyals 等[16]提出的匹配網絡和Snell 等[17]提出的原型網絡,使用基于度量的方法實現了小樣本學習.所謂度量就是比較兩個樣本的相關性,借助最近鄰的思想完成分類,在某一個投影空間中,距離越近的樣本越相似,即認為可以將其分為同一類別.
針對上述問題,本文結合原型網絡思想,使用卷積神經網絡提取腦電信號的特征,并使用度量方法,實現小樣本情況下P300 信號的分類和識別,以及在樣本數量較少的情況下的意識障礙檢測.
P300 事件相關電位發生于刺激開始后大約300 ms,在EEG 中對應為正電壓偏轉.為檢測P300 波形,需要使用時間窗對原始數據進行截取,并使用帶通濾波器濾波以及對數據進行下采樣抑制噪聲干擾,提高信噪比.
本章使用原型網絡思想,結合卷積神經網絡和度量方法,提出一種適用于P300 信號檢測的改進原型網絡,以第三屆BCI 大賽的數據集II為例,每個電極通道樣本的采樣點數為78,使用所有的64 個電極通道,即輸入樣本維度為64×78.原型網絡的流程圖如圖1所示,將支持集的每一個樣本輸入訓練后的嵌入網絡,生成一個編碼表示,通過求和后平均生成每一個分類在嵌入空間的原型表示,對于查詢樣本輸入同樣的嵌入網絡,得到其在嵌入空間的向量表示后,計算查詢點與每一個類別原型的距離,距離最近的類別即為該查詢點的類別.圖2描述了嵌入網絡的整體結構,嵌入網絡使用卷積神經網絡,由6 層組成,使用L0-L5表示.每層的第1 列表示該層的編號,第2 列表示該層的內部結構.例如,L1層是用于空間特征提取的一維卷積層.第3 列表示該層的輸入和輸出的維度.例如,L4層為全連接層,將360 維向量轉換為128 維向量.第4 列表示該層的參數數量.

圖1 原型網絡流程圖

圖2 卷積神經網絡結構概述
L0層:

該層是輸入層,數據經過預處理后作為輸入,樣本維度為[Nt×Nc],電極通道數Nc為64,時間維度Nt為78.其中,Ii,c表示第c個通道的第i時刻元素值,1≤c≤64,1≤i≤78.
L1層:

該層是卷積層,進行空間濾波和非線性激活.其中,w(m1)(i) 表示L1層第m個卷積核的權 重,b(m1)表示第m個卷積核的偏置.在該層學習了20 個維度為[1×1×64]卷 積核,即1≤m≤Ns,Ns=20表示卷積核個數,卷積步長設置為[1,1].激活函數使用tanh 函數.經過每個濾波器之后的輸出a(m1)是一個維度為[78×1]的張量,故1≤i≤78.L1層 所有濾波器參數個數為20×(1×1×64+1)=1300.
L2層:

該層為卷積層、BN層及池化層.一維卷積層用于時域濾波,其中,w(n2)表示L2層第n個卷積核的權重,b(n2)表示第n個卷積核的偏置.在該層學習了20 個維度為[20×6×1]的卷積核,即1≤n≤20,卷積步長設置為2,因此時間維度下采樣為Nt=37.經過每個卷積核a(n1)之后的輸出g(n2)都是一個[37×1]的張量.激活函數選擇 tanh 函數,在使用tanh 函數激活之前執行批歸一化,以避免分布偏移,避免梯度消失和過擬合,加快網絡的訓練和收斂速度.池化層選用最大池化對時域進行下采樣,經過池化層后,a(n2)尺寸為[18×1].L2層所有濾波器參數為2 0×(20×6×1+1)=2420.
L3層:

該層為Flatten 層和全連接層.使用Flatten 層,將輸入張量由多維轉換成一維的形式,達到從卷積層到全連接層的過渡的目的.為防止過擬合,該層引入Dropout,提升模型的泛化能力[18].全連接層則是把特征向量進行全連接處理,激活函數使用tanh 函數.其中,p(3)為第3 層神經元的Dropout 丟失率,Bernoulli 函數是以概率p(3)隨機生成一個由0和1 組成的向量,從而使得這個向量與輸入映射進行逐元素的乘積.L3層卷積核的權重為W(3),偏置為b(3).Flatten 操作之后,張量的尺寸由 [20×18×1]轉 換為[360×1],最后經過全連接層,張量尺寸為[128×1].L3層參數個數為(360+1)×128=46208.
L4層:

該層為全連接層,作用是輸出樣本特征.其中,W(4)表示L4層的權重,b(4)表示L4層的偏置.激活函數使用tanh 函數.經過該全連接層,張量尺寸為[32×1],L4層的輸出a(4)表示輸入樣本的特征.L4層參數個數為(128+1)×32=4 128.
L5層:
該層是輸出層.將訓練集中所有的正樣本P=[X1,X2,···,Xn]作為網絡輸入,其中n表示訓練集中所有的正樣本數.對每個正樣本的特征a(4)取均值,表示正樣本的原型Vp:

將單個樣本X作為同一個網絡的輸入,特征為Vx=a(4),計算單個樣本特征與正樣本原型的余弦相似性:

輸出結果為余弦相似性 cos ∈[-1,1],結果越接近1 表示兩者相似程度越高,表示該輸入樣本越接近正樣本的類別.因此,單個樣本的P300 檢測結果被定義為:

其中,X是待分類的樣本,C是輸出類別.
2.3.1 批歸一化
批歸一化用于減少神經網絡訓練過程中內部協變量偏移.由于tanh 激活函數是S 型飽和非線性激活函數,當 |z|很大或者很小時,g(z)的梯度趨于0,當網絡有多層時,數據的分布可能進入激活函數的飽和區域,大大降低網絡的訓練速度.在我們的網絡中,進入激活函數之前,使用對特征進行批歸一化,可以有效地避免飽和問題,保證更快的訓練速度.

算法1.批歸一化算法M={x1,x2,···,xm}xi 1≤i≤m輸入:最小批中訓練樣本數量為m,即輸入的最小批,其中為最小批的一個訓練樣本,;?xi=BN{xi}輸出:.(1)計算最小批中所有樣本特征均值:μM←1 m m∑i=1xi(2)計算最小批中所有樣本特征方差:σ2M 1 m m∑i=1(xi-μM)2←(3)歸一化每一個樣本的特征:︿xi xi-μM σM2+ò←其中,ò是一個用于保持數值穩定的常量.
2.3.2 Dropout
Dropout 算法可以使每個神經元學習到更多的隨機特征,目前已經解決了許多的語音和圖像識別任務中的難題.Dropout的基本原理是在前向傳播的訓練階段,將某一層的Dropout 率設置為p,則該層中的每個神經元都有1-p的概率不工作.而在測試階段,保留所有神經元,使其正常工作.設置適當的p值可以幫助神經元學習更明顯更普遍的特征,避免網絡過擬合.
如前文所述,將所有正樣本P輸入網絡,L4層輸出為正樣本的原型Vp,單個訓練樣本X作為同一個網絡的輸入,L4層輸出特征Vx,單個訓練樣本特征與正樣本原型的余弦相似性為網絡的輸出值a(5)=cos(P,X).
正樣本標簽y=1,負樣本標簽為y=-1,則單個樣本損失函數表達式為:

其中,e表示誤差函數,本方法中e使用均方誤差損失函數:

本文網絡使用Adam 作為優化器,初始學習率設置為10-3,在第5和第10 個Epoch 后分別將學習率設置為原來的1 /10,如文獻[19]中建議,優化器的其他參數分別為β1=0.9,β2=0.999,ò=10-8.Dropout 率設置為0.5,隨機梯度下降的批大小設置為50.
實驗分別以第三屆國際BCI 競賽數據集II、正常人和意識障礙患者照片識別數據作為實驗數據.分別用于驗證該網絡對P300 拼寫系統中經典數據集的檢測效果、驗證該網絡對于小樣本數據的檢測效果以及對意識障礙患者的小樣本數據進行分析.
3.1.1 第三屆BCI 大賽的數據集II
第三屆BCI 大賽的數據集II 中記錄的是兩名受試者的完整腦電信號.該數據集采用Oddball 范式下的BCI 2000 系統采集.在實驗中,顯示器上顯示了一個6 行6 列的矩陣,矩陣中的字符為[a-Z],[1-9]和[_].受試者的任務是按順序注視矩陣中的一個字符.該矩陣的6 行6 列以5.7 Hz的頻率隨機閃爍.要選擇的字符由一行和一列決定.因此,12 行或列的閃爍中有2 個會誘發受試者的P300 響應.一個字符的拼寫實驗共有15 輪,1 輪閃爍中每行每列各隨機閃爍1 次,共閃爍12 次.因此需要檢測30 個P300 響應.
兩個受試者的腦電信號從標準10-20 系統的64 個通道采集[20].該信號經過0.1-60 Hz的帶通濾波,以240 Hz的采樣頻率進行采樣.訓練集由85 個字符的實驗組成,正樣本(含P300) 數量為85×2×15=2 550,負樣本(不含P300)數量為8 5×10×15=12750.測試集由100 個字符的實驗組成,正樣本數量為3 000,負樣本數量為15 000.每個受試者的樣本數量如表1.

表1 受試者A、B的訓練集和測試集樣本數
每個樣本使用刺激發生后0-650 ms的時間窗進行采樣,采樣頻率為120 Hz,并通過0.1-20 Hz的8 階帶通巴特沃斯濾波器對腦電信號進行濾波.即每個通道樣本的采樣點數為78,當使用所有通道時,電極通道數為64,輸入樣本維度為6 4×78.
P300 拼寫器是6 行6 列的矩陣,在一次字符拼寫實驗中,共有15 輪閃爍,即n=15.在1 輪閃爍中每行每列各隨機閃爍1 次,共閃爍12 次,即1≤i≤12.使用得分向量S(i)計算1 次實驗15 輪閃爍中,每一行和列分別檢測出P300的累計概率:

其中,a(5)(j,i)表示第j輪閃爍中第i行或列的網絡輸出結果,得分向量中行和列最大值的索引交叉點即為預測字符.

其中,x表示字符矩陣中的行中最大值的索引,y表示字符矩陣中的列中最大值的索引.
3.1.2 照片識別數據
照片識別數據由一個命令遵循實驗采集,該實驗的目的是判斷受試者能否遵循指導語,看向指定的照片,通過分析實驗過程中受試者的腦電信號,檢測意識障礙患者的意識狀態.在實驗過程中,使用NuAmps 設備采集受試者的腦電數據,受試者在保持清醒的情況下戴上電極帽,腦電信號的參考電極放置在右側乳突,地電極位于“Fpz”位置,且各電極阻抗保持在5 kΩ以下,采樣率為250 Hz.一塊顯示屏放置于受試者前方約0.5 m 處,并調整到最佳視角.
命令遵循實驗具體過程如下:在顯示屏上出現兩張照片,一張為受試者照片,一張為陌生人的照片,分別隨機出現在屏幕的左右兩側,受試者根據指導語看向自己的照片或陌生人的照片.兩張照片隨機閃爍,每次閃爍持續200 ms,連續兩次出現的間隔為800 ms,閃爍的出現符合Oddball 范式,可以誘發腦電信號中相關的P300 電位.兩張照片各閃爍一次被定義為一輪閃爍,持續2 000 ms,在一次實驗中,兩張圖片各閃爍8 次,即有8 輪閃爍.
共有15 名受試者參與該實驗,其中5 名健康受試者,10 名意識障礙患者.實驗前一周采用昏迷恢復量表(CRS-R)對所有意識障礙患者的意識狀態進行評估.每位受試者進行了20 次實驗.將這20 次實驗數據隨機分為10 個訓練集,和10 個測試集,則每個受試者的訓練集和測試集中正樣本的數量均為8×1×10=80,負樣本的數量也為8×1×10=80.每個受試者的樣本數量如表2所示.

表2 每位受試者的訓練集和測試集樣本數
使用每次閃爍發生后0-600 ms的時間窗進行截取,每個樣本共有 250×0.6=150個樣本點,使用刺激前100 ms的基線校正后通過0.1-20 Hz的8 階帶通巴特沃斯濾波器對信號進行濾波.并以5的速率對所有數據進行下采樣,即每個樣本通道的采樣點數為150÷5=30個.當使用所有通道時,電極通道數為30,輸入樣本維度為3 0×30.
在一次照片識別實驗中,共有8 輪,即n=8.1 輪閃爍中兩張照片各隨機閃爍1 次,共閃爍2 次,即1≤i≤2.使用得分向量S(i)計算1 次實驗8 輪閃爍,左右兩張照片閃爍分別檢測出P300的概率.

其中,a(5)(j,i)表示第j輪閃爍中第i張照片的網絡輸出結果,得分向量中的最大值為預測目標:

其中,t表示概率最大值的索引.
應用于照片識別數據的網絡結構略有不同,L0層輸入樣本維度為[Nt×Nc],電極通道數Nc為12,時間維度Nt為30.L1層 卷積核維度為[1×1×12],經過每個濾波器之后的輸出a(m1)是一個維度為[30×1]的張量.L2層卷積核的維度為[20×4×1],經過每個卷積核a(n1)之后的輸出g(n2)都是一個[13×1]的張量,經過池化層后,a(n2)尺寸為[7×1].L3層,Flatten 操作之后,張量的尺寸由[20×7×1]轉 換為[140×1].其余結構均與前文一致.
本文模型首先檢測每次閃爍出現后腦電信號中的P300 波形,并根據檢測出P300 波形的次數預測字符/照片.因此可以用P300 波形識別率和字符/照片識別準確率兩個方面來衡量我們的模型.
3.2.1 P300 波形識別率
P300 波形檢測問題可以看作二分類問題,波形的識別率(recognition rate,Reco)定義為:

其中,真陽性(TP)表示實際為正樣本,識別結果為正的樣本數量;真陰性(TN)表示實際為負樣本,識別結果為負的樣本數量;假陽性(FP)表示實際為負樣本,識別結果為正的樣本數量;假陰性(FN)表示實際為正樣本,識別結果為負的樣本數量[21].
其他廣泛使用的結果度量指標包括召回率(Recall)、精確率(Precision)以及二者的調和平均數F-measure:

3.2.2 字符/照片識別準確率
將字符識別測試數據作為模型的輸入,輸出為預測字符,即檢測到P300 次數最多的行和列的交點,字符識別準確率定義為預測正確的字符數與所有測試字符的比例.
將照片識別測試數據作為模型的輸入,輸出為預測照片,即檢測到P300 次數最多的目標,照片識別準確率定義為預測正確的照片數與所有測試照片數的比例.
3.3.1 第三屆國際BCI 競賽數據集II 結果
本文模型與Cecotti 等人[3]經典的CNN 模型(CNN-1,MCNN-1)進行了比較.P300的分類結果如表3所示.對于受試者A和B,本方法的P300 識別率和精確率以及F-measure均高于其他兩個方法.受試者A的識別率分別提高0.022和0.036,受試者B的識別率分別提高0.007和0.030.在精確率方面,受試者A和受試者B的數據使用本方法分析,相比CNN-1 分別提高了0.018和0.010,與MCNN-1 相比分別提高了0.027和0.034.而比較另一個重要的評價指標Fmeasure,本方法對于受試者A的結果,相比CNN-1和MCNN-1 分別提高0.009和0.016,對于受試者B,分別提高0.004和0.010.通過比較上述性能評價指標,可以認為本文方法在該字符拼寫數據集中,對P300 波形有較好的分類性能.

表3 P300 檢測結果
使用平均字符識別準確率作為識別準確率的指標,同樣與CNN-1,MCNN-1 模型進行比較.結果如表4所示,可以看出本方法在字符實驗中對受試者A和B的字符識別準確率在不同閃爍輪次均與其他兩個方法相近,大多數的字符都能在10 個閃爍輪次內被正確識別.綜合兩種性能評價指標,說明本方法可以有效應用于P300 信號檢測與基于P300的拼寫系統的應用.

表4 腦電競賽數據集:不同方法字符識別率 (%)
3.3.2 照片識別數據結果
使用本文模型分別對5 名健康受試者和10 名意識障礙患者的照片識別數據進行離線分析.每位受試者有20 次的照片識別實驗數據,隨機選取其中10 次實驗數據作為訓練集,其余10 次實驗數據作為測試集.表5總結了健康受試者的離線實驗準確率,所有的5 名健康受試者均能正確完成照片識別實驗,且在目標照片的第5 次閃爍之后準確率均達到了100%,即10 次照片識別任務均正確完成.驗證了該方法適用于樣本數量較少的腦電數據分類任務,同時表明該命令遵循實驗可以有效地檢測受試者的意識狀態水平與命令遵循能力.

表5 健康受試者在照片閃爍多次后的識別準確率(%)
表6是意識障礙患者的離線實驗準確率,10 名意識障礙患者的數據中有5 名受試者在目標閃爍8 次之后,準確率達到了70%及以上,即10 次識別任務中,識別正確的個數達到了7 個及以上.準確率高于腦機接口系統64%的隨機水平,可以認為是顯著的[22],表明該受試者擁有較高的理解認知能力和意識水平,具備命令遵循的能力.雖然其余5 名受試者的離線分析準確率低于64%,但是不能將這些結果作為受試者沒有意識、不能遵循命令的依據,因為完成該實驗需要受試者擁有注視能力及其他認知能力,任何一種能力的缺失都有導致實驗準確率低下的可能性.

表6 意識障礙患者在照片閃爍多次后的識別準確率(%)
將實驗離線分析結果與實驗前后兩次臨床CRS-R行為量表評估結果對比,實驗準確率高于64%的5 名意識障礙患者中,有3 名患者在實驗結束的一段時間后,患者有較好的意識恢復情況,行為量表評估得分相比實驗前有明顯的提高.5 名實驗準確率低于64%的意識障礙患者中有4 名的意識狀態則沒有明顯變化.表明該方法對意識障礙患者的意識狀態檢測結果與臨床評估結果匹配程度較高,具有較高的有效性.此外,在3 名有較好意識恢復情況的患者中,其中一名患者實驗前的臨床CRS-R 行為量表評估結果為植物狀態,在第2 次評估中有較好的意識恢復情況,說明該檢測方法相比于臨床行為量表評估方法有更高的敏感性.
本文提出了一種適用于P300 信號檢測的改進原型網絡.該模型基于原型網絡思想,使用卷積神經網絡提取P300 信號樣本的特征均值作為原型,結合度量方法余弦相似度,實現P300 信號的分類和識別.該模型在第三屆BCI 競賽數據集II 上取得了良好的結果,此外,在對樣本數較少的照片識別數據分析中,該模型對意識障礙患者意識水平的檢測結果與臨床行為量表評估結果相近,并且該模型有更高的敏感性,可以有效地解決臨床行為量表評估可能出現的誤診情況.在機器學習和神經科學領域,由于不同個體差異很大,個體間的P300 信號檢測仍然是一個具有挑戰性的問題,進一步的工作是研究小樣本學習模型,實現不同個體間P300 信號的小樣本識別,并選擇最合適的模型應用于在線的腦機接口系統,實現對意識障礙患者的在線意識狀態檢測.