运动想象 (MI) 迁移学习系列 (5) : SSMT

运动想象迁移学习系列:SSMT

  • 0. 引言
  • 1. 主要贡献
  • 2. 网络结构
  • 3. 算法
  • 4. 补充
    • 4.1 为什么设置一种新的适配器?
    • 4.2 动态加权融合机制究竟是干啥的?
  • 5. 实验结果
  • 6. 总结
  • 欢迎来稿

论文地址:https://link.springer.com/article/10.1007/s11517-024-03032-z
论文题目:Semi-supervised multi-source transfer learning for cross-subject EEG motor imagery classification
论文代码:无

0. 引言

脑电图(EEG)运动意象(MI)分类是指利用脑电信号对受试者的运动意象活动进行识别和分类;随着脑机接口(BCI)的发展,这项任务越来越受到关注。然而,脑电图数据的收集通常是耗时且劳动密集型的,这使得很难从新受试者那里获得足够的标记数据来训练新模型。此外,不同个体的脑电信号表现出显着差异,导致在直接对从新受试者获得的脑电信号进行分类时,在现有受试者上训练的模型的性能显着下降。因此,充分利用现有受试者的脑电数据和新目标受试者的未标记脑电数据,提高目标受试者达到的心肌梗死分类性能至关重要。本研究提出了一种半监督多源迁移(SSMT)学习模型来解决上述问题;该模型学习信息和域不变表示,以解决跨主题的 MI-EEG 分类任务。具体而言,该文提出了一种动态转移加权模式,通过整合从多源域派生的加权特征来获得最终预测。

文中主要解决方法是针对无监督的脑电数据迁移学习方案,是一个不错的角度,也提出了很有新意的算法设计!!!

1. 主要贡献

  1. 一种基于 MMDCMMD域适应方法,用于解决单个 MI-EEG信号差异的问题,对齐每个源域和靶域之间的条件和边际分布差异。此外,伪标签被应用于目标域的未标记数据,并在整个训练过程中迭代更新。通过这种方式,条件分布信息将更新为近似真实的条件分布。
  2. 基于域间差异度量设计了一种动态权重转移模型,使每个源域能够根据其与目标域的相似性为训练过程做出贡献。因此,通过减轻与目标域显著差异的源域的不利影响,可以进一步提高分类器对目标域的预测性能。
  3. 通过一系列实验,在两个公开可用的 BCI数据集上评估了所提出的方法。结果表明,所提方法的每一项创新都有助于提高解码性能,与基线相比,解码性能更好。

2. 网络结构

在这里插入图片描述
SSMT两个主要阶段组成。预训练阶段预训练所有可用于在特征提取任务和原始监督分类任务中训练的标记数据,以获得仅包含特征提取器和分类器的全局模型。然后,利用预训练模型对目标域的未标记数据进行伪标记;再训练阶段包括三个主要步骤。首先,域适配器旨在减少每个源域和目标域之间的差异。然后,使用伪标签信息并不断更新以优化模型。最后,最终决策由MLP分类器的转移权重融合产生。

3. 算法

符号说明
{ X s k , y s k } k = 1 n \{X_s^k, y_s^k\}_{k=1}^n {Xsk,ysk}k=1n 表示存在n个源域 X t X_t Xt 表示目标域,包含两个部分,分别是 X l X_l Xl X u X_u Xu; X l X_l Xl y l y_l yl 表示目标域中已知(标记)的样本 X u X_u Xu 表示目标域中未标记的样本,即也不知道其对应的类别。

SSMT算法步骤

输入: { X s k , y s k } k = 1 n , X l , y l , X u \{X_s^k, y_s^k\}_{k=1}^n, X_l, y_l, X_u {Xsk,ysk}k=1n,Xl,yl,Xu

  1. 初始化权重参数 θ f , θ c \theta_f, \theta_c θf,θc

  2. 通过输入 { X s k , y s k } k = 1 n , X l , y l \{X_s^k, y_s^k\}_{k=1}^n, X_l, y_l {Xsk,ysk}k=1n,Xl,yl 直接训练预训练模型中的特征提取器 G f G_f Gf 和MLP分类器 G c G_c Gc , 并根据下面等式更新参数 θ f , θ c \theta_f, \theta_c θf,θc L c = − ∑ k = 1 n y s k ⋅ log ⁡ ( G c ( G f ( X s k ; θ f ) ; θ c ) ) − y l ⋅ log ⁡ ( G c ( G f ( X l ; θ f ) ; θ c ) ) , \begin{aligned} L_c= & {} -\sum _{k=1}^n \textbf{y}^k_s\cdot \log (G_c(G_f(\textbf{X}^k_s;\theta _f);\theta _c))\nonumber \\{} & {} -\textbf{y}_l\cdot \log (G_c(G_f(\textbf{X}_l;\theta _f);\theta _c)), \end{aligned} Lc=k=1nysklog(Gc(Gf(Xsk;θf);θc))yllog(Gc(Gf(Xl;θf);θc)),

  3. 生成测试集的伪标签: y ^ u = G c ( G f ( X u ; θ f ) ; θ c ) , \begin{aligned} \hat{\textbf{y}}_u=G_c(G_f(\textbf{X}_u;\theta _f);\theta _c), \end{aligned} y^u=Gc(Gf(Xu;θf);θc), 预训练阶段结束

  4. X l X_l Xl X u X_u Xu 的数据合并为目标域 X t X_t Xt,并连接所有域的数据(将 X s k X_s^k Xsk X t X_t Xt 的数据进行连接)

  5. 重复

  6. 将连接的数据输入 G f G_f Gf 来得到所有域的特征:
    F = [ G f ( X s 1 ; θ f ) , . . . , G f ( X s n ; θ f ) , G f ( X t ; θ f ) ] T F=[G_f(X_s^1;\theta_f),...,G_f(X_s^n;\theta_f),G_f(X_t;\theta_f)]^T F=[Gf(Xs1;θf),...,Gf(Xsn;θf),Gf(Xt;θf)]T

  7. 根据以下公式获取每个源域的差异损失转移权重: L d k = M M D ( D s k , D t ) + C M M D ( D s k , D t ) . \begin{aligned} L_d^k=MMD(\mathcal {D}^k_s, \mathcal {D}_t)+CMMD(\mathcal {D}^k_s, \mathcal {D}_t). \end{aligned} Ldk=MMD(Dsk,Dt)+CMMD(Dsk,Dt). C M M D ( D s k , D t ) = ∑ c = 1 C ∥ 1 m c ∑ x s k , i ∣ y s k , i = c ϕ ( G f ( x s k , i ; θ f ) ) − 1 n ^ c + n c ( ∑ x l i ∣ y l i = c ϕ ( G f ( x l i ; θ f ) ) + ∑ x u i ∣ y ^ u i = c ϕ ( G f ( x u i ; θ f ) ) ∥ , \begin{aligned} CMMD(\mathcal {D}^k_s, \mathcal {D}_t)= & {} \sum _{c=1}^C\Vert \frac{1}{m_c} \sum _{\textbf{x}_s^{k,i} |y^{k,i}_s=c} \phi (G_f(\textbf{x}_s^{k,i};\theta _f))\nonumber \\{} & {} -\frac{1}{\hat{n}_c+n_c}(\sum _{\textbf{x}_l^i |{y}_l^i=c} \phi (G_f(\textbf{x}_l^i;\theta _f))\nonumber \\{} & {} +\sum _{\textbf{x}_u^i |\hat{y}_u^i=c} \phi (G_f(\textbf{x}_u^i;\theta _f))\Vert , \end{aligned} CMMD(Dsk,Dt)=c=1Cmc1xsk,iysk,i=cϕ(Gf(xsk,i;θf))n^c+nc1(xliyli=cϕ(Gf(xli;θf))+xuiy^ui=cϕ(Gf(xui;θf)), M M D ( D s k , D t ) = ∥ 1 n s k ∑ i = 1 n s k ϕ ( G f ( x s k , i ; θ f ) ) − 1 n t ∑ i = 1 n t ϕ ( G f ( x t i ; θ f ) ) ∥ , \begin{aligned} MMD\left( \mathcal {D}^k_s, \mathcal {D}_t\right)= & {} \Bigg \Vert \frac{1}{n^k_s} \sum _{i=1}^{n^k_s} \phi (G_f(\textbf{x}_s^{k,i};\theta _f))\nonumber \\{} & {} - \frac{1}{n_t} \sum _{i=1}^{n_t} \phi (G_f(\textbf{x}_t^i;\theta _f))\Bigg \Vert , \end{aligned} MMD(Dsk,Dt)= nsk1i=1nskϕ(Gf(xsk,i;θf))nt1i=1ntϕ(Gf(xti;θf)) ,

  8. 基于下面式子对每个域的特征进行动态加权,然后将 F ∗ F^* F 作为 G c G_c Gc 的输入:

    w = [ W d 1 , … , W d n ] ⊤ = [ K − L d 1 2 ∑ k = 1 n K − L d k 2 , … , K − L d n 2 ∑ k = 1 n K − L d k 2 ] ⊤ , \begin{aligned} \textbf{w}= & {} [W^1_d, \ldots , W^n_d]^{\top }\nonumber \\= & {} \left[ \frac{K^{- {L_d^1}^2}}{\sum _{k=1}^n K^{- {L_d^k}^2}}, \ldots , \frac{K^{- {L_d^n}^2}}{\sum _{k=1}^n K^{- {L_d^k}^2}}\right] ^{\top }, \end{aligned} w==[Wd1,,Wdn][k=1nKLdk2KLd12,,k=1nKLdk2KLdn2], F ∗ = [ F s 1 ∗ , … , F s n ∗ , F t ] ⊤ = [ W d 1 F s 1 , … , W d n F s n , F t ] ⊤ , \begin{aligned} \textbf{F}^*=[{\textbf{F}^1_s}^*,\ldots ,{\textbf{F}^n_s}^*,\textbf{F}_t]^\top =[W^1_d\textbf{F}^1_s,\ldots ,W^n_d\textbf{F}^n_s,\textbf{F}_t]^\top , \end{aligned} F=[Fs1,,Fsn,Ft]=[Wd1Fs1,,WdnFsn,Ft],

  9. 根据下面等式,通过最小化 L L L 更新参数 θ f , θ c \theta_f, \theta_c θf,θc

L = L c + λ L d , \begin{aligned} L=L_c+\lambda L_d, \end{aligned} L=Lc+λLd,

  1. 通过预测 X u X_u Xu 更新 y ^ u \hat{y}_u y^u

  2. 直到收敛

  3. 返回 y ^ u \hat{y}_u y^u

4. 补充

4.1 为什么设置一种新的适配器?

最近的研究表明,随着域间差异的增加,分类器对特征的可转移性显着降低,这表明直接转移提取的特征是一种不安全的策略。因此,在不考虑个体信号差异的情况下,使用所有可用数据进行预训练的模型可能会导致目标受试者分类的性能下降。为了防止传统两级流水线引起的分布过拟合问题,设计了一种域适配器来减轻单个信号差异的负面影响。

尽管经典MMD已被广泛用作分布差异度量,但现有研究表明,在处理类权重偏差(即类不平衡数据)时,MMD并不总是可靠的。调查发现类条件分布之间的差异 P s ( x s k , i ∣ y s k , i = c ) P_s\left( \textbf{x}_s^{k,i} \mid y^{k,i}_s=c\right) Ps(xsk,iysk,i=c) P t ( x l i ∣ y l i = c ) P_t\left( \textbf{x}_l^i \mid y_l^i=c\right) Pt(xliyli=c)可以提供更合适的域差异量表,并导致卓越的域适应性能。什么时候 P s ( x s k , i ∣ y s k , i = c ) = P t ( x l i ∣ y l i = c ) P_s\left( \textbf{x}_s^{k,i} \mid y^{k,i}_s=c\right) =P_t\left( \textbf{x}_l^i \mid y_l^i=c\right) Ps(xsk,iysk,i=c)=Pt(xliyli=c),在源域中学习的分类器可以更安全地应用于目标域。基于这一概念,引入了条件最大均值差异(CMMD)度量,以对齐所有源域和目标域特征的类条件分布.

4.2 动态加权融合机制究竟是干啥的?

从所有数据中获得的特征 G f G_f Gf 可直接用于输入 G c G_c Gc 用于训练,但分类器的这种无歧视训练输入可能会导致不良结果。这一结果可归因于负转移当通过蛮力利用与目标关系不相关的来源时,就会发生负转移,从而导致对目标域的分类器预测有偏差。

为了减轻负迁移的影响,分类器被赋予了动态加权特征,用于最终决策融合。

5. 实验结果

对比实验结果:
在这里插入图片描述
消融实验结果:

在这里插入图片描述

  • PT:PT是仅包含特征提取器和MLP分类器的基本模型,可以完成简单的特征提取和分类任务。
  • DA:域适配器 (DA) 基于 MMD 和 CMMD。特别是,DA 仅使用通过预训练生成的伪标签来计算域间差异。
  • SS:SS 是一个迭代标签更新器。它的作用是在重新训练过程中周期性地生成和更新伪标签。
  • WF:WF是指动态加权模型,它对来自多源域的加权特征进行动态加权和整合。

6. 总结

到此,使用 SSMT 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。

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

欢迎来稿

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

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

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

相关文章

天府锋巢直播产业基地:直播带岗,成都直播基地奔向产业化

天府锋巢直播产业基地位于成都市天府新区科学城板块,是一座集直播带岗、电商孵化、产业培训、供应链整合等多功能于一体的现代化全域直播产业基地。近年来,随着成都直播产业的蓬勃发展,成都积极响应市场需求,致力于打造出西部地区…

linux进程间通信-共享内存

一、共享内存是什么 在Linux系统中,共享内存是一种IPC(进程间通信)方式,它可以让多个进程在物理内存中共享一段内存区域。 这种共享内存区域被映射到多个进程的虚拟地址空间中,使得多个进程可以直接访问同一段物理内存…

【Python可视化系列】一文教你绘制雷达图(源码)

这是我的第234篇原创文章。 一、引言 雷达图是以从同一点开始的轴上表示的三个或更多个定量变量的二维图表的形式显示多变量数据的图形方法,也称为蜘蛛图或星形图。雷达图通常用于综合分析多个指标,具有完整,清晰和直观的优点。通常由多个等…

Constrained Iterative LQR 自动驾驶中使用的经典控制算法

Motion planning 运动规划在自动驾驶领域是一个比较有挑战的部分。它既要接受来自上层的行为理解和决策的输出,也要考虑一个包含道路结构和感知所检测到的所有障碍物状态的动态世界模型。最终生成一个满足安全性和可行性约束并且具有理想驾驶体验的轨迹。 通常,motion plann…

遥感影像植被波谱特征总结

植被跟太阳辐射的相互关系有别于其他物质&#xff0c;如裸土、水体等&#xff0c;比如植被的“红边”现象&#xff0c;即在<700nm附近强吸收&#xff0c;>700nm高反射。很多因素影响植被对太阳辐射的吸收和反射&#xff0c;包括波长、水分含量、色素、养分、碳等。 研究…

Kubernetes--ingress实现七层负载

目录 一、传统方式&#xff1a;不借助ingress实现七层代理 二、nginx-ingress 三、使用ingress实现七层代理 四、部署ingrss-nginx及功能 五、样例 1.Ingress-nginx HTTP代理访问 2.Ingress HTTPS代理访问&#xff08;会话卸载层&#xff09; 3.Nginx进行BasicAuth&…

亚马逊店铺解决和预防订单下滑的技巧

1. 保持账号的良好表现。不要销售侵权产品&#xff0c;发货要及时&#xff0c;能有追踪号的就带可查询追踪号&#xff0c;能发FBA的就通过FBA发货。 2. 持续做好产品优化工作&#xff0c;及时留意大环境的变化和平台政策变动。遇到编辑权限受限&#xff0c;可开case咨询或申请…

【数据库】软件测试之MySQL数据库练习题目

有表如下&#xff1a; Student 学生表 SC 成绩表 Course 课程表 Teacher 老师表 每个学生可以学习多门课程&#xff0c;每一个课程都有得分&#xff0c;每一门课程都有老师来教&#xff0c;一个老师可以教多个学生 1、查询姓‘朱’的学生名单 select * from Student whe…

vb机试考试成绩分析与统计,设计与实现(高数概率统计)-141-(代码+程序说明)

转载地址http://www.3q2008.com/soft/search.asp?keyword141 前言: 为何口出狂言,作任何VB和ASP的系统, 这个就是很好的一个证明 :) 又有些狂了... 数据库操作谁都会,接触的多了也没什么难的,VB编程难在哪?算法上,这个是一个算法题的毕业设计,里面涉及到对试卷的 平均分,最…

AI编程已有公司纳入绩效,你的AI编程工具是什么?

自从ChatGPT带动全球AI热潮&#xff0c;AI席卷着各行各业。编程界也不例外&#xff0c;最出名的摸过OpenAI与GitHub联合开发的Github Copilot。Github Copilot带动了一大堆AI编程工具的出现。后来Github Copilot付费了&#xff0c;再加上网络方面的问题&#xff0c;在国内使用G…

基于PHP的店家服务与管理交互平台

目 录 摘 要 I Abstract II 引 言 1 1相关技术 3 1.1 PHP 3 1.2 ThinkPHP框架 3 1.2.1 Struts结构 3 1.2.2 MVC 3 1.2 Tomcat服务器 3 1.3 MySQL数据库 3 1.4 LayUI框架 4 1.5 ECharts 4 1.6 本章小结 4 2 系统分析 5 2.1 功能需求 5 2.2 用例分析 6 2.3 非功能需求 8 2.4 本章…

MySQL--索引类型详解

索引的类型 主键索引&#xff1a; PRIMARY KEY&#xff0c;当一张表的某个列是主键的时候&#xff0c;该列就是主键索引&#xff0c;一张表只允许有一个主键索引&#xff0c;主键所在的列不能为空。 创建主键索引的SQL语法&#xff1a; # 给user表中的id字段创建名为id_ind…

【Datawhale学习笔记】从大模型到AgentScope

从大模型到AgentScope AgentScope是一款全新的Multi-Agent框架&#xff0c;专为应用开发者打造&#xff0c;旨在提供高易用、高可靠的编程体验&#xff01; 高易用&#xff1a;AgentScope支持纯Python编程&#xff0c;提供多种语法工具实现灵活的应用流程编排&#xff0c;内置…

数字化车间MES管理系统如何降低如何降低企业生产成本

数字工厂管理系统在降低制造企业生产成本方面发挥了重要的作用。通过优化物流和信息流&#xff0c;实现生产过程的自动化、智能化和可视化&#xff0c;数字工厂管理系统将从三个方面来降低生产成本。 1、数字工厂管理系统可以通过减少库存量来降低企业的生产成本。数字工厂管理…

GEE:计算一个遥感影像的空像素占比

作者:CSDN @ _养乐多_ 本文将介绍,如何在 Google Earth Engine (GEE) 平台计算一个遥感影像的空像素占比,其中,包含获取研究区内所有像素的总数的代码,以及获取非空像素的总数的代码。 结果如下图所示, 文章目录 一、核心函数1.1 获取研究区内所有像素的总数1.2 获取非…

【面试精讲】Java线程6种状态和工作原理详解,Java创建线程的4种方式

Java线程6种状态和工作原理详解&#xff0c;Java创建线程的4种方式 目录 一、Java线程的六种状态 二、Java线程是如何工作的&#xff1f; 三、BLOCKED 和 WAITING 的区别 四、start() 和 run() 源码分析 五、Java创建线程的所有方式和代码详解 1. 继承Thread类 2. 实现…

管理类联考-复试-管理类知识-其他常见词汇

文章目录 其他常见词汇营销4P、营销4C营销STP理论破窗效应价格歧视/区别定价定价策略——撇脂定价策略定价策略——渗透定价策略 心理账户机会成本看不见的手市场失灵马太效应鲶鱼效应禀赋效应&#xff08;马克杯实验&#xff09;羊群效应帕累托原则长尾理论 其他常见词汇 营销…

安装Mysql时报错[Warning] TIMESTAMP with implicit DEFAULT

win10安装mysql5.7.26(免安装版本)过程中 在执行mysqld --initialize命令时 报错&#xff1a; [Warning]解决方法&#xff1a; [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see document…

LINE社群运营教学

LINE 社群就是一个大型的公开聊天室&#xff0c;通过LINE社群不需要将对方添加为好友就可以聊天。它主要是以「兴趣」作为区分&#xff0c;所以商家可以在社群中找到不少潜在客户。尤其是面向台湾、日本、泰国这些地区的商家&#xff0c;LINE在这些地区的普及度很高&#xff0c…

记录一个vue编辑的移动端页面

<template><div class"wrap"><el-form :model"queryParams" ref"queryForm" size"small" :inline"true" label-width"120px"><el-form-item label"班级" prop"classId"…