运动想象 (MI) 分类学习系列 (8) :IFNet

运动想象分类学习系列:IFNet

  • 0. 引言
  • 1. 主要贡献
  • 2. 提出的方法
    • 2.1 交互式频率卷积神经网络
      • 2.1.1 光谱空间特征表示
      • 2.1.2 跨频交互
      • 2.1.3 分类(一个池化+分类层)
    • 2.2 重复试验增强
  • 3. 实验
    • 3.1 基线比较
    • 3.2 消融实验
      • 3.2.1 数据增强消融
      • 3.2.2 条带分割消融
      • 3.2.3 交互算子的烧蚀
  • 4. 总结
  • 欢迎来稿

论文地址:https://ieeexplore.ieee.org/abstract/document/10070810
论文题目:IFNet: An Interactive Frequency Convolutional Neural Network for Enhancing Motor Imagery Decoding from EEG
论文代码:https://github.com/Jiaheng-Wang/IFNet

0. 引言

基于脑电图(EEG)的脑机接口(BCI)的运动意象(MI)解码的关键原理是联合高效地从频谱、空间和时间域中提取任务判别特征,而有限、噪声和非平稳的脑电图样本对解码算法的先进设计提出了挑战。方法:受跨频耦合概念及其与不同行为任务的相关性的启发,该文提出一种轻量级交互式频率卷积神经网络(IFNet) 来探索跨频交互以增强MI特征的表示。IFNet首先分别提取低频段高频段的光谱空间特征。然后,使用逐个元素加法操作学习两个波段之间的相互作用,然后进行时间平均池化。结合作为正则化器的重复试验增强,IFNet为最终的MI分类提供了光谱-时空-鲁棒的特征。

总得来说,有一定的借鉴价值,包括频带分成了两个而不是如FBCSP那样区分,另外特征增强方法有点意思,基础框架还是EEGNet! 所以EEGNet永远的神!!!

另外,对于模型这里频带的选择可能是参考FBCSP的,但是又跟节律扯上关系,我是觉得有点难以理解的,mu节律beta节律被分割开了,所以很难解释清楚,有兴趣的同学可以按照节律的思路测试一下。。。。

1. 主要贡献

  1. 我们提出了一种轻量级交互式频率卷积神经网络 (IFNet) 来探索跨频相互作用,以增强 MI 任务的频谱-时空鲁棒表示。
  2. 我们引入了重复试验增强作为正则化器,以缓解网络训练期间由有限和嘈杂的脑电图样本引起的过拟合
  3. 我们在两个基准数据集上对最先进的MI解码算法进行了广泛的实验,证明了所提出的IFNet的有效性和优越性。此外,它在解码速度准确性之间实现了最佳权衡。最后但并非最不重要的一点是,我们验证了IFNet学习神经生理学上可解释的特征。

2. 提出的方法

2.1 交互式频率卷积神经网络

跨频耦合(CFC)概念EEGNet高效设计的启发,我们提出了IFNet来有效和高效地捕获光谱-时空-时间判别特征。IFNet由三个阶段组成:光谱空间特征表示跨频交互分类。IFNet的架构如下图所示。
在这里插入图片描述
具体参数如下:
在这里插入图片描述
注意:这里平均池化层的stride也设置为125。

2.1.1 光谱空间特征表示

