zl程序教程

您现在的位置是:首页 >  其他

当前栏目

一种具有神经形态硬件解码器的双向脑机接口

2023-03-07 09:11:08 时间

双向脑机接口(BMIs)在大脑和外部世界之间建立了双向的直接通信链接。解码器将记录的神经活动转换为运动指令,编码器将从环境中收集的感觉信息直接传递给大脑,形成闭环系统。这两个模块通常集成在笨重的外部设备中。然而,对严重运动和感觉缺陷患者的临床支持需要紧凑、低功率和完全可植入的系统,该系统可以解码神经信号来控制外部设备。

为实现这一目标,本研究开发了一个模块化的双向BMI设置,它使用一个紧凑的神经形态处理器作为解码器。在该芯片上,实现了使用其超低功耗混合信号模拟/数字电路构建的峰值神经元网络。片上在线峰值时间依赖的可塑性突触电路使网络能够学习解码从大脑记录的神经信号到控制外部设备运动的运动输出。BMI的模块化使本文能够在不修改整个系统的情况下调优设置的各个组件。

1 方法

1.1.模块化双向BMI的一般方案

本文加入一个神经形态解码器模块,扩展了动态神经接口。该系统利用从大鼠大脑中收集的神经信号,通过感觉和运动界面来控制外部物体的运动。通过建立一个解码和编码接口,生成力场形式的动态控制策略,并鲁棒地驱动被控对象的运动。通过记录多电极阵列从麻醉大鼠的运动皮层记录神经信号。本文使用了四种不同的皮层内刺激模式,工作空间被划分为四个不同的相邻感觉区域。这四种刺激模式之间的区别仅仅在于选择的电极的组合来提供刺激。每个刺激模式由10个双相脉冲(100 μA, 100 μs/phase,阴极优先)组成,以333 Hz的频率传输。在每次刺激之后,解码器考虑诱发的运动神经信号的前256毫秒来产生外部设备的驱动力。在图1中,本文报告了从阵列的所有电极记录的诱发神经活动的时间依赖性放电速率(mean±sem)的刺激后时间过程。栅格图表示从多电极阵列的所有电极记录的至少一个尖峰的出现时间。

对应于每个区域的校准力值由一个从该区域的质心指向目标的向量定义(如图8所示的彩色厚箭头)。解码器的任务包括从每个诱发的神经反应中提取一个结果力值,计算为定义力场的四个校准力的加权和。具体地说,解码器需要提取对应于四种校准力中每一种力对解码力的贡献的四个系数。

图1.刺激后随时间变化的放电速率(mean±sem)的时间历程和记录的四种不同刺激模式引起的神经活动的栅格图。栅格图中的每条短垂直线表示在1毫秒时间箱中记录阵列上所有电极记录的至少一个尖峰的发生。

1.2. 实验的程序

神经数据收集自雄性Long-Evans大鼠(300-400 g),在整个实验过程中通过羟嗪(5 mg/kg)和噻他明和唑拉西泮(30 mg/kg)的混合物麻醉。分别在代表同一半球须的体感(S1)和运动(M1)皮层上进行了两次开颅手术。刺激微线阵列(Tucker Davis Technologies-TDT)垂直于体感觉皮层表面下300-500 μ m(相对于阵列最后内侧电极的AP−3.5 mm, LM +4 mm)。使用液压微驱动将记录阵列放置于脑脊膜下方900-1100 μ m处(相对于阵列最后部内侧电极的AP−1.5 mm, LM +0.5 mm)。两个微电极阵列均由16个微电极(2行8个电极,直径50 μ m)组成,每个微电极与相邻微电极沿行间距分别为250 μ m和375 μ m。

1.3. BMI系统的主要模块

模块化双向BMI是围绕一个名为管理单元(MU)的核心单元设计的,该单元可以连接到卫星模块,每个模块都致力于特定的任务,如解码神经信号,控制外部设备的运动,编码从外部环境收集的信息,以提供感官反馈。

本文将五个不同的卫星模块连接到MU,实现双向BMI所需的功能:采集单元、刺激单元、解码器、编码器和动力系统,图2详细描述了这些功能。动力系统包括一个小型移动推车,连接到安装在垂直墙上的水/颗粒分配器,该分配器安装在一个为啮齿动物定制的行为箱中,由两个跨度为38 × 38厘米的伺服电机控制。小车由透明的丙烯酸玻璃片保护,上面有一个槽,如果小车被放置在想要的位置,老鼠就可以抓住食物。动力系统是这样设计、开发和测试的,以便在未来的实验中使用行为良好的受试者。

