弹性神经网络的制作方法

文档序号:26310510发布日期:2021-08-17 13:49阅读:316来源:国知局
弹性神经网络的制作方法

本公开总体上涉及自动信号识别技术,并且更具体地,涉及用于使用脉冲神经元的硬件弹性的深度学习推理加速器的系统和方法。



背景技术:

自动信号识别(asr)是指通过识别其组成特征来识别信号。asr在一系列应用中得到了利用,例如,在语音/声音识别系统中识别说话者的语音和说出的单词,在心电图(ecg)中识别心律不齐,以确定动作受控系统中手势的形状,等等。asr通常通过表征输入信号的短样本中存在的模式来执行,并且因此准确的模式识别功能对于有效的asr系统至关重要。

测量一些物理量以导出用于asr系统的输入信号可能需要融合来自多种类型传感器的数据。例如,使用手持输入设备识别手势可能需要融合来自加速度计的数据(用于测量运动)和来自陀螺仪的数据(用于测量取向)。结合来自两个传感器的数据,能够检测三维空间中的手势。

通常,数据融合是指从不同的和潜在的异构源收集的数据的集成,以便减少来自那些单独源的数据解释的不确定性。重要的是,在融合过程期间,不同输入信号中的基本特征在融合信号中充分体现。

模式识别和融合通常使用微处理器和/或数字信号处理器来执行,这两者都实现了存储的程序架构。对于流数据的分析,该架构本质上效率低下。在单个处理器上,顺序提取和识别模式。这是因为模式提取和识别根据通用的简单的指令集(例如risc或cisc指令集)实现,从而导致信号样本中每个模式的执行序列都很长。输入信号中的复杂模式需要使用更复杂的信号处理算法,在需要来自模式识别引擎的实时响应的系统中,进一步需要为处理器使用更高的时钟频率。在功率受限的设备(诸如便携式电子设备、可穿戴设备等)中,这是不可行的。此外,由于顺序执行范例,微处理器上的模式识别操作的等待时间和功耗随着模式的复杂性和库的增加而显著增加。输入信号中噪声的存在进一步增加分析的复杂性,并不利地影响性能和效率。

数据融合对于微处理器是非本地操作。这意味着在可以融合输入信号或数据流之前,必须先提取它们的信息内容,并且然后再与其它流中的对应内容进行组合。因此,在微处理器实现方式中,用于融合的每个输入信号/数据源由独立的模式识别流水线分别处理,然后由基于规则的框架组合不同的模式识别结果。该方法需要针对每个输入信号或数据流多次调用模式识别基础架构,从而导致功耗增加。此外,用于模式识别的负载存储架构微处理器和数字信号处理器(dsp)的局限性意味着,随着模式复杂度增加,识别这些模式的功耗和等待时间成本也会增加。虽然可以通过增加时钟频率来降低等待时间成本,但这是以进一步增加功耗为代价的。类似地,融合的质量受到关于输入信号执行的处理和asr的复杂性、融合的信号数量以及微处理器或dsp的计算能力限制。处理的顺序性质降低了基于融合的asr的吞吐量,因此,随着信号模式的复杂性增加,可以使用微处理器或dsp融合的输入信号的数量减少。

已经提出了深层神经网络(dnn)形式的人工神经网络,以替代微处理器实现方式。dnn形成大量机器学习应用程序的基础;从语音和图像识别开始,利用dnn的应用程序数量呈指数级增长,但是这些应用程序存在固有的局限性,主要是在处理大量数据或快速适应不断变化的环境方面。

最初,硬件深度网络加速器已经在标准同步数字逻辑上实现。在数字系统的(通常)串行和时分多路复用处理中,无法复制神经网络的高级并行性;相反,实现为模拟计算节点的硬件dnn仿真器的计算原语(其中存储器和处理元件位于同一位置)在速度、大小和功耗方面都提供了显著的改进。

在生物神经网络模型中,每个单独的神经元异步地并通过稀疏事件或脉冲通信。在此类基于事件的脉冲神经网络(snn)中,只有改变状态的神经元才会生成脉冲,并可能触发后续层中的信号处理,从而节省了计算资源。脉冲神经网络(snn)是为许多不同应用程序实现asr的一种有前途的方法。

snn以一种或多种精确定时的(电压)脉冲的形式而不是整数或实值矢量的形式对信息进行编码。在模拟和时间域中有效地执行用于推断的计算(即,推断输入信号中某个特征的存在)。因此,snn通常在硬件中实现为完全定制的混合信号集成电路。除了具有更小的网络规模之外,这还使其能够以比人工神经网络同类产品低几个数量级的能耗来执行推理功能。

snn由通过突触互连的脉冲神经元网络组成,该突触指示脉冲神经元之间的连接强度。该强度表示为权重,该权重减轻了突触前神经元的输出对突触后神经元的输入的影响。通常,这些权重在训练过程中设定,该过程涉及将网络暴露于大量带标签的输入数据,并且然后逐步调节突触的权重,直到实现所需的网络输出为止。

依赖于输入信号中的幅度域、时域和频域特征可以被编码为唯一的空间和时间编码的脉冲序列的原理,snn可以直接应用于模式识别和传感器数据融合。

这些序列的生成依赖于脉冲神经元的一个或多个集合的使用,集合是神经元的协作组。每个集合执行特定的信号处理功能,即例如特征编码、调节、滤波、数据融合、分类。每个集合由脉冲神经元的一个或多个互连层组成,这些层之间和内部的连接性遵循特定的拓扑结构。每个集合的大小(神经元的数量)、其连接性(拓扑和突触的数量)及其配置(权重和层数)取决于输入信号的特性,例如动态范围、带宽、时标或输入信号中特征的复杂性。因此,在语音模式匹配系统的情况下使用的集合可能与手写识别系统中使用的集合不同。

通常,随着要在输入信号中识别的特征的复杂性增加,处理它们所需的集合的大小也随之增加。脉冲神经网络硬件可以利用脉冲神经元、突触的可配置阵列,这些阵列使用可编程的互连结构连接,从而便于实现任何任意连接拓扑。然而,为了实现较大的集合,基础snn硬件必须至少具有所需数量的神经元和突触。

尽管通过模拟电子电路非常有效地实现了snn所需的基本操作,但是由于制造过程而导致的微电子电路不可避免的变化会引起其功能特性的失真,例如电阻、电容、增益、时间响应等等。特别是在较小的制造工艺几何尺寸和较低的工作电流的情况下,这些电路越来越容易受到量子效应和外部噪声影响,从而有效地降低了信噪比并限制了处理性能。在驱动器、偏置、编码器/解码器电路在更长的互连上被更多数量的设备共享的大型阵列中,这些不理想的影响会增加。



技术实现要素:

