45、上海大学:轻量级多特征神经网络M-FANet,用于MI-BCI解码

本文由上海大学机电工程与自动化学院于2024.1.9日发表于IEEE Transactions on Neural Systems and Rehabilitation Engineering(SCI中科院分区二区,IF:4.9)

论文链接:M-FANet: Multi-Feature Attention Convolutional Neural Network for Motor Imagery Decoding | IEEE Journals & Magazine | IEEE Xplore

研究背景:

运动意象(MI)解码方法是推进康复和运动控制研究的关键。基于脑机接口(BCI)的有限低信噪比脑电图(EEG)信号样本中频谱-时空特征的有效提取是MI解码的关键。本文提出了一种轻量级的多特征注意神经网络(M-FANet),用于特征提取和多特征数据的选择。M-FANet采用几个独特的关注模块来消除频域冗余信息,增强局部空间特征提取和校准特征映射。引入正则化Dropout (R-Drop)训练方法来解决Dropout导致的训练-推理不一致问题,提高模型的泛化能力。我们在BCI竞赛IV 2a (bbic -IV-2a)数据集和2019年世界机器人大会竞赛-BCI机器人竞赛MI (wbbic -MI)数据集上进行了广泛的实验。M-FANet在bbic - iv -2a数据集上的4类分类准确率为79.28% (kappa: 0.7259),在wbbic -MI数据集上的3类分类准确率为77.86% (kappa: 0.6650),与现有的MI解码方法相比,M-FANet的性能更为优越。多特征关注模块和R-Drop在轻量化模型中的应用显著提高了其性能,并通过综合烧蚀实验和可视化验证了这一点。因此,本研究提出了Multi-Feature Attention Convolutional Neural Network(M-FANet)旨在提升MI的解码性能。

Model:

M-FANet设计了从频率、局部空间、特征图三个角度校准EEG相关信息的注意力模块。

本文的贡献总结如下:

•提出一种轻量级的多特征注意神经网络(M-FANet),该网络通过从EEG信号中提取更广泛的特征,并使用多个注意模块来有效地利用它们来增强MI任务的分类性能。

•引入R-Drop作为一种模型训练方法来缓解过度拟合。

•使用BCI Competition IV 2a(BCIC-IV-2a)四类任务数据集和2019世界机器人大会竞赛-BCI机器人竞赛MI(WBCIC-MI)三类任务数据集进行实验,以评估所提出的M-FANet与最先进的MI解码方法的有效性和优越性。此外,还深入研究了R-Drop引入的正则化项对网络性能的影响。

模型结构:

在最先看到本文模型图之后,我就确认该模型是在EEGNet稳定的3个block基础上改进的,再看论文中所讲,果不其然:

0、Bandpass Filtering:

原始EEG样本X∈R **C×T,其中C为EEG通道数,T为时间点。使用Chebyshev Type II滤波器对原始EEG数据实现多个带通滤波器,其阻带纹波为-30dB,固定步长为L(此处设置为4Hz)。

1、Frequency Band Attention Module:

在MI的机器学习算法中,带通滤波器参数对解码结果有显著影响,这表明频域虽然充满了有价值的信息,但很难准确地提取出来。为了捕获频域内的相关信息,设计了基于注意机制的频带注意模块,实现了自适应频率滤波,来接受步骤0输出的带通频率数据

2、 Local Spatial Attention Module: 

根据神经科学对心肌梗死的先验知识,我们知道心肌梗死主要激活与运动相关的大脑区域,尤其是靠近电极C3, Cz和C4的区域。因此,在提取空间维度的特征时,不应将通道视为平等的,而应将重点放在与MI相关的领域。设计了局部空间注意模块,从局部电极群中提取有效的空间信息。局部空间卷积核大小(Ks,1),也就是因为该团队接了国自然项目,要搞心肌梗死的识别,这里先不完全使用全部的空间信息,只使用局部的相应的通道中的与心肌梗死有关的特征。

3、Temporal spatial convolution:

