CN105556543B - 针对神经模型的群组标签的实现方案的方法和装置 - Google Patents

针对神经模型的群组标签的实现方案的方法和装置 Download PDF

Info

Publication number
CN105556543B
CN105556543B CN201480051708.8A CN201480051708A CN105556543B CN 105556543 B CN105556543 B CN 105556543B CN 201480051708 A CN201480051708 A CN 201480051708A CN 105556543 B CN105556543 B CN 105556543B
Authority
CN
China
Prior art keywords
group
cynapse
parameter sets
neuron
parameter
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.)
Active
Application number
CN201480051708.8A
Other languages
English (en)
Other versions
CN105556543A (zh
Inventor
D·J·朱利安
J·A·莱温
J·B·格尔哈尔
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 CN105556543A publication Critical patent/CN105556543A/zh
Application granted granted Critical
Publication of CN105556543B publication Critical patent/CN105556543B/zh
Active 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
    • 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/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)
  • Nitrogen Condensed Heterocyclic Rings (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请的某些方面支持将神经元和/或突触分配给群组标签,其中,群组标签具有相关联的参数集合。通过使用群组标签,可以向群中的神经元或突触分配群组标签。然后,通过改变与该群组标签相关联的参数,可以改变该群组中的全部突触或神经元的该参数。

Description

针对神经模型的群组标签的实现方案的方法和装置
基于35U.S.C.§119声明优先权
本申请要求享有于2013年9月25日递交的美国临时专利申请序列号No.61/882,465,以及于2014年5月2日递交的美国申请序列号No.14/268,152的权益,将这两个美国申请的全部内容以引用方式并入本文。
技术领域
本申请的某些方面通常涉及人工神经系统,更具体地说,涉及用于实现针对神经元和突触的群组标签的方法和装置。
背景技术
人工神经网络(其可以包括相互连接的人工神经元(即,神经处理单元)群组)是计算设备或者表示由计算设备执行的方法。人工神经网络可以具有相应的生物神经网络中的结构和/或功能。然而,人工神经网络可以针对某些应用提供新颖和有用的计算技术,在这些应用中,传统的计算技术繁琐、不实用或者不能胜任。由于人工神经网络可以通过观察来推断出功能,因此这些网络在其中任务或数据的复杂度使得通过传统技术设计的功能很繁重的应用中特别有用。
人工神经网络的一种类型是尖峰神经网络,其将时间的概念以及神经元和突触状态纳入其操作模型中,从而提供了丰富的行为集合,根据该行为集合,计算功能可以在神经网络中出现。尖峰神经网络是基于如下构思:神经元根据该神经元的状态而在特定的一个或多个时刻发放(fire)或“产生尖峰”,并且该时刻对神经元功能较为重要。当神经元发放时,其生成传播到其它神经元的尖峰,这些其它神经元转而可以基于接收到该尖峰的时间来对它们的状态进行调整。换句话说,在神经网络中的尖峰的相对或绝对时序中,可以对信息进行编码。
发明内容
本申请的某些方面提供了一种用于对人工神经系统进行操作的方法。所述方法通常包括:将人工神经系统的第一突触群或第一人工神经元群中的至少一个分配给第一群组标签,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;将人工神经系统的第二突触群或第二人工神经元群中的至少一个分配给第二群组标签,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;以及改变第一参数集合或第二参数集合中的至少一个参数集合中的一个或多个参数引起改变下列各项中的至少一项的一个或多个参数:第一群或第二群中的至少一个中的一个或多个突触、或者第一群或第二群中的至少一个中的一个或多个人工神经元。
本申请的某些方面提供了一种用于对人工神经系统进行操作的装置。所述装置通常包括处理系统和耦合到所述处理系统的存储器。处理系统通常被配置成:将人工神经系统的第一突触群或第一人工神经元群中的至少一个分配给第一群组标签,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;将人工神经系统的第二突触群或第二人工神经元群中的至少一个分配给第二群组标签,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;以及改变第一参数集合或第二参数集合中的至少一个参数集合中的一个或多个参数引起改变下列各项中的至少一项的一个或多个参数:第一群或第二群中的至少一个中的一个或多个突触、或者第一群或第二群中的至少一个中的一个或多个人工神经元。
本申请的某些方面提供了一种用于对人工神经系统进行操作的装置。所述装置通常包括以下单元:用于将人工神经系统的第一突触群或第一人工神经元群中的至少一个分配给第一群组标签的单元,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;用于将人工神经系统的第二突触群或第二人工神经元群中的至少一个分配给第二群组标签的单元,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;以及用于改变第一参数集合或第二参数集合中的至少一个参数集合中的一个或多个参数引起改变下列各项中的至少一项的一个或多个参数的单元:第一群或第二群中的至少一个中的一个或多个突触、或者第一群或第二群中的至少一个中的一个或多个人工神经元。
本申请的某些方面提供了一种用于对人工神经系统进行操作的计算机程序产品。所述计算机程序产品通常包括具有可执行如下操作的指令的计算机可读介质:将人工神经系统的第一突触群或第一人工神经元群中的至少一个分配给第一群组标签,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;将人工神经系统的第二突触群或第二人工神经元群中的至少一个分配给第二群组标签,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;以及改变第一参数集合或第二参数集合中的至少一个参数集合中的一个或多个参数引起改变下列各项中的至少一项的一个或多个参数:第一群或第二群中的至少一个中的一个或多个突触、或者第一群或第二群中的至少一个中的一个或多个人工神经元。
本申请的某些方面提供了一种用于对人工神经系统进行操作的方法。所述方法通常包括:将人工神经系统的人工神经元和突触的群组分配给具有相关联的参数集合的群组标签;以及发送单个消息以改变集合中的参数值,引起群组中的全部人工神经元和突触的参数的同时切换。
本申请的某些方面提供了一种用于操作人工神经系统的装置。所述装置通常包括处理系统和耦接到所述处理系统的存储器。处理系统通常被配置为:将人工神经系统的人工神经元和突触的群组分配给具有相关联的参数集合的群组标签;以及发送单个消息以改变集合中的参数值,引起群组中的全部人工神经元和突触的参数的同时切换。
本申请的某些方面提供了一种用于对人工神经系统进行操作的装置。所述方装置通常包括如下单元:用于将人工神经系统的人工神经元和突触的群组分配给具有相关联的参数集合的群组标签的单元;以及用于发送单个消息以改变集合中的参数值,引起群组中的全部人工神经元和突触的参数的同时切换的单元。
本申请的某些方面提供了一种用于对人工神经系统进行操作的计算机程序产品。所述计算机程序产品通常包括具有可执行如下操作的指令的计算机可读介质:将人工神经系统的人工神经元和突触的群组分配给具有相关联的参数集合的群组标签;以及发送单个消息以改变集合中的参数值,引起群组中的全部人工神经元和突触的参数的同时切换。
附图说明
为了能够详细地理解本申请的上述特征的实现方案,可以通过参照多个方面对上面的简要概括进行更具体的描述,在附图中示出了这些方面中的一些方面。然而,应当注意的是,附图仅示出了本申请的某些典型方面,因此不应该被认为是对本申请的范围的限制,因为该描述可以允许其它等效方面。
图1根据本申请的某些方面,描绘了示例性神经网络。
图2根据本申请的某些方面,描绘了计算网络(神经系统或神经网络)的示例性处理单元(神经元)。
图3根据本申请的某些方面,描绘了示例性尖峰时序依赖可塑性(STDP)曲线。
图4是人工神经元状态的示例图,其根据本申请的某些方面描绘了用于定义神经元的行为的正状况(regime)和负状况。
图5是根据本申请的某些方面,用于对人工神经系统进行操作的示例性操作的流图。
图5A示出了能够执行图5中示出的操作的示例性单元。
图6是根据本申请的某些方面,用于对人工神经系统进行操作的示例性操作的另一个流图。
图6A示出了能够执行图6中示出的操作的示例性单元。
图7根据本申请的某些方面,示出了用于使用通用处理器来对人工神经系统进行操作的示例性实现方案。
图8根据本申请的某些方面,示出了用于对人工神经系统进行操作的示例性实现方案,其中,存储器可以与各个分布式处理单元相对接。
图9根据本申请的某些方面,示出了用于基于分布式存储器和分布式处理单元来对人工神经系统进行操作的示例性实现方案。
图10根据本申请的某些方面,示出了神经网络的示例性实现方案。
具体实施方式
下面参照附图更全面地描述本申请的各个方面。但是,可以通过很多不同的形式来具体实现本申请,并且本申请不应被解释为限于贯穿本申请给出的任何具体结构或功能。更确切地说,提供这些方面使得本申请将变得透彻和完整,并将向本领域普通技术人员完整地传达本申请的保护范围。基于本文的教示,本领域普通技术人员应当理解的是,本申请的保护范围旨在覆盖本申请所披露的公开内容的任何方面,无论其是独立地实现还是结合本申请的任何其它方面来实现。例如,使用本申请阐述的任意数量的方面可以实现装置或实施方法。此外,本申请的保护范围旨在覆盖这种装置或方法,这种装置或方法可以是通过使用本文阐述的本申请的各个方面再加上其它结构、功能、或者结构与功能,或者与本文阐述的本申请的各个方面不同的其它结构、功能、或者结构与功能来实现的。应当理解的是,可以通过权利要求的一个或多个元素来具体实现本文所披露的公开内容的任何方面。
本文中使用“示例性的”一词表示“用作例子、例证或说明”。本文被描述为“示例性”的任何方面不一定被解释为比其它方面更优选或更具优势。
虽然本文描述了一些特定方面,但是这些方面的很多变型和排列落入本申请的保护范围之内。虽然提到了优选方面的一些益处和优点,但是本申请的保护范围并非旨在限于特定的益处、用途或目的。更确切地说,本申请的方面旨在广泛地适用于不同的技术、系统配置、网络和协议,其中的一些是通过示例的方式在附图和下面对优选方面的说明中描述的。详细描述和附图仅仅是对本申请的说明而不是限制,本申请的保护范围是由所附权利要求及其等同物限定的。
示例性神经系统
图1示出了根据本申请的某些方面具有多级神经元的示例性神经系统100。神经系统100可以包括一级神经元102,其通过突触连接(即,前馈连接)网络104连接至另一级神经元106。为了简明,图1中仅示出了两级神经元,但是在典型的神经系统中可以存在更少级或更多级的神经元。应该注意的是,这些神经元中的一些神经元可以通过侧面连接连接到同一层的其它神经元。此外,这些神经元中的一些神经元可以通过反馈连接连接回前一层的神经元。
如图1中所示,级102中的每一个神经元可以接收可以由前一级的多个神经元(图1中未示出)生成的输入信号108。信号108可以表示针对级102神经元的输入(例如,输入电流)。可以在神经元膜上累积这样的输入以便对膜电势进行充电。当膜电势达到其阈值时,神经元可以发放(fire)并且生成要传递到下一级神经元(例如,级106)的输出尖峰。可以用硬件和/或软件来模仿或仿真这种行为,包括模拟和数字实现方案。
在生物神经元中,当神经元发放时生成的输出尖峰被称为动作电势。该电信号是相对快速、短暂、全有或全无的神经脉冲,具有大约100mV的幅度和大约1ms的持续时间。在具有一系列连接的神经元(例如,在图1中,尖峰从神经元的一级到另一级的传输)的神经系统的特定方面中,每个动作电势具有基本相同的幅度和持续时间,因而信号中的信息仅由尖峰的频率和数量(或尖峰的时间)来表示,而不是由振幅来表示。由动作电势所携带的信息是由尖峰、产生尖峰的神经元、以及尖峰相对于一个或多个其它尖峰的时间来确定的。
如图1所示,可以通过突触连接网络(或者简称为“突触”)104来实现尖峰从一级神经元到另一级神经元的传递。突触104可以从级102的神经元(与突触104有关的突触前神经元)接收输出信号(即,尖峰)。对于某些方面,可以根据可调节的突触权重(其中,P是在级102的神经元与106的神经元之间的突触连接的总数量)来对这些信号进行缩放。对于其它方面,突触104可以不应用任何突触权重。此外,可以将(缩放后的)信号组合成级106中每一个神经元(与突触104有关的突触后神经元)的输入信号。级106中的每一个神经元可以基于相应的组合输入信号来生成输出尖峰110。然后,可以使用另一突触连接网络(图1中未示出)将输出尖峰110传递到另一级神经元。
可以将生物突触分类为电的或化学的。虽然电突触主要用于发送兴奋信号,但化学突触可以调停突触后神经元中的兴奋或抑制(超极化)动作,并且还可以用于放大神经元信号。兴奋信号通常对膜电势进行去极化(即,增加相对于静息电势的膜电势)。如果在某个时间段内接收到了足够的、对阈值之上的膜电势进行去极化的兴奋信号,则在突触后神经元中出现动作电势。相反,抑制信号通常对膜电势进行超极化(即,降低)。抑制信号(如果足够强)可以抵消兴奋信号的总和,并且防止膜电势达到阈值。除了抵消突触激发之外,突触抑制可以对自发活动神经元进行有力控制。自发活动神经元指的是在没有进一步输入(例如,由于其动力或反馈而引起)的情况下产生尖峰的神经元。通过抑制这些神经元中的动作电势的自发产生,突触抑制可以形成神经元中的发放模式,这通常被称为雕塑。各种突触104可以用作兴奋或抑制突触的任意组合,这取决于所期望的行为。
可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件(PLD)、分立门或晶体管逻辑、分立硬件组件、由处理器执行的软件模块或者它们的任意组合来模拟神经系统100。神经系统100可以用于广泛的应用中,例如,图像和模式识别、机器学习、运动控制等。神经系统100中的每一个神经元可以实现为神经元电路。被充电至阈值从而发起输出尖峰的神经元膜可以实现为例如电容器,该电容器对流过它的电流进行积分。
在一个方面中,可以去掉作为神经元电路的电流积分设备的电容器,并可以在其位置处使用更小的忆阻器元件。该方案可以应用于神经元电路以及其中将体积大的电容器用作电流积分器的各种其它应用中。此外,可以基于忆阻器元件来实现突触104中的每一个突触,其中,突触权重变化可能与忆阻器阻抗的变化相关。通过使用纳米特征尺寸的忆阻器,可以大大减小神经元电路和突触的面积,这可以使得超大规模神经系统硬件实现方案的实施切实可行。
对神经系统100进行模拟的神经处理器的功能可能取决于突触连接的权重,所述突触连接的权重可以控制神经元之间的连接强度。可以将突触权重存储在非易失性存储器中,以便在断电后保持处理器的功能。在一方面中,可以在与主神经处理器芯片分开的外部芯片上实现突触权重存储器。可以将突触权重存储器封装成与神经处理器芯片分开的可替换的存储卡。这样可以向神经处理器提供各种功能,其中,特定的功能可以基于当前连接到神经处理器的存储卡中存储的突触权重。
图2根据本申请的某些方面,描绘了计算网络(例如,神经系统或神经网络)的处理单元(例如,人工神经元202)的示例200。例如,神经元202可以与图1中的级102和级106的任何神经元相对应。神经元202可以接收多个输入信号2041-204N(x1-xN),这些输入信号可以是神经系统之外的信号、或者由同一神经系统的其它神经元生成的信号、或者二者的组合。输入信号可以是电流或电压、实数值或复数值。输入信号可以包括使用定点或浮点表示的数值。可以通过突触连接将这些输入信号传送给神经元202,所述突触连接根据可调整的突触权重2061-206N(w1-wN)对这些信号进行缩放,其中,N可以是神经元202的输入连接的总数。
神经元202可以对已缩放的输入信号进行组合,使用所组合的已缩放的输入信号来生成输出信号208(即,信号y)。输出信号208可以是电流或电压、实数值或复数值。输出信号可以包括使用定点或浮点表示的数值。随后,可以将输出信号208进行传送,作为针对同一神经系统的其它神经元的输入信号,或者作为针对相同神经元202的输入信号,或者作为该神经系统的输出。
可以用电子电路来模拟处理单元(神经元202),并且可以用具有突触电路的电线来模拟处理单元(神经元202)的输入和输出连接。也可以用软件代码来模拟处理单元及其输入和输出连接。可以用电子电路来模拟处理单元,而处理单元的输入和输出连接可以用软件代码来模拟。在一个方面中,计算网络中的处理单元可以包括模拟电子电路。在另一个方面中,处理单元可以包括数字电子电路。在又一个方面中,处理单元可以包括具有模拟组件和数字组件两者的混合信号电子电路。计算网络可以包括具有任何上述形式的处理单元。使用这些处理单元的计算网络(神经系统或神经网络)可以用于诸如图像和模式识别、机器学习、运动控制等广泛的应用中。
在神经网络的训练过程期间,可以使用随机值对突触权重(例如,图1中的权重和/或图2中的权重2061-206N)进行初始化,并且所述突触权重根据学习规则进行增大或减小。学习规则的一些示例是:尖峰时序依赖可塑性(STDP)学习规则、Hebb规则、Oja规则、Bienenstock-Copper-Munro(BCM)规则等。很多时候,权重可能会稳定在两个值(即,权重的双峰分布)中的一个值。可以利用这种效应来减少每一突触权重的比特数量、增加从存储突触权重的存储器读取的速度/向该存储器写入的速度、以及降低突触存储器的功耗。
突触类型
在神经网络的硬件模型和软件模型中,对与突触相关的功能的处理可以基于突触类型。突触类型可以包括非可塑性突触(权重和延迟不变)、可塑性突触(权重可以变化)、结构延迟可塑性突触(权重和延迟可以变化)、完全可塑性突触(权重、延迟和连接性可以变化)以及上述的变型(例如,延迟可以变化,但是权重或连接不变)。这样的优点是处理可以被细分。例如,非可塑性突触可能不需要可塑性功能被执行(或等待这些功能完成)。类似地,可以将延迟和权重可塑性细分为可以顺序或并行地、一起或单独操作的操作。针对所应用的不同可塑性类型中的每一种可塑性类型,不同类型的突触可以具有不同的查找表或方程以及参数。因此,该方法将针对突触的类型,访问相关表格。
可以独立于突触可塑性来执行尖峰时序依赖结构可塑性的事实还有其它含义。由于结构可塑性(即,延迟变化的量)可以是前-后尖峰时间差的直接函数,所以即使权重幅度没有变化(例如,如果权重已经达到最小值或最大值,或者权重由于某些其它原因而没有发生变化),也可以执行结构可塑性。或者,可以将其设置为权重变化量的函数或者基于与权重或权重变化的界限有关的状况。例如,只有当权重变化发生时或者如果权重达到零,则突触延迟可以变化,但是如果权重达到最大值,就不是如此了。然而,可能有利于具有独立功能,使得可以使这些过程并行化,从而减少存储器访问的数量和重叠。
突触可塑性的确定
神经可塑性(或简称为“可塑性”)是大脑中的神经元和神经网络响应于新的信息、感官刺激、发展、损害或功能紊乱来改变它们的突触连接和行为的能力。可塑性对于生物的学习和记忆、以及计算神经系统科学和神经网络来说是重要的。人们已经对诸如突触可塑性(例如,根据Hebbian理论)、尖峰时序依赖可塑性(STDP)、非突触可塑性、活动依赖可塑性、结构可塑性和自我平衡可塑性之类的各种形式的可塑性进行了研究。
STDP是对神经元(例如,大脑中的那些神经元)之间的突触连接的强度进行调整的学习过程。基于特定神经元的输出和所接收的输入尖峰(即,动作电势)的相对时序来对连接强度进行调整。在STDP过程中,如果针对某个神经元的输入尖峰常常(平均而言)在该神经元的输出尖峰之前刚发生,那么可能发生长时程增强(LTP)。然后,使该特定输入稍微增强。相反,如果输入尖峰常常(平均而言)在输出尖峰之后立即发生,那么可能发生长时程抑制(LTD)。然后,使该特定输入稍微减弱,因此命名为“尖峰时序依赖可塑性”。因此,可能是突触后神经元的激励的原因的输入未来更有可能起作用,而不是突触后尖峰的原因的输入未来不太可能起作用。该过程持续,直到连接的初始集合的子集仍然存在而所有其它的影响减小到零或接近零为止。
由于神经元通常在其输入中的许多输入发生在短时段内(即,足够累积以导致输出)时产生输出尖峰,所以通常仍然存在的输入的子集包括那些常常在时间上相关的输入。此外,由于在输出尖峰之前发生的输入被加强,所以提供对相关的最早的充分累积指示的输入将最终成为对神经元的最终输入。
STDP学习规则可以根据突触前神经元的尖峰时间tpre与突触后神经元的尖峰时间tpost之间的时间差(即,t=tpost-tpre),来有效地调整用于将突触前神经元连接到突触后神经元的突触的突触权重。STDP的典型公式是:如果时间差为正数(即,突触前神经元在突触后神经元之前发放(fire)),则增加突触权重(即,增强突触),而如果时间差为负数(即,突触后神经元在突触前神经元之前发放),则减小突触权重(即,抑制突触)。
在STDP过程中,通常可以使用指数衰减来达到突触权重随时间的变化,如下式所给出的:
其中k+和k_分别是正时间差和负时间差的时间常数,a+和a_是相应的缩放幅度,而μ是可以应用到正时间差和/或负时间差的偏移。
图3示出了根据STDP,突触权重根据突触前尖峰和突触后尖峰的相对时序而变化的示例性曲线300。如曲线图300的部分302中所示,如果突触前神经元在突触后神经元之前发放,那么可以增加相应的突触权重。该权重增加可被称为突触的LTP。可以从曲线部分302观察到,LTP的量可以根据突触前尖峰时间与突触后尖峰时间之差大致呈指数减少。如曲线图300的部分304中所示,相反的发放顺序可以减少突触权重,从而导致突触的LTD。
如图3中的曲线图300所示,可以将负偏移μ应用到STDP曲线的LTP(原因)部分302。x轴(y=0)的交点306可以被配置为与考虑来自层i-1(突触前层)的原因输入的相关性的最大时滞相一致。在基于帧的输入(即,输入具有包括尖峰或脉冲的特定持续时间的帧形式)的情况下,可以计算偏移值μ以反映帧边界。由于由突触后电势直接形成模型或者依据对神经状态的影响,所以帧中的第一输入尖峰(脉冲)可以被视为随着时间进行衰减。如果帧中的第二输入尖峰(脉冲)被视为与特定的时间帧相关或有关,那么可以在该时间帧边界处分开该帧之前和之后的相关时间,并通过对STDP曲线的一个或多个部分进行偏移而在可塑性方面对帧之前和之后的相关时间进行区别对待,从而使得相关时间中的值可以有所不同(例如,多于一帧,值为负;而少于一帧,值为正)。例如,可以设置负偏移μ以偏移LTP,从而使得曲线实际上在大于帧时间的前后时间处达到0以下,因此其是LTD而不是LTP的部分。
神经元模型和操作
设计有用的尖峰神经元模型有一些一般原则。良好的神经元模型可以在两个计算状况方面具有丰富的潜在表现:符合侦测(coincidence detection)和函数计算。此外,良好的神经元模型应该具有两个要素以允许时间编码:输入到达时间影响输出时间,并且符合侦测可以具有窄的时间窗。最后,要在计算上有吸引力,良好的神经元模型会具有连续时间上的封闭形式的解,并且具有稳定的表现,包括靠近吸引子和鞍点。换句话说,有用的神经元模型是一种实用的、并且可以用于模拟丰富、现实以及与生物一致的行为、以及用于工程和反向工程神经电路的神经元模型。
神经元模型可以依赖于事件,诸如输入到达、输出尖峰、或者内部或外部的其它事件。要实现丰富的行为指令表,可能需要能够表现复杂行为的状态机。如果事件本身的发生与输入(如果有的话)的作用分开可以影响状态机并且约束事件之后的动力,那么系统的未来状态不仅仅是状态和输入的函数,而是状态、事件和输入的函数。
在一个方面中,可以将神经元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神经元模型是最小的双状况尖峰线性动力模型,其可以再现丰富多样的神经行为。该模型的一维或二维线性动力可以具有两种状况,其中,时间常数(和耦合)可以依赖于状况。在阈下(sub-threshold)状况中,按照惯例,负的时间常数表示泄漏通道动力,所述泄漏通道动力通常采取行动以生物一致的线性方式使细胞返回静息。在超阈值状况中,按照惯例,正的时间常数反映抗泄漏通道动力在引起尖峰生成延迟的同时通常驱动细胞产生尖峰。
如图4中所示,可以将模型的动力划分成两种(或更多种)状况。可以将这些状况称为负状况402(也可互换地称为泄漏积分及发放(LIF)状况,不与LIF神经元模型混淆)和正状况404(还可互换地称为抗泄漏积分及发放(ALIF)状况,不与ALIF神经元模型混淆)。在负状况402中,状态在未来事件的时刻趋向于静息(v-)。在该负状况情况下,模型通常呈现暂时输入检测属性和其它阈下表现。在正状况404中,状态趋向于尖峰事件(vs)。在该正状况情况下,模型呈现计算属性,例如引起取决于后续输入事件的尖峰的延迟。依据事件来对动力进行构建以及将动力分成这两种状况是该模型的基本特征。
根据惯例,可以将线性双状况二维动力(针对状态v和u)定义为,
其中,qρ和r是用于耦接的线性变换变量。
当讨论或表达具体状况的关系时,本文中使用符号ρ来表示动力状况,其中按照惯例针对负状况和正状况,分别使用符号“-”或“+”来代替符号ρ。
模型状态由膜电势(电压)v和恢复电流u来定义。在基本形式中,状况基本上由模型状态来确定。精确和一般的定义有微妙但重要的方面,但就目前而言,如果电压v高于阈值(v+),则认为模型处于正状况404,否则处于负状况402。
状况依赖的时间常数包括负状况时间常数τ-和正状况时间常数τ+。恢复电流时间常数τu通常独立于状况。为了方便起见,通常将负状况时间常数τ-规定为负的量以反映衰减,从而使得可以将针对电压演化的相同表达式用于正状况,在正状况中,指数和τ+将通常为正,τu也将如此。
可以通过将状态从其零斜率线(null-clines)偏移的变换来使两种状态元素的动力在事件处耦合,其中变换变量是
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-
通过瞬间耦合的原则,不仅对于状态(并且具有单个指数项),而且对于达到特定的状态所需要的时间来说,封闭形式的解是有可能的。封闭形式状态解是
因此,只有在诸如输入(突触前尖峰)或输出(突触后尖峰)的事件出现之后模型状态才会被更新。也可以在任何特定的时间执行操作(不管是否有输入或输出)。
此外,通过瞬间耦合原则,可以预计突触后尖峰的时间,从而使得可以在没有迭代技术或数值方法(例如,欧拉(Euler)数值方法)的情况下提前确定达到特定状态的时间。假设先前的电压状态v0,达到电压状态vf之前的时间延迟通过下式给出:
如果尖峰被定义为在电压状态v达到vS的时刻发生,那么从电压处于给定状态v开始起直到测量到尖峰发生所经过的时间量或相对延迟的封闭形式的解为:
其中,虽然其它变型可能是有可能的,但是通常将设置为参数v
模型动力的上述定义取决于该模型处于正状况还是负状况。如所提到的,可以在事件发生时计算耦合和状况ρ。出于状态传播的目的,可以基于上一个(前一个)事件时刻的状态来定义状况和耦合(变换)变量。出于后续预计尖峰输出时间的目的,可以基于下一个(当前)事件时刻的状态来定义状况和耦合变量。
Cold模型以及适时执行仿真、模拟或模型有几种可能的实现方案。这包括,例如,事件更新、逐步事件(step-event)更新以及逐步更新(step-update)模式。事件更新是基于事件或“事件更新”(在特定的时刻)来更新状态的更新。逐步更新是当模型以间隔(如1毫秒)来更新时的更新。这并不一定需要迭代方法或数值方法。通过只更新模型(如果事件在各步处或者在各步之间发生)或者通过“逐步事件”更新,在基于逐步的仿真器中,按照有限的时间分辨率,基于事件的实现方案也是有可能的。
神经编码
有用的神经网络模型(例如,由图1的人工神经元102、106组成的一个神经网络模型)可以经由各种适当的神经编码方案(例如,符合编码(coincidence coding)、时间编码或速率编码)中的任何一种编码方案来对信息进行编码。在符合编码中,以神经元群的动作电势(尖峰活动)的符合度(或时间接近度),来对信息进行编码。在时间编码中,神经元通过动作电势(即,尖峰)的精确时序(无论是绝对时间或相对时间)来对信息进行编码。因此,可以以神经元群中的尖峰相对时序来对信息进行编码。相反,速率编码涉及以发放速率或群发放速率来对信息进行编码。
如果神经元模型可以执行时间编码,那么它也可以执行速率编码(因为速率只是时序或尖峰间间隔的函数)。为了提供时间编码,良好的神经元模型应该具有两个要素:(1)输入的到达时间影响输出时间;以及(2)符合侦测可以具有窄的时间窗。连接延迟提供了一种将符合侦测扩展到时间模式解码的手段,因为通过适当推迟时间模式的元素,可以将这些元素引入时序符合。
到达时间
在良好的神经元模型中,输入的到达时间应该对输出的时间有影响。突触输入——无论是狄拉克δ(Dirac delta)函数还是所形成的突触后电势(PSP),无论是兴奋(EPSP)还是抑制(IPSP)——具有到达时间(例如,δ函数、或一步的开始或峰值、或其它输入函数的时间),其可以被称为输入时间。神经元输出(即,尖峰)具有发生时间(不管在何处对其进行测量,例如,在细胞体处、在沿轴突的点处、或在轴突的端部处),该发生时间可以被称为输出时间。该输出时间可以是尖峰的峰值时间、尖峰的开始时间、或者相对于输出波形的任何其它时间。首要原则是输出时间取决于输入时间。
有人可能会在第一眼就认为所有的神经元模型都符合该原则,但通常并非如此。例如,基于速率的模型不具有该特征。许多尖峰模型通常也不符合。如果有额外的输入(超过阈值),则泄漏积分及发放(LIF)模型不会发放得更快。此外,如果以极高定时分辨率进行建模可能符合的模型,常常在定时分辨率被限制到例如1毫秒的步长时将不符合。
输入
针对神经元模型的输入可以包括狄拉克δ(Dirac delta)函数(例如,作为电流的输入)或基于电导的输入。在后一种情况中,对神经元状态的贡献可以是连续的或依赖于状态的。
解决的示例性问题
本申请的某些方面提供了对两个问题的解决方案:减少对人工神经元和/或突触的集合的存储器需求,以及同时或在相近的时间开启/关闭与大量神经元和/或突触群相关联的标志。
在尖峰神经元网络中,存在定义每个人工神经元(神经元电路)和突触的多个参数。大量的神经元和突触群往往共享相同的参数或只有一些参数不同。对于共享相同参数的群,可以使用突触类型和神经元类型的概念。因此,每个突触或神经元实例可能只需要一些比特来规定其突触类型或神经元类型,并且突触类型表或神经元类型表可以包括突触参数或神经元参数的列表。这个方案已经大大节省了用于共享完全相同的参数的突触或人工神经元的存储器。
然而,神经元群或突触群往往可能只有一些不同的参数,这些参数目前需要全新类型定义,在这种情况下将优选节省存储器。很多时候,两个或更多个神经元群或突触群与神经元类型参数或突触类型参数相关联,所述神经元类型参数或突触类型参数是公共的并且占用了大量参数存储器。这些参数的示例是STDP表和微分方程线性化系数表,具有在占用少量参数存储器的群之间有所不同的参数的子集,例如用于不同特征的启用/禁止标志。因此,本领域需要一种利用这个潜在的存储器节省来减少在实现神经网络中的硬件存储器需求的方法。
此外,在神经网络中,往往存在具有需要同时或至少在非常接近的时间被启用/禁止的特征的突触或神经元的群组/群。例如,视觉网络可能具有三层神经元。第一层(即,层1)可以包括具有来自视网膜神经节细胞(RGC)的突触的L4兴奋神经元和L4抑制神经元。第二层(即,层2)可以包括具有来自L4层神经元的突触的L23兴奋神经元和L23抑制神经元,而第三层(即,层3)可以包括从L23抑制神经元到L23兴奋神经元的突触。在一个方面中,可以期望的是,首先训练层1,然后层2,最后层3。这可以通过例如首先为层1,然后为层2,最后为层3设置突触和/或神经元中的可塑性启用/禁止参数来实现。
更广义地说,可能存在具有类似分层结构的并行听觉网络,可以同时训练但也使用上述分层方案来训练该网络。可以期望的是,提供一种同时或在接近的时间,控制神经元群和/或突触群(例如,在层1中的那些神经元群和/或突触群)的诸如可塑性启用/禁止之类的参数的方法。应当注意的是,所述接近的时间指的是,可能期望的是,启用/禁止参数彼此位于几个时钟周期或典型滴答内。
人工神经元和突触的群组标签
本申请的某些方面支持将人工神经系统的人工神经元和/或突触分配给群组标签,其中,群组标签具有相关联的参数集。通过使用群组标签,可以向群中的人工神经元和/或突触分配群组标签。然后,通过改变与群组标签相关联的参数,可以改变群组中的全部突触和/或人工神经元的该参数。
在本申请的一个方面中,包括STDP表的突触类型中的参数和可塑性参数以及用于启用/禁止可塑性、尖峰、多巴胺的标志可以被分成两个单独的结构。第一结构可以包括具有STDP表的突触类型、资源模型和其它可塑性参数,其中第二群组标签结构可以包括用于启用/禁止可塑性的标志、针对突触后电势(PSP)传输的标志和针对多巴胺的标志。然后,可以为突触分配群组标签和突触类型二者。在这个方面中,可以为具有不同突触类型的突触分配相同的群组标签,例如上述示例中的全部层1突触。这将实现对这些群的全部标签的同时控制,并且即使在不同的突触类型上也具有最少的信令开销。
在本申请的另一个方面中,可以使用相同的上述构思用于人工神经系统的人工神经元。
在本申请的又一个方面中,可以将群组标签组合成用于具有人工神经元和突触二者的群组的单个标签,具有人工神经元和突触二者的群组具有可以仅应用于神经元、仅应用于突触、和应用于神经元和突触二者的参数组合。例如,人工神经元可以与动态平衡启用/禁止标志和突触PSP传输启用/禁止标志相关联,并且二者可以共享可塑性启用/禁止标志。通过发送改变这个群组的这些值的单个消息,将同时切换该群组中的全部突触和神经元的这些参数。
在本申请的又一个方面中,可以将群组标签实现为突触类型的超集。在这个方面中,突触将只将自身规定为群组标签。群组标签将规定一组参数,例如可塑性启用/禁止、资源启用/禁止、和PSP增益、多巴胺启用/禁止、和要使用的突触类型。然后突触类型可以规定STDP表、资源模型和其它相关联的参数。在这个方面中,突触类型参数可以包括使用更多存储器的参数和对于若干突触群而言是公共的参数,例如STDP查询表。群组标签可以包括占据更少存储器的参数,例如特征启用/禁止标志,其随着以其它方式共享核心STDP表的群而不同。例如,神经模型可以包括三个突触群,其中,所述三个突触群共享相同STDP表,但是需要在不同的时刻开启可塑性,或可以仅在是否使用多巴胺或资源模型上有所不同。考虑到更高效的存储器使用,在这个上下文中使用群组标签而不是使用存储器来复制整个表格。
在归一化突触权重以较好地适应硬件时,提出这个方面的两个关键示例。在第一个示例中,存在使用完全相同的学习规则的两个或更多个突触群,但是在网络的两个或更多个位置处,它们具有不同的扇出从而具有不同的最大权重或PSP增益。在这种情况下,除了与扇出有关的这一个参数之外,其它全部参数都是相同的,并且使用群组标签实现更高效的存储器结构。在第二个示例中,除了基于扇出而变化的输入缩放参数之外,两个或更多个神经元群使用相同的模型参数。同样,使用群组标签实现了更高效的存储器结构。
根据本申请的某些方面,可以用若干种方式来存储群组标签参数。在一个方面中,一个参数集合可以与群组标签相关联,并且一个不同的不相交的参数集合可以与突触和/或神经元类型相关联。
在另一个方面中,群组标签参数中的一些或全部可以与突触类型和/或神经元类型相关联,其中,群组标签具有重写突触/神经元类型参数的能力(如果它们存在且是活动的)。例如,群组标签可能能够重写多达三个的突触类型参数,其中,一个字段可以规定要重写哪个参数,使用默认值来指示空值,而另一个字段规定要使用的新值。这可以使用相同的存储量甚至更少的存储来提供更大的灵活性。
附加特征
根据本申请的某些方面,可以动态地分配群组标签。此外,突触或人工神经元可以属于一个以上的群组。一种属于一个以上的群组的方法是,神经元/突触跟踪它们所属于的任何群组的变化并且基于它们的群组成员关系的集合而保持上一次更新的值。
这个方案的一种实施方式可以是创建包括单个和多个初始群组成员关系的全部已使用扩展的更大群组集合。然后,硬件或软件可以跟踪单个群组值变化,并且将其应用到单个群组和包括该单个群组的现有多个群组集合二者。以这种方式,当变化发生时,不要将该变化传播至全部突触/神经元,而是突触/神经元可以进入共享的数据库,在写入次数方面高效地且在时间方面迅速进行使用新值对第一神经元/突触进行更新。
在本申请的一个方面中,可以在神经网络内改变群组参数。例如,可以基于特定神经元尖峰来启用群组A可塑性,而基于另一个群组尖峰来禁止群组A可塑性。这些神经元可以或可以不属于群组A。此外,可以基于神经元尖峰集合、基于具有高于/低于阈值的活动率的神经元集合、或基于到达度量的突触权重的函数,例如高于限定值的权重之和或具有高于特定值的权重的突触的百分比来启用群组A可塑性。
根据本申请的某些方面,群组标签可以是依赖于活动的。例如,在一个方面中,可以将时间窗内发放的全部细胞(例如,位置细胞、上丘细胞、V1细胞等)分配给群组标签A。另一个方面中,可以将具有低于阈值或高于阈值的权重的全部突触分配给群组标签B。再一个方面中,以高于/低于阈值的速率进行发放的全部细胞(例如,位置细胞、上丘细胞、V1细胞等)可以获得特定的群组标签。在又一个方面中,可以将在时间窗内/外发放的全部细胞(例如,位置细胞、上丘细胞、V1细胞等)分配给特定的群组标签。在还有一个方面中,具有神经元参数(例如,高于/低于阈值的膜电势)的全部细胞(例如,位置细胞、上丘细胞、V1细胞等)可以得到特定的群组标签。
基于处理器负载可用性,可以使用具有低于阈值的权重的突触的动态标签来开启/关闭可塑性更新。因此,可以使用这些动态标签使得最不重要的突触实现尖峰下降。动态标签还可以用来标记未充分使用的突触和/或神经元以便于重新分配或结构可塑性。例如,可以为具有低权重的动态突触群组或具有低尖峰率的神经元群组设置结构可塑性启用比特。此外,动态标签还可以用于调试和测量的目的及统计,例如,用于得到诸如具有给定标签的群的比例之类的度量。
图5是根据本申请的某些方面,用于对人工神经系统进行操作的示例性操作500的流程图。可以用硬件(例如,通过诸如神经形态处理器等一个或多个神经处理单元)、用软件、或用固件来执行操作500。可以在任何各种生物或虚拟神经系统(例如,视觉神经系统、听觉神经系统、海马等)上对人工神经系统进行建模。
在502处,可以通过将人工神经系统的第一突触群或第一人工神经群中的至少一个分配给第一群组标签,来开始操作500,其中,所述第一群组标签可以与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联。在504处,可以将人工神经系统的第二突触群或第二人工神经元群中的至少一个分配给第二群组标签,其中,所述第二群组标签可以与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联。在506处,改变第一参数集合或第二参数集合中的至少一个参数集合中的一个或多个参数可以引起下列各项中的至少一个的一个或多个参数的改变:第一群或第二群中的至少一个中的一个或多个突触、或者第一群或第二群中的至少一个中的一个或多个人工神经元。
在本申请的一个方面中,可以将人工神经系统的两个或更多个突触群、或者两个或更多个人工神经元群中的至少一个分配给两个或更多个群组标签,其中,所述两个或更多个群组标签可以与两个或更多个突触类型或两个或更多个神经元类型中的至少一个以及两个或更多个参数集合相关联。改变两个或更多个参数集合中的至少一个参数集合中的一个或多个参数可以引起关于下列各项中的至少一个的一个或多个参数的改变:两群或更多群中的至少一个中的一个或多个突触、或者两群或更多群中的至少一个中的一个或多个人工神经元。
在本申请的一个方面中,可以使用第一群组标签和第二群组标签二者来给下列各项中至少一个设置标签:具有第一群组标签和第二群组标签二者的一个或多个人工神经元或者一个或多个突触。改变与第一突触类型和第二突触类型二者相关联的参数可以引起改变第一群和第二群中的全部突触的这些参数。此外,改变与第一神经元类型和第二神经元类型相关联的其它参数可以引起改变第一群和第二群中的全部人工神经元的这些其它参数。
在本申请的一个方面中,可以同时控制在第一集合和第二集合中的参数。在本申请的一个方面中,第一突触类型可以与第二突触类型相同,并且第一神经元类型可以与第二神经元类型相同。此外,可以在不同的时刻改变第一集合和第二集合中的参数,并且参数在第一集合中的值可以与该参数在第二集合中的值不同。
在本申请的一个方面中,第一突触群和第二突触群可以是相同层或相同类型中的至少一个的突触集合的子集,而第一人工神经元群和第二人工神经元群可以是相同层或相同类型中的至少一个的人工神经元集合的子集。第一集合和第二集合中的参数可以与关联于第一突触类型和第二突触类型的参数不相交。
对于本申请的某些方面,第一集合和第二集合中的至少一个参数可以与关联于第一突触类型和第二突触类型的至少一个参数是相同的。此外,可以基于第一集合和第二集合中的至少一个参数来重写与第一突触类型和第二突触类型相关联的至少一个参数。
图6是根据本申请的某些方面,用于对人工神经系统进行操作的示例性操作600的流程图。操作600可以用硬件(例如,通过诸如神经形态处理器之类的一个或多个神经处理单元)、软件或固件来实现。可以在各种生物或虚拟神经系统(例如,视觉神经系统、听觉神经系统、海马等)上对人工神经系统进行建模。
在602处,可以通过将人工神经系统的人工神经元和突触的群组分配给具有相关联的参数集合的群组标签,来开始操作600。在604处,可以发送单个消息,来改变集合中的参数值,引起群组中的全部人工神经元和突触的参数的同时切换。根据本申请的某些方面,集合中的参数可以包括只应用于群组中的人工神经元的参数、只应用于群组中的突触的参数、以及应用于群组中的人工神经元和突触二者的参数。
图7根据本申请的某些方面,示出了用于使用通用处理器702对人工神经系统进行操作的前述方法的示例性框图700。可以将与计算网络(神经网络)相关联的变量(神经信号)、突触权重、和/或系统参数存储在存储器块704中,而可以从程序存储器706加载在通用处理器702处执行的相关指令。在本申请的一个方面中,加载到通用处理器702中的指令可以包括:用于将人工神经系统的第一突触群或第一人工神经群中的至少一个分配给第一群组标签的代码,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;用于将人工神经系统的第二突触群或第二人工神经元群中的至少一个分配给第二群组标签的代码,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;以及用于改变第一参数集合或第二参数集合中的至少一个参数集合中的一个或多个参数引起改变下列各项中的至少一个的一个或多个参数的代码:第一群或第二群中的至少一个中的一个或多个突触、或者第一群或第二群中的至少一个中的一个或多个人工神经元。在本申请的另一个方面中,加载到通用处理器702中的指令可以包括:用于将人工神经系统的人工神经元和突触群组分配给具有相关联的参数集合的群组标签的代码;以及用于发送单个消息以改变集合中的参数值从而引起群组中的全部人工神经元和突触的参数的同时切换的代码。
图8根据本申请的某些方面示出了用于对人工神经系统进行操作的前述方法的示例性框图800,在该方法中,可以将存储器802经由互连网络804与计算网络(神经网络)的各个(分布式)处理单元(神经处理器)806相连接。可以将与计算网络(神经网络)相关联的变量(神经信号)、突触权重和/或系统参数存储在存储器802中,并且可以经由互连网络804的连接将这些变量(神经信号)、突触权重和/或系统参数从存储器802加载到每个处理单元(神经处理器)806中。在本申请的一个方面中,处理单元806可以被配置为:将人工神经系统的第一突触群或第一人工神经群中的至少一个分配给第一群组标签,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;将人工神经系统的第二突触群或第二人工神经元群中的至少一个分配给第二群组标签,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;以及改变第一参数集合或第二参数集合中的至少一个中的一个或多个参数引起改变下列各项中的至少一个的一个或多个参数:第一群或第二群中的至少一个中的一个或多个突触、或者第一群或第二群中的至少一个中的一个或多个人工神经元。在本申请的另一个方面中,处理单元806可以被配置为:将人工神经元和突触的群组分配给具有相关联的参数集合的群组标签;以及发送单个消息以改变集合中的参数值,引起群组中的全部人工神经元和突触的参数的同时切换。
图9根据本申请的某些方面,示出了用于基于分布式权重存储器902和分布式处理单元(神经处理器)904对人工神经系统进行操作的前述方法的示例性框图900。如图9中所示,存储器组902可以直接与计算网络(神经网络)的一个处理单元904对接,其中,该存储器组902可以存储与该处理单元(神经处理器)904相关联的变量(神经信号)、突触权重和/或系统参数。在本申请的一个方面中,处理单元904可以被配置为:将人工神经系统的第一突触群或第一人工神经群中的至少一个分配给第一群组标签,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;将人工神经系统的第二突触群或第二人工神经元群中的至少一个分配给第二群组标签,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;以及改变第一参数集合或第二参数集合中的至少一个中的一个或多个参数,引起改变下列各项中的至少一个的一个或多个参数:第一群或第二群中的至少一个中的一个或多个突触、或者第一群或第二群中的至少一个中的一个或多个人工神经元。在本申请的另一个方面中,处理单元904可以被配置为:将人工神经元和突触的群组分配给具有相关联的参数集合的群组标签;以及发送单个消息以改变集合中的参数值,引起群组中的全部人工神经元和突触的参数的同时切换。
图10根据本申请的某些方面示出了神经网络1000的示例性实现方案。如图10中所示,神经网络1000可以包括可以执行上述方法的各种操作的多个本地处理单元1002。每个处理单元1002可以包括本地状态存储器1004和存储神经网络的参数的本地参数存储器1006。此外,处理单元1002可以包括具有本地(神经元)模型程序的存储器1008、具有本地学习程序的存储器1010以及本地连接存储器1012。此外,如图10中所示,每个本地处理单元1002可以与用于配置处理(该配置处理可以提供对本地处理单元的本地存储器的配置)的单元1014相对接,并且与提供本地处理单元1002之间路由的路由连接处理单元1016相对接。
根据本申请的某些方面,每个本地处理单元1002可以被配置为:基于所期望的、神经网络的一个或多个功能特征来确定神经网络的参数,并且当对确定的参数进一步调整、调谐和更新时,使一个或多个功能特征向所期望的功能特征发展。
上文所描述的方法的各种操作可以由能够执行相应功能的任何适当的单元来执行。所述单元可以包括各种硬件和/或软件组件和/或模块,其包括但不限于电路、专用集成电路(ASIC)或处理器。例如,各种操作可以由图7至图10中所示的各种处理器中的一个或多个处理器来执行。通常,在存在附图中示出的操作的情况下,这些操作可以具有使用相似编号的相应的配对的模块加功能组件。例如,图5-图6中示出的操作500-600对应于图5A-图6A中示出的单元500A-600A。
例如,用于显示的单元可以包括显示器(例如,监视器、平面屏幕、触摸屏等)、打印机或用于输出用于视觉描绘的数据(例如,表格,图表或图形)的任何其它合适的单元。用于处理的单元、用于接收的单元、用于跟踪的单元、用于调整的单元、用于更新的单元、或用于确定的单元可以包括处理系统,该处理系统可以包括一个或多个处理器或处理单元。用于感测的单元可以包括传感器。用于存储的单元可以包括可以由处理系统访问的存储器或任何其它合适的存储设备(例如,RAM)。
如本文所使用的,术语“确定”涵盖多种多样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查询(例如,查询表、数据库或另一个数据结构)、查明等等。此外,“确定”可以包括接收(例如,接收信息)、存取(例如,存取存储器中的数据)等等。此外,“确定”可以包括解析、选择、挑选、建立等等。
如本文所使用的,提及项目列表中的“至少一个”的短语是指这些项目的任意组合,其包括单个要素。举例而言,“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)或者诸如红外线、无线和微波的无线技术从网站、服务器或其它远程源发送的,那么所述同轴电缆、光纤电缆、双绞线、DSL或者诸如红外线、无线和微波的无线技术包括在所述介质的定义中。本文所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和,其中,磁盘通常磁性地复制数据,而光盘用激光光学地复制数据。因此,在一些方面,计算机可读介质可以包括非临时性计算机可读介质(例如,有形介质)。此外,对于其它方面而言,计算机可读介质可以包括临时性计算机可读介质(例如,信号)。上面各项的组合也应包括在计算机可读介质的范围内。
因此,某些方面可以包括用于执行本文给出的操作的计算机程序产品。例如,这种计算机程序产品可以包括其上存储有(和/或编码有)指令的计算机可读介质,可以由一个或多个处理器执行这些指令以实现本文所描述的操作。对于某些方面而言,计算机程序产品可以包括封装材料。
此外,应当清楚的是,用于执行本文所描述的方法和技术的模块和/或其它适当单元可以由设备根据情况进行下载和/或以其它方式获得。例如,这种设备可以耦合到服务器,以有助于实现用于执行本文所描述的方法的单元的传送。或者,本文所描述的各种方法可以通过存储单元(例如,RAM、ROM、诸如压缩光盘(CD)或软盘的物理存储介质等等)来提供,使得设备可以在将存储单元耦合到或提供给该设备时获得各种方法。此外,还可以使用用于向设备提供本文所描述的方法和技术的任何其它适当的技术。
应当理解的是,权利要求并不受限于上文示出的精确配置和组件。在不脱离权利要求的范围的情况下,可以对上文所描述的方法和装置的排列、操作和细节做出各种修改、改变和变化。

