利用AI将脑信号解码为神经义肢控制

news2024/11/22 15:35:21

3839afbc6ebe952e54892d934d35c0a6.png

机器学习和人工智能的快速发展,它们已经产生了一系列能够学习大量数据之间复杂非线性关系的神经网络模型。深度学习算法在各种应用中取得了巨大的成功,包括计算机视觉、自然语言处理和机器人类等。最近,神经网络的中一项引人注目的应用是通过脑机接口(BCI)对运动相关的大脑活动进行建模和解码,这对于提高BCI系统的性能具有巨大潜力。然而,深度学习与BCI的交叉面临一些独特的挑战,包括数据量通常有限以及从离线(开环)到在线(实时闭环控制)设置中数据分布的变化。

循环神经网络(RNN)能够学习数据中的时间依赖性,但需要大量的训练数据,并且可能会过度拟合离线数据,从而降低其在实时控制BCI时的效用。为了解决这个问题,来自斯坦福大学的Darrel R. Deo等人研究了RNN在BCI中的应用和使用情况,探讨了RNN解码器在双手控制两个光标的非线性BCI问题上的性能。他们通过改变训练数据的定型结构,引入了时间和行为变化,帮助RNN推广到实时控制。研究表明,防止模型过度拟合训练数据的时间结构有助于将深度学习应用于非线性问题的BCI设置,RNN可以利用控制复杂双手运动的神经代码中的非线性来完成同时两个光标控制,超越传统线性方法。

222d2ddb629c2087e7b567eea7047a6e.png

    研究方法

研究参与者

该研究使用了来自单个人类参与者(编号为T5)的数据,参与者T5是一名右撇子男性(在研究时年龄为69岁),因颈部脊髓损伤而致四肢瘫痪,其损伤大约9年前发生,参与临床实验前进行了认证。2016年8月,参与者T5在左侧(主导侧)前中央回的手旁区域植入了两个96通道颅内微电极阵列。T5具有面部和头部的完整运动功能以及耸肩的能力。在脊髓损伤以下的部位,T5的手臂和腿的自主运动能力非常有限。

神经数据处理

使用Blackrock Microsystems的NeuroPortTM系统记录来自两个96通道Utah微电极阵列的神经信号。首先,神经信号从0.3-7.5 kHz进行模拟滤波,随后以30kHz,250 nV分辨率数字化。接下来,通过公共平均参考滤波器实现共模降噪,该滤波器从每个电极中减去整个阵列的平均信号。最后,在尖峰检测之前,将250 Hz的数字高通滤波器施加到每个电极上。使用应用于每个电极的-3.5 x RMS阈值实现尖峰阈值交叉检测,其中RMS是该电极上记录的时间序列电压的电极特定均方根。与其他最近的工作一致,所有分析和解码均对多单元加标活动进行,而对单个神经元活动进行尖峰排序。

会话结构和双光标任务

研究记录了参与者T5在预定日期3-5小时的训练中的神经数据。T5要么坐在轮椅上,要么躺在床上,面前的电脑显示器显示目标和光标(两个大圆圈表示目标,两个较小的圆圈表示具有相应颜色的光标),左光标标记为“L”并涂成紫色,右光标标记为“R”并涂成白色。

在开环任务期间,光标以延迟移动模式自主移动到其指定目标。在每次实验中,随机提示三种运动类型中的一种:(1)双手(两个光标同时移动),(2)单手右(仅右光标移动)和(3)单手左(仅左光标移动)。每个实验都以1-2秒的随机延迟期开始,其中出现线条并将每个光标连接到其预期目标。在延迟期间,T5将进行准备。在延迟周期之后,由表示“go”提示的哔哔声指示,线条消失,光标在1-2秒的时间内移动到目标,其中光标移动由最小急动轨迹控制。T5尝试的运动策略是想象他的手抓着操纵杆,并推动每个操纵杆来控制相应的光标运动。每次实验结束时都会发出另一声蜂鸣声,指示T5停止所有尝试的动作,并开始为下一次实验的动作做准备。

闭环任务通常模仿开环任务,除了光标通过神经解码器(RNN或线性解码器)控制,而不是对目标进行规定的运动。在每次闭环实验中,T5最多有10秒的时间获取两个靶标。目标采集定义为两个光标同时停留在其预期目标内,持续时间为500 ms。如果任何一个光标在停留周期过后移出其目标,则停留计时器将重新启动。在适当的同时停留期间,两个目标都被照亮为蓝色。如果在 10 秒超时期限内未成功获取目标,则认为实验失败。

离线总体水平分析

研究人员使用了欧几里得距离的交叉验证估计来量化神经调谐强度的统计数据,并使用交叉验证的普通最小二乘回归实现来量化调整强度,以估计线性模型系数列的大小。随后使用主成分分析 (PCA)在低维空间中可视化神经活动,并使用混合主成分(dPCA)分析变化,从而量化偏侧性相关调谐的大小。

127a84521d41c40f033b8ddefadb9c0d.png

▲图1 神经调谐到单一的和双手的手的运动。

单电极通道调谐

研究人员使用单向ANOVA分析评估神经元对于单手或双手运动的调谐,并将平均发射率矢量分为单向右侧实验、单向左侧实验和双手实验,根据手的运动方向将矢量分组,执行单独的单向ANOVA。如果p值小于0.00001,则认为电极强烈调谐到该运动环境,而为了评估调谐强度,进而计算了FVAF得分。

通过训练片段的膨胀和随机化来增强训练数据

研究人员使用形状为S x T x N的输入“特征”数据张量和形状为S x T x R的输出“目标”张量来训练循环RNN。S是训练片段的数量,T是片段中的时间点数,N是电极通道的数量,R是响应或输出变量的数量。输入张量由神经数据组成,这些数据以20 ms进行分箱,逐块均值删除并进行Z评分。输出张量包含光标的速度和运动上下文信号,这些信号也以20 ms的速度进行分箱。研究人员通过将数据流的较小片段拼接在一起来生成大量合成训练片段,这些片段也在时间和顺序上随机膨胀,以生成一个平衡的增强数据集,该数据集在运动方向和运动类型之间保持平衡。他们定义了对应于单位圆的每个象限的4个总运动方向,并将运动类型定义为单手动、双手动或无移动。不动的类型进一步细分为以下几组:(1)单手右延迟期,(2)单手左延迟期,(3)双手延迟期和(3)休息。通过附加原始数据的扩展/压缩片段生成合成的10秒训练片段。每个原始数据片段被选择在一个随机时间点开始,持续时间不同,并具有相关的膨胀/压缩因子,以保持当前平衡记录。数据增强方法生成了一个不包含重叠数据的训练集和保留验证集。

双光标的在线RNN解码

研究人员使用单层门控递归单元(GRU)递归神经网络架构,将阈值交叉神经发射速率向量的序列转换为连续光标速度和离散移动上下文信号。他们编码离散上下文信号,启用相应的光标速度命令进行门控,并使用特定于日期的仿射变换来解释神经调谐的变化。RNN模型和训练在TensorFlow v1中实现。通过提取网络权重并在自定义软件中实现推理步骤,将在线RNN解码器部署在实时系统上。研究人员收集了离线数据,对其进行增强以训练RNN,使用随机搜索来调整初始RNN模型的超参数,并通过额外的开环训练数据重新校准RNN。他们总共在6天内进行了4-8个块(每个5分钟)的平衡实验,用以评估性能。

真实和模拟单手动数据的离线单解码

单手运动的真实和模拟神经数据:将数据进行分箱(20 ms),逐块平均移除,并且每个实验截断到400 ms移动窗口(go提示后300-700 ms)。为了与标准的BCI解码实践保持一致并专注于定向运动解码,研究人员将每个时间步长的速度目标定义为从光标指向目标的单位矢量,从而产生离散的速度步长。在生成用于仿真的合成数据时,研究人员匹配真实数据集的功能性信噪比(fSNR)以便进行更实际的比较。fSNR将解码器输出分解为信号分量(指向目标的矢量)和噪声分量(随机实验到实验的可变性)。为了模拟神经活动,他们使用了偏向编码模型,首先生成了一个合成目标数据集,其中包含左手和右手的单手速度,通过向添加高斯噪声将每只手的fSNR与真实数据相匹配,直到合成数据的fSNR接近真实数据的fSNR。

用于单箱解码的线性岭回归和前馈神经网络:将真实数据分为5份进行交叉验证,在每一份内对数据的单手动右和单手动左时间步长进行平衡,随后使用神经解码python包和Scikit-Learn库对真实和模拟数据集进行了简单的线性岭回归分析,使用交叉验证拟合线性调谐模型,从真实的单手数据中删除了偏侧性信息。

从真实的单手数据中删除偏侧性信息:通过首先使用交叉验证拟合下面的线性调谐模型,从真实的单手数据中删除了偏侧性信息。

    实验结果

定向单手和双手手部运动的非线性神经编码

研究人员使用延迟运动任务(图1a)测量了T5的神经调制以尝试单手和双手运动。结果表明,在双手运动期间已经观察到解除相关性和抑制同侧相关的神经活动,即使有更丰富的连续方向运动,也可以再现这些现象(图2b)。右手(主效应器)定向运动的调谐强度从单向到双手环境保持相对不变(双手抑制12%),而双手(二次效应器)的调谐强度在双手运动期间被抑制34%。类似地,图2c的结果表明,右手的方向调谐保持相对不变,而左手方向调谐变化更大。这些结果表明,当与右手同时移动时,对左手运动的神经调谐表现出抑制和去相关,而对右手运动的调谐基本保持不变。

25c5b7c9800efae7580fa28f9c0f4c85.png

▲图2 双手和手运动背后的非线性神经代码。

大型神经维度编码手的偏侧性

研究人员发现了一个显著的偏侧性相关神经维度(图2d),该维度编码手所处的身体侧面,而与运动方向无关。他们在单向和双手神经数据上使用主成分分析(PCA)来可视化顶部主成分(PC)中的神经活动。在前两个PC中出现了一个能够明显地将右手和左手单向运动分开的维度。此外,双手神经活动与单手右手活动最为相似,进一步表明在对侧中央前回的双手运动期间右手比左手更强烈。接下来,他们使用dPCA将神经数据分解成一组维度,每个维度解释与数据的一个边缘化相关的方差,以仅量化单向运动数据中偏侧因子的大小。根据时间,侧向性,运动方向和侧向性-方向相互作用将数据边缘化。偏侧边缘化包含最高比例的方差(39%边缘化方差),表明调整到偏侧性比调整到方向(30%边缘化方差)更强。从解码的角度来看,横向尺寸可用于区分右手运动和左手运动。总体而言,结果表明在控制双手运动的神经代码中存在强烈的非线性,这使得它成为RNN解码的非常适合的应用。

RNN过度拟合离线数据的时间结构,并产生过度定型的在线行为

接下来,研究人员使用了一个简单的RNN架构(图3a)从神经活动中解码双手运动。在闭环光标控制过程中,使用离散信号来门控输出光标速度。通过引入反应时间并使速度曲线饱和来修改RNN训练速度目标(图3b),可以更好地近似参与者在远离目标时最大化运动的意图。研究结果表明,在单手运动的情况下,经过离线训练的RNN对双手都实现了很高的解码性能(图3d),但在随后的闭环在线控制过程中,RNN产生的脉冲状运动反映了用于离线训练的速度分布,导致在线控制变得困难(图3e)。因此,对保留的测试数据进行离线RNN解码产生了看似较高的性能,但并没有转化为实际较高的在线性能。

2ffa9caf113990001ab2144e64cca2ca.png

▲图3 离线训练数据中的断裂时间结构有助于RNN解码器推广到在线设置。

打破开环训练数据的刻板时间结构有助于RNN转移到在线控制

研究发现,RNN解码器过度拟合了定型的准备-移动-空闲开环行为。为了解决这个问题,研究人员开发了一种简单的方法,即通过随机选择数据片段并使用线性插值来拉伸或压缩时间,然后随机排列修改后的数据片段(图3c)。使用这种方法训练的循环神经网络(altRNN)在闭环控制中表现更好,因为它可以更好地适应移动方向的快速变化。虽然altRNN在离线保留的测试数据的解码性能稍微较差,并且解码输出速度通常更加嘈杂(图3d),但是它的闭环控制效果更好(图3e)。因此,在训练数据中破坏时间和行为结构导致了更连续的输出速度,这导致了更好的闭环光标控制性能。

RNN解码器能够在线同时控制两个光标

接下来,研究人员测试了用时间变化的数据训练的RNN解码器是否可以促进同时对两个光标进行实时神经控制。T5成功地在许多会话中实现了双手控制,其中双手试验的采集时间(TTA)平均仅略长于单手试验的TTA(图4a)。在此外,他们训练了两个单独的RNN,其中一个如上所述正常重新校准,另一个仅使用单手动数据重新校准。结果表明,顺序单手动策略优于同时双手动策略(图4b)。最后,使用线性解码器(LD)与RNN进行了比较,结果表明,RNN平均结果优于LD(图4c)。

9502150f7938f8598fe8c784848fe3d0.png

▲图4 RNN解码器支持双光标控制,并优于线性解码器。

神经网络利用偏侧性信息进行改进的单手解码

之前的结果表明(第2节),存在一个大型神经维度编码偏侧性,这将有助于识别在任何给定时间哪只手在移动。因此,研究人员比较LD和密集连接前馈神经网络(FFN)在单手运动解码时使用偏侧性信息的能力。图5a和5b的实验结果显示,FFN在预测左手速度大小和所有运动维度方面优于LD,在单手左手解码方面的性能提升最大。

为了进一步了解解码器使用偏侧性信息的程度,对神经数据进行了后续的拟合并移除了偏侧性维度。如图5b,移除偏侧性维度对LD的解码性能没有任何影响,然而,FFN的性能都有所下降。此外,FFN更能够将运动解码隔离到活动手上(图5c)。为了深入了解偏侧性信息在解码单手运动中的作用,使用了高斯噪声模拟了单手神经活动,图5d显示了LD和FFN在模拟数据上的解码性能,无论侧向维度的规模如何,随着手的相关性增加,LD性能都会下降。相反,当偏侧性信息足够时,无论手的相关性如何,FFN都能够实现高解码性能。此外,LD无法使用偏向信息来保持非活动光标静止,并且随着指针变得越来越相关,光标静止度会降低(图5e)。而FFN能够使用偏侧性信息,当偏侧性信息足够时,光标静止度随之增加。

bc5a8498f850ddaad13b5b72b96b927a.png

▲图5 非线性解码器利用横向性信息来解开效应器。

综上所述,这项研究测试了一种用于瘫痪患者的实时BCI控制的深度学习方法,使用RNN控制两个光标的同时双手控制。RNN在离线数据上表现良好,但过拟合导致在线性能较差。研究者提出了一种防止过拟合的数据更改方法,该方法生成合成数据以防止对有限数据的过拟合。与线性方法相比,神经网络能够更好地在神经数据中使用非线性结构。偏侧性信息有助于帮助网络区分左手和右手单手运动,特别是当手之间的神经调整变得越来越相关时。改变训练数据中的时间和行为结构可以帮助将深度学习方法转化为实时BCI控制,这是实现临床转化的必要步骤。这项研究为深度学习在BCI领域的应用提供了一定的参考价值,突出了深度学习方法在用非线性神经表示解码复杂运动方面的潜力。

来源:

