CN107077636A - Cold神经元尖峰定时反向传播 - Google Patents

Cold神经元尖峰定时反向传播 Download PDF

Info

Publication number
CN107077636A
CN107077636A CN201580015733.5A CN201580015733A CN107077636A CN 107077636 A CN107077636 A CN 107077636A CN 201580015733 A CN201580015733 A CN 201580015733A CN 107077636 A CN107077636 A CN 107077636A
Authority
CN
China
Prior art keywords
neuron
spike
weight
output
renewal
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
Application number
CN201580015733.5A
Other languages
English (en)
Inventor
D·J·朱里安
S·S·塔拉迪
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 CN107077636A publication Critical patent/CN107077636A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Elevator Control (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Feedback Control In General (AREA)

Abstract

通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新。对尖峰时间应用反向传播来计算权重更新。

Description

COLD神经元尖峰定时反向传播
相关申请的交叉引用
本申请依据35U.S.C.§119(e)要求于2014年3月24日提交的题为“COLD NEURONSPIKE TIMING BACK PROPAGATION(COLD神经元尖峰定时反向传播)”的美国临时专利申请No.61/969,752的权益,其公开内容通过援引全部明确纳入于此。
背景
领域
本公开的某些方面一般涉及神经系统工程设计,且尤其涉及神经网络中的反向传播。
背景技术
可包括一群互连的人工神经元(即神经元模型)的人工神经网络是一种计算设备或者表示将由计算设备执行的方法。人工神经网络可具有生物学神经网络中的对应的结构和/或功能。然而,人工神经网络可为其中传统计算技术是麻烦的、不切实际的、或不胜任的某些应用提供创新且有用的计算技术。由于人工神经网络能从观察中推断出功能,因此这样的网络在因任务或数据的复杂度使得通过常规技术来设计该功能较为麻烦的应用中是特别有用的。
训练神经网络可包括“逆向”训练,其中通过操纵输入来操纵输出。此训练方法对于归类以及对于其中前向传播可能有误差的实例是有用的。通过在神经网络中将误差从输出传播至输入,网络可学习分类和/或标识该网络内的群或其他共有特征。此类“误差的后向传播”被称为“反向传播”。由此,期望提供能纳入反向传播的神经元形态接收器。
概述
根据本公开一方面的一种方法包括通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新。该方法进一步包括使用对尖峰时间的反向传播来计算权重更新。
根据本公开另一方面的一种在尖峰神经网络中执行反向传播的设备包括用于通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新的装置。此类设备还包括用于使用对尖峰时间的反向传播来计算权重更新的装置。
根据本公开另一方面的一种用于在尖峰神经网络中执行反向传播的计算机程序产品包括其上编码有程序代码的非瞬态计算机可读介质。这些程序代码包括用于通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新的程序代码。这些程序代码进一步包括用于使用对尖峰时间的反向传播来计算权重更新的程序代码。
根据本公开另一方面的一种用于在尖峰神经网络中执行反向传播的装置包括存储器和耦合到该存储器的至少一个处理器。该(些)处理器被配置成通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新。该(些)处理器还被配置成使用对尖峰时间的反向传播来计算权重更新。
这已较宽泛地勾勒出本公开的特征和技术优势以便下面的详细描述可以被更好地理解。本公开的其他特征和优点将在下文描述。本领域技术人员应该领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。
附图简述
在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。
图1解说根据本公开的某些方面的示例神经元网络。
图2解说根据本公开的某些方面的计算网络(神经系统或神经网络)的处理单元(神经元)的示例。
图3解说根据本公开的某些方面的尖峰定时依赖可塑性(STDP)曲线的示例。
图4A解说根据本公开的某些方面的用于定义神经元模型的行为的正态相和负态相的示例。
图4B解说根据本公开的一方面的尖峰时序图。
图5解说根据本公开的某些方面的使用通用处理器来设计神经网络的示例实现。
图6解说根据本公开的某些方面的设计其中存储器可以与个体分布式处理单元对接的神经网络的示例实现。
图7解说根据本公开的某些方面的基于分布式存储器和分布式处理单元来设计神经网络的示例实现。
图8解说根据本公开的某些方面的神经网络的示例实现。
图9是解说根据本公开的一方面的反向传播的框图。
详细描述
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。
措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
示例神经系统、训练及操作
图1解说根据本公开的某些方面的具有多级神经元的示例人工神经系统100。神经系统100可具有神经元级102,该神经元级102通过突触连接网络104(即,前馈连接)来连接到另一神经元级106。为简单起见,图1中仅解说了两级神经元,尽管神经系统中可存在更少或更多级神经元。应注意,一些神经元可通过侧向连接来连接至同层中的其他神经元。此外,一些神经元可通过反馈连接来后向连接至先前层中的神经元。
如图1所解说的,级102中的每一个神经元可以接收可由前级的神经元(未在图1中示出)生成的输入信号108。输入信号108可表示级102的神经元的输入电流。该电流可在神经元膜上累积以对膜电位进行充电。当膜电位达到其阈值时,该神经元可激发并生成输出尖峰,该输出尖峰将被传递到下一级神经元(例如,级106)。在某些建模办法中,神经元可以连续地向下一级神经元传递信号。该信号通常是膜电位的函数。此类行为可在硬件和/或软件(包括模拟和数字实现,诸如以下所述那些实现)中进行仿真或模拟。
在生物学神经元中,在神经元激发时生成的输出尖峰被称为动作电位。该电信号是相对迅速、瞬态的神经冲激,其具有约为100mV的振幅和约为1ms的历时。在具有一系列连通的神经元(例如,尖峰从图1中的一级神经元传递至另一级神经元)的神经系统的特定实施例中,每个动作电位都具有基本上相同的振幅和历时,并且因此该信号中的信息可仅由尖峰的频率和数目、或尖峰的时间来表示,而不由振幅来表示。动作电位所携带的信息可由尖峰、发放了尖峰的神经元、以及该尖峰相对于一个或数个其他尖峰的时间来确定。尖峰的重要性可由向各神经元之间的连接所应用的权重来确定,如以下所解释的。
尖峰从一级神经元向另一级神经元的传递可通过突触连接(或简称“突触”)网络104来达成,如图1中所解说的。相对于突触104,级102的神经元可被视为突触前神经元,而级106的神经元可被视为突触后神经元。突触104可接收来自级102的神经元的输出信号(即,尖峰),并根据可调节突触权重来按比例缩放那些信号,其中P是级102的神经元与级106的神经元之间的突触连接的总数,并且i是神经元级的指示符。在图1的示例中,i表示神经元级102并且i+1表示神经元级106。此外,经按比例缩放的信号可被组合以作为级106中每个神经元的输入信号。级106中的每个神经元可基于对应的组合输入信号来生成输出尖峰110。可使用另一突触连接网络(图1中未示出)将这些输出尖峰110传递到另一级神经元。
生物学突触可以仲裁突触后神经元中的兴奋性或抑制性(超级化)动作,并且还可用于放大神经元信号。兴奋性信号使膜电位去极化(即,相对于静息电位增大膜电位)。如果在某个时间段内接收到足够的兴奋性信号以使膜电位去极化到高于阈值,则在突触后神经元中发生动作电位。相反,抑制性信号一般使膜电位超极化(即,降低膜电位)。抑制性信号如果足够强则可抵消掉兴奋性信号之和并阻止膜电位到达阈值。除了抵消掉突触兴奋以外,突触抑制还可对自发活跃神经元施加强力的控制。自发活跃神经元是指在没有进一步输入的情况下(例如,由于其动态或反馈而)发放尖峰的神经元。通过压制这些神经元中的动作电位的自发生成,突触抑制可对神经元中的激发模式进行定形,这一般被称为雕刻。取决于期望的行为,各种突触104可充当兴奋性或抑制性突触的任何组合。
神经系统100可由通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件、由处理器执行的软件模块、或其任何组合来仿真。神经系统100可用在大范围的应用中,诸如图像和模式识别、机器学习、电机控制、及类似应用等。神经系统100中的每一神经元可被实现为神经元电路。被充电至发起输出尖峰的阈值的神经元膜可被实现为例如对流经其的电流进行积分的电容器。
在一方面,电容器作为神经元电路的电流积分器件可被除去,并且可使用较小的忆阻器元件来替代它。这种办法可应用于神经元电路中,以及其中大容量电容器被用作电流积分器的各种其他应用中。另外,每个突触104可基于忆阻器元件来实现,其中突触权重改变可与忆阻器电阻的变化有关。使用纳米特征尺寸的忆阻器,可显著地减小神经元电路和突触的面积,这可使得实现大规模神经系统硬件实现更为切实可行。
对神经系统100进行仿真的神经处理器的功能性可取决于突触连接的权重,这些权重可控制神经元之间的连接的强度。突触权重可存储在非易失性存储器中以在掉电之后保留该处理器的功能性。在一方面,突触权重存储器可实现在与主神经处理器芯片分开的外部芯片上。突触权重存储器可与神经处理器芯片分开地封装成可更换的存储卡。这可向神经处理器提供多种多样的功能性,其中特定功能性可基于当前附连至神经处理器的存储卡中所存储的突触权重。
图2解说根据本公开的某些方面的计算网络(例如,神经系统或神经网络)的处理单元(例如,神经元或神经元电路)202的示例性示图200。例如,神经元202可对应于来自图1的级102和106的任何神经元。神经元202可接收多个输入信号2041-204N,这些输入信号可以是该神经系统外部的信号、或是由同一神经系统的其他神经元所生成的信号、或这两者。输入信号可以是电流、电导、电压、实数值的和/或复数值的。输入信号可包括具有定点或浮点表示的数值。可通过突触连接将这些输入信号递送到神经元202,突触连接根据可调节突触权重2061-206N(W1-WN)对这些信号进行按比例缩放,其中N可以是神经元202的输入连接总数。
神经元202可组合这些经按比例缩放的输入信号,并且使用组合的经按比例缩放的输入来生成输出信号208(即,信号Y)。输出信号208可以是电流、电导、电压、实数值的和/或复数值的。输出信号可以是具有定点或浮点表示的数值。随后该输出信号208可作为输入信号传递至同一神经系统的其他神经元、或作为输入信号传递至同一神经元202、或作为该神经系统的输出来传递。
处理单元(神经元)202可由电路来仿真,并且其输入和输出连接可由具有突触电路的电连接来仿真。处理单元202及其输入和输出连接也可由软件代码来仿真。处理单元202还可由电路来仿真,而其输入和输出连接可由软件代码来仿真。在一方面,计算网络中的处理单元202可以是模拟电路。在另一方面,处理单元202可以是数字电路。在又一方面,处理单元202可以是具有模拟和数字组件两者的混合信号电路。计算网络可包括任何前述形式的处理单元。使用这样的处理单元的计算网络(神经系统或神经网络)可用在大范围的应用中,诸如图像和模式识别、机器学习、电机控制、及类似应用等。
在神经网络的训练过程期间,突触权重(例如,来自图1的权重 和/或来自图2的权重2061-206N)可用随机值来初始化并根据学习规则而被增大或减小。本领域技术人员将领会,学习规则的示例包括但不限于尖峰定时依赖可塑性(STDP)学习规则、Hebb规则、Oja规则、Bienenstock-Copper-Munro(BCM)规则等。在某些方面,这些权重可稳定或收敛至两个值(即,权重的双峰分布)之一。该效应可被用于减少每个突触权重的位数、提高从/向存储突触权重的存储器读取和写入的速度、以及降低突触存储器的功率和/或处理器消耗。
突触类型
在神经网络的硬件和软件模型中,突触相关功能的处理可基于突触类型。突触类型可以是非可塑突触(权重和延迟没有改变)、可塑突触(权重可改变)、结构化延迟可塑突触(权重和延迟可改变)、全可塑突触(权重、延迟和连通性可改变)、以及基于此的变型(例如,延迟可改变,但在权重或连通性方面没有改变)。多种类型的优点在于处理可以被细分。例如,非可塑突触不会使用待执行的可塑性功能(或等待此类功能完成)。类似地,延迟和权重可塑性可被细分成可一起或分开地、顺序地或并行地运作的操作。不同类型的突触对于适用的每一种不同的可塑性类型可具有不同的查找表或公式以及参数。因此,这些方法将针对该突触的类型来访问相关的表、公式或参数。
还进一步牵涉到以下事实:尖峰定时依赖型结构化可塑性可独立于突触可塑性地来执行。结构化可塑性即使在权重幅值没有改变的情况下(例如,如果权重已达最小或最大值、或者其由于某种其他原因而不被改变)也可被执行,因为结构化可塑性(即,延迟改变的量)可以是前-后尖峰时间差的直接函数。替换地,结构化可塑性可被设为权重改变量的函数或者可基于与权重或权重改变的界限有关的条件来设置。例如,突触延迟可仅在权重改变发生时或者在权重到达0的情况下才改变,但在这些权重为最大值时则不改变。然而,具有独立函数以使得这些过程能被并行化从而减少存储器访问的次数和交叠可能是有利的。
突触可塑性的确定
神经元可塑性(或简称“可塑性”)是大脑中的神经元和神经网络响应于新的信息、感官刺激、发展、损坏、或机能障碍而改变其突触连接和行为的能力。可塑性对于生物学中的学习和记忆、以及对于计算神经元科学和神经网络是重要的。已经研究了各种形式的可塑性,诸如突触可塑性(例如,根据赫布理论)、尖峰定时依赖可塑性(STDP)、非突触可塑性、活动性依赖可塑性、结构化可塑性和自身稳态可塑性。
STDP是调节神经元之间的突触连接的强度的学习过程。连接强度是基于特定神经元的输出与收到输入尖峰(即,动作电位)的相对定时来调节的。在STDP过程下,如果至某个神经元的输入尖峰平均而言倾向于紧挨在该神经元的输出尖峰之前发生,则可发生长期增强(LTP)。于是使得该特定输入在一定程度上更强。另一方面,如果输入尖峰平均而言倾向于紧接在输出尖峰之后发生,则可发生长期抑压(LTD)。于是使得该特定输入在一定程度上更弱,并由此得名“尖峰定时依赖可塑性”。因此,使得可能是突触后神经元兴奋原因的输入甚至在将来作出贡献的可能性更大,而使得不是突触后尖峰的原因的输入在将来作出贡献的可能性更小。该过程继续,直至初始连接集合的子集保留,而所有其他连接的影响减小至无关紧要的水平。
由于神经元一般在其许多输入都在一短时段内发生(即,累积性足以引起输出)时产生输出尖峰,因此通常保留下来的输入子集包括倾向于在时间上相关的那些输入。另外,由于在输出尖峰之前发生的输入被加强,因此提供对相关性的最早充分累积性指示的那些输入将最终变成至该神经元的最后输入。
STDP学习规则可作为突触前神经元的尖峰时间tpre与突触后神经元的尖峰时间tpost之间的时间差(即,t=tpost-tpre)的函数来有效地适配将该突触前神经元连接到该突触后神经元的突触的突触权重。STDP的典型公式化是若该时间差为正(突触前神经元在突触后神经元之前激发)则增大突触权重(即,增强该突触),以及若该时间差为负(突触后神经元在突触前神经元之前激发)则减小突触权重(即,抑压该突触)。
在STDP过程中,突触权重随时间推移的改变可通常使用指数式衰退来达成,如由下式给出的:
其中k+和k_τsign(Δt)分别是针对正和负时间差的时间常数,a+和a_是对应的比例缩放幅值,并且μ是可应用于正时间差和/或负时间差的偏移。
图3解说了根据STDP,突触权重作为突触前(pre)和突触后(post)尖峰的相对定时的函数而改变的示例性示图300。如果突触前神经元在突触后神经元之前激发,则对应的突触权重可被增大,如曲线图300的部分302中所解说的。该权重增大可被称为该突触的LTP。从曲线图部分302可观察到,LTP的量可作为突触前和突触后尖峰时间之差的函数而大致呈指数式地下降。相反的激发次序可减小突触权重,如曲线图300的部分304中所解说的,从而导致该突触的LTD。
如图3中的曲线图300中所解说的,可向STDP曲线图的LTP(因果性)部分302应用负偏移μ。x轴的交越点306(y=0)可被配置成与最大时间滞后重合以考虑到来自层i-1的各因果性输入的相关性。在基于帧的输入(即,呈特定历时的包括尖峰或脉冲的帧的形式的输入)的情形中,可计算偏移值μ以反映帧边界。该帧中的第一输入尖峰(脉冲)可被视为要么如直接由突触后电位所建模地随时间衰退,要么在对神经状态的影响的意义上随时间衰退。如果该帧中的第二输入尖峰(脉冲)被视为与特定时间帧相关或有关,则该帧之前和之后的有关时间可通过使STDP曲线的一个或多个部分偏移以使得这些有关时间中的值可以不同(例如,对于大于一个帧为负,而对于小于一个帧为正)来在该时间帧边界处被分开并在可塑性意义上被不同地对待。例如,负偏移μ可被设为偏移LTP以使得曲线实际上在大于帧时间的pre-post时间处变得低于零并且它由此为LTD而非LTP的一部分。
神经元模型及操作
存在一些用于设计有用的尖峰发放神经元模型的一般原理。良好的神经元模型在以下两个计算态相(regime)方面可具有丰富的潜在行为:重合性检测和功能性计算。此外,良好的神经元模型应当具有允许时间编码的两个要素:输入的抵达时间影响输出时间,以及重合性检测能具有窄时间窗。最后,为了在计算上是有吸引力的,良好的神经元模型在连续时间上可具有闭合形式解,并且具有稳定的行为,包括在靠近吸引子和鞍点之处。换言之,有用的神经元模型是可实践且可被用于建模丰富的、现实的且生物学一致的行为并且可被用于对神经电路进行工程设计和反向工程设计两者的神经元模型。
神经元模型可取决于事件,诸如输入抵达、输出尖峰或其他事件,无论这些事件是内部的还是外部的。为了达成丰富的行为库,能展现复杂行为的状态机可能是期望的。如果事件本身的发生在撇开输入贡献(若有)的情况下能影响状态机并约束该事件之后的动态,则该系统的将来状态并非仅是状态和输入的函数,而是状态、事件和输入的函数。
在一方面,神经元n可被建模为尖峰带漏泄积分激发神经元,其膜电压vn(t)由以下动态来支配:
其中α和β是参数,wm,n是将突触前神经元m连接至突触后神经元n的突触的突触权重,以及ym(t)是神经元m的尖峰发放输出,其可根据Δtm,n被延迟达树突或轴突延迟才抵达神经元n的胞体。
应注意,从建立了对突触后神经元的充分输入的时间直至该突触后神经元实际上激发的时间存在延迟。在动态尖峰神经元模型(诸如Izhikevich简单模型)中,如果在去极化阈值vt与峰值尖峰电压vpeak之间有差量,则可引发时间延迟。例如,在该简单模型中,神经元胞体动态可由关于电压和恢复的微分方程对来支配,即:
其中v是膜电位,u是膜恢复变量,k是描述膜电位v的时间尺度的参数,a是描述恢复变量u的时间尺度的参数,b是描述恢复变量u对膜电位v的阈下波动的敏感度的参数,vr是膜静息电位,I是突触电流,以及C是膜的电容。根据该模型,神经元被定义为在v>vpeak时发放尖峰。
Hunzinger Cold模型
Hunzinger Cold神经元模型是能再现丰富多样的各种神经行为的最小双态相尖峰发放线性动态模型。该模型的一维或二维线性动态可具有两个态相,其中时间常数(以及耦合)可取决于态相。在阈下态相中,时间常数(按照惯例为负)表示漏泄通道动态,其一般作用于以生物学一致的线性方式使细胞返回到静息。阈上态相中的时间常数(按照惯例为正)反映抗漏泄通道动态,其一般驱动细胞发放尖峰,而同时在尖峰生成中引发等待时间。
如图4中所解说的,该模型400的动态可被划分成两个(或更多个)态相。这些态相可被称为负态相402(也可互换地称为带漏泄积分激发(LIF)态相,勿与LIF神经元模型混淆)以及正态相404(也可互换地称为抗漏泄积分激发(ALIF)态相,勿与ALIF神经元模型混淆)。在负态相402中,状态在将来事件的时间趋向于静息(v_)。在该负态相中,该模型一般展现出时间输入检测性质及其他阈下行为。在正态相404中,状态趋向于尖峰发放事件(vs)。在该正态相中,该模型展现出计算性质,诸如取决于后续输入事件而引发发放尖峰的等待时间。在事件方面对动态进行公式化以及将动态分成这两个态相是该模型的基础特性。
线性双态相二维动态(对于状态v和u)可按照惯例定义为:
其中qρ和r是用于耦合的线性变换变量。
符号ρ在本文中用于标示动态态相,在讨论或表达具体态相的关系时,按照惯例对于负态相和正态相分别用符号“-”或“+”来替换符号ρ。
模型状态通过膜电位(电压)v和恢复电流u来定义。在基本形式中,态相在本质上是由模型状态来决定的。该精确和通用的定义存在一些细微却重要的方面,但目前考虑该模型在电压v高于阈值(v+)的情况下处于正态相404中,否则处于负态相402中。
态相依赖型时间常数包括负态相时间常数τ_和正态相时间常数τ+。恢复电流时间常数τu通常是与态相无关的。出于方便起见,负态相时间常数τ_通常被指定为反映衰退的负量,从而用于电压演变的相同表达式可用于正态相,在正态相中指数和τ+将一般为正,正如τu那样。
这两个状态元素的动态可在发生事件之际通过使状态偏离其零倾线(null-cline)的变换来耦合,其中变换变量为:
qρ=-τρβu-vρ (7)
r=δ(v+ε) (8)
其中δ、ε、β和v_、v+是参数。vρ的两个值是这两个态相的参考电压的基数。参数v_是负态相的基电压,并且膜电位在负态相中一般将朝向v_衰退。参数v+是正态相的基电压,并且膜电位在正态相中一般将趋向于背离v+
v和u的零倾线分别由变换变量qρ和r的负数给出。参数δ是控制u零倾线的斜率的缩放因子。参数ε通常被设为等于-v_。参数β是控制这两个态相中的v零倾线的斜率的电阻值。τρ时间常数参数不仅控制指数式衰退,还单独地控制每个态相中的零倾线斜率。
该模型可被定义为在电压v达到值vS时发放尖峰。随后,状态可在发生复位事件(其可以与尖峰事件完全相同)之际被复位:
u=u+Δu (10)
其中和Δu是参数。复位电压通常被设为v_
依照瞬时耦合的原理,闭合形式解不仅对于状态是可能的(且具有单个指数项),而且对于到达特定状态的时间也是可能的。闭合形式状态解为:
因此,模型状态可仅在发生事件之际被更新,诸如在输入(突触前尖峰)或输出(突触后尖峰)之际被更新。还可在任何特定时间(无论是否有输入或输出)执行操作。
而且,依照瞬时耦合原理,突触后尖峰的时间可被预计,因此到达特定状态的时间可提前被确定而无需迭代技术或数值方法(例如,欧拉数值方法)。给定了先前电压状态v0,直至到达电压状态vf之前的时间延迟由下式给出:
如果尖峰被定义为发生在电压状态v到达vS的时间,则从电压处于给定状态v的时间起测量的直至发生尖峰前的时间量或即相对延迟的闭合形式解为:
其中通常被设为参数v+,但其他变型可以是可能的。
模型动态的以上定义取决于该模型是在正态相还是负态相中。如所提及的,耦合和态相ρ可基于事件来计算。出于状态传播的目的,态相和耦合(变换)变量可基于在上一(先前)事件的时间的状态来定义。出于随后预计尖峰输出时间的目的,态相和耦合变量可基于在下一(当前)事件的时间的状态来定义。
存在对该Cold模型、以及在时间上执行模拟、仿真、或建模的若干可能实现。这包括例如事件-更新、步点-事件更新、以及步点-更新模式。事件更新是其中基于事件或“事件更新”(在特定时刻)来更新状态的更新。步点更新是以间隔(例如,1ms)来更新模型的更新。这不一定利用迭代方法或数值方法。通过仅在事件发生于步点处或步点间的情况下才更新模型或即通过“步点-事件”更新,基于事件的实现以有限的时间分辨率在基于步点的模拟器中实现也是可能的。
至神经网络的输入可来自各种源。例如,输入可以是在特定时间段期间发生的事件。此外,输入可以是所定义空间中的三维(3-D)对象的二维(2-D)表示。输出事件或尖峰也可以是在特定时间段期间的事件。例如,在上述2-D/3-D示例中,输出事件可以是所定义空间中的3-D对象的第三坐标。传感器(诸如地址事件表示相机)可供应输入事件。
COLD神经元尖峰定时反向传播
本公开的一方面涉及使用反向传播来训练多层尖峰神经网络。另外,定义某些试探法以解决其中梯度无定义(例如,神经元不激发或激发太弱)的情形。相应地,使用反向传播结合所描述的试探法允许计算包括其中梯度无定义的区域的神经网络中的权重改变,并由此提供在训练神经网络方面的增强。
在本公开的一方面,多层尖峰神经网络使用带有反向传播的1-D计算高效型线性二维(COLD)神经元来执行分类和回归任务。可对本公开使用其他神经元模型,诸如LIF模型、ALIF模型、指数型积分激发模型、Hodgkin–Huxley模型、FitzHugh–Nagumo模型、Morris–Lecar模型、Hindmarsh–Rose模型、和/或其他尖峰发放或非尖峰发放神经元模型。这些模型的集合可在本文被称为“基于映射的”模型。例如,基于映射的更新可以基于差值方程、差分方程、查找表、状态机更新、或其他办法。
当在尖峰神经网络中使用反向传播时,存在误差梯度可能无定义或为0的区域。由于这些误差,许多模型避免反向传播技术。本公开提供了用于渐近地逼近误差梯度的反向传播的局部极小值的办法。
在本公开的一方面,对一维COLD(模型)神经元使用多层梯度反向传播。对于COLD神经元模型的某些部分,在梯度未被良好定义之处,试探法被纳入到反向传播办法中。这些试探法包括神经元针对任何训练情形都不激发或激发太弱、膜电压电位太强从而造成误差梯度为0、以及计及COLD模型中可能存在的较宽的误差梯度范围的情形。由于COLD模型在LIF和ALIF区域之间具有不连续性,因此本公开还提供了用于解决这种梯度不连续性的方法。
图4B解说根据本公开的一方面的尖峰时序图。时序图406解说了第一层神经元408和第二层神经元410。第一层408充当至第二层410的输入。当第一层408中的神经元412-420激发时,第二层410中的神经元422基于从神经元412-420接收到的输入而激发。第一层408和第二层410可以是神经网络中仅有的两层,或者可以是神经网络中的任何两个其他连贯层。如此,引述第二层410的讨论也可适用于第一层408,反之亦然。此外,第一层408和第二层410两者可以是本公开的神经网络中的隐藏层。
由于神经网络可以是因果的(即,该神经网络以时间相关方式工作,其中第二层410中的输出只能取决于来自第一层408的先前输入),因此神经元422的输出只能取决于从神经元412、414和416接收到的输入。
此外,神经元422在时间t=τ的输出可能不是在期望输出时间。如果期望输出时间是在时间示为期望输出时间424(其可被称为目标输出时间),则神经元422的输出在时间上朝期望输出时间424移动。此延迟可通过增大指派给藉以接收来自神经元412-416的输入的突触的权重、或通过在时间上将来自神经元412-416的输入移位来实现。此时间移位和/或加权由箭头426-430指示。这种对神经元412-416的输入的移动和/或对与神经元412-416的输入相关联的权重的改变被示为效果432,其如由箭头434所指示地使神经元422的输出移动。
随着神经元422的输出朝期望输出时间424移动,来自神经元418和/或420的附加输入可能被反映在神经元422的输出中。此外,随着神经元422的输出在时间上朝期望输出时间424移动,神经元422的输出的移动可能不是线性的,可能移到超过期望输出时间424,或者可能在某个位置是无定义的,因为神经元412-420的输出的权重和/或时间被改变了。本公开提供了用于控制神经元422的输出朝期望输出时间424移动的方法。
本公开的第一方面提供了用于在神经元422完全不激发或者激发太弱时修改神经元422的输出的方法。在这一方面,与神经元412-416的输出相关联的权重可被改变常数值、可变值、或随机值,并观察神经元响应的输出。随后基于神经元422的输出定时的改变量来调节权重。根据时序图406,神经元412-416的输出的权重可被增大或减小以使神经元422的输出移动。此外,由于第一层408可能正从神经网络中的另一层接收输入,因此神经元412-416的输出也可能在时间上被移动,从而影响神经元422的输出的输出时间。
也将存在改变神经元412-416的输出的权重和/或时间并不影响神经元422的输出的时间的情况。这是膜电压电位太强从而造成误差梯度为0的征兆。在本公开的一方面,神经元412-416的输出的权重可被改变一常数(其可为固定常数、可变常数、或随机常数),并观察神经元422的输出定时的改变。神经元412-416的输出可被减小,以增大神经元422的输出对来自神经元412-416的输入的灵敏度。
在本公开的另一方面,可确定膜电压离峰值电压的距离,并且该常数被用于改变神经元412-416的输出的权重。神经元412-416的输出的权重可作为神经元412-416的输出与神经元422的输出之间的激发时间距离的函数来被改变。在本公开的另一方面,常数(其可被称为壁垒惩罚函数)可被添加至用于指派给神经元412-416的输出的权重的梯度计算。
该神经网络还可对一个基于映射的模型计及与另一个模型相比而言更宽的梯度范围。例如,COLD模型可具有比人工神经网络(ANN)网络更宽的误差梯度范围。在有更宽误差梯度的情况下,误差梯度上的较小改变可能不会可被感知地移动神经元422的输出定时,或者可能将神经元422的输出定时移动太多。如此,此类模型的学习速率可能非常慢或从来不具有局部极小值。本公开还提供了用于纳入较宽梯度范围而同时维持神经网络的模型的合理学习速率的方法。
如果误差梯度高于阈值(例如,0.5),则误差梯度权重上的常数改变可能不会渐近地逼近期望输出时间424。在梯度误差值超过阈值时对梯度进行归一化将提供对期望输出时间424的更平滑逼近。此外,使大于阈值的某些输出的权重饱和(最大化)也可更快速地使神经元422的输出朝期望输出时间424移动。
由于COLD模型集成了带漏泄积分激发/抗漏泄积分激发(LIF/ALIF)模型的特征,因此本公开提供了用于处置这些模型之间的边界处的不连续性/无定义梯度的方法。本公开还可例如就像不存在或不曾存在不连续性那样来计算误差梯度。此外,本公开可在不连续处附近使用平滑变化的近似,和/或使用条件式梯度,其中计算出的梯度是基于误差检测的。
反向传播中用于COLD模型的试探法
Cold梯度具有较大的值为0的区域和在v+处的临界点(即,COLD模型中神经元动态发生改变时的阈值)。在COLD模型的LIF/ALIF部分之间的这些区域是梯度无定义/无限之处(例如,神经元动态阻止神经元激发或创建在阈值附近或在错误时间激发的神经元(“弱”激发神经元))。这些电位梯度可能导致反向传播变得不能提供确定恰当权重的有用办法,或者可能阻止反向传播渐近地减少梯度误差。
相应地,使用反向传播结合根据本公开一方面的试探法允许计算神经网络中的权重改变。权重(突触加权)可包括其中梯度无定义的区域并由此提供在训练神经网络方面的增强。本公开还提供了使用带有反向传播的一维(1-D)计算高效型线性二维(COLD)神经元来训练多层尖峰神经网络以执行分类和回归任务。本公开还提供了用于在梯度无定义或为0、神经元动态具有不连续性、和/或膜电压太强的尖峰神经网络中运行反向传播的解决方案。
COLD模型反向传播可在梯度为非零且有定义时使用“梯度下降”。存在描述可影响本公开的反向传播的事件的若干试探法。用于此类无定义/0梯度的试探法可按任何次序来处理。在本公开的一方面,可按特定次序(诸如本文给出的次序)来处理试探法。
最初,膜电压电位(突触权重)可能太弱。如果没有输入神经元正在发放尖峰,则输出神经元不可能发放尖峰。在这种情形中,输入神经元梯度被设为0以避免作出对一层的权重改变——在不存在作为发生那些权重改变的基础的信息时。可确定较低层权重改变,从而最终输入神经元将基于向那些层应用规则而开始激发。由此,初始神经元梯度设置如下:
Δwij=0 (15)
接下来,如果输出神经元不发放尖峰,则这被称为“弱尖峰发放”情形,并且输入神经元梯度可如下被设为默认(default)、或随机量:
Δwij=Δdefault (16)
如果输出神经元完全不发放尖峰,则梯度可能是不存在的,且所有权重应被增加较小量。权重可被增加与vplus-maxnvnp成比例的量,因为这是可为了再次激活梯度而将膜电压增大的量。
在本公开的一方面,可仅针对具有输入的那些突触设置默认或随机梯度值,或者可按需为所有突触设置默认或随机梯度值。
接下来,隐藏神经元可在晚于tp(分别为目标输出尖峰时间和最大目标输出尖峰时间)的时间发放尖峰,这也被认为是“弱激发”神经元状况。在此类情形中,隐藏神经元梯度和/或输入神经元梯度也可被设为默认或随机值。
接下来,考虑膜电位太强的状况。对于此类状况,激发神经元的突触权重可被减小固定或可变常数。可变常数可按若干方式来确定。在一个方面,该可变常数可由膜电压与峰值电压之间的距离来确定。在另一方面,该可变常数可作为激发时间之间的距离的函数来确定。
由于抵达尖峰和特定神经元的尖峰发放的定时,会发生与突触权重有关的其他状况。如果神经元在输入尖峰时间发放尖峰,则输出神经元不可能恰当地对输入神经元的权重作出与来自该输出神经元的尖峰有关的归结。此类状况被认为是突触权重“太强”,且可被重新定义如下:
其中VNp是神经元发放尖峰时的膜电位,vpeak是用于生成尖峰的膜电位,Δdefault是被选取用于向该梯度计算和向其他梯度计算提供相对加权的参数,tp是神经元发放了尖峰的时间,thi是第i个输入的输入尖峰时间,以及τ+是cold神经元参数。
如果最后一个尖峰导致输出神经元首次激发(从而),则梯度是不存在的。在这种情形中,每个突触权重可被减小较小量。权重可被减小与成比例的量,因为这是可为了使梯度再次活跃而将最终膜电压减小的量。
主要的引起试探法的问题可能是输出太强,这导致0梯度和减小所有权重的试探法。可添加壁垒正则化函数,从而可针对输出太强来定义梯度且梯度可被反向传播并与过冲成比例。
由此,具有输入的每个突触的权重各自被评估以恰当地确定每个突触/输入神经元的权重。
当神经元在尖峰抵达时具有在LIF/ALIF动态阈值电压(v+)附近的膜电压时,本公开可在忽略这种在动态上的不连续性的情况下计算误差梯度。在另一方面,可向LIF/ALIF阈值电压附近的梯度计算添加壁垒惩罚函数。
在本公开的此类方面,一旦已针对神经网络评估和穷尽了这些试探法,则针对每个突触存在梯度且无定义/无限的梯度状况已在COLD模型的意义上作了定义。如此,本公开修改了对均方误差的减小,并且提供了关于输出尖峰的原因的一些初始逼近(例如,假设)。
本公开还可使梯度归一化,并随后在朝期望输出解的给定方向上应用这些梯度。然而,这可能不会减小神经网络的学习速率并且使得难以收敛至局部极小值,因为梯度变小了。越小的梯度将随后受到越来越小的归一化,这将增大学习时间。
为了克服此问题,本公开可将大于阈值、或具有较大幅值或元素的梯度归一化,或者可限制在较大方向上的梯度权重更新,从而减小或甚至最小化归一化的渐进问题。
此外,本公开还使用S形函数来提供从LIF到ALIF区域的平滑转变。
1-D COLD模型中用于反向传播的数学
I-D COLD模型遵循以下形式:
如果只存在Δ输入电流,即,
则闭式事件解为如下:
其中vj+1是在具有权重wj+1的j+1尖峰抵达之后的电压。
为了使期望误差函数最小化(其中tp是实际输出尖峰时间且是目标输出尖峰时间),权重wij可被优化。可在ALIF动态致使输出神经元首次激发时将用于梯度下降的梯度计算为:
其中
对于隐藏层,
其中
这导致将误差函数从:
修订为式(28):
其中vo(tp)是在尖峰时间tp处的输出神经元膜电压,且因此(vo(tp)-vpeak)2是它超过尖峰发放阈值vpeak多少的平方。如果在时间tN的最后一个抵达的输入尖峰导致了输出神经元膜电压低于vpeak,由此ALIF动态导致了尖峰,则vo(tp)=vpeak且误差项为0。否则,如果最后一个尖峰导致了其超过阈值(这在原始误差函数下将导致误差梯度为0,因为较小权重改变一般不会影响尖峰时间),则壁垒将会向误差添加量ψo(vo(tp)-vpeak)2
类似地,至隐藏神经元的输入的梯度在没有壁垒的情况下将为0,因此项为鼓励隐藏神经元不要具有太强输出的壁垒惩罚。
通过用壁垒正则化项来重新定义误差函数,反向传播算法可被重新推导并且太强输出试探法现在是反向传播的一部分。
反向传播计算如下。对于输出层,第一项的梯度与式(28)中相同,且第三项(其基于隐藏节点尖峰时间)不是隐藏至输出权重wnp的函数,且因此其梯度为0。这留下中间项被计算为:
如果tp≠tN(最后尖峰时间),则vo(tp)=vpeak
否则:
其在式(23)中使用链式法则被计算为:
因此,定义:
且在式(28)的注记法中,且:
输出层壁垒误差梯度为:
对于隐藏层,误差梯度将具有三部分:来自前两项的反向传播误差和来自第三项的误差来自第三项的误差将为以与针对输出层相同的方式计算的zmn。第一项的反向传播与式(23)中相同。第二项的反向传播被计算为:
使用与来自式(28)相同的技术和定义:
具有壁垒的输出层反向传播梯度则由下式给出:
其中
具有壁垒的隐藏层梯度为:
其中
本公开寻求减小或甚至最小化均方误差:
其中是在输入序列i之后的首个输出尖峰时间,且是基于序列i的类标记的期望尖峰时间。
本公开寻求通过改进或(如果可能)最优化权重wij来使期望误差函数最小化,其中tp是实际输出尖峰时间且是目标输出尖峰时间。对于此推导,大于最后输入尖峰时间。这可能不是必需的,但的确去除了来自导致输出尖峰时间的传入尖峰的梯度不连续性。
输出层
为了执行梯度下降:
反向传播梯度可定义ALIF区域“漂移”导致输出尖峰(若期望)。“漂移”意味着ALIF神经元动态导致神经元在非尖峰抵达时发放尖峰,即VNp=vpeak
对于梯度下降通过如下确定(误差函数对从隐藏节点n至输出节点p的权重的偏导)来计算输出层:
其中
如同在其他反向传播办法中一样,ynp项可在前向轮次中计算,而δp项可在反向轮次中计算。
输出层δp被计算为:
遵循类似办法,在尖峰抵达时间上使用链式法则将ynp项计算为:
其中是刚好在输出神经元在时间tp处发放尖峰之前的最后一个尖峰抵达之后的膜电位。
给定Cold LIF/ALIF动态,对于神经元应当处于ALIF态相,因为该神经元在没有进一步尖峰抵达的情况下发放尖峰。因此可通过设置ρ=+、vj+1=Vpeaktj=tp和wj+1=0并求解tp(wj+1=0)来将tp计算为的函数。这些条件模拟了尖峰没有在神经元激发之时抵达的事件。求解该式得到:‘
求偏导得到:
此外,对求差分得到其将该方程简化为
为了计算其他ynp值,一般通过求差分(这次是对vnp求差分)来计算得到:
将这些综合在一起得到:
这是针对ALIF动态使膜电压高于阈值时的情形。在抵达尖峰使膜电压高于阈值时的情形中,则因为该电压比阈值高超过ε量。在这种情形中,所有ynp=0,因为是所有梯度项共有的。
类似地,对于一个输出目标尖峰的目的,在最后一个尖峰之后抵达的任何尖峰将导致第一尖峰在第一尖峰发放时间具有0梯度。此条件给定:
隐藏层
隐藏层尖峰发放可由下式确定:
其中
对于隐藏层梯度下降,本公开计算使用如上的链式法则:
对于隐藏层δn,使用链式法则进一步展开得到:
其中是先前针对输出层计算出的,且是隐藏神经元n尖峰发放时间改变对输出层尖峰发放时间的影响。
当第n个尖峰在tp之前的时间抵达时,其对第一输出尖峰时间作出贡献且不会使其超过阈值。在此类情形中,使用链式法则将计算为:
将针对的上式与针对ynp的链式法则展开作比较,可通过定义新项γnp以ynp的形式写为:
其中:
对于vj+1,在j=n的情况下,对tn求导得到:
同样,对于vj+1,在j=n的情况下且对vnp求导得到:
最后,在j=n-1的情况下对vj+1求偏导得到:
将这三项代入针对γnp的方程得到:
如果是最后一个尖峰且其导致电压立即超过阈值,且所有其他因为此最后一个输入尖峰时间上的较小移位将致使输出尖峰移位与其导致了输出尖峰时间的情况下的量相同的量,而其他尖峰时间的较小移位将不会影响输出尖峰时间。在此实例中,ynp=0,因此自动得到从而显然
隐藏层ymn与输出层相同,因此方程是相同的,除了尖峰时间是隐藏节点尖峰时间,而电压是隐藏节点最后一个输入尖峰电压:
对于隐藏层,神经元尖峰发放由下式给出:
人工神经网络感知输出层梯度(Grad)可如下给出:
在x和y中是线性的。 (66)
对于x∈{±10}和y∈{±20},Grad∈{±200},学习速率η=10-4对于最大梯度(200)将具有较小步长,且对于较小梯度(即,1或0.1)仍具有合理的步长。
COLD神经网络输出层梯度可如下给出:
其中tp~y,且∑i(ti+1-ti)~x。
如此,COLD梯度近似为其以x为指数。
对于x∈{±10}和y∈{±20}且a=1,对于一些x有Grad∈{±4×105},但对于较小值可能在1的量级上或者更小,因此cold梯度覆盖幅值阶数,从而使得选择学习速率较难。为了克服此缺陷,本公开可通过在梯度方向上取较小或归一化的梯度改变(“步子”)来将梯度归一化。
如果在梯度方向上取较小步子没有减小学习速率,则本公开可仅对具有较大幅值或元素的梯度进行归一化,或者可限制较大方向上的加权更新。作为示例而非限定,可如下采用使用S形函数在LIF和ALIF区域之间的平滑转变:
图5解说了根据本公开的某些方面的使用通用处理器502进行前述反向传播的示例实现500。与计算网络(神经网络)相关联的变量(神经信号)、突触权重、系统参数,延迟,和频率槽信息可被存储在存储器块504中,而在通用处理器502处执行的指令可从程序存储器506中加载。在本公开的一方面,加载到通用处理器502中的指令可以包括用于获得原型神经元动态的误差梯度和/或修改神经元模型的参数以使得该神经元模型与该原型神经元动态相匹配的代码。
图6解说了根据本公开的某些方面的前述反向传播的示例实现600,其中存储器602可以经由互连网络604与计算网络(神经网络)的个体(分布式)处理单元(神经处理器)606对接。与计算网络(神经网络)相关联的变量(神经信号)、突触权重、系统参数,延迟,频率槽信息,反向传播等可被存储在存储器602中,并且可从存储器602经由互连网络604的连接被加载到每个处理单元(神经处理器)606中。在本公开的一方面,处理单元606可被配置成获得原型神经元动态的误差梯度和/或修改神经元模型的参数。
图7解说前述反向传播的示例实现700。如图7中所解说的,一个存储器组702可与计算网络(神经网络)的一个处理单元704直接对接。每一个存储器组702可存储与对应的处理单元(神经处理器)704相关联的变量(神经信号)、突触权重、和/或系统参数,延迟,频率槽信息,反向传播等。在本公开的一方面,处理单元704可被配置成获得原型神经元动态的误差梯度和/或修改神经元模型的参数。
图8解说根据本公开的某些方面的神经网络800的示例实现。如图8中所解说的,神经网络800可具有多个局部处理单元802,它们可执行上述方法的各种操作。每个局部处理单元802可包括存储该神经网络的参数的局部状态存储器804和局部参数存储器806。另外,局部处理单元802可具有用于存储局部模型程序的局部(神经元)模型程序(LMP)存储器808、用于存储局部学习程序的局部学习程序(LLP)存储器810、以及局部连接存储器812。此外,如图8中所解说的,每个局部处理单元802可与用于为该局部处理单元的各局部存储器提供配置的配置处理器单元814对接,并且与提供各局部处理单元802之间的路由的路由连接处理单元816对接。
在一种配置中,神经元模型被配置成用于获得原型神经元动态的误差梯度和/或修改神经元模型的参数。该神经元模型包括通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新的装置,以及用于使用对尖峰时间的反向传播来计算权重更新的装置。在一个方面,该计算装置和/或使用装置可以是被配置成执行所叙述的功能的通用处理器502、程序存储器506、存储器块504、存储器602、互连网络604、处理单元606、处理单元704、局部处理单元802、和/或路由连接处理单元816。在另一配置中,前述装置可以是被配置成执行由前述装置所叙述的功能的任何模块或任何设备。
根据本公开的某些方面,每一个局部处理单元802可被配置成基于神经网络的一个或多个期望功能性特征来确定神经网络的参数,以及随着所确定的参数被进一步适配、调谐和更新来使这一个或多个功能性特征朝着期望的功能性特征发展。
图9解说了用于训练尖峰神经网络的方法900。在框902,神经元模型通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新。此外,在框904,该神经元模型使用对尖峰时间的反向传播来计算权重更新。
以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及诸如此类。另外,“确定”可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。而且,“确定”可包括解析、选择、选取、确立及类似动作。
如本文中所使用的,引述一列项目中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c和a-b-c。
结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合(例如DSP与微处理器的组合、多个微处理器、与DSP核协作的一个或多个微处理器、或任何其他此类配置)。
结合本公开所描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM,等等。软件模块可包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。
本文所公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
所描述的功能可在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示例硬件配置可包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可包括任何数目的互连总线和桥接器。总线可将包括处理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用户接口(例如,按键板、显示器、鼠标、操纵杆,等等)也可以被连接到总线。总线还可以链接各种其他电路,诸如定时源、外围设备、稳压器、功率管理电路以及类似电路,它们在本领域中是众所周知的,因此将不再进一步描述。
处理器可负责管理总线和一般处理,包括执行存储在机器可读介质上的软件。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可包括随机存取存储器(RAM)、闪存、只读存储器(ROM)、可编程只读存储器(PROM)、可擦式可编程只读存储器(EPROM)、电可擦式可编程只读存储器(EEPROM)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可以包括包装材料。
在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质、或其任何部分可在处理系统外部。作为示例,机器可读介质可包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或补充地,机器可读介质、或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。虽然所讨论的各种组件可被描述为具有特定位置,诸如局部组件,但它们也可按各种方式来配置,诸如某些组件被配置成分布式计算系统的一部分。
处理系统可以被配置为通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、和提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可以包括一个或多个神经元形态处理器以用于实现本文所述的神经元模型和神经系统模型。作为另一替代方案,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的专用集成电路(ASIC)来实现,或者用一个或多个现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功能性。
机器可读介质可包括数个软件模块。这些软件模块包括当由处理器执行时使处理系统执行各种功能的指令。这些软件模块可包括传输模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。随后可将一个或多个高速缓存行加载到通用寄存器文件中以供由处理器执行。在以下谈及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。
如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其它介质。另外,任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可包括瞬态计算机可读介质(例如,信号)。上述的组合也应被包括在计算机可读介质的范围内。
因此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可包括包装材料。
此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文所述的各种方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘等物理存储介质等)来提供,以使得一旦将该存储装置耦合至或提供给用户终端和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供本文中所描述的方法和技术的任何其他合适的技术。
将理解,权利要求并不被限定于以上所解说的精确配置和组件。可在以上所描述的方法和设备的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。