为了实现显式频带相互作用,我们将脑电图信号分为两个特征频带。由于脑振荡通常被归类为特定频段(delta:<4 Hz、θ:4-7 Hz、alpha:8-12 Hz、beta:12-30 Hz、γ:>30 Hz),脑电信号首先分别滤波为低频(4-16 Hz)高频(16-40 Hz)频段。这两个波段的选择涵盖了与 MI 特征最相关的 mu 和 beta 节奏。我们采用空间滤波,然后采用时间滤波来学习光谱空间判别模式。具体来说,在我们的实现中,X 被视为具有多通道的时间维度的一维图像。然后,通过以下方式产生光谱空间特征:
U l = F t ^ ( F s ^ ( X l ) ) U h = F t ~ ( F s ~ ( X h ) ) \begin{align*} U_{l} &= \widehat { \mathcal {F}_{t} } \left ({ \widehat { \mathcal {F}_{s} } (X_{l}) }\right ) \\ U_{h} &= \widetilde { \mathcal {F}_{t} } \left ({ \widetilde { \mathcal {F}_{s} } (X_{h}) }\right ) \tag{1}\end{align*} UlUh=Ft (Fs (Xl))=Ft (Fs (Xh))(1)
其中, X l X_{l} Xl表示低频信号, X h X_{h} Xh表示高频信号, F s ^ \widehat {\mathcal {F}_{s}} Fs F t ^ \widehat {\mathcal {F}_{t}} Ft 分别表示一维逐点空间卷积一维深度时间卷积。它们之后都跟着批量归一化 (BN) 层

2.1.2 跨频交互

为了增强光谱空间特征的表示能力,我们对不同频段之间的相互作用进行了建模。具体来说,我们研究了各种交互算子

  • Summation(求和): I ( U l , U h ) = U l + U h I(U_l,U_h)=U_l+U_h I(Ul,Uh)=Ul+Uh
  • Concatenation(串联): I ( U l , U h ) = [ U l , U h ] I(U_l,U_h)=[U_l,U_h] I(Ul,Uh)=[Ul,Uh]
  • Hadamard product(Hadamard 算子): I ( U l , U h ) = U l ⊙ U h I(U_l,U_h)=U_l⊙U_h I(Ul,Uh)=UlUh
  • Linear projection(线性投影): I ( U l , U h ) = W l U l + W h U h I(U_l,U_h)=W_lU_l+W_hU_h I(Ul,Uh)=WlUl+WhUh
  • Split attention(分散注意力):采用 Fuse 和 Select 算子。

2.1.3 分类(一个池化+分类层)

虽然传统的 MI 解码方法通常使用方差作为时间特征,但池化广泛用于 CNN 中的信息聚合。因此,我们采用非重叠窗口大小W 以提取稳健的时间表示。由于脑电图的振荡节律可以在短时间内假设为静止信号,因此在这项工作中,W 在 250 Hz 采样率下设置为 125,表示 0.5 秒长的 EEG 特征。
注意:这里池化层的stride也设置为125。

2.2 重复试验增强

我们引入了由随机裁剪随机擦除组成的重复试验增强作为正则化器,以稳定训练并增强神经网络在脑电图解码中的泛化。简而言之,它通过多个数据转换在小批量中生成多个样本实例。重复试验增强的图示如图 2 所示。

在这里插入图片描述

3. 实验

3.1 基线比较

下图展示了在BCIC-IV-2a数据集上的结果。IFNet 始终优于其他方法,并且 IFNet 与所有其他方法之间的平均分类准确度差异在统计学上是显著的
在这里插入图片描述

下图展示了在OpenBMI数据集上跨会话会话内性能。IFNet 在两种评估设置中都实现了最高的平均分类准确率
在这里插入图片描述

3.2 消融实验

3.2.1 数据增强消融

BCIC-IV-2a数据集不同数据增强策略组合的深度学习模型的平均准确率
在这里插入图片描述

3.2.2 条带分割消融

BCIC-IV-2a数据集上不同波段分割选项的IFNet结果
在这里插入图片描述

3.2.3 交互算子的烧蚀

不同交互算子在BCIC-IV-2a数据集上的IFNet结果
在这里插入图片描述

4. 总结

到此,使用 运动想象 (MI) 分类学习系列 (8) :IFNet 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。

欢迎来稿

欢迎投稿合作,投稿请遵循科学严谨、内容清晰明了的原则!!!! 有意者可以后台私信!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

✅技术社区--布隆过滤器在项目中怎么用的?不用可以吗?