为了解决以上讨论的现有技术的缺点,根据本公开的第一方面,提出了一种用于对输入信号进行分类的脉冲神经网络。脉冲神经网络包括多个脉冲神经元和将脉冲神经元互连以形成网络的多个突触元件,其中每个突触元件适于接收突触输入信号并向突触输入信号施加权重以生成突触输出信号,该突触元件可配置为调节由每个突触元件施加的权重。脉冲神经元中的每一个适于从一个或多个突触元件接收一个或多个突触输出信号,并响应于接收的一个或多个突触输出信号而生成时空脉冲序列输出信号。该网络被划分成多个子网络,其中每个子网络包括脉冲神经元的子集,该子集被连接以从突触元件的子集接收突触输出信号。子网络适于响应于施加到子网络的子网络输入模式信号来生成子网络输出模式信号。此外,每个子网络形成核心阵列中一个或多个核心的一部分,每个核心由以硬件或硬件和软件的组合实现的脉冲神经元的可编程网络组成,并且核心阵列中的核心之间的通信通过可编程的互连结构布置。

在实施例中,可编程互连结构包括可交换矩阵。

在实施例中,可交换矩阵包括适于将多个输出信号从核心阵列中的第一核心路由到核心阵列中的第二核心的多个输入的多个路由器。

在实施例中,可编程互连结构在核心阵列中的核心之间形成分组交换网络。在实施例中,可编程互连结构使用地址事件表示。在实施例中,可编程互连结构使用同步或异步通信。在实施例中,核心阵列在集成电路中实现,并且可编程互连结构包括片上网络。

在实施例中,片上网络是实时可配置的。

在实施例中,针对突触元件的学习规则、权重存储机制或通信协议被异构地应用于核心阵列的单个核心。在实施例中,针对突触元件的学习规则、权重存储机制或通信协议被异构地应用于核心阵列中的多个核心。在实施例中,使用学习规则块来实现核心阵列中的一个或多个核心的学习规则配置。在实施例中,使用相同学习规则的核心使用实现学习规则的公共学习规则块。

在实施例中,学习规则在每个核心内和/或核心阵列中的核心上的分布在运行时是动态可配置的。

在实施例中,子网络中的一个子网络是用于对子网络的输入信号进行分类的分类器的一部分。

在实施例中,子网络中的一个子网络是用于对所述子网络的输入信号进行分类的分类器集合的一部分。在实施例中,使用随机权重更新来配置突触元件的权重。

在实施例中,突触元件的权重由绑定值绑定,其中绑定值是随机值。

根据本公开的第二方面,公开了一种集成电路,其包括在本公开的第一方面的核心阵列中实现的脉冲神经网络。

根据本公开的第三方面,公开了一种将脉冲神经网络划分和映射到核心阵列上的方法。在此,脉冲神经网络包括多个脉冲神经元,以及将脉冲神经元互连以形成网络的多个突触元件,其中每个突触元件适于接收突触输入信号并向突触输入信号施加权重以生成突触输出信号,突触元件可配置为调节由每个突触元件施加的权重,并且其中脉冲神经元中的每一个适于从一个或多个突触元件接收一个或多个突触输出信号,以及响应于接收的一个或多个突触输出信号,生成时空脉冲序列输出信号。此外,核心阵列包括多个核心,其中每个核心由以硬件或硬件和软件的组合实现的脉冲神经元的可编程网络组成,并且其中核心阵列中的核心之间的通信通过可编程互连结构布置。在此,该方法包括将网络划分为多个子网络,其中,每个子网络包括脉冲神经元的子集,该子集被连接以从突触元件的子集接收突触输出信号。子网络适于响应于施加到突触元件子集的子网络输入模式信号,从脉冲神经元的子集生成子网络输出模式信号,其中每个子网络映射到一个或多个核心上。

在实施例中,通过映射方法确定将脉冲神经网络划分为在一个或多个核心中实现的子网络。映射方法包括约束驱动的划分。约束是链接到每个相应子网络的功能的性能指标。

根据本公开的第四方面,公开了一种脉冲神经网络。脉冲神经网络包括以硬件或硬件和软件的组合实现的多个脉冲神经元,以及将脉冲神经元互连以形成网络的多个突触元件,其中每个突触元件适于接收突触输入信号并向突触输入信号施加权重以生成突触输出信号,该突触元件可配置为调节由每个突触元件施加的权重,并且其中脉冲神经元中的每一个适于从一个或多个突触元件接收一个或多个突触输出信号,并响应于接收的一个或多个突触输出信号而生成时空脉冲序列输出信号。此外,学习规则、权重存储机制和/或通信协议被异构地应用在脉冲神经网络中的神经元和/或突触元件上。

根据本公开的第五方面,公开了一种脉冲神经网络,其包括脉冲神经元和连接至该脉冲神经元的突触元件。在此,突触元件包括适于接收突触输入信号的第一和第二受体,其中第一和第二受体基于突触输入信号分别生成第一和第二受体信号。突触元件向第一受体信号施加权重以生成突触输出信号,该突触元件可配置为至少基于第二受体信号来调节由突触元件施加的权重。脉冲神经元适于接收来自突触元件的突触输出信号,并至少响应于所接收的突触输出信号而生成时空脉冲序列输出信号。

在实施例中,神经元发出控制信号,其中该控制信号与第二受体信号一起调节由突触元件施加的权重。

在实施例中,控制信号是反向传播信号。

在实施例中,神经元包括树突、轴突和体细胞,其中控制信号源自神经元的树突和/或轴突和/或体细胞。

在实施例中,控制信号包括由神经元中的动作电位生成的一个或多个脉冲。在实施例中,第一受体的衰减时间比第二受体的衰减时间更快。在实施例中,第一受体为脉冲神经元生成拉电流或吸收电流。

在实施例中,第一受体包括低通滤波器。在实施例中,第二受体形成电压门控受体。在实施例中,第二受体包括低通滤波器、带通滤波器、高通滤波器和/或放大器。在实施例中,第一受体是ampa受体,或gaba受体,或nmda受体。

根据本公开的第六方面,公开了一种用于调节脉冲神经网络中的突触元件的权重的方法,该脉冲神经网络包括连接至突触元件的脉冲神经元。突触元件包括适于接收突触输入信号的第一和第二受体,其中第一和第二受体接收突触输入信号并基于突触输入信号分别生成第一和第二受体信号。突触元件向第一受体信号施加权重以生成突触输出信号。至少基于第二受体信号,调节突触元件的权重,并且脉冲神经元从突触元件接收突触输出信号,并至少响应于接收的突触输出信号来生成时空脉冲序列输出信号。

在实施例中,神经元发出控制信号,其中该控制信号与第二受体信号一起调节由突触元件施加的权重。

在实施例中,控制信号是反向传播信号。

在实施例中,神经元包括树突、轴突和体细胞,其中控制信号源自神经元的树突和/或轴突和/或体细胞。

在实施例中,控制信号包括由神经元中的动作电位生成的一个或多个脉冲。在实施例中,第一受体的衰减时间比第二受体的衰减时间更快。在实施例中,第一受体为脉冲神经元生成拉电流或吸收电流。

在实施例中,第一受体包括低通滤波器。在实施例中,第二受体形成电压门控受体。在实施例中,第二受体包括低通滤波器、带通滤波器、高通滤波器和/或放大器。在实施例中,第一受体是ampa受体,或gaba受体,或nmda受体。

根据本公开的第七方面,公开了一种包括本公开的第五方面的脉冲神经网络的集成电路。

根据本公开的第八方面,公开了一种用于配置脉冲神经网络以减小脉冲神经网络中的噪声影响的方法。脉冲神经网络包括以硬件或硬件和软件的组合实现的多个脉冲神经元,以及将脉冲神经元互连以形成网络的多个突触元件。每个突触元件适于接收突触输入信号并且向突触输入信号施加权重以生成突触输出信号,该突触元件可配置为调节由每个突触元件施加的权重。脉冲神经元中的每一个适于从一个或多个突触元件接收一个或多个突触输出信号,并响应于接收的一个或多个突触输出信号而生成时空脉冲序列输出信号。脉冲神经网络中的脉冲神经元i之一的突触驱动γi是时间相关的函数,描述了连接到神经元中的所有突触元件的总传递函数。该方法包括获得突触驱动γi中每一个突触驱动的方差的表达式,该方差的表达式取决于控制参数。突触驱动γi中每一个突触驱动的方差可通过调节控制参数来调节。调节控制参数,使得突触驱动гi中每一个突触驱动的方差都低于预定值,使得脉冲神经网络中神经元i中每一个神经元的突触驱动гi在其噪声影响最小的突触驱动γi的平衡点гi*周围绑定。

在实施例中,脉冲神经网络中的脉冲神经元i的突触驱动γi可以针对脉冲神经网络中的所有神经元以矢量形式写为γ=(γ1,...,γn)t,其中n是脉冲神经网络中神经元的数量,以及其中,γ满足以下公式:

dγ=n(γ(t))dt+σ(γ(t))dω(t),

其中,n(γ(t))是名义矩阵部分,并且σ(γ)是高斯白噪声过程dω(t)的状态相关噪声矩阵,其中ω是描述脉冲神经网络中噪声的维纳过程,其中,根据满足以下连续时间代数李雅普诺夫方程的г(t)的方差-协方差矩阵k(t),dγ的表达式可重写:

n(γ(t))k(t)+k(t)[n(г(t))]t+σ(г(t))[σ(γ(t))]t=0,

其中,获得突触驱动γi中每一个突触驱动的方差的表达式的步骤包括确定方差-协方差矩阵k(t)的对角线值。

在实施例中,突触驱动гi的平衡点γi*可以针对脉冲神经网络中的所有神经元以矢量形式编写为其中噪声矩阵σ为零,即σ(γ*)=0。

在实施例中,借助于计算机仿真来调节控制参数。

根据本公开的第九方面,公开了一种脉冲神经网络,其包括以硬件或硬件和软件的组合实现的多个脉冲神经元,以及将脉冲神经元互连以形成网络的多个突触元件。每个突触元件适于接收突触输入信号并且向突触输入信号施加权重以生成突触输出信号,该突触元件可配置为调节由每个突触元件施加的权重。脉冲神经元中的每一个适于从一个或多个突触元件接收一个或多个突触输出信号,并响应于接收的一个或多个突触输出信号而生成时空脉冲序列输出信号。脉冲神经网络中脉冲神经元i之一的突触驱动гi是时间相关的函数,描述了连接到神经元的所有突触元件的总传递函数。突触驱动γi中每一个突触驱动的方差低于预定值,使得脉冲神经网络中神经元i中每一个神经元的突触驱动γi在噪声影响最小的突触驱动γi的平衡点гi*周围绑定。

附图说明

现在将仅通过示例的方式,参考所附的示意图来描述实施例,在附图中,相应的附图标记指示相应的部分,并且其中:

图1示出由神经元和突触元件组成的示例性神经网络;

图2示意性地示出微控制器集成电路内的脉冲神经网络;

图3示出具有神经形态核心阵列的学习系统的高级架构;

图4示出单个核心内的增强算法的图形表示;

图5示出在单个核心内组合多个集合系统的图形表示;

图6示出在多核心实现方式中在多个核心上组合多个集合系统的图形表示;

图7a示出突触结构的概念图;

图7b示出神经突触结构的概念图;

图8示出无绑定网络的净活动;以及

图9示出绑定网络的净活动。

附图仅用于说明性目的,并且不作为对权利要求书所规定的范围或保护的限制。

具体实施方式

在下文中,将更详细地描述某些实施例。然而,应当理解,这些实施例不可被解释为限制本公开的保护范围。

图1是神经网络100的简化图。神经元1经由突触元件2彼此连接。为了不使附图混乱,仅示出了少量的神经元和突触元件(并且仅一些具有附加到它们的附图标记)。图1所示的连接拓扑(突触元件2与神经元1彼此连接的方式)仅是示例,并且可以采用许多其它拓扑。每个突触元件2可以将信号发送到神经元1的输入,并且接收信号的每个神经元1可以处理该信号并随后可以生成输出,该输出经由另外的突触元件2发送到其它神经元1。每个突触元件2具有分配给它的一定权重,该权重被施加到突触元件接收和发送的每个突触输入信号,以产生加权的突触输出信号。因此,突触元件的权重是通过突触元件2连接的两个神经元1之间因果关系类型的量度。关系可以是因果关系(正权重)、反因果关系(负权重)或不存在(零权重)。

神经元1和突触元件2可以用硬件实现,例如使用模拟电路元件或数字硬连线逻辑电路。它们也可以部分地以硬件,部分地以软件或全部以软件来实现。优选以硬件或至少部分以硬件实现,即,使用硬件电路或元件来执行单个神经元的功能,而不是使用大型处理器执行软件,其中该软件模仿单个神经元。这些(部分)硬件实现方式可实现更快的处理,例如实现更快的模式识别以及事件驱动的处理,其中仅在需要时才激活神经元和突触元件的块。

神经网络100可以是脉冲神经网络。然后,神经元1是脉冲神经元,其以一个或多个脉冲或神经元生成的事件的形式生成神经元输出信号。脉冲神经元1可以被配置为仅在神经元内的膜电位(例如,能量电位,或电压或电流水平)达到预定阈值时才触发(即,生成输出脉冲)。脉冲神经元的膜电位由于所接收的输入信号而改变,即,神经元从突触元件接收的突触输出信号被累积、积分或以其它方式处理以改变膜电位。当突触元件2的权重为正时,从该突触元件接收的突触输出信号激励接收该信号的脉冲神经元1,从而提高其膜电位。当突触元件2的权重为负时,从该突触元件接收的突触输出信号抑制了接收该信号的突触神经元1,从而降低其膜电位。当突触元件2的权重为零时,从该突触元件接收的突触输出信号对接收该信号的突触神经元1没有任何影响。

当脉冲神经元1的膜电位达到阈值时,神经元触发,在触发时生成脉冲,并且由于触发而膜电位降低。如果膜电位随后再次达到阈值,则神经元将再次触发,从而生成第二脉冲。因此,每个脉冲神经元1被配置为响应于从连接的突触元件2接收的输入信号而生成一个或多个脉冲,该脉冲形成时空脉冲序列。由于脉冲神经元1仅在其膜电位达到预定阈值时才会触发,因此将时间信息的编码和处理合并到神经网络100中。通过这种方式,在脉冲神经网络100中生成时空脉冲序列,它们是由网络100的脉冲神经元1生成的脉冲的时间序列。

脉冲序列的时间特性编码输入信号的幅度和频率特征。时间特性包括:刺激开始(例如,来自突触元件的输入信号)与神经元输出处的脉冲的生成之间的等待时间;来自同一神经元的连续脉冲之间的等待时间;以及在施加输入刺激的持续时间内神经元触发的脉冲次数。

