论文 : Multi-Channel EEG Based Emotion Recognition Using TCNBLS

news2024/9/21 5:33:08

Multi-Channel EEG Based Emotion Recognition Using Temporal Convolutional Network and Broad Learning System

  • 本文设计了一种基于多通道脑电信号的端到端情绪识别模型——时域卷积广义学习系统(TCBLS)。
  • TCBLS以一维脑电信号为输入,自动提取脑电信号的情绪相关特征。在该模型中,设计了时间卷积网络(TCN)同时提取EEG时间特征和深度抽象特征,然后使用广义学习系统(BLS)将特征映射到更具辨识性的空间,进一步增强特征。

INTRODUCTION

  • 生理信号
    • 心电图(ECG)、皮肤阻力(SR)、脉搏率等生理信号属于体外,并非由大脑直接引起,因此难以快速准确地反映情绪变化。
    • 脑电图(EEG)信号从大脑直接传来。
  • EEG特征
    • 一些统计特征如均值、方差、一阶差分、二阶差分等可以反映时间序列中脑电图信号的特征。
    • 利用分形维谱、非平稳指数等非线性特征,可以更好地了解脑电图的非线性特性。
    • 功率谱是脑电图振荡动力学、中常用的表征扰动的特征。
    • 差分熵(DE)特征
    • 时频域特征,通常采用小波变换(WT)、傅里叶变换(FT)等方法提取。在提取特征后,使用一些机器学习分类器来识别情绪,如支持向量机(SVM)、k -近邻(KNN)、随机森林(RF)、线性判别分析(LDA)等。
  • 一些研究人员使用基于深度学习的方法进行EEG情绪识别,并获得了具有竞争力的表现。然而,许多基于深度学习的方法仍然需要复杂的预处理或额外的特征提取,这使得难以实现端到端学习。
  • 时域卷积网络(Temporal Convolutional Network, TCN)
    • 序列建模的有效方法。
  • 广义学习系统(BLS)
    • 一种平面网络,将输入映射到特征节点,将映射的特征增强到增强节点。
  • TCN的序列建模能力和BLS的随机映射能力的启发,设计了一个端到端的情感识别模型——时域卷积广义学习系统(TCBLS)。

PRELIMINARIES

Temporal Convolutional Network (TCN)

  • RNN与CNN相比有一定的局限性。为了解决这一问题,提出了时域卷积网络(TCN)。TCN是一种结合了简单卷积结构的序列模型。一个通用的TCN结构包含三个主要部分,即因果卷积、扩张卷积和剩余连接。

因果卷积(Causal Convolutions)

  • 因果卷积确保序列任务中的未来信息不会泄露给过去。
  • 在因果卷积中, t t t时刻的输出只与 t t t时刻及更早前一层的元素相关。它的表现形式如下:
    在这里插入图片描述
  • 其中 n n n为层数, T T T为时间窗口长度, c o n v conv conv为卷积运算

扩张卷积

  • TCN中的扩张卷积旨在提高从过去学习信息的能力。在层数相同的情况下,扩张因果卷积比普通因果卷积具有更大的接受域 1 − D 1-D 1D扩张卷积运算定义为:
    在这里插入图片描述
  • 其中 f ( ⋅ ) f(·) f()为输入, g ( ⋅ ) g(·) g()为扩张卷积的输出, h ( l ) h(l) h(l)为长度 k k k的滤波器, d d d为扩张因子, x − d ⋅ l x−d·l xdl表示元素 x x x的过去方向。图(a)显示了一个扩张随卷积的例子,其核大小为 k = 2 k = 2 k=2,扩张因子 d = 1 , 2 , 4 d = 1,2,4 d=1,2,4。在正则卷积中, d = 1 d = 1 d=1

残差连接(Residual Connections)

  • 残差块包含一个分支,该分支通向一系列转换。它可以定义为:
    在这里插入图片描述
  • 其中 x x x是输入, ψ ψ ψ是激活函数。残差连接已被证明在深度网络上是有效的。(b)为TCN的残块。该残差块包含两个扩展的随意卷积层,并在卷积滤波器上使用权重归一化。然后采用整流线性单元(ReLU)进行非线性处理,加入dropout进行正则化处理。