运行在MU上的主要算法mbBMI算法负责读取来自采集系统模块的峰值神经数据,并将其通信到解码器。一旦解码器产生输出信号,算法将其转换为动力系统可用的电机命令。为了闭合大脑回路,算法获取从外部设备到达的当前位置,并将其通信到编码器,编码器返回下一个刺激,并将其通信到刺激系统模块。

图2.模块化双向BMI的实际实现。管理单元实现在一个ZedBoard开发板上,通过用户数据报协议(UDP),使用TDT RZ2 BioAmp处理器-塔克-戴维斯技术公司(采集系统)和TDT RX7刺激器基础(刺激系统)。ZedBoard连接到ROLLS神经形态处理器(解码器),该处理器实现了一个神经网络,能够学习解码来自大鼠运动皮层的神经信号。解码器的输出由管理单元翻译成二维力,该力被转换成数字信号,以驱动安装在自由度机器人装置(动力系统)上的电机。动力系统将其最终状态与编码器通信,转换为刺激模式,随后由TDT RX7传递到受试者的体感皮层并闭合循环。

1.3.1. 管理单元(MU)

采用Xilinx Zynq R -7000全可编程芯片(SoC)开发板ZedBoardTM实现了管理单元。Zynq R -7000系列在单个设备中集成了功能丰富的双核ARM CortexTM-A9处理系统(PS)和28纳米Xilinx可编程逻辑(PL)。

MU存储每个记录的动作电位相对于最后一次传递的刺激的时间偏移量,作为与发射电极的标识(或地址)相关的时间戳列表。在每个记录周期结束时,根据解码器的要求(见章节2.5和图5),从记录的峰值时间戳生成峰值序列,然后转发到神经形态芯片。MU使用原生神经形态异步通信协议与解码器通信,称为地址事件表示(AER)协议,其中信息被编码在数字脉冲(或峰值)之间的隐式时间和发出脉冲的神经元的标识(或地址)中。解码器的输出AER峰值由MU获取并转发到其动态系统控制器部分。

当在MU时钟系统上获得时,AER尖峰序列中的隐式时间信息通过MU的NeuElab部分的TimeStamp块显式地与尖峰地址配对。NeuElab由两种不同的FIFOs组成,它们驱动神经形态芯片之间的数据流。通过将延迟时间值与TimeStamp块关联,TX FIFO填充了将接收尖峰的神经元的地址和相对于其他尖峰的时间。NeuElab读取TX FIFO并在延迟指定的时间向神经形态芯片发送一个峰值,与峰值相关的地址允许接收芯片将峰值路由到相应的神经元。RX FIFO充满了来自神经形态芯片神经元的尖刺。然后,接收到的地址对和相对时间戳被发送到BMI算法,该算法将记录的神经活动转换为动力系统的命令。

1.4.神经形态解码器的硬件方面

在一个神经形态芯片上实现解码器,将记录的大脑活动转换为运动指令。

图3.ROLLS神经形态处理器:神经形态处理器芯片的显微图,该芯片将其大部分区域分配给非线性突触电路,用于内存存储和分布式大规模并行计算。芯片左下部分的测试结构包含本工作未使用过的超低功率神经放大器电路和基于峰值的神经信号模数转换电路。

1.4.1. ROLLS神经形态处理器

可重构在线学习Spiking (ROLLS)神经形态处理器是一种通用的Spiking神经网络芯片。图3显示了芯片显微图。它使用标准的6-metal 180 nm CMOS工艺制作,51.4 mm2,约有1220万个晶体管。它由256个自适应指数积分和发射神经元组成,采用模拟/数字混合信号电路设计。

上面有128 K个突触,其中64 K可以实现Hebbian可塑性规则,其余64k突触可以表现出短期抑制和短期促进的动态[短期可塑性(short-term可塑性,STP)突触],并具有两种可能的可编程权重解析,除了可以将它们配置为兴奋性或抑制性之外。这两个突触矩阵(LTP和STP)由于具有交叉结构,可以实现片上的任意连接。神经网络架构和神经形态核心的参数都是通过高级Python框架完全可编程的。可重构硬件与基于python的配置框架的组合支持对各种峰值神经网络体系结构的探索,以及它们在闭环设置中的实时仿真。

