运动想象 (MI) 迁移学习系列 (3) : MSFT
运动想象迁移学习系列:MSFT
- 0. 引言
- 1. 主要贡献
- 2. 数据增强方法
- 3. 基于度量的空间滤波转换器
- 3.1 空间过滤
- 3.2 脑电图ViT
- 3.2.1 变压器编码器层
- 3.2.2 基于度量的损失函数
- 4. 实验结果
- 4.1 消融实验
- 4.2 基线任务对比
- 4.3 跨主体
- 5. 总结
- 欢迎来稿
论文地址:https://www.sciencedirect.com/science/article/abs/pii/S1746809422005249#aep-article-footnote-id1
论文题目:Excellent fine-tuning: From specific-subject classification to cross-task classification for motor imagery
论文代码:暂未找到
0. 引言
随着深度学习的普及,基于特征提取器和分类器的运动意象脑电图(MI-EEG)识别表现良好。然而,大多数模型提取的特征没有足够的区分性,仅限于特定主题分类。我们提出了一种新的模型,基于度量的空间滤波变压器(MSFT),该模型利用加性角裕量损失来强制实施深度模型,以提高类间可分离性,同时增强类内的紧凑性。此外,在模型中应用了一种称为脑电图金字塔的数据增强方法。
1. 主要贡献
- 基于
微调的算法具有加性角裕度损失,可以解耦特征提取器和分类器的训练,以提取更具通用性和辨别性的特征。 - 提出了一种新的
数据增强方法,即脑电图金字塔,它可以从脑电图中的多个时间窗口探索局部信息。 - 该方法不仅在
特定主题分类方面优于近年来许多流行的算法,而且无缝地适应了跨主题甚至跨任务的分类。
2. 数据增强方法
本文提出了一种数据增强方法:脑电图金字塔。脑电图金字塔结构的主要操作流程如下图所示:

主要包含以下操作步骤:
- 记原始脑电信号为 ( S , T ) (S, T) (S,T)。 其中, S S S 表示
脑电通道数, T T T 表示脑电信号采集时间(数据点个数)。 - 将原始信号记为第0层,依次对下一层信号进行
上采样。上采样率为: 1 + l ( m − 1 ) c − 1 1+\frac{l(m-1)}{c-1} 1+c−1l(m−1)。其中, m m m表示上采样率, c c c表示金字塔层数。使用SciPy库signal.resample来实现上采样。 - 用连续的 T T T数据点
随机截取每层的脑电样本。 - 将截获的所有层的脑电图堆叠在
新的第三维空间(空间维度为c)中,作为脑电图金字塔样本。 - 由于
截取的随机性,试验脑电图数据可以生成多个不同的脑电图金字塔样本。我们将此样本增强参数标记为 M。
3. 基于度量的空间滤波转换器
通过空间滤波将脑电图原始数据转化为中间时空表示,然后通过脑电图金字塔作为ViT的输入,转化为时空金字塔样本。作为特征提取器,ViT 输出一组高级判别特征,这些特征通过加性角裕量损失进行优化。训练特征提取器后,继续训练多层感知器 (MLP) 作为分类器。完整的 MSFT 过程图 2 所示。

(a) 空间滤波将脑电图原始数据转换为时空金字塔样本。
(b) 基于度量的脑电图ViT包括特征提取器和分类器。
(c)ArcFace损失提高了类间的可分离性,有利于提高分类精度。
3.1 空间过滤
按照论文内容的意思:这里的空间滤波就是一个OVR-CSP结构,就不再展开说了。
3.2 脑电图ViT
深度模型EEG ViT由三部分组成:段嵌入层、变压器编码器层和分类头层。输入通过线段嵌入层转换为具有特定形状的嵌入(存在困惑,不知道为啥非要这样做?)。然后,通过变压器编码器层提取隐藏特征,通过平均得到e区分特征;同时,存在基于指标的损失,以增强类内紧密性和类间差异。训练完两层后,我们冻结两层的参数,继续训练分类头层。
3.2.1 变压器编码器层
变压器编码器层结构如下所示:

3.2.2 基于度量的损失函数
基于指标的损失函数 ArcFace 损失派生自 Softmax loss。Softmax loss表示如下:

传统的 Softmax loss 在应用于分类时,并没有明确优化深度特征,以加强类内相似性和类间差异。而ArcFace损失的计算公示如下所示:

softmax 损失在嵌入决策边界的可分离特征上产生明显的模糊性,而 ArcFace 损失显然可以在最接近的类之间强制执行更明显的间隙,如图 4 所示。

4. 实验结果
4.1 消融实验
消融实验结果如下表所示:

无空间滤波:我们直接将脑电图原始数据发送到脑电图金字塔后给脑电图ViT,后续过程保持不变。ResNet18 特征提取器:如果直接省略 EEG ViT 的处理,则无法提取深层特征。因此,我们使用另一个高效的主干网 ResNet 来提取特征。基于 ResNet 庞大的参数和较长的训练时间,最轻量级的 ResNet18 有足够的深度信息挖掘能力。变压器编码器编号(r = 1 和 r = 5):变压器编码器的数量表示网络深度。我们探讨了变压器编码器模块的深度对结果的影响。无 ArcFace 损失:我们移除了 ArcFace 损失模块,这样提取的特征就不需要等待训练完成才发送到分类器。换句话说,特征提取器和分类器处于同一训练阶段。
结果表明,空间滤波对解码确实有很大的正向作用,其空间增强有助于特征更具判别性。此外,在我们的方法中,EEG ViT作为特征提取器是比ResNet更好的骨干。 变压器中的注意力机制更适合解码脑电图等时间序列数据。变压器的深度对解码性能有轻微影响。但是,这并不意味着网络越深,分类精度就越高。ArcFace损失对结果的明显影响表明,它促进了深层特征的类内聚类和类间差异。
4.2 基线任务对比
为了突出我们方法的有效性,在IV-2a和IV-2b数据集上与一些特定受试者的基准方法进行了比较,如表2所示。

4.3 跨主体
跨主体训练需要使用一个主体的数据训练 ArcFace 损失中的段嵌入层、transformer 编码器层和参数,然后修复这些参数,然后使用另一个主体的数据微调分类头层。
跨主体训练包含两个训练步骤:训练特征提取器是第一个训练阶段,微调分类头是第二个训练阶段。我们使用一个受试者的数据进行第一阶段的训练,然后分别使用其他受试者的数据完成第二阶段的训练。在IV-2a数据集上获得的结果如图6所示。

从结果可以看出,除了平均准确率为56.88%的跨受试者4外,其他跨受试者结果均超过60%。
5. 总结
到此,使用 MSFT已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。
如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。
欢迎来稿
欢迎投稿合作,投稿请遵循科学严谨、内容清晰明了的原则!!!! 有意者可以后台私信!!
相关文章:
运动想象 (MI) 迁移学习系列 (3) : MSFT
运动想象迁移学习系列:MSFT 0. 引言1. 主要贡献2. 数据增强方法3. 基于度量的空间滤波转换器3.1 空间过滤3.2 脑电图ViT3.2.1 变压器编码器层3.2.2 基于度量的损失函数 4. 实验结果4.1 消融实验4.2 基线任务对比4.3 跨主体 5. 总结欢迎来稿 论文地址:https://www.s…...
NeRF模型NeRF模型
参考视频:https://www.youtube.com/watch?vHfJpQCBTqZs&ab_channelVision%26GraphicsSeminaratMIT NeRF模型的输入输出: 输入: (x, y, z): 一个三维空间坐标,代表场景中的一个位置点(θ, φ): 视线方向,θ表示与y轴的夹角,φ表示与x轴的夹角,用两个角度可以…...
python爬虫(4)
#前期先说明一下为啥爬虫需要学习数组的存储和处理,只是说在你后期接触到最简单的爬虫后有一个地方可以存放你的数据# 下面为大家带来一个我在做excel表整理时的代码以及上次代码的结果 上次代码的结果: 新的代码: import numpy as np im…...
递归神经网络 (RNN) 及其变体 LSTM (长短期记忆) 和 GRU (门控循环单元)
递归神经网络(RNN, Recurrent Neural Networks)是一类用于处理序列数据的神经网络,特别适合于时间序列数据、语音、文本等连续数据的处理。RNN之所以独特,是因为它们在模型内部维持一个隐藏状态,该状态理论上可以捕获到…...
Redis的HyperLogLog原理介绍
Redis 的 HyperLogLog 数据结构实现了一种基于概率的基数估算算法,用于在占用极小内存的情况下估算一个集合中不重复元素(唯一值)的数量。以下是 HyperLogLog 算法的基本原理: 哈希函数: HyperLogLog 使用一个强散列函…...
微信小程序开发系列(二十六)·小程序运行机制(启动、前后台状态、挂起、销毁)和小程序更新机制
目录 1. 小程序运行机制 1.1 启动 1.2 前台和后台状态 1.3 挂起 1.4 销毁 2. 小程序更新机制 1. 小程序运行机制 1.1 启动 小程序启动可以分为两种情况,一种是冷启动,一种是热启动。 冷启动:如果用户首次打开,或小…...
百度信息流
计划: 流量选择 - 四个维度: 百度信息流 ; 整合了百度APP、WAP、PC各频道信息流和内容详情页的流量资源,广告和信息流内容资讯穿插展现;适合所有产品呢 好看视频; 汇集海量优质的视频内容,通过智能推荐算法为用户推送最适合的视频广告,视频广告在列表页有声…...
JAVA后端开发面试基础知识(十)——设计模式
创建型模式 创建型模式的作用就是创建对象,说到创建一个对象,最熟悉的就是 new 一个对象,然后 set 相关属性。但是,在很多场景下,我们需要给客户端提供更加友好的创建对象的方式,尤其是那种我们定义了类&am…...
红帽认证知识储备-Linux安全
Linux安全 内置安全机制 常见的系统用的centos中用的是SELinux,ubuntu用的是AppArmor,deepin什么都没用 SELINUX 定义 SELinux 是一个 Linux 内核安全模块,它增强了系统的安全性,通过实施强制访问控制策略来限制程序和用户对系…...
Rust 语言中的 dyn 关键字
在 Rust 中,&dyn Error 是一个指向动态类型的 Error trait 对象的引用。这里的 dyn 关键字用于表示一个动态分派的 trait 对象。动态分派允许你在运行时确定实际的对象类型,而不是在编译时。 dyn 关键字在 Rust 中用于替换早期版本中的 & 符号&…...
软件测试实战,Web项目网页bug定位详细分析总结(详全)
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、前置条件 1&a…...
清除Mac OS上Xcode占用的空间
最近自己的Mac OS存储空间严重不足,想了一下,大概是从安装 Xcode 之后出现,在系统下通过 du 命令分析各目录大小,发现大概下面几个目录占用空间比较大,所以针对这几个名目录作了一下清理,释放了几十个G的空…...
开源的Java图片处理库介绍
在 Java 生态系统中,有几个流行的开源库可以用于图片处理。这些库提供了丰富的功能,如图像缩放、裁剪、颜色调整、格式转换等。以下是几个常用的 Java 图片处理库的介绍,包括它们的核心类、主要作用和应用场景,以及一些简单的例子…...
论文笔记 Where Would I Go Next? Large Language Models as Human Mobility Predictor
arxiv 2023 08的论文 1 intro 1.1 人类流动性的独特性 人类流动性的独特特性在于其固有的规律性、随机性以及复杂的时空依赖性 ——>准确预测人们的行踪变得困难近期的研究利用深度学习模型的时空建模能力实现了更好的预测性能 但准确性仍然不足,且产生的结果…...
农场管理小程序|基于微信小程序的农场管理系统设计与实现(源码+数据库+文档)
农场管理小程序目录 目录 基于微信小程序的农场管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2、农场信息管理 3、公告信息管理 4、论坛信息管理 四、数据库设计 五、核心代码 七、最新计算机毕设选题推荐 八、源码获取&#x…...
【前端】vscode快捷键和实用Api整理
vscode的快捷键 创建a.html 生成模板 !回车 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" …...
抖音商家活动信息未在商详展示会有哪些处罚?
一、什么是「违规玩法-活动信息未在商详展示」? 什么是「违规玩法-活动信息未在商详展示」?由于当前平台未提供官方营销工具(例如免单、返现等),但是创作者在进行商品推广(不仅限口播、画面、标题文案等)宣传该类营销玩法,未在商品商详页展示说明&…...
智慧公厕方案_智慧公厕解决方案_智慧公厕整体解决方案
一、什么是智慧公厕? 在现代城市化进程中,公共厕所是不可或缺的基础设施之一。然而,传统的公厕管理模式已经无法满足市民对高效、便捷厕所服务的需求。为了实现公共厕所的信息化管理,智慧公厕整体解决方案应运而生。智慧公厕具体…...
【Python】成功解决IndexError: list index out of range
【Python】成功解决IndexError: list index out of range 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订…...
对于两个独立随机变量X,Y, E(XY)=E(X)E(Y)
两个独立随机变量X,Y的期望分别是E(X), E(Y), 其乘积XY的期望是多少? 我们可以利用期望的性质来求得XY的期望。由于X、Y是独立随机变量,因此它们的协方差为0,即: cov(X, Y) E(XY) - E(X)E(Y) 0 因此, …...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