在这里插入图片描述

Broad Learning System (BLS)

  • BLS将输入随机映射到特征节点,然后将映射的特征随机扩展到增强节点。之后,映射的特征和增强的特征连接到输出。
  • 此外,增量学习算法是在BLS中开发的,因此当添加特征节点、增强节点或新的输入数据时,模型不需要从头开始重新训练。

TCBLS FOR EEG EMOTION RECOGNITION

  • EEG是由放置在头皮上的电极收集的时间序列信号,具有较高的时间分辨率。因此,时间信息对情绪识别很重要。
  • 在本文中,设计了一个结合TCN和BLS的模型来学习EEG的情绪相关特征并识别情绪状态。该模型利用TCN同时提取EEG时间特征和深度抽象特征,利用BLS将特征映射到更具辨识性的空间,进一步增强情感特征。
  • 该模型可以实现从一维多通道脑电图信号到情绪状态的端到端学习。

Pre-processing

  • 在采集视频刺激下的脑电图信号之前,通常采用短时间的无刺激采集基线信号。为了提高识别精度,采用去除基线信号的方法进行预处理,即将视频刺激下的脑电图信号与基线信号的差值作为TCBLS的输入。该步骤如下所示:
    在这里插入图片描述
  • 其中 I I I是通道数, c c c是通道总数。

Temporal Convolutional Broad Learning System (TCBLS)

  • 时域卷积广义学习系统(TCBLS)的框架如图所示。该模型以一维多通道脑电图数据为输入,采用深度和广度相结合的方法自动提取情绪相关特征
  • 结合TCN的序列建模能力和BLS的随机映射能力,分别提取和增强脑电信号特征。
  • TCN堆栈4个残差块,每个残差块包含2个扩展的随意卷积层。可以用下面的公式来计算感受野的大小:
    在这里插入图片描述
  • 其中 L L L为扩张卷积层总数, k i k_i ki为第 i i i个扩张卷积层的核大小, d i d_i di为第 i i i层的扩张因子。为了尽可能完整地提取EEG样本的时间特征,我们使模型的感受野尽可能地覆盖样本。

在这里插入图片描述

EXPERIMENTS AND RESULTS

Description of Dataset

  • 在本文中,使用DEAP数据库来评估。

Settings of Experiments

  • 一些参数设置

Results

并与近年来的其他方法进行了比较。我们选择与我们实验设置相似的文献进行比较,即所有文献都使用了DEAP数据库和主题依赖实验方法。

Yin等[26]提出了一种基于多融合层的集成堆叠自编码器(MESAE)分类器,以去除不必要的噪声和学习特征表示。他们将特征划分为几个子集,并用SAE分别对它们进行编码。Li等[10]采用离散小波变换(DWT)将脑电图划分为4个频段,提取熵和能量特征并用k -最近邻分类器进行分类。Yang et al[13]根据信道位置将四个频段的微分熵(DE)特征映射为维数为9×9×4的三维立方体,然后采用CNN对情绪进行分类。Yang等[14]将1D脑电图转换为2D脑电图帧,然后结合CNN和LSTM分别提取时空特征。Ozdemir等[27]利用方位等距投影(azthal equidistance Projection, AEP)技术将脑电图信号转换为二维脑电图图像,然后利用CNN进行分类。在实验中,我们也建立了TCN模型,并与TCBLS进行了比较。TCN的参数与TCBLS的参数相同,只是将BLS替换为全连通层。
图3显示了我们的方法与其他文献相比的性能。从图3可以看出,本文算法的性能优于对比方法,TCBLS的结果比最新文献的结果提高了3个百分点,在价态上达到99.5755%的平均精度,在唤醒上达到99.5781%的平均精度。此外,TCBLS的平均准确率比TCN高2个百分点,这反映了BLS对提高性能的积极意义。结果表明TCBLS在基于eeg的情绪识别中的有效性和鲁棒性。

