CN104662526B - 用于高效地更新尖峰神经元网络的装置和方法 - Google Patents

用于高效地更新尖峰神经元网络的装置和方法 Download PDF

Info

Publication number
CN104662526B
CN104662526B CN201380039304.2A CN201380039304A CN104662526B CN 104662526 B CN104662526 B CN 104662526B CN 201380039304 A CN201380039304 A CN 201380039304A CN 104662526 B CN104662526 B CN 104662526B
Authority
CN
China
Prior art keywords
time
interface
renewal
instruction
neuron
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201380039304.2A
Other languages
English (en)
Other versions
CN104662526A (zh
Inventor
O·西尼亚维斯基
V·波洛尼克
E·伊日科维奇
J·A·莱温
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104662526A publication Critical patent/CN104662526A/zh
Application granted granted Critical
Publication of CN104662526B publication Critical patent/CN104662526B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs

Abstract

可以实现人工神经网络中的连接的高效更新。可以使用框架来描述使用线性突触动态过程的连接,其中这些连接具有稳定平衡的特性。可以基于去往/来自神经元的输入和输出,更新该网络中的神经元和突触的状态。在一些实现中,可以按照规则的时间间隔来实现这些更新。在一种或多种实现中,可以基于网络活动(例如,神经元输出和/或输入),按需地实现这些更新,以便进一步减少与突触更新相关联的计算负荷。可以将这些连接更新分解成多个依赖于事件的连接变化分量,其中这些分量可以用于描述由于神经元输入而造成的连接可塑性变化。通过使用依赖于事件的连接变化分量,可以在每一神经元的基础上执行连接更新,而不是在每一连接的基础上执行更新。

Description

用于高效地更新尖峰神经元网络的装置和方法
相关申请的交叉引用
本申请与下面的美国专利申请有关:
2012年6月4日提交的、标题为“STOCHASTIC SPIKING NETWORK LEARNINGAPPARATUS AND METHODS”的共同拥有和共同未决的美国专利申请No.13/487,533[代理人案卷号021672-0407107,客户查询号BC201203A];
2012年6月5日提交的、标题为“APPARATUS AND METHODS FOR REINFORCEMENTLEARNING IN ARTIFICIAL NEURAL NETWORKS”的共同拥有的美国专利申请No.13/489,280[客户查询号BC201204A];
与本申请同时提交的、标题为“APPARATUS AND METHODS FOR GENERALIZEDSTATE-DEPENDENT LEARNING IN SPIKING NEURON NETWORKS”的共同拥有的美国专利申请No.13/560,902[代理人案卷号021672-0410044,客户查询号BC201212A];
故以引用方式将上述申请中的每一个的全部内容并入本文。
版权声明
本专利文档的一部分公开内容包含受版权保护的材料。版权所有者不反对任何人按其出现在(美国)专利商标局中的专利文件或记录中的那样复制本专利文献或本专利公开内容,但在其它方面无论如何保留所有版权。
技术领域
本公开内容涉及实现尖峰神经元网络中的学习。
背景技术
尖峰神经网络
可以频繁地使用人工尖峰神经网络以获得对生物神经网络的理解,和/或用于解决人工智能问题。通常,这些网络可以采用脉冲编码机制,该机制可以使用脉冲的时序来编码信息。这些脉冲(还称为“尖峰”或‘冲激’)可以是短暂持续的(通常具有1-2ms的量级)离散时间事件。在2011年6月2日提交的、标题为“APPARATUS AND METHODS FOR PULSE-CODEINVARIANT OBJECT RECOGNITION”的共同拥有和共同未决的美国专利申请No.13/152,084[客户查询号BRAIN.001A],以及2011年6月2日提交的、标题为“SENSORY INPUT PROCESSINGAPPARATUS AND METHODS”的美国专利申请No.13/152,119[客户查询号BRAIN.003A]中,描述了这种编码的若干示例性实施例,故以引用方式将这些申请中的每一份的全部内容并入本文。
典型的人工尖峰网络(例如,图1中所举例示出的网络100)可以包括多个单元(或节点)102,这些单元可以对应于生物神经网络中的神经元。任何给定的单元102可以通过连接104(其还称为通信信道或突触连接)来接收输入。此外,任何给定的单元还可以通过连接112(其还称为通信信道或突触连接)连接到其它单元。通过例如连接104向任何给定的单元提供输入的单元(例如,图1中的单元106)通常称为突触前单元,而接收这些输入的单元(例如,图1中的单元102)称为突触后单元。此外,一个单元层的突触后单元(例如,图1中的单元102)可以充当为后续上层单元(没有示出)的突触前单元。
可以分配这些连接中的单个连接(图1中的104、112),除此以外,连接功效(其通常可以指代突触前尖峰对于发放(firing)突触后神经元的影响的幅度和/或概率,例如,其可以包括参数突触权重,根据该权重来改变突触后单元的一个或多个状态变量)。在脉冲编码网络(例如,网络100)的操作期间,通常可以使用称为依赖尖峰时序的可塑性(STDP)的方式来调整突触权重,以便实现网络学习等等。
参照图2-3示出了一个这种自适应机制。图2中的轨迹200、210分别描述了突触前输入脉冲系列(例如,通过图1中的连接104_1来传送)和突触后输出脉冲系列(例如,通过图1中的神经元102_1来生成)。
通常,可以基于突触前输入(例如,图2中的脉冲202、204、206、208)和突触后输出脉冲(例如,图2中的脉冲214、216、218)之间的相对时序,来调整连接104的属性(例如,权重w)。在图3中示出了一种典型的STDP权重调整规则,其中规则300描述了作为突触后输出生成的时间和突触前输入的到达之间的时间差Δt=tpost-tpre的函数改变的突触权重△w。在一些实现中,在突触后响应的生成之前,传送突触前输入的突触连接(例如,图1中的连接104)可以是加强的(如通过与图3中的曲线304相关联的Δw>0所指示的),而在突触后响应的生成之后,传送突触前输入的突触连接(例如,图1中的连接104)可以被压低。通过示例的方式,当生成图2中的突触后脉冲208时,可以:(i)与突触前输入214相关联的连接是在输出脉冲(其通过表示为224的线来指示)之前的,其可以是强化的(图3中的Δw>0,对权重进行增加);(ii)对后面的与突触前输入216、218相关联的连接进行压低。
尖峰神经元模型
通常,可以将用于尖峰神经元模型的广义动力学方程表示成输入、输入电流和神经元状态变量之间的相互作用、以及在该尖峰之后重置的神经元的叠加,如下所述:
其中,
是内部状态变量的矢量(例如,包括膜电压);
Iext是神经元的外部输入;
V是定义状态变量的演进的函数;
G描述了输入电流和状态变量之间的相互作用(例如,用于对突触后电位建模);
R描述了在tout处的输出尖峰之后重置状态变量。
例如,对于IF模型来说,可以将状态矢量和状态模型表示成:
其中,C是膜常量,ures是在输出尖峰之后,电压被设置的值(重置值)。因此,式1变成:
对于由Izhikevich E.M.,2003描述的简单神经元模型来说,式1可以表示成:
其中:
其中,a、b、c、d是该模型的参数。
通常使用下面描述的通用方程来表示尖峰神经网络中的用于尖峰时间学习的一些算法(尤其是,强化学习),例如,在上文并入的2012年6月5日提交的、标题为“APPARATUSAND METHODS FOR REINFORCEMENT LEARNING IN ARTIFICIAL SPIKING NEURAL NETWORKS”的共同未决和共同拥有的美国专利申请No.13/489,280[客户查询号BR201204A]中进行了描述:
其中:
θi(t)是突触前神经元i和突触后神经元j之间的突触连接的自适应(学习)参数;
η是称为学习速率的参数,η可以是常量参数,或者可以是某些其它系统参数的函数;
F(t)是性能函数;以及
ei(t)是资格迹,其被配置为描述突触前和突触后活动之间的关系。
作为背景,一种示例性资格迹可以包括一种事件(例如,访问一个状态或者采取一种动作,或者接收突触前输入)的发生的临时记录。该轨迹将与该事件相关联的参数(例如,突触连接、突触前和突触后神经元ID)标记成适合于接受学习改变。在一种方法中,当出现奖励信号时仅仅适合的状态或动作可能被‘分配荣誉’或者针对错误被‘责备’。因此,资格迹有助于桥接这些事件和训练信息之间的间隙。
在一些方法中,例如,在上文并入的2012年6月5日提交的、标题为“APPARATUS ANDMETHODS FOR REINFORCEMENT LEARNING IN ARTIFICIAL NEURAL NETWORKS”的共同拥有和共同未决的美国专利申请No.13/489,280[客户查询号BR201204A]中进行了描述。上面的参考申请通过线性动态处理来描述了神经元的突触,通过状态矢量来描述其特性:
其中:
A(t)是稳定矩阵,其取决于神经元的状态q、输出尖峰时间tout和/或时间;
jδ(t-tj in)是描述输入动作电位序列的项;
是描绘各个突触的特性以及突触前尖峰对其的影响的矢量系数;
Rs(t)描述了在tout处的输出尖峰之后,对突触状态矢量进行重置。
可以根据神经元发放时间,对突触状态变量进行重置。可以将突触状态用作不同的神经机制中的组成部分(例如,短期和长期可塑性)。
例如,如在上文所并入的标题为“APPARATUS AND METHODS FOR GENERALIZEDSTATE-DEPENDENT LEARNING IN SPIKING NEURON NETWORKS”的美国专利申请No.13/560,902[代理人案卷号021672-0410044,客户查询号BC201212A]中所详细描述的,针对长期可塑性学习规则的宽频谱,式6的资格迹ei(t)可以表示成:
其中:
τ是时间常量,
Q(t)是对于各个突触来说相同的神经元q的状态的函数;
Sik(t)是突触状态矢量中的第k个元素。
在尖峰神经元仿真中,通常可以使用诸如Euler积分规则之类的数值积分技术来求解式7-式8:
以及
其中:
对于否则其为0,
δt是更新时间步长。
在一些实现中,在突触后尖峰生成时,突触后尖峰突触状态踪迹可以面对重置状况。在一种或多种实现中,可以通过例如根据式10,确定状态轨迹值ei,来实现该重置。在一些实现中,可以在式10中使用状态参数Si的值(在重置之前所采取的值)来确定ei,如下所述:
Si(t+1)=Rs(Si(t))δ(t-tout), (式11)
其中,Rs是重置函数。
通过示例的方式,当在各个更新时间步长,针对各个突触所执行的计算的数量是C,则对于与NS个突触接合的神经元来说,总的计算量(每一时间步长)变成NC=C×NS。为了执行充分复杂的神经网络仿真,通常将每一神经元NS的突触的数量配置为100和100,000之间。因此,为了以1ms时间间隔来评估神经状态(本领域频繁使用的更新速率),每一时间步长每一神经元所需要的计算量可以是:每一时间步长、每一神经元:NC=C×[100100,000]。这种高计算负荷对于神经形态硬件的计算功率提出苛刻的要求。此外,计算负荷随着突触的数量发生变化,因此严重地限制神经形态处理可以操作的神经元的数量和/或网络更新的频率,其可能负面地影响网络精度。
因此,存在用于在包括中等到高密度的突触的尖峰神经网络中,实现突触更新的更高效方法和装置的突出需求。
发明内容
除此以外,本公开内容通过提供用于实现广义概率学习的装置和方法来满足前述的需求,其中该广义概率学习被配置为同时处理各种学习规则组合。
本公开内容的一个方面涉及:与实现尖峰神经元的多个连接的学习参数的更新相关联的系统、装置、方法和/或计算机可读存储介质。在一些实现中,该方法可以包括:根据被配置为按照时间间隔进行更新的过程,来操作所述神经元。该方法可以包括:存储经由所述多个连接向所述神经元提供的一个或多个输入的时间历史。给定输入的所述时间历史可以描述出现所述给定输入的时间。可以在包括多个所述时间间隔的时间窗中执行所述时间历史的存储。该方法可以包括:接收用于传送是否要执行所述更新的指示。该方法可以包括:响应于所述指示,确定多个依据输入的连接变化分量(IDCC)。所述多个IDCC分量中的各个IDCC分量,可以与所述多个时间间隔中的相应时间间隔相关联。所述多个IDCC分量可以是基于所述指示的时间、以及与所述多个时间间隔中的各个时间间隔相对应的所述一个或多个输入中的各个输入的时间。该方法可以包括:通过调整所述学习参数来实施所述更新。所述调整可以是基于所述多个IDCC分量来确定的。
在一些实现中,所述更新还可以包括确定多个资格迹。所述多个资格迹中的各个资格迹,可以与所述多个连接中的给定一个连接相关联的,并包括在所述多个连接中的所述给定一个连接上出现所述一个或多个输入中的至少一个输入的临时记录。可以基于所述多个IDCC分量中的各个IDCC分量的积分,来实现对所述多个资格迹的确定。
本公开内容的另一个方面涉及与操作计算机化网络中的多个数据接口相关联的系统、装置、方法和/或计算机可读存储介质。该方法可以包括:存储能够经由所述多个数据接口提供的一个或多个数据项的时间记录。给定的数据项的所述时间记录可以描述出现所述给定的数据项时的时间。该方法可以包括:基于用于传送是否要执行所述更新的指示,更新多个参数。所述多个参数可以与所述多个数据接口相关联。所述更新可以包括以下各项中的一项或多项:(1)读取所述多个参数的先前值;(2)确定所述多个参数的更新值;或者(3)存储所述多个参数的所述更新值。可以基于所述时间记录的至少一部分,来确定所述更新值。所述部分可以覆盖所述指示之前的时间间隔。确定所述更新值可以包括与所述一个或多个数据项的数量成比例的操作的数量。所述操作的数量可以独立于所述多个数据接口的数量。
在一些实现中,该方法可以包括:根据接口动态过程,操作所述多个数据接口中的各个数据接口。所述动态过程可以以能够按照时间周期更新的动态状态为特征。所述动态过程的特征可以由衰减间隔来表征。所述时间间隔可以被配置为覆盖至少所述衰减时间窗的一段时间。确定所述更新值可以包括:基于所述指示和所述时间记录来获得多个接口变化分量。所述多个接口变化分量中的各个接口变化分量可以被配置为描绘以下内容的特征:由于在所述时间间隔窗口之内出现的所述一个或多个数据项,在与所述指示相关联的时刻实现的对所述多个参数中的各个参数的改变。
在一些实现中,所述计算机化网络可以包括尖峰神经元网络(SNN)。所述多个数据接口中的各个数据接口可以包括所述SNN的突触连接。所述多个参数中的各个参数可以包括各突触连接的突触权重。所述权重可以是至少基于在所述时间间隔之内,所述一个或多个数据项中的数据项的出现。所述衰减时间窗可以包括指数衰减窗,其中所述指数衰减窗的特征是在所述指数衰减窗的持续时间之内,所述权重减少大约2.7的因子来表征的。
在一些实现中,所述SNN能够实现通过外部信号来描绘特性的学习过程。所述学习过程可以被配置为产生结果。所述更新能够帮助产生所述结果。所述指示可以包括所述外部信号的至少一部分。
在一些实现中,所述多个参数中的各个参数可以包括与所述多个数据接口中的各个数据接口相关联的连接延迟。所述多个接口变化分量能够提供所述多个数据接口的更新。
在一些实现中,所述时间周期可以包括相等持续时间的规则周期。所述多个接口变化分量中的各个分量,可以与在所述指示的时刻之前,发生整数次的所述持续时间的各个时间周期相关联。可以基于(i)所述各个时间周期和(ii)所述指示的时刻之间的差值,来确定一个或多个接口变化分量。
在一些实现中,所述一个或多个接口变化分量中的各个分量,可以与在所述各时间周期之内发生的所述一个或多个数据项中的至少一个数据项相关联。
在一些实现中,所述指示可以是基于以下两项中的一项或两项的:(i)一个或多个数据项中的数据项的出现;或者(ii)指示当前更新时间周期到期的定时器事件。
本公开内容的另一个方面涉及与减少用于操作网络节点的多个通信接口的计算负荷相关联的系统、装置、方法和/或计算机可读存储介质。该系统可以包括一个或多个处理器,后者被配置为执行一个或多个计算机程序模块,以执行一个或多个操作。所述一个或多个操作可以包括:根据能够按照时间间隔进行更新的节点动态过程来操作所述节点。所述一个或多个操作可以包括:基于用于传送是否要执行更新的指示。所述一个或多个操作可以包括:通过实现与所述多个通信接口相关联的多个参数的更新,来减轻所述计算负荷。所述更新可以是基于在所述指示之前,经由所述多个通信接口中的至少一个通信接口进行传输的一个或多个数据项。所述多个参数的更新可以包括操作的数量,所述操作的数量独立于所述多个通信接口的数量。
在一些实现中,所述指示可以是基于所述尖峰神经元所生成的输出。
在一些实现中,所述多个数据接口中的各个数据接口可以被配置为根据线性接口动态过程被操作,其中所述线性接口动态过程的特征是由具有与其相关联的衰减时间尺度的稳定平衡来表征的。
在一些实现中,所述多个参数中的各个参数可以包括权重。所述权重可以被配置为基于在所述衰减时间尺度之内,所述一个或多个数据项中的数据项的发生,来修改所述节点的状态。所述更新可以是基于下面各项中的一项或多项:(1)将与所述线性接口动态过程相关联的接口状态分解成多个常规分量;(2)基于所述指示的发生和所述一个或多个数据项的发生之间的时间差,来确定所述多个常规分量中的各个常规分量;或者(3)所述多个常规分量的线性组合,基于与所述一个或多个数据项的发生时间相对应的、所述多个常规分量中的各个常规分量的值来确定所述线性组合,根据所述衰减时间尺度和所述时间差来减小所述值。
在一些实现中,所述一个或多个计算机程序模块中的各个计算机程序模块的执行,可以使得所述一个或多个处理器存储时间历史,其中所述时间历史用于表示经由所述多个通信接口,在时间窗内提供所述一个或多个数据项的时间。其中所述时间窗等于或者长于所述衰减时间尺度。
在一些实现中,所述分量的数量选定为位于2和40之间,包括2和40。可以将所述多个通信接口的数量选定为位于41和100000之间,包括41和100000。
在一些实现中,所述多个参数的更新,可以包括:基于所述指示和所述时间历史来确定多个接口变化分量。所述多个接口变化分量中的各个分量可以被配置为描绘以下内容的特征:在与所述指示相关联的指示时刻实现的所述状态的变化,其中所述指示是响应于在所述指示时刻之前在所述衰减窗内出现的所述一个或多个数据项。
在一些实现中,所述线性接口动态过程可以被配置为按照时间间隔来定期地更新。所述衰减窗可以包括所述时间间隔中的两个或更多个时间间隔。可以通过查找表来确定所述多个接口变化分量。所述查找表可以包括与所述时间间隔中的所述两个或更多时间间隔相关联的两个或更多个记录。可以独立于所述节点的状态来配置所述多个接口变化分量中的各个接口变化分量,以使得在所述时间间隔的第一次出现之前,能够所述查找表的确定,以减轻针对所述更新中的各个更新进行对所述查找表的确定。
在一些实现中,所述线性接口动态过程可以被配置为按照时间间隔来定期更新。所述衰减窗可以包括两个或更多的所述时间间隔。可以通过查找表来确定所述多个接口变化分量,其中所述查找表包括与所述两个或更多的所述时间间隔相关联的两个或更多个记录。所述多个接口变化分量中的各个分量是基于所述节点的所述状态而被配置的。所述查找表是针对所述更新中的两个或更多个更新而被确定的。
在一些实现中,所述更新可以包括按需更新。所述指示可以包括与所述历史的存储相关联的缓冲器事件。
在一些实现中,所述节点状态更新的特征可以由按照规则时间间隔实现的循环更新来表征。所述指示可以包括与所述定期时间间隔相关联的定时器事件。
在一些实现中,所述节点状态更新可以包括:按照规则时间间隔实现的循环更新。所述指示可以是基于经由所述多个通信接口中的至少一个通信接口传输的所述一个或多个数据项中的数据项。
在一些实现中,可以将所述更新延迟,直到在所述一个或多个数据项中的所述数据项出现之后出现的下一个规则时间间隔为止
在一些实现中,所述节点动态过程可以包括:被配置为产生结果的强化学习过程。所述多个参数的更新能够帮助产生所述结果。所述指示可以包括:基于对节点输出相对于所述结果的评估而产生的强化尖峰。
本公开内容的这些和其它对象、特性和特征,以及有关的结构单元的操作方法和功能与部件组合和制造经济性,将在参照附图考虑了下面的详细描述和所附权利要求书之后变得更加显而易见,所有这些构成本说明书的一部分,其中各个附图中的相同的附图标记指示相对应的部件。但是,应当明确理解的是,这些附图只是用于描绘和说明目的,其并不是旨在作为对本公开内容的限制的规定。如说明书和权利要求书中所使用的,除非上下文另外清楚地指明,单数形式的“一个”、“某个”和“该(the)”包括复数个指示物。
附图说明
图1是描述根据现有技术的人工尖峰神经网络的框图。
图2是根据现有技术,描述图1的尖峰网络中的尖峰时序的图形说明。
图3是根据现有技术,描述图1的尖峰网络中的依赖尖峰时序的可塑性尖峰时序的曲线图。
图4是根据一种或多种实现,描绘被配置为实现多个学习规则的尖峰神经网络的框图。
图5是根据一种或多种实现,描述与图4的神经网络的突触更新相关联的计算事务的图形说明。
图6是根据一种或多种实现,描绘与图5的高效突触更新相关联的与事件相关连接变化分量分解计算的图。
图7是根据一种或多种实现,描绘更新事件和图5的高效突触更新的与事件相关连接变化分量分解的相互关系的图。
图8是根据一种或多种实现,描述图6的高效突触更新的与事件相关连接变化分量分解的根据需要和循环计算的图形说明。
图9A是根据一种或多种实现,描绘结合图4的神经网络使用的高效更新方法(其包括不时变的连接动态性)的逻辑流程图。
图9B是根据一种或多种实现,描绘结合图4的网络连接使用的高效更新方法的逻辑流程图。
图9C是根据一种或多种实现,描绘结合图4的神经网络使用的突触权重的高效更新的逻辑流程图。
图9D是根据一种或多种实现,描绘结合图4的神经网络使用的循环连接更新方法的逻辑流程图。
图9E是根据一种或多种实现,描绘结合图9A-9D的高效连接更新使用的更新选择方法的逻辑流程图。
图10是根据一种或多种实现,描绘被配置为实现高效连接可塑性更新机制的感觉处理装置的框图。
图11A是根据一种或多种实现,描绘用于尖峰网络中的高效连接可塑性更新机制的计算机化系统的框图。
图11B是根据一种或多种实现,描绘用于尖峰网络中的高效连接可塑性更新机制的神经形态计算机化系统的框图。
图11C是根据一种或多种实现,描绘用于尖峰网络中的高效连接可塑性更新机制的分层神经形态计算机化系统体系结构的框图。
图11D是根据一种或多种实现,描绘用于尖峰网络中的高效连接可塑性更新机制的小区类型神经形态计算机化系统的框图。
图12是描绘根据一种或多种实现计算的与事件相关连接变化分量的曲线图。
图13是根据一种或多种实现,示出被配置为由符号计算引擎进行处理,以便自动地生成评价函数的尖峰神经元动态性和随机属性的文本描述的程序清单。
本文公开的所有附图的版权是Brain公司版权保留所有权利。
具体实施方式
现在将参照附图详细地描述本公开内容的示例性实现,其中将这些附图提供成说明性示例,以使本领域普通技术人员能够实现本公开内容。值得注意的是,下面的附图和示例的目的不是将本公开内容的范围限定到某个单一的实现中,其他的实现方案通过交换部分或者所有被描述或被说明的元素也是可行的。为方便起见,在每个图表里都使用相同的附图标记以表示相同或类似的部件。
在能够利用已知组件部分或者完全地实现这些实现的某些组成部分的情况下,只对理解本公开内容所必需的这些已知部件的部分进行描述,并且省略此类公知部件的其它部分的详细描述,以至于不使本公开内容不明显。
在本说明书中,示出单个部件的实现不应被视作为是限制性的;相反,本公开内容旨在涵盖包括多个相同的部件的其它实现(反之亦然),除非本申请另外明确地声明。
此外,本发明涵盖这里作为例子而提及的已知组件的目前和未来的已知等价物。
如本文所使用的,术语“总线”通常旨在表示所有类型的用于访问突触和神经元存储器的互连或通信体系结构。“总线”可以是光、无线、红外线和/或另一种类型的通信介质。总线的精确拓扑可以是例如用于访问例如基于脉冲的系统中的不同存储器的标准“总线”、分层总线、片上网络、地址事件表示(AER)连接、和/或其它类型的通信拓扑。
如本申请所使用的,术语“计算机”、“计算设备”和“计算机化设备”可以包括下面中的一种或多种:个人计算机(PC)和/或微型计算机(例如,桌面型计算机、膝上型计算机和/或其它PC)、大型计算机、工作站、服务器、个人数字助理(PDA)、手持型计算机、嵌入式计算机、可编程逻辑器件、个人通信器、平板计算机、便携式导航设备、J2ME装备设备、蜂窝电话、智能电话、个人综合通信和/或娱乐设备和/或能够执行一组指令和处理输入的数据信号的任何其它设备。
如本文所使用的,术语“计算机程序”或“软件”可以包括执行一种功能的任何序列的人类和/或机器可辨识步骤。可以用包括下面中的一种或多种的编程语言和/或环境来表达这种程序:C/C++、C#、Fortran、COBOL、MATLABTM、PASCAL、Python、汇编语言、标记语言(例如,HTML、SGML、XML、VoXML)、面向对象环境(例如,公共对象请求代管者体系结构(CORBA))、JavaTM(例如,J2ME、Java Beans)、二进制运行时环境(例如,BREW)和/或其它编程语言和/或环境。
如本文所使用的,术语“连接”、“链路”、“传输信道”、“延迟线”、“无线”可以包括任意两个或更多实体(无论物理的还是逻辑/虚拟的)之间的因果关系,其可以使信息能在这些实体之间进行交换。
如本文所使用的,术语“存储器”可以包括适于存储数字数据的集成电路和/或其它存储设备。通过非限制性示例的方式,存储器可以包括下面中的一种或多种:ROM、PROM、EEPROM、DRAM、移动DRAM、SDRAM、DDR/2SDRAM、EDO/FPMS、RLDRAM、SRAM、“闪速”存储器(例如,NAND/NOR)、忆阻器内存、PSRAM和/或其它类型的存储器。
如本文所使用的,术语“集成电路”、“芯片”和“IC”意味着指:通过微量元素的模式化扩散到半导体材料的薄基板的表面所制造的电子电路。通过非限制性示例的方式,集成电路可以包括现场可编程门阵列(例如,FPGA)、可编程逻辑器件(PLD)、可重构计算机织物(RCF)、专用集成电路(ASIC)和/或其它类型的集成电路。
如本文所使用的,术语“微处理器”和“数字处理器”通常意味着包括数字处理设备。通过非限制性示例的方式,数字处理设备可以包括下面中的一种或多种:数字信号处理器(DSP)、精简指令集计算机(RISC)、通用(CISC)处理器、微处理器、门阵列(例如,现场可编程门阵列(FPGA))、PLD、可重构计算机织物(RCF)、阵列处理器、安全微处理器、专用集成电路(ASIC)和/或其它数字处理设备。可以将这些数字处理器包含在单个单一IC片上,也可以分布在多个组件上。
如本文所使用的,术语“网络接口”是指与部件、网络和/或过程交互的任何信号、数据和/或软件接口。通过非限制性示例的方式,网络接口可以包括下面中的一种或多种:火线(例如,FW400、FW800等等)、USB(例如,USB2)、以太网(例如,10/100、10/100/1000(G比特以太网)、10-Gig-E等等)、MoCA、Coaxsys(例如,TVnetTM)、射频调谐器(例如,带内或OOB、电缆调制解调器等等)、Wi-Fi(802.11)、WiMAX(802.16)、PAN(例如,802.15)、蜂窝(例如,3G、LTE/LTE-A/TD-LTE、GSM等等)、IrDA家族和/或其它网络接口。
如本文所使用的,术语“节点”、“神经元”和“神经元节点”意味着指(而不限于):具有根据模型面临进行调整的参数的网络单元(例如,被配置为向神经元提供输入信号的尖峰神经元和突触集合)。
如本文所使用的,术语“状态”和“节点状态”通常意味着表示:用于描述节点状态的一组完全(或部分)的动态变量。
如本文所使用的,术语“突触信道”、“连接”、“链路”、“传输信道”、“延迟线”和“通信信道”包括任意两个或更多实体之间的链路(无论是物理的(有线或无线),还是逻辑/虚拟的),该链路实现这些实体之间的信息交换,并可以以影响该信息交换的一个或多个变量为特征。
如本文所使用的,术语“Wi-Fi”包括下面中的一种或多种:IEEE标准802.11、IEEE标准802.11的变型、与IEEE标准802.11有关的标准(例如,802.11a/b/g/n/s/v)和/或其它无线标准。
如本文所使用的,术语“无线”表示任何无线信号、数据、通信和/或其它无线接口。通过非限制性示例的方式,无线接口可以包括下面中的一种或多种:Wi-Fi、蓝牙、3G(3GPP/3GPP2)、HSDPA/HSUPA、TDMA、CDMA(例如,IS-95A、WCDMA等等)、FHSS、DSSS、GSM、PAN/802.15、WiMAX(802.16)、802.20、窄带/FDMA、OFDM、PCS/DCS、LTE/LTE-A/TD-LTE、模拟蜂窝、CDPD、卫星系统、毫米波或微波系统、声波、红外(即,IrDA)和/或其它无线接口。
概述
具体而言,除了其它方面,本公开内容提供了用于通过实现高效的突触更新(除了其他方式),促进学习型尖峰神经元网络的计算机化装置和方法。在一种或多种实现中,该网络可以包括以稳定的平衡为特性的线性突触动态过程。可以基于去往/来自神经元的输入和输出,来更新网络中的神经元和突触的状态。在一些实现中,可以按照规则的时间间隔Δt来实现这些更新。在一种或多种实现中,可以基于网络活动(例如,神经元的输出和/或输入),按需来实现这些更新,以便进一步减少与突触更新相关联的计算负荷。
根据本公开内容的原理,与现有技术的以每一突触基础相比,多个突触更新可以被配置为在每一神经元基础上来执行。根据一些实现的累积突触可塑性更新,可以被因子化(分解)成多个与事件相关的连接变化(EDCC)分量。这些EDCC分量可以被配置为描述由于在时间ti≤tupdate处发生的神经元输入尖峰(即,突触从突触前神经元向突触后神经元发送的尖峰)而造成的突触可塑性变化。为了实现突触更新的因子分解,在各个更新时刻tupdate(例如,循环和/或按需),可以计算两个或更多EDCC分量,其中各分量对应于一个之前的网络状态更新时间间隔ti。可以基于(i)网络使用的可塑性规则衰减时间大小,(ii)网络更新时间间隔Δt,来配置计算的EDCC分量的数量。通过示例的方式,如果可塑性衰减时间大小T是20ms,并且按照1ms时间间隔来更新网络状态,则在时间t,在各个突触更新事件时,可以计算数量为nT=T/Δt的EDCC分量(在一个或多个实现中,nT=20),其中各分量对应于由于在时间ti=t-(i-1)×Δt,i={1,...,nT}处发生的输入(突触前)尖峰而造成的可塑性变化。值得注意的是,可以针对与本神经元相关联的所有突触,一次计算nT个EDCC分量,可以使用在更新之前的时间间隔(t-T)之内的输入尖峰的发生次数来参照适当的EDCC分量。
在一些实现中,当EDCC分量独立于神经元状态时,可以每个网络操作运行(仿真)计算一次Si阵列(EDCC查找表(LUT)),并将其用于各突触更新。
在一些实现中,当EDCC分量依赖于外部参数Dp时,在动物神经系统中模拟多巴胺(dopamine)效果。在一种或多种实现中,外部参数Dp可以包括针对网络中的所有神经元的公共参数。在一些实现中,外部参数Dp可以被固有地配置为针对个体神经元。在一种或多种实现中,个体Si分量可以包括相同的幅度和相同的衰减尺度。在一些实现中,例如当突触动态性是与时间相关的时,可以配置Si分量以包括与时间相关的贡献。在一些实现中,可以将误差参数配置成针对一些或所有突触而时变的。在一些实现中,可以使用固有的可塑性机制来实现时变的衰减参数。
尖峰神经元网络
现提供本公开内容的装置和方法的各种实现的详细描述。尽管在包括尖峰神经网络的机器人自适应控制系统的背景下,可以最佳地理解本公开内容的某些方面,但本公开内容并不受此限制。本公开内容的实施方式还可以用于实现多种学习系统,例如,感觉信号处理(例如,计算机视觉)、信号预测(例如,监督学习)、金融应用、数据聚类(例如,非监督学习)、库存控制、数据挖掘和/或不需要性能函数推导计算的其它应用。
例如,可以将本公开内容的实施方式部署在神经形态计算机系统的硬件和/或软件实现中。在一些实现中,机器人系统可以包括嵌入在专用集成电路中的处理器,其中该专用集成电路可以适于或者被配置为用于嵌入式应用(例如,假肢设备)。
现参见图4,其详细示出和描述了用于实施本公开内容的广义学习框架的尖峰网络装置的一种实施方式。网络400可以包括至少一个随机尖峰神经元430,后者根据例如尖峰响应过程(SRP)可操作,并被配置为通过M-输入连接414,来接收M维输入尖峰流X(t)402。在一些实现中,M维尖峰流可以对应于到神经元430的第M-输入突触连接。如图4中所示,可以通过连接参数412wij(其可以被配置为在学习期间进行调整)来描绘个体输入连接的特性。在一种或多种实现中,该连接参数可以包括连接功效(例如,权重)。在一些实现中,参数412可以包括突触延迟。在一些实现中,参数412可以包括突触传输的概率。
可以在描述网络400的操作时,使用下面的信号表述,如下所述:
表示输出尖峰模式(其与控制块410所产生的输出信号408相对应),其中tk表示神经元所产生的输出尖峰的时间;
表示教学尖峰模式,其对应于期望的(或者参考)信号(该信号可以是图4的外部信号404的一部分),其中表示该神经元接收到参考信号的尖峰的时间。
在一些实现中,神经元430可以被配置为接收训练输入,后者包括经由连接404的期望输出(参考信号)yd(t)。在一些实现中,神经元430可以被配置为经由连接404来接收正和负强化信号。因此,图4中的参数r+、r-、表示强化信号尖峰流,其可以表示成:
其中,分别表示与例如正和负强化相关联的尖峰时间。
神经元430可以被配置为实现控制块410,后者可以被配置为控制例如机器臂,并可通过人工神经元和学习块420之间的连接的权重来进行参数化,其中学习块420可以实现学习和/或计算这些连接权重中的变化。控制块410可以接收输入信号x,并生成输出信号y。输出信号y可以包括:被配置为沿着期望的轨迹移动机器臂的马达控制命令。控制块410可以以包括系统内部状态变量q的系统模型为特性。内部状态变量q可以包括神经元的膜电压、该膜的电导和/或其它变量。控制块410可以以学习参数w为特性,其中学习参数w可以包括连接的突触权重、发放门限、神经元的静息电位和/或其它参数。在一种或多种实现中,参数w可以包括网络的单元(例如,神经元)之间的信号传输的概率。
输入信号x(t)可以包括用于解决特定的控制任务的数据。在一种或多种实施方式中(例如,涉及机器臂或自动机器人的实施方式),信号x(t)可以包括原始传感器数据的流(例如,邻近性、惯性和/或地形成像)和/或预处理的数据(例如,从加速计中提取的速度、与障碍物的距离和/或位置)。在一些实现中(例如,涉及对象识别的实施方式),信号x(t)可以包括输入图像中的像素值的阵列(例如,RGB、CMYK、HSV、HSL和/或灰度)、或者预处理的数据(例如,用于人脸识别的Gabor滤波器的激活的电平、等值线和/或其它预处理的数据)。在一种或多种实现中,输入信号x(t)可以包括期望的运动轨迹,例如,以便基于当前状态和期望的运动来预测机器人的未来状态。
图4的控制块410可以包括概率性动态系统,后者的特定是分析性输入-输出(x->y)概率关系,该关系具有与下式相关联的条件概率分布:
P=p(y|x,w) (式12)
在式12中,参数w可以表示各种系统参数,其包括连接功效、发放门限、神经元的静息电位和/或其它参数。可以选择式12的分析性关系,使得存在ln[p(y|x,w)]关于系统参数w的梯度,并可以对其进行计算。图4中所示的神经元网络可以被配置为:估计用于改变系统参数(例如,学习规则)的规则,从而可以针对当前的输入和输出集合和系统动态性,使性能函数F(x,y,r)最小化(或最大化)。
在一些实现中,控制性能函数可以被配置为反映输入和输出的属性(x,y)。当提供非监督学习任务的解决方案时,可以在不依赖外部信号r的情况下,直接通过学习块420来计算F(x,y,r)的值。
在一些实现中,可以基于控制块410的输出y和参考信号yd(其描绘期望的控制模块输出的特性)之间的差值,来计算函数F的值。这种配置可以提供针对监督学习任务的解决方案,如下面所详细描述的。
在一些实现中,可以基于外部信号r来确定性能函数F的值。该配置可以提供针对强化学习任务的解决方案,其中r表示来自环境的奖励和惩罚信号。
学习块420可以包括在以下文档中描述的实现的学习框架:2012年6月4日提交的、标题为“STOCHASTIC SPIKING NETWORK LEARNING APPARATUS AND METHODS”的共同未决和共同拥有的美国专利申请No.13/487,533[代理人案卷号021672-0407107,客户查询号BC201203A],该文献在不依赖于计算性能函数F导数的情况下,实现通用学习方法,以便解决非监督、监督和/或强化学习任务。块420可以接收输入x和输出y信号(其在图2中分别通过箭头402_1、408_1来表示),以及状态信息q 405。在一些实现中(例如,涉及和监督学习与强化学习的实现方式),如图4中的箭头404所指示的,可以向模块420提供外部教导信号r。在一些实现中,该教导信号可以包括期望的运动轨迹和/或来自外部环境的奖励和惩罚信号。
在一种或多种实现中,学习块420可以优化控制系统的性能(例如,图4的网络400),如下面所详细描述的,其特定是使性能函数F(x,y,r)的平均值最小化。
在一些实现中,可以通过使性能函数的平均值最大化,来实现控制系统的性能的优化(例如,图4的网络430),例如,如在上面并入的标题为“APPARATUS AND METHODS FORGENERALIZED STATE-DEPENDENT LEARNING IN SPIKING NEURON NETWORKS”的共同拥有和共同未决的美国专利申请No.13/560,902[代理人案卷号021672-0410044,客户查询号BC201212A]中所详细描述的。
在一种或多种实现中,可以使用连续时间的神经元膜电压u(t)(如作为指数随机门限而选择的),来确定产生响应的神经元的瞬时概率密度:
λ(t)=λ0ek(u(t)-θ), (式13)
其中:
u(t)是神经元的膜电压,
θ是用于生成尖峰的电压门限,
k是概率参数,
λ0是该神经元的基本(自发)发放速率。
对于离散时间步长来说,可以通过下式来给出当前时间步长中的发放的概率Λ(u(t))∈(0,1]的近似值:
Λ(u(t))=1-e-λ(u(t))Δt (式14)
其中,Δt是时间步长长度。
在一些实现中,为了确定个体尖峰神经元参数的变化,可以利用评价函数如果将尖峰模式在有限时间间隔长度T上被视为神经元的输入x和输出y,那么该评价函数可以采用下面的形式:
其中,时刻tl属于神经元的输出模式yT(神经元在这些时刻生成尖峰)。如果可以考虑神经元在各个时刻的输出(例如,无论是否存在输出尖峰),则可以使用区间评价函数的时间导数来计算评价函数的瞬时值:
其中,tl是输出尖峰的时间,δd(t)是Kronecker增量。
在一种或多种实现中,用于随机整体和发放神经元离散时间的评价函数值,可以如下式地确定:
其中,
tout表示输出尖峰时刻;
α表示alpha函数;以及
δd(t)是Kronecker增量。
可以通过路径405向学习块420提供与控制模型相关联的状态变量q(例如,发放的概率λ(t))。神经元430的学习块420可以通过路径408_1来接收输出尖峰序列y(t)。
在一种或多种实现中,可以根据能表达成下式的线性动态过程,来操作输入接口(即,图4的网络400的连接414):
以及
在一种或多种实现中,可以使用稳定动态方程(例如,式18、式19)来描述连接动态过程,从而它们各自的解Si(t)、ei(t)随时间指数地衰减。因此,这种动态过程包括外部影响的指数衰减效应(‘存储器’)(式18和式19的右侧项部分分别描述了输入尖峰和项Q(t)Si(t)),当这些事件在过去发生的足够早时,外部影响(例如,尖峰)可以对于突触动态性产生基本削减的效果。因此,指数衰减允许基于在时间间隔(t-T)之内发生的输入的突触动态性的特性,其中T可以是基于系统的动态性来确定的(即,式18中的矩阵A、式19中的时间尺度τ)。举例而言,在一种或多种实现中,可以将时间间隔T配置为等于τ,而在一些实现中,可以将T确定为T=1/λmax,其中λmax是式18中的矩阵A的特征值的最大实数部分。
值得注意的是,在一种或多种实现中,由于式18和式19包括线性差分方程,因此可以应用叠加原理以便获得解Si(t)和ei(t)。具体地,可以将式18的右侧分解成多个与事件相关的连接变化基矢量bm(t),如下面针对式20和式22所描述的;可以将式19的右侧分解成多个与事件相关的连接变化(EDCC)分量ym(t),如下面参照式25所描述的。因此,使用这种假定,可以将第i个连接对输入尖峰序列的时间间隔(t-T)之内的输入尖峰sin(tm)的状态响应Si(t),确定成与位于输入尖峰序列sin(tm)内的m个尖峰里的各个尖峰相关联的各个基矢量的贡献的线性组合。类似地,可以将第i个连接的资格迹ei(t),确定成与输入尖峰序列sin(tm)内的m个尖峰里的各个尖峰相关联的各个EDCC分量ym(t)的贡献的线性组合。在一种实现中,可以使用加权的线性组合(如上所述,例如,针对式25)来实现该叠加。如下面针对图6-6B所详细描述的,可以对EDCC分量进行预计算(每一神经元计算一次),并进行线性地组合,以便确定在针对各个连接414的更新时间t,式18、式19的解(例如,Si(t)和ei(t))。在一些实现中,与事件相关的连接变化(EDCC)可以包括被配置为用于调整连接权重(例如,突触权重)的资格迹。
此外,在一些实现中,神经动态过程(例如,式18和式19)可以包括非静止矩阵A和/或Q。假定该过程是稳定的(即,式18和式19的解随时间衰减),则可以通过评估在时间间隔(tup-T)上的过程状态,来获得在时间tup时的这些解。值得注意的是,由于方程的稳定性,同质方程的解(其中右侧是零)衰减到零。与式18、式19的时间衰减尺度相比,在一些实现中,足够大的时间间隔T可以与式18和式19的零初始状况相对应。
本领域的技术人员应当理解的是,式18和式19所表示的神经网络动态性可以包括一种实现,而该创新的框架并不受限,其可以结合能够使用线性和稳定的过程来描述的任何网络突触动态性来利用,其中这些网络突触动态性,从而可以使用叠加原理。
与事件相关的连接变化分量确定
在一种或多种实现中,可以使用下面的差分方程来确定与事件相关的连接变化基矢量bm(t):
其中,
包括与事件相关的连接变化分量基矢量;
Δt是状态更新时间步长;
m是从0到nT=T/Δt的范围之内选择的基矢量索引。
在不丧失一般性的情况下,在一种实现中,使用式20的描述,可以使用t=0时的零初始条件dbm/dt=0。在一种或多种实现中,可以选择基矢量的维度,以匹配式18中的状态(estate)矢量Si(t)的维度。
如式20所示出的,矢量bm不再取决于输入尖峰历史(即,尖峰序列因此,与依赖于针对神经元的各个连接突触(它们彼此之间是独立的),计算式7的现有技术相反,可以将神经元做为一个整体(即,在一种或多种实现中,神经元和其所有多个连接),来确定式20的解。
在一种或多种实现中,可以使用Euler积分技术来求解式20,例如,如下所述:
b0(t)=0,bm+1(t)=bm(t)-ΔtAbm(t)+∑toutRs(t)δ(t-tout), (式21)
具有特定索引m的式20的形式中的每一个方程,可以描述连接状态矢量Si(t)的解,如同在时间tm=t-mΔt时,仅仅发生一个输入尖峰。根据叠加原理,可以将式18的解作为例如根据式20所确定的分量的线性组合来求得,如下所述:
其中,是具有等于个元素的记录的对角矩阵。在一些实现中,式22的总和中的索引m,可以包括与第i个突触相关联的输入尖峰(即,在与式12的第m个解相对应的时间步长处发生的尖峰),如下面针对图6所详细描述的。
在一种或多种实现中(例如,适用于尖峰神经元网络中的离散时间学习过程),可以通过使用式22来表达右侧项,来确定式19的解,如下所述:
在一种或多种实现中,可以使用下面的差分方程来表达资格迹ei状态变量的动态基础:
其中:
ym(t)是资格迹基本状态变量;
m是0到nT的范围之内的索引;
是上面所描述的连接状态矢量(例如,式20的解)。
假定零初始状况,可以使用例如Euler积分来确定式24的解(类似于式21所描述的)。随后,可以使用叠加原理,作为资格迹基状态变量的线性组合,来确定资格迹ei(t):
可以对式25的总和中的索引m进行配置,从而使得对应于第i个突触中的输入尖峰(在与式11的第m个解相对应的时间步长处发生的尖峰),如下面针对图6所描述的。
高效的突触更新
现在参见图6-6A,该图根据一种或多种,示出和描述了尖峰神经网络(例如,图4的网络400)中的神经元的高效突触更新。图5示出了现有技术(面板500)的典型更新方法的计算周期和负荷,以及本公开内容的高效更新方法(面板510)。现有技术的方法可以包括分别位于时间ti、ti+1处的一个或多个更新504_i、504_i+1,它们可以相隔网络更新间隔Δt。现有技术的各个更新504可以包括M×C次计算,其中M是每一神经元(图4的神经元430)的突触连接的数量,块502可以对应于单一连接更新,其中每一连接/每一更新包括C次计算。在一些实现中,可以根据连接动态过程和/或神经元动态过程来配置连接更新502。
将面板500中所示出的更新与面板610中所示出的本公共内容的高效更新进行比较。根据一种实现,该高效更新包括分别在时间ti、ti+1处发生的一个或多个更新614_i、614_i+1,它们可以相隔网络更新间隔Δt。各个更新614可以包括nT×C次计算,其中nT=T/Δt是每一次更新所计算的EDCC分量的数量(如上面所详细描述的),C是每一EDCC分量612的计算量(在下面的图5中进行描绘)。当nT<M时,根据一种或多种实现所实施的更新614,有利地减小了与神经网络中的突触更新相关联的计算负荷和存储器负荷。
图6示出了本公开内容的EDCC分量的一个或多个实现。曲线组622描绘了EDCC分量踪迹的时间演变。在一些实现中,(例如,图6中的曲线组622所描绘的实现)EDCC分量的最大幅度可以时变。在一种或多种实现中,可以针对不同的EDCC分量,配置不同的衰减时间尺度T。在一些实现中,可以针对所有分量配置相同的衰减时间尺度T,如曲线组622所描绘的。在图6中,在一种或多种实现中,时刻ti+nT对应于当前时间(tup),曲线622可以彼此之间间隔一个时间增量Δt,从而曲线的总数是nT=T/Δt。
在一些实现中,EDCC分量踪迹可以包括可塑性改变的时变的最大幅度(例如,当式19的神经元动态项Q(t)是时变的,如图6A中的曲线组632所示出的。
如上面参照式18和式19所描述的,各个EDCC分量可以描述:由于在时间间隔(tup-T)之内发生的一个或多个事件,而在时间tup处对整体突触可塑性调整的贡献。因为EDCC分量622、632随时间衰减,因此各个EDCC分量bm(其对应于时刻ti=tup-iΔt)对于时间tup处的整体可塑性调整的贡献逐渐消失,这是由于该分量的寿命(即,差值tup-iΔt)越来越大。在一种或多种实现中,可以通过图6中的线628所示出的衰减权重,来表示这种老化贡献的折扣的整体效果。因此,在时间tup,通过图6中的x符号630来描绘与STDP分量bm相关联的贡献。表1中提供了这种基于寿命的折扣速率的一种实现,其中nT=20,折扣Di与时间tup=tnT处,bm分量的折扣后的幅度相对应。
i Di
1 2
2 3
3 3
...
nT-2 67
nT-1 82
nT 100
表1
基于事件的更新
可以基于下面事件中的一个或多个,来实施本文所描述的高效突触更新:
(i)按照规则时间间隔(例如,Δt)发生的全局网络更新;
(ii)基于定时器发生的本地神经元更新;
(iii)基于神经元生成响应(尖峰)而发生的本地神经元更新;
(iv)基于神经元接收馈送转发输入(尖峰)而发生的本地神经元更新;
(v)基于神经元接收侧向和/或反馈输入(尖峰)而发生的本地神经元更新;
(vi)基于触发而发生的全局/本地更新。在一种或多种实现中,该触发可以包括:与被配置为存储神经元的输入动作而缓冲的存储器相关联的缓冲区溢出信号,如例如在2011年9月21日提交的、标题为“APPARATUS AND METHODS FOR SYNAPTIC UPDATE IN APULSE-CODED NETWORKS”的共同未决和共同拥有的美国专利申请No.13/239,255[客户查询号BRAIN.008A]中所描述的,其中以引用方式将该文献的全部内容并入本申请。
(vii)如上所述的与基于强化的网络学习性能相关联的奖励信号,例如,在上文并入的2012年6月5日提交的、标题为“APPARATUS AND METHODS FOR REINFORCEMENTLEARNING IN ARTIFICIAL NEURAL NETWORKS”的共同未决和共同拥有的美国专利申请No.13/489,280[客户查询号BC201204A]中所描述的。
图7-8根据一种或多种实现,描绘了更新的时序和EDCC分量选择。图7中的画面740呈现了一系列的EDCC分量741、742、744、746、748,例如,上面参照式20和图6所描述的。图7中的画面750示出了事件序列,其包括例如神经元输入752、754、756、758、759(例如,馈送转发输入和/或强化尖峰)。在一种实现中,可以对(没有示出)事件时钟和EDCC分量计算时钟进行同步和选择,以便按照规则的网络更新时间间隔(例如,1ms时间间隔)进行更新。在图7中所示的实现中,如图所示,例如由于事件752和可塑性分量741之间的时序不匹配,事件时钟和EDCC计算时钟不同步。因此,当执行更新时,可以针对各个事件选择最近的EDCC分量,如图7中的虚线箭头所示。表2给出了一个这样的实现,其中第一列列出了事件的时间戳(例如,图7的事件750),第二列表示最近的EDCC分量的时间,第三列和第四列包含分量索引i和用于计算该事件对于整体可塑性更新的贡献的EDCC分量(例如,图7的分量740)。在一种或多种实现中,该分量可以对应于图5中的x符号630所描绘的折扣后的EDCC贡献。值得注意的是,表2中所描绘的实现与随不时变的突触连接动态性(即,在式19中,Q(t)=常量)。因此,在这种实现中,可以通过在网络操作的开始处,计算单一查找表(LUT)来实现该更新,使用索引i来获得适当的可塑性贡献。与现有技术相比,在这些实现中,甚至可以进一步减少与这些更新相关联的整体处理负载。
T事件 T更新 EDCC索引i Di
2 5 1 2
8 10 2 6
10 10 2 14
14 15 3 25
19 20 4 55
21 25 5 100
表2
在一些实现中,实施时变的连接动态,可以针对各个更新来评估更新LUT(例如,表2)。在一些实现中,可以将时变的突触动态性划分成一个或多个段,其中动态性可以近似为半静态的,从而单一LUT(例如,表2)可以是每个这种段的计算机。
如上所述,为了根据本公开内容实现有效的可塑性更新以获得时变的连接动态性,在各个更新时刻,可以计算可塑性EDCC轨迹的阵列,使得可以构造更新LUT。在一些实现中,可以按照各个网络更新步长(例如,Δt时间间隔)来实施LUT计算,如图8中的画面800所示,其中可以按照各个时间步长t(还称为循环更新),来执行更新814。如从画面800所观察到的,仅仅存在可能需要执行突触更新814的三个事件802、806、808。因此,当缺少相关联的事件的情况下执行更新(例如,在时刻ti+n-2、ti+n-1的更新814)时,可能会浪费一些计算资源。
在一些被配置为减少与更新相关联的计算负荷的实现中,可以仅基于事件来执行更新(其还称为按需更新),如图8中的画面820、830所描绘的。画面820示出了立即按需更新,其中在检测到事件822、826、828之后,立即执行更新824。
画面830示出了延迟的同步按需更新,其中可以将更新834同步到时钟(例如,本地神经元时钟或全局网络时钟),并在下一个接着的时钟时刻进行执行。通过图8中的示例的方式,可以在时钟时刻ti+1,执行与事件834相关联的更新834_i,在时钟时刻ti+n-1,执行与事件836相关联的更新834_i+2。
事件编号 T事件(ms) T同步更新(ms) T立即更新(ms)
1 1.8 21 1.8
2 8.9 10 8.9
3 9.7 10 9.7
4 20 20 20
5 42.5 44 42.5
6 49.0 50 49.0
7 51.0 52 51.0
表3
表3示出了根据一种或多种实现的按需更新的时序。与表3相对应的网络更新按照2ms递增来发生,可以将时间分辨率选择为0.1ms。本领域技术人员应当认识到,这些参数只是示例性的,在其它实现中,可以使用任何适用的网络更新速率和/或时钟分辨率。表3中的第一列包含事件编号;第二列示出了事件的时间戳(即,强化信号、输入尖峰等等)。第三列包含:在下一个网络更新循环时发生的同步按需更新的时间。值得注意的是,由于限定的更新周期分辨率(例如,2-ms),因此可以将这些更新中的一些(即,更新1-3、5-7)延迟到下一个更新循环。此外,可以在相同的时间(例如,按照10ms步长)来实现两个或更多事件(例如,表3中的事件2-3),以潜在地减少网络装置上的计算负荷。相同的更新,第四列包含立即按需更新(其中这些更新在检测到事件之后立即发生)的时间。值得注意的是,在这种立即更新实现中,各个事件可能引起单独的更新。
调制的STDP
在一种或多种实现中,EDCC分量可以包括被配置为实现突触可塑性(例如,调整突触连接的权重)的一个或多个资格迹。在2007年12月21日提交的、标题为“SOLVING THEDISTAL REWARD PROBLEM THROUGH LINKAGE OF STDP AND DOPAMINE SIGNALING”的美国专利8,103,602中详细描述的一个这种实现里,对本公开内容的高效更新方法有用的可塑性机制,可以包括由另外的参数进行调制的STDP。在一些实现中,该参数可以被配置成特定于各个神经元。在一个或多个实现中,可以将该参数配置为网络范围的(例如,当模仿生物神经发射机多巴胺(dopamine)的奖励行动时)。
在一些实现中,可以使用下面的框架来表示调制的STDP过程(例如,式7-式8):
-一维突触状态矢量
-突触系数向量ki=1;
-不依赖于输入和/或输出动作的一维矩阵其是时不变化的,其中τs是STDP时间常量(其通常为30-100ms);
-在突触后尖峰之后的突触重置条件RS(t)=-Si(t);
-神经元的状态的函数
其中:
τ是资格迹时间常量(通常是50-500ms),
Sik(t)是突触状态矢量中的第k个元素。
在一些实现中,可以使用引用突触前尖峰的时间t-m×Δt的指数,来表达基矢量
如通过式28所观察到的,分量矢量不依赖于输入和/或输出尖峰时间。因此,在一种或多种实现中,可以提前于神经元网络操作,对矢量迹进行预先计算。在一些实现中,通过使用在网络操作的持续时间期间预先计算的这些分量替代在执行更新的时间重新计算这些分量,可以进一步减少与执行尖峰神经元网络的更新相关联的计算负荷。
在一种或多种实现中,突触连接权重变化可以是基于另外的尖峰信号D(t)的,如下所示:
其中,tr是与D(t)的尖峰相关联的到达时间。在一些实现中,可以使用信号D(t)来实现基于奖励的学习。
用于随机SRP神经元的与状态相关的资格迹
在一种或多种实现中,EDCC分量可以包括被配置为实现连接更新的资格迹(例如,调整突触连接的权重)。在根据尖峰响应过程(SRP)可操作的随机神经元的一种或多种实现中,可以将资格迹配置为取决于各事件(例如,输入尖峰)的时间的该连接的状态。
在一个这种实现中,可以使用下面的框架来表达更新过程(例如,式7-式8):
-二维突触状态矢量
-不依赖时间和动作的两维矩阵,其表达成:
-在各个突触后尖峰之后,将突触状态重置为零,其表达成
-离散时间的神经元的状态的函数(例如,式17),其表示成:
因此,可以如下所示地描绘更新过程的特性:
其中:
τs是STDP时间常量(其通常是30-100ms),
τ是资格迹时间常量(其通常是50-500ms),
Sik(t)是突触状态矢量中的第k个元素。
在一种或多种实现中,可以基于如下所示的额外信号F(t)来配置权重变化:
其中,F(t)是与神经元网络更新实现的学习过程相关联的性能函数。在一种或多种实现中,可以通过使性能函数F(t)最小化来实现学习,如例如在2012年6月4日提交的、标题为“STOCHASTIC APPARATUS AND METHODS FOR IMPLEMENTING GENERALIZED LEARNINGRULES”的共同拥有和共同未决的美国专利申请No.13/487,499[代理人案卷号021672-0405921,客户查询号BC201202A](以引用方式将该申请的全部内容并入本文)中所描述的。
在一些实现中,可以使用在2012年3月15日提交的、标题为“TAG-BASED APPARATUSAND METHODS FOR NEURAL NETWORKS”的共同未决和共同拥有的美国专利申请No.13/385,938[代理人案卷号021672-0403358,客户查询号Brain.01DV1](以引用方式将该申请的全部内容并入本文)中详细描述的高级神经形态语言描述(HLND),来实现本申请所描述的高效更新方法。图13给出了一种示例性HLND脚本,其被配置为实现与状态相关的资格迹,以便例如结合下面所描述的图9A-9D方法来使用。
具有非关联LTP项的资格迹
在一种或多种实现中,EDCC分量可以包括被配置为实现非关联连接更新的一个或多个资格迹,例如,调整突触连接的权重(包括长期连接抑制(LTD))。
在一个这种实现中,可以使用下面的框架来表达更新过程(例如,式7-式8):
-一维突触状态矢量
-ki=1;
-独立于时间和动作的一维矩阵,其表达成
-在各个突触后尖峰之后,将突触状态重置为零,其表达成RS(t)=-Si(t);
-神经元状态过程,其表示成:
以及
其中:
τs是STDP时间常量(其通常是30-100ms),
τ是资格迹时间常量(其通常是50-500ms),
Sik(t)是突触状态矢量中的第k个元素,以及
P是非关联LTP(例如,用于接收了输入尖峰的权重的非关联)。
在一些实现中,可以使用引用突触前尖峰的时间t-m×Δt的指数,来表达基矢量
如通过式39所观察到的,分量矢量不依赖于输入和/或输出尖峰时间。因此,在一种或多种实现中,可以提前于神经元网络操作,对矢量迹进行预先计算。在一些实现中,通过使用在网络操作的持续时间期间预先计算的这些分量替代在执行更新的时间来重新计算这些分量,可以进一步减少与执行尖峰神经元网络的更新相关联的计算负荷。
在一种或多种实现中,可以通过另外的尖峰信号来实现权重变化:
其中,tr是另外的信号尖峰的到达时间。
具有来自最近的专利的探索项的STDP踪迹
在一种或多种实现中,EDCC分量可以包括:被配置为在强化学习期间,实现基于奖励的探索的资格迹。在一种或多种实现中,上述探索可以包括不活动神经元的增强,如例如在上文并入的2012年6月5日提交的、标题为“APPARATUS AND METHODS FOR REINFORCEMENTLEARNING IN ARTIFICIAL NEURAL NETWORKS”的共同拥有的美国专利申请No.13/489,280[客户查询号BC201204A]中所描述的。
-一维突触状态矢量
-ki=1;
-不依赖时间和动作的一维矩阵
-在各个突触后尖峰之后,将突触状态重置为零,其表达成RS(t)=-Si(t);
-神经元的状态的函数:
以及
其中:
τs是STDP时间常量(其通常是30-100ms),
τ是资格迹时间常量(其通常是50-500ms),
Sik(t)是突触状态矢量中的第k个元素,
P描述了非关联LTP(例如,用于接收输入尖峰的权重的非关联抑制),以及
如果自变量是正数,则H(x)是等于1的Heaviside步长函数,否则其等于0。
在一些实现中,可以使用引用突触前尖峰的时间t-m×Δt的指数,来表达基矢量
如通过式39所观察到的,分量矢量不依赖于输入和/或输出尖峰时间。因此,在一种或多种实现中,可以提前于神经元网络操作,对矢量迹进行预先计算。在一些实现中,通过使用在网络操作的持续时间期间预先计算的分量替代在执行更新的时间重新计算这些分量,可以进一步减少与执行尖峰神经元网络的更新相关联的计算负荷。
在一种或多种实现中,可以基于另外的信号R(t)来配置权重变化,如下所述:
其中,R(t)是与神经元网络更新所实现的学习过程相关联的强化(例如,奖励和/或惩罚)信号。在一种或多种实现中,可以通过根据强化信号来选择性增强不活动神经元,来实现学习过程,如例如在上文并入的2012年6月5日提交的、标题为“APPARATUS ANDMETHODS FOR REINFORCEMENT LEARNING IN ARTIFICIAL NEURAL NETWORKS”的共同拥有的美国专利申请No.13/489,280[客户查询号BC201204A]中所描述的。
示例性方法
图9A-9E根据一种或多种实现,示出了用于神经网络的神经元的高效连接更新的。下面所给出的方法900、920、930、940、950的操作仅仅是示例性的。在一些实施例中,可以在具有没有所描述的一个或多个另外操作的情况下,和/或在不具有所讨论的操作中的一个或多个的情况下,来完成方法900、920、930、940、950。另外,在图9A-9E中示出以及下面所描述的方法900、920、930、940、950的操作的顺序,并不是旨在进行限制。
在一些实施例中,图9A-9E的方法可以在一个或多个处理设备(例如,数字处理器、模拟处理器、被设计用于处理信息的数字电路、被设计用于处理信息的模拟电路、状态机和/或用于电子地处理信息的其它装置)中实现。所述一个或多个处理设备可以包括:响应于电子地存储在电子存储介质上的指令,执行方法900、920、930、940、950的操作中的一些或者全部的一个或多个设备。所述一个或多个处理设备可以包括:通过专门被设计用于执行方法900、920、930、940、950中的操作里的一个或多个的硬件、固件和/或软件所配置的一个或多个设备。
现参见图9A,详细描述了结合时不变的连接动态状态来使用的高效更新方法的一个这种实现。
在方法900的步骤902处,可以监测连接活动,并存储输入的历史。下文针对图9B的方法920的步骤922,来描述历史记录的各种实现。
在步骤904,可以检查更新指示,以确定是否可以执行更新。
如果要执行更新,则在步骤906处,可以使用上面参照例如图6-8所描述的方法中的任何一个,来计算EDCC分量ym(t)。在一些实现中,可以使用本地或全局查找表(例如,表2)来代替计算分量ym(t)。
在步骤908处,可以使用例如式25和式26,来计算连接参数变化(例如,可塑性更新)。
在步骤910处,可以使用适用的方法中的任何一个,来更新神经元连接的学习参数θij
现参照图9B,该图详细地描述了本公开内容的高效更新方法的一种示例性实现,以结合例如图4的神经元430使用。图9B的方法920可以允许神经元执行下面的操作:(i)实现循环更新;(ii)实现按需更新(其包括同步按需更新);更新神经元输入连接的各种学习参数,其包括但不限于连接延迟、连接权重(例如,短期和/或长期可塑性)。此外,图9B的方法920可以用于基于下面因素中的任何一种来实现突触更新:(i)输入(例如,馈送转发和/或反馈、和/或侧向)活动;由于例如外部强化信号、缓冲区溢出、定时器等等而造成的基于事件触发的更新。
在方法920的步骤922处,可以监测连接活动,存储输入的历史。在一些实现中,该历史可以包括:与经由一个或多个连接(例如,图4中的连接414)向神经元提供的输入尖峰相关联的时间戳(例如,时间计数器值、时钟滴答计数、绝对或相对本地时间(其参照全球网络时钟或本地节点时钟)等等)。在一种或多种实现中,输入历史记录可以包括发送节点ID。在一种或多种实现中,输入历史记录可以包括:针对被配置为存储输入尖峰活动的共享/本地队列的索引条目。在一些实现中,可以将历史记录存储在环形的存储器缓冲区,如例如在上文并入的2011年9月21日提交的、标题为“APPARATUS AND METHODS FOR SYNAPTICUPDATE IN A PULSE-CODED NETWORK”的共同未决和共同拥有的美国专利申请No.13/239,255[客户查询号BRAIN.008A]中所描述的。在这种实现中,缓冲区可以包括具有值零和一的(它们针对给定的时钟循环指示输入尖峰的缺失/存在)的多个比特(每一时钟循环一个比特)。
在步骤924处,可以对更新指示进行检查,以判断是否执行该更新。在一些实现中,该指示可以包括用于网络和/或神经元循环更新的下一个时钟滴答本地/全局时钟。在一种或多种实现中,该指示可以包括,但不限于下面事件中的任何一种:外部触发、强化信号、缓冲区溢出触发/消息事件、定时器到期、神经元所产生的响应(例如,图5中的曲线544所示出的突触后更新)、一个或多个连接所传输的输入(例如,图5中的曲线542所示出的突触前更新)等等。
如果要执行更新,则在步骤926处,可以使用上面例如针对图6-8所描述的方法中的任何一个,来计算EDCC分量ym(t)。在一些实现中,可以计算nT分量,以覆盖时间间隔(tup-T)并使用式24。
在步骤928处,可以使用例如式25和式6,来计算连接参数变化(例如,可塑性更新)。
在步骤929处,可以使用适用的方法中的任何一个,来更新神经元连接的学习参数θij
除此之外,针对图9B所示出和描述的方法920可以用于实现突触连接的更新(其包括与时间相关的动态性),如例如通过式18中的与时间相关矩阵A(t)所描述的和图5中的画面632所示出的。
在一种或多种实现中,突触连接可以包括时不变的状态方程,使得可以使用将针对时间(tup-T)所确定的单个解转发转换(传播)到时间(tup-T+iΔt)(如,例如通过图5中的画面630里的曲线所描绘的),来确定在不同的时刻的式18的解。因此,在这种实现中,可以每一网络操作(或运行)执行一次针对时间间隔(tup-T)的与事件相关的连接变化分量的计算,并用于所有后续的更新(位于一个时间周期之内,其中在该时间周期,保持用于连接状态变量S(t)的时不变条件),以替代方法920的步骤926所示出的针对每一次更新进行计算。
图9C根据一种或多种实现,示出了结合图9A-9B中所示出的方法使用的突触权重更新。
在方法930的步骤932处,可以针对时间间隔(tup-T),来计算与事件相关的连接变化基矢量bm(t)的集合,如上面参照式20和式22所描述的。
在步骤934处,可以通过例如使用基矢量bm(t)和针对式24的Euler的积分方法,来计算EDCC分量ym(t)。
在步骤936处,如式25所示,可以例如通过使用EDCC分量ym(t)的线性组合,来计算资格迹eij(t)。
在步骤938处,可以使用资格迹和性能函数(例如,如通过式6所示)来计算连接参数θij调整(例如,可塑性更新)。在一种或多种实现中,性能函数可以包括期望的网络输出和实际输出之间的距离,如在上文并入的2012年6月4日提交的、标题为“APPARATUS ANDMETHODS FOR IMPLEMENTING GENERALIZED STOCHASTIC LEARNING RULES”的共同未决和共同拥有的美国专利申请No.13/487,499[代理人案卷号021672-0405921,客户查询号BC201202A]中所详细描述的。
图9D根据一种或多种实现,描绘了结合图9A-9C和9E所描绘的方法使用的高效同步和立即连接更新。
在方法940的步骤942处,可以确定是否要执行立即更新。在一些实现中,该确定可以包括:对标志(例如,标记、逻辑状态、内存寄存器等等)进行检查。
如果要执行立即更新,则方法940转到步骤944、946,此时可以计算连接参数调整,并使用本文所描述的适用方法中的任何一种(例如,如上面图8中的画面820所示)来调整第M连接的学习参数。在一些实现中,该立即更新可以包括立即按需更新,例如,响应于如上面参照图9C的方法930所描述的事件。
如果要执行同步更新,则方法940转到步骤948,在此处等待直到下一个时钟增量。在一些实现中,该同步更新可以包括按需更新,例如,响应于如上面针对图9C的方法930所描述的事件,以及例如上面的图8中的画面830所示出的。在一种或多种实现中,同步更新可以包括循环更新,例如,响应于各个时钟增量(例如,如上面的图8中的画面830所描绘的)。在一种或多种实现中,该同步更新可以包括循环更新,例如,响应于各个时钟增量(例如,如上面的图8中的画面800所描绘的)。
在发生下一个时钟循环时,该方法转到上面所描述的步骤944、946。
图9E根据一种或多种实现,描绘了结合图9A-9D中所描绘的高效连接更新方法使用的更新类型选择方法。
在方法950的步骤952处,可以使用上面例如针对图6-8所描述的方法中的任何一种来计算EDCC分量。在一些实现中,可以使用本地或全局查找表(例如,表2)来代替计算分量ym(t)。
在步骤954处,可以选择更新的类型。在一种或多种实现中,连接更新可以包括连接可塑性调整W。在一些实现中,该可塑性调整可以包括改变连接权重wi和可塑性窗αi中的一个或两个:
W=wiαi
在一些实现中,该可塑性调整可以包括通过长期连接权重调整实现的长期可塑性:
wi=wi,L
在一些实现中,该可塑性调整可以包括通过短期连接调整来实现的短期可塑性:
W=WS
在一些实现中,可塑性调整可以包括长期和短期可塑性调整:
W=WL+WS
如本文所使用的,术语短期和长期可塑性可以用于描述连接调整,其中这些连接调整可以被配置为分别在长期L和短期时间尺度S上,影响对神经元动态性的连接贡献。在一种或多种实现中,短期时间尺度S可以对应于:与网络的目前输入(例如,图4中的网络400的输入402)相关联的时间尺度。在一种或多种实现中,长期时间尺度L可以对应于:与网络的先前输入(例如,在图4中的网络400的输入402之前,在过去的某个时间发生的输入)相关联的时间尺度。在一些或更多实现中,可以在1ms和1000ms之间选择短期时间尺度S,而可以将长期时间尺度选择为从1s延伸到几天。
示例性装置
现针对图10-11D来描述各种示例性尖峰网络装置,其包括本文所阐述的方法中的一种或多种(例如,使用上面所解释的高效连接可塑性更新机制)。
自适应处理装置
图10中示出了使用尖峰神经网络(例如,包括高效连接可塑性更新机制)来处理感觉信息(例如,视觉、音频、躯体感觉)的一种装置。所示出的处理装置1000可以包括:被配置为接收输入感觉信号1020的输入接口。在一些实现中,这一感觉输入可以包括进入图像传感器阵列(其包括RGC、电荷耦合器件(CCD)或有源像素传感器(APS))的电磁波(例如,可视光、IR、UV等等)。在该情况下,输入信号是经由接收机装置从CCD照相机接收的图像序列(图像帧),或者从文件中下载的图像序列。替代地,该图像是按照24Hz帧速率来刷新的两维的RGB值矩阵。本领域技术人员应当理解的是,上面的图像参数仅仅只是示例性的,很多其它图像表示(例如,位图、CMYK、灰度等等)和/或帧速率可以等同地适用于本发明。
装置1000可以包括编码器1024,后者被配置为将输入信号转换(编码)成编码的信号1026。在一种实现中,编码后的信号可以包括:被配置为对神经元行为进行建模的多个脉冲(其还称为一组脉冲)。可以经由多个连接(其还称为传输信道、通信信道或突触连接)1004,将编码后的信号1026从编码器1024传输到一个或多个神经元节点(其还称为检测器)1002。
在图10的实现中,相同的分层中的不同检测器可以使用“_n”指示符来表示,使得例如指示符1002_1表示层1002中的第一检测器。尽管为了清楚说明起见,在图10的实施例中只示出了两个检测器(1002_1、1002_n),但应当理解的是,编码器可以耦接到与检测装置硬件和软件限制相兼容的任何数量的检测器节点。此外,单个检测器节点可以耦接到任何实际数量的编码器。
在一个实施例中,检测器1002_1、1002_n中的各个包含:被配置为识别编码的信号1004中的预定的脉冲模式的逻辑(其可以实现成软件代码、硬件逻辑或者其组合),其例如使用在下面的美国专利申请中所描述的任何机制,以产生通过通信信道1008发送的突触后检测信号:2010年8月26日提交的、标题为“SYSTEMS AND METHODS FOR INVARIANT PULSELATENCY CODING”的美国专利申请No.12/869,573;2010年8月26日提交的、标题为“INVARIANT PULSE LATENCY CODING SYSTEMS AND METHODS”的美国专利申请No.12/869,583;2011年5月26日提交的、标题为“APPARATUS AND METHODS FOR POLYCHRONOUSENCODING AND MULTIPLEXING IN NEURONAL PROSTHETIC DEVICES”的美国专利申请No.13/117,048[客户查询号BRAIN.006A];2011年6月2日提交的、标题为“APPARATUS AND METHODSFOR PULSE-CODE INVARIANT OBJECT RECOGNITION”的美国专利申请No.13/152,084[客户查询号BRAIN.001A],其中引用方式将这些申请中的每一份申请的全部内容并入本文。在图10中,指示符1008_1、1008_n分别表示检测器1002_1、1002_n的输出。
在一种实现中,可以将检测信号传送到检测器1012的下一层(其包括检测器1012_1、1012_m、1012_k)以识别复合对象特征和对象,类似于在2011年6月2日提交的、标题为“APPARATUS AND METHODS FOR PULSE-CODE INVARIANT OBJECT RECOGNITION”的共同拥有和共同未决的美国专利申请No.13/152,084[客户查询号BRAIN.001A](以引用方式将其全部内容并入本文)中描述的示例性实施方式。在这一实现中,检测器的各个后续层可以被配置为从前一个检测器层接收信号,以检测更复杂的特征和对象(与之前的检测器层所检测到的特征相比)。例如,一排(bank)边缘检测器之后跟着一排条(bar)检测器,之后跟着一排角检测器等等,从而通过该装置实现字母识别。
检测器1002中的各个检测器可以在通信信道1008_1、1008_n(具有适当的时延)上输出检测(突触后)信号,其中这些通信信道以不同的传导延迟将信号传播到检测器1012。除此之外,图10的实施例的检测器级联可以包含:通过检测装置的软件/硬件资源和被检测到的对象的复杂性所确定的任何实际数量的检测器节点和检测器排。
图10中所描绘的感觉处理装置实现还可以包括侧向连接1006。
在一些实现中,装置1000可以包括反馈连接1014,后者被配置为将上下文信息从一个分层中的检测器传输到前一层,如图10中的反馈连接1014_1所描绘的。在一些实现中,反馈连接1014_2可以被配置为向编码器1024提供反馈,从而促进感觉输入编码,如在上文并入的2011年6月2日提交的、标题为“APPARATUS AND METHODS FOR PULSE-CODEINVARIANT OBJECT RECOGNITION”的共同拥有和共同未决的美国专利申请No.13/152,084[客户查询号BRAIN.001A]中所详细描述的。
计算机化神经形态系统
图11A中描绘了用于操作计算机化尖峰网络(和实现上面所描述的示例性高效连接可塑性更新方法)的一个计算机化神经形态处理系统的特定实现。图11A的计算机化系统1100可以包括输入接口1110,例如,图像传感器、计算机化尖峰视网膜、音频阵列、触摸敏感式输入设备等等。输入接口1110可以经由输入通信接口1114,耦合到处理块(例如,单个或多个处理器块)。系统1100可以包括随机存取存储器(RAM)1108,后者被配置为存储神经元状态和连接参数(例如,图5中的权重526),并促进突触更新。在一些实现中,可以根据例如在下面的美国专利申请中提供的描述,来执行突触更新:上文以引用方式并入的2011年9月21日提交的、标题为“APPARATUS AND METHODS FOR SYNAPTIC UPDATE IN A PULSE-CODENETWORK”的美国专利申请No.13/239,255[客户查询号BRAIN.008A]。
在一些实现中,存储器1108可以经由直接连接(存储器总线)1116耦合到处理器1102。存储器1108还可以通过高速处理器总线1112来耦合到处理器1102。
除此之外,系统1100还可以包括非易失性存储设备1106,后者包括被配置为实现尖峰神经元网络操作的各个方面的计算机可读指令(例如,感觉输入编码、连接可塑性、神经元的操作模型等等)。在一种或多种实现中,例如,当保存/加载网络状态快照时,或者实现上下文切换时(例如,保存当前网络配置)(除此之外,其包括连接权重、更新规则、神经元状态和学习规则等等),非易失性存储设备1106可以用于存储神经元和连接的状态信息,以便稍后使用和加载先前存储的网络配置。
在一些实现中,计算机化的装置1100可以通过I/O接口1120(例如,计算机I/O总线(PCI-E)、有线(例如,以太网)或无线(例如,Wi-Fi)网络连接),耦合到一个或多个外部处理/存储/输入设备。
在一些实现中,输入/输出接口可以包括被配置为接收和识别用户命令的语音输入(例如,麦克风)和语音识别模块。
本领域技术人员应当理解的是,各种处理设备都可以结合计算机化系统1100来使用,其中计算机化系统1100包括但不限于:单核/多核CPU、DSP、FPGA、GPU、ASIC、其组合和/或其它处理器。各种用户输入/输出接口可以类似地适用于本发明的实施例,例如,其包括LCD/LED显示器、触摸屏输入和显示设备、语音输入设备、触针、激光笔、跟踪球等等。
现参见图11B,该图详细描述了神经形态计算机化系统的一种实现,其中该神经形态计算机化系统被配置为实现尖峰网络中的高效连接可塑性更新机制。图11B的神经形态处理系统1130可以包括多个处理块(微模块)1140,其中各个微核可以包括一个计算逻辑核1132和一个存储器块1134。逻辑核1132可以被配置为实现神经元节点操作的各个方面,例如,节点模块和突触更新规则(例如,I-STDP)和/或与网络操作有关的其它任务。除此之外,存储器块可以被配置为存储连接1138的神经元状态变量和连接参数(例如,权重、延迟、I/O映射)。
微模块1140可以使用连接1138和路由器1136,来彼此互连。如本领域技术人员所应当理解的,图11B中的连接布局是示例性的,多种其它连接实现(例如,一到全部、全部到全部等等)也与本公开内容是兼容的。
神经形态装置1130可以被配置为经由接口1142来接收输入(例如,视觉输入)。在一种或多种实现中,例如适用于与计算机化尖峰视网膜或者图像阵列进行交互,装置1130可以经由接口1142来提供反馈信息,以促进输入信号的编码。
神经形态装置1130可以被配置为经由接口1144,提供输出(例如,对识别的对象或特征的指示、或者电机命令,例如放大/平铺图像阵列)。
在一种或多种实现中,装置1130可以经由高带宽存储接口1148与外部快速响应存储器(例如,RAM)进行交互,从而实现中间网络操作参数(例如,尖峰定时等等)的存储。装置1130还可以经由更低带宽内存接口1146,与外部更慢速存储器(例如,闪存或者磁盘(硬盘))进行交互,以便促进程序加载、操作模式变化和重新设定目标,其中在此情况下,对用于当前任务的网络节点和连接信息进行保存,以便未来使用和清洗,先前存储的网络配置被加载到其合适位置。
图11C示出了包括微模块(参照上面的图11B进行了描述,耦接到共享的架构)1140的共享总线神经形态计算机化系统的一种或多种实现。图11C的装置1145使用一个(或多个)共享总线1146,以便使微模块1140彼此互连。
图11D详细描述了基于细胞的神经形态计算机化系统体系结构的一种实现,其中该体系结构被配置为在尖峰网络中实现高效的连接可塑性更新机制。该图的神经形态系统1150可以包括处理模块的分层(细胞模块)。在一些实现中,装置1150的最低层L1细胞1152可以包括逻辑单元和存储器,并可以被配置为类似于图11B中所示出的装置的微模块1140。可以以簇来排列多个细胞模块,并通过本地互连1162、1164来彼此通信。这些簇中的各个簇可以形成更高层的细胞(例如,细胞L2),其在图11D中表示为1154。类似地,一些L2簇可以通过第二层的互连1166来彼此通信,形成一个超级簇L3(其在图11D中表示为1156)。这些超级簇1154可以通过第三层的互连1168进行通信,形成下一层簇等等。本领域技术人员应当理解的是,装置1150的分层结构(其包括每一层四个细胞)仅仅只是一种示例性实现,其它实现可以每一层包括更多或者更少的细胞,和/或包括更少或者更多的层。
装置1150的不同细胞层(例如,L1、L2、L3)可以被配置为执行各个层的复杂性功能。在一种实现中,不同的L1细胞可以并行地处理视觉输入(例如,对不同的帧宏模块进行编码)的不同部分,其中L2、L3细胞积极地执行更高层的功能(例如,边缘检测、目标检测)。不同的L2、L3细胞还可以执行操作的不同方面(例如,机器人),其中一个或多个L2/L3细胞对来自照相机的视觉数据进行处理,其它L2/L3细胞操作电机控制块以实现跟踪目标的镜头运动,或者执行镜头稳定性功能。
神经形态装置1150可以经由接口1160来接收输入(例如,视觉输入)。在一种或多种实现中,例如适用于与计算机化尖峰视网膜或者图像阵列进行交互,装置1150可以通过接口1160来提供反馈信息,以促进输入信号的编码。
神经形态装置1150可以经由接口1170,提供输出(例如,识别的对象或特征的指示、或者电机命令,以便例如放大/平铺图像阵列)。在一些实现中,装置1150可以使用单个I/O模块(没有示出),执行I/O功能中的全部功能。
在一种或多种实现中,装置1150可以通过高带宽存储接口(没有示出)与外部快速响应存储器(例如,RAM)进行交互,从而实现中间网络操作参数(例如,尖峰定时等等)的存储。在一种或多种实现中,装置1150还可以经由较低带宽存储接口(没有示出),与外部较慢速存储器(例如,闪存或者磁盘(硬盘))进行交互,以便促进程序加载、操作模式变化和重新设定目标,其中在此情况下,对用于当前任务的网络节点和连接信息进行保存,以便未来使用和清洗,将先前存储的网络配置加载到其合适位置。
仿真结果
图12给出了本发明的受让人,在对示例性计算机化尖峰网络装置的仿真和测试期间获得的结果,其中该网络装置被配置为实现上面所描述的高效连接更新方法。在一种实现中,该示例性装置可以包括上面针对图4所详细描述的尖峰神经元网络400。
图12描绘了针对包括M=100个连接的神经元所计算的与事件相关的连接变化(EDCC)分量。可以按照20ms来选择连接状态衰减时间尺度T,使用同步循环更新按照1ms时间间隔对网络进行更新。可以使用式19的与状态相关的资格迹,来配置该实现中的更新过程,其中可以使用式17来配置Q(t)Si(t)项。
踪迹1202、1204、1206、1208、1210、1212描述了位于LUT之内的EDCC分量的时间演变,其与图13的HLND清单中描述的float e变量相对应。
本发明的某些方面的示例性使用和应用
有利的是,本文所描述的方法可以提供:为了实现针对尖峰神经元(其包括多个突触连接)的突触更新而所需要的计算量的大幅减少。为了更新神经元的所有M个突触,本发明的高效更新方法需要C×nT次操作和M×nT的存储器位置,其中nT的范围通常在2和50之间。对于每一神经元的典型突触密度位于100和10,000之间来说,与现有技术相比,这可以对应于计算量的5到500倍的减少。通过实现按需更新和/或将网络操作划分到一些时间间隔中,可以甚至进一步减少用于突触更新所需要的计算量,其中在该情况下,突触动态性可以是半静止的(时不变化),使得可以每一分段,对EDCC分量进行一次计算。
高效更新方法可以有利地实现下面二者的平衡:(i)为了操作网络而所需要的神经形态装置的成本、复杂度、大小和功耗的减少;和/或(ii)增加装置吞吐量,从而允许具有更高突触密度的网络。
在一种或多种实现中,可以将本公开内容的高效更新装置实现成软件库,后者被配置为由计算机化神经网络装置(例如,其包含数字处理器)来执行。在一些实现中,通用学习装置可以包括专用的硬件模块(例如,嵌入式处理器或控制器)。在一些实现中,可以用专用或通用集成电路(例如,ASIC、FPGA和/或PLD)来实现尖峰网络装置。给定本公开内容的情况下,本领域技术人员将认识到存在无数的其它实现。
有利的是,本公开内容可以用于简化和改进各式各样的控制应用的控制任务,其包括但不限于:工业控制、自适应信号处理、导航和机器人。本公开内容的示例性实现可以用于多种多样的设备,其包括但不限于:假肢设备(例如,人工假肢)、工业控制、自动和机器人装置、HVAC、以及需要准确的稳定性、设置点控制、轨迹跟踪功能或者其它类型的控制的其它电磁设备。机器人设备的例子可以包括制造机器人(例如,汽车)、军事设备和医疗设备(例如,用于外科机器人)。自动导航的例子可以包括漫游者(例如,用于地外文明、水下、危险勘探环境)、无人机、水下航行器、智能电器(例如,)和/或机器人玩具。本公开发明可以有利地用于自适应信号处理系统的所有其它应用(例如,其包括人工神经网络),其包括:机器视觉、模式检测和模式识别、目标分类、信号过滤、数据分割、数据压缩、数据挖掘、优化和调度和/或复杂映射。
应当认识到,尽管通过特定顺序的方法步骤来描述了本公开内容的某些方面,但这些描述仅仅是用于说明本发明的更广泛的方法,其可以根据具体应用的需求进行修改。在某些环境下,某些步骤可能呈现为是不必要的,或者是可选的。另外,可以向所公开的实现增加某些步骤或功能,或者对两个或更多步骤的执行顺序进行置换。所有这些变型都应被视作为涵盖在本申请所公开和主张的公开内容之内。
虽然以上详细描述已展示、描述并指出应用至各种实现的本公开内容的新颖特征,但应当理解,本领域的技术人员可以在不脱离本公开内容的范围的情况下,对所示出的设备或过程在形式和细节上作出各种省略、替换和改变。前述的描述是当前预期的实现本发明的最佳模式。此描述绝不意味着是限制性的,而是应当被认为对本发明的一般原理的说明。本发明的保护范围应当通过权利要求书来界定。

Claims (24)

1.一种其上包含有指令的计算机可读存储介质,所述指令可由处理器执行,以执行用于实现尖峰神经元的多个连接的学习参数的更新的方法,所述方法包括:
根据被配置为按照时间间隔进行更新的过程来操作所述神经元;
存储经由所述多个连接向所述神经元提供的一个或多个输入的时间历史,给定输入的所述时间历史描述了出现所述给定输入的时间,在包括多个所述时间间隔的时间窗中执行对所述时间历史的所述存储;
接收用于传送是否要执行所述更新的指示;
响应于所述指示,确定多个与依据输入的连接变化分量IDCC,其中所述多个IDCC分量中的各个分量与所述多个时间间隔中的相应时间间隔相关联,所述多个IDCC分量是基于:所述指示的时间、以及与所述多个时间间隔中的各个时间间隔相对应的所述一个或多个输入中的相应输入的时间;以及
通过调整所述学习参数来实施所述更新,所述调整是基于所述多个IDCC分量来确定的。
2.根据权利要求1所述的计算机可读存储介质,其中:
所述更新还包括多个资格迹的确定,所述多个资格迹中的各个资格迹是与所述多个连接中的给定一个连接相关联的,并包括在所述多个连接中的所述给定一个连接上出现所述一个或多个输入中的至少一个输入的临时记录;以及
基于所述多个IDCC分量中的相应IDCC分量的积分,来实现对所述多个资格迹的确定。
3.一种操作计算机化网络中的多个数据接口的计算机实现的方法,所述方法由被配置为执行计算机程序模块的一个或多个处理器执行,所述方法包括:
存储能够经由所述多个数据接口提供的一个或多个数据项的时间记录,给定的数据项的所述时间记录描述了出现所述给定的数据项的时间;
基于用于传送是否要执行更新的指示,更新多个参数,所述多个参数是与所述多个数据接口相关联的,所述更新包括:
读取所述多个参数的先前值;
确定所述多个参数的更新值;以及
存储所述多个参数的所述更新值;
其中:
确定所述更新值是基于所述时间记录的至少一部分,所述部分覆盖所述指示之前的时间间隔;以及
确定所述更新值包括与所述一个或多个数据项的数量成比例的操作的数量,所述操作的数量独立于所述多个数据接口的数量。
4.根据权利要求3所述的方法,还包括:
根据接口动态过程,操作所述多个数据接口中的各个数据接口,所述动态过程以能够按照时间周期更新的动态状态为特征,所述动态过程的特征由衰减间隔来表征;
其中:
所述时间间隔被配置为覆盖至少所述衰减时间窗中的一段时间;
以及
确定所述更新值还包括:基于所述指示和所述时间记录来获得多个接口变化分量,其中所述多个接口变化分量中的各个接口变化分量被配置为描绘以下内容的特征:由于在所述时间间隔窗口之内出现的所述一个或多个数据项,在与所述指示相关联的时刻实现的对所述多个参数中的各个参数的改变。
5.根据权利要求4所述的方法,其中:
所述计算机化网络包括尖峰神经元网络SNN;
所述多个数据接口中的各个数据接口包括所述SNN的突触连接;
所述多个参数中的各个参数包括相应突触连接的突触权重,所述权重是至少基于在所述时间间隔之内,所述一个或多个数据项中的数据项的出现;以及
所述衰减时间窗包括指数衰减窗,其中所述指数衰减窗的特征是由在所述指数衰减窗的持续时间内,所述权重减少2.7的因子来表征的。
6.根据权利要求5所述的方法,其中:
所述SNN能够实现特征由外部信号来表征的学习过程,所述学习过程被配置为产生结果;
所述更新能够帮助产生所述结果;以及
所述指示包括所述外部信号的至少一部分。
7.根据权利要求4所述的方法,其中:
所述多个参数中的各个参数包括与所述多个数据接口中的相应数据接口相关联的连接延迟;以及
所述多个接口变化分量能够提供所述多个数据接口的更新。
8.根据权利要求4所述的方法,其中:
所述时间周期包括相等持续时间的规则周期;
所述多个接口变化分量中的各个分量,是与在所述指示时刻之前,出现整数次的所述持续时间的相应时间周期相关联的;以及
基于以下两项之间的差值,来确定一个或多个接口变化分量:(i)所述相应时间周期和(ii)所述指示时刻。
9.根据权利要求8所述的方法,其中,所述一个或多个接口变化分量中的各个分量,是与在所述相应时间周期之内出现的所述一个或多个数据项中的至少一个数据项相关联的。
10.根据权利要求4所述的方法,其中,所述指示是基于以下两项中的一项或两项的:(i)一个或多个数据项中的数据项的出现;或者(ii)指示当前更新时间周期到期的定时器事件。
11.一种被配置为减少用于操作网络节点的多个通信接口的计算负荷的神经网络系统,所述系统包括:
一个或多个处理器,其配置为执行一个或多个计算机程序模块,以执行一个或多个操作,包括:
根据能够按照时间间隔进行更新的节点动态过程来操作所述节点;以及
基于用于传送是否要执行更新的指示:
通过实现与所述多个通信接口相关联的多个参数的更新,来减轻所述计算负荷,所述更新是基于在所述指示之前,经由所述多个通信接口中的至少一个通信接口进行传输的一个或多个数据项;
其中,所述多个参数的所述更新包括操作的数量,所述操作的数量是独立于所述多个通信接口的数量的。
12.根据权利要求11所述的系统,其中,所述指示是基于由尖峰神经元所生成的输出的。
13.根据权利要求11所述的系统,其中,所述多个数据接口中的各个数据接口能够根据线性接口动态过程被操作,其中所述线性接口动态过程的特征是由具有与其相关联的衰减时间尺度的稳定平衡来表征的。
14.根据权利要求13所述的系统,其中:
所述多个参数中的各个参数包括权重,所述权重能够基于在所述衰减时间尺度之内的所述一个或多个数据项中的数据项的出现,来修改所述节点的状态;以及
所述更新是基于下面各项中的一项或多项:
(1)将与所述线性接口动态过程相关联的接口状态分解成多个常规分量;
(2)基于所述指示的出现和所述一个或多个数据项的出现之间的时间差,来确定所述多个常规分量中的各个常规分量;或者
(3)所述多个常规分量的线性组合,基于与所述一个或多个数据项的出现时间相对应的、所述多个常规分量中的相应常规分量的值来确定所述线性组合,根据所述衰减时间尺度和所述时间差来减小所述值。
15.根据权利要求13所述的系统,其中,所述一个或多个计算机程序模块中的各个计算机程序模块的执行,使得所述一个或多个处理器存储时间历史,其中所述时间历史用于表示经由所述多个通信接口在时间窗内提供所述一个或多个数据项的时间,其中所述时间窗等于或者长于所述衰减时间尺度。
16.根据权利要求14所述的系统,其中:
所述常规分量的数量选定为位于2和40之间,包括2和40;以及
所述多个通信接口的数量选定为位于41和100000之间,包括41和100000。
17.根据权利要求14所述的系统,其中,所述多个参数的所述更新包括:基于所述指示和所述时间历史来确定多个接口变化分量,其中所述多个接口变化分量中的各个分量被配置为描绘以下内容的特性:在与所述指示相关联的指示时刻实现的所述节点的所述状态的变化,其中所述指示是响应于在所述指示时刻之前在所述衰减窗内出现的所述一个或多个数据项。
18.根据权利要求17所述的系统,其中:
所述线性接口动态过程能够按照时间间隔来定期地更新;
所述衰减窗包括所述时间间隔中的两个或更多时间间隔;
对多个接口变化分量的所述确定是经由查找表来实现的,其中所述查找表包括与所述时间间隔中的所述两个或更多时间间隔相关联的两个或更多个记录;以及
所述多个接口变化分量中的各个分量被配置为独立于所述节点的所述状态,以使得在所述时间间隔的第一次出现之前,能够确定所述查找表,以减轻针对所述更新中的各个更新进行对所述查找表的确定。
19.根据权利要求17所述的系统,其中:
所述线性接口动态过程能够按照时间间隔来定期更新;
所述衰减窗包括两个或更多个所述时间间隔;
对多个接口变化分量的所述确定是经由查找表来实现的,其中所述查找表包括与所述时间间隔中的所述两个或更多时间间隔相关联的两个或更多个记录;
所述多个接口变化分量中的各个分量是基于所述节点的所述状态而被配置的;以及
所述查找表是针对所述更新中的两个或更多个更新而被确定的。
20.根据权利要求15所述的系统,其中:
所述更新包括按需更新;以及
所述指示包括与所述时间历史的存储相关联的缓冲器事件。
21.根据权利要求11所述的系统,其中:
所述节点状态更新的特征是由按照规则时间间隔实现的循环更新来表征的;以及
所述指示包括与所述规则时间间隔相关联的定时器事件。
22.根据权利要求14所述的系统,其中:
所述节点状态更新包括按照规则时间间隔实现的循环更新;以及
所述指示是基于经由所述多个通信接口中的至少一个通信接口传输的所述一个或多个数据项中的所述数据项的。
23.根据权利要求22所述的系统,其中,所述更新被延迟,直到在所述一个或多个数据项中的所述数据项出现之后出现的下一个规则时间间隔为止。
24.根据权利要求11所述的系统,其中:
所述节点动态过程包括被配置为产生结果的强化学习过程;
所述多个参数的更新能够帮助产生所述结果;以及
所述指示包括基于对节点输出相对于所述结果的评估而生成的强化尖峰。
CN201380039304.2A 2012-07-27 2013-07-25 用于高效地更新尖峰神经元网络的装置和方法 Expired - Fee Related CN104662526B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/560,891 2012-07-27
US13/560,891 US9256823B2 (en) 2012-07-27 2012-07-27 Apparatus and methods for efficient updates in spiking neuron network
PCT/US2013/052127 WO2014018793A1 (en) 2012-07-27 2013-07-25 Apparatus and methods for efficient updates in spiking neuron networks

Publications (2)

Publication Number Publication Date
CN104662526A CN104662526A (zh) 2015-05-27
CN104662526B true CN104662526B (zh) 2017-12-19

Family

ID=49995855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380039304.2A Expired - Fee Related CN104662526B (zh) 2012-07-27 2013-07-25 用于高效地更新尖峰神经元网络的装置和方法

Country Status (5)

Country Link
US (1) US9256823B2 (zh)
KR (1) KR101626444B1 (zh)
CN (1) CN104662526B (zh)
IN (1) IN2014MN02625A (zh)
WO (1) WO2014018793A1 (zh)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8315305B2 (en) 2010-03-26 2012-11-20 Brain Corporation Systems and methods for invariant pulse latency coding
US9405975B2 (en) 2010-03-26 2016-08-02 Brain Corporation Apparatus and methods for pulse-code invariant object recognition
US9311593B2 (en) 2010-03-26 2016-04-12 Brain Corporation Apparatus and methods for polychronous encoding and multiplexing in neuronal prosthetic devices
US9122994B2 (en) 2010-03-26 2015-09-01 Brain Corporation Apparatus and methods for temporally proximate object recognition
US9152915B1 (en) 2010-08-26 2015-10-06 Brain Corporation Apparatus and methods for encoding vector into pulse-code output
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US9070039B2 (en) 2013-02-01 2015-06-30 Brian Corporation Temporal winner takes all spiking neuron network sensory processing apparatus and methods
US8990133B1 (en) 2012-12-20 2015-03-24 Brain Corporation Apparatus and methods for state-dependent learning in spiking neuron networks
US20150127154A1 (en) * 2011-06-02 2015-05-07 Brain Corporation Reduced degree of freedom robotic controller apparatus and methods
US9147156B2 (en) 2011-09-21 2015-09-29 Qualcomm Technologies Inc. Apparatus and methods for synaptic update in a pulse-coded network
US9047568B1 (en) 2012-09-20 2015-06-02 Brain Corporation Apparatus and methods for encoding of sensory data using artificial spiking neurons
US8725658B2 (en) 2011-09-21 2014-05-13 Brain Corporation Elementary network description for efficient memory management in neuromorphic systems
US9104973B2 (en) 2011-09-21 2015-08-11 Qualcomm Technologies Inc. Elementary network description for neuromorphic systems with plurality of doublets wherein doublet events rules are executed in parallel
US9412064B2 (en) 2011-08-17 2016-08-09 Qualcomm Technologies Inc. Event-based communication in spiking neuron networks communicating a neural activity payload with an efficacy update
US8725662B2 (en) 2011-09-21 2014-05-13 Brain Corporation Apparatus and method for partial evaluation of synaptic updates based on system events
US9460387B2 (en) 2011-09-21 2016-10-04 Qualcomm Technologies Inc. Apparatus and methods for implementing event-based updates in neuron networks
US8719199B2 (en) 2011-09-21 2014-05-06 Brain Corporation Systems and methods for providing a neural network having an elementary network description for efficient implementation of event-triggered plasticity rules
US9390369B1 (en) * 2011-09-21 2016-07-12 Brain Corporation Multithreaded apparatus and methods for implementing parallel networks
US9146546B2 (en) 2012-06-04 2015-09-29 Brain Corporation Systems and apparatus for implementing task-specific learning using spiking neurons
US9104186B2 (en) 2012-06-04 2015-08-11 Brain Corporation Stochastic apparatus and methods for implementing generalized learning rules
US10210452B2 (en) 2011-09-21 2019-02-19 Qualcomm Incorporated High level neuromorphic network description apparatus and methods
US9156165B2 (en) 2011-09-21 2015-10-13 Brain Corporation Adaptive critic apparatus and methods
US9213937B2 (en) 2011-09-21 2015-12-15 Brain Corporation Apparatus and methods for gating analog and spiking signals in artificial neural networks
US9117176B2 (en) 2011-09-21 2015-08-25 Qualcomm Technologies Inc. Round-trip engineering apparatus and methods for neural networks
US9015092B2 (en) 2012-06-04 2015-04-21 Brain Corporation Dynamically reconfigurable stochastic learning apparatus and methods
US9098811B2 (en) 2012-06-04 2015-08-04 Brain Corporation Spiking neuron network apparatus and methods
US9129221B2 (en) 2012-05-07 2015-09-08 Brain Corporation Spiking neural network feedback apparatus and methods
US9224090B2 (en) 2012-05-07 2015-12-29 Brain Corporation Sensory input processing apparatus in a spiking neural network
US9208432B2 (en) 2012-06-01 2015-12-08 Brain Corporation Neural network learning and collaboration apparatus and methods
US9412041B1 (en) 2012-06-29 2016-08-09 Brain Corporation Retinal apparatus and methods
US9256823B2 (en) 2012-07-27 2016-02-09 Qualcomm Technologies Inc. Apparatus and methods for efficient updates in spiking neuron network
US9256215B2 (en) 2012-07-27 2016-02-09 Brain Corporation Apparatus and methods for generalized state-dependent learning in spiking neuron networks
US9189730B1 (en) 2012-09-20 2015-11-17 Brain Corporation Modulated stochasticity spiking neuron network controller apparatus and methods
US9367798B2 (en) 2012-09-20 2016-06-14 Brain Corporation Spiking neuron network adaptive control apparatus and methods
US9311594B1 (en) 2012-09-20 2016-04-12 Brain Corporation Spiking neuron network apparatus and methods for encoding of sensory data
US9373074B2 (en) * 2012-10-09 2016-06-21 Qualcomm Incorporated Method and apparatus for time management and scheduling for sychronous processing on a cluster of processing nodes
US9082079B1 (en) 2012-10-22 2015-07-14 Brain Corporation Proportional-integral-derivative controller effecting expansion kernels comprising a plurality of spiking neurons associated with a plurality of receptive fields
US9218563B2 (en) 2012-10-25 2015-12-22 Brain Corporation Spiking neuron sensory processing apparatus and methods for saliency detection
US9111226B2 (en) 2012-10-25 2015-08-18 Brain Corporation Modulated plasticity apparatus and methods for spiking neuron network
US9183493B2 (en) 2012-10-25 2015-11-10 Brain Corporation Adaptive plasticity apparatus and methods for spiking neuron network
US9275326B2 (en) 2012-11-30 2016-03-01 Brain Corporation Rate stabilization through plasticity in spiking neuron network
US9123127B2 (en) 2012-12-10 2015-09-01 Brain Corporation Contrast enhancement spiking neuron network sensory processing apparatus and methods
US9195934B1 (en) 2013-01-31 2015-11-24 Brain Corporation Spiking neuron classifier apparatus and methods using conditionally independent subsets
US9177245B2 (en) 2013-02-08 2015-11-03 Qualcomm Technologies Inc. Spiking network apparatus and method with bimodal spike-timing dependent plasticity
US9764468B2 (en) 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
US9008840B1 (en) 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
US9242372B2 (en) 2013-05-31 2016-01-26 Brain Corporation Adaptive robotic interface apparatus and methods
US9314924B1 (en) * 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
US9792546B2 (en) 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
US9436909B2 (en) 2013-06-19 2016-09-06 Brain Corporation Increased dynamic range artificial neuron network apparatus and methods
US9239985B2 (en) 2013-06-19 2016-01-19 Brain Corporation Apparatus and methods for processing inputs in an artificial neuron network
US9552546B1 (en) * 2013-07-30 2017-01-24 Brain Corporation Apparatus and methods for efficacy balancing in a spiking neuron network
US9959499B2 (en) * 2013-09-25 2018-05-01 Qualcomm Incorporated Methods and apparatus for implementation of group tags for neural models
US9579789B2 (en) 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
US9489623B1 (en) 2013-10-15 2016-11-08 Brain Corporation Apparatus and methods for backward propagation of errors in a spiking neuron network
US9463571B2 (en) 2013-11-01 2016-10-11 Brian Corporation Apparatus and methods for online training of robots
US9597797B2 (en) 2013-11-01 2017-03-21 Brain Corporation Apparatus and methods for haptic training of robots
US9248569B2 (en) 2013-11-22 2016-02-02 Brain Corporation Discrepancy detection apparatus and methods for machine learning
US9358685B2 (en) 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
US9672464B2 (en) 2014-02-28 2017-06-06 Qualcomm Incorporated Method and apparatus for efficient implementation of common neuron models
US20150269485A1 (en) * 2014-03-24 2015-09-24 Qualcomm Incorporated Cold neuron spike timing back-propagation
US9346167B2 (en) 2014-04-29 2016-05-24 Brain Corporation Trainable convolutional network apparatus and methods for operating a robotic vehicle
US9713982B2 (en) 2014-05-22 2017-07-25 Brain Corporation Apparatus and methods for robotic operation using video imagery
US10194163B2 (en) 2014-05-22 2019-01-29 Brain Corporation Apparatus and methods for real time estimation of differential motion in live video
US9939253B2 (en) 2014-05-22 2018-04-10 Brain Corporation Apparatus and methods for distance estimation using multiple image sensors
US9848112B2 (en) 2014-07-01 2017-12-19 Brain Corporation Optical detection apparatus and methods
US10057593B2 (en) 2014-07-08 2018-08-21 Brain Corporation Apparatus and methods for distance estimation using stereo imagery
US9870617B2 (en) 2014-09-19 2018-01-16 Brain Corporation Apparatus and methods for saliency detection based on color occurrence analysis
US9630318B2 (en) 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
US9881349B1 (en) 2014-10-24 2018-01-30 Gopro, Inc. Apparatus and methods for computerized object identification
US9717387B1 (en) 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
US10197664B2 (en) 2015-07-20 2019-02-05 Brain Corporation Apparatus and methods for detection of objects using broadband signals
KR102204887B1 (ko) * 2015-10-28 2021-01-19 구글 엘엘씨 연산 그래프 수정
US10839302B2 (en) 2015-11-24 2020-11-17 The Research Foundation For The State University Of New York Approximate value iteration with complex returns by bounding
CN105371888B (zh) * 2015-11-27 2017-11-07 航天东方红卫星有限公司 一种基于机器视觉的卫星电连接器插接检验系统及方法
KR102565273B1 (ko) 2016-01-26 2023-08-09 삼성전자주식회사 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법
US20170286829A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Event-driven Learning and Reward Modulation with Spike Timing Dependent Plasticity in Neuromorphic Computers
US11003984B2 (en) 2016-05-31 2021-05-11 Samsung Electronics Co., Ltd. Timing sequence for digital STDP synapse and LIF neuron-based neuromorphic system
US11741352B2 (en) * 2016-08-22 2023-08-29 International Business Machines Corporation Area and power efficient implementation of resistive processing units using complementary metal oxide semiconductor technology
US11238337B2 (en) * 2016-08-22 2022-02-01 Applied Brain Research Inc. Methods and systems for implementing dynamic neural networks
US20180053086A1 (en) * 2016-08-22 2018-02-22 Kneron Inc. Artificial neuron and controlling method thereof
US11501130B2 (en) * 2016-09-09 2022-11-15 SK Hynix Inc. Neural network hardware accelerator architectures and operating method thereof
US11281963B2 (en) * 2016-09-26 2022-03-22 Intel Corporation Programmable neuron core with on-chip learning and stochastic time step control
CN106569478B (zh) * 2016-10-25 2019-07-02 西安兰海动力科技有限公司 用于自主水下航行器自动驾驶仪计算机测试的实时仿真装置
EP3336774B1 (en) * 2016-12-13 2020-11-25 Axis AB Method, computer program product and device for training a neural network
US10248906B2 (en) * 2016-12-28 2019-04-02 Intel Corporation Neuromorphic circuits for storing and generating connectivity information
US10360478B2 (en) 2017-06-14 2019-07-23 Motorola Solutions, Inc. Systems and methods for inline object detection using a hue saturation value
US20190005377A1 (en) * 2017-06-30 2019-01-03 Advanced Micro Devices, Inc. Artificial neural network reduction to reduce inference computation time
WO2019125419A1 (en) * 2017-12-19 2019-06-27 Intel Corporation Device, system and method for varying a synaptic weight with a phase differential of a spiking neural network
WO2019125418A1 (en) * 2017-12-19 2019-06-27 Intel Corporation Reward-based updating of synpatic weights with a spiking neural network
CN108470212B (zh) * 2018-01-31 2020-02-21 江苏大学 一种能利用事件持续时间的高效lstm设计方法
US11645501B2 (en) * 2018-02-28 2023-05-09 International Business Machines Corporation Distributed, event-based computation using neuromorphic cores
US11157810B2 (en) * 2018-04-16 2021-10-26 International Business Machines Corporation Resistive processing unit architecture with separate weight update and inference circuitry
CN111868749B (zh) * 2018-04-17 2024-02-27 赫尔实验室有限公司 用于计算条件概率的神经元网络拓扑
CN108830379B (zh) * 2018-05-23 2021-12-17 电子科技大学 一种基于参数量化共享的神经形态处理器
CN108846349A (zh) * 2018-06-08 2018-11-20 电子科技大学 一种基于动态Spiking神经网络的人脸识别方法
KR102176695B1 (ko) * 2018-06-29 2020-11-09 포항공과대학교 산학협력단 뉴럴 네트워크 하드웨어
EP3605401A1 (en) * 2018-07-31 2020-02-05 GrAl Matter Labs S.A.S. Data processing module, data processing system and data processing method
US20190042916A1 (en) * 2018-09-28 2019-02-07 Intel Corporation Reward-Based Updating of Synaptic Weights with A Spiking Neural Network to Perform Thermal Management
US11354572B2 (en) 2018-12-05 2022-06-07 International Business Machines Corporation Multi-variables processing neurons and unsupervised multi-timescale learning for spiking neural networks
US11270195B2 (en) 2019-03-05 2022-03-08 International Business Machines Corporation Neuromorphic computing in dynamic random access memory
CN110111234B (zh) * 2019-04-11 2023-12-15 上海集成电路研发中心有限公司 一种基于神经网络的图像处理系统架构
KR102380970B1 (ko) * 2019-07-04 2022-04-01 한국과학기술연구원 뉴로모픽 장치 및 그 장치에서 수행되는 시그널링 방법
KR102301041B1 (ko) * 2019-07-04 2021-09-14 한국과학기술연구원 뉴로모픽 장치
US20210103801A1 (en) * 2019-10-03 2021-04-08 International Business Machines Corporation Artificial intelligence hardware with synaptic reuse
KR102431371B1 (ko) * 2019-11-26 2022-08-10 성균관대학교산학협력단 스파이킹 뉴런 모델 및 그의 스파이크 생성 방법
CN111815640B (zh) * 2020-07-21 2022-05-03 江苏经贸职业技术学院 一种基于忆阻器的rbf神经网络医学图像分割算法
WO2023091061A1 (en) * 2021-11-17 2023-05-25 Telefonaktiebolaget Lm Ericsson (Publ) Delay encoded vector symbolic radio multiple access

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253330A (en) * 1988-07-05 1993-10-12 Siemens Aktiengesellschaft Network architecture for the programmable emulation of artificial neural networks having digital operation
WO2008132066A1 (en) * 2007-04-27 2008-11-06 Siemens Aktiengesellschaft A method for computer-assisted learning of one or more neural networks
CN101868803A (zh) * 2007-09-21 2010-10-20 科德博克斯计算机服务有限责任公司 神经元网络结构和操作神经元网络结构的方法

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5063603A (en) 1989-11-06 1991-11-05 David Sarnoff Research Center, Inc. Dynamic method for recognizing objects and image processing system therefor
US5875108A (en) 1991-12-23 1999-02-23 Hoffberg; Steven M. Ergonomic man-machine interface incorporating adaptive pattern recognition based control system
US5355435A (en) 1992-05-18 1994-10-11 New Mexico State University Technology Transfer Corp. Asynchronous temporal neural processing element
US5673367A (en) 1992-10-01 1997-09-30 Buckley; Theresa M. Method for neural network control of motion using real-time environmental feedback
FI92361C (fi) 1992-12-14 1994-10-25 Nokia Telecommunications Oy Menetelmä kehysvälitysverkon ylikuormitustilanteiden hallitsemiseksi sekä kehysvälitysverkon solmu
RU2108612C1 (ru) 1994-09-14 1998-04-10 Круглов Сергей Петрович Адаптивная система управления с идентификатором и неявной эталонной моделью
US5845271A (en) 1996-01-26 1998-12-01 Thaler; Stephen L. Non-algorithmically implemented artificial neural networks and components thereof
US6009418A (en) 1996-05-02 1999-12-28 Cooper; David L. Method and apparatus for neural networking using semantic attractor architecture
EP0988585A4 (en) 1997-06-11 2007-12-26 Univ Southern California DYNAMIC SYNAPSE FOR PROCESSING SIGNALS IN NEURONAL NETWORKS
JP4131340B2 (ja) 1997-07-11 2008-08-13 ソニー株式会社 制御装置、制御方法、および受信装置
US6458157B1 (en) 1997-08-04 2002-10-01 Suaning Gregg Joergen Retinal stimulator
US6581046B1 (en) 1997-10-10 2003-06-17 Yeda Research And Development Co. Ltd. Neuronal phase-locked loops
US6545705B1 (en) 1998-04-10 2003-04-08 Lynx System Developers, Inc. Camera with object recognition/data output
US7536374B2 (en) 1998-05-28 2009-05-19 Qps Tech. Limited Liability Company Method and system for using voice input for performing device functions
WO2001060282A2 (en) 2000-02-16 2001-08-23 Massachusetts Eye & Ear Infirmary Balance prosthesis
US7054850B2 (en) 2000-06-16 2006-05-30 Canon Kabushiki Kaisha Apparatus and method for detecting or recognizing pattern by employing a plurality of feature detecting elements
US6910060B2 (en) 2001-05-21 2005-06-21 Computational Sensor Corp. Spatio-temporal filter and method
DE60216411T2 (de) 2001-08-23 2007-10-04 Sony Corp. Robotervorrichtung, gesichtserkennungsverfahren und gesichtserkennungsvorrichtung
US8156057B2 (en) 2003-03-27 2012-04-10 Knowm Tech, Llc Adaptive neural network utilizing nanotechnology-based components
AU2002338754A1 (en) * 2002-09-20 2004-04-08 Ecole Polytechnique Federale De Lausanne (Epfl) Spiking neural network device
US7426501B2 (en) 2003-07-18 2008-09-16 Knowntech, Llc Nanotechnology neural network methods and systems
US20060161218A1 (en) 2003-11-26 2006-07-20 Wicab, Inc. Systems and methods for treating traumatic brain injury
JP4780921B2 (ja) 2004-03-17 2011-09-28 キヤノン株式会社 並列パルス信号処理装置、及びその制御方法
JP2005352900A (ja) 2004-06-11 2005-12-22 Canon Inc 情報処理装置、情報処理方法、パターン認識装置、及びパターン認識方法
JP2008533615A (ja) 2005-03-14 2008-08-21 エル ターラー、ステフエン ニューラルネットワーク開発およびデータ解析ツール
US7420396B2 (en) 2005-06-17 2008-09-02 Knowmtech, Llc Universal logic gate utilizing nanotechnology
US7747070B2 (en) 2005-08-31 2010-06-29 Microsoft Corporation Training convolutional neural networks on graphics processing units
US8346692B2 (en) 2005-12-23 2013-01-01 Societe De Commercialisation Des Produits De La Recherche Appliquee-Socpra-Sciences Et Genie S.E.C. Spatio-temporal pattern recognition using a spiking neural network and processing thereof on a portable and/or distributed computer
US7849030B2 (en) 2006-05-31 2010-12-07 Hartford Fire Insurance Company Method and system for classifying documents
RU2406105C2 (ru) 2006-06-13 2010-12-10 Филипп Геннадьевич Нестерук Способ обработки информации в нейронных сетях
JP4087423B2 (ja) 2006-10-17 2008-05-21 京セラミタ株式会社 携帯通信装置
US8103602B2 (en) 2006-12-29 2012-01-24 Neurosciences Research Foundation, Inc. Solving the distal reward problem through linkage of STDP and dopamine signaling
US20110160741A1 (en) 2008-06-09 2011-06-30 Hiroyuki Asano Medical treatment tool for tubular organ
US20100085607A1 (en) 2008-10-02 2010-04-08 Silverbrook Research Pty Ltd Method of encoding coding pattern
US8160354B2 (en) 2008-12-26 2012-04-17 Five Apes, Inc. Multi-stage image pattern recognizer
US8250010B2 (en) * 2009-05-21 2012-08-21 International Business Machines Corporation Electronic learning synapse with spike-timing dependent plasticity using unipolar memory-switching elements
US8200593B2 (en) 2009-07-20 2012-06-12 Corticaldb Inc Method for efficiently simulating the information processing in cells and tissues of the nervous system with a temporal series compressed encoding neural network
US8429107B2 (en) 2009-11-04 2013-04-23 International Business Machines Corporation System for address-event-representation network simulation
US8275727B2 (en) 2009-11-13 2012-09-25 International Business Machines Corporation Hardware analog-digital neural networks
US8311965B2 (en) 2009-11-18 2012-11-13 International Business Machines Corporation Area efficient neuromorphic circuits using field effect transistors (FET) and variable resistance material
US9122994B2 (en) 2010-03-26 2015-09-01 Brain Corporation Apparatus and methods for temporally proximate object recognition
US9311593B2 (en) 2010-03-26 2016-04-12 Brain Corporation Apparatus and methods for polychronous encoding and multiplexing in neuronal prosthetic devices
US9405975B2 (en) 2010-03-26 2016-08-02 Brain Corporation Apparatus and methods for pulse-code invariant object recognition
US8315305B2 (en) 2010-03-26 2012-11-20 Brain Corporation Systems and methods for invariant pulse latency coding
US8433665B2 (en) 2010-07-07 2013-04-30 Qualcomm Incorporated Methods and systems for three-memristor synapse with STDP and dopamine signaling
US9269042B2 (en) * 2010-09-30 2016-02-23 International Business Machines Corporation Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices
US8510239B2 (en) 2010-10-29 2013-08-13 International Business Machines Corporation Compact cognitive synaptic computing circuits with crossbar arrays spatially in a staggered pattern
US8655813B2 (en) * 2010-12-30 2014-02-18 International Business Machines Corporation Synaptic weight normalized spiking neuronal networks
CN102226740B (zh) 2011-04-18 2013-05-22 中国计量学院 基于外加周期信号控制随机共振的轴承故障检测方法
US9147156B2 (en) 2011-09-21 2015-09-29 Qualcomm Technologies Inc. Apparatus and methods for synaptic update in a pulse-coded network
US8712941B2 (en) 2011-09-21 2014-04-29 Brain Corporation Elementary network description for efficient link between neuronal models and neuromorphic systems
US8725658B2 (en) 2011-09-21 2014-05-13 Brain Corporation Elementary network description for efficient memory management in neuromorphic systems
US8725662B2 (en) * 2011-09-21 2014-05-13 Brain Corporation Apparatus and method for partial evaluation of synaptic updates based on system events
US9104973B2 (en) 2011-09-21 2015-08-11 Qualcomm Technologies Inc. Elementary network description for neuromorphic systems with plurality of doublets wherein doublet events rules are executed in parallel
US8719199B2 (en) 2011-09-21 2014-05-06 Brain Corporation Systems and methods for providing a neural network having an elementary network description for efficient implementation of event-triggered plasticity rules
US9015092B2 (en) 2012-06-04 2015-04-21 Brain Corporation Dynamically reconfigurable stochastic learning apparatus and methods
US9098811B2 (en) 2012-06-04 2015-08-04 Brain Corporation Spiking neuron network apparatus and methods
US20130151448A1 (en) 2011-12-07 2013-06-13 Filip Ponulak Apparatus and methods for implementing learning for analog and spiking signals in artificial neural networks
US9146546B2 (en) 2012-06-04 2015-09-29 Brain Corporation Systems and apparatus for implementing task-specific learning using spiking neurons
US8712939B2 (en) 2011-09-21 2014-04-29 Brain Corporation Tag-based apparatus and methods for neural networks
US9104186B2 (en) 2012-06-04 2015-08-11 Brain Corporation Stochastic apparatus and methods for implementing generalized learning rules
US9117176B2 (en) 2011-09-21 2015-08-25 Qualcomm Technologies Inc. Round-trip engineering apparatus and methods for neural networks
US10210452B2 (en) 2011-09-21 2019-02-19 Qualcomm Incorporated High level neuromorphic network description apparatus and methods
US20130325774A1 (en) 2012-06-04 2013-12-05 Brain Corporation Learning stochastic apparatus and methods
US9224090B2 (en) 2012-05-07 2015-12-29 Brain Corporation Sensory input processing apparatus in a spiking neural network
US20130297539A1 (en) 2012-05-07 2013-11-07 Filip Piekniewski Spiking neural network object recognition apparatus and methods
US9129221B2 (en) 2012-05-07 2015-09-08 Brain Corporation Spiking neural network feedback apparatus and methods
US9256215B2 (en) 2012-07-27 2016-02-09 Brain Corporation Apparatus and methods for generalized state-dependent learning in spiking neuron networks
US9256823B2 (en) 2012-07-27 2016-02-09 Qualcomm Technologies Inc. Apparatus and methods for efficient updates in spiking neuron network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253330A (en) * 1988-07-05 1993-10-12 Siemens Aktiengesellschaft Network architecture for the programmable emulation of artificial neural networks having digital operation
WO2008132066A1 (en) * 2007-04-27 2008-11-06 Siemens Aktiengesellschaft A method for computer-assisted learning of one or more neural networks
CN101868803A (zh) * 2007-09-21 2010-10-20 科德博克斯计算机服务有限责任公司 神经元网络结构和操作神经元网络结构的方法

Also Published As

Publication number Publication date
CN104662526A (zh) 2015-05-27
KR20150038334A (ko) 2015-04-08
US9256823B2 (en) 2016-02-09
IN2014MN02625A (zh) 2015-10-16
US20140032458A1 (en) 2014-01-30
KR101626444B1 (ko) 2016-06-01
WO2014018793A1 (en) 2014-01-30

Similar Documents

Publication Publication Date Title
CN104662526B (zh) 用于高效地更新尖峰神经元网络的装置和方法
Jaafra et al. Reinforcement learning for neural architecture search: A review
Wang et al. Financial time series prediction using elman recurrent random neural networks
Alaloul et al. Data processing using artificial neural networks
Pearlmutter Gradient calculations for dynamic recurrent neural networks: A survey
Chau Application of a PSO-based neural network in analysis of outcomes of construction claims
Graupe Principles of artificial neural networks
Werbos Generalization of backpropagation with application to a recurrent gas market model
Kang An investigation of the use of feedforward neural networks for forecasting
US20140032459A1 (en) Apparatus and methods for generalized state-dependent learning in spiking neuron networks
CN109697510A (zh) 具有神经网络的方法和装置
US20150120627A1 (en) Causal saliency time inference
US20150269485A1 (en) Cold neuron spike timing back-propagation
Bai et al. Prediction of SARS epidemic by BP neural networks with online prediction strategy
CN110222901A (zh) 一种基于深度学习的Bi-LSTM的电负荷预测方法
CN111754025A (zh) 基于cnn+gru的公交短时客流预测方法
Ranjan et al. A novel and efficient classifier using spiking neural network
Berradi et al. Effect of architecture in recurrent neural network applied on the prediction of stock price
CN114004383A (zh) 时间序列预测模型的训练方法、时间序列预测方法及装置
Highley et al. Load forecasting by ANN
CN110443347A (zh) 神经网络方法和装置
CN108470212A (zh) 一种能利用事件持续时间的高效lstm设计方法
Khaldi et al. A deep recurrent neural network framework for swarm motion speed prediction
CN112036546A (zh) 序列处理方法及相关设备
Maren Introduction to neural networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: O Xi Niyaweisiji

Inventor after: V Bo Luonike

Inventor after: E Yi Keweiqi

Inventor after: Levin Jeffrey A

Inventor before: O Xi Niyaweisiji

Inventor before: V Bo Luonike

Inventor before: E Yi Keweiqi

COR Change of bibliographic data
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170919

Address after: American California

Applicant after: Qualcomm Inc.

Address before: American California

Applicant before: High pass technology company

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171219

Termination date: 20180725