1.4.2. Zynq2Neuro (Z2N)

为了将神经形态芯片与管理单元进行管理、编程和接口,本文设计并开发了Zynq2Neuro (Z2N) PCB,该PCB可以容纳最多两个安装在神经形态芯片上的子板(DTB)。Z2N将神经形态芯片连接到ZedBoard的FNC连接器上,为芯片供电,支持AER通信和芯片配置信号。在神经形态芯片上配置硅神经和突触模型参数的模拟偏差可以通过外部数字到模拟转换器(DAC)或芯片上可编程偏差发生器(BG)来设置。NeuElab和Zynq2Neuro板可以驱动这两个系统,Zynq2Neuro板托管64个dac,可以通过SPI接口编程,还托管编程不同类型的bg所需的信号,由NeuElab管理。

Z2N板已经被配置为通过I/O扩展器和I2C协议支持未来的芯片功能。AER寻址空间可以扩展到30位(可配置为输入或输出)。Z2N(图4)可以支持3.3 V或1.8 V的数模转换器的逻辑电平、电源和偏差(从第一个DTB中选择)。这意味着两个dbs需要托管逻辑级别相同的芯片。为了优化设计,AER地址线、偏压发生器编程、I2C和I/O扩展器在两个dbs之间共享。AER地址线的共享是基于这样一个假设:当芯片不发送或接收事件时,它们处于三态。这是由SCX协议保证的,但也可以支持P2P协议,通过在DTB上添加由ZedBoard的握手信号(ACK)驱动的缓冲区。事件到芯片/从芯片的正确寻址由保留的握手信号(REQ/ACK和Bias LATCH)保证,它们只针对两个芯片中的一个。

图4.Zynq2Neuro示意图:允许在bmBMI中使用神经形态芯片的板框图。它承载着带有神经形态芯片的dbs,并通过FMC连接器将它们连接到ZedBoard。芯片配置支持数字到模拟转换器或偏置发生器编程和IO扩展器的数字配置。AER输入/输出通信支持P2P和SCX协议。

1.5.神经形态解码器的算法方面

将多类分类任务的约束与具有有限分辨率突触权重的峰值神经网络的约束结合起来,并结合与所有四个类对每个解码力同时贡献相关的bmp特定要求(见2.1节),从而实现了神经形态解码任务。

1.5.1.硅峰值神经网络

本文了ROLLS芯片来实现前馈峰值神经网络,该网络利用芯片LTP突触的峰值时间依赖性可塑性,来学习如何从记录的神经活动中提取四种校准力的模式,这些校准力应该导致期望的净力。网络的每个输出神经元都被训练成一个二元分类器,通过对分布在其突触上的输入特征进行重新加权,从而通过激活函数,最终产生一个阳性输入类别比其他三个阴性输入类别更高的输出峰值率。神经元被分成四组,每组对应四种刺激中的一种。在向网络展示记录期间,四个集合输出的尖峰计数被直接用作衡量作用在BMI末端执行器上的四个分量力贡献的系数。

1.5.2. 将神经记录映射到ROLLS神经形态处理器

在芯片上实现的基于峰值的学习算法基于Brader等人(2007)提出的模型。使用这个模型,前馈神经网络可以学习基于它们的平均速率对模式进行分类。然而,在本文记录的神经数据中,区分一类与其他一类的主要特征是记录的尖峰的精确时间,与感官微刺激的偏移对齐(图1)。因此,在它到达输出层之前,需要将输入尖峰序列转换为发射速率数组。此外,数据中非冗余特征的数量需要足够高,以支持跨所有类的健壮区分,但记录的活动在所有记录通道中非常相似(参见图1,插图)。因此,很可能不可能找到一种单层前馈网络配置,可以根据直接对应于录音通道的特征对录音进行分类。

为了使数据的特征与网络要求相一致,本文使用平均速率编码将穗序列的不相关子样本映射到分类器神经元的不同突触上。即将记录的尖峰序列以1毫秒的时间箱(图5B)进行分箱,并将每个分箱与网络中每个神经元的一个输入突触相关联(图5)。本文向学习突触提供了一个400毫秒高平均速率(100赫兹)的泊松峰值序列,用于包含记录尖峰的时间箱,而不向其他突触输入(图5C)。

