基于3DC-BGRU的脑电情感识别
2020-10-19胡章芳刘鹏飞王明丽
胡章芳,刘鹏飞,蒋 勤,罗 飞,王明丽
1.重庆邮电大学 光电工程学院,重庆 400065
2.重庆邮电大学 计算机科学与技术学院,重庆 400065
1 引言
情感计算在医学领域、教育领域、道路安全领域都有着非常重要的作用[1-3]。当前情感识别主要围绕人脸表情、语音、手势等非生理信号进行。而基于脑电信号(Electroencephalogram,EEG)这种生理信号的情感识别由于能够避免情感的伪装性以及主观性,能更好地评价人的情感状态,正逐渐成为情绪识别领域的研究重点[4]。
传统的基于脑电信号模式识别是将特征提取和特征分类分开进行的。常用的特征提取方法主要是基于时域、频域、时频域和空域特征。基于时域的特征主要有能量特征[5]和幅值特征[6];基于频域的特征主要有功率谱密度(Power Spectral Density,PSD)[7]和自回归系数(Auto Regressive,AR)[8];基于时频域的特征提取方法主要有小波变换(Wavelet Transform,WT)[9]、小波包变换(Wavelet Packet Transform,WPT)[10]和经验模态分解(Empirical Mode Decomposition,EMD)[11];基于空域特征的提取方法主要是共空间模式(Common Spatial Patterns,CSP)[12]。此外,也有学者对非线性动力学特征进行了研究,孙颖等[13]将非线性全局特征和谱特征融合对脑电情感识别,提高了分类准确率。但是,以上这些传统的特征提取方法都是根据经验设计的手动特征提取方法,易造成特征遗失,不能保证特征质量,且计算复杂。传统的特征分类方法有支持向量机(Support Vector Machine,SVM)[14]、K最近邻(K-Nearest Neighbor,KNN)[15]和隐马尔可夫模型(Hidden Markov Model,HMM)[16],这些算法比较依赖于特征质量,且自适应能力不强。因此,设计一种脑电特征的自动提取和分类模型是提高脑电信号识别率的关键。
深度学习是在神经网络的基础上提出的一种机器学习模型,能将底层特征组合为更加抽象的高层特征,以发现数据的分布式特征表示[17],能够对输入高维数据进行特征自动提取和分类,因此,比较适合对脑电信号进行分析。Zheng 等[18]用深度信念网络(Deep Belief Network,DBN)代替传统的分类器对脑电情感进行分类,识别率达到了86.08%,但是随着训练参数的增加,DBN 训练变得困难,分类效果变差。随后Li 等[19]采用卷积神经网络(Convolutional Neural Networks,CNN)作为分类器对脑电情感进行分类,相比于DBN而言,平均识别率提高了1.12%。但是文献[18-19]都是将微分熵(Differential Entropy,DE)作为特征,未能很好地利用脑电信号的特征。此后,Moon 等[20]将原始脑电信号直接输入CNN 模型进行情绪识别。Zhang 等[21]设计了多层2DCNN结构对脑电信号的时频域信息进行特征提取和分类。这两种CNN模型虽然都达到了不错的分类效果,但是都没有考虑到脑电信号各个通道之间的空间特征。另外,研究发现,长短时记忆(Long Short Term Memory,LSTM)、门控循环单元(Gated Recurrent Unit,GRU)等循环神经网络(Recurrent Neural Network,RNN)能很好地处理序列信息,学习序列的动态信息。Wang 等[22]采用LSTM 对脑电特征进行提取和分类,证实了此方法良好的分类性能。Roy 等[23]将GRU 应用到癫痫检测中,得到了很好的分类效果,并且实验结果表明,GRU 在处理脑电信号这种小样本数据时优于LSTM。进一步研究发现CNN 提取的深层空间特征是一种序列形式,直接进行分类会给分类器的学习带来困难,而GRU能很好地处理序列信息,学习到特征序列的动态信息,却忽略了信号的空间特征,并且双向门控循环单元(Bidirectional Gated Recurrent Unit,BGRU)的性能优于GRU。
结合上面的分析,本文提出了一种基于3DC-BGRU的脑电特征自动提取及情感识别方法。首先采用短时傅里叶变换(Short Time Fourier Transform,STFT)对脑电信号进行处理,将多通道脑电信号构建为一种全新的时间-频率-通道的三维数据形式,然后引入三维卷积核,设计了一种新颖的卷积神经网络来提取三维数据的深层特征,最后在卷积神经网络之后设计了BGRU对深层特征序列信息进行处理并配合Softmax进行分类。相比于传统的脑电识别,该算法可以自动提取脑电特征,确保了特征质量,且自适应能力强;相比于当前先进的深度学习算法,该算法用时间-频率-通道的三维信息取代原来的一维或者二维信息的输入,避免了特征信息的遗漏,并且BGRU 能够学习深层特征的动态信息,从而提高识别的准确性。
2 基于3DC-BGRU的脑电情感识别
脑电信号由多通道采集设备获得,具有多通道特点,每个通道的输出信号又具有丰富的时频信息,如何充分利用这些信息是提高识别率的关键。本文充分考虑脑电信号的时频信息以及各个通道之间的空间信息,提出了一种基于3DC-BGRU 的脑电情感识别方法,其模型框架如图1所示。该模型主要包括3个模块,即:信号预处理模块、3DCNN模块和BGRU模块。
图1 3DC-BGRU框架
信号预处理模块:其主要作用是对脑电信号进行变换,将输入的脑电信号转化成一种全新的三维数据类型,作为下一个模块的输入。
3DCNN模块:本文引入三维卷积核,设计了一种新颖的多层卷积神经网络模型,其主要作用是对输入的数据进行深层特征提取。
BGRU模块:该模块的作用是对上一个模块提取的深层特征序列进行处理,对上下文信息进行学习,并配合Softmax进行分类。
2.1 信号预处理模块的设计与构建
信号预处理模块是结合脑电信号丰富的时频性以及多通道的特点,将多通道脑电信号转换成一种全新的三维数据形式。首先,采用STFT 将每一个道的脑电信号转化成时频图,如图2所示。本文设置汉明窗的大小为128,步长为20,FFT 点数为256,采样率与本文所用数据集的采样率保持一致为200 Hz。经过STFT,得到了大小为129×34 的时频图,其中129 和34 分别表示沿频率轴和时间轴上的样本数。
图2 单通道时频图
文献[18]表明与情感状态相关的脑电信号主要分布在 beta(14~30 Hz)频段和 gamma(31~50 Hz)频段。进一步从每一个通道的时频图中提取出14~50 Hz频段所组成的二维时频图,这两个频段的时频图大小为48×34,如图3所示。
图3 14~50 Hz频段时频图
考虑到脑电信号是多通道脑电采集设备获得,进一步将脑电信号按照时间、频率和通道的形式处理成一种全新的三维数据形式,如图4 所示。因此,经过预处理得到的数据形式为48×34×C,其中48×34表示单通道时频图的大小,C代表脑电通道数,本文中C=62。
图4 时间-频率-通道三维数据形式
2.2 3DCNN模块的设计与构建
CNN能很好地处理脑电信号这种非线性非稳定性的高维数据,CNN一般有卷积层和池化层组成,卷积层的作用是对输入的数据进行卷积操作,通过卷积计算,原始数据的特征得到增强。池化层对来自卷积层的特征图进行压缩处理,降低特征维度,使网络计算复杂度降低。
本文没有采用传统的CNN 直接将脑电信号作为CNN的输入进行一维或者二维卷积,而是将时间-频率-通道三维数据作为本文CNN 模型的输入,并引入三维卷积核,设计了一种新颖的3DCNN模型,对脑电信号的深层特征进行充分提取。本文的3DCNN模型包括8个卷积层,2个池化层和8个批规范化(Batch Normalization,BN)层。卷积核的个数采用逐渐增加的方式,这样设计是为了尽可能避免高层特征的丢失。本文设计的3DCNN模型结构如图5所示。
图5 3DCNN模型框架图
图5中,前2个卷积层,每个卷积层均设置了大小为3×3×3的3维卷积核,可以对脑电信号时间、频率和通道上进行卷积,提取深层特征。前2个卷积层的卷积核个数设置为16 个,第3 和第4 个卷积核个数设置为32 个。其中前3 个卷积层的步长设置为1×1×1,第4 个步长设置为1×1×2。并且每一个卷积层后面都加入了BN 层,对数据分布做规范化处理,使梯度更具有预测性和稳定性,能够避免梯度消失或者爆炸的问题,同时能够加快训练速度。然后,设置了池化层,池化大小设置为2×2×1,步长为2×2×1,这样设置的目的是只在时间和频率进行池化,没有对脑电通道进行池化,避免了在通道上进行下采样,以便尽可能地保留通道信息。
第5和第6个卷积层设置了64个大小为3×3×5的卷积核,步长设置为1×1×1。第7 和第8 个卷积层分别设置128个大小为3×3×5的卷积核,其中第7个步长为1×1×1,第8卷积层步长为1×1×2。每个卷积层后面同样设置了BN层。卷积之后再经过池化,这里的池化也只对时间和频率进行池化,最终输出脑电信号的深层特征。
2.3 BGRU模块的设计与构建
经过上述3DCNN模块得到的脑电信号深层特征是一种序列的形式。因此,需要对这些特征序列进行进一步的处理。RNN 能够很好地对序列信息进行处理,但是RNN易陷入梯度消失问题,为了解决这个问题,提出了 LSTM[24]和 GRU[25],而 GRU 相比于 LSTM 而言,能够处理较小的数据量,计算速度更快,能够更好地解决梯度消失问题。因此,本文采用GRU 对深层特征序列信息进行处理。GRU的结构如图6所示。
图6 门控循环单元
GRU是通过重置门rt和更新门zt对序列信息进行处理,其参数更新公式如式(1)~(4)所示:
式(1)~(4)中的h˜t代表t时刻候选激活单元,ht代表t时刻的隐藏单元,σ代表激活函数,W,Wz,Wh,Ur,Uz,Uh代表网络的权重参数,⊙代表逐元素相乘,tanh(x)代表双曲线激活函数。
GRU 可以很好地对深层特征序列信息进行处理,但是只能够学习上文信息,无法兼顾对下文信息学习,为了更好地学习上下文信息,提高识别率,本文设计了BGRU 模块。BGRU 的基本原理与GRU 相同,通过两个方向相反的GRU 对输入数据的序列信息进行处理,实现对上下文信息的学习,再通过正向和反向传播之后,将这两个方向的输出信息进行融合并传送到下一个隐藏层,克服了GRU 只能对上文信息进行学习的缺点。本文构建的BGRU模块如图7所示。
图7 BGRU模块
在图7 中,首先将3DCNN 提取的深层特征经过Reshape层,转换成适合BGRU输入的序列形式,然后考虑到整个模型的计算复杂度,设计了两层BGRU对深层特征序列进行处理,接着设计了全连接层(FC),它起到桥梁作用,连接BGRU和分类器Softmax,实现对脑电信号的最终分类识别。
3 实验分析
3.1 实验数据
本文所提出的算法在SEED[18]公开数据集进行验证(http://bcmi.sjtu.edu.cn/~seed/seed.html)。SEED数据集是上海交大建立的一个针对脑电情绪识别的数据集,它采集了15位(7名男生和8名女生)健康受试者的脑电信号。每个受试者做3 次实验,每次实验间隔一周左右,每次实验做15 组实验(积极、消极和中性3 种情绪状态各做5 组)。实验过程采用电影片段进行刺激,诱发相应的情绪状态,这些影片都是经过精心剪辑的,以确保情绪状态连贯诱发,每个电影片段剪辑的时长约4 min。在观影的同时,采用62 通道的脑电采集设备对受试者脑电信号进行采集。该数据集的数据由两部分组成,一部分是去除眼电、肌电伪迹,降采样为200 Hz的预处理之后的脑电数据;一部分是提取了6 种特征的脑电数据。本文采用SEED数据集中前一部分数据。
为了保证所选用脑电信号的质量,本文对每一次实验大约4 min 时长的脑电信号进行截取,每次实验保留30~50 s 的脑电信号数据,这样既能避免刚开始观影情绪没有处于稳定状态,又能够避免长时间观影造成疲劳,对情绪状态产生影响。为了增加样本数量,本文采用4 s无重叠时间窗对20 s数据进行分段处理,每4 s代表一个样本,共计3 375个干净样本,3种情绪状态各有1 125个样本。
3.2 实验衡量指标及参数设置
本文探索了情绪状态的二分类和三分类问题,用平均识别率作为衡量指标,三分类的计算指标如式(5)所示:
式中,TP、TNg和TNu分别代表积极、消极和中性3种情绪的正确识别率,P、Ng和Nu分别代表3种情绪的样本数。两分类衡量指标与式(5)相似,不再罗列。
本文选用ReLU做3DCNN的激活函数,采用Adam作为优化器(初始学习率设置为0.01,β1=0.9,β2=0.999,ϵ=10E-8。全连接层的节点数设置为4 096,分类器的损失函数选用交叉损失函数。
3.3 实验环境
本文中脑电信号的三维数据转换在Windows7系统(64 bit)上通过Matlab2016b 软件实现。深度学习中神经网络框架训练和测试采用Caffe;深度学习硬件平台:Ubantu 16.04(64 bit),内存为 16 GB,GPU 设备为 4 台GXT1080ti。
3.4 单一模型和组合模型实验对比
本文提出的模型是将3DCNN 与BGRU 相结合,为了验证组合模型的使用优于单一模型的使用,以及BGRU 的使用优于GRU,证实本文模型的优越性,另外设计了GRU、3DCNN、3DC-GRU 三种全新模型与本文提出的3DC-BGRU模型进行实验对比。其中本文所设计的另外三种对比模型的结构如表1所示。
表1 不同模型的结构
表1 中,GRU 输入为 62 × 800 的脑电序列,62 表示通道数,800 表示4 s 数据的采样点数。另3DCNN 和3DC-GRU 的输入与本文提出模型输入一致,卷积核参数设置也一致,目的是确保实验更具有可比性。不同模型的识别率如图8所示。
图8 单一模型和组合模型对比
由图8的实验结果可知,组合模型的识别率高于单一模型,这是因为本文提出的3DC-BGRU 模型不仅能够提取信号的时-频-通道三维数据的深层特征,而且能够学习到这些深层特征序列的动态信息。另外,3DCBGRU 模型的识别率高于3DC-GRU,是因为BGRU 可以对上下文信息进行学习,而GRU 只能对上文信息进行学习。图8 也表明二分类的识别率高于三分类的识别率,这是因为随着所分类别的增加,分类器误判的概率会增加,导致分类效果有所下降。在两两分类中发现积极和消极两种情绪状态的分类效果最好,其次是积极和中性,然后是中性和消极。因为人在处于积极和消极两个状态时,脑电信号有着非常明显的差别,所以易于区分。而处于消极和中性两种情绪状态时脑电信号的差别略低于前者的差别,所以识别率有所下降。
3.5 3DC-BLSTM与3DC-BGRU实验对比
考虑到GRU型循环神经网络在处理小样本时优于LSTM 型循环神经网络[23]。本文所提出的模型在对3DCNN模块提取的深度特征序列处理时,采用了BGRU而不是BLSTM。为了验证本文模型中选用BGRU的优越性,进一步设计了3DC-BLSTM模型与本文提出的模型进行实验对比。对比实验3DC-BLSTM 模型与本文所提出的3DC-BGRU的模型结构如表2所示。
表2 3DC-BLSTM与3DC-BGRU模型结构
由表2可知,本文所设计的对比模型与本文提出的模型在输入和网络结构上基本相同,在对比实验模型设计时,将3DC-BGRU 模型中的两层BGRU 替换成两层BLSTM,其他参数保持一致,目的是确保实验更具有可比性。实验结果如图9 和图10 所示。图9 为两种模型进行二分类和三分类的识别率对比,图10 为两种模型三分类时的迭代次数对比。
图9 3DC-BLSTM和3DC-BGRU识别率对比
图10 两种模型的迭代次数对比
由图9 可知,3DC-BGRU 模型的识别率略高于3DC-BLSTM 模型的识别率,这是因为本文采用的样本量较小,GRU在处理小样本方面的性能优于LSTM。由图10 可知,对3 种情绪状态进行三分类实验,3DC-BGRU模型训练时,迭代次数为10 000次左右达到最高识别率并逐渐趋于稳定,3DC-BLSM 模型迭代次数为14 000 次左右才达到最高识别率并逐渐趋于稳定。结果表明3DC-BGRU 模型的收敛性更好。这是因为BLSTM 在对深层特征序列进行处理时需要对输入门、输出门和遗忘门三个门进行参数更新,而BGRU是对更新门和重置门两个门进行参数更新。因此,BLSTM 需要学习的参数更多,收敛更慢。
3.6 不同方法的实验对比
为了验证本文算法的优越性,将本文算法与DE+DBN[18]、DE+CNN[19]、DE+GRLS[26]、非线性全局特征和谱特征融合+SVM[13]和2DCNN[21]等算法进行实验对比。几种方法在SEED 数据集上进行验证对三种情绪状态的识别结果如表3 所示,对一组脑电信号进行测试时,几种方法的耗时如图11所示。
表3 不同方法识别率
图11 一组脑电信号测试耗时对比
根据表3和图11的实验结果可知,前三种算法由于只采用了DE 作为特征,特征较单一,故识别率偏低,但测试耗时相应较少。非线性全局特征和谱特征进行融合,采用SVM 进行分类相对于几种单一特征的方法虽然识别率有所提高,但是特征计算复杂,SVM分类器也比较耗时,所以整体算法比较耗时。2DCNN 算法,对时-频域特征进行自动提取,提取特征较为全面,故识别率得到进一步提升,但是该方法没有考虑到脑电通道之间的空间特征,并且忽略了深层特征序列的动态信息,故识别率有待提高。本文提出的3DC-BGRU算法不仅充分考虑到脑电信号的时域、频域和各个通道之间的特征,而且进一步学习到深层特征序列的动态信息,所以识别率最高,达到了91.82%,但是对一组信号的识别耗时较长,因为在进行识别前,本文算法有一个预处理过程,将一维的脑电信号转化为三维数据。
4 结束语
本文针对脑电信号情感识别率低的问题,提出了一种基于3DC-BGRU 的算法,对单通道脑电信号进行STFT,提取相关频带的二维时频图,将多个通道二维时频图转成一种全新的三维数据形式。然后创新性地引入三维卷积核,设计了全新的卷积神经网络对三维脑电数据进行深层特征提取,并通过双向GRU 对深层特征序列信息进行处理和分类。由表3和图11可知,本文算法的识别率均高于其他几种算法,但是,对一组脑电信号进行测试时,本文方法需要110.5 s,较为耗时。此后,将通过选择最优脑电通道来减少通道数,减少耗时。另外,本文在进行三维数据转换时,只是将脑电通道按顺序进行简单排列,此后也将进一步研究各个通道之间的关联性,通过通道重排的方式进行数据转换,提高识别率。