Claims (20)

1.一种用于对人工神经系统进行操作的方法,包括:
将所述人工神经系统的第一群突触或第一群人工神经元中的至少一个分配给第一群组标签,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;
将所述人工神经系统的第二群突触或第二群人工神经元中的至少一个分配给第二群组标签,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;
改变所述第一参数集合或所述第二参数集合中的至少一个中的一个或多个参数,引起改变针对下列各项中的至少一项的所述一个或多个参数:所述第一群突触或所述第二群突触中的至少一个中的一个或多个突触,或者所述第一群人工神经元或所述第二群人工神经元中的至少一个中的一个或多个人工神经元;以及
给下列各项中的至少一项设置标签:具有所述第一群组标签和所述第二群组标签二者的所述人工神经元中的一个或多个或者所述突触中的一个或多个,其中:
i)所述第一群和所述第二群在所述第一参数集合和所述第二参数集合中的至少一个方面不同;或者
ii)所述第一突触类型和所述第二突触类型或者所述第一神经元类型和所述第二神经元类型互不相同。
2.根据权利要求1所述的方法,还包括:
改变与所述第一突触类型和所述第二突触类型相关联的参数,引起改变针对在所述第一群突触和所述第二群突触中的全部突触的这些参数;以及
改变与所述第一神经元类型和所述第二神经元类型相关联的其它参数,引起改变针对在所述第一群人工神经元和所述第二群人工神经元中的全部人工神经元的这些其它参数。
3.根据权利要求1所述的方法,其中,所述第一参数集合和所述第二参数集合包括以下各项中的至少一项:用于启用可塑性的标志、用于禁止可塑性的标志、针对突触后电势(PSP)传输的标志、针对多巴胺的标志、动态平衡启用标志、动态平衡禁止标志、可塑性启用标志或可塑性禁止标志。
4.根据权利要求3所述的方法,还包括:
同时控制所述用于启用可塑性的标志、所述用于禁止可塑性的标志、所述针对突触后电势(PSP)传输的标志和所述针对多巴胺的标志。
5.根据权利要求1所述的方法,其中,与所述第一突触类型和所述第二突触类型相关联的参数包括以下各项中的至少一项:尖峰时序依赖可塑性(STDP)表、资源模型或可塑性参数。
6.根据权利要求1所述的方法,还包括:
同时控制在所述第一参数集合和所述第二参数集合中的参数。
7.根据权利要求1所述的方法,其中:
所述第一突触类型与所述第二突触类型相同,并且
所述第一神经元类型与所述第二神经元类型相同,并且所述方法还包括:
在不同时刻改变在所述第一参数集合和所述第二参数集合中的参数,以及
参数在所述第一参数集合中的值与所述参数在所述第二参数集合中的值不同。
8.根据权利要求1所述的方法,其中:
所述第一群突触和所述第二群突触是相同层或相同类型中的至少一个的突触集合的子集,并且
所述第一群人工神经元和所述第二群人工神经元是相同层或相同类型中的至少一个的人工神经元集合的子集。
9.根据权利要求1所述的方法,其中,所述第一参数集合和所述第二参数集合中的参数与关联于所述第一突触类型和所述第二突触类型的参数不相交的。
10.根据权利要求1所述的方法,其中,所述第一参数集合和所述第二参数集合中的至少一个参数与关联于所述第一突触类型和所述第二突触类型的至少一个参数是公共的,所述方法还包括:
基于所述第一参数集合和所述第二参数集合中的所述至少一个参数,来重写与所述第一突触类型和所述第二突触类型相关联的所述至少一个参数。
11.根据权利要求1所述的方法,其中,所述第一群组标签或所述第二群组标签中的至少一个是动态分配的。
12.根据权利要求11所述的方法,其中,对第一群组标签或第二群组标签中的所述至少一个进行动态分配是与具有低于阈值的权重的所述第一群突触或所述第二群突触中的至少一个的突触相关联的。
13.根据权利要求11所述的方法,其中,对第一群组标签或第二群组标签中的所述至少一个进行动态分配还包括:
对所述第一群突触或所述第二群突触中的至少一个的未充分使用的突触以及所述第一群人工神经元或所述第二群人工神经元中的至少一个的未充分使用的人工神经元设置标签,以用于重新分配或结构可塑性中的至少一个。
14.根据权利要求1所述的方法,其中,改变所述一个或多个参数包括启用和禁止可塑性,并且所述方法还包括:
基于所述第一群人工神经元或第二群人工神经元尖峰的特定人工神经元,来启用可塑性;以及
基于所述第一群人工神经元或所述第二群人工神经元尖峰的其它特定人工神经元,来禁止可塑性。
15.根据权利要求1所述的方法,其中,改变所述一个或多个参数包括启用和禁止可塑性,并且所述方法还包括:
基于所述第一群人工神经元或第二群人工神经元尖峰中的至少一个的人工神经元集合,来启用可塑性。
16.根据权利要求1所述的方法,其中,改变所述一个或多个参数包括启用和禁止可塑性,并且所述方法还包括:
基于具有已定义的活动率的所述第一群人工神经元或所述第二群人工神经元中的至少一个的人工神经元集合,来启用可塑性。
17.根据权利要求1所述的方法,其中,改变所述一个或多个参数包括启用和禁止可塑性,并且所述方法还包括:
基于与到达度量的所述第一群突触或所述第二群突触中的至少一个相关联的突触权重的函数,来启用可塑性。
18.一种用于对人工神经系统进行操作的装置,包括:
处理系统,其被配置成:
将所述人工神经系统的第一群突触或第一群人工神经元中的至少一个分配给第一群组标签,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;
将所述人工神经系统的第二群突触或第二群人工神经元中的至少一个分配给第二群组标签,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;
改变所述第一参数集合或所述第二参数集合中的至少一个参数集合中的一个或多个参数,引起改变下列各项中的至少一项的所述一个或多个参数:所述第一群突触或所述第二群突触中的至少一个群中的一个或多个突触,或者所述第一群人工神经元或所述第二群人工神经元中的至少一个群中的一个或多个人工神经元;以及
给下列各项中的至少一项设置标签:具有所述第一群组标签和所述第二群组标签二者的所述人工神经元中的一个或多个或者所述突触中的一个或多个;以及
耦接到所述处理系统的存储器,其中:
i)所述第一群和所述第二群在所述第一参数集合和所述第二参数集合中的至少一个方面不同;或者
ii)所述第一突触类型和所述第二突触类型或者所述第一神经元类型和所述第二神经元类型互不相同。
19.一种用于对人工神经系统进行操作的装置,包括:
用于将所述人工神经系统的第一群突触或第一群人工神经元中的至少一个分配给第一群组标签的单元,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;
用于将所述人工神经系统的第二群突触或第二群人工神经元中的至少一个分配给第二群组标签的单元,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;
用于改变所述第一参数集合或所述第二参数集合中的至少一个参数集合中的一个或多个参数,引起改变下列各项中的至少一项的所述一个或多个参数的单元:所述第一群突触或所述第二群突触中的至少一个群中的一个或多个突触,或者所述第一群人工神经元或所述第二群人工神经元中的至少一个群中的一个或多个人工神经元;以及
用于给下列各项中的至少一项设置标签的单元:具有所述第一群组标签和所述第二群组标签二者的所述人工神经元中的一个或多个或者所述突触中的一个或多个,其中:
i)所述第一群和所述第二群在所述第一参数集合和所述第二参数集合中的至少一个方面不同;或者
ii)所述第一突触类型和所述第二突触类型或者所述第一神经元类型和所述第二神经元类型互不相同。
20.一种具有保存在其上的指令的计算机可读介质,当执行所述指令时使得计算机执行以下操作以对人工神经系统进行操作:
将所述人工神经系统的第一群突触或第一群人工神经元中的至少一个分配给第一群组标签,其中,所述第一群组标签是与第一突触类型或第一神经元类型中的至少一个以及第一参数集合相关联的;
将所述人工神经系统的第二群突触或第二群人工神经元中的至少一个分配给第二群组标签,其中,所述第二群组标签是与第二突触类型或第二神经元类型中的至少一个以及第二参数集合相关联的;
改变所述第一参数集合或所述第二参数集合中的至少一个参数集合中的一个或多个参数,引起改变下列各项中的至少一项的所述一个或多个参数:所述第一群突触或所述第二群突触中的至少一个中的一个或多个突触,或者所述第一群人工神经元或所述第二群人工神经元中的至少一个中的一个或多个人工神经元;以及
给下列各项中的至少一项设置标签:具有所述第一群组标签和所述第二群组标签二者的所述人工神经元中的一个或多个或者所述突触中的一个或多个,其中:
i)所述第一群和所述第二群在所述第一参数集合和所述第二参数集合中的至少一个方面不同;或者
ii)所述第一突触类型和所述第二突触类型或者所述第一神经元类型和所述第二神经元类型互不相同。
CN201480051708.8A 2013-09-25 2014-08-18 针对神经模型的群组标签的实现方案的方法和装置 Active CN105556543B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361882465P 2013-09-25 2013-09-25
US61/882,465 2013-09-25
US14/268,152 2014-05-02
US14/268,152 US9959499B2 (en) 2013-09-25 2014-05-02 Methods and apparatus for implementation of group tags for neural models
PCT/US2014/051469 WO2015047589A2 (en) 2013-09-25 2014-08-18 Methods and apparatus for implementation of group tags for neural models

