运动想象 (MI) 分类学习系列 (12) :RGDDANet

论文地址:https://www.sciencedirect.com/science/article/abs/pii/S0957417423021140
论文题目:A cross-session motor imagery classification method based on Riemannian geometry and deep domain adaptation
论文代码:暂无

0. 引言

深度学习的运用提高了运动意象(MI)的分类精度,但脑机接口(BCI)应用中标定时间长的问题仍未得到解决。为了解决这个问题,我们提出了一种新的黎曼几何和深度域自适应网络(RGDDANet) 用于MI分类。具体而言,设计了两个一维卷积从脑电信号中提取时间和空间特征,然后利用空间协方差矩阵将提取的特征映射到黎曼流形进行处理。为了对齐黎曼流形上的源特征和目标特征分布,我们提出了一种对称正定(SPD)矩阵平均差异损失(SMMDL) 来最小化两个域之间的距离。

图形摘要
在这里插入图片描述

1. 主要贡献

  1. 一种基于CNN黎曼几何组合的新型网络结构。
  2. 域适配用于提高跨会话分类的性能。
  3. 一种基于黎曼几何的新型域损失函数
  4. 性能优异,未标记样品更少

2. 提出的方法

拟议的RGDDANet的架构:
在这里插入图片描述
为了对齐嵌入空间中的特征,标记的源数据和未标记的目标数据在训练阶段同时输入到网络中。首先,在经过空间卷积层多尺度时间卷积层时提取空间和时态信息;为了加快网络训练速度并避免过拟合,每个卷积层之后都进行批量归一化,以减少内部协方差偏移。然后,通过计算作为SPD矩阵空间协方差矩阵,将提取的特征映射到非欧几里得空间。并利用双线性映射层将SPD矩阵转换为低维流形。由于 SPD 矩阵位于非欧几里得流形上,因此使用 Log-Eig 层将其转换为平面空间。最后,源特征和目标特征被展平为一维向量,并输入到全连接 (FC) 层进行分类

2.1 时空特征提取

与图像不同,输入的脑电图信号由来自不同电极时间点的信息组成。因此,公共卷积层将不再适合脑电图信号。在本文中,我们引入了两个一维卷积层,分别从空间维度和时间维度中提取特征。
在这里插入图片描述

这里的时空特征类似于EEGNet中的一维卷积层。另外,时间特征提取选用的是多尺度特征提取的方式。

2.2 SPD矩阵均值差异损失

为了对齐黎曼流形上的源和目标特征,我们提出了一种新的SPD矩阵平均差异损失(SMMDL)来测量源域和目标域之间的边际条件差异

受Zanini等人(2017)提出的黎曼空间协方差矩阵对齐方法(RA)的启发,我们首先计算了源和目标特征的黎曼均值:
RA的原理部分内容在这篇文章有介绍:运动想象 (MI) 迁移学习系列 (10) : 数据对齐(CA)
在这里插入图片描述
C s c ( C t c ) C^c_s (C^c_t) Csc(Ctc源(目标)域的 SPD 矩阵, e x p ( ⋅ ) exp(⋅) exp() l o g ( ⋅ ) log(⋅) log()分别表示矩阵的指数运算和对数运算。

为了对齐源域和目标域的特征分布,一个简单的想法是最小化两个黎曼均值之间的黎曼距离
在这里插入图片描述
具体而言,边际损失条件损失定义为:
在这里插入图片描述
其中, C s c ( C t c ) C^c_s (C^c_t) Csc(Ctc 是带有标签的 SPD 矩阵c在源(目标)域中,以及 E ( ⋅ ) E(⋅) E()表示矩阵的欧几里得平均值

注意:Sun et al. (2016) 提出的 CORAL 损失是域适应中常用的方法,也是通过对齐不同域的二阶统计量来最小化域偏移。但是,SMMDL 和 CORAL 之间存在一些差异

  1. CORAL考虑一维特征,并使用来自多个样本的特征计算二阶统计量。SMMDL 直接使用 SPD 矩阵作为输入,每个 SPD 矩阵仅包含来自一个样本的二阶统计量。

  2. CORAL 直接最小化源域和目标域的协方差矩阵之间的欧几里得距离SMMDL考虑了SPD流形的非欧几里得结构,并最小化了源域和目标域中心协方差矩阵之间的黎曼距离。

2.3 网络结构

实验中使用的网络结构的具体参数如下:
在这里插入图片描述

3. 结果

3.1 与基线模型的比较

BCI competition IV dataset 2a上的效果:
在这里插入图片描述
BCI competition IV dataset 2b上的效果:
在这里插入图片描述

3.2 域适应的有效性

拟议的网络与域适应(w/ DA)不具有域适应(w/o DA)之间的比较:
在这里插入图片描述

3.3 不同域损失的比较

为了评估本文提出的SMMDL,我们分别使用MMDCORAL损失进行了额外的实验。
在这里插入图片描述

3.4 黎曼流形嵌入的有效性

在这里插入图片描述

4. 总结

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

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

欢迎来稿

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

  • 30
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: mi-bci是一种通过大脑信号实现人机交互的技术,它能够识别并分类人脑中的特定动作意图。运动想象分类就是将mi-bci应用于分类运动想象任务。下面是使用MATLAB编写的运动想象分类CNN-SAE程序。 首先,我们需要导入所需的MATLAB包和库。我们使用MATLAB的Deep Learning Toolbox功能来构建卷积神经网络(CNN)和稀疏自编码器(SAE)模型。导入数据集和标签集,包括训练集和测试集。 然后,我们需要对数据进行预处理。首先,我们将数据分为训练集和测试集,并将其归一化到0到1的范围内。接下来,我们将数据转换为适合卷积神经网络的形状。 创建CNN模型。我们使用卷积层、池化层和全连接层来构建CNN模型。对于卷积层,我们选择适当的卷积核大小和步幅来提取关键特征。池化层用于减小特征图的大小,并保持特征的一些不变性。全连接层用于分类任务。 进行训练和优化。我们使用训练集来训练CNN模型,并通过反向传播算法更新模型的权重和偏差。我们使用交叉熵损失函数和随机梯度下降算法来优化模型。 创建SAE模型。在CNN模型之后,我们使用稀疏自编码器来进一步提取特征。稀疏自编码器是一种无监督学习算法,它可以通过最小化重构误差来学习数据的低维表示。 最后,我们使用测试集来评估模型的性能。我们将模型的输出与真实标签进行比较,并计算分类准确率、精确度、召回率等指标。 总结而言,这是一个用于mi-bci分类CNN-SAE程序。它通过训练卷积神经网络和稀疏自编码器来实现对运动想象任务的分类。通过该程序,我们可以有效地识别和分类运动想象任务,为mi-bci技术的应用提供了一种可行的方法。 ### 回答2: mi-bci是一种通过监测大脑运动想象来实现的脑机接口技术。在此问题中,我们需要用Matlab编写一个用于mi-bci分类CNN-SAE(卷积神经网络稀疏自编码器)程序。 首先,我们需要导入所需的Matlab库和数据集。可以使用MATLAB中的`import`命令来导入相应的库函数和数据。 接下来,我们需要准备数据集。mi-bci数据集通常包含一系列带有分类标签的EEG(脑电图)数据,每个数据样本对应于被试者在不同想象动作下的大脑活动。我们需要将数据集划分为训练集和测试集,用于训练和评估CNN-SAE模型的性能。 然后,我们构建CNN-SAE模型。这个模型由多个卷积层、池化层和全连接层组成。每个层都有相应的参数,如滤波器大小、步长等。通过逐层设置这些参数,我们可以构建一个适合mi-bci分类任务的模型。 接下来,我们需要在训练集上训练CNN-SAE模型。训练过程通常包括多次迭代,每次迭代都会调整模型的权重和偏置,以最小化损失函数。使用训练数据,我们可以逐渐提高模型的准确性。 最后,我们可以使用测试集来评估模型的性能。将测试数据输入已经训练好的模型中,通过比较预测结果和真实标签,我们可以得到模型的准确率、精确度、召回率等性能指标。 在编写这个程序时,我们需要合理设置超参数,如学习率、迭代次数、卷积核个数等。这些超参数的选择会影响模型的性能和收敛速度。 综上所述,编写一个用于mi-bci分类CNN-SAE程序,需要导入库函数和数据集、准备数据、构建模型、训练模型,并评估模型的性能。这只是一个大致的步骤,具体实现过程需要根据具体的mi-bci分类任务和数据集来确定。 ### 回答3: 运动想象分类是一种基于脑机接口技术的运动想象实验,通过分析被试者的大脑活动模式,将不同的运动想象分类成具体的动作类别。为了实现这个目标,可以使用一种叫做深度学习的机器学习方法中的卷积神经网络(CNN)。 MATLAB是一种常用的科学计算软件,也提供了深度学习工具箱,方便我们编写和运行深度学习的代码。以下是一种用于运动想象分类CNN-SAE(卷积神经网络-稀疏自编码器)的MATLAB代码: 1. 数据预处理: - 读取运动想象实验的脑电信号数据和相应的标签数据,其中标签表示被试者想象运动类型。 - 对脑电信号数据进行预处理,如滤波去噪、时域/频域特征提取等。 2. 数据划分: - 将脑电信号数据划分成训练集、验证集和测试集,一般采用交叉验证的方法。 3. 构建CNN网络: - 设计CNN网络的结构,包括卷积层、池化层、全连接层等。 - 设置相应的参数,如卷积核大小、卷积步长、池化窗口大小等。 4. 特征学习: - 使用训练集的数据和标签进行网络训练,使网络学习到适合运动想象分类的特征表示。 - 采用稀疏自编码器(SAE)作为中间层,增强特征表示的能力。 5. 分类: - 使用训练好的CNN-SAE模型对测试集进行分类。 - 计算分类精度和其他评价指标。 通过以上步骤,就可以使用MATLAB编写出运动想象分类CNN-SAE程序。这个程序可以用于训练和分类运动想象实验的脑电信号数据,帮助我们分析和理解大脑活动模式,并实现准确的运动想象分类

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sjx_alo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值