图5.神经形态解码器的输入、训练和使用。(A)为了训练解码器,给大鼠的感觉皮层提供了四种不同的刺激。刺激以随机顺序提供,每种刺激40次,并在此期间记录运动皮层的活动。(B)在每个刺激结束后的前256毫秒的活动与解码器一起使用。记录被分装在1毫秒的时间箱中,并且在任何记录通道中检测到至少一个动作电位的箱被标记。(C)每个时间仓被映射到ROLLS上的252个学习突触列,其中每个突触属于芯片上不同的突触后神经元。记录中包含检测到的尖峰的时间箱对应的突触接受平均速率为100赫兹的泊松尖峰序列。对应于空时间箱的突触没有收到任何输入。此外,硅神经元受到teacher信号的刺激,如下所示。252个突触后神经元被分成四个63个集合,本文将每个集合与提供给大鼠感觉皮层的四种刺激中的一种联系起来。在向芯片展示每个记录时,与前面皮质刺激相对应的集合被75 Hz的泊松脉冲序列作为teacher信号所刺激,而其他三个神经元集合则接受25 Hz的teacher信号。训练结束后,ROLLS没有接收到teacher信号,每个记录被解码为施加在末端执行器上的力,通过对四个力分量按四个集成器输出的尖峰数进行加权。

1.5.3. 神经网络的任务

BMI的目的是通过对四个力分量的加权,在实验期间最好地近似所需的力场。为了实现这一目标,解码器必须基于两个标准同时优化其学习。首先,它需要学会对模式进行分类,即正确地输出每个呈现的记录真正属于的单一类,正如输出神经元的“获胜”(即最活跃)集合所表示的那样。其次,解码器还需要防止其他三个“丢失”集成在末端执行器的轨迹上使力场平均偏向特定方向。即需要在学习的约束下对记录进行分类,使“丢失”集合的平均输出相等。因此,尽管与分类器有相似之处,但对单个记录的分类只是解码器的部分任务。

1.5.4. 录音类别间的偏差异同:用异质突触竞争来解决

本文使用了ROLLS芯片学习电路的“停止学习”功能,当突触后放电速率超过阈值时,该功能会阻止突触的增强。当与神经元正类对应的一定数量的突触增强时,来自输入的增加的兴奋会导致神经元停止学习。这就向芯片的输出神经元引入了异质突触竞争,用是(a)标准化网络输出以响应不同的类,(b)使增强的突触成为稀缺资源,从而使增强倾向于非重叠特征,(c)平衡“丢失”集成的输出。这类似于提升机器学习中使用的技术,并通过聚合集合成员神经元定义的多个线性边界来允许集合的非线性决策边界,从而提高分类性能。

1.5.5. 训练神经形态解码器

为了训练神经形态解码器,本文使用了由每种刺激模式的40次重复组成的实验环节(即160次诱发记录)。在训练过程中,根据第2.5.2节(图5B,C)中描述的方法,将160个训练试验随机交错呈现给ROLLS处理器,并伴随着表示所呈现示例标签的教师信号,即产生记录的神经反应的感觉微刺激的类型。每个类分配了63个输出神经元(图5C,右)。teacher信号使每个神经元偏向于一种课程,通过使其以一个最大概率的速率放电,当一个班级的例子出现时,神经元突触增强,而当另一个班级的例子出现时,神经元突触减弱。具有这些特性的作为教师信号的泊松spike序列的平均速率,以及ROLLS处理器的硅神经元和突触的模拟参数都被配置为匹配输入数据的特征,以满足学习和解码任务的要求。

1.6. 评估BMI的性能

为了测试系统,通过从每个神经试验解码二维力和通过ICMS模式编码被控制对象的每个位置来运行BMI。本文使用了一个神经记录的测试数据集,四种刺激模式每一种重复10次获得(即40次诱发记录),这些记录在BMI训练期间是看不到的。本文选择了8个不同的等速等距位置作为初始化动力系统的起始点,并从每个初始位置开始运行BMI 100次,获得800个轨迹。本文在两种条件下对系统进行了测试:在正常运行(编码器- on条件)下,根据动力系统的当前位置选择每个测试记录。采用一种备用条件(编码器- off)来测试BMI的双向性和学习到的编码器和解码器模块之间的协调。在编码器关闭条件下,每个测试试验是从所有40个测试录音中随机选择的.

为了评估生成轨迹的可重复性、速度和最优性,本文测量了收敛到目标所需的步数和轨迹内方差的平均值(缩写为wtv)。具体来说,每个轨迹的wtv定义为,其中Cx和Cy分别为每步位移沿x轴和y轴分布的协方差。本文通过对从一个初始位置开始的每组轨迹的wtv计算的平均值来得到平均wtv。

图6.过训练的解码器输出。(A)经过训练的ROLLS芯片在演示四个示例测试记录时输出峰值的栅格图,每个测试记录都是由不同类型的刺激产生的。顶部的条的长度显示了400毫秒长的输入显示。在这四个例子中,最活跃的输出神经元集合对应于导致输入记录的真实刺激。输出的每一个神经元集合的峰值计数都被直接用于对力场的每一个组成部分进行加权,从而产生电机命令,即作用于被控制对象的力。在输入停止后不久,芯片的神经元还保持着一定的活动,这主要是由于兴奋性电流在放电的神经元电子电路之间泄漏。对于每一个刺激,其对应的集合平均比其他三个激发更多,证明了解码器任务的分类方面。此外,与输入类之间的差异程度相比,解码器对每个刺激进行学习,以部分均衡三个非对应集成的响应振幅(参见图1和第3.1节)。

2 结果

2.1. 解码性能

为了评估解码器,本文使用了之前解码器看不到的测试数据集,如第2.6节所述。对于每个解码的模式,计算每个神经元集合产生的输出峰值(图6A)。给定一种刺激,与该刺激相对应的硅神经元集合的平均峰数高于其他三种刺激(图6B)。

此外,由于在硅神经元中引入了“停止学习”,尽管在输入类之间存在成对相似性的偏差(见第2.5.4节),但在其他三个集成中,平均峰值计数相对一致。芯片学会了抑制这种偏差,因此,解码的每个刺激的合力,正如最初预期的那样,与校准阶段使用的四种力中的一种最相似(图8B所示的彩色厚箭头)。

虽然解码器的任务不是一个纯粹的分类任务,它也没有被优化为一个分类器,但本文也评估了它在正确分类录音方面的性能,以最大程度地激发神经元集合表示。对于训练和测试集之间的20个不同的随机分组,测试集上的分类表现在50%到70%之间,而机会表现水平为25%。

图7.用100步停止规则测试BMI性能。(A)最接近目标点的轨迹。对于每个轨迹,红点表示与编码器关闭时的工作空间轴原点最近的点,而蓝点表示与编码器打开时生成的轨迹相同的点。在编码器打开和关闭的情况下,通过对8个预定义初始位置(即编号的圆圈)中的每一个运行BMI 100次来收集数据。(B)在编码器打开和关闭的情况下,轨迹最近点分布的箱线图。双样本t检验,p<0.001。

2.2. 权重指数的表现

为了评估BMI的性能,本文执行了两个不同的测试阶段:在第一个阶段中,本文将获得的轨迹的最大步数设置为100作为停止规则(图7)。BMI根据闭环设置施加的力的顺序自由移动物体,本文将目标作为轴的原点。在每次试验中,被控对象被初始化在8个起始位置之一,BMI生成一个100编码+解码步骤的轨迹。本文在图中标记并绘制了距离目标点的坐标轴原点最近的点(图7A)。对于每个起始位置,本文重复实验100次,在两种条件下各获得800分(蓝色点代表“Encoder ON”,红色点代表“Encoder OFF”)。在ON条件下,当感觉皮层受到刺激时,刺激是根据物体当前的位置进行的。在OFF条件下,刺激是在四种可能的刺激中随机选择的,因此不编码对象当前的位置。两组点(图7B)的分布具有统计学差异(独立样本t检验,p<0.001)表明距离目标的距离减少了99%,并表明为了正确地驱动动力系统朝向目标,关闭拟议BMI中的循环是至关重要的。