Publications (2)

Publication Number Publication Date
CN105556543A CN105556543A (zh) 2016-05-04
CN105556543B true CN105556543B (zh) 2018-11-23

Family

ID=52691891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480051708.8A Active CN105556543B (zh) 2013-09-25 2014-08-18 针对神经模型的群组标签的实现方案的方法和装置

Country Status (9)

Country Link
US (1) US9959499B2 (zh)
EP (1) EP3050004A2 (zh)
JP (1) JP2016536657A (zh)
KR (1) KR20160058825A (zh)
CN (1) CN105556543B (zh)
BR (1) BR112016006482A2 (zh)
CA (1) CA2921831A1 (zh)
TW (1) TW201523463A (zh)
WO (1) WO2015047589A2 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017068490A1 (en) * 2015-10-23 2017-04-27 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and electronic device
CN108255775A (zh) * 2016-12-28 2018-07-06 上海磁宇信息科技有限公司 用于细胞阵列计算系统的细胞阵列总线广播方法
US11195079B2 (en) * 2017-11-22 2021-12-07 Intel Corporation Reconfigurable neuro-synaptic cores for spiking neural network
CN108830379B (zh) * 2018-05-23 2021-12-17 电子科技大学 一种基于参数量化共享的神经形态处理器
KR20200075344A (ko) 2018-12-18 2020-06-26 삼성전자주식회사 검출기, 객체 검출 방법, 학습기 및 도메인 변환을 위한 학습 방법
US11625583B2 (en) * 2019-02-13 2023-04-11 Mipsology SAS Quality monitoring and hidden quantization in artificial neural network computations
TWI828109B (zh) * 2019-09-24 2024-01-01 美商應用材料股份有限公司 用於組織分割之機器學習模型的交互式訓練
CN113065647B (zh) * 2021-03-30 2023-04-25 西安电子科技大学 加速神经网络的计算-存储通信系统及通信方法
CN115169547B (zh) * 2022-09-09 2022-11-29 深圳时识科技有限公司 神经形态芯片及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276769A (en) * 1989-03-13 1994-01-04 Sharp Kabushiki Kaisha Neural network learning apparatus and method
CN102959566A (zh) * 2010-07-07 2013-03-06 高通股份有限公司 用于具有离散级突触和概率性stdp的数字神经处理的方法和系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3172163B2 (ja) * 1990-05-07 2001-06-04 富士通株式会社 ニューラルネットワークにおける結合のグループ単位学習調整方式
JPH06348675A (ja) * 1993-06-07 1994-12-22 Ebara Corp ニューロコンピュータ応用機器およびこれを含む機械装置
AU7324396A (en) * 1996-11-05 1998-05-29 Millennium Interactive Limited Process control
JP2002251601A (ja) * 2001-02-22 2002-09-06 Fuji Xerox Co Ltd ニューラルネットワーク処理装置
US8630966B2 (en) 2009-01-27 2014-01-14 Salk Institute For Biological Studies Temporally dynamic artificial neural networks
WO2011008973A2 (en) 2009-07-15 2011-01-20 The Intellisis Corporation Constant memory implementation of a phase-model neural network
US20110055131A1 (en) * 2009-08-28 2011-03-03 Hung-Han Chen Method of universal computing device
US8738554B2 (en) 2011-09-16 2014-05-27 International Business Machines Corporation Event-driven universal neural network circuit
US9098811B2 (en) * 2012-06-04 2015-08-04 Brain Corporation Spiking neuron network apparatus and methods
US8712939B2 (en) 2011-09-21 2014-04-29 Brain Corporation Tag-based apparatus and methods for neural networks
US8943008B2 (en) * 2011-09-21 2015-01-27 Brain Corporation Apparatus and methods for reinforcement learning in artificial neural networks
US9129221B2 (en) 2012-05-07 2015-09-08 Brain Corporation Spiking neural network feedback apparatus and methods
US9256823B2 (en) * 2012-07-27 2016-02-09 Qualcomm Technologies Inc. Apparatus and methods for efficient updates in spiking neuron network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276769A (en) * 1989-03-13 1994-01-04 Sharp Kabushiki Kaisha Neural network learning apparatus and method
CN102959566A (zh) * 2010-07-07 2013-03-06 高通股份有限公司 用于具有离散级突触和概率性stdp的数字神经处理的方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"From Swimming to Walking with a Salamander Robot Driven by a Spinal Cord Model";Auke Jan Ijspeert etal.;《SCIENCE》;20070309;第1416-1419页 *
"NeuroML: A Language for Describing Data Driven Models of Neurons and Networks with a High Degree of Biological Detail";Padraig Gleeson etal.;《PLoS Computational Biology》;20100630;第1-19页 *

