论文解读---基于双半脑领域对抗神经网络的脑电情绪识别

本文主要是介绍论文解读---基于双半脑领域对抗神经网络的脑电情绪识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文地址:A Bi-hemisphere Domain Adversarial Neural Network Model for EEG Emotion Recognition

本文工作是对前期研究(A Novel Neural Network Model based on Cerebral Hemispheric Asymmetry for EEG Emotion Recognition | IJCAI18, [2])的改进。文章提出了一种新的深度神经网络模型-BiDANN(双半脑领域对抗神经网络)用于脑电情绪识别任务,该模型考虑了训练和测试数据之间的分布差异和大脑左右半脑的不对称性,并提出了一个改进版本BiDANN-S用于实现被试无关(subject-independent)的情绪识别。文章在SEED数据集进行验证,达到了state-of-the-art的水平。

一、研究动机

1.1 源域和目标域的特征分布存在差异

传统机器学习方法假设训练和测试数据集的特征分布是相似的,为此,才可以运用在训练集上学到的知识对测试数据进行识别。而在跨被试和跨时间的情绪识别任务中,源域(训练集)和目标域(测试集)的特征分布存在较大的差异。主要体现在不同被试和同一被试在不同实验条件下采集的脑电信号之间。因此,我们应该找到一个共同的特征表示空间,在此空间内减小源域和目标域的特征分布差异。

1.2 大脑的左右半脑存在功能差异

虽然人类大脑的解剖结构看起来是对称的,但左右半脑并不完全对称,其在结构和功能上均存在差异性。因此,从神经科学的角度看,在脑电情绪识别模型的构建中,考虑大脑的本质或特征对于情绪识别更有价值。

二、网络结构及思想

从上述研究动机出发,作者提出了双半脑领域对抗神经网络(bi-hemispheres domain adversarial neural network, BiDANN)用于脑电情绪识别。BiDANN模型包括一个全局和两个局部领域判别器,它们与分类器对抗工作,以学习每个半脑内的判别性情绪特征,同时减轻每个半脑内源域和目标域数据之间的特征分布差异。

2.1 BiDANN网络主要结构

特征提取器(Feature Extractor):该网络包含两个特征提取器,用于将原始脑电特征映射到深层特征空间,分别用于学习左右半脑特征信息。

分类器(Classifier):通过将特征映射到标签空间来预测情绪类别。

领域判别器(Discriminator):全局领域判别器用于区分输入来自哪个域(训练数据或测试数据),两个半脑的局部判别器用于进一步缩小左右半脑内源域和目标域脑电特征分布差异。

梯度反向层(gradient reversal layers, GRL)的作用是在网络正向传播时保持输入不变,在反向传播时将梯度乘以一个负标量,从而在不影响分类器正常工作的前提下,使判别器的学习目标为损失最大化,以减小源域和目标域特征差异。

          

网络学习目标是对特征提取器、领域判别器和分类器的参数进行优化,以使分类器的损失最小化,领域判别器的损失最大化,这将产生分类器和领域判别器之间的对抗性学习,从而使网络学习到与情绪相关但与领域无关的判别信息。

BiDANN的损失函数为

         

2.2 左右半脑特征提取过程

为了充分利用序列的时间依赖性,文章构造了一个长短时记忆(LSTM)框架来学习上下文信息,并将输入映射到另一个更有效的特征空间。

 

由5个子频带的微分熵构成的手工特征表示为

$$\mathbf{X}^{l}=\left[\mathbf{x}_{1}^{l}, \cdots, \mathbf{x}_{t_{x}}^{l}\right] \in \mathbb{R}^{d_{x}^{l} \times t_{x}}$$