使用 布隆过滤器 一般就是用于快速判断某个元素是否在集合中出现了&#xff0c;可以用于解决 缓存穿透 的问题&#xff0c;布隆过滤器提供 一组哈希函数 h1, h2, ..., hk &#xff0c;对需要存储的数据使用哈希函数计算得到 k 个哈希值&#xff0c;将 BitMap 中这 k 个位置都设…

面试stm32基础知识

1.ISP 第一步进入bootloader模式&#xff1a;先置BOOT0为高&#xff0c;BOOT1为低&#xff0c;再复位单片机进入bootloader模式&#xff0c;之后通过上位机下载程序&#xff1b; 第二步配置启动代码的地方&#xff1a;代码下载完毕后&#xff0c;置BOOT0为低&#xff0c;BOOT1…

中兴F7607P自启动程序,关闭JAVA插件

本文目的&#xff1a;关闭光猫内自动运行的JAVA插件&#xff0c;并实现开机自动调用用户的程序启动 移动定制版F7607P不带LXC容器&#xff0c;取而代之的是JAVA虚拟机&#xff0c;内置多个插件&#xff0c;包括名为CMCCDPI的插件&#xff0c;用途可以从名字上窥见。机器rootfs分…

Windows系统下查看C语言文件反汇编

一、配置编译器环境变量 1.下载mingw64 MinGW 的全称是&#xff1a;Minimalist GNU on Windows &#xff0c;MinGW 就是 GCC 的 Windows 版本 。 MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序&#xff0c;而 MinGW-w64 则可以编译生成 64位 或 32位 可执行…

FinalShell 远程连接 Linux(Ubuntu)系统

Linux 系列教程&#xff1a; VMware 安装配置 Ubuntu&#xff08;最新版、超详细&#xff09;FinalShell 远程连接 Linux&#xff08;Ubuntu&#xff09;系统Ubuntu 系统安装 VS Code 并配置 C 环境 ➡️➡️➡️提出一个问题&#xff1a;为什么使用 FinalShell 连接&#xff0…

字符串拆分优化算法

字符串拆分优化算法 问题背景算法设计思路伪代码实现C语言代码实现 详细解释结论 在面对字符串拆分问题时&#xff0c;我们的目标是找到一种最优的拆分顺序&#xff0c;以使得总的拆分代价最小。这个问题可以通过动态规划算法来解决。在本文中&#xff0c;我们将详细介绍这个问…

通过本机电脑远程访问路由器loopback的ip

实验拓扑图 本机电脑增加路由信息 正常设置telnet用户&#xff0c;然后通过本地电脑telnet 软件ensp中的设备&#xff0c;尝试是否可以正常访问即可 测试通过本地电脑可以正常访问ensp里面设备的loopback的ip地址了 最重要的一点是本机需要增加一条路由route add ip mask 下…

python数据可视化:折线图plt.plot()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 python数据可视化&#xff1a; 折线图 plt.plot() 选择题 关于以下代码输出的结果说法正确的是&#xff1f; import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams[font.sans…

2011年认证杯SPSSPRO杯数学建模C题(第二阶段)你的爱车入保险了吗全过程文档及程序

2011年认证杯SPSSPRO杯数学建模 C题 你的爱车入保险了吗 原题再现&#xff1a; 近几年&#xff0c;国内汽车销售市场异常火爆&#xff0c;销售量屡创新高。车轮上的世界&#xff0c;保险已经与我们如影随形。汽车保险&#xff0c;简称车险&#xff0c;是指对机动车辆由于自然…

排序(四)——归并排序 + 外排序

目录 1.归并排序递归实现 代码 2.归并排序非递归 代码 3.比较快排、归并和堆排序 4.归并排序实现外排序 1.归并排序递归实现 我们之前对两个有序数组进行排序就用到了归并的思想&#xff0c;对于两个有序数组&#xff0c;我们分别取他们首元素比较大小&#xff0c;取小的插…

向量数据库Chroma初步了解学习记录