Also Published As

Publication number Publication date
CN105556543A (zh) 2016-05-04
WO2015047589A3 (en) 2015-05-21
BR112016006482A2 (pt) 2017-08-01
EP3050004A2 (en) 2016-08-03
US20150088796A1 (en) 2015-03-26
TW201523463A (zh) 2015-06-16
CA2921831A1 (en) 2015-04-02
WO2015047589A2 (en) 2015-04-02
JP2016536657A (ja) 2016-11-24
US9959499B2 (en) 2018-05-01
KR20160058825A (ko) 2016-05-25

Similar Documents

Publication Publication Date Title
CN105556543B (zh) 针对神经模型的群组标签的实现方案的方法和装置
CN105229675B (zh) 尖峰网络的高效硬件实现
CN105684002B (zh) 用于使用监督式学习对种类加标签的方法和装置
CN106068519B (zh) 用于共用神经元模型的高效实现的方法和装置
CN105531724B (zh) 用于调制神经设备的训练的方法和装置
US20150120627A1 (en) Causal saliency time inference
CN106030620B (zh) 用于随机尖峰贝叶斯网络的基于事件的推断和学习
CN105612492B (zh) 在人工神经系统中减少尖峰的方法、装置、设备及介质
CN105934766B (zh) 用阴影网络来监视神经网络
JP2017513127A (ja) スパイキング深層信念ネットワーク(dbn)におけるトレーニング、認識、および生成
CN105637541A (zh) 用于神经模拟器的共享存储器架构
US20150212861A1 (en) Value synchronization across neural processors
TW201602807A (zh) Cold神經元尖峰時序反向傳播
TW201528162A (zh) 在尖峰神經網路中使用重放來實施突觸學習
CN105981055A (zh) 神经网络对当前计算资源的自适应
JP2017514215A (ja) スパイキングニューラルネットワークを使用する画像の不変オブジェクト表現
CN106104585A (zh) 经由阈下调制的模拟信号重构和识别
CN106133763B (zh) 可塑性突触管理
CN105659260B (zh) 动态地指派和检查突触延迟
US9342782B2 (en) Stochastic delay plasticity
CN106104586B (zh) 神经元形态模型开发的上下文实时反馈
JP2017509956A (ja) 値をスパイクに変換するための方法
CN105612536A (zh) 远程地控制和监视神经模型执行的方法和装置
TW201545586A (zh) 多個節點上的尖峰神經元模型的時間同步

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant