郝 琰, 石慧宇, 霍首君, 韩 丹, 曹 锐
太原理工大学软件学院,山西太原030024
情感处理是人脑高级认知功能之一,不同情感对人脑的影响也不同。情感分析作为人工智能领域的高级阶段,是人机交互、拟人控制理论等领域的重要研究对象[1]。此外,探究大脑对不同情感的反应可以揭示与情感相关的精神疾病的发病机制,并且有助于提高人类精神类疾病的自动化检测与辅助治疗[2],例如抑郁症、躁狂症等。
脑电是大脑皮层神经元放电现象的总和。作为一种非侵入式的生理信号,脑电能以高时间分辨率记录刺激事件产生的神经反应[3],并且具有成本低、操作简单等优势,被大量运用在神经系统疾病、人脑认知活动的研究中。
脑电等生理信号具有高度复杂性和非平稳性,不同频段的脑电功率谱密度是情感分析任务中最为常用的统计特征[4]。功率谱即为单位频带内的信号功率,它表示信号功率随着频率的变化情况。文献[5] 以功率谱密度作为情感脑电特征输入支持向量机分类器,平均5 类分类性能有所提高。文献[6] 利用支持向量机对气味诱发情感脑电信号的功率谱密度进行分类,得到2 种和5 种情绪识别分类平均准确率分别为98%和88.5%。文献[7]在研究DEAP(dataset for emotion analysis using physiological signals) 时利用决策树分类器,从脑电信号提取功率谱密度作为特征集,测得的平均分类准确率达到65.2%。由此可见,功率谱密度包含频域信息,可以反映随机信号的能量随频率的分布情况。作为脑电信号的特征广泛运用在情感分类的任务中。
随着人工智能的发展,深度学习已成为大数据和人工智能领域的一项新技术,在图像识别等领域已取得了重大成就[8-9]。在所有深度学习的算法结构中,卷积神经网络(convolutional neural network, CNN) 模型显示出了较强的竞争力。卷积神经网络有局部感受野和权值共享等优点,使网络结构得到简化[10],并且在处理医学图像以及脑电信号分类方面有着广泛应用。
本研究基于功率谱密度和卷积神经网络相结合的方法进行情感脑电信号分析。首先通过窗口滑动技术从60 s 脑电信号中提取50 个时间段的信号数据,并在每个时间段内使用快速傅里叶变换(fast Fourier transform, FFT)对theta (4~7 Hz)、alpha (8~13 Hz)、beta(14~30 Hz) 和gamma (31~45 Hz) 4 个频段的脑电信号进行特征提取,然后将每5 个时间段的特征结合形成特征矩阵。特征矩阵可以表示成二维灰度的功率谱密度图像,并作为卷积神经网络的输入以优化网络的结构和参数,进一步从情感脑电信号中学习更多特征来提高分类精度。总而言之,本文旨在以功率谱密度和卷积神经网络为基础设计情感脑电分类模型,为人机交互等领域提供科学有效的情感分类方法。
DEAP[11]是用来分析人类情感的多模态数据集。该数据集记录了32 名年龄在19 到37岁之间的健康被试在观看40 段音乐视频时的脑电信号和外围生理信号,所观看的视频具有明显的情感刺激效应,每段视频持续时间为1 min。
DEAP 在进行脑电数据采集之前进行了一次线上行为实验,即采用VA(Valence-Arousal)模型对120 段音乐视频进行了情感标注,最终从120 段音乐视频中挑选出40 段打分极端的音乐视频,因为这40 段音乐视频能够更好地激发对应的情感。线上行为实验结束后,被试在观看40 段音乐视频时,根据自身的体验再次对视频进行VA 两个维度的1~9 分的量表评价。愉悦度1~9 分的变化反映被试从悲伤、有压力到愉悦、高兴的过程,唤醒度1~9 分的变化反映被试从无聊、不感兴趣到兴奋、警觉的过程。根据被试的打分情况,将视频分别划分为高唤醒、低唤醒、高愉悦、低愉悦。
首先对DEAP 数据集的脑电数据进行预处理。利用Matlab 中的EEGLAB 工具包导入国际标准的32 位电极信息,如图1 所示。研究中不同的参考电极会导致不同的实验结果,因此本实验以常用于EEG 预处理的所有电极的平均值作为参考电极;因为原始脑电数据信息量过于庞大,所以本实验通过降采样到128 Hz 来简化脑电信息;去除原始脑电数据62 s 信号前2 s 的基线信号;采用大小为4~45 Hz 的滤波器对脑电信号进行滤波;删除实验时记录外围生理信号的无用电极;眼电对脑电信号的影响很大,因此需要用眼球转动或眨眼导致的肌肉放电对脑电信号的干扰进行矫正。EEGLAB 工具包内的独立成分分析可以得出以源头为眼电的信号成分并予以去除,从而进行伪迹矫正。实验流程图如图2 所示。
图1 国际标准的Biosemi32-位电极信息Figure 1 Position of Biosemi 32-bit electrode in international standard
图2 实验流程图Figure 2 Experimental flow chart
脑电信号包含不同的脑电节律。用傅里叶变换提取脑电信号中4 种脑电节律(4~7 Hz、8~13 Hz、14~30 Hz、31~45 Hz)的功率谱密度作为特征。一般计算功率谱密度的方法有周期图法、自相关函数法和Welch 法。周期图法直接利用信号的傅里叶变换系数的幅度平方计算信号的功率谱密度,因此又称直接法。若采样频率过小,则导致频谱线分辨率下降;若采样频率过大,则造成功率谱曲线起伏加剧。自相关函数法又称间接法,该方法是先估算出信号的自相关函数,再对自相关函数进行傅里叶变换求得信号的功率谱密度。Welch 法采用信号重叠分段、加窗函数和FFT 算法来计算一个信号序列的功率谱密度。Welch 法计算时允许数据重叠,并且对数据进行加窗操作处理来弥补谱失真等缺陷[12]。
为了减少功率谱估计偏差,本研究采用Welch 法来计算功率谱密度。把脑电信号x(n) 的N点观察数据xN(n) 视为有限信号,则可求第i段信号xiN(n) 的功率谱Pi(w),公式为
由于Welch 算法允许将信号分为交叠的L段,对L分段周期图进行平均,可以得到整个信号xN(n) 的功率谱密度估计
删除Welch 算法的信号重叠分段、加窗函数,可以改善方差特性,并且分段数据的交叠可以减少每一段信号的不相关性,因此选择合适的窗函数也减少了频谱的遗漏,从而减小功率谱估计偏差。
将预处理后的脑电数据分为theta(4~7 Hz)、alpha(8~13 Hz)、beta(14~30 Hz) 和gamma(31~45 Hz)4 个频段;将4 个频段的脑电信号按照时间窗大小为10 s、步长(窗口滑动长度) 为1 s,来截取50 个时间段。之后用功率谱密度对每个10 s 的时间段进行特征提取,分别计算出4 个频段下连续50 个时间段的功率谱密度。功率谱密度矩阵的大小为节点乘以频段(即32×4)。将相邻5 个时间段所对应的5 个功率谱密度矩阵按照时间窗的前后顺序结合形成一个特征矩阵,大小为32×20。这样,每名被试观看一段音乐视频所记录的60 s 脑电信号经过功率谱密度特征提取即可以生成10 个大小为32×20 的特征矩阵,并且每一个特征矩阵对应一个标签。当被试观看视频为高唤醒或高愉悦时,标签为1;当被试观看视频为低唤醒或低愉悦时,标签为0。将特征矩阵转化为二维灰度图像,作为卷积神经网络的输入。
卷积神经网络是一个由多层感知器组成的神经网络,它具有包含多个隐含层的特殊拓扑结构,被用于特征提取和分类[13]。卷积神经网络的优势在于局部感受野和权值共享,它们可以大大减少网络中训练参数数量和训练时间,简化神经网络结构。如图3 所示,卷积神经网络由1 个输入层、1 个输出层以及多个隐藏层组成。隐藏层通常由卷积层、池化层和完全连接层组成。
图3 卷积神经网络的网络结构Figure 3 Structure of convolutional neural network
3.1.1 卷积层
卷积是卷积神经网络的关键操作。将输入信号与线性滤波器(或核函数)卷积后加入一个偏差项,再应用激活函数得到一个表示输入信号局部相关的二维特征映射矩阵。激活函数作为非线性函数最大可能地保留了输入信号的特征。本研究使用ReLU 函数作为激活函数,因为ReLU 函数不涉及高成本指数运算,时间和空间复杂度更低,并且可以避免梯度消失问题。ReLU 函数为
3.1.2 池化层
池化层采用最大池化方法将卷积层的输出信息进行降采样。因为经过卷积运算特征的精准位置远不及它和其余特征的相对位置关系重要。池化层将特征的精确位置由近邻值取代,不仅可以不断减小数据空间大小,而且还保留重要信息。
3.1.3 全连接层
将全连接层中的每一个神经元与前一层所有神经元进行全连接,全连接层可以整合卷积层或者池化层中具有类别区分性的局部信息。本实验将全连接层的神经元数量设置为512。通过Sigmoid 激活函数将输出分类为高唤醒或低唤醒以及高愉悦或低愉悦。
本研究采用了一种类似于Imagenet 分类挑战中使用的VGG 网络架构进行训练,该网络具有高度可扩展的体系结构,使用具有小感受野的堆叠卷积层。数据批量输入网络,batch_size 设置为20,学习率设置为10−4。所有卷积层均使用3×3 大小的小感受野和ReLU 激活功能,使多重卷积层堆叠在一起。卷积层后面是maxpool 层,最大池化层为2×2窗口。对于位于较深堆栈中的层,每个卷积层中的内核数增加到2 倍。VGG 风格的卷积神经网络优势在于:多个卷积层的叠加使得有效感受野具有更高维度,而且网络只需要更少的参数[14]。由于深度和卷积滤波器尺寸的增加,VGG 结构的隐式正则化要求收敛的时间更少[15]。本文的网络中存在大量的参数,容易引起过度拟合。本研究将Dropout 技术引入到全连接层中,Dropout 的值设置为0.5,Dropout 技术可以提高参数的泛化能力,从而防止模型对训练集数据的过度依赖。
为了寻找优化的卷积神经网络结构,本研究评估了不同深度的ConvNet 配置。如图4 所示,表中卷积层参数表示为Conv〈接受域大小〉-〈内核数〉。配置A只涉及堆叠在一起的2 个卷积层,其中卷积层Conv3-32 表示接受域大小为3×3,接受域经过卷积映射操作后,生成高度为32 的特征向量,于是卷积神经网络输入32×20 的功率谱密度特征矩阵变为30×18×32 的输出特征向量;接下来堆叠maxpool 层。配置B是在架构的顶部再添加一个卷积层:Conv3-64表示接受域大小为3×3,接受域经过卷积映射操作后,生成高度为64 的特征向量。于是卷积神经网络输入32×20 的功率谱密度特征矩阵变为30×18×64 的输出特征向量;然后堆叠另一个maxpool 层;配置C是在配置B的基础上再添加一个卷积层(Conv3-64),并在第1 层重复卷积层中去掉一层卷积层;配置D是在配置C的基础上增加一层卷积层,于是具有两层重复卷积层。在所有这些架构的基础上添加了一个具有512 个节点的完全连接层(FC-512)。Softmax作为最后一层,计算卷积神经网络输出结果属于某一类的概率,最终得到归一化的分类准确率。
图4 CNN 配置Figure 4 CNN configuration
利用窗口滑动技术计算得到的32×4(节点×频段)的功率谱密度矩阵。每个被试时间轴上每相邻5 个功率谱密度矩阵合成一个32×20 的功率谱密度特征矩阵,然后将该特征矩阵转化成灰度图像作为卷积神经网络的输入,如图5 所示。其中,横轴代表theta、alpha、beta和gamma 4 个频段信息,纵轴代表32 个节点信息。
图5 32×20 的功率谱密度特征矩阵Figure 5 32×20 power spectral density characteristic matrix
经过多次实验选择了4 种VGG 风格的卷积神经网络配置。得到4 种模型的最终分类结果如表1 所示。首先,配置D的分类准确率最高,神经网络参数有394 273 个,唤醒度和愉悦度分类准确率达到了82.33% 和75.46%。配置B和配置C的分类准确率都低于配置D的分类准确率,神经网络参数有619 489 个和507 137 个,唤醒度和愉悦度分类结果分别达到了78.25% 和74.95%、81.60% 和74.49%。而配置A的分类准确率最低,神经网络参数有1 846 177 个,准确率达到了81.21% 和73.17%。4 种模型最终的测试集准确率如图6 所示,可以发现,配置A只有一层重叠的卷积层和一层池化层,神经元数目较少,从而导致完全连接层的负担太大,没有达到很好的分类效果。配置B与C相比于配置A多了一层单层卷积层和池化层,卷积层增多可以有效地构建更多抽象的高级特征,在一定程度上改善了网络性能,所以唤醒度和愉悦度的准确率有了明显提升。配置D相比于其他配置使用了两层重叠卷积层,可以极大地减少全连接层中参数的数目,提高网络的泛化能力,从而使配置D的分类准确率远高于其他配置的分类准确率。
图6 测试集准确率Figure 6 Accuracy of test set
表1 不同配置CNN 分类结果比较Table 1 Comparison of CNN classification results with different configurations
图7 表示卷积神经网络在配置D时的损失率曲线图。随着迭代次数的增加,验证集和测试集的损失率曲线呈现下降的趋势。当Arousal 二分类在epoch 达到100 次、Valence 二分类在epoch 达到75 次时,曲线趋于平缓,证明训练得到的模型可以在验证集和测试集上实现良好的拟合效果。
图7 损失曲线图Figure 7 Loss rate curve
将本文方法与其他关于情感脑电信号分类的方法进行比较,结果如表2 所示。文献[16]使用多种特征融合技术分析生理信号,利用SVM 分类器在唤醒度上的准确率达到56.60%;在愉悦度上的准确率达到58.10%。文献[17] 利用脑电信号和心电信号提取特征后,使用Logistic 回归对情感脑电信号进行分类,在唤醒度上的准确率达到61.50%,在愉悦度上的准确率达到60.40%。文献[18] 利用深度森林表征学习能力对脑电样本时域、频域进行自动特征提取,通过级联森林对特征进行学习,在唤醒度上的准确率达到68.20%,在愉悦度上的准确率达到68.40%。文献[19] 使用柔性分析小波变换的方法将脑电信号分解为不同子带信号,并提取时域和频域特征,使用SVM 分类器进行分类,在唤醒度上的分类准确率达到80.64%,在愉悦度上的分类准确率达到72.00%。本研究基于功率谱密度和卷积神经网络相结合的方法进行情感脑电信号分析,相比于传统机器学习分类方法,本文准确率得到了明显提升。
表2 本文与传统机器学习分类结果的比较Table 2 Comparison of classification results between traditional machine learning and proposed method
本文提出了一种结合功率谱密度和卷积神经网络的情感脑电信号分类方法。该方法将脑电信号进行分频处理后,在各频段的每个时间序列分别计算功率谱密度来表征信号的频域特征;将功率谱密度矩阵组合为特征矩阵并转化为谱图的形式作为神经网络的输入,最后使用卷积神经网络模型进行分类。实验结果表明,功率谱密度可以更好地表征不同情感下脑电信号的频域特征,并且可以更好地区分不同情感的脑电信号。实验显示,与传统的机器学习分类算法的结果相比,本文的情感脑电分类算法准确率更高。该方法能够更好地运用于人机交互、情感机器人、脑机接口等领域,可以为情感分类模型提供更加科学高效的措施。