*杨超宇,余维哲,卢绍田,孙成圆,武柏祥
(安徽理工大学人工智能学院,安徽,淮南 232001)
情绪对于个体的情感状态和行为表现具有重要影响[1]。随着人机交互的发展以及情感智能的应用,情绪识别成为当下人工智能领域重要的研究方向[2]。青年群体对可持续发展和社会变革有着巨大的潜力和影响力,是社会关注的重点对象,而青年犯罪和轻生等社会问题无不与情绪问题密切相关[3]。因此,利用脑电图(electroencephalogram,EEG)相关技术来深入研究青年群体的情绪具有重要的现实意义。
近年来,深度学习领域中新颖的模型架构层出不穷,例如:残差神经网络[4](deep residual network, ResNet),密集连接卷积网络[5](densely connected convolutional networks, DenseNet)等,这些模型在图像识别和计算机视觉任务中都表现出色,但由于对脑电信号的处理方式与对数字图像的处理方式之间具有一定的差异[6],这些模型在脑电信号的处理上效果有限,具体表现:(1)脑电信号是一种时间序列数据,其中不同时间点的信号之间存在相关性和依赖关系[7],而这些模型主要设计用于处理图像数据,其结构不直接适应处理时序信息;(2)在脑电情绪识别任务中,关键的情绪特征需要在网络中逐步提取和整合,但存在有些模型具有特定的传播特性,例如ResNet 模型由于残差块中的跳跃连接,允许梯度和信息在网络中直接传播[8],不适用于脑电信号的处理。(3)复杂的网络结构通常需要更多的计算资源和时间来进行训练和推断。对于脑电情绪识别任务来说,长时间的训练和推断过程可能导致效率低下,尤其在实时应用或需要实时反馈的情况下会对用户体验产生不利影响。
针对上述问题,本研究旨在进一步研究脑电波与情绪之间的关系,并设计出一种基于卷积神经网络(convolutional neural network, CNN)的高效且轻量的脑电信号情绪识别模型。利用单通道脑电头环采集被试者的EEG 数据,构建相应的数据集,采用卷积神经网络来提取脑电信号的情感特征,批归一化层和激活函数提高网络表达能力,两层全连接神经网络对提取到的情绪数据进行分类,将情绪分为积极、中性和悲伤3 个类别,为脑电信号情绪设别研究提供了一种新思路。
目前现存的脑电数据集之间存在多个方面的差异[9],因此这些数据集的普适性相对较差,不适合特定脑电信号的研究:首先,样本来源的差异是造成数据集差异的一个主要原因。不同的脑电数据集可能涉及来自不同背景的实验受试者群体,包括不同年龄[10]、性别[11]和文化背景[12]的个体。这种样本来源的差异导致了脑电信号的差异性。而在本研究中,通过专注于研究青年人群,因此有必要自行采集数据以确保研究对象与数据集的一致性;其次,采集设备和技术的差异也是导致数据集差异的一个重要因素。不同的研究通常会使用不同类型、品牌或型号的脑电采集设备,并采用不同的数据采集技术和方法,例如使用不同的电极布置方式[13]和采样频率[14]等。这直接影响了采集到的脑电信号质量和特征,进而对特定模型构建中的维度大小设置等众多方面产生重要影响。
鉴于这些因素,为了满足研究需求,并获得更加准确和可靠的研究结果,本研究自主进行了脑电信号数据的测量,并构建相应的数据集。通过自主构建数据集,可以更好地掌控数据源与研究目标的一致性,为研究提供更可信的依据和更深入的洞察。
本研究选择了8 导非侵入式电极,并按照国际标准10-20 系统[15]进行排列,放置在头皮表面以探测不同位置的电势差从而产生EEG。为了更好地反映情绪起伏和脑电波数据的真实性,实验选择了多类情节跌宕的影片片段,包括喜剧、纪录片和悲剧。其中积极情绪片段选取综艺《今夜百乐门》的小品低价航空片段;中性情绪片段选取《安徽理工大学宣传片》片段;消极情绪片段选取视频《感恩对你有什么价值》片段。同时,被试者对所选影片片段没有事先了解。考虑到前几分钟的视频片段可能无法充分激发被试者的情绪,特别是消极情绪,因此在实验中增设了情绪铺垫的时间。
本次实验中,选择了15 位符合以下条件的青年被试者(9 名男性和6 名女性)参与:年龄为18岁~28 岁,右利手、视听力正常、无烫发染发、无精神障碍和脑损伤及严重皮肤病等疾病史、情绪状态稳定、理解并自愿配合相关实验、且在测试前一周内没有服用任何影响脑电信号的药物和化学物质。每一位被试者到达实验室后,需要详细告知实验的目的、步骤、风险以及注意事项,并签署实验知情同意书。在正式开始实验前,实验人员会向被试者提示实验过程中的相关注意事项。随后清洁被试者相关部位的皮肤,依照图1 所示的国际通用头皮电极定位10/20 系统电极分布图,将无创脑电电极分别放置于以下8 个位置(具体位置如表1 所示)。
图1 国际10/20 系统电极分布图Fig.1 Ⅰnternational 10/20 system electrode distribution map
表1 实验使用电极编号及其对应位置Table 1 Electrode numbers and corresponding positions used in the experiment
在测试开始时,屏幕会显示一个持续5 s 的‘+’符号,用于提示被试者即将进入实验。随后,屏幕会切换到相应视频片段的播放界面,并在视频结束后保存记录相应情绪的信号数据。同时在完成每一个情绪片段的实验之后,都有5 min 的间断时间,以防止不同情绪切换造成的干扰。重复上述流程,直至所有被试者均观看完视频片段,收集到完整的脑电波数据。
对于采集到的脑电波信号,利用岩本变换将原始脑电信号x分成多个窗口,每个窗口大小为W,然后对每个窗口进行离散傅里叶变换(Discrete Fourier Transform,DFT),得到对应窗口的频谱,将这些频谱组织成一个矩阵D,其尺寸为M×N。这个矩阵D表示了信号在时域和频域上的特征。得到岩本变换公式如下:
这里将矩阵D的尺寸设计为60×60,并输入到卷积神经网络中进行提取情感特征操作。
为了更好地评估实验所选取的8 个通道对不同情感分类是否有区分度,将实验采集的8 个通道数据取平均值,绘制了如下的柱状图2。从图中可以看出在不同通道的特征对不同的情感有一定的区分度(如图2 的7 通道数据,可以看出积极情感的平均值最低,悲伤的最高)。可见所采样的八个通道数据,可以很好地进行情感分类。
图2 对不同情感分类柱状图Fig.2 Histogram of different emotions classification
每个通道数据的对比如下表2 所示。
表2 每个通道数据的对比Table 2 Comparison of data for each channel
如表2 所示,各个受试者采样得到的每类情感数据高达万条,如果不经处理直接将上述数据直接作为样本输入模型中,不仅样本数据量过少,还会导致模型参数过多,模型过于复杂和不稳定,因此需要对数据进行采样,每400 条数据采样一次作为样本,不足则舍去。
同时实验中注意到,由于受试者在刚开始进行观看影片时,情绪状态并不稳定,因此,在采样时应该跳过前1000 条数据,以消除参与实验的激动或紧张情绪对实验样本的干扰,使采样数据更为准确。采样后各类情感的样本数如表3 所示。
表3 采样后各类情感的样本数Table 3 Sample size of various emotions after sampling
本研究所提出的模型采用卷积层提取低级特征,在批归一化层和LeakyReLU 激活函数(Leaky Rectified Linear Unit)中引入非线性特性,在池化层中基于均值化方法提取整体特征,最后通过全连接层进行分类预测。为了更好地提升模型的性能,本研究借鉴VGGNet(Visual Geometry Group Netwo)小卷积核方法,在卷积核中扩大通道数、池化层中缩小特征图的宽和高,构建出计算代价小的改进模型。
同时相较于VGG,本研究所提出的模型在网络结构、填充、批归一化层和激活函数等方面进行了改进,使得整个网络更加精简和高效,适用于脑电信号的处理。具体表现:(1)网络结构:VGG 网络的网络结构深,包含多个重复的卷积块,参数量大。而本研究使用了更少的卷积层和全连接层,使得整个网络更加精简。(2)填充:VGG 网络中没有填充操作,每个卷积层都会导致输入尺寸的缩小,限制了模型表达能力,因此本研究在每个卷积层中均使用了填充操作以适应脑电信号处理。(3)批归一化层:VGG 网络中没有使用批归一化层,存在训练困难和过拟合的问题。而本研究在每个卷积层后添加了批归一化层,用于加速收敛和提升模型的泛化能力。(4)激活函数:相较于VGG 网络中使用的ReLU 激活函数,本研究所用的LeakyReLU 激活函数在输入小于0 时不会完全置零,而是允许一个小的负斜率,扩大了激活函数的非线性表达能力。这使得网络可以更好地捕捉脑电信号中的非线性特性,提高了模型的性能和表达能力。
本文所采用的卷积神经网络结构如图3 所示。
图3 卷积神经网络的结构示意图Fig.3 Structure diagram of convolutional neural network
其中卷积神经网络相关参数设置如表4 所示。
表4 卷积神经网络相关参数设置Table 4 Parameter settings for convolutional neural networks
2.1.1 卷积层
每个卷积层对上一层的局部感知区域进行卷积操作,通过多个卷积核对输入特征图的不同空间位置进行处理,从而提取不同的特征。每个卷积核具有一组学习得到的权重参数,用于对输入特征进行卷积运算。
对于第k个卷积层,卷积核的高度用Hk表示,卷积核的权重参数是Wk,输入特征图的通道数是Ck-1,卷积核的个数是Dk,尺寸为Hk×Wk×Ck-1×Dk。卷积运算可以用公式表示为:
式中Zk表示特征映射,Conv 表示卷积操作,Ak-1表示上一层输出,bk表示卷积的偏置项。
在卷积操作中,卷积核从输入特征图上滑动,每次滑动的步长为Sk,对每个局部感知区域与对应的权重进行点积操作,然后将所有点积结果相加得到输出特征图的一个元素。在输入特征图的周围添加填充像素的数量用Pk表示。经过卷积操作后,得到输出特征图Zk,其尺寸如下:
式中
2.1.2 批归一化层
批量归一化通过对小批量输入数据进行归一化处理,可以增加网络中间输出的稳定性和加速网络训练的收敛速度。
假设考虑第k个批归一化层,输入特征图为Zk,特征图的高度和宽度分别为Hk、Wk,通道数为Dk,尺寸为Hk×Wk×Dk,
针对批归一化层的输入特征图Zk,批量大小为N。首先计算小批量输入数据上的均值μk:
接下来计算小批量输入数据上的方差σk:
将输入特征图Zk进行标准化处理:
式中ε是一个很小的常数,避免除以零的情况。
对标准化后的输入特征图Z_k_normalized进行缩放和平移操作,以提高网络的表达能力:
其中γ和β是可学习的参数,通过反向传播算法进行优化。γ用于缩放标准化后的特征图,β用于在缩放后添加偏置。
批归一化层通过对输入数据进行归一化处理和缩放平移操作,使得网络中间输出的数值更稳定。这有助于缓解梯度消失和梯度爆炸的问题,并加速网络的收敛。此外,批量归一化还具有一定的正则化效果,可以降低模型的过拟合风险。批归一化层后使用LeakyReLU 激活函数来计入非线性因素。
LeakyReLU 激活函数的数学表达式如下:
式中X是输入,Y是输出,α是小于1 的斜率。如果X大于等于0,则输出Y等于X,否则输出Y等于αX。通过引入非零斜率,LeakyReLU 激活函数能够处理负值输入,进一步扩展了激活函数的非线性性质,提高了网络的表达能力。
2.1.3 平均池化层
平均池化层用于在输入数据中进行采样。它将输入数据的小区域取平均值,并输出相应的平均值特征图。
假设平均池化层的输入特征图为X,尺寸为H×W×D,其中H、W分别为特征图的高度和宽度,D为通道数。在平均池化层中,每个池化窗口的操作是取窗口内所有数值的平均值。对于输入特征图X中的每个通道,对应的池化操作如下:
其中Y是池化层的输出特征图,Y(i,j,k)表示在位置(i,j)处,第k个通道的输出值。Average 表示取窗口内所有数值的平均值。St 为池化窗口的尺寸,S为池化窗口的步长。
模型的两个全连接层用于将卷积层提取的特征映射到最终的分类结果。在这个卷积神经网络结构中,全连接层可以看作是特征提取器,将输入图像映射到特征向量空间,然后根据分类需求进行分类预测。具体流程如图4 所示。
图4 基于全连接神经网络情感分类流程图Fig.4 Flow chart of emotion classification based on fully connected neural network
在给定的卷积神经网络结构中,全连接层用于将卷积层提取的特征映射到最终的分类结果。其中全连接神经网络相关参数设置如表5 所示。
表5 全连接神经网络相关参数设置Table 5 Parameter settings for fully connected neural networks
2.2.1 第一个全连接层(FC1)
全连接层的计算公式如下:
其中X表示输入特征向量(大小为128×7×7,即将其展平为一维向量),W1表示权重矩阵(大小为[128×7×7, 256]),B1表 示 偏 置 向 量(大 小[256])。Z1为第一个全连接层的输出结果,batch_size 表示输入数据的批次大小,第一个全连接层的输出结果大小为[batch_size,256]。
为了引入非线性因素和增加网络的表达能力,在全连接层的输出结果上应用激活函数ReLU(rectified linear unit,ReLU):
式中A1为第一个全连接层的激活函数输出,大小与Z1相同。
2.2.2 第二个全连接层(FC2)
输入维度为256,由第一个全连接层输出,输出维度由分类的类别数量决定,假设分类的类别数量为C,那么输出维度就是C。全连接层的计算公式如下:
其中A1表示上一层的激活函数输出,即第一个全连接层的输出结果,W2表示权重矩阵(大小为[256,C]),B2表示偏置向量(大小为[C])。Z2为第二个全连接层的输出结果,batch_size 表示输入数据的批次大小,C 表示类别数量,[batch_size,C]为第二个全连接层的输出结果大小。为了将输出结果映射到概率空间并进行分类,在第二个全连接层的输出结果上应用Softmax 函数:
式中A2为最终的分类结果,表示每个类别的概率分布,大小为[batch_size,C]。
在深度学习中,常用计算参数数量来分析模型的复杂度,这样有助于直观地比较不同模型的能力和复杂程度。较简单的模型可能只含有少量的参数,而较复杂的模型会有更多的参数。因此,本研究通过参数数量这一有效指标来评估模型的复杂度:
分析可得模型总参数量为1,732,091,具体分析如表6 所示。
表6 模型复杂度分析Table 6 Model complexity analysis
为了更好地评估模型,实验记录了每轮训练过程中模型的损失率以及在测试集的准确率。模型在训练集上的损失率以及模型在在测试集上的准确率分别为图5 和图6 所示。
图5 模型在训练集上的损失率Fig.5 Loss rate of the model on the training set
图6 模型在测试集上的准确率Fig.6 Accuracy of the model on the test set
可以看出模型在训练过程中的损失总体呈现下降趋势,说明模型表现良好。模型在测试集上的准确率虽然出现震荡,但总体呈现上升趋势,最后模型准确率为81.43%。
为了将本研究所提出的方法与其他方法的效果进行比较,本研究分别采用了支持向量机(support vector machine, SVM)、长短期记忆网络(long short-term memory,LSTM)以及VGGNet(visual geometry group network)来进行对比。
3.2.1 基于SVM 模型的对比
对比模型采用支持向量机(SVM)进行三类别分类,使用线性核函数,并设定正则化参数C为1。为了处理多类别问题,本法采用一对剩余(One-vs-Rest)策略进行多类决策。
在一对剩余策略中,针对每个类别,训练一个二分类器来区分该类别和其他所有类别。对于三类别分类,将训练三个二分类器,分别用于区分第一类别和其他两个类别、第二类别和其他两个类别、第三类别和其他两个类别。
在训练阶段,对于每个二分类器,使用训练集中的样本进行训练。其中,正样本为属于该类别的样本,负样本为属于其他两个类别的样本。通过训练得到三个二分类器。
在测试阶段,对于每个测试样本,将其输入到三个二分类器中,得到三个分类结果。最终,选择具有最高置信度的类别作为最终的预测结果。通过以上步骤可以实现对三类别的情感分类。
3.2.2 基于LSTM 模型的对比
用于对比的LSTM 模型主要由一个LSTM 层和两个全连接层组成。将过采样时样本的数量作为时序特征输入模型,训练时将学习率调为0.001。其中LSTM 层的输入维度为60,隐藏层维度为128,输出维度为128。该层将输入序列进行处理,并输出最后一个时间步的隐藏状态。第一个全连接层的输入维度为128,输出维度为56。该层将LSTM 层的输出进行线性变换。第二个全连接层的输入维度为56,输出维度为3。该层将第一个全连接层的输出进行线性变换,并通过softmax 函数进行分类预测。模型框架如图7 所示:
图7 LSTM 模型框架Fig.7 LSTM model framework
同理,采用参数数量评估LSTM 模型的复杂度。具体分析如表7 所示。
表7 LSTM 模型复杂度分析Table 7 LSTM model complexity analysis
3.2.3 基于VGGNet 模型的对比
为了能更好地体现该模型的优势,本研究也将该模型与传统的VGGNet 模型[16]作对比,如图8所示。可以看出来模型在测试集上的准确率最高为77.10%,低于本研究所提出的模型的准确率81.43%。
图8 VGGNet 模型在测试集上的准确率Fig.8 Accuracy of VGGNet model on test set
同理,采用参数数量评估VGG 模型的复杂度,总参数量为54,620,307。具体分析如表8 所示。
表8 VGG 模型复杂度分析Table 8 VGG model complexity analysis
基于SVM、LSTM、VGGNet 方法的对比结果如表9 所示。
表9 基于SVM、LSTM、VGG 方法的准确率Table 9 Accuracy based on SVM,LSTM,VGG methods
本实验结果表明,采用SVM、LSTM 和VGGNet 方法的准确率分别为50.23%、63.67%和77.10%。而本研究提出的模型在脑电情感识别方面表现出色,准确率高达81.43%,优于其他方法;同时相较于VGGNet 的54,620,307 模型复杂度相比,本模型复杂度大大降低,仅为1,732,091。本次结果表明了本研究所提出的基于CNN 的脑电信号情感识别模型,在结构简洁的同时也可以对脑电情感特征进行高效处理。
本研究首先分析了现有深度学习方法在脑电信号处理中的局限性,提出一种基于卷积神经网络(CNN)的脑电信号情绪识别模型。该模型采用小卷积核思想,利用多层卷积神经网络提取脑电信号情感特征,在批归一化层和激活函数中引入非线性特性;随后通过两层全连接神经网络对提取到的情绪数据进行分类,将情感分为积极、中性和悲伤3 个类别,从而实现了脑电信号情绪识别以及分类。同时为了验证该模型的性能,本研究自主进行了脑电信号数据的测量,并构建了相应的数据集。通过与SVM、LSTM 以及VGGNet 的对比表明,本研究提出的模型在情绪识别任务中表现出明显的优势,不仅保证了网络结构的简洁性,同时也能够高效地捕捉脑电情感特征的时空结构。