Claims (22)

1.一种用于训练尖峰神经网络的方法,包括:
通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新;以及
使用对尖峰时间的反向传播来计算权重更新。
2.如权利要求1所述的方法,其特征在于,计算所述神经元状态更新是至少部分地基于差分方程更新。
3.如权利要求2所述的方法,其特征在于,计算所述神经元状态更新是至少部分地基于Cold神经元模型更新。
4.如权利要求1所述的方法,其特征在于,所述至少一个复位机制至少部分地基于阈值来触发复位。
5.如权利要求1所述的方法,其特征在于,所述权重更新包括至少部分地基于输出尖峰时间来修改至少一个权重。
6.如权利要求1所述的方法,其特征在于,计算所述权重更新包括至少部分地基于所述尖峰神经网络中在尖峰时间处的神经元状态来添加误差项。
7.如权利要求6所述的方法,其特征在于,所述神经元状态和所述尖峰时间是针对同一神经元的。
8.如权利要求1所述的方法,其特征在于,当神经元没有发放尖峰时或者当神经元在期望输出尖峰时间和实际输出尖峰时间之后发放尖峰时,所述权重更新包括默认更新值。
9.如权利要求1所述的方法,其特征在于,进一步包括当计算出的梯度超过阈值时将其归一化。
10.如权利要求1所述的方法,其特征在于,计算神经元状态更新包括至少部分地基于闭式解来计算神经元状态更新。
11.一种用于在尖峰神经网络中执行反向传播的设备,包括:
用于通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新的装置;以及
用于使用对尖峰时间的反向传播来计算权重更新的装置。
12.一种用于在尖峰神经网络中执行反向传播的计算机程序产品,包括:
其上编码有程序代码的非瞬态计算机可读介质,所述程序代码包括:
用于通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新的程序代码;以及
用于使用对尖峰时间的反向传播来计算权重更新的程序代码。
13.一种用于在尖峰神经网络中执行反向传播的装置,包括:
存储器;以及
耦合到所述存储器的至少一个处理器,所述至少一个处理器配置成:
通过尖峰发放模型以基于映射的更新和至少一个复位机制来计算神经元状态更新;以及
使用对尖峰时间的反向传播来计算权重更新。
14.如权利要求13所述的装置,其特征在于,所述至少一个处理器被进一步配置成至少部分地基于差分方程更新来计算所述神经元状态更新。
15.如权利要求14所述的装置,其特征在于,所述至少一个处理器被进一步配置成至少部分地基于Cold神经元模型更新来计算所述神经元状态更新。
16.如权利要求13所述的装置,其特征在于,所述至少一个复位机制至少部分地基于阈值来触发复位。
17.如权利要求13所述的装置,其特征在于,所述至少一个处理器被进一步配置成通过至少部分地基于输出尖峰时间修改至少一个权重来计算权重更新。
18.如权利要求13所述的装置,其特征在于,所述至少一个处理器被进一步配置成通过至少部分地基于所述尖峰神经网络中在尖峰时间处的神经元状态添加误差项来计算所述权重更新。
19.如权利要求18所述的装置,其特征在于,所述神经元状态和所述尖峰时间是针对同一神经元的。
20.如权利要求13所述的装置,其特征在于,所述至少一个处理器被进一步配置成当神经元没有发放尖峰时或者当神经元在期望输出尖峰时间和实际输出尖峰时间之后发放尖峰时,将权重更新计算为默认更新值。
21.如权利要求13所述的装置,其特征在于,所述至少一个处理器被进一步配置成当计算出的梯度超过阈值时将其归一化。
22.如权利要求13所述的装置,其特征在于,所述至少一个处理器被进一步配置成通过至少部分地基于闭式解计算神经元状态更新来计算神经元状态更新。
CN201580015733.5A 2014-03-24 2015-03-18 Cold神经元尖峰定时反向传播 Pending CN107077636A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461969752P 2014-03-24 2014-03-24
US61/969,752 2014-03-24
US14/486,757 2014-09-15
US14/486,757 US20150269485A1 (en) 2014-03-24 2014-09-15 Cold neuron spike timing back-propagation
PCT/US2015/021326 WO2015148224A2 (en) 2014-03-24 2015-03-18 Cold neuron spike timing back propagation

