(论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比

论文与源码见个人主页:(论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比     

https://download.csdn.net/download/qq_45874683/84995944

        在本文中,我们比较了深度学习模型:长短时记忆(LSTM)和卷积神经网络(CNN)在80-20和75-25次练测试分割比例中的表现。LSTM对like维度的情绪的识别率最高,为88.6%。CNN也给出了87.72%的准确率,因为它能够从输入信号中提取空间特征。因此,在这种情况下,这两种模型都非常好。

         在本文中,我们提出了两种深度学习模型LSTM(长-短期记忆)和CNN(卷积神经网络)之间的一个独特比较,在这两种结构中,我们将预处理的DEAP数据分为两个部分(训练集和测试集),即75-25和80-20,在这两个部分中我们得到了很好的结果。我们将LSTM用作序列任务,因为它们可以捕获更多依赖性并预测数据序列。本文使用的数据不是连续的,而是一种时序信号,因此LSTM提供了很好的结果。对于CNN来说,预测速度要快得多,而且是以计算效率高的方式进行的,这就是为什么CNN会出现在这篇研究论文中。


DEAP数据集介绍:

       建议看我个人主页的关于DEAP数据集介绍的博客,

      主要清楚DEAP数据集的每个文件是40*40*8064和40*4的两个矩阵。


特征提取:

       对特征提取进行快速傅立叶变换,将其从(40,40,8064)降到(58560,70)的最终维数,从而实现更快的训练,并提供更好的精度。这些提取的特征包括五个频带: Delta-δ (1–4 Hz), Theta-θ (4–8 Hz), Alpha-α (8–14 Hz), Beta-β (14–31 Hz), and Gamma-γ (31–50 Hz)\。共提取了70个特征,并使用了PyEEG python库。

(论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比_第1张图片

       FFT用于将x轴的信号域从时间更改为频率。它的工作原理是高效地计算时间序列的离散傅里叶变换(DFT)。通过以迭代方式计算DFT的系数,使计算变得更容易,从而减少了计算时间和计算复杂性。它还减少了与计算相关的舍入误差。

       模型选择了14个通道和5个波段。选择的窗口大小为256,平均频带功率为2秒。步长为16,这意味着每个0.125秒更新一次

(论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比_第2张图片


 模型结构:

       研究的两种深度学习模型是长短时记忆网络(LSTM)和卷积神经网络(CNN)。使用的数据集是DEAP数据集的python预处理版本。这些模型分别针对每种情绪、觉醒、配价、支配和喜好进行训练,并以0到9的标签对它们分别进行分类,并采用不同的训练测试分段。这两种模型都是使用Keras实现的。


LSTM模型:

       关于LSTM的基本知识本文不再介绍,

        本文的LSTM中,模型架构中有一个双向LSTM层、四个LSTM层和两个密集层,如图所示。第一个双向LSTM层有128个单元(总共256个)。它涉及复制网络中的第一个LSTM层,以便有两层并排。它将输入序列作为输入提供给第一个,并将其反向副本提供给第二个。然后是dropout,参数为0.6。这有助于防止过度拟合,根据训练期间的速率将输入随机设置为0。下一层是由256个神经元组成的LSTM层,然后是0.6的dropout层。接下来的4层是2个LSTM层,由64个神经元组成,每个神经元后面是一个dropout层。drppout参数分别为0.6和0.4。最后的LSTM层由32个神经元组成,然后是0.4的dropout层。然后使用16个单元的密集层。用于相同操作的激活函数是ReLU。然后,10个类的密集层与SoftMax激活函数一起使用。这导致我们的10个类的多类概率分布。知道所有类的概率后,使用argmax查找类输出就完成了。

(论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比_第3张图片


卷积神经网络模型(CNN):

       本文所使用的卷积神经网络模型中,三个conv1D、三个完全连接的密集层和一个密集层,最后激活了10个类,如图中的模型架构所示。第一个卷积层使用整流线性单元(ReLU)作为激活函数和128个核大小为3的滤波器。在使用网格搜索和手动更改进行大量超参数调整后,可以找到过滤器的准确数量和大小。传递到conv1D第一层的输入是形状(70,1),使用相同的填充和步幅1。第一层的输出是标准化的,即使用批量标准化层,平均值为零,标准偏差为一。下一层是池大小为2的最大池1D层,通过在窗口大小2上取最大值来对输入进行下采样。填充和跨步设置为默认值,即分别为“有效”和“无”。

 (论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比_第4张图片

 下一个卷积层与第一个卷积层相同,然后是批处理规范化和最大池化层。然后将形状展平,形成一个一维层,并将其馈送到一个由64个神经元和tanh(tanh)组成的全连接层,作为激活函数。密集层输出上的dropout用于减少网络的过度拟合,dropout参数为0.2。其次是1个密集层32个神经元,tanh激活和dropout层0.2,另一个密集层16个神经元,激活函数为ReLU,dropout参数为0.2。最后,使用由10个神经元组成的密集层(激活函数为SoftMax)给出网络的输出


 调整超参数:

         在确定网络参数时,进行了大量超参数调整。由于梯度消失和爆炸等问题,不选择循环神经网络(RNN)。然而,尝试了一层门控循环单元(GRU)代替双向LSTM作为第一层,但结果并不令人满意。在CNN架构中,使用Conv1D层是因为它最适合时间序列数据。Max pool和average pool都进行了尝试,但Max pool的结果与文献中的预期一致。其他参数,如epoch数、batch-size大小、优化器、损失函数、激活函数和学习率,都是通过网格搜索最终确定的。

(论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比_第5张图片

       CNN和LSTM体系结构的最终epoch-size大小为200,batch-size大小为256。模型在不同的训练测试分割(如80-20和75-25)上进行训练,10倍的K倍交叉验证也用于找到最合适的度量精度。在反向传播过程中,他们用于更新权重的损失函数是分类交叉熵,使用的优化器是Adam。最后一层的激活功能是SoftMax,用于这两个层。CNN模型的层数、隐藏单元数、过滤器大小、过滤器数量和池大小等参数,以及LSTM模型的隐藏神经元数量、退出率和层数分别最终确定,参数详见表。这是通过网格搜索和手动测试完成的。


实现平台:

       用于计算CNN和LSTM分类器的环境是Google Collaboratory,这是一个托管的Jupyter笔记本服务,无需设置即可使用,同时提供对包括GPU在内的计算资源的免费访问。python版本是python(3.6.9)。TensorFlow版本是2.2.0。代码在虚拟机中执行。CoLab中可用的GPU通常包括Nvidia K80、T4s、P4s和P100。


实验结果:

(论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比_第6张图片

(论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比_第7张图片


结论:

       在本研究论文中,CNN和LSTM模型在80-20和75-25次训练测试分割上进行了比较,成功地对用于情绪分析的EEG信号进行了分类。取得的最佳结果是使用一个双向层的LSTM模型。与之前的论文相比,由于Bi-LSTM能够保存从未来到过去以及从过去到未来的信息,因此它增强了该模型在该序列分类问题上的性能。与传统的特征提取技术相比,用于特征提取的FFT(傅里叶变换)也有助于提高精度。由于CNN能够从输入信号中提取空间特征,因此它的精确度也很高。

 论文与源码见个人主页:(论文加源码)基于deap的脑电情绪识别分别使用cnn和lstm对比     

https://download.csdn.net/download/qq_45874683/84995944

学习过程中例如脑电情绪识别:

你可能感兴趣的:(脑电情绪识别,lstm,cnn,深度学习)