图8A显示了在开启编码器的情况下,实验期间产生的平均轨迹(蓝线)和协方差(浅蓝色区域)。两种截然不同的行为是可区分的(见图S1C):如果从起始位置到目标区域的路径位于相同的感觉区域内,本文得到的轨迹几乎是直线的。另一方面,当被控装置越过一个区域的边界时,系统沿相邻两个区域的边界振荡。

BMI以100%的成功率收敛到目标区域,而且它是在一个非常稳定和直线的路径上实现的,因为在相同的刺激模式下得到的解码力在方向和大小上都非常相似。这在图8B的罗盘图中得到了证明,它显示了从每个刺激模式引发的神经活动中解码的力,并在测试阶段使用(即黑色箭头)几乎是重叠的。为了进一步评估神经形态解码能力,本文还报告了用于校准BMI马达接口的力(图8B中的彩色粗箭头),特别是在方向方面,几乎等于在BMI运行期间解码的大多数相关力。与编码器关闭情况相比,在编码器打开情况下,到达目标区域所需的平均wtv和步骤显著减少(分别为92和80%)(图8C,D)

对于解码过程中产生的每个力,本文测量了两个分量的大小:指向目标点的力的分量,命名为指向目标- dt,和正交于它的力的分量,命名为正交于目标- ot。在编码器on的情况下,dt分量的平均值为强正(指向目标),当编码器关闭时,dt分量的平均值为微负(偏离目标)(图8E显示增加了69%)。在这两种情况下(ON和OFF),平均ot分量几乎为零,相比于encoderON获得的平均DT(分别少90和97%)。在关闭条件下,这可以归因于运动的随机性。在ON条件下,结合增加的DT力,这是解码成功的迹象。

图8.用目标区域停止规则测试BMI性能。(A)平均轨迹图。从每个用编号的圆圈表示的起点开始,蓝线表示平均轨迹,浅蓝色区域表示沿100次试验轨迹的协方差。工作空间被细分为四个感官区域,每个刺激一个,用四种不同的颜色突出显示。本文定义了一个以坐标轴原点为中心的目标区域,每当移动小车到达它的边缘时,BMI就认为任务完成了。(B)黑色箭头表示在BMI测试阶段计算的解码力。彩色粗箭头表示与感觉区域相关的四种校准力。各种力量是根据产生它们的刺激因素进行分组的。(C)在编码器打开(蓝条)和关闭(红条)时记录的所有800个轨迹的平均轨迹内方差(wtv)±SEM。(D)平均收敛步数±SEM。当编码器关闭时,得到的红色条非常接近允许的最大步数(100步),而当编码器处于活动状态时,到达目标区域所需的步数明显较低。(E)平均DT分量大小±SEM。每一个被解码的力都被拆分为指向目标的- DT(指向目标的力的大小)和正交于目标的- OT(垂直于指示分量的力的一部分)。从编码器关闭时产生的力中获得的DT分量的平均幅度(红色条)比编码器激活时(蓝色条)高得多。二样本t检验,p<0.001。

3 结论

神经形态技术在脑机接口设计中的相关性在该领域的蓬勃发展中得到了证明。神经形态实现的主要特点是低功耗、实时操作、适应性和紧凑。仿真表明,硬件Spiking神经网络可以成功解码神经元的活动,用于闭环皮质植入物,一个临时工作原型能够替代大鼠的小脑学习功能。

本文的工作扩展了这种方法,提出了一种模块化和可重构的方案,使神经形态芯片可以用于实现不同的算法和BMI功能;特别地,本文通过使用该芯片作为神经解码器来演示这种方法。本文还通过比较神经形态解码器与本文实验室之前开发的解码器的性能,探讨了在这样一个闭环系统中使用神经形态解码器的影响。

本文通过解码编码器选择的不同皮层内微刺激模式所引发的神经活动,闭合了与大脑的循环。即使本文没有从被麻醉的受试者身上解码任何意志输入,这个在大脑和外部设备之间建立双向交互的系统,也需要被视为设计未来实验的第一步,让行为良好的受试者控制连接水或食物分配器的小型移动推车的运动。神经形态解码器的独特特性将允许本文的模块化双向BMI在解码方案中集成大脑活动的意志成分,并探索在控制外部设备的运动时,将意志输入与大脑自动响应集成在一起。

参考信息:

https://www.frontiersin.org/articles/10.3389/fnins.2016.00563/full


仅用于学术交流,若有侵权,请后台留言,管理员即时删侵!