Publications (1)

Publication Number Publication Date
CN107077636A true CN107077636A (zh) 2017-08-18

Family

ID=54142458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580015733.5A Pending CN107077636A (zh) 2014-03-24 2015-03-18 Cold神经元尖峰定时反向传播

Country Status (7)

Country Link
US (1) US20150269485A1 (zh)
EP (1) EP3123402A2 (zh)
JP (1) JP2017515205A (zh)
KR (1) KR20160136364A (zh)
CN (1) CN107077636A (zh)
TW (1) TW201602807A (zh)
WO (1) WO2015148224A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112384934A (zh) * 2018-09-06 2021-02-19 国际商业机器公司 因子图上的概率传播

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198689B2 (en) 2014-01-30 2019-02-05 Hrl Laboratories, Llc Method for object detection in digital image and video using spiking neural networks
US9984326B1 (en) * 2015-04-06 2018-05-29 Hrl Laboratories, Llc Spiking neural network simulator for image and video processing
US9933264B2 (en) 2015-04-06 2018-04-03 Hrl Laboratories, Llc System and method for achieving fast and reliable time-to-contact estimation using vision and range sensor data for autonomous navigation
US9934437B1 (en) 2015-04-06 2018-04-03 Hrl Laboratories, Llc System and method for real-time collision detection
US11126913B2 (en) * 2015-07-23 2021-09-21 Applied Brain Research Inc Methods and systems for implementing deep spiking neural networks
US10713562B2 (en) * 2016-06-18 2020-07-14 International Business Machines Corporation Neuromorphic memory circuit
US11238337B2 (en) * 2016-08-22 2022-02-01 Applied Brain Research Inc. Methods and systems for implementing dynamic neural networks
US9779355B1 (en) 2016-09-15 2017-10-03 International Business Machines Corporation Back propagation gates and storage capacitor for neural networks
US10846595B2 (en) * 2016-12-20 2020-11-24 Intel Corporation Rapid competitive learning techniques for neural networks
US11521045B2 (en) 2017-06-14 2022-12-06 Knowm, Inc. Anti-Hebbian and Hebbian (AHAH) computing
EP3502974A1 (de) * 2017-12-20 2019-06-26 Siemens Aktiengesellschaft Verfahren zur realisierung eines neuronalen netzes
KR102603287B1 (ko) * 2018-01-11 2023-11-20 한국전자통신연구원 뉴로모픽 시스템 및 그것의 동작 방법
FR3087560A1 (fr) * 2018-10-23 2020-04-24 Commissariat A L'energie Atomique Et Aux Energies Alternatives Retro-propagation d'erreurs sous forme impulsionnelle dans un reseau de neurones impulsionnels
US11640522B2 (en) 2018-12-13 2023-05-02 Tybalt, Llc Computational efficiency improvements for artificial neural networks
KR102311135B1 (ko) * 2019-03-07 2021-10-14 고려대학교 산학협력단 스파이킹 뉴럴 네트워크에 대한 연산량을 감소시키는 stdp 기반의 뉴로모픽 연산처리장치
KR102431371B1 (ko) * 2019-11-26 2022-08-10 성균관대학교산학협력단 스파이킹 뉴런 모델 및 그의 스파이크 생성 방법
CN112884141B (zh) * 2021-04-16 2022-10-21 安徽大学 一种忆阻耦合Hindmarsh-Rose神经元电路
CN113408618B (zh) * 2021-06-18 2023-04-18 电子科技大学 一种基于R-Multi-parameter PBSNLR模型的图像分类方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8918352B2 (en) * 2011-05-23 2014-12-23 Microsoft Corporation Learning processes for single hidden layer neural networks with linear output units
US9147155B2 (en) * 2011-08-16 2015-09-29 Qualcomm Incorporated Method and apparatus for neural temporal coding, learning and recognition
US9111224B2 (en) * 2011-10-19 2015-08-18 Qualcomm Incorporated Method and apparatus for neural learning of natural multi-spike trains in spiking neural networks
US9111225B2 (en) * 2012-02-08 2015-08-18 Qualcomm Incorporated Methods and apparatus for spiking neural computation
US20140074761A1 (en) * 2012-05-30 2014-03-13 Qualcomm Incorporated Dynamical event neuron and synapse models for learning spiking neural networks
US20130325767A1 (en) * 2012-05-30 2013-12-05 Qualcomm Incorporated Dynamical event neuron and synapse models for learning spiking neural networks
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
US9489623B1 (en) * 2013-10-15 2016-11-08 Brain Corporation Apparatus and methods for backward propagation of errors in a spiking neuron network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112384934A (zh) * 2018-09-06 2021-02-19 国际商业机器公司 因子图上的概率传播

