蔡冬麗,鐘清華,朱永升,廖金湘,韓勱之
華南師范大學(xué) 物理與電信工程學(xué)院,廣州510006
情感在人們的日常生活中起著至關(guān)重要的作用。目前,情感識別的研究對象有文本、語音、腦電以及其他的生理信號等。情感識別已經(jīng)成為人工智能、計算機科學(xué)和醫(yī)療健康等領(lǐng)域的研究重點。早期的情感識別主要是基于面部表情或者語音來進行識別,后來有基于心率、肌電、呼吸等外圍生理信號進行情感識別。與上述的方式相比,腦電(Electroencephalogram,EEG)信號作為中樞神經(jīng)生理信號,其不會因為人們的主觀因素而受到影響,更能夠客觀真實地反映人們當(dāng)前的情感狀態(tài)。因此,近年來腦電信號被廣泛應(yīng)用于情感識別研究領(lǐng)域[1]。
由于在大數(shù)據(jù)集上,使用深度學(xué)習(xí)通常比使用機器學(xué)習(xí)所取得的效果更優(yōu),其已成功應(yīng)用在計算機視覺、語音識別、自然語言處理等各個領(lǐng)域,因此受到了各個領(lǐng)域的廣泛關(guān)注。Li等人[2]從不同的EEG通道中提取功率譜密度(PSD)并將其映射到二維平面,構(gòu)建了EEG多維特征圖像(EEG MFI),并結(jié)合CNN和LSTM進行腦電情感識別。Tripathi等人[3]使用CNN在開源DEAP數(shù)據(jù)集[4]效價以及喚醒度上進行情感識別,平均準確率分別為81.406%和73.36%。Chen等人[5]利用經(jīng)驗?zāi)B(tài)分解(EMD)和近似熵進行腦電特征提取,使用DBN和SVM的集成進行情感分類。Salama等人[6]從多通道EEG信號中提取3D數(shù)據(jù)并作為3D-CNN模型的數(shù)據(jù)輸入,在DEAP數(shù)據(jù)集效價和喚醒度兩個維度上準確率分別是87.44%和88.49%。Song等人[7]提出了一種基于新型動態(tài)圖卷積神經(jīng)網(wǎng)絡(luò)(DGCNN)的多通道腦電信號情感識別方法,平均準確率達到90.4%。Yang等人[8]在不同頻段上提取微分熵,使用三維輸入的卷積神經(jīng)網(wǎng)絡(luò)對DEAP數(shù)據(jù)集在效價和喚醒度上進行情感分類,平均準確率分別達到了89.45%和90.24%。陳景霞等人[9]提取了腦電信號的時域、頻域以及其組合特征,采用卷積神經(jīng)網(wǎng)絡(luò)對DEAP數(shù)據(jù)集在效價和喚醒度上進行情感分類。目前,只存在較少的文獻是采用組合特征作為分類器的輸入數(shù)據(jù)進行情感識別,另外這些文獻很少在采用組合特征的同時考慮電極之間的空間信息。
本文使用DEAP數(shù)據(jù)集,將單熵(近似熵、排列熵和奇異值分解熵)以及不同組合熵作為特征輸入到三維輸入的卷積神經(jīng)網(wǎng)絡(luò)進行情感識別。三維輸入既可以保留電極之間的空間信息,同時又可以整合腦電提取的多種特征值。實驗結(jié)果表明,與單熵作為特征相比,組合熵特征可以有效提高情感識別準確率。同時,利用EEG電極分布的空間信息比未利用空間信息時所取得的分類準確率有顯著提高。
Pincus[10]將近似熵定義為相似向量從m維增加到m+1維時保持其相似性的條件概率。近似熵是一種非線性動力學(xué)參數(shù),用于量化時間序列波動的規(guī)律性和不可預(yù)測性,表示時間序列的復(fù)雜性。因此,可以使用近似熵算法進行腦電信號特征提取,通過近似熵來反映腦電信號的復(fù)雜程度。在本文實驗中,使用腦電信號求近似熵的算法步驟如下所示:
(1)設(shè)信號長度為N的一維腦電時間序列{u(i),i=1,2,…,N},按照以下式子:
重新構(gòu)造m維向量x(i)。其中參數(shù)m為比較窗口長度。
(2)依照下列給出公式,計算向量x(i)與向量x(j)之間的距離為:
(3)給定域值r,統(tǒng)計d[x(i),x(j)]≤r的數(shù)目,并求出該數(shù)目與距離總數(shù)(N-m+1)的比值,記作Cm i(r):
(5)參數(shù)m加1,重復(fù)(1)至(4)的步驟,可以求出
(6)再根據(jù)Φm(r)和Φm+1(r)可求得近似熵為:
(7)對于腦電信號,ApEn(m,r,N)可通過統(tǒng)計值估計得到:
本文實驗將腦電信號平均分割為1 s的長度,其中信號的頻率為128 Hz,即時間序列長度N為128。相似容限邊界r設(shè)置為0.2,比較窗口長度m為2。經(jīng)過上述步驟計算,可以得到長度為1 s的腦電信號對應(yīng)的近似熵。該數(shù)值可以反映時間序列中新信息發(fā)生的可能性,越復(fù)雜的腦電信號對應(yīng)的近似熵越大。
Bandt等人[11]提出了一種衡量一維時間序列復(fù)雜度的平均熵參數(shù),稱為排列熵,它和近似熵、樣本熵[12]以及模糊熵[13]一樣,都可以表示時間序列的復(fù)雜性。排列熵有計算簡單以及較強的抗噪能力等優(yōu)點。因此,同樣可以通過排列熵來反映腦電信號的復(fù)雜程度。使用排列熵算法進行腦電信號特征提取的步驟如下:
(1)取給定長度為N的一維腦電時間序列u(1),u(2),…,u(N)。
(2)將原序列進行重構(gòu),用X(i)表示每個子序列,其中X(i)=u(i),u(i+L),…,u(i+(m-1)L),m表示嵌入維數(shù),L表示延遲時間。
(3)接著對每個X(i)內(nèi)部進行遞增排序,即u[i+(j1-1)L]≤u[i+(j2-1)L]≤…≤u[i+(jm-1)L],如果兩個值相等,就按照ji的下標i進行排序。因此,X(i)被映射到(j1,j2,…,jm),這是m!個排列中的一種,并且每個m維的子序列都被映射到m!種排列中的其中之一。
(4)經(jīng)過上述步驟,將m維相空間映射到不同的符號序列(j1,j2,…,jm),總共有m!。
(5)計算每一種符號序列出現(xiàn)的概率分別為P1,P2,…,Pk,其中K≤m!,按照Shannon熵的形式,時間序列X(i)的k種不同符號序列的排列熵根據(jù)下式計算可得:
本文實驗中,m的值設(shè)置為3,L為1,N為128。Hp值的大小表示時間序列X(i)的隨機程度。排列熵越小,說明腦電信號越規(guī)則;越復(fù)雜的腦電信號,它對應(yīng)的排列熵越大。排列熵的變化反映并放大了腦電信號的微小細節(jié)變化。
奇異值分解(SVD)已廣泛用于許多領(lǐng)域,例如降噪[14]和信號檢測[15]等。在本文實驗中,使用奇異值分解熵算法進行腦電信號特征提取。對于腦電時間序列x1,x2,…,xN,n維相空間可以通過窗口長度為m的滑動窗口均值進行重構(gòu)。相關(guān)步驟如下所示:
(1)從x1,x2,…,xN中提取x1,x2,…,xn并將其作為n維相空間的向量1。接著從x1,x2,…,xN中提取x2,x3,…,xn+1并將其作為向量2。因此,可以獲得一組行向量,利用這些向量,構(gòu)造出一個m×n矩陣:
(2)根據(jù)SVD定理,將矩陣A分解為:
其中,U是一個m×k的矩陣,V是一個n×k的矩陣,并且滿足UTU=I,VTV=I。定義對角矩陣S=diag(λ1,λ2,…,λk),其中k=min(m,n)。
矩陣S的對角元素λ1,λ2,…,λk被稱為矩陣A的奇異值。這些奇異值是非負值并按照降序排列:λ1≥λ2≥…≥λk≥0。矩陣U包含了A的左奇異向量,矩陣V包含了右奇異向量。λ1與信號能量成正比,信號能量越高,奇異值λ1越大。
(3)將奇異值進行歸一化:
SvdEn表示奇異值偏離均勻分布的情況。在本文實驗中,N為128,m的值設(shè)置為3,L為1。
2.1.1 實驗環(huán)境
本文實驗使用的硬件設(shè)備是Intel?Core?i7-8750H CPU以及NVIDIA GeForce GTX 1060 GPU。實驗軟件采用的是Python 3.6,同時使用了Google開源深度學(xué)習(xí)系統(tǒng)TensorFlow搭建神經(jīng)網(wǎng)絡(luò)。
2.1.2 實驗數(shù)據(jù)
本文實驗使用的數(shù)據(jù)是由倫敦瑪麗皇后大學(xué)的研究團隊開發(fā)的開源數(shù)據(jù)集DEAP。數(shù)據(jù)采集實驗中,記錄每個被試者在觀看40個帶有不同情感傾向的音樂視頻時的腦電及其他生理信號。被試者觀看1 min的音樂視頻后,根據(jù)自我測評量表從愉悅度、喚醒度、控制度、喜歡程度以及熟悉度五個方面進行評價。實驗記錄的63 s的腦電信號是樣本數(shù)據(jù),被試者對上述五個評價維度的打分為樣本數(shù)據(jù)對應(yīng)的標簽。數(shù)據(jù)集包含32通道的腦電信號和8通道的其他生理信號。
在數(shù)據(jù)預(yù)處理中,數(shù)據(jù)下采樣至128 Hz并去除了眼電偽跡,同時應(yīng)用了4.0~45.0 Hz的帶通頻率濾波器進行濾波。實驗記錄的EEG信號時長為63 s,其中前面3 s是基線數(shù)據(jù)。在本文實驗中,只采用了經(jīng)過預(yù)處理的32通道的腦電信號作為樣本數(shù)據(jù),并只取該數(shù)據(jù)集中的兩個維度:效價(valence)和喚醒度(arousal),分別在這兩個維度標簽上進行二分類。以5作為閾值將效價和喚醒度上的評價值劃分為兩類,其中大于5的標記為1,小于或等于5的標記為0。
2.1.3 實驗預(yù)處理
在本次實驗中,為了增加實驗的樣本數(shù),對實驗數(shù)據(jù)進行分割,把63 s的腦電信號平分為63段1 s的信號。在本文中,選用了近似熵、排列熵以及奇異值分解熵分別對腦電信號進行特征提取。首先,計算前3 s的腦電信號特征平均值。然后計算后60 s腦電信號每秒的信號特征值,接著用后60 s腦電信號特征值分別減去前3 s的腦電信號特征平均值,最后得到減去基線信號后的一維特征向量ν32。
DEAP數(shù)據(jù)集獲取腦電信號的電極分布是按照標準的國際10-20系統(tǒng)。圖1左邊是國際10-20系統(tǒng)的平面圖,這里使用紫色來標記在DEAP數(shù)據(jù)集中使用了的電極。從左邊的EEG電極圖中,可以看到每個電極都鄰近多個電極,這些電極在大腦的特定區(qū)域記錄EEG信號。為了保留多個相鄰?fù)ǖ乐g的空間信息,根據(jù)電極分布圖將一維特征向量以圖1所示的方式構(gòu)造二維特征矩陣(h×w)。其中,矩陣的h和w分別是電極在垂直方向和水平方向上的最大數(shù)。對于DEAP數(shù)據(jù)集,h和w的值都為9。此外,DEAP數(shù)據(jù)集中未使用的通道用零填充。
圖1 構(gòu)造二維矩陣
在本文實驗中,每一段EEG信號分別提取了三種不同的腦電信號特征值,按照圖1所示的方法將得到的一維向量轉(zhuǎn)化為二維矩陣,得到三個二維矩陣。接著將這三個二維矩陣疊加為一個三維的矩陣,作為CNN的輸入。具體轉(zhuǎn)化過程如圖2所示。
2.1.4 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)是一種深度前饋神經(jīng)網(wǎng)絡(luò),其已廣泛應(yīng)用于圖像識別等各個領(lǐng)域。CNN具有較好容錯性、自學(xué)習(xí)能力強等優(yōu)點,同時具有自動提取特征、權(quán)值共享等優(yōu)勢。目前卷積神經(jīng)網(wǎng)絡(luò)模型參數(shù)設(shè)置只能通過人工多次實驗選擇確定,定義參數(shù)的搜索空間為:卷積層數(shù)為2~5個,卷積層特征圖個數(shù)為16~512個,全連接層數(shù)為1~2個。通過多次實驗,最終構(gòu)建的卷積神經(jīng)網(wǎng)絡(luò)模型確定為由四個卷積層、一個全連接層以及一個softmax層構(gòu)成。其中,CNN網(wǎng)絡(luò)的輸入是由三個不同特征提取方法分別得到的二維特征矩陣構(gòu)成的三維特征矩陣。池化層的主要功能是降低數(shù)據(jù)維數(shù),但其代價是損失一些信息。由于本文網(wǎng)絡(luò)輸入的數(shù)據(jù)量不大,為了盡量保留有用的信息,在本文的CNN網(wǎng)絡(luò)中沒有加入池化層。具體的CNN網(wǎng)絡(luò)模型結(jié)構(gòu)如圖3所示。其中,第一個卷積層有32個特征圖,后面的卷積層特征圖是前面卷積層的兩倍,分別為64、128和256。卷積核大小為4×4,步長為1。在卷積運算后,加入SELU激活函數(shù),使模型具有非線性特征變換能力。接著連接一個全連接層,將256個9×9特征圖映射到特征向量f∈R1024。網(wǎng)絡(luò)最后是一個softmax分類器,輸出情感識別的預(yù)測值。本文使用截斷正態(tài)分布函數(shù)來初始化權(quán)重,并使用Adam優(yōu)化器來最小化交叉熵損失函數(shù)。初始學(xué)習(xí)率設(shè)置為0.000 1。采用Dropout以50%的概率輸出避免過擬合。此外,使用了L2正則化以避免過擬合并提高泛化能力,正則化項的權(quán)重設(shè)置為0.5。
圖2 腦電信號特征提取和轉(zhuǎn)化過程
圖3 CNN網(wǎng)絡(luò)模型結(jié)構(gòu)
本文實驗使用的實驗數(shù)據(jù)是DEAP數(shù)據(jù)集中32個被試40次實驗所采集的腦電信號以及對應(yīng)的標簽。在實驗預(yù)處理時以1 s的時間間隔將每次實驗的腦電信號分為了63段,其中前面3 s的是基線信號,再根據(jù)上述的方式進行特征提取。本文實驗在劃分數(shù)據(jù)集之前先對被試的所有樣本數(shù)據(jù)進行隨機打亂操作。對每個被試的數(shù)據(jù)進行10重交叉驗證,并計算平均值作為被試的最終結(jié)果。本文實驗的輸入特征共有7種,包括單熵特征和組合熵特征,分別為ApEn、PeEn、SvdEn、Multiplefeatures1(ApEn和PeEn組合)、Multiple-features2(ApEn和SvdEn組合)、Multiple-features3(PeEn和SvdEn組合)、Multiple-features4(ApEn、PeEn和SvdEn組合)。其中,經(jīng)多次的對比實驗分析,熵組合的排列順序?qū)ψR別準確率影響不大。參照上文實驗預(yù)處理的方式步驟構(gòu)造三維特征矩陣,其中ApEn、PeEn和SvdEn為9×9×1的特征矩陣,Multiple-features1、Multiple-features2以及Multiple-features3為9×9×2的特征矩陣,Multiplefeatures4是9×9×3的特征矩陣。將以上7種特征矩陣分別輸入圖3所示的卷積神經(jīng)網(wǎng)絡(luò)中進行實驗,即在每個維度上共進行7組實驗。此外,本文還根據(jù)常規(guī)的熵組合方式進行了對比實驗。該實驗在構(gòu)造輸入特征時并沒有考慮EEG電極空間信息,即輸入特征沒有根據(jù)EEG電極分布圖將一維特征向量轉(zhuǎn)化為二維特征矩陣。將7種無空間信息的特征分別輸入到與圖3相同網(wǎng)絡(luò)結(jié)構(gòu)的一維卷積神經(jīng)網(wǎng)絡(luò)進行實驗,實驗設(shè)置與本文提出的神經(jīng)網(wǎng)絡(luò)設(shè)置相應(yīng)一致。
2.2.1 不同特征提取方法的結(jié)果對比
為了驗證單熵特征、組合熵特征以及空間信息對情緒識別的影響,本文實驗分別對包含了空間信息和未包含空間信息的單熵特征以及不同組合熵特征在效價和喚醒度上進行實驗。結(jié)果分別顯示在圖4和圖5中。其中,圖中的藍色柱狀圖表示沒有利用空間信息的一維卷積神經(jīng)網(wǎng)絡(luò)的實驗結(jié)果,紅色柱狀圖表示本文提出的神經(jīng)網(wǎng)絡(luò)的實驗結(jié)果。
圖4 效價維度上不同特征的情感識別平均準確率
圖5 喚醒度維度上不同特征的情感識別平均準確率
從圖4和圖5中可以看到,三種單熵特征進行比較,使用近似熵作為特征比排列熵和奇異值分解熵分類準確率更高。近似熵在一維卷積神經(jīng)網(wǎng)絡(luò)上效價和喚醒度的平均準確率分別為76.68%和78.18%,近似熵在本文提出的網(wǎng)絡(luò)上效價和喚醒度的平均準確率分別為89.09%和89.95%。全部特征進行比較,組合熵特征比單熵特征分類準確率都有所提高。其中使用Multiplefeatures4作為輸入特征時平均準確率最高,在一維卷積神經(jīng)網(wǎng)絡(luò)上效價和喚醒度的平均準確率分別為86.97%和87.47%,比單熵的最高平均準確率分別提高10.29個百分點和9.29個百分點。在本文提出的網(wǎng)絡(luò)上效價和喚醒度的平均準確率分別為94.14%和94.44%,比單熵的最高平均準確率分別提高5.05個百分點和4.49個百分點。實驗結(jié)果表明,使用組合熵作為特征輸入時能顯著提高情感識別準確率。此外,對利用了空間信息的實驗結(jié)果與沒有利用空間信息的同一類型熵特征實驗結(jié)果進行比較,在效價和喚醒度兩個維度上,利用了空間信息的所有熵特征都比沒有利用空間信息的熵特征作為輸入時取得的情感分類準確率高。其中使用Multiplefeatures4作為輸入特征時,在效價和喚醒度兩個維度上的分類準確率分別提高了7.17個百分點和6.97個百分點。在實驗結(jié)果表明,利用EEG電極分布的空間信息能有效提高情感識別準確率。
為了進一步分析本文提出的神經(jīng)網(wǎng)絡(luò)的實驗結(jié)果,圖6、圖7分別顯示了在效價和喚醒度維度上32個被試在不同特征上的情感識別準確率。從圖中可以看到,使用單熵作為輸入特征時,情感識別準確率在不同被試上的差異較大,總體的準確率也相對較低。而使用Multiplefeatures4作為輸入特征時,情感識別準確率在不同被試上的差異較小,準確率基本維持在94%左右。單個被試在效價和喚醒度兩個維度上的最高分類準確率分別為98.17%和98.52%。與使用單熵作為輸入特征進行比較,使用組合熵特征Multiple-features4作為輸入特征時,除了被試11在喚醒度維度上的分類準確率略有下降外,其他被試在兩個維度上的分類準確率都有所提高。被試11在喚醒度維度上出現(xiàn)分類準確率下降的原因是由于采用ApEn作為輸入時已達到很高的分類準確率,所以采用組合熵時會比較難提升分類準確率而維持差不多的分類準確率,另外由于實驗每次的訓(xùn)練和測試數(shù)據(jù)是隨機選取的,實驗結(jié)果會在一定的范圍內(nèi)波動,所以會存在分類準確率略有下降的可能。實驗結(jié)果表明,在提取腦電特征時,不同熵進行組合可以相互補充,有效提高情感識別準確率。
2.2.2 相關(guān)方法的結(jié)果對比
本文還將實驗結(jié)果與其他方法所得的實驗結(jié)果進行比較。Samarth等人使用深度神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)分別對EEG信號進行情感分類。Yin等人[17]提出了一種基于多融合層的堆疊式自動編碼器集成分類器識別情緒狀態(tài)。Elham等人使用三維卷積神經(jīng)網(wǎng)絡(luò)針對多通道腦電圖數(shù)據(jù)進行情緒識別。Yang等人在不同頻段上提取微分熵,使用三維輸入的卷積神經(jīng)網(wǎng)絡(luò)進行情感分類。分類準確率如表1所示,本文所提出的使用三種熵組合特征作為輸入的卷積神經(jīng)網(wǎng)絡(luò)在效價和喚醒度兩個維度上的平均準確率都超過了這四種方法。
表1 與其他方法對比結(jié)果%
圖6 效價維度上32個被試在不同特征上的情感識別準確率
圖7 喚醒度維度上32個被試在不同特征上的情感識別準確率
本文使用DEAP數(shù)據(jù)集中32個腦電通道信號進行實驗,首先將每次實驗的63 s腦電信號以1 s長度進行分割,分別計算出每秒的熵值。其中前3 s的腦電信號為基準信號,基準信號的熵值取這3 s熵值的平均值。接著用后60 s腦電信號的熵值減去基準信號熵值得到除去基準信號后的一維特征向量ν32。按照圖1所示的方法將一維向量轉(zhuǎn)化為二維矩陣。在本文實驗中,對近似熵、排列熵和奇異值分解熵進行實驗分析,即每一段EEG信號分別提取了三種不同的腦電信號特征值,得到三個二維矩陣。將這三個二維矩陣以及其不同的組合作為特征分別輸入到卷積神經(jīng)網(wǎng)絡(luò)進行效價和喚醒度兩個維度上的情感識別。
實驗結(jié)果表明,與單熵特征相比,組合熵特征能有效提高分類準確率。此外,利用EEG電極分布的空間信息也能有效提高情感識別準確率。使用三維輸入的卷積神經(jīng)網(wǎng)絡(luò)結(jié)合組合熵特征能保留電極之間的空間信息,同時可以充分提取腦電信號特征。與其他相關(guān)方法相比,該方法在效價和喚醒度兩個維度上分類準確率顯著提高,其平均分類準確率分別為94.14%和94.44%。
在腦電信號的研究中,通常把信號分為Delta、Theta、Alpha、Beta、Gamma五個頻段再進行特征值計算。而在本文中,直接在整個頻域上計算特征值。在今后的研究中將考慮分頻段提取特征,并對腦電信號提取時序特征、頻域特征、統(tǒng)計學(xué)特征等不同類型的特征及其組合進行進一步研究。另外,本實驗只使用了數(shù)據(jù)集中的腦電信號,沒有利用其他的生理信號,如何充分利用其他生理信號結(jié)合腦電信號來提高情感分類準確率也將是未來的研究工作之一。