https://www.biorxiv.org/content/10.1101/2023.04.21.537581v1.full

—— End ——

仅用于学术分享,若侵权请留言,即时删侵!

更多阅读

他山之石丨Nature:AI模型越大越好吗?

Nature子刊:硬膜外刺激脊髓治疗脑卒中

意念控物——让科幻变成现实

上海交大教授卢策吾深度解读“具身智能”

预见2023:《2023年中国脑机接口行业全景图谱》

这个脑机接口实现每分钟超60个单词的意念说话

人类意识的大脑模式

4d055ba56f14645cd20be02c72638d18.png

   加入社群  

欢迎加入脑机接口社区交流群,

探讨脑机接口领域话题,实时跟踪脑机接口前沿。

加微信群:

添加微信:RoseBCI【备注:姓名+行业/专业】。

加QQ群:913607986

  欢迎来稿  

1.欢迎来稿。投稿咨询,请联系微信:RoseBCI

2.加入社区成为兼职创作者,请联系微信:RoseBCI

34fcc578944509b2d6034af7f772b9b0.png

c3429803fc2f0d0f772a9f2a2f71a48d.png

一键三连「分享」、「点赞」和「在看」

不错每一条脑机前沿进展 ~ 

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

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

相关文章

B 站构建实时数据湖的探索和实践

摘要:本文整理自 bilibili 大数据实时团队资深开发工程师周晖栋,在 Flink Forward Asia 2022 实时湖仓专场的分享。本篇内容主要分为四个部分: 1. 背景和痛点 2. 场景探索 3. 基建优化 4. 总结和展望 Tips:点击「阅读原文」查看原…

VMware之esxcli命令

一、esxcli命令简介 esxcli命令是用于管理VMware ESXi主机的命令行实用程序。它允许管理员在主机上执行各种管理任务,如配置网络设置、存储、虚拟机等。实际上我们在控制台的所有操作最终都会转换为命令在后台执行。以下是一些常见的esxcli命令: esxcli…

第三章 存储系统

1. 主存简单模型和寻址概念 存储器芯片的基本结构 寻址 2.存储器RAM 两种RAM的比较 DRAM的刷新 3.ROM(只读存储器) 为什么需要ROM? 因为RAM里面的数据容易丢失。 4.存储器基本概念 存储器的分类 性能指标 数据的宽度:在一个存储周期中存储的位数 层…

感烟探测器漂移补偿

3.8 慢速发展火灾响应性能 3.8.1 探测器的漂移补偿功能不应使探测器对慢速发展火灾的响应性能产生明显影响。 3.8.2 当无法用模拟烟气浓度缓慢增加的方法评估探测器对慢速发展火灾响应性能时,可以通过物理试验和模拟试验对电路和/或软件分析确定。 3.8.3 探测器评估…

丰富多彩 | Android 14 Beta 2 发布

作者 / Dave Burke, VP of Engineering Google I/O 的大幕已经拉开,我们也为大家带来了 Android 14 的第二个 Beta 版。我们在 Google I/O 上为大家准备了许多精彩的演讲,包括对 Android 14 许多新功能的详细介绍。这次发布的 Beta 2 聚焦相机和媒体、隐…

只要学会这些AI工具,一个人就是一家营销咨询公司

本教程收集于:AIGC从入门到精通教程 只要学会这些AI工具,一个人就是一家营销咨询公司 随着AI工具的不断涌现,您只需掌握市面上热门的AI工具,便可独自开展营销咨询公司。通过一系列AI工具,您可以为企业提供全案服务,收获丰厚回报。 例如,在协助一家美妆初创公司出海时,…

上下文工程:基于 Github Copilot 的实时能力分析与思考

上个月在计划为 AutoDev 添加多语言支持时候,发现 GitHub Copilot 的插件功能是语言无关的(通过 plugin.xml 分析),便想研究一下它是如何使用 TreeSitter 的。可惜的是,直到最近才有空,研究一下它是如何实现…

印刷和喷绘过程中高精度油墨流量和压力的串级控制解决方案

摘要:针对现有技术在印刷或喷绘设备中油墨流量控制不准确,使得油墨粘稠度产生异常造成批量性质量方面的问题,本文提出了相应的串级控制解决方案,即通过双回路形式同时控制油墨的流量和压力。本解决方案不仅可以保证油墨最终流量的…

【C++ 入坑指南】(07)判断

文章目录 一、if 语句1. 单行格式 if 语句2. 多行格式 if 语句 二、三目运算符三、switch 语句四、算法题4.1 分段函数 判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句&am…

C++ - 使用RBTree来封装Set与Map

前面的文章中我们简单的实现了一个红黑树,实现了它的插入的功能,在本文中我们来对其进行修改并构建Set与Map。 下面我们来从源码中截取一点有关Map与Set的代码; 可以看出,在STL30中构建Map与Set使用的是同一个红黑树模板&#xf…

开箱即用!AI模型库全新发布,一站式在线开发部署!

人工智能学习与实训社区飞桨AI Studio模型库全新升级!支持模型创建、上传、托管并一键调用模型线上开发部署! 飞桨AI Studio已接入飞桨生态特色模型库,全面覆盖模型领域,包含文心系列大模型、CV、NLP、语音、科学计算、量子计算等…

Linux常用命令——hwclock命令

在线Linux命令查询工具 hwclock 显示与设定硬件时钟 补充说明 hwclock命令是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。 在Linux中有硬件时钟与系统时钟等两种时钟。…

XR文字输入技术

VR/AR/MR(统称为XR)有望成为个人电脑、手机之后的下一代计算平台,元宇宙的硬件入口。 近年来XR发展迅猛,不仅可以应用于游戏、影视领域,还在军事、医疗、办公、教育等领域有巨大的发展前景。然而相比于XR强大的显示技…

IPWorks IPC .NET 2022.0.85 Crack

IPWorks IPC .NET一个组件库,用于通过命名管道向应用程序添加进程间通信 (IPC) 功能。包括客户端、服务器和外部进程执行组件,用于进程之间的简单对等通信。 最新的IPWorks IPC现已上市!最新版本的 IPWorks IPC 具有现…

我用ChatGPT搞懂GPT技术原理,只问了30个问题,这是极致的学习体验!

自己前段时间写了一篇文章《问了ChatGPT 上百个问题后,我断定ChatGPT可以重塑学习范式!》,讲了使用ChatGPT的感受,最近我开始学习GPT的技术原理,原因有三个: 1、工作中有可能要用到GPT,理解GPT的…

智见|中国能建中电工程罗必雄:数能融合为数字中国夯实底座

出品|网易科技《智见访谈》 作者|赵芙瑶 编辑|丁广胜 数字化浪潮的风,吹到了能源结构转型领域。 中国作为全球最大的能源生产国和消费国,正积极推动能源行业的数字化和智能化建设。数字化智能化升级在能源产业中被视为一项重要的战…

Go设计模式--解释器模式

大家好,这里是每周都在陪你一起进步的网管~!今天继续学习设计模式—解释器模式 解释器模式是一种行为设计模式,可以用来在程序里创建针对一个特点领域语言的解释器,用于处理解释领域语言中的语句。换句话说&#xff0c…

转转前端周刊第六十五期

转转前端周刊 本刊意在将整理业界精华文章给大家,期望大家一起打开视野 如果你有发现一些精华文章想和更多人分享,可以点击我们的公众号名称,将文章链接和你的解读文案发给我们!我们会对内容进行筛选和审核,保留你的推…

基于POM模式应用Playwright进行自动化测试

下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 前言 在现代软件开发中,自动化…

【Linux】Centos安装Redis数据库并内网穿透远程连接

文章目录 前言1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 保留一个固定tcp地址4.2 配置固定TCP地址4.3 使用固定的tcp地址连接 前言 Redis作为一款高速缓存的key value键值对的…