Also Published As

Publication number Publication date
JP2017515205A (ja) 2017-06-08
KR20160136364A (ko) 2016-11-29
WO2015148224A2 (en) 2015-10-01
EP3123402A2 (en) 2017-02-01
WO2015148224A3 (en) 2015-11-26
US20150269485A1 (en) 2015-09-24
TW201602807A (zh) 2016-01-16

Similar Documents

Publication Publication Date Title
CN107077636A (zh) Cold神经元尖峰定时反向传播
CN106663222A (zh) 神经网络中的分解卷积操作
CN105229675B (zh) 尖峰网络的高效硬件实现
CN106030620B (zh) 用于随机尖峰贝叶斯网络的基于事件的推断和学习
CN106030622A (zh) 原位神经网络协同处理
CN105874477A (zh) 配置稀疏神经网络
CN107077637A (zh) 神经网络中的差分编码
CN105637539B (zh) 用于修改神经动态的自动化方法
CN106462797A (zh) 共同特征上的定制分类器
CN105580031B (zh) 在多维范围上对包括可分离子系统的系统的评估
CN105637541A (zh) 用于神经模拟器的共享存储器架构
CN106104577A (zh) 照片管理
CN106133755A (zh) 使用尖峰发放神经网络的图像的不变对象表示
CN106663221A (zh) 由知识图谱偏置的数据分类
CN105723383A (zh) 因果凸显性时间推断
CN106687995A (zh) 分布式模型学习
Patra et al. Nonlinear dynamic system identification using Legendre neural network
CN105934766B (zh) 用阴影网络来监视神经网络
CN106164940A (zh) 在尖峰神经网络中通过全局标量值来调制可塑性
CN105981055A (zh) 神经网络对当前计算资源的自适应
CN106133763B (zh) 可塑性突触管理
CN106068519A (zh) 用于共用神经元模型的高效实现的方法和装置
CN105612492A (zh) 用于产生伪随机数的可编程概率分布函数的方法和装置
CN106104585A (zh) 经由阈下调制的模拟信号重构和识别
CN105659260B (zh) 动态地指派和检查突触延迟

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170818