CN111149115A - 用于利用脉冲神经网络的相位差来改变突触权重的设备、系统和方法 - Google Patents
用于利用脉冲神经网络的相位差来改变突触权重的设备、系统和方法 Download PDFInfo
- Publication number
- CN111149115A CN111149115A CN201780095398.3A CN201780095398A CN111149115A CN 111149115 A CN111149115 A CN 111149115A CN 201780095398 A CN201780095398 A CN 201780095398A CN 111149115 A CN111149115 A CN 111149115A
- Authority
- CN
- China
- Prior art keywords
- pulse sequence
- neural network
- node
- value
- generated pulse
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了用于确定与脉冲神经网络的突触相关联的权重的值的技术和机制。在实施例中,第一脉冲序列和第二脉冲序列分别由脉冲神经网络的第一节点和第二节点输出,其中突触耦合于所述节点之间。权重被应用于经由突触传送的信令。权重的值基于第一值和第二值的乘积被更新,其中第一值基于第一脉冲序列的第一脉冲速率,并且第二值基于第二脉冲序列的第二脉冲速率。在另一实施例中,权重基于第一脉冲速率的导数和第二脉冲速率的导数的乘积被更新。
Description
背景技术
本文所描述的实施例总地涉及脉冲神经网络(spiking neural network),并且更具体地但非排他地涉及用于确定突触权重(synaptic weight)值的技术。
目前,多种方式被用于在计算系统中实现神经网络。此类神经网络(通常称为“人工神经网络”)的实施方式一般包括大量的高度互连处理元件,这些处理元件表现出与大脑类似的一些行为。此类处理元件可以用专用硬件、软件建模或两者的组合来实现。
脉冲神经网络(或“SNN”)正越来越多地被适配用于为各种应用提供新一代解决方案。SNN以各种方式依赖于信令技术,其中利用信号脉冲(signal spike)之间的基于时间的关系来传达信息。相比于典型的深度学习架构(诸如利用卷积神经网络(CNN)或回归神经网络(RNN)所提供的那些架构),SNN提供了通信的经济性,这进而允许实现功率效率的数量级改进。
神经网络被配置为实现“学习”的特征,该“学习”一般被用于调整处理元件之间的相应连接的权重,这些连接提供神经网络内的特定路径并且提供处理成果。用于实现神经网络中的学习的现有方式已涉及无监督学习(例如,用于从未分类训练数据推断可能解决方案的技术,诸如通过群集或异常检测)、有监督学习(例如,用于从经分类训练数据推断可能解决方案的技术)和加强学习(例如,用于基于最大化回报来识别可能解决方案的技术)的各种方面。然而,这些学习技术中的每一者实现起来都是复杂的,并且通常需要昂贵的监督或验证以确保神经网络中所引起的改变的准确性。
附图说明
本发明的各种实施例在附图的多个图中通过示例的方式而非通过限制的方式被示出,其中:
图1示出了分别图示根据实施例的简化神经网络的特征的图。
图2是图示根据实施例的在脉冲神经网络处用于确定突触权重的值的方法的元素的流程图。
图3A和图3B示出了以各种方式图示根据实施例的用于确定突触权重的值的信号和参数的相应值的时序图。
图4是图示根据实施例的用于利用脉冲神经网络提供图像识别功能的系统的元素的功能框图。
图5示出了图示根据实施例的用于确定突触权重的值的脉冲神经网络的状态转变的时序图。
图6是图示根据一个实施例的计算设备的功能框图。
图7是图示根据一个实施例的示例性计算机系统的功能框图。
具体实施例
本文所描述的实施例以各种方式提供用于更新或以其它方式确定脉冲神经网络的一个或多个突触权重的相应值的技术和机制。此类确定(例如,基于脉冲序列(spiketrain)的相应脉冲速率之间的关系)可辅助实现脉冲神经网络作为自动编码器的操作。脉冲神经网络可作用为“自动编码器”,其中基于不同基准图案的训练包括脉冲神经网络的一些或所有节点(或“神经元”),这些节点各自用所呈现图案的相应部分对其对应的相应字段进行编码。自动编码器在许多应用中提供关键功能,在这些应用中,由于带标记数据组是有限的或者缺乏的,无监督学习为可用的唯一选项。甚至在有监督学习的一些情况下,自动编码器可用于预训练过程以初始化突触权重。
传统上,各种类型的自动编码器的训练过程是耗时的或者是低效的。例如,一些常规类型的神经网络学习以各种方式应用突触时间依赖可塑性(STDP)规则。基于STDP的学习的一个缺点是:由于例如有许多处理周期(这些处理周期涉及网络学习和忘却(unlearning)),其往往极其缓慢地收敛。虽然此类周期往往非常浪费,但是在许多标准STDP方案中是不可避免的。通过执行突触权重值计算(这些计算至少部分地基于不同脉冲序列的相应脉冲速率,例如,基于此类脉冲速率的比率),一些实施例以各种方式允许实现经修改的基于STDP的学习,其在本文被称为基于波的STDP(WSTDP)。
各种实施例的某些特征在本文中参考用于识别图像类型的脉冲神经网络的训练进行描述。此类图像识别功能可实现对应的对象识别功能,其中用于识别基准图像的图像类型的训练包括用于识别该基准图像中所表示对象的对象类型的训练。然而,在一些实施例中,脉冲神经网络可被训练以额外地或另选地识别多种其它数据类型中的任一者(例如,包括不同图像类型和/或不同于任何图像类型的一种或多种数据类型)。例如,脉冲神经网络可以基于基准视频序列被训练,以识别特定视频序列类型(和/或基准视频序列中所表示动作的对应动作类型)。在其它实施例中,基于基准音频的训练可被适配用于辅助实现利用脉冲神经网络对特定音频类型的识别。
本文所描述的技术可在一个或多个电子设备中实现。电子设备(其可利用本文所描述的技术)的非限制性示例包括任何种类的移动设备和/或固定式设备,诸如相机、蜂窝电话、计算机终端、台式计算机、电子阅读器、传真机、信息亭、上网本计算机、笔记本计算机、互联网设备、支付终端、个人数字助理、媒体播放器和/或记录仪、服务器(例如,刀片服务器、机架式服务器,其组合,等等)、机顶盒、智能电话、平板个人计算机、超级移动个人计算机、有线电话,其组合,等等。此类设备可以是便携式的或固定式的。在一些实施例中,本文所描述的技术可用于台式计算机、膝上型计算机、智能电话、平板计算机、上网本计算机、笔记本计算机、个人数字助理、服务器,其组合等等中。更一般地,本文所描述的技术可用于多种电子设备中的任一者(包括硬件和/或执行软件)中以提供脉冲神经网络。
图1示出了脉冲神经网络100的示例图,提供第一组节点110(例如,神经元)和第二组节点130(例如,神经元)之间的连接120的图示。一些或所有的神经网络(诸如脉冲神经网络100)可被组织成多个层,例如,包括输入层和输出层。应当理解,脉冲神经网络100仅示出两个层和少量的节点,但其它形式的神经网络可包括大量各种方式配置的节点、层、连接、路径等。
提供至神经网络100的数据可首先由输入节点的突触进行处理。输入、节点的突触和节点自身之间的交互决定输出是否经由轴突(axon)提供至另一节点的突触。对突触、神经元、轴突等的建模可以用多种方式来实现。在一个示例中,神经形态硬件包括合成神经元(例如,神经核)中的个体处理元件和用于将输出传达至其它神经元的消息传送结构。关于特定节点是否“激发(fire)”以将数据提供至另一被连接节点的判定取决于该节点所应用的激活功能(activation function)和从节点i(例如,位于第一组节点110的层中)至节点j(例如,位于第二组节点130的层中)的突触连接的权重(例如,wij)。节点i所接收的输入被表示为值xi,并且从节点j产生的输出被表示为值yj。因此,在神经网络中所进行的处理基于经加权的连接、阈值和评估,该评估在神经元、突触和神经网络的其它元素之间执行。
在一个示例中,神经网络100由脉冲神经网络核的网络构建,其中神经网络核经由从核发送至核的短分组脉冲消息进行通信。例如,每个神经网络核可将一定数量的原始非线性时间计算元素实现为节点,使得当节点的激活超出某个阈值水平时,该节点生成脉冲消息,该脉冲消息被传播至目标核中所包括的固定的一组的扇出节点。网络可将脉冲消息分发至所有目标节点,并且作为响应,这些节点以瞬时时间依赖的方式更新其激活。
神经网络100还示出在第一组节点中的节点i(例如,第一组节点110中的节点)处接收到脉冲(以值xi表示)。神经网络100的输出也被示为脉冲(由值yj表示),该脉冲经由连接120所构建的路径到达第二组节点中的节点j(例如,第一组节点110中的节点)。在脉冲神经网络中,所有通信通过事件驱动动作电位或脉冲而发生。在一个示例中,脉冲不传输除脉冲时间以及源节点和目标节点对以外的信息。作为利用实数值状态变量对加权脉冲输入的动态非线性整合的结果,可以在每个相应节点中以各种方式进行计算。由或针对特定节点生成的脉冲的时间序列可被称为该节点的“脉冲序列”。
在脉冲神经网络的一个示例中,激活功能经由脉冲序列而发生,这意味着时间是必须考虑的因素。另外,在脉冲神经网络中,每个节点可提供与生物节点类似的功能,因为人工节点经由到一个或多个“树突(dendrites)”(生物节点的物理结构的一部分)的突触连接接收其输入,并且这些输入影响人工神经元“体细胞”(细胞体)的内部膜电位。在脉冲神经网络中,当其膜电位跨过激发阈值时,人工神经元“激发(fire)”(例如,产生输出脉冲)。因此,脉冲神经网络节点上的输入的效果是增加或减小其内部膜电位,从而使节点更大或更小可能去激发。另外,在脉冲神经网络中,输入连接可以是激励的或抑制的。节点的膜电位还可能受节点自身的内部状态(“渗漏”)的变化的影响。
图1还示出脉冲神经网络中的示例推断路径140,诸如可通过神经网络100的形式或其它形式的神经网络来实现。节点的推断路径140包括突触前节点(pre-synaptic node)142,突触前节点142被配置为产生表示脉冲输入的突触前脉冲序列xi。脉冲序列是离散脉冲事件的时间序列,该时间序列提供一组时间,指定节点在什么时间激发。
如所示,脉冲序列xi由突触之前的节点(例如,节点142)产生,并且脉冲序列xi根据突触144的特性被评估以用于处理。例如,突触可应用一个或多个权重,例如,权重wjj,这些权重用于评估来自脉冲序列xi的数据。来自脉冲序列xi的输入脉冲进入突触,诸如具有权重jj的突触144。该权重缩放突触前脉冲对于突触后节点(例如,节点146)的影响。如果所有输入连接对于突触后节点的整体贡献超出阈值,那么突触后节点146将激发并产生脉冲。如所示,yj是由突触之后的节点(例如,节点146)响应于一些数量的输入连接所产生的突触后脉冲序列。如所示,突触后脉冲序列yj从节点146被分发至一个或多个其它突触后节点。
一些实施例以各种方式包括或以其它方式辅助处理,突触权重的值(例如,权重wij的值)由此可以随着一信号(该信号由一个节点生成)和另一信号(该另一信号由不同节点生成)的相应相位变化之间的关联性(如果有的话)而改变。权重可应用于突触(该突触被耦合在这两个节点之间),并且在一些实施例中,权重可以部分地基于经由该突触通信的脉冲序列。例如,突触权重的值的变化可取决于突触前脉冲序列和突触后脉冲序列(其中,在该上下文中,“前”和“后”是针对同一突触而言的)的相应时序。在突触后脉冲在突触前脉冲之后的情况下,该先前再后信号脉冲对的紧密时间接近性可指示因果关系,该因果关系在一些实施例中将有助于(contribute to)突触权重的值增加。相比之下,在突触后脉冲先于突触前脉冲的情况下,该先后再前信号脉冲对的紧密时间接近性可指示非因果(或反因果)关系,并且因此可能有助于突触权重值被减小。
一些实施例基于突触前节点和突触后节点同时增加(或同时减小)其相应脉冲速率而以各种方式提供增加的突触权重。在一些实施例中,突触权重还可能基于此类突触前节点和突触后节点彼此同相位发生脉冲的量。一些实施例以各种方式提供用于更新或以其它方式确定突触权重的值的有效技术和/或机制,例如,其中,基于脉冲神经网络的节点发生脉冲的变化速率来确定要应用于突触权重的改变。
例如,再次参考图1,节点142可经由突触144或在一些实施例中经由脉冲神经网络100的另一节点而输出脉冲序列Ii。与脉冲序列Ii同时,节点146将另一脉冲序列Ij输出至脉冲神经网络100的一个或多个其它节点。在这样的实施例中,脉冲序列Ii可表现出脉冲的速率(或“脉冲速率”)ri,例如,用赫兹(Hz)或表示每单位时间的信号脉冲的数量的各种其它单位中的任一单位指示。脉冲速率ri可表示节点142处的膜电位的信号脉冲的计数,该计数是沿着时间移动的固定尺寸的时间窗口内的计数。类似地,脉冲序列Ij可表现出脉冲速率rj,例如,其中脉冲速率rj表示节点146处的膜电位的信号脉冲的另一计数(该计数也是沿着时间移动的某个固定尺寸的时间窗口内的计数)。在脉冲神经网络100的操作期间的所给定时间,速率ri、rj可以各种方式不改变、增加或减小。
一些实施例允许分配给突触144的权重wij随着脉冲序列Ii、Ij之间的相位差值Δφij而改变,其中φi为脉冲序列Ii的相位,φj为脉冲序列Ij的相位,并且相位差值Δφij等于差值(φj–φi)。在一些实施例中,权重Wij的改变值可与改变的相位差值Δφij(其中0≤φi,φj≤2π)一致或者以其它方式对应于改变的相位差值Δφij。
改变权重Wij可包括确定作为脉冲速率ri、rj的函数的将被应用于Wij的改变Δwij。脉冲速率ri、rj的此类函数可用作wij随着相位差值Δφij的变化的类似物。例如,Δwij可至少部分地基于第一值和第二值的乘积而被计算,其中第一值和第二值分别基于速率ri的导数dri/dt和速率rj的导数drj/dt。
通过图示和非限制的方式,Δwij的值可以通过下述公式来得出:
其中A0为缩放参数。在其中A0为正数的实施例中,wij的值可响应于速率ri、rj均同时增加或同时减小而被增加。wij的增加将考虑到脉冲序列Ii、Ij保持彼此同相位,任何相位差值Δφij保持恒定,或dri/dt和drj/dt中的一者减小对Δφij的改变(该改变否则将源自dri/dt和drj/dt中的另一者)。另选地或附加地,wij的值可响应于速率ri、rj中一者或两者增加同时速率ri、rj中的另一者减小而减小。在一些实施例中,Δwij在dri/dt和drj/dt中的至少一者不变时被设定为零(“0”)。
更新权重wij可基于在时间段t期间所获取的Δwij的样本Δwij(t)。时间段t可以是例如均具有相同持续时间的时间段序列中的一个时间段。该序列可包括下一时间段(t+1),该下一时间段刚好接着时间段t。样本Δwij(t)进而可基于dri/dt和dri/dt的相应样本,这些样本各自在时间段t期间被获取,例如,其中Δwij(t)根据以下公式被确定:
在一个此类实施例中,对应于时间段t的权重值wij(t)可被更新为下一时间段(t+1)的权重值wij(t+1),例如,通过增加变化值Δwij(t),该变化值Δwij(t)已在时间段t期间被取样或者对于时间段t以其它方式被计算。权重值的此类更新可根据以下公式:
wij(t+1)=wij(t)+Δwij(t) (3)
然而,多个实施例可提供多种其它权重更新计算中的任一种,这些权重更新计算一般具有以下形式:
虽然一些实施例在这方面未受限制,但是脉冲神经网络100的节点可以是泄漏整合-激发(LIF)类型的经修改版本,例如,其中,基于在给定节点j处所接收的一个或多个脉冲信号,节点j的膜电位vm的值可能是脉冲并且然后随着时间而衰减。此类膜电位vm的脉冲和衰减行为可例如根据下述公式:
其中vrest是膜电位vm将向其稳定的静息电位(resting potential),τm是膜电位vm的指数衰减的时间常数,wij是从另一节点i至节点j的突触的突触权重,Iij是经由所述突触传送至节点j的脉冲信号(或“脉冲序列”),并且Jb是例如基于从一些外部节点/源提供至节点j的偏置电流或其它信号的值。脉冲神经网络可基于预先定义的阈值电压Vthreshold来操作,其中节点j被配置为响应于其膜电位vm大于Vthreshold而输出信号脉冲。此外或另选地,更新权重wij的权重wij计算的值还可以基于衰减分量,例如,其中时间段(t+1)的wij(t+1)根据以下公式来确定:
其中τg是权重wij的的衰减的时间常数。
图2示出了根据实施例的用于利用脉冲神经网络确定突触权重的值的方法200的特征。方法200可被(例如利用神经网络100)执行,以训练脉冲神经网络来识别基准图像中所表示的数据类型,诸如图像类型。方法200是过程的一个示例,突触权重值由此将随着脉冲序列之间的相位差值而改变,这些脉冲序列分别由两个节点中的不同的相应节点来提供。突触权重值可被应用于耦合在两个节点之间的突触。
如图2所示,方法200可以包括(在210处)从脉冲神经网络的第一节点传送第一所生成脉冲序列。该第一所生成脉冲序列可以基于被提供给第一节点的第一所接收脉冲序列中的一个或多个信号脉冲,其中第一所生成脉冲序列表现出第一脉冲速率。在一个示例实施例中,第一所接收脉冲序列基于另一脉冲序列(称为“输入脉冲序列”),该另一脉冲序列例如通过外部编码器电路系统或其它此类逻辑被传送至脉冲神经网络。输入脉冲序列可表示(单独地或与一个或多个其它输入脉冲序列组合地)图像的至少一些像素的经编码版本。通过图示但非限制的方式,输入脉冲序列可包括周期性分量,该周期性分量对于至少某个时间段而言具有恒定的信号脉冲速率和时变的幅值。在此类实施例中,一个像素的强度值可由周期性分量的最大幅值来表示。
方法200还可包括(在220处)从脉冲神经网络的第二节点传送第二所生成脉冲序列,其中第二所生成脉冲序列基于被提供给第二节点的第二所接收脉冲序列中的一个或多个信号脉冲。第二所生成脉冲序列可表现出第二脉冲速率,其中突触直接地耦合至第一节点和第二节点中的每一者。例如,第二所生成脉冲序列可基于第一所生成脉冲序列而在第二节点处被确定,例如,其中,第一节点将第一所生成脉冲序列经由突触发送至第二节点。另选地,第一所生成脉冲序列和第二所生成脉冲序列可分别经由不依赖于突触的相应的路径被传送。在一些实施例中,第一所生成脉冲序列和所述第二所生成脉冲序列分别基于不同的相应脉冲序列来确定。
在一些实施例中,方法200还包括(在230处)将突触权重的第一值应用于经由突触传送的至少一个信号脉冲,该突触直接地耦合至第一节点和第二节点中的每一者。230处的应用可在第一节点和第二节点中的一者处执行,例如,响应于在第二节点处接收到第一所生成脉冲序列而在第二节点处执行。
方法200还可包括(在240处)确定突触权重的第二值,包括用信号通知将应用于突触权重的第一值的改变。该改变可基于第一值和第二值的乘积而在240处确定,其中第一值和第二值分别基于第一脉冲速率和第二脉冲速率。在一些实施例中,240处的确定可由第一节点和第二节点中执行230处的应用的同一节点来执行。为了识别数据类型而对脉冲神经网络的训练可以基于被应用于突触权重的第一值的改变。
在实施例中,在240处所确定的改变基于第一脉冲速率的第一导数和第二脉冲速率的第二导数的乘积。第一导数和第二导数可各自包括一阶导数(例如,相对于时间)和二阶导数中的相应一者。例如,在第一脉冲速率和第二脉冲速率中的一者是速率r的情况下,第一导数和第二导数中的对应一者可以是速率r相对于时间t的一阶导数dr/dt,或速率r相对于时间t的二阶导数d2r/dt2。
在一些实施例中,方法200附加地或另选地包括一个或多个其它操作(未示出),这些操作分别在不同的相应时间段期间提供脉冲神经网络的各种配置。此类配置中的多个配置可分别允许脉冲神经网络的节点的不同的相应子集来执行相应的突触权重确定过程,例如,其中,其它节点均被阻止以类似方式执行相应的突触权重确定过程。对于此类配置中的给定的一个配置,可允许节点的相应子集中的每个节点执行根据操作230、240的突触权重更新。
例如,方法200的附加或另选操作(未示出)可包括在第一时间段期间选择脉冲神经网络的节点的第一子集来训练脉冲神经网络,以确定对相应突触的权重的更新。在此类实施例中,一个或多个其它操作还可包括在第二时间段期间选择脉冲神经网络的节点的第二子集(不同于第一子集)来训练脉冲神经网络,以确定对相应突触的权重的其它更新。通过随着时间推移相继地实现脉冲神经网络的不同配置,一些实施例以各种方式限制脉冲神经网络训练的可能性,该脉冲神经网络训练随后必须被忘却。
图3A和图3B示出了时序图300、310、320、330,这些时序图分别相对于时间轴线301图示根据实施例的利用脉冲神经网络传送的相应信号。诸如时序图300、310、320、330所示的信令可以由神经网络100来提供,例如,其中方法200的操作包括此类信令或者以其它方式得到此类信令。
时序图300示出由脉冲神经网络的第一节点所生成的脉冲序列Ix302。时序图310示出由脉冲神经网络的第二节点所生成的脉冲序列Iy312,其中突触耦合于第一节点和第二节点之间(并且直接地耦合至第一节点和第二节点中的每一者)。尽管脉冲序列Ix 302、Iy 312的值分别相对于电压v(例如,其中v等于100mV)的倍数而示出,但是一些实施例不限于脉冲序列Ix 302,Iy 312中的一者或任一者的特定脉冲幅值。时序图320在频率轴线322上示出脉冲序列Ix 302的第一脉冲速率的曲线图324和脉冲序列Iy 312的第二脉冲速率的另一曲线图326。尽管脉冲序列Ix 302、Iy 312的值分别相对于频率h(例如,其中h等于4MHz)的倍数而示出,但是一些实施例不限于脉冲序列Ix 302、Iy 312中的一者或任一者的特定脉冲频率范围。时序图300示出了可被应用于突触的权重w的改变Δw 332的时间相关值,所述突触耦合至生成相应的脉冲序列Ix 302、Iy 312的节点中的每个节点。此类突触可传送脉冲序列Ix 302、Iy 312中的一者,但是一些实施例在这方面不受限制。
脉冲序列Ix 302、Iy 312的相应脉冲速率可在不同时间(例如,在所示的从时间t0至时间t8的时段期间)以各种方式减小、增加或不变。在由时序图300、310、320、330以各种方式所示的示例情形中,脉冲序列Ix 302、Iy 312的相应脉冲速率各自在时间段[t0–t1]期间以及在时间段[t7–t8]期间为一定程度稳定的(即,即使有斜率,也是非常小的斜率)。脉冲序列Iy 312的脉冲速率在时间段[t2–t3]期间也是稳定的,其中脉冲序列Ix 302的脉冲速率在时间段[t2–t3]和[t3–t4]期间是稳定的。脉冲序列Ix 302、Iy 312的相应脉冲速率还在时间段[t5–t6]期间同时增加,在时间段[t6–t7]期间同时减小,并且在时间段[t1–t2]期间以相反符号的斜率改变。
如通过时序图330中的曲线图334所示,Δw 332的值可随着时间与曲线图324、326的相应斜率的乘积相关地改变。尽管改变Δw 332的值相对于某个标量值W的倍数而被示出,但是此类标量值的意义可完全地取决于实施方式的具体细节,包括例如,所使用的突触权重标度、生成脉冲序列Ix 302、Iy 312的特定节点、由脉冲序列Ix 302、Iy 312表示的信息,以及对特定突触将具有的变化的敏感性。
在所示的示例性情形中,在曲线图324、326中的至少一者具有零斜率的时间段期间(即,在脉冲序列Ix 302、Iy 312中的至少一者具有稳定脉冲速率的时间段期间),曲线图334等于或近乎为零(“0”)。在曲线图324、326均增加或均减小的时间段期间,曲线图334可具有正值,该正值与此类同时增加(或同时减小)的速率的乘积成比例。在曲线图324、326以相反符号的斜率改变的时间段期间,曲线图334可具有负值,该负值与此类同时增加(或同时减小)的速率的乘积成比例。时序图330还示出获取曲线图334的相应样本336的时间的一个示例,例如,其中在对应时间t处的每个样本336用于确定改变序列中的相应改变Δw(t),该相应改变Δw(t)被相继地应用于突触权重。
图4示出了根据实施例的用于利用脉冲神经网络来评估图像信息的系统的特征。在实施例中,系统400是应用的一个示例,其中脉冲神经网络的突触权重值分别基于两个对应脉冲序列的相应脉冲速率而被更新。此类突触权重的更新可以根据方法200,例如,其中系统400包括脉冲神经网络100的特征。
如图4所示,系统400的脉冲神经网络可以包括第一组节点410和与第一组节点耦合的第二组节点420。在一个示例实施例中,第一组节点410和第二组节点420分别包括n个节点和m个节点(其中n和m为正整数)。将第一组节点410耦合至第二组节点的突触可提供维数(n x m)的连接矩阵,例如,其中第一组节点410的n个节点中的每一者经由矩阵F的不同相应突触而耦合至第二组节点420的m个节点中的每一者。另选地或附加地,第二组节点420可包括具有维数(m x m)的连接矩阵W,第二组节点420中的每一者由此被耦合至第二组节点420的每个其它节点。然而,在不同实施例中,可使用各种其它脉冲神经网络拓扑中的任一者来实现基于脉冲序列的相应脉冲速率对突触权重的更新。
第一组节点410可用作传入节点,这些传入节点以各种方式接收输入信号(诸如所示的例示性信号I1,I2,......In),这些输入信号表示用于训练脉冲神经网络的信息。第一组节点410中的节点可对信号I1,I2,.....In中的相应信号进行编码,并且以各种方式将对应的脉冲序列提供至第二组节点420。来自第一组节点410的脉冲序列可导致分别在第二组节点420中的相应节点之间的各种其它脉冲序列的传送。继而,此类传送可导致对第二组节点420的训练,例如,其中第二组节点420的突触权重如本文所描述地以各种方式进行更新。训练可通过由第一组节点410提供的编码方案来辅助实现,该编码方案促使或以其它方式允许实现对在第二组节点420处被传送的至少一些脉冲序列之间的脉冲频率关系和/或相位关系(例如,包括相位变化关系)的检测。
例如,编码方案可产生第二组节点420的脉冲序列,第二组节点420具有类似或以其它方式相关的脉冲频率。因此,出于更新突触权重的目的,此类脉冲速率频率的变化可用作用于检测脉冲序列之间的任何因果关系是否可以被指示或者可以怎样被指示的基础。不同于得到随机或以其它方式不规则波动的脉冲速率,编码方案可得到分别表现出更谐振(周期性)特性的脉冲序列。此类脉冲序列的相位相对于另外的脉冲序列可反映突触权重是否可以被更新或者可以怎样被更新。
信号I1,I2,......In可表示多种类型的信息中的任一者,脉冲神经网络将针对该信息被训练,例如,其中信号I1,I2,......In表示静态图像、音频剪辑、视频序列、或脉冲神经网络正在被训练以识别的其它信息。在一个示例实施例中,信号I1,I2,......In用于以各种方式表示静态图像(例如,包括符号、形状、面部等),其中脉冲神经网络将被训练以识别所述图像。通过图示但非限制的方式,信号I1,I2,......In可各自对应于不同的相应图像(或一图像的不同的相应行)。在此类实施例中,信号I1,I2,......In中的给定信号Ix可向第一组节点410中的对应节点Nx传送像素序列的像素值,像素序列包括例如图像的给定行中的像素。继而,节点Nx可向第二组节点420中的一个或多个节点输出表示像素序列的脉冲序列。
在一个示例实施例中,由第一组节点410提供的编码方案可表示像素的相应强度值,这些像素各自具有振荡信号的对应幅值。例如,第一组节点410中的给定节点Nx可生成偏置电流Jb或基于偏置电流Jb进行操作,偏置电流Jb根据下述公式在给定时间表示图像像素p的强度:
Jb=Ap sin(ω1t+φ1)+b1, (7)
其中t为时间,b1为固定正偏置值,ω1和φ1(分别)为电流Jb的频率和相位,并且Ap为像素p的强度。频率ω的值可辅助实现信号处理,节点通过该信号处理将整合在多个时间段上的所接收的刺激,这些时间段例如均等于接收Jb的节点的膜时间常数(τm)。另选地或附加地,一组节点420中的一些或所有节点可以分别被提供相应的振荡偏置信号,例如,其中节点q得到偏置信号Jq,表示为:
Jq=J0sin(ωqt+ψq), (8)
其中t为时间,并且其中J0、ωq和ψq(分别)是偏置信号Jq的幅值、频率和相位。例如,至少初始地,ψq可从范围[0,2π]中被随机地选择。另选地或附加地,ωq可与第一组节点410所用的频率(例如,ω1)相同。
通过利用表现出谐振信号脉冲特性的脉冲序列来表示图像数据或其它训练信息,一些实施例以各种方式允许将脉冲频率信息用作用于检测一个节点的信号脉冲和另一节点的信号脉冲之间的因果关系的基础。在不同实施例中,各种编码方案和/或偏置方案(除了本文所描述的那些之外)中的任一者可用于允许在脉冲神经网络处基于脉冲速率来更新突触权重。
系统400的脉冲神经网络可基于信号I1,I2,......In进行训练以生成特定类型的输出信令,该输出信令已被预分配为对应于(例如,以指示)特定类型的图像(“图像类型”)。例如,信号I1,I2,......In可表示基准图像,这些基准图像分别为脉冲神经网络将被训练以识别的多种图像类型中的相应的图像类型的图像。另选地或附加地,信号I1,I2,......In可向已训练的脉冲神经网络表示一个或多个测试图像(例如,现实世界图像),这些测试图像被进行脉冲神经网络的图像识别处理。基于此类处理,脉冲神经网络可传送一个或多个输出脉冲序列(例如,经由所示的例示性突触430),这些输出脉冲序列指示所给出的测试图像是否表示脉冲神经网络被训练以识别的一些图像类型的情况。
通过图示但非限制的方式,系统400还可包括或可耦合至硬件和/或执行软件(诸如所示的例示性选择器逻辑440),该硬件和/或执行软件经由突触430接收所述一个或多个输出脉冲序列。选择器逻辑440可包括各种处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和/或其它电路系统的任一者,该电路系统被配置为将图像类型标识为对应于所述一个或多个输出脉冲序列,例如,其中此类标识包括从脉冲神经网络被训练以识别的多个图像类型中选择一种图像类型。在所示的示例实施例中,选择器逻辑440可包括或可耦合至基准数据442,基准数据442将一个或多个基准信号特性标识为指示所给出的图像类型。选择器逻辑440可以基于此类一个或多个基准特性来评估所述一个或多个输出脉冲序列,以确定特定图像类型是否是由所述一个或多个输出脉冲序列指示的。选择器逻辑440可输出表示此类确定的结果的信号444。
图5示出了图示根据实施例的用于确定脉冲神经网络的突触权重值的配置序列的时序图500。例如,时序图500图示了可以利用脉冲神经网络100或系统400执行的序列。
如时序图500所示,脉冲神经网络的不同配置的序列可包括所示的例示性配置510、520、530。此类配置510、520、530中的多个配置可各自允许脉冲神经网络的节点的不同的相应组合来执行相应的突触权重确定过程,例如,其中,其它节点分别被阻止以类似的方式执行相应的突触权重确定过程。一些组合可分别包括被允许执行突触权重确定过程的同一节点。
如图例540中所示,“被包括节点”符号表示突触权重更新当前被允许的节点,并且“被排除节点”符号表示突触权重更新当前被禁用的节点。在一个示例情形中,所示出的脉冲神经网络的配置510(在时间501的时段T1期间的配置)包括突触权重更新被允许用于节点512中的每一者。在时间501的下一时段T2期间,脉冲神经网络的不同配置520可包括其它节点522被允许进行突触权重更新。随后,在时段T3期间,脉冲神经网络的下一配置530可包括另一组合的节点532被允许进行突触权重更新。
通过随着时间相继地实现脉冲神经网络的不同配置510、520、530,一些实施例以各种方式限制脉冲神经网络训练的可能性,该脉冲神经网络训练随后必须被忘却。在一些实施例中,将节点的不同组合选择性地配置为参与(或被排除)突触权重更新过程减小了网络训练过程的不同阶段之间的信号干扰的可能性。否则,在图像识别过程的给定阶段(该阶段针对于特定图像或该图像的至少一个或多个特定像素)期间的信令可能例如不当地受其它信令的影响,该其它信令是神经网络训练的时间上更早的阶段的结果(例如,针对于不同图像或同一图像的一个或多个不同的像素)。
图6图示根据一个实施例的计算设备600。计算设备600容纳板602。板602可包括多个组件,包括但不限于处理器604和至少一个通信芯片606。处理器604物理地和电气地耦合至板602。在一些实施方式中,至少一个通信芯片606也物理地和电气地耦合至板602。在其它实施方式中,通信芯片606为处理器604的一部分。
根据其应用,计算设备600可包括其它组件,这些组件可以或不可以物理地和电气地耦合至板602。这些其它组件包括但不限于易失性存储器(例如,DRAM)、非易失性存储器(例如,ROM)、闪存存储器、图形处理器、数字信号处理器、密码处理器、芯片组、天线、显示器、触屏显示器、触屏控制器、电池、音频编解码器、视频编解码器、功率放大器、全球定位系统(GPS)设备、罗盘、加速度计、陀螺仪、扬声器、相机,和大容量存储设备(诸如硬盘驱动器、压缩盘(CD)、数字多功能盘(DVD),等等)。
通信芯片606允许实现向和从计算设备600传输数据的无线通信。术语“无线”和其派生词可用于描述电路、设备、系统、方法、技术、通信信道等,它们通过利用经调制的电磁辐射可将数据传输通过非固态介质。尽管该术语并不意味着相关联设备不包括任何线材,但是在一些实施例中,它们可不包括线材。通信芯片606可实现多种无线标准或协议中的任一者,包括但不限于Wi-Fi(IEEE 802.11家族)、WiMAX(IEEE 802.16家族)、IEEE 802.20、长期演进技术(LTE)、Ev-DO、HSPA+、HSDPA+、HSUPA+、EDGE、GSM、GPRS、CDMA、TDMA、DECT、蓝牙,其派生者,以及任何其它无线协议(命名为3G、4G、5G和超过5G的)。计算设备600可包括多个通信芯片606。例如,第一通信芯片606可专用于较短范围无线通信,诸如Wi-Fi和蓝牙,并且第二通信芯片606可专用于较长范围无线通信,诸如GPS、EDGE、GPRS、CDMA、WiMAX、LTE、Ev-DO等。
计算设备600的处理器604包括封装于处理器604内的集成电路晶片。术语“处理器”可指代任何设备或设备的部分,该设备或设备的部分处理来自寄存器和/或存储器的电子数据以将该电子数据转换成可存储于寄存器和/或存储器中的其它电子数据。通信芯片606还包括封装于通信芯片606内的集成电路晶片。
在各种实施方式中,计算设备600可为膝上型电脑、上网本、笔记本、超极本、智能电话、平板设备、个人数字助理(PDA)、超级移动PC、移动电话、台式计算机、服务器、打印机、扫描仪、监测器、机顶盒、娱乐控制单元、数字相机、便携式音乐播放器,或数字视频记录仪。在其它实施方式中,计算设备600可以是处理数据的任何其它电子设备。
一些实施例可被提供为计算机程序产品或软件,该计算机程序产品或软件可包括其上存储有指令的机器可读介质,这些指令可用于对计算机系统(或其它电子设备)进行编程以执行根据实施例的过程。机器可读介质包括用于存储或传送机器(例如,计算机)可读形式的信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光学存储介质、闪存存储器设备,等等)、机器(例如,计算机)可读传输介质(电气、光学、声学或其它形式的传播信号(例如,红外信号、数字信号等)),等等。
图7示出了计算机系统700的示例性形式的机器的示图表示,在该机器内可执行一组指令以用于使机器执行本文所描述方法中的任一者或多者。在另选实施例中,该机器可在局域网(LAN)、内联网、外联网或互联网中连接(例如,网络连接)至其它机器。该机器可以在客户端-服务器网络环境中以服务器或客户端机器的性能进行操作,或可以在对等(或分布式)网络环境中作为对等机器进行操作。该机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥接器,或能够执行一组指令(序列或其它方式)的任何机器,该组指令指定由该机器采取的动作。另外,虽然仅示出单个机器,但是术语“机器”应解释为包括机器(例如,计算机)的任何集合,这些机器单个地或共同地执行一组(或多组)指令以执行本文所述方法中的任一者或多者。
示例性计算机系统700包括处理器702、主存储器704(例如,只读存储器(ROM)、闪存存储器、动态随机存取存储器(DRAM),诸如同步DRAM(SDRAM)或内存条DRAM(RDRAM)等)、静态存储器706(例如,闪存存储器、静态随机存取存储器(SRAM)等)、和辅助存储器718(例如,数据存储设备),它们经由总线730彼此通信。
处理器702表示一个或多个通用处理设备,诸如微处理器、中央处理单元等。更特别地,处理器702可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其它指令集的处理器,或实现指令集的组合的处理器。处理器702还可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等等。处理器702被配置为执行处理逻辑726以用于执行本文所描述的操作。
计算机系统700还可包括网络接口设备708。计算机系统700还可包括视频显示单元710(例如,液晶显示器(LCD)、发光二极管显示器(LED),或阴极射线管(CRT))、数字字母输入设备712(例如,键盘)、光标控制设备714(例如,鼠标)、和信号生成设备716(例如,扬声器)。
辅助存储器718可包括其上存储有一组或多组指令(例如,软件722)的机器可访问存储介质(或更具体地,计算机可读存储介质)732,该一组或多组指令体现本文所描述的方法或功能的任一者或多者。软件722还可在其由计算机系统700执行期间完全地或至少部分地驻留于主存储器704内和/或处理器702内,主存储器704和处理器702也构成机器可读存储介质。软件722还可经由网络接口设备708在网络720上进行传送或接收。
虽然机器可访问存储介质732在一个示例性实施例中被显示为单个介质,但是术语“机器可读存储介质”应解释为包括单个介质或多个介质(例如,集中式或分布式数据库,和/或相关缓存和服务器),该单个介质或多个介质存储一组或多组的指令。术语“机器可读存储介质”也应解释为包括能够存储或编码一组指令的任何介质,该组指令由机器执行并且使得机器执行一个或多个实施例中的任一者。术语“机器可读存储介质”应当相应地解释为包括但不限于固态存储器,以及光学和磁性介质。
示例1为一种用于训练脉冲神经网络以识别数据类型的计算机设备,所述计算机设备包括电路系统以从脉冲神经网络的第一节点传送第一所生成脉冲序列,所述第一所生成脉冲序列基于被提供至所述第一节点的第一所接收脉冲序列中的一个或多个信号脉冲,其中所述第一所生成脉冲序列表现出第一脉冲速率,并且从所述脉冲神经网络的第二节点传送第二所生成脉冲序列,所述第二所生成脉冲序列基于被提供至所述第二节点的第二所接收脉冲序列中的一个或多个信号脉冲,其中所述第二所生成脉冲序列表现出第二脉冲速率,并且其中突触直接地耦合至所述第一节点和所述第二节点的每一者。电路系统还将突触权重的第一值应用于经由突触传送的至少一个信号脉冲,并且确定所述突触权重的第二值,包括电路系统以用信号通知要应用于所述突触权重的所述第一值的改变,所述改变基于第一值和第二值的乘积,所述第一值基于所述第一脉冲速率,所述第二值基于所述第二脉冲速率,其中所述脉冲神经网络的训练基于正被应用于所述第一值的所述改变。
在示例2中,示例1的主题可选地包括,其中所述改变基于所述第一脉冲速率的第一导数和所述第二脉冲速率的第二导数的乘积。
在示例3中,示例1至2中任一项或多项所述的主题可选地包括,其中所述第一导数和所述第二导数各自包括一阶导数和二阶导数中的相应的一者。
在示例4中,示例1至3中任一项或多项所述的主题可选地包括,其中所述第一节点用于经由所述突触将所述第一所生成脉冲序列发送至所述第二节点。
在示例5中,示例1至4中任一项或多项所述的主题可选地包括,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列将各自经由不依赖于所述突触的相应的路径被传送。
在示例6中,示例1至5中任一项或多项所述的主题可选地包括,其中所述第二所生成脉冲序列将基于所述第一所生成脉冲序列而被确定。
在示例7中,示例1至6中任一项或多项所述的主题可选地包括,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列将各自基于不同的相应脉冲序列而被确定。
在示例8中,示例1至7中任一项或多项所述的主题可选地包括计算机设备,所述计算机设备还包括电路系统以在第一时间段期间选择所述脉冲神经网络的节点的第一子集来训练所述脉冲神经网络以确定对相应突触的权重的更新。
在示例9中,示例8的主题可选地包括所述计算机设备,所述计算机设备还包括电路系统以在第二时间段期间选择所述脉冲神经网络的节点的第二子集来训练所述脉冲神经网络以确定对相应突触的权重的更新。
示例10为包括指令的至少一种机器可读介质,所述指令当由机器执行时使得所述机器执行操作以用于训练脉冲神经网络来识别数据类型,所述操作包括从脉冲神经网络的第一节点传送第一所生成脉冲序列,所述第一所生成脉冲序列基于被提供至所述第一节点的第一所接收脉冲序列中的一个或多个信号脉冲,其中所述第一所生成脉冲序列表现出第一脉冲速率,并且从所述脉冲神经网络的第二节点传送第二所生成脉冲序列,所述第二所生成脉冲序列基于被提供至所述第二节点的第二所接收脉冲序列中的一个或多个信号脉冲,其中所述第二所生成脉冲序列表现出第二脉冲速率,并且其中突触直接地耦合至所述第一节点和所述第二节点的每一者。所述操作还包括将突触权重的第一值应用于经由所述突触传送的至少一个信号脉冲,和确定所述突触权重的第二值,包括用信号通知要应用于所述突触权重的所述第一值的改变,所述改变基于第一值和第二值的乘积,所述第一值基于所述第一脉冲速率,所述第二值基于所述第二脉冲速率,其中所述脉冲神经网络的训练基于正被应用于所述第一值的所述改变。
在示例11中,示例10的主题可选地包括,其中所述改变基于所述第一脉冲速率的第一导数和所述第二脉冲速率的第二导数的乘积。
在示例12中,示例10至11中任一项或多项所述的主题可选地包括,其中所述第一导数和所述第二导数各自包括一阶导数和二阶导数中的相应的一者。
在示例13中,示例10至12中任一项或多项所述的主题可选地包括,其中所述第一节点经由所述突触将所述第一所生成脉冲序列发送至所述第二节点。
在示例14中,示例10至13中任一项或多项所述的主题可选地包括,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列各自经由不依赖于所述突触的相应的路径被传送。
在示例15中,示例10至14中任一项或多项所述的主题可选地包括,其中所述第二所生成脉冲序列基于所述第一所生成脉冲序列而被确定。
在示例16中,示例10至15中任一项或多项所述的主题可选地包括,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列各自基于不同的相应脉冲序列而被确定。
在示例17中,示例10至16中任一项或多项的主题可选地包括所述操作,所述操作还包括在第一时间段期间选择所述脉冲神经网络的节点的第一子集来训练所述脉冲神经网络以确定对相应突触的权重的更新。
在示例18中,示例17的主题可选地包括所述操作,所述操作还包括在第二时间段期间选择所述脉冲神经网络的节点的第二子集来训练所述脉冲神经网络以确定对相应突触的权重的更新。
示例19是一种用于训练脉冲神经网络以识别数据类型的方法,所述方法包括从脉冲神经网络的第一节点传送第一所生成脉冲序列,所述第一所生成脉冲序列基于被提供至所述第一节点的第一所接收脉冲序列中的一个或多个信号脉冲,其中所述第一所生成脉冲序列表现出第一脉冲速率,从所述脉冲神经网络的第二节点传送第二所生成脉冲序列,所述第二所生成脉冲序列基于被提供至所述第二节点的第二所接收脉冲序列中的一个或多个信号脉冲,其中所述第二所生成脉冲序列表现出第二脉冲速率,并且其中突触直接地耦合至所述第一节点和所述第二节点的每一者。所述方法还包括将突触权重的第一值应用于经由所述突触传送的至少一个信号脉冲,和确定所述突触权重的第二值,包括用信号通知要应用于所述突触权重的所述第一值的改变,所述改变基于第一值和第二值的乘积,所述第一值基于所述第一脉冲速率,所述第二值基于所述第二脉冲速率,其中所述脉冲神经网络的训练基于正被应用于所述第一值的所述改变。
在示例20中,示例19的主题可选地包括,其中所述改变基于所述第一脉冲速率的第一导数和所述第二脉冲速率的第二导数的乘积。
在示例21中,示例19至20中任一项或多项所述的主题可选地包括,其中所述第一导数和所述第二导数各自包括一阶导数和二阶导数中的相应的一者。
在示例22中,示例19至21中任一项或多项所述的主题可选地包括,其中所述第一节点经由所述突触将所述第一所生成脉冲序列发送至所述第二节点。
在示例23中,示例19至22中任一项或多项所述的主题可选地包括,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列各自经由不依赖于所述突触的相应的路径被传送。
在示例24中,示例19至23中任一项或多项所述的主题可选地包括,其中所述第二所生成脉冲序列基于所述第一所生成脉冲序列而被确定。
在示例25中,示例19至24中任一项或多项所述的主题可选地包括,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列各自基于不同的相应脉冲序列而被确定。
在示例26中,示例19至25中任一项或多项的主题可选地包括所述方法,所述方法还包括在第一时间段期间选择所述脉冲神经网络的节点的第一子集来训练所述脉冲神经网络以确定对相应突触的权重的更新。
在示例27中,示例26的主题可选地包括所述方法,所述方法还包括在第二时间段期间选择所述脉冲神经网络的节点的第二子集来训练所述脉冲神经网络以确定对相应突触的权重的更新。
本文描述了用于利用脉冲神经网络确定突触权重的值的技术和架构。在以上描述中,出于说明的目的,解释了许多具体细节以提供对某些实施例的全面理解。然而,对于本领域的技术人员将显而易见的是,某些实施例可在无这些具体细节的情况下付诸实践。在其它情况下,结构和设备以框图形式示出以避免使本描述模糊。
说明书中对“一种实施例”或“一个实施例”的引用意指,结合实施例所描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。说明书中各处出现的短语“在一个实施例中”未必始终是指相同实施例。
本文的具体实施方式的一些部分以对计算机存储器内的数据位的操作的算法和符号表示来呈现。这些算法描述和表示是由计算领域的技术人员使用以将其工作的实质最有效地传达给本领域的其他技术人员的手段。算法在此并且一般地被设想为得到期望结果的步骤的自相容序列。这些步骤是需要对物理量的物理操纵的那些步骤。通常,但非必需地,这些数量采取能够被存储、传输、组合、比较和以其它方式操纵的电气或磁性信号的形式。原理上出于通常使用的原因,已多次证实将这些信号称为位、值、元素、符号、字符、术语、数字等等是便利的。
然而,应当注意,所有这些和类似术语应与适当的物理量相关联,并且仅为适用于这些量的方便标签。除非本文另行明确地指出(如根据本文的讨论明显看出的),应当理解,在整个说明书中,利用诸如“处理”或“计算”或“运算”或“确定”或“显示”等之类的术语的讨论是指计算机系统或类似电子计算设备的动作和过程,该动作和过程操纵被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并且将其转换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储、传送或显示设备内的物理量的其它数据。
某些实施例还涉及用于执行本文的操作的装置。该装置可出于所需目的而特别地构造,或其可包括通用计算机,该通用计算机由存储于计算机中的计算机程序选择性地激活或重新配置。此类计算机程序可存储于计算机可读存储介质中,诸如但不限于任何类型的磁盘,包括软盘、光盘、CD-ROM、和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)(诸如动态RAM(DRAM))、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令并耦合至计算机系统总线的任何类型的介质。
本文所呈现的算法和显示并不固有地涉及任何特定计算机或其它装置。各种通用系统可与根据本文的教导内容的程序一起使用,或其可证实便于构造更专用的装置以执行所需方法步骤。多种这些系统的所需结构根据本文的描述将显而易见。此外,某些实施例未参考任何特定编程语言进行描述。应当理解,多种编程语言可用于实现如本文所描述的此类实施例的教导内容。
除本文所描述内容之外,对于所公开实施例和其实施方式还可做出各种修改而不脱离其范围。因此,本文的图示和示例应以例示性而非限制性意义来理解。本发明的范围应仅通过参考下述权利要求书来测定。
Claims (25)
1.一种用于训练脉冲神经网络来识别数据类型的计算机设备,所述计算机设备包括电路系统以进行以下操作:
从脉冲神经网络的第一节点传送第一所生成脉冲序列,所述第一所生成脉冲序列基于被提供至所述第一节点的第一所接收脉冲序列中的一个或多个信号脉冲,其中所述第一所生成脉冲序列表现出第一脉冲速率;
从所述脉冲神经网络的第二节点传送第二所生成脉冲序列,所述第二所生成脉冲序列基于被提供至所述第二节点的第二所接收脉冲序列中的一个或多个信号脉冲,其中所述第二所生成脉冲序列表现出第二脉冲速率,并且其中突触被直接地耦合至所述第一节点和所述第二节点中的每一者;
将突触权重的第一值应用于经由所述突触传送的至少一个信号脉冲;和
确定所述突触权重的第二值,包括电路系统用信号通知要应用于所述突触权重的所述第一值的改变,所述改变基于第一值和第二值的乘积,所述第一值基于所述第一脉冲速率,所述第二值基于所述第二脉冲速率,其中所述脉冲神经网络的训练基于正被应用于所述第一值的所述改变。
2.根据权利要求1所述的计算机设备,其中所述改变基于所述第一脉冲速率的第一导数和所述第二脉冲速率的第二导数的乘积。
3.根据权利要求1至2中任一项所述的计算机设备,其中所述第一导数和所述第二导数分别包括一阶导数和二阶导数中的相应的一者。
4.根据权利要求1至3中任一项所述的计算机设备,其中所述第一节点用于经由所述突触将所述第一所生成脉冲序列发送至所述第二节点。
5.根据权利要求1至4中任一项所述的计算机设备,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列分别经由不依赖于所述突触的相应的路径被传送。
6.根据权利要求1至5中任一项所述的计算机设备,其中所述第二所生成脉冲序列将基于所述第一所生成脉冲序列来确定。
7.根据权利要求1至6中任一项所述的计算机设备,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列将分别基于不同的相应脉冲序列来确定。
8.根据权利要求1至7中任一项所述的计算机设备,还包括电路系统以在第一时间段期间选择所述脉冲神经网络的节点的第一子集来训练所述脉冲神经网络,以确定对相应突触的权重的更新。
9.根据权利要求8所述的计算机设备,还包括电路系统以在第二时间段期间选择所述脉冲神经网络的节点的第二子集来训练所述脉冲神经网络,以确定对相应突触的权重的更新。
10.至少一种机器可读介质,包括指令,所述指令当由机器执行时使得所述机器执行用于训练脉冲神经网络以识别数据类型的操作,所述操作包括:
从脉冲神经网络的第一节点传送第一所生成脉冲序列,所述第一所生成脉冲序列基于被提供至所述第一节点的第一所接收脉冲序列中的一个或多个信号脉冲,其中所述第一所生成脉冲序列表现出第一脉冲速率;
从所述脉冲神经网络的第二节点传送第二所生成脉冲序列,所述第二所生成脉冲序列基于被提供至所述第二节点的第二所接收脉冲序列中的一个或多个信号脉冲,其中所述第二所生成脉冲序列表现出第二脉冲速率,并且其中突触被直接地耦合至所述第一节点和所述第二节点中的每一者;
将突触权重的第一值应用于经由所述突触传送的至少一个信号脉冲;和
确定所述突触权重的第二值,包括用信号通知要应用于所述突触权重的所述第一值的改变,所述改变基于第一值和第二值的乘积,所述第一值基于所述第一脉冲速率,所述第二值基于所述第二脉冲速率,其中所述脉冲神经网络的训练基于正被应用于所述第一值的所述改变。
11.根据权利要求10所述的至少一种机器可读介质,其中所述改变基于所述第一脉冲速率的第一导数和所述第二脉冲速率的第二导数的乘积。
12.根据权利要求10至11中任一项所述的至少一种机器可读介质,其中所述第一导数和所述第二导数分别包括一阶导数和二阶导数中的相应的一者。
13.根据权利要求10至12中任一项所述的至少一种机器可读介质,其中所述第一节点经由所述突触将所述第一所生成脉冲序列发送至所述第二节点。
14.根据权利要求10至13中任一项所述的至少一种机器可读介质,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列分别经由不依赖于所述突触的相应的路径被传送。
15.根据权利要求10至14中任一项所述的至少一种机器可读介质,其中所述第二所生成脉冲序列基于所述第一所生成脉冲序列来确定。
16.根据权利要求10至15中任一项所述的至少一种机器可读介质,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列分别基于不同的相应脉冲序列来确定。
17.根据权利要求10至16中任一项所述的至少一种机器可读介质,所述操作还包括在第一时间段期间选择所述脉冲神经网络的节点的第一子集来训练所述脉冲神经网络,以确定对相应突触的权重的更新。
18.根据权利要求17所述的至少一种机器可读介质,所述操作还包括在第二时间段期间选择所述脉冲神经网络的节点的第二子集来训练所述脉冲神经网络,以确定对相应突触的权重的更新。
19.一种用于训练脉冲神经网络来识别数据类型的方法,所述方法包括:
从脉冲神经网络的第一节点传送第一所生成脉冲序列,所述第一所生成脉冲序列基于被提供至所述第一节点的第一所接收脉冲序列中的一个或多个信号脉冲,其中所述第一所生成脉冲序列表现出第一脉冲速率;
从所述脉冲神经网络的第二节点传送第二所生成脉冲序列,所述第二所生成脉冲序列基于被提供至所述第二节点的第二所接收脉冲序列中的一个或多个信号脉冲,其中所述第二所生成脉冲序列表现出第二脉冲速率,并且其中突触被直接地耦合至所述第一节点和所述第二节点中的每一者;
将突触权重的第一值应用于经由所述突触传送的至少一个信号脉冲;和
确定所述突触权重的第二值,包括用信号通知要应用于所述突触权重的所述第一值的改变,所述改变基于第一值和第二值的乘积,所述第一值基于所述第一脉冲速率,所述第二值基于所述第二脉冲速率,其中所述脉冲神经网络的训练基于正被应用于所述第一值的所述改变。
20.根据权利要求19所述的方法,其中所述改变基于所述第一脉冲速率的第一导数和所述第二脉冲速率的第二导数的乘积。
21.根据权利要求19至20中任一项所述的方法,其中所述第一导数和所述第二导数分别包括一阶导数和二阶导数中的相应的一者。
22.根据权利要求19至21中任一项所述的方法,其中所述第一节点经由所述突触将所述第一所生成脉冲序列发送至所述第二节点。
23.根据权利要求19至22中任一项所述的方法,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列分别经由不依赖于所述突触的相应的路径被传送。
24.根据权利要求19至23中任一项所述的方法,其中所述第二所生成脉冲序列基于所述第一所生成脉冲序列来确定。
25.根据权利要求19至24中任一项所述的方法,其中所述第一所生成脉冲序列和所述第二所生成脉冲序列分别基于不同的相应脉冲序列来确定。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2017/067401 WO2019125419A1 (en) | 2017-12-19 | 2017-12-19 | Device, system and method for varying a synaptic weight with a phase differential of a spiking neural network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111149115A true CN111149115A (zh) | 2020-05-12 |
Family
ID=66995004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780095398.3A Pending CN111149115A (zh) | 2017-12-19 | 2017-12-19 | 用于利用脉冲神经网络的相位差来改变突触权重的设备、系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11568241B2 (zh) |
EP (1) | EP3729339A4 (zh) |
JP (1) | JP7167151B2 (zh) |
CN (1) | CN111149115A (zh) |
WO (1) | WO2019125419A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112862100A (zh) * | 2021-01-29 | 2021-05-28 | 网易有道信息技术(北京)有限公司 | 用于优化神经网络模型推理的方法及设备 |
WO2023010663A1 (zh) * | 2021-08-02 | 2023-02-09 | 成都时识科技有限公司 | 计算设备及电子设备 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019164513A1 (en) * | 2018-02-23 | 2019-08-29 | Intel Corporation | Method, device and system to generate a bayesian inference with a spiking neural network |
KR20210098992A (ko) | 2018-11-01 | 2021-08-11 | 브레인칩, 인크. | 개선된 스파이킹 뉴럴 네트워크 |
US11436475B2 (en) * | 2019-06-10 | 2022-09-06 | National Technology & Engineering Solutions Of Sandia, Llc | Anomaly detection with spiking neural networks |
JP7383528B2 (ja) * | 2020-03-03 | 2023-11-20 | 株式会社東芝 | スパイキングニューラルネットワーク装置およびスパイキングニューラルネットワーク装置の学習方法 |
US12057989B1 (en) * | 2020-07-14 | 2024-08-06 | Hrl Laboratories, Llc | Ultra-wide instantaneous bandwidth complex neuromorphic adaptive core processor |
US11863221B1 (en) * | 2020-07-14 | 2024-01-02 | Hrl Laboratories, Llc | Low size, weight and power (swap) efficient hardware implementation of a wide instantaneous bandwidth neuromorphic adaptive core (NeurACore) |
US11282221B1 (en) * | 2020-09-22 | 2022-03-22 | Varian Medical Systems, Inc. | Image contouring using spiking neural networks |
US20230359869A1 (en) * | 2021-01-25 | 2023-11-09 | Chengdu SynSense Technology Co., Ltd. | Equipment anomaly detection method, computer readable storage medium, chip, and device |
US20240256826A1 (en) * | 2021-05-26 | 2024-08-01 | Nec Corporation | Design method and recording medium |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150074026A1 (en) * | 2011-08-17 | 2015-03-12 | Qualcomm Technologies Inc. | Apparatus and methods for event-based plasticity in spiking neuron networks |
US20140025613A1 (en) * | 2012-07-20 | 2014-01-23 | Filip Ponulak | Apparatus and methods for reinforcement learning in large populations of artificial spiking neurons |
CN104335224B (zh) * | 2012-07-25 | 2016-08-31 | Hrl实验室有限责任公司 | 神经元电路及其方法 |
US9256823B2 (en) * | 2012-07-27 | 2016-02-09 | Qualcomm Technologies Inc. | Apparatus and methods for efficient updates in spiking neuron network |
US20140351186A1 (en) | 2013-05-21 | 2014-11-27 | Qualcomm Incorporated | Spike time windowing for implementing spike-timing dependent plasticity (stdp) |
US20150269481A1 (en) | 2014-03-24 | 2015-09-24 | Qualcomm Incorporated | Differential encoding in neural networks |
US10679119B2 (en) * | 2017-03-24 | 2020-06-09 | Intel Corporation | Handling signal saturation in spiking neural networks |
-
2017
- 2017-12-19 WO PCT/US2017/067401 patent/WO2019125419A1/en unknown
- 2017-12-19 EP EP17935062.4A patent/EP3729339A4/en active Pending
- 2017-12-19 CN CN201780095398.3A patent/CN111149115A/zh active Pending
- 2017-12-19 JP JP2020527791A patent/JP7167151B2/ja active Active
- 2017-12-19 US US16/648,437 patent/US11568241B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112862100A (zh) * | 2021-01-29 | 2021-05-28 | 网易有道信息技术(北京)有限公司 | 用于优化神经网络模型推理的方法及设备 |
WO2023010663A1 (zh) * | 2021-08-02 | 2023-02-09 | 成都时识科技有限公司 | 计算设备及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2021515283A (ja) | 2021-06-17 |
EP3729339A1 (en) | 2020-10-28 |
US20200218977A1 (en) | 2020-07-09 |
US11568241B2 (en) | 2023-01-31 |
EP3729339A4 (en) | 2021-08-04 |
JP7167151B2 (ja) | 2022-11-08 |
WO2019125419A1 (en) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111149115A (zh) | 用于利用脉冲神经网络的相位差来改变突触权重的设备、系统和方法 | |
US11403479B2 (en) | Feedback signaling to facilitate data classification functionality of a spiking neural network | |
US11651199B2 (en) | Method, apparatus and system to perform action recognition with a spiking neural network | |
Yoon et al. | Inference in probabilistic graphical models by graph neural networks | |
US11544564B2 (en) | Method, device and system to generate a Bayesian inference with a spiking neural network | |
US20150120627A1 (en) | Causal saliency time inference | |
US9652711B2 (en) | Analog signal reconstruction and recognition via sub-threshold modulation | |
US11615298B2 (en) | STDP with synaptic fatigue for learning of spike-time-coded patterns in the presence of parallel rate-coding | |
KR20160138002A (ko) | 스파이킹 dbn (deep belief network) 에서의 트레이닝, 인식, 및 생성 | |
Zhou et al. | Surrogate-assisted evolutionary search of spiking neural architectures in liquid state machines | |
US9710749B2 (en) | Methods and apparatus for implementing a breakpoint determination unit in an artificial nervous system | |
Skatchkovsky et al. | Spiking neural networks—Part II: Detecting spatio-temporal patterns | |
US11636318B2 (en) | Context-based search using spike waves in spiking neural networks | |
US20200272883A1 (en) | Reward-based updating of synpatic weights with a spiking neural network | |
US11663449B2 (en) | Parsing regular expressions with spiking neural networks | |
Bengio et al. | An objective function for STDP | |
Singh et al. | Expressivity of spiking neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |