黃永慶周 強
(陜西科技大學電氣與控制工程學院,陜西 西安710021)
情緒(emotion,EM)是一個心理到生理的過程,是人體在受到一定刺激之后自身產(chǎn)生的一種生理反應(yīng),同時也是一種信息的傳遞。情緒分析已成為人工智能領(lǐng)域一個研究熱門,在公共安全、交通安全、醫(yī)療看護以及人機交互等方面有著廣泛的應(yīng)用前景[1]。人體的情緒狀態(tài)可通過面部表情、肢體動作等非生理指標以及血壓、腦電等生理指標來辨識。由于非生理指標具有主觀性,且可通過訓練瞞過他人,另外自閉癥、肢體機能喪失等人群無法自主表達情緒,所以通過非生理指標判斷情緒狀態(tài)具有一定的局限性。而通過生理指標判斷情緒狀態(tài)具有更高的可靠性和更強的表征性[2],其中腦電信號(Electroencephalogram,EEG)包含信息豐富、采集便捷,作為情緒生理指標判別依據(jù)受到越來越多研究者的歡迎。
基于EEG辨別情緒的方法主要分為傳統(tǒng)機器學習和深度學習兩類。傳統(tǒng)機器學習是情緒辨別前期研究的主要方法,文獻[3]提取EEG的功率譜密度作為特征,選用SVM為分類器,對快樂、生氣、悲傷、欣喜四種情緒狀態(tài)進行分類,準確率達到82.29%;文獻[4]提取頻譜特征,使用KNN分類器,對積極、消極、中性三種情緒分類得到82%的準確率。由于傳統(tǒng)機器學習的效果依賴于人工設(shè)計的特征量質(zhì)量,而EEG是一種具有強非線性的非平穩(wěn)隨機信號,隱藏于EEG中的特征量通常難以挖掘,這使得基于傳統(tǒng)機器學習的情緒辨識方法精度難以進一步提升。深度學習方法具有自動生成由網(wǎng)絡(luò)淺層到深層、由具體到抽象的多層結(jié)構(gòu)特征,從而有效地避免了繁瑣的人工提取特征工作,使得越來越多的情緒辨識研究者將目光從傳統(tǒng)機器學習聚焦到深度學習上。2017年,華南理工大學的Rui等人使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的方法對DEAP數(shù)據(jù)集中的EEG進行了情感識別,達到了87.27%的平均識別精度[5]。2019年,德國博爾斯特-萊布尼茨研究中心的Fadi等人使用CNN的方法分別對DEAP數(shù)據(jù)集和MAHNOB數(shù)據(jù)集進行情感識別,分別達到了82%和78%的識別精度[6]。然而,大多數(shù)情緒辨別的研究尚集中在單一CNN網(wǎng)絡(luò)模型上,雖然CNN網(wǎng)絡(luò)具有較強的頻域、空域特征提取能力,但其時域特征的分析能力相對薄弱,而EEG這類時間序列信號中隱含著一定量的時域信息,單一的CNN網(wǎng)絡(luò)結(jié)構(gòu)難免會遺漏部分EEG的時域信息,這使得基于CNN網(wǎng)絡(luò)的情緒EEG辨識方法辨識精度尚有較大提升空間。而循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)中的門控循環(huán)單元(Gated Recurrent Unit,GRU)恰好與CNN的功能互補,雖然無法表達頻域和空域信息,卻善于處理時域信息。
因此本文提出“卷積神經(jīng)網(wǎng)絡(luò)+門控循環(huán)單元”融合模型,在時域、頻域和空域廣闊的特征空間上進行情緒腦電信號(EM-EEG)辨識。并在公開SEED IV情緒數(shù)據(jù)集[7]上展現(xiàn)了優(yōu)異的辨識能力,相比使用單一CNN網(wǎng)絡(luò)辨識情緒準確率提高了3%。最后,本文構(gòu)建了情緒數(shù)據(jù)采集平臺并設(shè)計情緒誘導實驗以生成情緒數(shù)據(jù)集,并在自采集的四分類情緒數(shù)據(jù)上驗證了本方法的泛化能力和魯棒性。
1.1.1 EM-EEG現(xiàn)有情緒辨識方法辨識率較低
EEG是一種淹沒在噪聲中、具有模型非線性和強非平穩(wěn)隨機性的微弱信號[8],使得傳統(tǒng)機器學習方法捕捉其中的情緒特征進而實現(xiàn)情緒精確辨識難度巨大;由于EM-EEG的特征分布在頻域、時域和空域等特征空間上,當前單一結(jié)構(gòu)的深度學習網(wǎng)絡(luò)難以實現(xiàn)多特征空間的分類,因而情緒辨識率的精度仍不理想。雖然EM-EEG的情緒二分類和三分類辨識精度最高可以達到90%,但是在四分類及以上的情緒分類上準確率還普遍較低。
1.1.2 EM-EEG現(xiàn)有方法的泛化能力和魯棒性差
目前,廣泛使用的基于各類CNN模型的EMEEG分類辨識方法,通常是針對某一數(shù)據(jù)庫進行網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計,并在該數(shù)據(jù)庫上進行網(wǎng)絡(luò)學習的,獲得的網(wǎng)絡(luò)模型在該網(wǎng)絡(luò)上表現(xiàn)出良好的情緒分類效果。但由于不同數(shù)據(jù)庫間樣本的分布規(guī)律不盡相同,該網(wǎng)絡(luò)模型在其他數(shù)據(jù)庫上的情緒預測精度大大下降,網(wǎng)絡(luò)泛化能力較差。此外,由于訓練樣本數(shù)據(jù)庫和待測數(shù)據(jù)庫中噪聲類型和幅度差異,網(wǎng)絡(luò)模型的性能下降顯著,魯棒性較差。
對于1.1中存在的難點問題,本文提出卷積神經(jīng)網(wǎng)絡(luò)和門控循環(huán)單元相結(jié)合的CNN-GRU融合網(wǎng)絡(luò)。利用CNN良好的空間擴展性能,其神經(jīng)元與特征卷積運算能夠有效提取頻域和空域上的信息;而GRU通過時間拓展,神經(jīng)元與多個時間輸出計算,可用于描述時間上連續(xù)狀態(tài)的輸出,并有記憶功能。因此將CNN與GRU結(jié)合可以同時得到頻域、空域和時域的信息特征,提取到的EM-EEG特征信息更全面,故本文使用CNN-GRU融合網(wǎng)絡(luò)對EM-EEG進行分類和辨別,該方法的原理如圖1所示。
圖1 基于CNN-GRU融合網(wǎng)絡(luò)的EM-EEG辨別方法原理圖
本文方法的研究流程如圖2所示。首先利用本文提出的CNN-GRU融合網(wǎng)絡(luò)模型在公開數(shù)據(jù)集SEED IV上進行訓練和測試,實現(xiàn)對四類情緒的辨識,之后設(shè)計情感誘發(fā)實驗生成自采EM-EEG數(shù)據(jù)集,利用CNN-GRU網(wǎng)絡(luò)模型在自采EM-EEG數(shù)據(jù)集上進行實驗,驗證網(wǎng)絡(luò)的泛化能力,最后以自采EM-EEG數(shù)據(jù)集作為測試集,對在SEED IV公開數(shù)據(jù)集訓練的CNN-GRU網(wǎng)絡(luò)模型進行測試,驗證網(wǎng)絡(luò)的魯棒性。
圖2 本文方法的研究流程
本文方法中CNN-GRU融合網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。該融合網(wǎng)絡(luò)由一個CNN網(wǎng)絡(luò)和一個GRU網(wǎng)絡(luò)串接構(gòu)成,其中CNN由三層卷積、三層池化和一層全連接組成,兩層結(jié)構(gòu)的GRU網(wǎng)絡(luò)連接在CNN網(wǎng)絡(luò)全連接層之后。融合網(wǎng)絡(luò)既保留了CNN網(wǎng)絡(luò)的頻域和空域處理能力,又增加了GRU網(wǎng)絡(luò)時序上的解釋性。
圖3 CNN-GRU融合網(wǎng)絡(luò)結(jié)構(gòu)圖
本文利用CNN-GRU融合網(wǎng)絡(luò)實現(xiàn)EM-EEG辨識的過程如圖4所示。
圖4 EM-EEG辨識流程圖
預處理:由于EEG幅值一般只有50 μV左右,采集時很容易受到干擾產(chǎn)生偽跡,干擾一般來源于空間電磁干擾、腦電采集設(shè)備工作時自身影響以及實驗人員心電、眼電等三方面[9]。因此為了避免外界干擾和保證EEG的相對純凈,在實驗過程中需要先對其進行預處理,去除偽跡。通過采集得到的EEG數(shù)據(jù)上包含各個采集通道信息和不同時刻對應(yīng)的EEG數(shù)值,將其預處理之后作為融合網(wǎng)絡(luò)的輸入數(shù)據(jù)。
網(wǎng)絡(luò)初始化:由于各個通道的差異性導致采集數(shù)據(jù)的數(shù)值大小差異巨大,為提高訓練的準確性,將樣本數(shù)據(jù)進行歸一化處理,之后按照比例6∶2∶2分為訓練集、驗證集和測試集,樣本標簽使用one-hot編碼轉(zhuǎn)換為二進制(0和1)表示。網(wǎng)絡(luò)每層具體參數(shù)如表1所示,三層卷積核大小均為3,步長均為1,使用線性整流Relu激活函數(shù),以防止梯度消失,增加網(wǎng)絡(luò)的非線性,使網(wǎng)絡(luò)訓練更快;池化層使用MaxPooling最大池化層,核大小均為2,Maxpooling具有平移不變性的特點,在保留主要特征的同時可以減少參數(shù)進行降維,防止過擬合;GRU層的激活函數(shù)使用雙曲正切函數(shù)Tanh,輸出映射在[-1,1]之間,輸出范圍有限,優(yōu)化穩(wěn)定。
表1 CNN網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)設(shè)置
CNN頻域特征提取:對輸入矩陣數(shù)據(jù)進行卷積運算,也就是通過一定權(quán)重的卷積核對矩陣進行內(nèi)積運算,內(nèi)積之后的輸出就是頻域特征之一,由于卷積核的數(shù)目眾多,所以卷積之后會提取到各種不同的頻域特征。在卷積過程中利用了圖片空間上的局部相關(guān)性,使得對輸入數(shù)據(jù)特征的自動提取。每層卷積之后會使用MaxPooling來減少參數(shù)量,加快計算過程。
GRU時域特征提取:經(jīng)過多次的卷積和池化提取到更細致頻域空域特征之后,將其作為GRU網(wǎng)絡(luò)的輸入數(shù)據(jù),其中GRU的更新門輸出接近0說明上一層隱藏狀態(tài)的某個信息在該隱藏層被遺忘,接近1則說明該隱藏層繼續(xù)保留。GRU的重置門接近0時,說明上一時刻某個信息在當前記憶內(nèi)容中被遺忘,接近1則說明在當前記憶內(nèi)容中繼續(xù)保留。之后將兩部分信息相加經(jīng)過tanh激活函數(shù),將結(jié)果歸一化到[-1,1]之間。所以該時刻的記憶內(nèi)容由兩部分組成,一部分是重置門存儲過去相關(guān)重要信息,另一部分是加上當前時刻輸入的重要信息,這兩部分組成了當前時刻的所有記憶內(nèi)容,對時域特征進行提取。
情緒辨識:含有頻域和空間特征的EEG經(jīng)過2層GRU單元提取時域信息之后,使用Softmax激活函數(shù)輸出情緒狀態(tài),將輸出的情緒狀態(tài)與標簽對比,再進行反向計算,如此反復多次之后輸出辨別的情緒狀態(tài)。
3.1.1 具有自采集EM-EEG功能的平臺
硬件平臺:使用Intel(R)Core(TM)i9-9900k 3.36GHz處理器、32GB運行內(nèi)存、GPU采用NVIDIA RTX 2080Ti。
軟件平臺:使用Python3.7編程語言和Keras深度學習框架。
自采EEG實驗平臺:腦電采集設(shè)備采用EMOTIV公司的EPOC FLEX Gel Sensor Kit 34導聯(lián)(包含2個參考電極)腦電儀,采樣頻率為128Hz,腦電軟件為EMOTIV PRO。
3.1.2 公開數(shù)據(jù)集+自采集情感數(shù)據(jù)集
①SEED IV數(shù)據(jù)集
SEED IV數(shù)據(jù)集使用不同電影片段作為四種情緒(平和、悲傷、恐懼、高興)的素材庫,共有15名參與者,為每位參與者在不同的時間設(shè)計了三個不同的會話,每個會話包含4個實驗(每種情緒6個實驗)。
②自采數(shù)據(jù)集
本文自行設(shè)計情緒誘導實驗以建立EM-EEG數(shù)據(jù)庫,實驗過程如圖5所示。
圖5 EM-EEG誘導實驗
刺激源:本文選用與SEED IV第一次會話數(shù)據(jù)集相同的四種情緒視頻片段,其視頻組成如表2所示(0:平和,1:悲傷,2:恐懼,3:高興),在進行錄制之前參與人員被告知實驗內(nèi)容,正式采集之前會播放一段空白畫面,讓參與者處于一個平靜的狀態(tài)下。實驗采集過程如圖6所示。
圖6 實驗錄制過程
表2 情緒實驗所用電影片段來源
錄制設(shè)備:實驗設(shè)備采用EPOC FLEX Gel Sensor Kit腦電儀,該設(shè)備優(yōu)點在于使用者佩戴舒適。實驗軟件為EMOTIV PRO,可實時查看和記錄佩戴者的腦電數(shù)據(jù),以及每個通道的連接質(zhì)量,如圖7所示。
圖7 通道連接質(zhì)量示意圖
參與者:本次實驗我們邀請了12名(6名男性,6名女性)與本研究無關(guān)人員,均為在校學生。所有實驗人員均通過了艾森克人格問卷[10],能夠產(chǎn)生穩(wěn)定情緒,身心健康,右利手,聽力和視力均正常。
錄制過程:實驗開始之前邀請參與人員佩戴腦電帽,并涂抹導電膏,確保每個通道連接質(zhì)量完好。提前告知在采集過程中盡量避免不必要的肢體動作和移動,并在旁邊使用第三視角攝像頭錄制參與人員面部表情變化。錄制規(guī)則如圖5中所示,每個電影剪輯都有5 s的開始提示,之后觀看視頻2 min,最后有一個45 s的自我評估,記錄參與者的感受,作為后期參考。所有試驗采集均在低噪聲環(huán)境進行,盡可能避免環(huán)境噪聲和電磁的干擾。
數(shù)據(jù)篩選:由于包含一些與情緒無關(guān)聯(lián)的EEG,所采集到的EM-EEG數(shù)據(jù)可能無法直接使用。例如,對于連接質(zhì)量相對較差的時間段在數(shù)據(jù)提取時應(yīng)將其去除,減少錯誤數(shù)據(jù)。根據(jù)第三視角分析參與者的面部表情變化,與情緒素材主體差異較大的部分給予去除。
3.2.1 EM-EEG偽跡去除
EEG主要由δ、θ、α、β、γ五種節(jié)律波組成,對于不同狀態(tài)下每種節(jié)律波的比重也是不同的[11],具體劃分如表3所示。此外在EM-EEG數(shù)據(jù)使用CNNGRU融合網(wǎng)絡(luò)進行分類辨識之前,對EEG數(shù)據(jù)進行去噪,本文選用具有“數(shù)學顯微鏡”之稱的小波變換去除偽跡。消噪過程中使用Wden小波函數(shù),采用heursure軟閾值,選用db4小波進行6層分解,之后對其進行小波逆變換重構(gòu)信號,得到去除高頻噪聲之后的EEG,圖8從上到下依次為原始EEG、db4小波去噪后的EEG和db4小波分解得到的原始EEG中的噪聲信號。
表3 腦電頻率劃分
圖8 原始EEG、小波去噪后EEG和噪聲信號
對去噪后EEG數(shù)據(jù)使用Python中Numpy庫進行批量化處理,得到矩陣大小為(151 840,62,200)的數(shù)據(jù),其中151 840表示四種情緒辨別樣本個數(shù),62表示腦電采集的通道數(shù),200表示腦電裝置采集頻率,將每秒200個腦電數(shù)據(jù)作為一個樣本,標簽與樣本一一對應(yīng)。
3.2.2 CNN-GRU融合網(wǎng)絡(luò)超參數(shù)設(shè)置
本文采用網(wǎng)格搜索法對CNN網(wǎng)絡(luò)模型超參數(shù)進行自動選擇,通過查找搜索提前設(shè)置的部分超參數(shù)值來確定最優(yōu)值,如表4所示。
表4 網(wǎng)格搜索的最優(yōu)超參
其中需要優(yōu)化的超參如表4第一列所示,包含學習率(learning rate)、正則化的權(quán)值系數(shù)λ(regularization rate)、各層丟棄率(dropout rate)、迭代次數(shù)(epochs)和三個卷積層中卷積核的個數(shù)(Conv_deep)。自動調(diào)參算法首先需預設(shè)待優(yōu)化超參的可取值范圍,如表4第二列所示,然后通過網(wǎng)格搜索自動調(diào)參算法,迭代選取最佳超參之后對網(wǎng)絡(luò)進行動態(tài)訓練,經(jīng)驗證集測試之后得出最優(yōu)參數(shù)如表4最后一列所示。
將預處理和分段之后的EEG數(shù)據(jù)作為CNNGRU融合網(wǎng)絡(luò)的輸入,網(wǎng)絡(luò)經(jīng)迭代訓練140次之后,訓練過程的loss曲線如圖9所示,訓練過程準確率變化如圖10所示。從圖中可以看出loss曲線的epochs在100之后趨于不變并保持穩(wěn)定只有0.132 4,accuracy曲線最后穩(wěn)定在89%上下。
圖9 網(wǎng)絡(luò)訓練過程loss曲線
圖10 網(wǎng)絡(luò)訓練過程accuracy曲線
3.3.1 CNN-GRU泛化能力驗證
為了驗證CNN-GRU融合網(wǎng)絡(luò)的泛化能力,按照本文3.1的自采數(shù)據(jù)集方法和步驟,通過視頻誘發(fā)采集了12名受試者平和、悲傷、恐懼、高興四種EM-EEG。對獲得的自采數(shù)據(jù)集經(jīng)過初期數(shù)據(jù)篩選之后,同樣需要經(jīng)過預處理對EEG中的噪聲進行濾除。預處理方法采用本文3.2中的小波變換進行去噪處理。對去噪之后的EM-EEG數(shù)據(jù)使用Python中Numpy庫進行窗口滑動處理,得到(71 484,32,128)大小樣本數(shù)據(jù),將32個通道每秒采集的128個數(shù)據(jù)作為一個樣本,共71 484個樣本數(shù)據(jù),標簽與樣本一一對應(yīng)。
樣本數(shù)據(jù)按照6∶2∶2比例分為訓練集、驗證集和測試集,標簽0、1、2、3經(jīng)過Keras中的to_categorical函數(shù)轉(zhuǎn)換為二進制(0和1)矩陣表示。將樣本數(shù)據(jù)和與之對應(yīng)的標簽作為CNN-GRU融合網(wǎng)絡(luò)的輸入數(shù)據(jù)進行訓練和分類,其中網(wǎng)路結(jié)構(gòu)和層數(shù)不變?nèi)绫疚膱D3所示,參數(shù)根據(jù)每次訓練結(jié)果對其進行適當調(diào)整。CNN-GRU融合網(wǎng)絡(luò)泛化能力驗證流程圖如圖11所示:
圖11 CNN-GRU融合網(wǎng)絡(luò)泛化能力驗證流程圖
3.3.2 CNN-GRU魯棒性驗證
為了驗證CNN-GRU融合網(wǎng)絡(luò)的魯棒性,將自采集的EM-EEG數(shù)據(jù)庫中的71 484個樣本全部作為測試集,預測模型選用本文3.2中CNN-GRU融合網(wǎng)絡(luò)在SEED IV數(shù)據(jù)集上訓練后保存的模型,通過對保存模型進行調(diào)用,輸出與測試集樣本數(shù)量相同的71 484個預測情緒狀態(tài)結(jié)果,與測試集真實標簽比對,得到準確率,以此來分析本文網(wǎng)絡(luò)的魯棒性。CNN-GRU融合網(wǎng)絡(luò)魯棒性驗證流程圖如圖12所示:
圖12 CNN-GRU融合網(wǎng)絡(luò)魯棒性驗證流程圖
CNN-GRU融合網(wǎng)絡(luò)在SEED IV數(shù)據(jù)集上經(jīng)過140次迭代訓練之后平均準確率達到89.2%左右,各種情緒分類混淆矩陣如圖13所示,其中坐標軸0、1、2、3分別代表平和、悲傷、恐懼、高興四種情緒。根據(jù)混淆矩陣可知針對SEED IV數(shù)據(jù)集分類中平和狀態(tài)分類準確率達到95%,恐懼狀態(tài)下分類準確率相對較低,有8%和6%的可能性誤判為悲傷和高興狀態(tài)。
圖13 測試集混淆矩陣
本文使用CNN-GRU融合網(wǎng)絡(luò)對情緒進行分類,與其他研究者對比如表5所示。
表5 本文方法與其他方法實驗對比
為了探究不同節(jié)律波腦電參數(shù)對情緒辨識影響程度,本文使用巴特沃斯帶通濾波器分別提取每個樣本的δ、θ、α、β、γ五種節(jié)律波進行單獨實驗,提取部分結(jié)果如圖14所示。經(jīng)過CNN-GRU融合網(wǎng)絡(luò)訓練和測試,最終得到準確率如表6所示。從實驗結(jié)果可以看出β頻段和γ頻段在情緒分類任務(wù)中具有較好的表現(xiàn),由此可以推斷β頻段和γ頻段在分類任務(wù)中起了重要的作用,同時表明該融合網(wǎng)絡(luò)可以較好的自動提取樣本間細微特征差異從而取得良好的分類效果。
圖14 δ、θ、α、β、γ節(jié)律波部分腦波圖
表6 不同頻帶單獨實驗準確率
在CNN-GRU融合網(wǎng)絡(luò)泛化能力驗證中,將經(jīng)過預處理之后的自采EM-EEG數(shù)據(jù)集作為融合網(wǎng)絡(luò)輸入數(shù)據(jù),最終情緒辨別最優(yōu)準確率為83.76%,其混淆矩陣如圖15所示(0:平和,1:悲傷,2:恐懼,3:高興),證實了該網(wǎng)絡(luò)在新的數(shù)據(jù)集上具有良好的泛化能力。
圖15 CNN-GRU泛化能力驗證結(jié)果混淆矩陣
在CNN-GRU融合網(wǎng)絡(luò)魯棒性驗證中,將自采EM-EEG數(shù)據(jù)作為測試集,調(diào)用訓練SEED IV數(shù)據(jù)集保存的網(wǎng)絡(luò)模型對其進行分類辨別,得到77.41%的分類準確率,輸出混淆矩陣如圖16所示(0:平和,1:悲傷,2:恐懼,3:高興),驗證了該網(wǎng)絡(luò)同時具有較強的魯棒性。
圖16 CNN-GRU魯棒性驗證結(jié)果混淆矩陣
本文針對傳統(tǒng)機器學習特征提取困難和CNN情緒辨別過程丟失時域信息的問題,提出基于CNNGRU融合網(wǎng)絡(luò)的EM-EEG辨別研究。該網(wǎng)絡(luò)結(jié)合了CNN善于提取頻域、空域信息和GRU善于提取時序信息的優(yōu)點,在公開數(shù)據(jù)集SEED IV上獲得了較高分類準確率。并且本文通過設(shè)計主動誘導實驗采集了四種相同情緒下的EEG,使用本文提出的CNN-GRU融合網(wǎng)絡(luò)對自采EM-EEG數(shù)據(jù)集進行訓練和測試,得到了83.76%的準確率,驗證了該網(wǎng)絡(luò)具有較好的泛化能力,并通過進一步實驗,使用SEED IV數(shù)據(jù)集訓練之后得到的網(wǎng)絡(luò)模型,在自采EM-EEG數(shù)據(jù)樣本上測試得到了較好的分類準確率,證明了該網(wǎng)絡(luò)同樣具有較強的魯棒性和抗干擾性。
目前對于在SEED IV上獲得的高辨識率分類模型用于新的數(shù)據(jù)集進行預測時,其得到的準確率還有待進一步提高,針對此問題將在后續(xù)的研究中給予探究和改進。