突触元件2可以是可配置的,使得例如通过训练神经网络100,可以改变例如突触元件的相应权重。神经元1可以以它们对来自突触元件的信号作出响应的方式来配置。例如,在脉冲神经网络的情况下,神经元1可以以某种信号增加或减少的方式进行配置:膜电位、膜电位自然衰减至静止电位所需的时间、静止电位的值、触发脉冲神经元1的脉冲的阈值。神经元1的配置可以例如在训练期间保持恒定,或者在特定训练集上对神经网络100进行训练时可变并设定。

输入信号11例如是多个不同的采样的输入信号或时空脉冲序列。输入可以是信号样本的模数转换值,或者在例如模拟或数字积分器的情况下可以是样本的数字值,或在模拟积分器的情况下可以是样本的模拟值。

神经网络100的输出信号12例如是时空脉冲序列,可以从输出神经元1中读出它们,并通过输出转换级进一步分类和转换为与用户选择的输出代码类型相对应的一组数字值。

图2示出包括脉冲神经网络110的微控制器集成电路100的高级架构的实施例。在这种情况下,微控制器110是数据收集、感测、模式识别和致动物理信号的经济手段。

脉冲神经网络110连接到一个或多个流输入数据端口111,该端口向脉冲神经网络110提供输入,该输入将被转换为时空脉冲序列。脉冲神经网络110连接到一个或多个输出端口112。存储器映射的控制和配置接口113控制脉冲神经网络110的配置参数,例如突触权重和/或神经元配置,并且进一步可以包括外围设备(例如,a/d转换器、d/a转换器、带隙、pll)和用于控制和调节神经元、突触和可塑性(学习)电路的电路等。接口113读出存储器设备102,在其中保存用于脉冲神经网络110的设置,并且向脉冲神经网络110发送信号以相应地设定硬件。接口113可以将模拟信号发送到脉冲神经网络110。设置可以包括脉冲神经网络110的每个神经元1或突触元件2的配置参数,或者网络拓扑。

每个神经元1可以具有控制该神经元1的精确触发行为的一组配置参数。例如,可以将神经元设计为具有触发阈值,该阈值表示电压、能量或其它变量的阈值,该其它变量由于接收到输入而在神经元中累积,并且当累积变量满足或超过触发阈值时,神经元会生成输出峰值(例如电压、电流或能量峰值)。神经元可以实现积分功能,该积分功能将对神经元的输入积分以确定对累积变量的调节。此外,神经元还可以设计有:(a)泄漏率,其表示神经元中累积变量随时间推移衰减的速率;(b)累积变量的静止值,其表示在没有到神经元的任何输入信号的情况下,累积变量将随时间推移衰减的值;(c)积分时间常数,其表示输入信号被积分以确定神经元中累积变量的任何增加的时间;(d)不应水平,其表示刚触发神经元后神经元中累积变量的值;(e)不应时段,其表示神经元触发后神经元中的累积变量上升到静止值所需的时间段。对于每个神经元,这些参数可以是预定的和/或可配置的和/或可调节的。通过调节例如神经元的触发阈值、泄漏率、积分时间常数和不应期,以及用于匹配关键输入信号特征的能量含量的神经元的不应时段,当神经元1被包含该特征的输入信号刺激时,它将生成一个或多个精确定时的脉冲。

突触元件2的配置参数包括突触元件2的权重和增益。突触元件2的权重通常用于调节突触元件2,而突触元件2的增益用于硬件中的信号放大,并且通常涉及低通滤波器的实现方式。通常,增益在网络110初始化时固定不变,而权重可以基于脉冲神经网络110的演化/训练而变化。

微控制器集成电路100进一步包括微处理器核心101,以执行集成电路100的计算和控制。例如,微处理器核心101可以监督存储器映射的控制和配置接口113与存储器设备102之间的通信。

存储器设备102可以是任何计算机可读存储介质。存储器设备102可以是非暂态存储介质。说明性计算机可读存储介质包括但不限于:(i)其上可以永久存储信息的不可写存储介质(例如,计算机内的只读存储器设备,诸如cd-rom驱动器可读取的cd-rom磁盘,rom芯片或任何类型的固态非易失性半导体存储器);(ii)其上可以存储可变信息的可写存储介质,例如硬盘驱动器或任何类型的固态随机存取半导体存储器、闪存。

外部总线104连接到一个或多个传感器或其它数据源103。微控制器集成电路100也可以直接附接到传感器105。传感器首先可以通过模数转换器106。微控制器集成电路100上可以存在一个或多个串行输入/输出端口107和通用输入/输出端口108。可以通过直接存储器访问(dma)109将外部设备的直接访问布置到微控制器集成电路100的存储器。

图3示出用于学习系统的高级架构,该学习系统具有布置在核心阵列200中的多个神经突触核心210。每个核心210包括以硬件实现的神经元网络1,神经元通过突触元件2互连。单个核心210可以实现完整的脉冲神经网络,或者形成单独的子网络的脉冲神经网络的一部分。这样,可以将大型脉冲神经网络划分为多个较小的子网络,每个子网络都在阵列200的核心210之一中实现。在一个实施例中,核心210可以实现图2中所示的具有相关联的输入数据端口111、输出端口112和/或控制和配置接口113的脉冲神经网络110。

通过将大型脉冲神经网络110划分为较小的子网络,并在一个或多个核心210上实现每个子网络,每个核心都有其自己的必不可少的电路,电路中的一些不理想情况将在较小的处理几何条件下操作,并且降低了较低的工作电流,尤其是对于大型阵列。因此,基于核心的实现方式减少了物理不理想的影响。

形成合作组的子网络或神经元集合可以例如形成分类器、分类器的集合、处理数据转换、特征编码或仅分类的神经元组等。

在此类情况下,将大型的集合网络划分并映射到核心阵列上,每个核心都包含脉冲神经元的可编程网络。因此,每个核心实现单个集合、多个小集合(与核心中神经元和突触的数量有关),或者在大集合的情况下,仅实现单个集合的一部分,而其它部分则在阵列的其它核心上实现。集合如何划分和映射到核心的方法由映射方法确定。映射方法可以包括约束驱动的划分。该约束可以是链接到每个相应子网络的功能的性能指标。性能指标可取决于功耗区域限制、存储器结构、存储器访问、时间常数、偏差、技术限制、弹性、可接受的失配水平以及网络或物理赝像。

阵列200的外围包括模拟生物神经元的体细胞和轴突丘的动作的突触回路的行。此外,阵列200中的每个神经突触核心210具有本地路由器202,该路由器与专用实时可重配置片上网络内的其它核心210的路由器202通信。

本地路由器202及其连接201在核心阵列200的核心210之间形成可编程的互连结构。核心210通过可交换矩阵连接。核心阵列200的不同核心210因此经由可编程互连结构连接。特别地,在核心阵列200的不同核心210上实现的脉冲神经网络的不同部分通过可编程互连结构互连。这样,量子效应和外部噪声仅分别作用于每个核心,而不作用于整个网络。因此,减轻了这些影响。