目录 前言 一、Chroma是什么&#xff1f; 二、使用步骤 1.安装 2.连接Chroma 内存模式 client模式 Server模式 3.创建数据集 4.写入数据 5.查询数据 6.完整代码 7.更多参考 三、瞅瞅chroma之sqlite 总结 前言 大模型很强大&#xff0c;但是大模型也存在知识的局…

格灵深瞳,实现核心能力高强度保护与灵活交付

格灵深瞳&#xff0c;AI领域的领先企业&#xff0c;借助泰雷兹圣天诺技术&#xff0c;实现核心能力高强度保护与灵活交付&#xff0c;引领行业风向&#xff0c;安策信息助力AI行业企业实现产品核心能力保护、销售模式创新以及软件产品的灵活交付。 格灵深瞳&#xff0c;AI领域的…

量子密钥分发系统的设计与实现(二):光路子系统初步讨论

通过上一篇文章&#xff0c;我们对量子密钥分发系统的基本架构、硬件结构以及密钥分发流程进行了初步的总体介绍&#xff0c;从本文开始&#xff0c;我们就基于系统顶层的架构设计&#xff0c;开始从模块到器件&#xff0c;从硬件到软件开始详细讨论QKD系统的设计与实现。本文主…

Python爬取猫眼电影票房 + 数据可视化

目录 主角查看与分析 爬取可视化分析猫眼电影上座率前10分析猫眼电影票房场均人次前10分析猫眼电影票票房占比分析 主角查看与分析 爬取 对猫眼电影票房进行爬取&#xff0c;首先我们打开猫眼 接着我们想要进行数据抓包&#xff0c;就要看网站的具体内容&#xff0c;通过按F12…

注塑机自动喷雾程序 报警自动关机

/***参数设置,开模数计数,秒脉冲计时***************/ /***实现功能:检测报警信号,脱模剂开模数计数信号***/ /***参数:1:脱模剂开模数 2:喷雾时间 3:延时时间 ***/ /***串口接收触摸屏参数设置字符串,接收并保存******/ /***端子输入口读开模数,比较设定值后输出到电磁阀**/ /…

Emmet表达式

目录 Emmet语法简介 Emmet作用 Emmet在HTML中的使用 Emmet在CSS中的使用 Emmet语法简介 Emmet语法的前身是Zen coding,它使用缩写,来提高HTML的编写速度&#xff0c;VScode内部已经集成该语法。 Emmet作用 快速生成HTML结构语法快速生成CSS样式语法 Emmet在HTML中的使用…

python连接数据库失败怎么解决

Python 连接数据库失败怎么解决&#xff1f; 什么是 PyMySQL&#xff1f; PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库&#xff0c;Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范&#xff0c;并包含了 pure-Python MySQL 客户端库。…

Vue_管道符“|”(单竖线)的用处

目录 1、管道符是什么 2、应用场景 背景&#xff1a;项目中偶遇在 {{ }} 插值表达式里用了 “&#xff5c;”此写法&#xff0c;一开始误以为是写错了&#xff0c;应该是写成 “&#xff5c;&#xff5c;” 双竖线&#xff08; 逻辑或运算符 &#xff09;&#xff0c;结果询问…

为什么用云渲染农场?3D云渲染农场助力影视动画行业发展

​计算机图形技术的进步使得3D渲染成为多个产业发展的重要推动力。设计师和艺术家利用这项技术将创意实现&#xff0c;创造出震撼的视觉作品。但是&#xff0c;高质量的渲染需要大量的计算资源。云渲染农场通过提供这些资源&#xff0c;有效提高了渲染的速度和效率&#xff0c;…

DRF 序列化类serializer单表

【五】序列化类serializer单表 【1】主要功能 快速序列化 将数据库模型类对象转换成响应数据&#xff0c;以便前端进行展示或使用。这些响应数据通常是以Json&#xff08;或者xml、yaml&#xff09;的格式进行传输的。 反序列化之前数据校验 序列化器还可以对接收到的数据进行…