CONCLUSION

  • 本文将深度网络和广义网络相结合,设计了一种基于多通道脑电信号的端到端情绪识别模型——时序卷积广义学习系统(TCBLS)。
  • TCBLS以一维多通道EEG数据为输入,通过TCN同时提取EEG的时间特征和深度抽象特征,再通过BLS进一步增强特征。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/440676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自然语言处理 —— 01概述

什么是自然语言处理呢? 自然语言处理就是NLP,全名为Natural Language Processing。 一、NLP的困难 1. 歧义 (1)注音歧义 (2)分词歧义 (3)结构歧义 (4)指代歧义 (5)语义歧义 (6)短语歧义

javascript简单学习

简介: javascript 是脚本语言 javascript是轻量级的语言 javascript是可插入html页面的编程代码 javascript插入html页面后,可由所有现代浏览器执行 以下是JavaScript的一些基本概念: 1. 变量:变量用于存储数据值&#xff0…

每日学术速递4.13

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Slide-Transformer: Hierarchical Vision Transformer with Local Self-Attention(CVPR 2023) 标题:Slide-Transformer:具有局部自注意力的分层视觉变换器 …

一、vue之初体验-两种方式引入vue

一、Vue引入方式-CDN <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" content"widthdevice-width, initial-s…

开源问答社区软件Answer

什么是 Answer &#xff1f; Answer 是一个开源的知识型社区软件。您可以使用它快速建立您的问答社区&#xff0c;用于产品技术支持、客户支持、用户交流等。 Answer是国内SegmentFault 思否团队开发的技术问答社区&#xff0c;Answer 不仅拥有搭建问答平台&#xff08;Q&A…

界面控件DevExtreme使用指南 - 折叠组件快速入门(一)

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合&#xff0c;使您可以利用现代Web开发堆栈&#xff08;包括React&#xff0c;Angular&#xff0c;ASP.NET Core&#xff0c;jQuery&#xff0c;Knockout等&#xff09;构建交互式的Web应用程序&#xff0c;该套件附带功能齐…

MySQL - C语言接口-预处理语句

版权声明&#xff1a;本文为CSDN博主「zhouxinfeng」的原创文章&#xff0c;原文链接&#xff1a;https://blog.csdn.net/zhouxinfeng/article/details/77891771 目录 MySQL - C语言接口-预处理语句预处理机制特点&#xff1a;预处理机制数据类型函数:预处理机制步骤&#xff1…

集群聊天服务器项目(三)——负载均衡模块与跨服务器聊天

负载均衡模块 为什么要加入负载均衡模块 原因是&#xff1a;单台服务器并发量最多两三万&#xff0c;不够大。 负载均衡器 Nginx的用处或意义**&#xff08;面试题&#xff09;** 把client请求按负载算法分发到具体业务服务器Chatserver能和ChatServer保持心跳机制&#xf…

机器学习实战5-天气预测系列:利用数据集可视化分析数据,并预测某个城市的天气情况

大家好&#xff0c;我是微学AI&#xff0c;最近天气真的是多变啊&#xff0c;忽冷忽热&#xff0c;今天再次给大家带来天气的话题&#xff0c;机器学习实战5-天气预测系列&#xff0c;我们将探讨一个城市的气象数据集&#xff0c;并利用机器学习来预测该城市的天气状况。该数据…

迈入Java,一文告诉你学习Java的原因

前言 Java是一种流行的编程语言&#xff0c;由Sun Microsystems于1995年首次发布。自那时以来&#xff0c;Java已成为全球最广泛使用的编程语言之一。Java具有许多优点&#xff0c;包括跨平台、面向对象和安全性等&#xff0c;使其成为开发企业软件、Web应用程序和移动应用程序…

Consul TTL健康检查方式