在脉冲神经网络110在核心210内的神经元之间具有密集连接但在不同核心210之间的稀疏连接的意义上,核心阵列200上实现的脉冲神经网络110可以具有高模块化。这样,核心之间的噪声和量子效应甚至可以进一步降低,同时仍然允许子网络通过允许高度复杂性,增加例如分类精度。

可编程互连结构可以在核心阵列200中的核心210之间形成分组交换网络。例如,本地路由器202可以将数据分组为分组,然后通过连接201进行发送。这些连接201可以形成数字网络。分组可以由标头和有效载荷组成。标头中的数据由本地路由器202用于将分组定向到其目的地核心210,在此提取并使用分组内的有效负载。数据可以例如是在核心阵列200的一个或多个核心210上划分并实现的脉冲神经网络的子网络之一的输出。数据还可以从传感器或另一外部设备输入。

可编程互连结构还可以使用地址事件表示,其中要连接的神经元的地址被发送到不同的核心。

此外,可以使用同步或异步通信。同步通信的示例是任何基于时钟的通信,而异步通信的示例是例如握手协议。

核心阵列中的核心可以在微控制器集成电路100上形成片上网络。片上网络改善了微控制器集成电路100的可扩展性和功率效率。

基于系统的参数选择片上网络的拓扑,例如网格、圆环、树、环、星形。使用中的路由算法取决于网络110的拓扑结构和特征。路由算法的复杂性可以通过例如考虑到目标的多个最短路径并随后为每次迁移(产生更好的网络负载)随机选择这些路径之一来增加。通过在任何给定时间使用启发式方法和有关网络负载的信息,可以获得附加效率。存在其它类型的路由方法,包括静态路由表或基于源的路由。

片上网络可以是实时可重配置的,或者在生产阶段期间静态定义。当片上网络是实时可重配置时,可以改变核心阵列200中的核心210的设置及其互连结构设置。例如,可以基于微控制器集成电路的输入或输出的改变,对分类的准确性或稳定性的不同要求,基于其学习规则的网络发展以及通信协议的改变来进行该改变。

本发明涵盖神经突触核心210可以将均匀学习规则、权重存储类型和/或通信协议应用于突触矩阵。换句话说,可以在一个核心内设定同类学习规则、权重存储类型和/或通信协议。

整个脉冲神经网络110可以实现为在一个核心210内实现的一个单一实体(例如,实现为神经元1和突触2的交叉结构,所有反馈连接都到位以实现任何递归神经网络结构,或没有任何反馈信号的简单前馈网络)。可替代地,整个脉冲神经网络110可以横跨多个核心210分布,其中每个核心210在例如深度神经网络的上下文中实现特定的层或层的一部分。如何完全拆分网络的决定完全基于应用案例(例如,雷达、激光雷达、图像、超声、生物电势感测)。

在实施例中,所有神经突触核心210可以将相同的学习规则、权重存储类型和/或通信协议应用于它们的突触矩阵中的每一个。

在实施例中,神经突触核心210可以将不同的学习规则、权重存储类型和/或通信协议应用于它们的突触矩阵中的每一个。

在实施例中,整个脉冲神经网络110的神经突触阵列可以被组织为取决于最优性能-功率-区域权衡的,实现异构学习规则的单个核心210。

在另一实施例中,核心210内的突触矩阵的不同区域可以配置有相同的学习规则,这可以由由相同的配置寄存器驱动的公共学习规则块来实现。核心210内的突触矩阵的该区域的大小可以在设计时进行配置以便创建专用电路,或在运行时动态配置,其中在核心210内的突触矩阵将具有异构的突触电路聚类,每个聚类实现不同的学习规则。该异构聚类可能需要特殊的映射或合成算法,以基于应用的学习规则将每个神经元单元映射到核心210内确定的突触矩阵的聚类。

可以针对每个突触元件、每个突触元件组或核心阵列200的每个核心210来实现学习规则块。学习规则块可以由例如在配置接口113中实现的电路组成。

在另一实施例中,可以用相同的学习规则来配置核心阵列200内的不同组的一个或多个核心210,这可以由由相同的配置寄存器驱动的公共学习规则块来实现。可以在设计时配置核心阵列200内的这组核心210的大小,以便创建专用的一组核心210,或在运行时动态配置,其中核心阵列200将具有核心210的异构聚类,每个聚类实现不同的学习规则。该异构聚类还可能需要特殊的映射或合成算法,以基于应用的学习规则将每个神经元单元映射到确定的核心210聚类。

也可以在单个核心210内并且不仅跨核心210实现不同/异构的学习规则。

因为核心阵列200的不同组的核心210以及核心210内突触矩阵的不同区域可以实现不同的学习规则,所以设计更加灵活。此外,通过应用不同的学习规则,特定的输入将对核心阵列200的特定区域生成不同的影响。通过这种方式,可以对实现了不同的学习规则的不同区域进行优化,从而实现更好的运作整个网络110。最后,对于不同的输入信号,不同的学习规则可能会更好地工作,使得可以根据网络的哪个部分所需的学习规则来定制网络。

此外,在实施例中,一个核心210内的突触矩阵的每个区域或核心阵列200内的一组一个或多个核心210的每个区域还可以实现不同的权重存储机制,诸如数字存储器、电容性存储、双向-稳定机制,其中每个区域将具有不同的功率要求。

核心阵列200内的一组核心210可以实现不同的通信协议。这使设计更加灵活。因此,核心阵列200的核心210允许将脉冲神经网络110实际且灵活地实现为硬件,特别是因为它们允许将相同或不同的学习规则、权重存储类型和/或通信协议应用于它们的突触矩阵中的每一个。

大脑的认知能力来自于计算或集合神经元活动的联合形式,即,神经元的协作组(子网络或集合)产生功能性神经状态,该功能性神经状态触发学习并增强综合知觉能力,并补偿感觉减退的模态,其中神经元组的联合活动克服了单个神经元触发的不可靠的随机性质。

随后,可以使用试图反映生物学各方面的众多架构:多个(并行)分类器,它们在相同的刺激或刺激的各个部分或特征上起作用,以补救各种机器学习的复杂性,诸如特征选择、置信度估计、缺失特征、增量学习、纠错等。可以使用多个分类器对输入信号的特征空间进行分区。可以利用类似配置的神经网络的集合来提高分类性能。通过提升程序,可以由分类器的集合构成强大的分类器(在二进制分类问题上的误差很小);这些构成集合的分类器的任何分类器的误差仅比随机猜测的误差好。

因此,基于(i)为各个分类器选择训练数据,(ii)用于生成集合成员的特定程序,和/或(iii)用于获得集合决策的组合规则,可以设计多个集合系统,包括例如套袋、随机森林(决策树的集合)、复合分类器系统、专家混合(moe)、堆叠归纳、共识聚合、多个分类器的组合、动态分类器选择、分类器融合、神经网络委员会和分类器集合。

图4示出核心阵列200的单个核心210内的提升算法的图形表示。在图4中,示出在核心阵列200的单个核心210内实现的多个分类器300。分类器300形成分类器300的集合。

分类器的集合300是脉冲神经网络110的子网络的示例,其可以在核心阵列200的单个核心210上实现。