后接时空卷积,Conv2d+BN+深度卷积,提取时间、空间信息(融合了EEGNet的block1+block2

4、 Feature Map Attention Module:

一个SENet块,SENet是在通道域中加⼊Attention最早的模型,我之前博客有讲的,这里不多说

5、SeparableConv2D:

最后使用深度可分离卷积对以上提取的各级别特征解码(EEGNet的bkock3原封不动

6、Classification

结语:

在我看来本模型是EEGNet+SENet+CSP-Bandpass Filtering的融合,学习EEGNet并对其改进,还是大有可为的,至少发个SCI3、4区的不是问题。

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

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

相关文章

数据结构--二叉排序树(Binary Search Tree,简称BST)

这里写自定义目录标题 二叉排序树二叉排序树与排序数组没有排序数组,链式存储链表的对比二叉排序树概念对于搜索操作,对于插入操作,对于删除操作, 分析删除节点代码运行结果 二叉排序树 二叉排序树与排序数组没有排序数组&#x…

【React源码 - 调度任务循环EventLoop】

我们知道在React中有4个核心包、2个关键循环。而React正是在这4个核心包中运行,从输入到输出渲染到web端,主要流程可简单分为一下4步:如下图,本文主要是介绍两大循环中的任务调度循环。 4个核心包: react:…

SpringMVC了解

1.springMVC概述 Spring MVC(Model-View-Controller)是基于 Java 的 Web 应用程序框架,用于开发 Web 应用程序。它通过将应用程序分为模型(Model)、视图(View)和控制器(Controller&a…

SpringMVC 学习(八)之文件上传与下载

目录 1 文件上传 2 文件下载 1 文件上传 SpringMVC 对文件的上传做了很好的封装,提供了两种解析器。 CommonsMultipartResolver:兼容性较好,可以兼容 Servlet3.0 之前的版本,但是它依赖了 commons-fileupload …

kubectl 命令行管理K8S(上)

目录 陈述式资源管理方式 介绍 命令 项目的生命周期 创建 kubectl create命令 发布 kubectl expose命令 更新 kubectl set 回滚 kubectl rollout 删除 kubectl delete 应用发布策略 金丝雀发布 陈述式资源管理方式 介绍 1.kubernetes 集群管理集群资源…

python 基础知识点(蓝桥杯python科目个人复习计划53)

今日复习内容:做题 例题1:最大的卡牌价值 问题描述: 给定n副卡牌,每张卡牌具有正反面,正面朝上数字为ai,背面朝上数字为bi。一副卡牌的价值为正面朝上数字之和,一开始所有卡牌都是正面朝上的…

【已解决】用ArcGIS处理过的数据在QGIS中打开发生偏移怎么办?| 数据在ArcGIS中打开位置正常,在QGIS中偏移

1. 问题描述 栅格或者矢量数据用ArcGIS打开时位置正确(可以和其他数据对应上)。但是用QGIS打开后发现位置不对 2. 问题的原因 因为该数据用了ArcGIS自定义的坐标系,QGIS不支持,识别有误。因此在数据QGIS中的坐标系参数有误&a…

HTTP 的 multipart 类型

上一篇文章讲到 http 的 MIME 类型 http MIME 类型 里有一个 multipart 多部分对象集合类型,这个类型 http 指南里有讲到:MIME 中的 multipart(多部分)电子邮件报文中包含多个报文,它们合在一起作为单一的复杂报文发送…

【生态适配】亚信安慧AntDB数据库与FT-2000+/64处理器完成兼容互认

日前,亚信安慧AntDB数据库完成了与FT-2000/64处理器的兼容互认。经湖南亚信安慧科技有限公司(简称“亚信安慧”)与飞腾信息技术有限公司(简称“飞腾公司”)的严格测试,亚信安慧AntDB数据库V6.2在FT-2000/64…

《大模型时代-ChatGPT开启通用人工智能浪潮》精华摘抄

原书很长,有19.3w字,本文尝试浓缩一下其中的精华。 知识点 GPT相关 谷歌发布LaMDA、BERT和PaLM-E,PaLM 2 Facebook的母公司Meta推出LLaMA,并在博客上免费公开LLM:OPT-175B。 在GPT中,P代表经过预训练(…

一看就会:使用nvm实现多个版本的node自由切换

一、介绍 使用nvm可以方便的在同一台设备上进行多个node版本之间切换,解决不同的项目所使用的node版本不一样的问题 二、安装nvm 如果已安装node环境先卸载后再安装nvm,防止出现不确定错误 1、卸载node环境,并清除node环境变量配置 通过…

【README 小技巧】 展示gitee中开源项目start

【README 小技巧】 展示gitee中开源项目start <a target"_blank" hrefhttps://gitee.com/wujiawei1207537021/wu-framework-parent><img srchttps://gitee.com/wujiawei1207537021/wu-framework-parent/badge/star.svg altGitee star/></a>

我在使用 Copilot 时遇到了许可证验证错误。

如果使用的是 Copilot&#xff0c;并收到以下错误消息&#xff0c;请按以下步骤进行操作&#xff1a; We encountered a problem validating your Copilot license. For more information, see https://aka.ms/copilotlicensecheck 请确保使用的是正确的帐户 请确保已使用具…

Flink动态分区裁剪

1 原理 1.1 静态分区裁剪与动态分区裁剪 静态分区裁剪的原理跟谓词下推是一致的&#xff0c;只是适用的是分区表&#xff0c;通过将where条件中的分区条件下推到数据源达到减少分区扫描的目的   动态分区裁剪应用于Join场景&#xff0c;这种场景下&#xff0c;分区条件在joi…

kafka平滑升级过程指导

一、前言 Apache Kafka作为常用的开源分布式流媒体平台&#xff0c;可以实时发布、订阅、存储和处理数据流,多用于作为消息队列获取实时数据&#xff0c;构建对数据流的变化进行实时反应的应用程序&#xff0c;已被数千家公司用于高性能数据管道、流分析、数据集成和任务关键型…

算法day01_ 27. 移除元素、977.有序数组的平方

推荐阅读 从零开始学数组&#xff1a;深入浅出&#xff0c;带你掌握核心要点 初探二分法 再探二分法 系统的纪录一下刷算法的过程&#xff0c;之前一直断断续续的刷题&#xff0c;半途而废&#xff0c;现在重新开始。话不多说&#xff0c;开冲&#xff01; 27.移除元素 题目 给…

js 面试 什么是WebSockets?HTTP和HTTPS有什么不同?web worker是什么?

概念&#xff1a; webSocket 是一种在客户端和服务端之间建立持久连接的协议&#xff0c;它提供全双工通信通道&#xff0c;是服务器可以主动向客户端推送数据&#xff0c;同时也可以接受客户端发送的数据。 1 webSocket与https区别&#xff1f; 在网络通信中&#xff0c;We…

Acceptor监听套接字管理类实现(模块七)

目录 类功能 类定义 类实现 编译测试 类功能 类定义 // 监听套接字管理类 class Acceptor { private:Socket _socket; // 用于创建监听套接字EventLoop *_loop; // 用于对监听套接字进行事件监控Channel _channel; // 用于对监控套接字进行事件管理using AcceptCallback…

11 PLL IP核

PLL IP 核简介 锁相环&#xff08;PLL&#xff09;作为一种反馈控制电路&#xff0c;其特点是利用外部输入的参考信号来控制环路内部震荡信号的频率和相位。因为锁相环可以实现输出信号频率对输入信号频率的自动跟踪&#xff0c;所以锁相环通常用于闭环跟踪电路。锁相环在工作…

36.云原生之SpringCloud+k8s实践

云原生专栏大纲 文章目录 SpringCloudk8s介绍spring-cloud-kubernetes服务发现配置管理负载均衡选主 spring-cloud-bookinfo案例构建项目环境配置namespace部署与验证productpagegatewaybookinfo-admindetailsratingsreviewsreviews-v1reviews-v2 总结 SpringCloudk8s介绍 ht…