consul比较常用的健康检查方式为http健康检查方式&#xff0c;也还有使用TTL方式来进行健康检查的&#xff0c;下面从spring-cloud-consul-discovery这个SDK来着手分析。 构建ConsulAutoRegistration&#xff0c;这里的工作是组成服务注册的报文&#xff0c;有一个setCheck方法…

【应急响应】战中溯源反制对抗上线CSGoby蚁剑Sqlmap等安全工具

文章目录 溯源反制-Webshell工具-Antsword正常情况下&#xff0c;PHP后门上线发现PHP后门&#xff0c;修改webshell进行反制 溯源反制-SQL注入工具-SQLMAP溯源反制-漏洞扫描工具-Goby&Awvs溯源反制-远程控制工具-CobaltStrike1、伪造流量批量上线&#xff08;欺骗防御&…

(IPC)进程间通信的常用的两种方式——管道、共享内存

前言&#xff1a; 众所周知&#xff0c;不同的进程之间&#xff0c;在正常情况下&#xff0c;由于其拥有独立的PCB、上下文等原因&#xff0c;每个进程都是独立且互不干扰&#xff0c;这不仅保证了进程的安全&#xff0c;也降低了OS对于进程的管理成本。 但是通常情况下&…

第04讲:实战掌握 Byte Buddy,体验代码生成的顺畅

为什么需要运行时代码生成 我们知道&#xff0c;Java 是一种强类型的编程语言&#xff0c;即要求所有变量和对象都有一个确定的类型&#xff0c;如果在赋值操作中出现类型不兼容的情况&#xff0c;就会抛出异常。强类型检查在大多数情况下是可行的&#xff0c;然而在某些特殊场…

猴子分桃与反转部分单链表

目录 一、编程题 1.猴子分桃 2.反转部分单向链表 二、选择题 1.如果希望监听 TCO 端口 9000&#xff0c;服务器端应该怎样创建 socket&#xff1f; 2. jre 判断程序是否执行结束的标准是&#xff08; &#xff09; 一、编程题 1.猴子分桃 链接&#xff1a;猴子分桃__…

C# 平台调用过程

(1&#xff09;调用LoadLibrary加载非托管DLL到内存中,并调用GetProcAddress 获得内存中非托管函数的指针。 (2) 为包含非托管函数地址的托管签名生成一个DllImport存根&#xff08;stub)。 (3) 压入被调用方保存的寄存器。 (4&#xff09;创建一个DllImport帧&#xff08;fr…

Node.js—http模块

目录 1、HTTP 协议1.1 概念1.2 请求报文的组成1.3 HTTP 的请求行1.4 HTTP 请求头1.5 HTTP 的请求体1.6 响应报文的组成 2、创建 HTTP 服务2.1 操作步骤2.2 测试2.3 注意事项 3、获取 HTTP 请求报文3.1 请求方法 request.method3.2 请求版本 request.httpVersion3.3 请求路径 re…

shell 初级

判断当前磁盘剩余空间是否有20G&#xff0c;如果小于20G&#xff0c;则将报警邮件发送给管理员&#xff0c;每天检查一次磁盘剩余空间。 [rootlocalhost ~]# bash c.sh c.sh: line 7: echo剩余内存:1GB,小于20GB 判断web服务是否运行&#xff08;1、查看进程的方式判断该程序是…

ctfshow_愚人杯WEB之easy_flask

1、easy_flask 百度了下什么是flask&#xff0c;flask是一款非常流行的python web框架。 2、尝试步骤 &#xff08;1&#xff09;、搜索博文&#xff0c;查看该题是如何破解的 先注册账号&#xff0c;登录自己注册的账号&#xff0c;查看可访问内容&#xff08;可以查看到部…

深入探讨Linux驱动开发:字符设备驱动开发与测试

文章目录 一、字符设备驱动介绍1.设备驱动介绍 二、设备号1.设备号介绍2.分配与释放设备编号①dev_t类型②静态分配设备号③动态分配设备号④释放主次设备号⑤手动创建设备节点⑥自动创建设备节点⑦删除设备节点 三、字符设备注册1.cdev结构体2.注册cdev到内核 三、字符设备驱动…