$$\mathbf{X}^{r}=\{\left[\mathbf{x}_{1}^{r}, \cdots, \mathbf{x}_{t_{x}}^{r}\right] \in \mathbb{R}^{d_{x}^{r} \times t_{x}}$$

\(d_{x}^{l}\)和\(d_{x}^{r}\)为特征向量的维度,\(t_{x}\)为序列的长度,文中为9。

LSTM输出为

$$\mathbf{Y}^{l}=\left[\mathbf{y}_{1}^{l}, \cdots, \mathbf{y}_{t_{x}}^{l}\right]=\left[f\left(\mathbf{x}_{1}^{l}\right), \cdots, f\left(\mathbf{x}_{t_{x}}^{l}\right)\right]$$

$$\mathbf{Y}^{r}=\left[\mathbf{y}_{1}^{r}, \cdots, \mathbf{y}_{t_{x}}^{r}\right]=\left[f\left(\mathbf{x}_{1}^{r}\right), \cdots, f\left(\mathbf{x}_{t_{x}}^{r}\right)\right]$$

再通过以下变换,获得深层特征\(\left(\mathbf{H}^{\prime}, \mathbf{H}^{r}\right)\)

                   

$$\mathbf{H}^{l}=\sigma\left(\mathbf{Y}^{l} \mathbf{G}+\mathbf{B}\right)=\sigma\left(f\left(\mathbf{X}^{l}\right) \mathbf{G}+\mathbf{B}\right)$$

$$\mathbf{H}^{r}=\sigma\left(\mathbf{Y}^{r} \mathbf{G}+\mathbf{B}\right)=\sigma\left(f\left(\mathbf{X}^{r}\right) \mathbf{G}+\mathbf{B}\right)$$

2.3 BiDANN模型训练过程

                            

2.4 BiDANN-S网络结构

上述方法考虑了源域和目标域之间的特征分布差异,但在处理跨被试的脑电情绪识别任务时仍可能遇到困难,因为即使在同一源域内,不同被试的脑电数据亦存在差异。为了解决与被试无关的脑电情绪识别问题,作者提出了基于上述BiDANN的BiDANN-S改进模型。该模型在BiDANN的基础上引入了一个额外的被试判别器Ds,以尽可能降低被试个人特性对脑电情绪识别的影响。

                      

BiDANN-S的损失函数为

                                    

 

三、实验设计及结果分析

为了评估BiDANN不同部分对EEG情绪识别的贡献,除了基准方法DANN[3]外,作者通过对BiDANN的变形设置了两个对比实验BiDANN-R1和BiDANN-R2。与BiDANN相比,BiDANN-R2减少了局部判别器,进一步,BiDANN-R1在提取源域和目标域特征时不再考虑左右半脑的数据分布差异。

                                   

                                 

作者在广泛用于脑电情绪识别研究的数据集SEED[3]上设置了两个实验:Conventional(subject-dependent)情绪识别实验和Personalized(subject-independent)情绪识别实验。在Conventional实验中,BiDANN取得了最佳识别结果,在Personalized实验中BiDANN-S识别效果最好。

文章还使用BiDANN-R1方法研究了左右半脑对三种情绪识别的影响,并得到右半脑脑电信号有利于消极情绪识别,左半脑脑电信号有利于积极情绪识别的结论。

                                 

为进一步说明本文方法确实能够减小不同被试之间特征分布差异,作者在HR-EEG4EMO [4]数据集上(二分类任务)进行了验证实验。下图显示了5位被试的原始脑电特征(band power, BP)以及经过BiDANN和BiDANN-S进行领域自适应后的特征在运用t-SNE降维后得到的特征分布。与原始特征相比,可以看出,在使用BiDANN或BiDANN-S时,正面情绪和负面情绪之间的可分离性变得更加容易。另一方面,与BiDANN方法相比,BiDANN-S方法在大多数情况下拥有更好的可分离性。

总结

文章的主要贡献为:本文在情绪识别研究中考虑了左右半脑之间的依赖关系,并将神经科学关于大脑不对称的发现应用到深度学习模型中;除了约束训练数据和测试数据之间的全局分布相似性外,文章还考虑了左右半脑的局部分布相关性;通过引入被试判别器,有效地减小了源域内不同被试之间的特征分布差异,取得了更好的识别效果。

不足之处:文章所用输入数据(9s)比Zheng等人[5]所提方法中样本数据(1s)更长,可以考虑适当减小输入数据长度。此外,不知道为什么作者在文章最后的讨论部分,引入了另外一个数据集来验证本文方法对于领域自适应的有效性,而没有直接在SEED数据集上验证。

参考文献

  1. Li Y, Zheng W, Zong Y, et al. A Bi-hemisphere Domain Adversarial Neural Network Model for EEG Emotion Recognition[J]. IEEE Transactions on Affective Computing, 2018.
  2. Li Y, Zheng W, Cui Z, et al. A Novel Neural Network Model based on Cerebral Hemispheric Asymmetry for EEG Emotion Recognition[C]//IJCAI. 2018: 1561-1567.
  3. Ganin Y, Ustinova E, Ajakan H, et al. Domain-adversarial training of neural networks[J]. The Journal of Machine Learning Research, 2016, 17(1): 2096-2030.
  4. Becker H, Fleureau J, Guillotel P, et al. Emotion recognition based on high-resolution EEG recordings and reconstructed brain sources[J]. IEEE Transactions on Affective Computing, 2017.
  5. Zheng W L, Lu B L. Investigating critical frequency bands and channels for EEG-based emotion recognition with deep neural networks[J]. IEEE Transactions on Autonomous Mental Development, 2015, 7(3): 162-175.

更多与脑机接口和情绪识别相关的论文解读请访问专业论文解读与分享平台PaperWeekly.

这篇关于论文解读---基于双半脑领域对抗神经网络的脑电情绪识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/448442

相关文章

python3 gunicorn配置文件的用法解读

《python3gunicorn配置文件的用法解读》:本文主要介绍python3gunicorn配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python3 gunicorn配置文件配置文件服务启动、重启、关闭启动重启关闭总结python3 gun

关于pandas的read_csv方法使用解读

《关于pandas的read_csv方法使用解读》:本文主要介绍关于pandas的read_csv方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录pandas的read_csv方法解读read_csv中的参数基本参数通用解析参数空值处理相关参数时间处理相关

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(

解读spring.factories文件配置详情

《解读spring.factories文件配置详情》:本文主要介绍解读spring.factories文件配置详情,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用场景作用内部原理机制SPI机制Spring Factories 实现原理用法及配置spring.f

Spring MVC使用视图解析的问题解读

《SpringMVC使用视图解析的问题解读》:本文主要介绍SpringMVC使用视图解析的问题解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC使用视图解析1. 会使用视图解析的情况2. 不会使用视图解析的情况总结Spring MVC使用视图

Linux中的进程间通信之匿名管道解读

《Linux中的进程间通信之匿名管道解读》:本文主要介绍Linux中的进程间通信之匿名管道解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基本概念二、管道1、温故知新2、实现方式3、匿名管道(一)管道中的四种情况(二)管道的特性总结一、基本概念我们知道多

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音