假设分类器300具有一组输出神经元(每个类一个),每个输出神经元根据其触发概率分布触发一个事件(峰值)。特定分类器300可以包含通过突触元件2连接的神经元1(或神经元1和突触元件2)的不同层301、302、303。每个层可以具有不同的功能,例如层301可以执行数据转换,层302可以执行特征编码,并且层303可以执行分类。在每个分类器300中也可以存在输出层。该输出层可能连接到核心阵列200的特定核心210的本地路由器202。使用本地路由器202之间的连接201,特定分类器300或分类器300的集合的输出可以指向核心阵列200中的其它核心210,并以此方式指向脉冲神经网络110的其它子网络。

图5示出在核心阵列200的单个核心210内组合多个集合分类器系统的图形表示。

首先,基于提升算法实现的分类器300的集合401接收输入404,并且随后将其输出发送到基于专家混合算法实现的第二集合402。可以使用基于三重的脉冲时序相关的可塑性(t-stdp)作为学习规则来训练层之间的突触元件410。使用stdp时,如果平均而言,神经元1的输入脉冲趋于在该神经元1的输出脉冲之前立即发生,则该特定输入会变得更强。平均而言,如果输入脉冲趋于在输出脉冲之后立即发生,则可以通过调节权重使该特定输入变弱。因此,通过调高特定突触元件2的权重,使可能是突触后神经元1激发原因的输入将来更有可能做出贡献,而并非是突触后脉冲原因的输入通过降低特定突触元件2的权重,将来不太可能做出贡献。该stdp方法基于对,因为它使用了一对脉冲。t-stdp与普通stdp的不同之处在于使用了三重峰。

使用门控网络408,在训练期间在专家之间设定数据划分,并组合输出。门控网络408可以在训练期间用作所谓的“黄金参考”,它定义了用于汇集不同专家结果的过滤器或传递函数,并充当教师信号。专家竞争以学习训练模式,而门控网络408协调竞争。汇集和组合系统409将所有不同专家的输出汇集并组合到一个输出406中,并将专家混合层的输出406作为输入输出到基于提升算法实现的分类器300的第三集合403。第三集合403的输出407可以被输出到核心210的本地路由器202,并且可以经由互连201被发送到核心阵列200的其它核心210或者到脉冲神经网络110的输出端口112。

图6示出在多核实现方式中在多个核心上组合多个集合系统的图形表示。

首先,在第一核心510a中,基于提升算法实现的分类器300的集合401接收输入404,并随后将其输出发送至第二集合402,该第二集合402基于专家混合算法实现。第二集合402的汇集和组合系统409将其输出输出到第一核心510a的第一本地路由器502a,然后该第一本地路由器502a经由互连501a、501b将该输出发送到第二核心510b的第二本地路由器502b。然后,该数据用作第二核心510b上存在的第三集合403的输入。因此,该系统不同于图5中所示的系统,在于脉冲神经网络110以某种方式被划分并且以不同的方式被映射到核心阵列200上。即,在该实施例中,将集合分成两个不同的核心510a、510b;每个都有自己必要的电路。

设计一种动态模型,该动态模型表示分类器输出的后续合并,迫使一种用于将每个独特的未标记模式分配给最适合的分类器的方案。分类器被定义为随机赢家通吃,其中只有单个神经元可以针对输入时呈现的任何数据出现脉冲。可训练的组合器可以确定哪些分类器在特征空间的哪个部分中是准确的,并且随后可以相应地组合。

在不失一般性的情况下,在增强算法中,弱和强的可能近似正确(pac)学习模型的相等性是先决条件,即,在训练不同的子假设时生成不同的分布。近似正确(pac)学习是机器学习中计算学习理论中的数学分析框架。在此,学习者接收样本,并且必须从一类可能的函数中选择泛化函数。目的是使选定的函数具有较高的概率(“可能”部分)具有较低的泛化误差(“近似正确”的部分)。

相反,专家的自适应混合通过将不同的子任务分配给不同的学习者来获得增强的性能。大多数集合学习算法(例如堆叠)首先训练基本预测变量,并且然后尝试调节组合模型。

专家混合和增强旨在用于不同类别的问题,这导致不同的优点和缺点。为了增强,主要指定了分布,以使各个分类器能够在数据模式方面发展为专家,而前一个分类器是错误的或不同意的。然而,在专家混合中,数据模式被分成基本但一致的子集;随后,各个子集所需的学习过程并不像原始数据模式那样复杂。

两者均采用相同的门控功能,以在训练期间在专家之间设定数据分区,并组合输出。门控网络通常在原始训练数据上使用期望最大化(em)算法进行训练。

每个集合或集合的组合可以在一个或多个核心210中实现。

在图7a中所示的实施例中,示出了在核心210内具有突触元件652a-d的突触矩阵的硬件实现方式。突触元件652a-d各自具有归因于它们的相应的权重653a-d。可以为第一权重653a写w2,1,为第二权重653b写w1,1,为第三权重653c写w2,2,并且为第四权重653d写w1,2。

到突触元件652a、652b的输入信号650a可以被写为x1,而到突触元件652c、652d的输入信号650b可以被写为x2。作为时空峰值序列的一部分,这可能是电压峰值。在每个突触元件652a、652b中,输入信号650a与相应的权重653a、653b相乘。在每个突触元件652c、652d中,输入信号650b与相应的权重653c、653d相乘。然后可以将输出信号651a写为∑iw1,ixi,而可以将输出信号651b写为∑iw2,ixi。这些输出信号651a、651b可以被发送到一个或多个神经元。

可以通过使用一个或多个使能线654和误差线655来设定突触元件652a-d的权重653a-d。使能线654实现权重653a-d并设定系统已知的正确值,而误差线655则基于权重设置中的感知误差来更新权重653a-d。这些信号可以是模拟的或数字的。

在另一实施例中,神经突触集合中的每一个可以被实现为生物神经元的多个(突触)受体与树突(输入)和轴突体细胞(输出)的组合。这在图7b中示出。

图7b示出一个或多个突触元件602。时空脉冲序列的脉冲606部分进入突触元件602。在计算元件的输入处,可访问三个受体:nmda受体(rnmda)607a提供了对突触权重w的活动相关的修改,而ampa受体(rampa)607b促进快速的突触电流以拉电流驱动体细胞,最后gaba受体(rgaba)607c可以以吸收电流促进快速或较慢的抑制性突触电流,取决于使用了gabaa还是gabab受体。rampa607a和/或rgaba607c的输出可用作放大器608的输入。

在该实施例中,还可以具有rnmda607a和rampa607b或rgaba607c。重要的是,可以使用具有不同时间分量的受体607a-c。rampa607b和rgaba607c可以实现为低通滤波器。同时,rnmda607a可以实现为具有放大和滤波功能的电压门控受体,其连接到实现的学习规则的突触前电路。该滤波可以由带通、低通和高通滤波器组成。

放大器608的输出被发送到树突601a,该树突601a形成连接到突触元件602的神经元的一部分。然后,通过积分器609将来自所有突触元件602的输出随时间推移积分。积分信号通过受体610发送到神经元的轴突体细胞601b中,其由轴突603和体细胞604组成。来自突触元件的其它集群605、606的信号也可以在此时进入轴突体细胞601b。可以在轴突体细胞601b中放置不同的积分器611。当轴突603释放脉冲而生成动作电位时,它离开轴突体细胞601b,并且例如可以作为时空脉冲序列中的脉冲被发送到其它突触元件。

