基于CNN-GRU融合网络的情绪脑电信号辨别研究∗
2021-10-27黄永庆周
黄永庆周 强
(陕西科技大学电气与控制工程学院,陕西 西安710021)
情绪(emotion,EM)是一个心理到生理的过程,是人体在受到一定刺激之后自身产生的一种生理反应,同时也是一种信息的传递。情绪分析已成为人工智能领域一个研究热门,在公共安全、交通安全、医疗看护以及人机交互等方面有着广泛的应用前景[1]。人体的情绪状态可通过面部表情、肢体动作等非生理指标以及血压、脑电等生理指标来辨识。由于非生理指标具有主观性,且可通过训练瞒过他人,另外自闭症、肢体机能丧失等人群无法自主表达情绪,所以通过非生理指标判断情绪状态具有一定的局限性。而通过生理指标判断情绪状态具有更高的可靠性和更强的表征性[2],其中脑电信号(Electroencephalogram,EEG)包含信息丰富、采集便捷,作为情绪生理指标判别依据受到越来越多研究者的欢迎。
基于EEG辨别情绪的方法主要分为传统机器学习和深度学习两类。传统机器学习是情绪辨别前期研究的主要方法,文献[3]提取EEG的功率谱密度作为特征,选用SVM为分类器,对快乐、生气、悲伤、欣喜四种情绪状态进行分类,准确率达到82.29%;文献[4]提取频谱特征,使用KNN分类器,对积极、消极、中性三种情绪分类得到82%的准确率。由于传统机器学习的效果依赖于人工设计的特征量质量,而EEG是一种具有强非线性的非平稳随机信号,隐藏于EEG中的特征量通常难以挖掘,这使得基于传统机器学习的情绪辨识方法精度难以进一步提升。深度学习方法具有自动生成由网络浅层到深层、由具体到抽象的多层结构特征,从而有效地避免了繁琐的人工提取特征工作,使得越来越多的情绪辨识研究者将目光从传统机器学习聚焦到深度学习上。2017年,华南理工大学的Rui等人使用卷积神经网络(Convolutional Neural Network,CNN)的方法对DEAP数据集中的EEG进行了情感识别,达到了87.27%的平均识别精度[5]。2019年,德国博尔斯特-莱布尼茨研究中心的Fadi等人使用CNN的方法分别对DEAP数据集和MAHNOB数据集进行情感识别,分别达到了82%和78%的识别精度[6]。然而,大多数情绪辨别的研究尚集中在单一CNN网络模型上,虽然CNN网络具有较强的频域、空域特征提取能力,但其时域特征的分析能力相对薄弱,而EEG这类时间序列信号中隐含着一定量的时域信息,单一的CNN网络结构难免会遗漏部分EEG的时域信息,这使得基于CNN网络的情绪EEG辨识方法辨识精度尚有较大提升空间。而循环神经网络(Recurrent Neural Network,RNN)中的门控循环单元(Gated Recurrent Unit,GRU)恰好与CNN的功能互补,虽然无法表达频域和空域信息,却善于处理时域信息。
因此本文提出“卷积神经网络+门控循环单元”融合模型,在时域、频域和空域广阔的特征空间上进行情绪脑电信号(EM-EEG)辨识。并在公开SEED IV情绪数据集[7]上展现了优异的辨识能力,相比使用单一CNN网络辨识情绪准确率提高了3%。最后,本文构建了情绪数据采集平台并设计情绪诱导实验以生成情绪数据集,并在自采集的四分类情绪数据上验证了本方法的泛化能力和鲁棒性。
1 本文方法思路
1.1 EM-EEG辨识中的难点问题
1.1.1 EM-EEG现有情绪辨识方法辨识率较低
EEG是一种淹没在噪声中、具有模型非线性和强非平稳随机性的微弱信号[8],使得传统机器学习方法捕捉其中的情绪特征进而实现情绪精确辨识难度巨大;由于EM-EEG的特征分布在频域、时域和空域等特征空间上,当前单一结构的深度学习网络难以实现多特征空间的分类,因而情绪辨识率的精度仍不理想。虽然EM-EEG的情绪二分类和三分类辨识精度最高可以达到90%,但是在四分类及以上的情绪分类上准确率还普遍较低。
1.1.2 EM-EEG现有方法的泛化能力和鲁棒性差
目前,广泛使用的基于各类CNN模型的EMEEG分类辨识方法,通常是针对某一数据库进行网络结构设计,并在该数据库上进行网络学习的,获得的网络模型在该网络上表现出良好的情绪分类效果。但由于不同数据库间样本的分布规律不尽相同,该网络模型在其他数据库上的情绪预测精度大大下降,网络泛化能力较差。此外,由于训练样本数据库和待测数据库中噪声类型和幅度差异,网络模型的性能下降显著,鲁棒性较差。
1.2 CNN-GRU融合网络的EM-EEG辨识方法思路
对于1.1中存在的难点问题,本文提出卷积神经网络和门控循环单元相结合的CNN-GRU融合网络。利用CNN良好的空间扩展性能,其神经元与特征卷积运算能够有效提取频域和空域上的信息;而GRU通过时间拓展,神经元与多个时间输出计算,可用于描述时间上连续状态的输出,并有记忆功能。因此将CNN与GRU结合可以同时得到频域、空域和时域的信息特征,提取到的EM-EEG特征信息更全面,故本文使用CNN-GRU融合网络对EM-EEG进行分类和辨别,该方法的原理如图1所示。
图1 基于CNN-GRU融合网络的EM-EEG辨别方法原理图
本文方法的研究流程如图2所示。首先利用本文提出的CNN-GRU融合网络模型在公开数据集SEED IV上进行训练和测试,实现对四类情绪的辨识,之后设计情感诱发实验生成自采EM-EEG数据集,利用CNN-GRU网络模型在自采EM-EEG数据集上进行实验,验证网络的泛化能力,最后以自采EM-EEG数据集作为测试集,对在SEED IV公开数据集训练的CNN-GRU网络模型进行测试,验证网络的鲁棒性。
图2 本文方法的研究流程
2 CNN-GRU融合网络EM-EEG辨识方法实现
2.1 搭建CNN-GRU网络模型
本文方法中CNN-GRU融合网络结构如图3所示。该融合网络由一个CNN网络和一个GRU网络串接构成,其中CNN由三层卷积、三层池化和一层全连接组成,两层结构的GRU网络连接在CNN网络全连接层之后。融合网络既保留了CNN网络的频域和空域处理能力,又增加了GRU网络时序上的解释性。
图3 CNN-GRU融合网络结构图
2.2 EM-EEG辨识工作步骤
本文利用CNN-GRU融合网络实现EM-EEG辨识的过程如图4所示。
图4 EM-EEG辨识流程图
预处理:由于EEG幅值一般只有50 μV左右,采集时很容易受到干扰产生伪迹,干扰一般来源于空间电磁干扰、脑电采集设备工作时自身影响以及实验人员心电、眼电等三方面[9]。因此为了避免外界干扰和保证EEG的相对纯净,在实验过程中需要先对其进行预处理,去除伪迹。通过采集得到的EEG数据上包含各个采集通道信息和不同时刻对应的EEG数值,将其预处理之后作为融合网络的输入数据。
网络初始化:由于各个通道的差异性导致采集数据的数值大小差异巨大,为提高训练的准确性,将样本数据进行归一化处理,之后按照比例6∶2∶2分为训练集、验证集和测试集,样本标签使用one-hot编码转换为二进制(0和1)表示。网络每层具体参数如表1所示,三层卷积核大小均为3,步长均为1,使用线性整流Relu激活函数,以防止梯度消失,增加网络的非线性,使网络训练更快;池化层使用MaxPooling最大池化层,核大小均为2,Maxpooling具有平移不变性的特点,在保留主要特征的同时可以减少参数进行降维,防止过拟合;GRU层的激活函数使用双曲正切函数Tanh,输出映射在[-1,1]之间,输出范围有限,优化稳定。
表1 CNN网络结构参数设置
CNN频域特征提取:对输入矩阵数据进行卷积运算,也就是通过一定权重的卷积核对矩阵进行内积运算,内积之后的输出就是频域特征之一,由于卷积核的数目众多,所以卷积之后会提取到各种不同的频域特征。在卷积过程中利用了图片空间上的局部相关性,使得对输入数据特征的自动提取。每层卷积之后会使用MaxPooling来减少参数量,加快计算过程。
GRU时域特征提取:经过多次的卷积和池化提取到更细致频域空域特征之后,将其作为GRU网络的输入数据,其中GRU的更新门输出接近0说明上一层隐藏状态的某个信息在该隐藏层被遗忘,接近1则说明该隐藏层继续保留。GRU的重置门接近0时,说明上一时刻某个信息在当前记忆内容中被遗忘,接近1则说明在当前记忆内容中继续保留。之后将两部分信息相加经过tanh激活函数,将结果归一化到[-1,1]之间。所以该时刻的记忆内容由两部分组成,一部分是重置门存储过去相关重要信息,另一部分是加上当前时刻输入的重要信息,这两部分组成了当前时刻的所有记忆内容,对时域特征进行提取。
情绪辨识:含有频域和空间特征的EEG经过2层GRU单元提取时域信息之后,使用Softmax激活函数输出情绪状态,将输出的情绪状态与标签对比,再进行反向计算,如此反复多次之后输出辨别的情绪状态。
3 实验过程及结果分析
3.1 实验条件
3.1.1 具有自采集EM-EEG功能的平台
硬件平台:使用Intel(R)Core(TM)i9-9900k 3.36GHz处理器、32GB运行内存、GPU采用NVIDIA RTX 2080Ti。
软件平台:使用Python3.7编程语言和Keras深度学习框架。
自采EEG实验平台:脑电采集设备采用EMOTIV公司的EPOC FLEX Gel Sensor Kit 34导联(包含2个参考电极)脑电仪,采样频率为128Hz,脑电软件为EMOTIV PRO。
3.1.2 公开数据集+自采集情感数据集
①SEED IV数据集
SEED IV数据集使用不同电影片段作为四种情绪(平和、悲伤、恐惧、高兴)的素材库,共有15名参与者,为每位参与者在不同的时间设计了三个不同的会话,每个会话包含4个实验(每种情绪6个实验)。
②自采数据集
本文自行设计情绪诱导实验以建立EM-EEG数据库,实验过程如图5所示。
图5 EM-EEG诱导实验
刺激源:本文选用与SEED IV第一次会话数据集相同的四种情绪视频片段,其视频组成如表2所示(0:平和,1:悲伤,2:恐惧,3:高兴),在进行录制之前参与人员被告知实验内容,正式采集之前会播放一段空白画面,让参与者处于一个平静的状态下。实验采集过程如图6所示。
图6 实验录制过程
表2 情绪实验所用电影片段来源
录制设备:实验设备采用EPOC FLEX Gel Sensor Kit脑电仪,该设备优点在于使用者佩戴舒适。实验软件为EMOTIV PRO,可实时查看和记录佩戴者的脑电数据,以及每个通道的连接质量,如图7所示。
图7 通道连接质量示意图
参与者:本次实验我们邀请了12名(6名男性,6名女性)与本研究无关人员,均为在校学生。所有实验人员均通过了艾森克人格问卷[10],能够产生稳定情绪,身心健康,右利手,听力和视力均正常。
录制过程:实验开始之前邀请参与人员佩戴脑电帽,并涂抹导电膏,确保每个通道连接质量完好。提前告知在采集过程中尽量避免不必要的肢体动作和移动,并在旁边使用第三视角摄像头录制参与人员面部表情变化。录制规则如图5中所示,每个电影剪辑都有5 s的开始提示,之后观看视频2 min,最后有一个45 s的自我评估,记录参与者的感受,作为后期参考。所有试验采集均在低噪声环境进行,尽可能避免环境噪声和电磁的干扰。
数据筛选:由于包含一些与情绪无关联的EEG,所采集到的EM-EEG数据可能无法直接使用。例如,对于连接质量相对较差的时间段在数据提取时应将其去除,减少错误数据。根据第三视角分析参与者的面部表情变化,与情绪素材主体差异较大的部分给予去除。
3.2 模型训练
3.2.1 EM-EEG伪迹去除
EEG主要由δ、θ、α、β、γ五种节律波组成,对于不同状态下每种节律波的比重也是不同的[11],具体划分如表3所示。此外在EM-EEG数据使用CNNGRU融合网络进行分类辨识之前,对EEG数据进行去噪,本文选用具有“数学显微镜”之称的小波变换去除伪迹。消噪过程中使用Wden小波函数,采用heursure软阈值,选用db4小波进行6层分解,之后对其进行小波逆变换重构信号,得到去除高频噪声之后的EEG,图8从上到下依次为原始EEG、db4小波去噪后的EEG和db4小波分解得到的原始EEG中的噪声信号。
表3 脑电频率划分
图8 原始EEG、小波去噪后EEG和噪声信号
对去噪后EEG数据使用Python中Numpy库进行批量化处理,得到矩阵大小为(151 840,62,200)的数据,其中151 840表示四种情绪辨别样本个数,62表示脑电采集的通道数,200表示脑电装置采集频率,将每秒200个脑电数据作为一个样本,标签与样本一一对应。
3.2.2 CNN-GRU融合网络超参数设置
本文采用网格搜索法对CNN网络模型超参数进行自动选择,通过查找搜索提前设置的部分超参数值来确定最优值,如表4所示。
表4 网格搜索的最优超参
其中需要优化的超参如表4第一列所示,包含学习率(learning rate)、正则化的权值系数λ(regularization rate)、各层丢弃率(dropout rate)、迭代次数(epochs)和三个卷积层中卷积核的个数(Conv_deep)。自动调参算法首先需预设待优化超参的可取值范围,如表4第二列所示,然后通过网格搜索自动调参算法,迭代选取最佳超参之后对网络进行动态训练,经验证集测试之后得出最优参数如表4最后一列所示。
将预处理和分段之后的EEG数据作为CNNGRU融合网络的输入,网络经迭代训练140次之后,训练过程的loss曲线如图9所示,训练过程准确率变化如图10所示。从图中可以看出loss曲线的epochs在100之后趋于不变并保持稳定只有0.132 4,accuracy曲线最后稳定在89%上下。
图9 网络训练过程loss曲线
图10 网络训练过程accuracy曲线
3.3 模型泛化能力和鲁棒性验证
3.3.1 CNN-GRU泛化能力验证
为了验证CNN-GRU融合网络的泛化能力,按照本文3.1的自采数据集方法和步骤,通过视频诱发采集了12名受试者平和、悲伤、恐惧、高兴四种EM-EEG。对获得的自采数据集经过初期数据筛选之后,同样需要经过预处理对EEG中的噪声进行滤除。预处理方法采用本文3.2中的小波变换进行去噪处理。对去噪之后的EM-EEG数据使用Python中Numpy库进行窗口滑动处理,得到(71 484,32,128)大小样本数据,将32个通道每秒采集的128个数据作为一个样本,共71 484个样本数据,标签与样本一一对应。
样本数据按照6∶2∶2比例分为训练集、验证集和测试集,标签0、1、2、3经过Keras中的to_categorical函数转换为二进制(0和1)矩阵表示。将样本数据和与之对应的标签作为CNN-GRU融合网络的输入数据进行训练和分类,其中网路结构和层数不变如本文图3所示,参数根据每次训练结果对其进行适当调整。CNN-GRU融合网络泛化能力验证流程图如图11所示:
图11 CNN-GRU融合网络泛化能力验证流程图
3.3.2 CNN-GRU鲁棒性验证
为了验证CNN-GRU融合网络的鲁棒性,将自采集的EM-EEG数据库中的71 484个样本全部作为测试集,预测模型选用本文3.2中CNN-GRU融合网络在SEED IV数据集上训练后保存的模型,通过对保存模型进行调用,输出与测试集样本数量相同的71 484个预测情绪状态结果,与测试集真实标签比对,得到准确率,以此来分析本文网络的鲁棒性。CNN-GRU融合网络鲁棒性验证流程图如图12所示:
图12 CNN-GRU融合网络鲁棒性验证流程图
3.4 实验结果分析
CNN-GRU融合网络在SEED IV数据集上经过140次迭代训练之后平均准确率达到89.2%左右,各种情绪分类混淆矩阵如图13所示,其中坐标轴0、1、2、3分别代表平和、悲伤、恐惧、高兴四种情绪。根据混淆矩阵可知针对SEED IV数据集分类中平和状态分类准确率达到95%,恐惧状态下分类准确率相对较低,有8%和6%的可能性误判为悲伤和高兴状态。
图13 测试集混淆矩阵
本文使用CNN-GRU融合网络对情绪进行分类,与其他研究者对比如表5所示。
表5 本文方法与其他方法实验对比
为了探究不同节律波脑电参数对情绪辨识影响程度,本文使用巴特沃斯带通滤波器分别提取每个样本的δ、θ、α、β、γ五种节律波进行单独实验,提取部分结果如图14所示。经过CNN-GRU融合网络训练和测试,最终得到准确率如表6所示。从实验结果可以看出β频段和γ频段在情绪分类任务中具有较好的表现,由此可以推断β频段和γ频段在分类任务中起了重要的作用,同时表明该融合网络可以较好的自动提取样本间细微特征差异从而取得良好的分类效果。
图14 δ、θ、α、β、γ节律波部分脑波图
表6 不同频带单独实验准确率
在CNN-GRU融合网络泛化能力验证中,将经过预处理之后的自采EM-EEG数据集作为融合网络输入数据,最终情绪辨别最优准确率为83.76%,其混淆矩阵如图15所示(0:平和,1:悲伤,2:恐惧,3:高兴),证实了该网络在新的数据集上具有良好的泛化能力。
图15 CNN-GRU泛化能力验证结果混淆矩阵
在CNN-GRU融合网络鲁棒性验证中,将自采EM-EEG数据作为测试集,调用训练SEED IV数据集保存的网络模型对其进行分类辨别,得到77.41%的分类准确率,输出混淆矩阵如图16所示(0:平和,1:悲伤,2:恐惧,3:高兴),验证了该网络同时具有较强的鲁棒性。
图16 CNN-GRU鲁棒性验证结果混淆矩阵
4 结论
本文针对传统机器学习特征提取困难和CNN情绪辨别过程丢失时域信息的问题,提出基于CNNGRU融合网络的EM-EEG辨别研究。该网络结合了CNN善于提取频域、空域信息和GRU善于提取时序信息的优点,在公开数据集SEED IV上获得了较高分类准确率。并且本文通过设计主动诱导实验采集了四种相同情绪下的EEG,使用本文提出的CNN-GRU融合网络对自采EM-EEG数据集进行训练和测试,得到了83.76%的准确率,验证了该网络具有较好的泛化能力,并通过进一步实验,使用SEED IV数据集训练之后得到的网络模型,在自采EM-EEG数据样本上测试得到了较好的分类准确率,证明了该网络同样具有较强的鲁棒性和抗干扰性。
目前对于在SEED IV上获得的高辨识率分类模型用于新的数据集进行预测时,其得到的准确率还有待进一步提高,针对此问题将在后续的研究中给予探究和改进。