受体612和613分别从树突601a和轴突体细胞601b获得反向传播的信号。将它们添加到例如突触元件中,完成时间导数614,并且将所得信号与rnmda607a信号相乘以修改放大器608,并且从而修改每个突触元件602的权重。

这种尺寸上的增加允许更多的状态和转变(和时间常数),为稳态可塑性和化生相互作用的实现提供了更大的灵活性,即提供了适应环境变化的机制,并且因此,提供了实现和维护鲁棒的神经计算的手段。

用工程术语来说,稳态可塑性是反向传播信号控制的一种形式,其平衡了由于外部条件改变或温度变化而引起的神经元活动或内部连接性漂移的影响。

尽管该概念在脉冲神经网络110的硬件设计中起着至关重要的作用,因为它为操作条件变化提供了鲁棒性,但有限数量的先前实现方式主要是由于实现硅中的长期常数所涉及的技术约束,因此包括稳态可塑性。

所实现的突触元件602允许实现多种计算能力,例如,范围广泛的受体时间常数和电导值gm、轴突和树突延迟、最优的突触传递函数。

作为学习和记忆基础的突触传递的活动相关可塑性主要归因于受体的生物物理特性的突触后变化。

为了调节突触电流的流动,将每个受体称为多(跨)传导通道,其建模非线性特性,诸如神经递质与受体的多结合协同作用。由nmda受体607a介导的突触电流由突触活动调节。通过突触接触的形成、稳定性、形态和密度,突触元件602上受体数量的快速变化起着控制机制的作用,以用于突触功效的活动相关的变化。如果树突脉冲的组(串)足以超过阈值,则轴突603将生成动作电位;然后将随后的脉冲反向传播到树突601a中,并与相乘并添加到nmda受体607a信号的体细胞604信号一起随后生成权重控制。该准局部稳态框架在不破坏hebbian可塑性的情况下提供了归一化功能,可通过对突触后强度进行分级调节来有效地使净突触激活保持恒定。

图7a和图7b的两种硬件实现方式不一定在本发明的多核实现方式中使用,但是可以以该方式在任何硬件中实现任何脉冲神经网络110。

组合的集合系统中的每一个根据生物学上合理的机制进行操作,例如,专家混合非线性门控机制基于脉冲时序的相关可塑性(stdp),stdp和依赖于活动的神经元兴奋性的变化的组合会诱发贝叶斯信息处理(称为峰值期望最大化(sem)网络)。

所提出的集合架构可以利用诸如单个集合单元(分类器)的sem网络。sem中使用的学习规则是权重相关的hebbian三重态tstdp规则。假设分类器具有一组输出神经元(每个类一个),每个输出神经元都会根据其触发概率分布触发一个事件(峰值)。分类器遵循随机赢家通吃(swta)机制,其中,对于任何呈现的输入数据,只有单个神经元1可以触发。

如果其输出(突触后神经元)触发,则每个突触wij会集合其输入yi(突触前神经元)的激活统计。这些统计信息可以在运行时从扩充输入分布的样本中收集。根据该数据,每个权重可以解释为每个突触中两个局部虚拟计数器的对数乘积,即,一个代表事件的数量,并且一个代表局部学习率ηij。

因此,我们可以导出峰值事件触发的随机在线学习规则:

这在突触wij中近似于神经元zi的脉冲时间输出的运行平均值的对数。

用于设定脉冲神经网络110中的随机权重更新的(随机)变量是独立的,并且分布相同。由于过渡中引入的随机性,分类器学习目标类的各种表示。随后,将分类器响应组合到汇总的改进分类器中。此外,通过在突触权重的绑定值中添加不确定性,可以控制激活分类器决策的级别。

神经元1主要通过快速的全有全无事件(即其膜电位的峰值)在脉冲神经网络110中进行通信。神经元种群中的相对脉冲触发时间被假定为信息码,而神经元种群之间的同步被假定为对信息进行编码和解码的信号。因此,兴奋性和抑制性神经元网络的神经电特性可以表示为以下公式:

在此,γi(t)是时间t处的第i个突触驱动,其实质上表示突触强度,并且根据突触权重和增益函数来定义,λi是增益,其调节突触电压的指数衰减并模拟输入电导的脉冲时间相关缩放,函数fi(...)表示第i个神经元的触发率,wji是指定第i个神经元上的第j个神经元之间的耦合的常数,并且vr,i(t)表示第i个神经元的输入电压,例如来自感觉受体的神经冲动。第i个神经元是突触后神经元,而第j个神经元是连接权重为wji的突触元件的突触前神经元。可以将神经元i的突触驱动γi视为驱动神经元i的所有突触元件的总传递函数,它可以例如是驱动神经元i等的突触元件的指数衰减值、权重和增益的函数。

然而,在脉冲的生成和突触信号的传递二者中,神经元都是有噪声的。噪声源自神经递质的定量释放、离子通道的随机开放、背景神经活动的耦合等。

随后,噪声引起神经元变异,增加神经元对环境刺激的敏感性,影响神经元之间的同步,并促进概率推断。

我们将不确定性模型推导为马尔可夫过程,其中随机积分被解释为随机微分方程的系统;因此,我们将时延和随机输入不确定性扩展到上面的公式(1):

公式(2)右侧的前两个项分别是随机微分方程的确定性漂移部分和随机扩散部分,我们在其中定义以及

这里,ω(t)=[ω1(t),ω2(t),...,ωn(t)]t描述了输入电压中的噪声,并由布朗运动表示,即n维标准维纳过程,并且σ(γ)=diag([σ1(γ1),σ2(γ2),...,σn(γn)]t)表示高斯白噪声过程dω(t)的状态相关噪声矩阵。时变函数δji(t)表示在时间t从第j个神经元到第i个神经元的信号的连续时变时延,其中δji(t)≥0,t≥0。

做出如下假设:平均动力学的矩阵ψ和w的每个条目都被同步扰动,例如(其中vr,i(t)=0)。

突触输入类似于三角形电流脉冲并且随后可以建模为高斯白噪声的假设对快速ampa(衰减约2ms)和gabaa电流(衰减约5~10ms)有效;然而,对于如nmda或gabab电流的较慢电流(衰减约50~100ms),该假设可能不成立。因此,它们被建模为有色噪声,包括稳态触发率内的非零突触时间常数,需要复杂的3-dfokker-planck表达式。

尽管此类方法是可行的,但是更有效的方法包括用重新缩放的方差代替方差,即,注意到突触时间常数τs主要影响方差的幅度。因此,从有色噪声和白噪声的电压方差之比,可以推导突触时间相关常数的降低因子其中其中τm是膜时间常数,并且是突触电流的标准偏差。因此,高斯白噪声理论仍然有效,仅用σred代替方差

目标是找到γ(t)的方差-协方差矩阵。公式2是一组随机微分方程。从那里导出γ(t)的方差-协方差矩阵,从本质上来说,它是具有时变系数的线性常微分方程组。为了求解,采用反向euler进行离散化,并且因此得出了下面方程式5中所示的连续时间代数lyapunov。可通过迭代方法解决这些问题,并且方程式6中给出了解。

目标是找到针对所有神经元i的突触驱动γi(t)的方差的表达式,因为它可以测量гi(t)的随机值从其平均值中散布多远。突触驱动的方差是突触驱动与其均值的平方偏差的期望。通过找到此类表达式,脉冲神经网络可以受到绑定。即,可以通过调节构成方差表达式的参数来限制由脉冲神经网络中的噪声引起的突触驱动值的散布,使得方差较小,特别地,在特定的硬件实现方式中将方差最小化。

γ(t)的方差-协方差矩阵k(t)的对角元素ki,i(t)分别由突触驱动γi(t)的方差给出。因此,求解γ(t)的方差-协方差矩阵k(t)将提供所有神经元i的突触驱动гi(t)的方差的表达式。

求解(2)要求首先找到σ(г),并且然后获得其矩阵平方根。我们使用马尔可夫通道模型中开放通道的静态统计量来定义电导模型中的噪声过程。用goldwyn方法根据确定性漂移和m个离子通道(或脉冲神经网络中突触元件的数量)构造σ(γ)的一般方法可以表达为:

这里,n是状态数,in×1是所有条目等于1的n×1列矢量,并且in×n是n×n单位矩阵。在σ(γ*)=0的平衡点γ*处,方程式(2)的噪声部分为零。使用上面的表达式(4),我们可以找到系统的平衡点γ*。在平衡点γ*中,脉冲神经网络将保持稳定,即,噪声不影响脉冲神经网络的行为。接下来,通过找到所有神经元i的突触驱动гi(t)的方差的表达式来确定网络的边界。

应用随机微分定理,并且然后应用反向euler,γ(t)的方差-协方差矩阵k(t)(初始值为k(0)=e[γγt]))可以表达为连续时间代数lyapunov方程:

通过求解(5)中的系统来计算特定时间tr处的k(t)。采用bartels-stewart方法或hammarling方法可以有效地计算出小型密集的lyapunov方程。可替代地,可以通过基于符号函数的技术来计算大型密集的lyapunov方程。通常,神经网络中确定性漂移的矩阵不是满秩矩阵;因此,我们将(5)重写为标准形式的稀疏线性矩阵-矢量系统,并采用调节的交替方向法对其进行求解:

这里,对于迭代j=1,2,...,kj具有j×n的秩,并且n是[σ(γ)]r中矢量的数量。

为了将(2)中的网络稳定到平衡点γ*,例如σ(γ*)=0的点,其中随机扰动减小,我们通过变换θ(t)=γ(t)-γ*将平衡点γ*移到原点,

其中g(θ(t))=f(γ(t)+γ*)-f(γ(t)),并且控制器u(t)设定为

其中|θ(t)|γ=(|θ1(t)|γ,|θ2(t)|γ,...,|θn(t)|γ)t,sign(θ(t))=diag(sign(θ1(t)),sign(θ2(t)),...,sign(θn(t))),是增益系数,而γ满足0<γ<1。对于γ=0,u(t)是不连续的;当0<γ<1时,控制器是关于θ的连续函数;对于γ=1,将u(t)设定为渐近稳定。

在不失一般性的情况下,图8和图9示出了网络活动,并且因此分别示出了无绑定和有绑定网络的平均网络活动直方图。

在两个图中,脉冲神经网络110的输入信号是相同的。然而,通过使脉冲神经网络110内的所有神经元i的突触驱动γi(t)落入平衡点γi*周围的特定范围内来绑定网络,绑定神经网络不像无绑定网络那样遭受噪声困扰。通过选择出现在突触驱动γi(t)的方差表达式中的参数来设定平衡点γi*周围的特定范围。每个突触驱动γi的方差都位于某个值以下,该值取决于网络110中噪声量的最大可容许值。该值可以预定义,并取决于特定应用、输入信号、由脉冲神经网络110完成的分类的准确性需求等。

在实践中,可以例如通过以硬件或软件来模拟网络,并且然后如上所述地对网络进行限制并评估效果,来对网络110进行绑定。网络110的绑定可以在设定权重的学习过程期间执行。可以人工添加或模拟噪声,以便在受到噪声影响时测试网络的稳定性。

以上内容可以在任何脉冲神经网络110中实现,可以在核心阵列200的一个特定核心210中的多核解决方案中实现,也可以在脉冲神经网络110的通用硬件实现方式内实现。

本发明可以实现为可重配置的多层计算网络的实现,该网络是作为多受体多树突神经突触结构的集合,其中每个集合实现独特的输入输出传递函数,例如滤波、放大、乘法、加法。

在实施例中,设计了一种方法来设定对神经突触结构或此类结构集合的可靠性和不确定性绑定,以用于分类器响应和激活功能的控制和适应性。

在实施例中,实现了神经突触结构尺寸的增加,允许更多的状态和转变,在可塑性和化生相互作用以及各种神经元特性(例如延迟或突触传递函数)的实施中提供了更大的灵活性。

在实施例中,可以实现多个学习规则,其中,集合或一组集合中的每个神经突触结构实现唯一的学习规则。

在实施例中,可以通过自适应控制电荷或代表性化学物质(例如钙、钾、钠)的量来生成独特的输入-输出传递函数。

在实施例中,可以实现细粒度的时间准确性,以驱动精确的学习行为并提高神经突触结构的学习能力。

在实施例中,可以实现多种时间控制机制以允许在所得网络中实现稳态调节。

在实施例中,可以实现多个信号以对局部和全局突触后影响建模。

在实施例中,可以将一组集合组织为可重配置神经突触阵列。

在实施例中,可以将可重配置的神经突触结构组织为计算/信号处理核心,其中每个核心可以组织为实现特定学习规则、权重存储等的单个异构或同质类型,具体取决于最优性能-功率-区域权衡。

生物神经系统与传统计算在能量效率和认知性能上的巨大差异在与物理环境的实时交互有关的任务中得到了深刻的例证,特别是在存在不受控制的或嘈杂的感觉输入的情况下。然而,由于具有学习(例如操作的并行性、关联存储器、多因素优化和可扩展性)的能力,基于神经形态事件的神经元网络是学习和适应复杂感觉信号统计变化的紧凑型和低功耗认知系统的固有选择。这种用于神经形态网络的新的硬件弹性方法允许为以下应用提供节能解决方案的设计:检测生物医学信号的模式(例如脉冲分类、疾病发作检测等),对图像(例如手写数字)、语音命令进行分类,并可以广泛应用于各种设备,包括网络物理系统和物联网中的智能传感器或可穿戴设备。

一个或多个实施例可以被实现为与计算机系统一起使用的计算机程序产品。程序产品的程序可以定义实施例的功能(包括本文描述的方法),并且可以包含在各种计算机可读存储介质上。计算机可读存储介质可以是非暂态存储介质。说明性计算机可读存储介质包括但不限于:(i)其上可以永久存储信息的不可写存储介质(例如,计算机内的只读存储设备,诸如cd-rom驱动器可读取的cd-rom盘、rom芯片或任何类型的固态非易失性半导体存储器;(ii)其上可存储可变信息的可写存储介质,例如硬盘驱动器或任何类型的固态随机存取半导体存储器、闪存。

上述实施例中的两个或更多个实施例可以以任何适当的方式组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1