CN104641385B - 神经核心电路及为多个神经元保存神经元属性的方法 - Google Patents

神经核心电路及为多个神经元保存神经元属性的方法 Download PDF

Info

Publication number
CN104641385B
CN104641385B CN201380048027.1A CN201380048027A CN104641385B CN 104641385 B CN104641385 B CN 104641385B CN 201380048027 A CN201380048027 A CN 201380048027A CN 104641385 B CN104641385 B CN 104641385B
Authority
CN
China
Prior art keywords
neuron
storage device
entry
activating event
attribute
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
CN201380048027.1A
Other languages
English (en)
Other versions
CN104641385A (zh
Inventor
J·V·阿瑟
P·梅罗拉
D·S·莫德哈
R·阿尔瓦瑞兹-伊卡扎里弗拉
A·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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104641385A publication Critical patent/CN104641385A/zh
Application granted granted Critical
Publication of CN104641385B publication Critical patent/CN104641385B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Memory System (AREA)
  • Feedback Control In General (AREA)
  • Peptides Or Proteins (AREA)
  • Multi Processors (AREA)

Abstract

一种复用的神经核心电路,包括为多个神经元保存神经元属性的存储装置的核心电路。其中所述存储装置具有多个条目。每个条目保存相应神经元的神经元属性。核心电路还包括用于管理存储装置的控制器。响应于以所述神经元中的一个为目标的神经元激发事件,该控制器从该存储装置中相应的条目中获取该目标神经元的神经元属性,以及,在所获取的神经元属性基础上合并所述激发事件为该目标神经元生成激发事件。

Description

神经核心电路及为多个神经元保存神经元属性的方法
本发明在美国政府支持之下作出的,具体是在美国国防部先进研究项目局(DARPA)奖励的HR0011-09-C-0002支持之下。政府对本发明拥有一定权利。
技术领域
本发明的实施例涉及神经形态(neuromorphic)和突触器(synapatronic)计算,更具体地说,本发明涉及复用的神经网络核心电路。
背景技术
神经形态-突触器计算——也称为人工神经网络——是允许电子系统基本上以类似于生物大脑的方式工作的计算系统。神经形态-突触器计算一般不使用处理0和1的传统数字模型。不同的是,神经形态-突触器计算创建处理元件之间的连接,这些处理元件的功能基本等同于生物大脑中的神经元。神经形态-突触器计算包括各种模仿生物神经元的电子电路。
在生物系统中,一个神经元的一个轴突和另一神经元上的一个树突之间的触点被称为突触,相对于突触而言,两个神经元分别被称为突触前和突触后,我们的个人经验本质存储在突触的传导中。根据峰点时序依赖可塑性(STDP),突触的传导按照与突触前神经元和突触后神经元峰点时刻相关的函数随着时间变化。按照TDP规则,如果一个突触的突触后神经元在其突触前神经元之前激发(fire),则增加该突触的传导,如果两次激发的顺序相反,则降低该突触的传导。
发明内容
本发明的实施例涉及复用的神经核心电路。一个实施例包括具有为多个神经元保存神经元属性的存储装置的核心电路。所述存储装置包括多个条目。每个条目保存一个相应神经元的神经元属性。核心电路还包括用于管理存储装置的控制器。响应于以所述神经元中的一个为目标的神经元激发事件,该控制器从该存储装置中相应的条目中获取该目标神经元的神经元属性,以及,在所获取的神经元属性基础上合并所述激发事件为该目标神经元生成一个激发事件。
另一个实施例包括为存储装置中多个神经元保存神经元属性。所述存储装置包括多个条目。每个条目保存一个相应神经元的神经元属性。响应于以所述神经元中的一个为目标的神经元激发事件,从该存储装置中相应的条目中获取该目标神经元的神经元属性,以及,在所获取的神经元属性基础上合并所述激发事件为该目标神经元生成一个激发事件。
通过参考下面的描述,所附权利要求和附图,可以理解本发明的这些和其它特征、方面和优点。
附图说明
现在将要参考附图通过示例描述本发明的实施例,其中:
图1示出根据本发明的实施例的神经核心电路;
图2示出根据本发明的实施例的核心电路在接收到激发事件的输入向量时的操作;
图3示出根据本发明的实施例的核心电路的重置以及设置操作;
图4示出根据本发明的实施例的复用的核心电路;
图5示出根据本发明的实施例的复用核心电路的存储装置的示意性框图;
图6示出根据本发明的实施例的复用核心电路的存储装置中所保存信息的示意性框图;
图7示出根据本发明的实施例的复用核心电路示意性框图;
图8示出根据本发明的实施例的接收二进制输入向量的复用核心电路的示意性框图;
图9示出根据本发明的实施例的半复用核心电路示意性框图;
图10示出根据本发明的一个实施例的高元核400;
图11示出根据本发明的实施例的高元核400的高存储装置410;
图12示出根据本发明的实施例的宽元核500;
图13示出根据本发明的实施例的宽元核500的一个宽存储装置510的示意性框图;
图14示出根据本发明的实施例的的元核600;
图15是根据本发明的一个实施例的元核的一个存储装置的方框图;
图16示出根据本发明的实施例的神经网络;
图17示出根据本发明的实施例的用于在复用的核心电路中处理激发事件的示例性流程图。
图18示出用于实现本发明的一个实施例的信息处理系统的高级别框图。
具体实施方式
本发明的实施例涉及复用的神经核心电路。一个实施例包括具有为多个神经元保存神经元属性的存储装置的核心电路。所述存储装置具有多个条目。每个条目保存相应神经元的神经元属性。核心电路还包括用于管理存储装置的控制器。响应于以所述神经元中的一个为目标的神经元激发事件,该控制器从该存储装置中相应的条目中获取该目标神经元的神经元属性,以及,在所获取的神经元属性基础上合并所述激发事件为该目标神经元生成激发事件。
另一个实施例包括为存储装置中多个神经元保存神经元属性。所述存储装置具有多个条目。每个条目保存相应神经元的神经元属性。响应于以所述神经元中的一个为目标的神经元激发事件,从该存储装置中相应的条目中获取该目标神经元的神经元属性,以及,在所获取的神经元属性基础上合并所述激发事件为该目标神经元生成激发事件。
存储装置的每个条目保存相应神经元的以下神经元属性:突触连接信息,神经元参数,以及路由数据信息。如果所合并的激发事件超过一个目标神经元的阈值神经元参数,所述控制器为该目标神经元生成一个激发事件。
对于每个目标神经元,所述控制器为所述目标神经元更新至少一个神经元参数。
控制器为多个神经元复用计算以及控制逻辑。对于每一个与存储装置的一个条目相对应的神经元,,控制器接收以该神经元为目标的进入激发事件;以及由该存储装置中的相应条目中获取该神经元的突触连接信息(synaptic connectivity information)。
对于每个在该存储装置具有一个相应条目的神经元,该控制器由该存储装置中的相应条目中获取该神经元的神经元参数,以及,合并以该神经元为目标的进入激发事件,其中,该进入激发事件以该神经元参数以及该神经元的突触连接信息为基础被合并。当该被合并的进入激发事件超过该神经元的阈值神经元参数,该控制器生成一个外出激发事件,其中,基于该神经元的路由数据信息生成该外出激发事件。该控制器更新该神经元的至少一个神经元参数。
对于每个时间步长,顺序读出该存储装置中的每个条目。
在一个实施例中,所述存储装置是包括多个分区的存储阵列。第一分区保存所述多个神经元的突触连接信息,第二分区保存所述多个神经元的神经元参数,以及第三分区保存所述多个神经元的路由数据信息。
在另一个实施例中,所述存储装置包括多个存储阵列。第一存储阵列保存所述多个神经元的突触连接信息,第二存储阵列保存所述多个神经元的神经元参数,以及,第三存储阵列保存所述多个神经元的路由数据信息。
在本文中,术语数字神经元表示配置为模拟生物神经元的结构。数字神经元创建处理单元之间的连接,这些处理单元在功能上与生物大脑的神经元大致相同。因此,由根据本发明实施例的包括数字神经元的神经形态和突触器计算可包括各种模仿生物神经元的电子电路。进一步的,由根据本发明实施例的包括数字神经元的神经形态和突触器计算可包括各种模仿生物神经元的处理单元(包括计算机仿真)。在本文中,尽管使用包括数字电路的数字神经元对本发明的某些示例性实施例进行了描述,但本发明并不限定于数字电路。根据本发明实施例的神经形态和突触计算可以用包括电路的神经形态和突触结构实现,此外,还可用计算机仿真实现。实际上,本发明的实施例可以采取全部硬件的实施例,全部软件的实施例或同时包含硬件和软件元件的实施例的形式。
图1示出根据本发明的实施例的神经核心电路10。神经核心电路10是神经突触形态的核心电路。核心电路10包括多个突触前轴突15以及多个突触后神经元11。每个神经元11具有可配置的操作参数。核心电路10还包括突触交叉体12,突触交叉体12包括多个突触31,多个行/轴突路径26以及多个列/树突路径34。
每个突触31在突触前轴突15与突触后神经元11之间传递激发事件(例如,脉冲事件)。具体的,每个突触31位于轴突路径26与树突路径34的交叉结点,以致轴突路径26与树突路径34之间的连接通过所述突触31。每个轴突15被连接到一个轴突路径26,以使得所述轴突15将脉冲(spikes)发向连接的轴突路径26。每个神经元11被连接到树突路径34,以使得所述神经元11从连接的树突路径34接收脉冲。
每个突触31具有突触权重。用权重矩阵W表示核心电路10中突触31的突触权重,其中,权重矩阵W中元素Wji表示位于交叉体12中行/轴突路径j以及列/树突路径i的突触31的突触权重。在一个实施例中,突触31是二进制存储装置。每个突触31可以具有权重“0”,表示该突触31是不传导的,或者具有权重“1”,用于指示该突触31是传导的。可应用STDP等学习规则更新突触31的突触权重。
图2示出根据本发明的实施例的核心电路10(图1)在接收到激发事件的输入向量50时的操作。在每个时间步长(时钟步长)t,核心电路10中的轴突15(图1)接收二进制输入向量(“输入向量”)50。输入向量50表示轴突15接收到在上一时钟步长t-1所生成的激发事件。输入向量50中的每个指数(index)对应于一个轴突15。输入向量50中具有二进制数值1的每个指数表示相应的轴突15接收到一个激发事件。输入向量50中具有二进制数值0的每个指数表示相应的轴突15未接收到激发事件。
对于输入向量50中每个具有二进制值1的索引,读出位于一相应轴突15的轴突路径/行26上的突触31的突触权重,以获得一二进制输出向量(“输出向量”)60。对于一相应轴突15的输出向量60,输出向量60的每个索引对应于位于轴突15的轴突路径/行26上的一个突触31。输出向量60的每个二进制值为1的索引表示一个相应的突触31是导电突触31。输出向量60每个二进制值为0的索引表示一个相应的突触31是不导电突触31。
例如,如图2中所示。在时间步长F(t),轴突15接收输入向量50,其值为<1,0,0,0,1,0,0,1,1>。值<1,0,0,0,1,0,0,1,1>表示连接到交叉体12的第0,4,7,以及8轴突路径/行的轴突15接收到在先前时钟步长F(t-1)中所产生的激发事件。突触31位于每个第0,4,7,以及8的轴突路径/行的权重的在时间步长F(t)被读出。与行0,4,7,和以及8对应的输出向量60分别是<1,0,0,0,1,0,0,1,1>,<0,1,1,0,0,0,1,1,0>,<1,1,0,0,1,1,1,1,0>,以及<0,0,0,1,1,1,0,1,1>。
如上所述,输出向量60的每个索引二进制取值为1时表示相应的突触31是一个导电突触31。每个神经元11通过导电突触31从相互连接的轴突15接收激发事件。每个神经元11将接收到的激发事件并入所述神经元11的膜电位变量V(membrane potentialvariable)。
例如,在图2中,示出了数字序列70,其中所述序列70的每个数字对应于核心电路10中的一个神经元11。序列70中的每个数字表示对应神经元11在当前时间步长t接收到的激发事件的数目。连接到交叉体12的树突路径/列0,1,2,…,以及8的神经元11分别接收到两个激发事件,两个激发事件,一个激发事件,一个激发事件,三个激发事件,两个激发事件,两个激发事件,四个激发事件,以及两个激发事。
对于每个神经元11,如果在当前时间步长t该神经元11集成的激发事件的数目超过该神经元11的激发阈值,则生成激发事件。二进制更新向量(“更新向量”)80表示在当前时间步长t获取的激发神经元11。更新向量80的每个索引对应于一个神经元11。每个二进制取值为1的索引表示对应的神经元11在当前时间步长t生成激发事件。
例如,该核心电路10的每个神经元11可具有等于2的脉冲阈值(即,神经元11在接收两个以上的激发事件时激发)。如图2所示,二进制更新向量80,其值<0,0,0,0,1,0,0,1,0>表示与神经元交叉体12的树突路径/列4和7连接的神经元11在当前时间步长F(t)生成激发事件。如上所述,连接到树突路径/列4和7的神经元11分别接收到两个以上激发事件。
图3示出根据本发明的实施例的核心电路的重置以及设置操作。重置操作和设置操作方便突触的学习,如STDP。在一个实施例中,每个连接到活动轴突15(图1)的突触31的突触权重被重置。活动轴突15是在当前时间步长或最近时间步长接收到激发事件的轴突。如果连接到活动轴突15的突触31是二进制的,突触31的突触权重被重置为0。如果连接到活动轴突15的突触31是非二进制,突触31的突触权重减少。
例如,如图3所示,对于输入向量50中每个二进制值为1的索引,生成与该索引相对应的轴突15的二进制重置向量90。对于轴突15的一个重置向量90,该重置向量90中的每个二进制值为1的索引表示连接到轴突15的突触31被重置。
在一个实施例中,每个连接到活动神经元11(图1)的突触31的突触权重被设置。活动神经元11是在当前时间步长或最近时间步长生成激发事件的神经元11。如果连接到活动神经元11的突触31是二进制的,该突触31的突触权重就被设置为1。如果连接到活动神经元11的突触31是非二进制的,突触31的突触权重增加。
例如,如图3所示,对于更新向量80中每个二进制值为1的索引,生成与该索引相对应的神经元的二进制置位向量95。对于神经元11的置位向量95,该置位向量95中每个索引取值为二进制1时表明连接到该神经元的突触31被置位。
在一个实施例中,包括N个神经元的神经核心电路还包括用于N个神经元的α个控制器,其中α是一个正整数(1≤α<N),并且所述神经元是数字神经元。每个控制器是一个处理与运算逻辑电路。
图4示出根据本发明的实施例的复用神经核心电路。核心电路100是一个复用的神经元突触(neurosynaptic)核心电路。核心电路100复用用于多个神经元的11计算与控制逻辑。具体地说,核心电路100包括存储设备110,用于保存多个神经元11的神经元属性。核心电路100还包括用于存储装置110的控制器120(即,处理与计算逻辑电路)。
存储设备110包括多个条目111(图5)。每个条目111保存一个神经元11的神经元属性。在一个实施例中,每个条目111保存神经元11的下列神经元属性:突触连接信息(Wji),神经元参数,以及路由信息。在一个实施例中,每个条目111的第一子集112保存将神经元11与轴突15互连的突触31的突触权重。每个条目111的第二子集11为神经元11保存下列神经元参数:膜电位变量(V),脉冲阈值(Th),泄漏率(Lk),以及每一个可能的轴突类型(Syn0,Syn1,Syn2)的权重。每个条目111的第三子集1 14还保存一个神经元11以下的路由信息:扇出(F),以及路由延迟(ΔΤ)。
存储装置110被划分成多个段110A。在一个实施例中,存储设备110是单一存储阵列。该存储阵列可包括多个分区110A,例如第一分区110A保存多个神经元11的突触连接信息,第二分区110A保存神经元11的神经元参数,以及一个第三分区110A用于保存神经元11的路由数据信息。在另一个实施例中,存储装置100具有多个存储阵列。第一存储阵列保存多个神经元11的突触连接信息,第二存储阵列保存神经元11的神经元参数11,以及一个第三存储阵列用于保存神经元11的路由数据信息。
存储装置110还包括存储接口电路115。电路115可以是标准的存储接口电路。
在一个实施例中,控制器120包括输入处理部件130和计算部件140。对于每个条目111,处理部件130被配置成接收和处理以所述条目111为目标的激发事件。具体来说,每个接收到的激发事件以神经元11(由所述条目111代表)所互连的轴突15为目标。如上所指出的,每个条目111的第一子集112保存将神经元11互连到轴突15的突触31的突触权重。如果用于互连目标轴突15以及神经元11(由所述条目111表示)的突触31被导通时,可以由计算部件140合并所述激发事件。
在一个实施方案中,处理部件130包括解码器131,调度控制单元132、调度器133、轴突型寄存器134、复用控制部135和点积模块136。
在包括多个核心电路100的神经网络中,以地址-事件数据包的形式在神经网络的核心电路100之间路由激发事件。每个地址-事件数据包包括编码为二进制地址的激发事件,所述二进制地址用于表示目标轴突15,其中,由相同核心电路100或不同核心电路100中的神经元11生成该激发事件。每个地址-事件数据包还包括时间戳,用于表示封装在所述地址-事件数据包中的激发事件的生成时间。每个核心电路100的解码器131被配置用于接收以及解码地址-事件数据包。
在一个示例实现方式中,调度器133是包括行和列的双端口存储。从接收到的地址-事件数据包中解码出的激发事件被存储在调度器133中,其中,行代表未来时间步长,列表示轴突15。对于每个激发事件,所述调度器控制单元132控制该激发事件被写入到调度器133的哪些行和列。对于接收到的激发事件,在将它们传送到目标轴突15之前选择性的施加一个延迟。对于每个激发事件,调度器控制单元132计算所述激发事件路由至解码器131的时间长度作为差值d,即,地址-事件数据包到达译码器131的时间与表示生成激发事件时间的时间戳之间的时间差。如果差值d小于预定的传送延迟(或预定的总延迟)n时,激发事件在调度器133的被保存的延迟周期D等于n和d之间的差,以从生成激发事件到传递激发事件间获得n个时间戳,调度器133在延迟周期的结束时传递激发事件。
例如,如果脉冲在神经网络中传播时需要3至9个时间步长(time steps),调度器133可为所有脉冲确保9个时间步长。在一个实例中,尽管一个脉冲在三个时间步长内由从生成开始到达解码器131,但调度器133将脉冲的传输延迟6个时间步长,致使脉冲从生成开始起9个时间步长结束时才传输。
在每个时间步长的开始,向量表示了当前时间步长中所有活动的轴突15的向量从调度器133中读取为行。然后,在每个时间步长对整个存储装置110读取并写入一次。
具体地,对于每个时间步长,使用顺序扫描器150在存储设备110中以每次一个的方式顺序读出条目111。复用控制单元135被配置为发送控制信号到存储装置110。对于表示神经元11的每个条目111,点积模块136计算在当前时间步长的活动轴突15的向量与在所述条目111中保存的突触连接信息之间的点积,也就是说,与神经元1 1的树突路径34相连的所有突触31的突触权重(Wj)。
轴突类型寄存器134保存不同的命令,并基于轴突类型(即,Syn0,Syn1,Syn2,等)向计算部件140发送指令。每个所保存的命令对应于计算出的点积的一个索引(index)。在一个实施例中,在存储设备110保存的所述突触权重是二进制值。轴突类型寄存器134向该计算部件140发送指令,该指令对应于点积的非零值的索引。例如,如果计算出的点积具有的值是<1,1,1,0,0,0>,同时轴突类型寄存器保存的值是<0,1,2,3,1,2>,轴突型寄存器134向计算部件140发送的指令是0,1,2。
复用控制单元135进一步被配置为组合所计算的点积以及激发事件来创建发送到计算部件140的信号和指令。所创建的信号包括时钟信号/时间步长。
在另一个实施例中,在存储装置110中保存的突触权重110是非二进制的。轴突类型寄存器134向该计算部件140发送该点积的每个非零值与该点积的所述非零值的索引所对应的命令的乘积。例如,如果计算的点积具有值<2,1,3,0,0,0>,同时轴突类型寄存器保存的值是<0,1,2,3,1,2>,则轴突类型寄存器134将值(0,2),(1,1),和(2,3)发送至计算部件140。
在一个实施例中,计算部件140包括第一复用器141、第二复用器142、加法器143、解复用器144、比较器模块(“比较器”)145以及编码器146。
对于每个条目111,第一复用器141使用由复用控制单元135所提供的信息来选择一个神经元的参数(即,Syn0,Syn1,Syn2,Lk)。例如,在所有的脉冲被合并后,选择保存在所述条目111中的泄漏率Lk。加法器143把由第一复用器141选择的神经元参数与由第二复用器142中选择的膜电位变量相加。对于每个条目111,第二复用器142为第一加法选择存储在所述条目111中的膜电位变量。对于每个条目111,第二复用转换器142为后续的加法选择修改的膜电位变量,其中所述修改的膜电位变量是一个临时变量。
对于每个条目111,在所有脉冲被合并并且应用了泄漏率之后,比较器145确定修改后的膜电位变量是否超过条目111中所保存的阈值参数Th。如果超过所述阈值参数Th,则编码器146生成脉冲,并使用在所述条目111中保存的扇出F和路由延迟ΔΤ信息将所生成的脉冲封装/编码到地址-事件数据包中。膜电位变量V可以在被写回到所述条目111之前被重置为零。
在下面的表1中提供了示例性的伪代码,展示了控制器120的执行。
TABLE 1
在另一示例性的实施方式中,调度器133被配置用于双缓存。例如,调度器133可以包括第一缓存器和第二缓存器。调度器133将在当前时间步长t所接收到的激发事件缓存在该第一缓存器中。在下一个时间步长t+1开始的时候,调度器133将位于第一缓存器中的该激发事件移至第二缓存器。根据所编程的发送时间,每个激发事件可在时间步长t+1或随后的时间步长被发送至目标轴突15。
图5示出根据本发明的实施例的复用核心电路的存储装置110的示意性框图。如上所述,存储装置110保存多个神经元11的相关信息。存储装置110包括多个条目111。每个条目111保存神经元11的神经元属性。
图6示出根据本发明的实施例的复用核心电路100的存储装置110的条目111中所保存信息的示意性框图。在一个实施例中,每个条目111为一个神经元11保存下列神经元属性:突触连接信息、神经元参数以及路由信息。在一个实施例中,每个条目111的第一子集112保存突触31的突触权重,突触31用于将一个神经元11互连到轴突15。每个条目111的第二子集113保存神经元11的下列神经元参数:膜电位变量(V)、脉冲阈值(Th)、泄漏率(Lk)以及每一个可能的轴突类型的权重(Syn0,Syn1,Syn2)。每个条目111的第三子集114还保存一个神经元11的以下路由信息:扇出(F)以及路由延迟(ΔΤ)。
图7示出根据本发明的实施例的复用核心电路示意性框图。如上所述,核心电路100包括:存储装置110,包括多个条目111。每个条目111保存与神经元11有关的信息。核心电路100还包括存储设备110的控制器(即,处理和计算逻辑电路)120。存储接口电路115用于桥接存储装置110与控制器120。
图8示出根据本发明的实施例的接收二进制输入向量的复用核心电路的示意性框图。如上所述,在每个时间步长开始时,从调度器133获得二进制输入向量50,该二进制输入向量50指示了当前时间步长15中所有活动的轴突。然后依次的,一次一个的读出存储装置110中的每一个条目111。
图9示出根据本发明的实施例的半复用核200示意性框图。核200包括多个存储装置110。每个存储装置110具有相应的控制器(即,相应的处理和计算逻辑电路)120。在一个实施方案中,包括N个神经元的核200可包括用于N个神经元的α个控制器(即,处理和运算的逻辑电路),其中α是正整数,1<α<N。
图10示出根据本发明的一个实施例的高元核(tall meta-core)400。元核400是一个复用的神经网络系统。元核400包括高大存储装置410(tall memory device),用于为属于不同的核心电路10的多个神经元11保存神经元属性。存储装置410包括多个子集412(图11),其中,每个子集412保存核心电路10中的神经元11的神经元属性。每个子集412包括多个条目411,其中,每个条目411保存神经元11的神经元属性。对于每个条目411,神经元11的神经元属性包括突触连接信息、神经元参数以及路由信息。
将数据合并到一个高存储设备410降低了无源功率消耗,而不增加总的有源功率消耗。元核400还包括控制器(即,处理和计算逻辑电路)120。由存储装置410表示的神经元11被复用,使得由存储装置110的条目411所表示的每个神经元11与由存储装置410的其它条目411所表示的其他神经元11共享控制器120。因此,不同的核心电路10的神经元11共享相同的控制器120。存储接口电路415桥接存储装置410与控制器120。
控制器120中的解码器131被配置为从路由网络260(routing network)接收地址-事件数据包。控制器120中的编码器146被配置为将地址-事件数据包发送到路由网络260。
图11示出根据本发明的实施例的高元核(tall meta-core)400的高大存储装置410。如上所述,高大存储装置410用于保存属于不同核心电路10的多个神经元11的神经元属性。存储装置410包括多个子集412,其中每个子集412保存核心电路10的神经元11的神经元属性。每个子集412包括多个条目411,其中,每个条目411保存神经元11的神经元属性。对于每个条目411,神经元11的神经元属性包括突触连接信息、神经元参数以及路由信息。
图12示出根据本发明的实施例的宽元核500(wide meta-core 500)。元核500是一个复用的神经网络系统。元核500包括宽存储装置(wide memory device)510,用于保存属于不同核心电路10的多个神经元11的神经元属性。存储装置510包括多个子集512,其中,所述存储装置510的每个子集512用于保存核心电路10中神经元11的神经元属性。每个子集512可被分为多个条目511,其中,每个条目511用于保存一个神经元11的神经元属性。在一个示例性的实施例中,每个子集512所包括的条目511的数量等于存储装置510所代表的核心电路10的数量。对于每个条目511,该条目511中保存的神经元11的神经元属性包括突触连接信息、神经元参数以及路由信息。
将数据合并到一个宽存储装置510降低了无源能耗(passive powerconsumption)。元核500还包括多个控制器(例如,处理和运算逻辑电路)120。在一个实施例中,包括N个神经元的元核500包括用于N个神经元的α个控制器(例如,处理和运算逻辑电路),其中α是一个正整数(1≤α<N)。在一个示例性实施例中,存储装置510的每个子集512具有相对应的控制器(即,相应的处理和计算逻辑电路)120。因此,相同的核心电路10的神经元11共享相同的控制器120。在操作过程中,每个子集512的每个条目511被完全读出,并且所述条目511的神经元属性是由所述子集512的控制器120独立地进行处理。
图13示出根据本发明的实施例的宽元核(wide meta-core)500的一个宽存储装置510的示意性框图。如上所述,宽存储装置510用于保存属于不同的核心电路10的多个神经元11的神经元属性。存储装置510包括多个子集512,其中,所述存储装置510的每个子集512用于保存核心电路10的神经元11的神经元属性。每个子集512可被分为多个条目511,其中,每个条目511用于保存神经元11的神经元属性。在一个示例性的实施例中,每个子集512所包括的条目511的数量等于存储装置510所代表的核心电路10的数量。对于每个条目511,该条目511中保存的神经元11的神经元属性包括突触连接信息、神经元参数以及路由信息。
图14示出了根据本发明的一个实施例的元核600。元核(meta-core)600是一个复用的神经网络系统。元核600包括存储设备610,用于保存属于不同核心电路10(图1)的多个神经元11(图1)的神经元属性。如图14所示,存储设备610用于保存属于核心电路Core0,Corel,Core2……Core8的神经元11的神经元属性。将多个核心电路10的数据合并到存储装置610,降低了无源功率消耗(passive power consumption)。
存储装置610具有多个子集612(图15),其中,每个子集612用于保存一个核心电路10的神经元11的神经元属性。每个子集612具有多个条目611(图15),其中,每个条目611用于保存一个神经元11的神经元属性。对于每个条目611,该条目611中所保存的神经元属性包括突触连接信息,神经元参数,以及用于神经元11的路由信息。
元核(meta-core)600还包括多个控制器(例如,处理和计算逻辑电路)120。在一个实施例中,包括N个神经元的元核600可包括用于该N个神经元的α个控制器(即,处理和运算逻辑电路)120,其中α是一个正整数(1≤α<N)。在一个示例性的实施方式中,该存储装置610的子集612被组织成为多个组614(图15)。每个组614包括多个代表不同核心电路10的子集612。每个组614具有一对应的控制器(即,处理和计算逻辑电路)120,以使得该组614中的神经元11共享该相同的控制器120。在操作过程中,每个组614中的每个子集612的每个条目611被读出,保存于该条目611中的神经元属性由属于该组614的控制器120独立的进行处理。
如图14所示,用于核心电路Core0,Core3以及Core6的数据共享第一控制器120,用于核心电路Core1,Core4以及Core7的数据共享第二控制器120,用于核心电路Core2,Core5以及Core8的数据共享第三控制器120。
在一个实施例中,顺序执行核心电路10中神经元的更新,以使得每次更新一个神经元11。在一个示例性的实施方式中,在一个神经元更新过程中,只使用一个用于核心电路10的控制器120。当对一个神经元11的神经元更新完成时,所述元核600前进到下一个神经元11,直到所有的神经元11得到处理。因此,随着神经元11的数目增加(突触31的数量也增加),需要控制器120来完成的用于核心电路10的神经元更新的时间也增加。如果这个时间超过一个时间步长的持续时间,控制器120将不能在一个时间步长内完成核心电路10的神经元更新。因此,存储装置610的最佳高度应该是基于控制器120在一个时间步长内能够处理的神经元11的最大可能的数目。例如,如果控制器120工作在100兆赫,并且所有神经元11必须在一个1毫秒的时间步长内得到处理,其中,处理一个神经元11需要1000个时钟滴答(ticks),则存储装置610只能有100个条目611。该存储装置610的最佳宽度(width)的确定取决于处理过程。
在另一个实施例中,并行地执行核心电路10的神经元更新。在一个示例性的实施例中,用于不同的核心电路10的控制器120被并行的使用。可收集到一些核心电路10(即,从属核心电路)的神经元11的膜电位变量(membrane potential variable)的变化,然后,根据所收集的变化对核心电路10(即,主核心电路10)的数据进行更新。由于是并行地进行核心电路10的神经元更新,神经元更新的时间就不依赖于元核(meta-core)的尺寸。
图15是根据本发明的一个实施例的元核600的存储装置610的方框图。如上所述,存储装置610保存属于不同核心电路10的多个神经元11的神经元属性。存储装置610包括多个子集612,其中,该存储装置610的每个子集612保存一个核心电路10中神经元11的神经元属性。每个子集612具有多个条目611,其中,每个条目611为一个神经元11保存神经元属性。对于每个条目611,在该条目611中保存的神经元属性包括突触连接信息、神经元参数以及神经元11的路由信息(routing information for a neuron 11)。在一个示例性的实施方式中,该子集612被组织成为多个组614,其中,每个组614包括多个代表不同核心电路10的子集612。
如图15所示,用于核心电路Core0,Core3以及Core6的数据被组织成第一分组614,用于核心电路Core1,Core4以及Core7的数据被组织成第二分组614,用于核心电路Core2,Core5以及Core8的数据被组织成第三分组614。
图16示出了根据本发明的一个实施例的一个神经网络700。所述神经网络包括多个核710。核710可以是被复用的核心电路100,高元核(tall meta-cores)400,(宽元核)wide meta-cores 500,以及元核(meta-cores)600。每个核710都有相应的路由器720,用于把地址-事件数据包传递给在北行,南行,东行,西行各方向上的相邻路由器200。
图17示出了根据本发明的一个实施例的用于在复用的核心中处理激发事件的示例性流程图800。在步骤框801中,接收地址-事件数据包(AER事件)。在步骤框802中,解码接收到的每个地址-事件数据包。在步骤框803中,基于解码的信息,将解码的地址-事件数据包存储在一个调度器中。在步骤框804中,从调度器获取在当前时间步长中的活动轴突向量。在步骤框805中,依次读出一存储装置中的每个条目,其中,所述存储装置用于保存与神经元相关的信息。
图18示出的是用于实现本发明的一个实施例的信息处理系统300的高级别框图。该计算机系统包括一个或多个处理器,如处理器302。该处理器302被连接到通信基础设施304(例如,通信总线,纵横制交换机(cross-over bar),以及网络)。
计算机系统可以包括显示接口306,用于转发来自通信基础架构304(或来自未示出的帧缓冲区)的图形、文字和其它数据以在显示单元308上显示。计算机系统还包括主存储器310,优选地为随机存取存储器(RAM),并且可以包括第二存储器312。第二存储器312例如可以包括硬盘驱动器314和/或可移动存储驱动器316,例如表现为软盘驱动器、磁带驱动器或光盘驱动器。可移动存储驱动器316以所属领域的普通技术人员公知的方式从可移动存储单元318读取和/或写入可移动存储单元38。可移动存储单元318例如表示可由可移动存储驱动器316读写的软盘、光碟、磁带或光盘等。将理解,可移动存储单元318包括上面存储计算机软件和/或数据的计算机可读介质。
在备选实施例中,第二存储器312可以包括允许计算机程序或其它指令加载到计算机系统中的其它类似装置。此类装置例如可以包括可移动存储单元320和接口322。此类装置的实例可以包括程序封装和封装接口(例如在视频游戏设备中找到的),可移动存储芯片(例如EPROM或PROM)和关联的插口,以及允许软件和数据从可移动存储单元320传输到计算机系统的其它可移动存储单元320和接口322。
计算机系统还可以包括通信接口324。通信接口324允许软件和数据在计算机系统和外部设备之间传输。通信接口324的实例可以包括调制解调器、网络接口(例如,以太网卡)、通信端口或PCMCIA插槽和卡等。通过通信接口324传输的软件和数据采取信号的形式,所述信号例如可以是能够被通信接口324接收的电信号、电磁信号、光信号或其它信号。这些信号通过通信路径(即,信道)326提供给通信接口324。通信路径326传输信号并可以使用电线或电缆、光纤、电话线、蜂窝电话链路、RF链路和/或其它通信信道实现。
在本文中,术语“计算机程序介质”、“计算机可用介质”和“计算机可读介质”一般用于指示介质,例如主存储器310和第二存储器312、可移动存储驱动器316和硬盘驱动器314中安装的硬盘。
计算机程序(也称为计算机控制逻辑)存储在主存储器310和/或第二存储器312中。计算机程序还可以通过通信接口324接收。此类计算机程序当运行时,可使计算机系统执行本文介绍的本发明的特征。具体而言,计算机程序当运行时,可使处理器302执行计算机系统的特征。因此,此类计算机程序表示计算机系统的控制器。
从上面的描述中,可以看出,本发明提供了一种系统,计算机程序产品,以及用于实现本发明实施例的方法。本发明进一步提供了用于分层路由(hierarchical routing)以及在神经网络中具有结构可塑性的双向信息流的非暂时性计算机可使用的存储介质。非暂时性计算机可用存储介质上具有计算机可读程序,当在计算机上处理存储介质上的程序时,使得计算机能够根据本文所描述的实施例来实现本发明的步骤。在权利要求中,以单数形式对元素的引用并非旨在表示“一个且唯一的”,而是“一个或多个,除非明确如此声明。本权利要求书旨在涵盖所有在结构和功能上等同于以上描述的示例性实施例中的元件,包括本领域的普通技术人员在目前已知或在将来已知的。本文中权利要求中的要素不会按照美国专利法第112条第6段进行解释,除非明确的使用短语“装置,用于”或“步骤,用于”进行表述。
本文所用术语的目的仅仅是为了描述具体实施方案,而非意在限制本发明。如本文所使用的,单数形式“一个”,以及“该”也意图包括复数形式,除非上下文另外明确指出。进一步能够理解的是,在本说明书中使用术语“包括”时,明确了所陈述的特征,整数,步骤,操作,元件和/或组件的存在,但不排除存在或附加一个或多个其它特征,整数,步骤,操作,元件,组件和/或它们的分组。
以下的权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述是示例性和描述性的,并非穷尽性的,并且也不限于所披露的发明内容。在不偏离本发明的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。实施例的选择和描述,旨在最好地解释本发明的原理、实际应用,当适合于所构想的特定应用时,可使本技术领域的普通人员理解本发明带有各种修改的各种实施例。

Claims (18)

1.一种神经核心电路,包括:
用于保存多个神经元的神经元属性的存储装置,其中所述存储装置具有多个条目,以及每个条目保存相应神经元的神经元属性;以及
用于管理该存储装置以及处理目标为每个神经元的神经元激发事件的控制器,其中,响应于以所述神经元中的一个为目标的神经元激发事件,该控制器从该存储装置中相应的条目中获取该目标神经元的神经元属性,以及,在所获取的神经元属性基础上合并所述激发事件为该目标神经元生成激发事件;
其中,如果所合并的激发事件超过目标神经元的阈值神经元参数,所述控制器为该目标神经元生成激发事件。
2.如权利要求1的神经核心电路,其中:
对于所述多个条目中的每一个,在该条目中保存的神经元属性包括对应神经元的突触连接信息、神经元参数以及路由数据信息。
3.如权利要求1的神经核心电路,其中:
对于每个目标神经元,所述控制器为所述目标神经元更新至少一个神经元参数。
4.如权利要求3的神经核心电路,其中:
所述控制器为多个神经元复用计算与控制逻辑。
5.如权利要求1的神经核心电路,其中:
对于每个时间步长,顺序读出该存储装置中的每个条目。
6.如权利要求2的神经核心电路,其中:
对于每个对应于该存储装置的条目的神经元,该控制器:
接收以所述神经元为目标的进入激发事件;以及
由该存储装置中的相应条目中获取该神经元的突触连接信息。
7.如权利要求6的神经核心电路,其中:
对于每个对应于该存储装置的条目的神经元,该控制器:
由该存储装置中的相应条目中获取该神经元的神经元参数;
合并以所述神经元为目标的进入激发事件,其中,以该神经元参数以及所述神经元的突触连接信息为基础合并该进入激发事件;
当该被合并的进入激发事件超过所述神经元的阈值神经元参数,生成一个外出的激发事件,其中,基于该神经元的路由数据信息生成该外出的激发事件;以及
更新所述神经元的至少一个神经元参数。
8.如前述任一权利要求中的神经核心电路,其中:
所述存储装置是包括多个分区的存储阵列;以及,
所述多个分区包括:
保存所述多个神经元的突触连接信息的第一分区;
保存所述多个神经元的神经元参数的第二分区;以及
保存所述多个神经元的路由数据信息的第三分区。
9.如权利要求1至7中任一的神经核心电路,其中:
所述存储装置包括多个存储阵列;以及,
所述多个存储阵列包括:
保存所述多个神经元的突触连接信息的第一存储阵列;
保存所述多个神经元的神经元参数的第二存储阵列;以及
保存所述多个神经元的路由数据信息的第三存储阵列。
10.一种为存储装置中多个神经元保存神经元属性的方法,其中,所述存储装置具有多个条目,以及每个条目保存相应神经元的神经元属性,所述方法包括:
响应于以所述神经元中的一个为目标的神经元激发事件,从该存储装置中相应的条目中获取该目标神经元的神经元属性;以及
在所获取的神经元属性基础上合并所述激发事件为该目标神经元生成激发事件;
其中,如果所合并的激发事件超过目标神经元的阈值神经元参数,为该目标神经元生成激发事件。
11.如权利要求10的方法,还包括:
对于所述多个条目中的每一个,在该条目中保存的神经元属性包括对应神经元的突触连接信息、神经元参数、以及路由数据信息。
12.如权利要求10的方法,还包括:
对于每个目标神经元,为所述目标神经元更新至少一个神经元参数。
13.如权利要求12的方法,还包括:
为多个神经元复用计算与控制逻辑。
14.如权利要求11的方法,还包括:
对于每个在该存储装置具有一个相应条目的神经元:
接收以该神经元为目标的进入激发事件;以及
由该存储装置中的相应条目中获取该神经元的突触连接信息。
15.如权利要求14的方法,还包括:
对于每个在该存储装置具有一个相应条目的神经元:
由该存储装置中的相应条目中获取该神经元的神经元参数;
合并以该神经元为目标的进入激发事件,其中,该进入激发事件以该神经元参数以及该神经元的突触连接信息为基础被合并;
当该被合并的进入激发事件超过该神经元的阈值神经元参数,生成一个外出激发事件,其中,基于该神经元的路由数据信息生成该外出激发事件;以及
更新该神经元的至少一个神经元参数。
16.如权利要求10的方法,还包括:
对于每个时间步长,顺序读出该存储装置中的每个条目。
17.如权利要求10的方法,还包括:
在一个存储阵列的第一分区中保存所述多个神经元的突触连接信息;
在该存储阵列的第二分区中保存所述多个神经元的神经元参数;以及
在该存储阵列的第三分区中保存所述多个神经元的路由数据信息。
18.如权利要求10的方法,还包括:
在第一存储阵列中保存所述多个神经元的突触连接信息;
在第二存储阵列中保存所述多个神经元的神经元参数;以及
在第三存储阵列中保存所述多个神经元的路由数据信息。
CN201380048027.1A 2012-09-14 2013-06-28 神经核心电路及为多个神经元保存神经元属性的方法 Active CN104641385B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/619,433 US9159020B2 (en) 2012-09-14 2012-09-14 Multiplexing physical neurons to optimize power and area
US13/619,433 2012-09-14
PCT/IB2013/055312 WO2014041443A1 (en) 2012-09-14 2013-06-28 Neural core circuit

Publications (2)

Publication Number Publication Date
CN104641385A CN104641385A (zh) 2015-05-20
CN104641385B true CN104641385B (zh) 2017-03-01

Family

ID=50277711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380048027.1A Active CN104641385B (zh) 2012-09-14 2013-06-28 神经核心电路及为多个神经元保存神经元属性的方法

Country Status (5)

Country Link
US (2) US9159020B2 (zh)
JP (1) JP6250054B2 (zh)
CN (1) CN104641385B (zh)
DE (1) DE112013003349T5 (zh)
WO (1) WO2014041443A1 (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390368B2 (en) * 2013-10-21 2016-07-12 International Business Machines Corporation Coupling parallel event-driven computation with serial computation
US9406015B2 (en) * 2013-12-27 2016-08-02 International Business Machines Corporation Transform for a neurosynaptic core circuit
US9412063B2 (en) 2013-12-27 2016-08-09 International Business Machines Corporation Transform architecture for multiple neurosynaptic core circuits
US9852006B2 (en) 2014-03-28 2017-12-26 International Business Machines Corporation Consolidating multiple neurosynaptic core circuits into one reconfigurable memory block maintaining neuronal information for the core circuits
US9195903B2 (en) * 2014-04-29 2015-11-24 International Business Machines Corporation Extracting salient features from video using a neurosynaptic system
US9373058B2 (en) 2014-05-29 2016-06-21 International Business Machines Corporation Scene understanding using a neurosynaptic system
US9798972B2 (en) 2014-07-02 2017-10-24 International Business Machines Corporation Feature extraction using a neurosynaptic system for object classification
US10115054B2 (en) 2014-07-02 2018-10-30 International Business Machines Corporation Classifying features using a neurosynaptic system
US10664751B2 (en) * 2016-12-01 2020-05-26 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either cache memory or neural network unit memory
CN105426957B (zh) * 2015-11-06 2017-09-29 兰州理工大学 一种电磁辐射下的神经元电活动模拟器
US10423879B2 (en) 2016-01-13 2019-09-24 International Business Machines Corporation Efficient generation of stochastic spike patterns in core-based neuromorphic systems
US10990872B2 (en) 2016-03-31 2021-04-27 International Business Machines Corporation Energy-efficient time-multiplexed neurosynaptic core for implementing neural networks spanning power- and area-efficiency
WO2017200088A1 (ja) * 2016-05-19 2017-11-23 国立大学法人北海道大学 ニューラルネットワーク回路及びニューラルネットワーク集積回路
US10586147B2 (en) * 2016-09-22 2020-03-10 Intel Corporation Neuromorphic computing device, memory device, system, and method to maintain a spike history for neurons in a neuromorphic computing environment
US11281963B2 (en) * 2016-09-26 2022-03-22 Intel Corporation Programmable neuron core with on-chip learning and stochastic time step control
US11270193B2 (en) * 2016-09-30 2022-03-08 International Business Machines Corporation Scalable stream synaptic supercomputer for extreme throughput neural networks
US10423876B2 (en) 2016-12-01 2019-09-24 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either victim cache or neural network unit memory
US10395165B2 (en) * 2016-12-01 2019-08-27 Via Alliance Semiconductor Co., Ltd Neural network unit with neural memory and array of neural processing units that collectively perform multi-word distance rotates of row of data received from neural memory
US10417560B2 (en) * 2016-12-01 2019-09-17 Via Alliance Semiconductor Co., Ltd. Neural network unit that performs efficient 3-dimensional convolutions
US10248906B2 (en) 2016-12-28 2019-04-02 Intel Corporation Neuromorphic circuits for storing and generating connectivity information
CN106971229B (zh) * 2017-02-17 2020-04-21 清华大学 神经网络计算核信息处理方法和系统
CN106971228B (zh) * 2017-02-17 2020-04-07 北京灵汐科技有限公司 神经元信息发送方法和系统
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
EP3627437B1 (en) * 2017-04-06 2022-11-09 Cambricon (Xi'an) Semiconductor Co., Ltd. Data screening device and method
US11551067B2 (en) 2017-04-06 2023-01-10 Shanghai Cambricon Information Technology Co., Ltd Neural network processor and neural network computation method
US10795836B2 (en) 2017-04-17 2020-10-06 Microsoft Technology Licensing, Llc Data processing performance enhancement for neural networks using a virtualized data iterator
US11100396B2 (en) * 2017-08-24 2021-08-24 International Business Machines Corporation Self-adjusting threshold for synaptic activity in neural networks
WO2019049686A1 (ja) 2017-09-07 2019-03-14 パナソニック株式会社 半導体記憶素子を用いたニューラルネットワーク演算回路及び動作方法
CN107748914A (zh) * 2017-10-19 2018-03-02 珠海格力电器股份有限公司 人工神经网络运算电路
EP3685316B1 (en) * 2017-10-27 2023-08-09 Google LLC Capsule neural networks
JP6794336B2 (ja) * 2017-11-17 2020-12-02 株式会社東芝 ニューラルネットワーク装置
US11195079B2 (en) * 2017-11-22 2021-12-07 Intel Corporation Reconfigurable neuro-synaptic cores for spiking neural network
JP6569755B1 (ja) 2018-03-06 2019-09-04 Tdk株式会社 ニューラルネットワーク装置、信号生成方法およびプログラム
KR20190110737A (ko) 2018-03-21 2019-10-01 에스케이하이닉스 주식회사 하나의 공통 로직 디바이스를 공유하는 다수의 시냅스 블록들을 가진 뉴로모픽 소자
US20190303740A1 (en) * 2018-03-30 2019-10-03 International Business Machines Corporation Block transfer of neuron output values through data memory for neurosynaptic processors
US20190332924A1 (en) * 2018-04-27 2019-10-31 International Business Machines Corporation Central scheduler and instruction dispatcher for a neural inference processor
US11501140B2 (en) * 2018-06-19 2022-11-15 International Business Machines Corporation Runtime reconfigurable neural network processor core
US20200117981A1 (en) * 2018-10-11 2020-04-16 International Business Machines Corporation Data representation for dynamic precision in neural network cores
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
TWI733334B (zh) 2020-02-15 2021-07-11 財團法人工業技術研究院 卷積神經網路運算裝置及其運算的方法
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
CN112784972B (zh) * 2021-01-15 2022-10-11 之江实验室 一种面向片上神经网络的突触实现架构

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819245A (en) * 1995-09-05 1998-10-06 Motorola, Inc. Method of organizing data into a graphically oriented format
CN102667826A (zh) * 2009-11-18 2012-09-12 国际商业机器公司 面积有效仿神经电路
CN104145281A (zh) * 2012-02-03 2014-11-12 安秉益 神经网络计算装置和系统及其方法

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57125127A (en) 1981-01-21 1982-08-04 Chuo Seisakusho Inversion device for vessels
JP3260357B2 (ja) 1990-01-24 2002-02-25 株式会社日立製作所 情報処理装置
US5636327A (en) 1991-09-18 1997-06-03 Matsushita Electric Industrial Co., Ltd. Neural network circuit
JPH06139217A (ja) 1992-10-29 1994-05-20 Hitachi Ltd 高精度演算処理装置および方法
DE69430527T2 (de) 1994-07-28 2003-01-02 Ibm Schaltung für das Vorladen von Eingangsvektorbestandteilen in eine freie Neuronalschaltung während der Erkennungsphase
US7089218B1 (en) 2004-01-06 2006-08-08 Neuric Technologies, Llc Method for inclusion of psychological temperament in an electronic emulation of the human brain
JPH11232244A (ja) * 1998-02-10 1999-08-27 Hitachi Ltd ニューラルネットワーク、その学習方法およびニューロ・ファジィ制御装置
GB9924310D0 (en) 1999-10-15 1999-12-15 Univ Manchester Neural network component
US6418378B1 (en) * 2000-06-26 2002-07-09 Westerngeco, L.L.C. Neural net prediction of seismic streamer shape
US6999953B2 (en) 2002-07-03 2006-02-14 Energy Conversion Devices, Inc. Analog neurons and neurosynaptic networks
US7467115B2 (en) 2004-07-15 2008-12-16 Neurosciences Research Foundation, Inc. Mobile brain-based device having a simulated nervous system based on the hippocampus
IL165096A0 (en) * 2004-11-08 2005-12-18 Eyal Cohen A method and system for diagnosis of cardiac diseases utilizing neural networks
US8443169B2 (en) 2005-03-28 2013-05-14 Gerald George Pechanek Interconnection network connecting operation-configurable nodes according to one or more levels of adjacency in multiple dimensions of communication in a multi-processor and a neural processor
US7627540B2 (en) 2005-06-28 2009-12-01 Neurosciences Research Foundation, Inc. Addressing scheme for neural modeling and brain-based devices using special purpose processor
US7533071B2 (en) 2005-06-28 2009-05-12 Neurosciences Research Foundation, Inc. Neural modeling and brain-based devices using special purpose processor
US8407429B2 (en) 2006-06-21 2013-03-26 Element Cxi, Llc Multi-context configurable memory controller
US8510244B2 (en) 2009-03-20 2013-08-13 ISC8 Inc. Apparatus comprising artificial neuronal assembly
US8250010B2 (en) 2009-05-21 2012-08-21 International Business Machines Corporation Electronic learning synapse with spike-timing dependent plasticity using unipolar memory-switching elements
CN101639901A (zh) 2009-09-03 2010-02-03 王连明 基于多核技术的前馈神经网络硬件实现方法
US8275727B2 (en) * 2009-11-13 2012-09-25 International Business Machines Corporation Hardware analog-digital neural networks
US9063779B2 (en) 2010-01-06 2015-06-23 Mindspeed Technologies, Inc. Task list generation, parallelism templates, and memory management for multi-core systems
US8699566B2 (en) 2010-01-27 2014-04-15 International Business Machines Corporation Adaptive and integrated visualization of spatiotemporal data from large-scale simulations
JP2013529342A (ja) * 2010-05-19 2013-07-18 ザ リージェンツ オブ ザ ユニバーシティ オブ カリフォルニア ニューラル処理ユニット
US9665822B2 (en) * 2010-06-30 2017-05-30 International Business Machines Corporation Canonical spiking neuron network for spatiotemporal associative memory
US8606732B2 (en) * 2010-08-04 2013-12-10 Qualcomm Incorporated Methods and systems for reward-modulated spike-timing-dependent-plasticity
US8515885B2 (en) 2010-10-29 2013-08-20 International Business Machines Corporation Neuromorphic and synaptronic spiking neural network with synaptic weights learned using simulation
US8655813B2 (en) 2010-12-30 2014-02-18 International Business Machines Corporation Synaptic weight normalized spiking neuronal networks
US8856055B2 (en) * 2011-04-08 2014-10-07 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
CN102193518B (zh) 2011-05-13 2013-04-24 南京理工大学 基于基底神经节的fpga仿生智能控制芯片
US8812414B2 (en) 2011-05-31 2014-08-19 International Business Machines Corporation Low-power event-driven neural computing architecture in neural networks
US8712940B2 (en) 2011-05-31 2014-04-29 International Business Machines Corporation Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
US9147156B2 (en) 2011-09-21 2015-09-29 Qualcomm Technologies Inc. Apparatus and methods for synaptic update in a pulse-coded network
US8843425B2 (en) 2011-07-29 2014-09-23 International Business Machines Corporation Hierarchical routing for two-way information flow and structural plasticity in neural networks
US9104973B2 (en) 2011-09-21 2015-08-11 Qualcomm Technologies Inc. Elementary network description for neuromorphic systems with plurality of doublets wherein doublet events rules are executed in parallel
US8738554B2 (en) 2011-09-16 2014-05-27 International Business Machines Corporation Event-driven universal neural network circuit
US8909576B2 (en) 2011-09-16 2014-12-09 International Business Machines Corporation Neuromorphic event-driven neural computing architecture in a scalable neural network
US8874498B2 (en) 2011-09-16 2014-10-28 International Business Machines Corporation Unsupervised, supervised, and reinforced learning via spiking computation
US8799199B2 (en) 2011-12-14 2014-08-05 International Business Machines Corporation Universal, online learning in multi-modal perception-action semilattices
US8626684B2 (en) 2011-12-14 2014-01-07 International Business Machines Corporation Multi-modal neural network for universal, online learning
US8868477B2 (en) * 2012-03-29 2014-10-21 International Business Machines Coproration Multi-compartment neurons with neural cores
CN102663497B (zh) 2012-04-05 2014-04-30 北京大学 一种自路由单元电路及其控制方法
US9224089B2 (en) 2012-08-07 2015-12-29 Qualcomm Incorporated Method and apparatus for adaptive bit-allocation in neural systems
US8990130B2 (en) 2012-11-21 2015-03-24 International Business Machines Corporation Consolidating multiple neurosynaptic cores into one memory
JP6139217B2 (ja) 2013-03-29 2017-05-31 森永乳業株式会社 D−アミノ酸の製造方法
US9852006B2 (en) 2014-03-28 2017-12-26 International Business Machines Corporation Consolidating multiple neurosynaptic core circuits into one reconfigurable memory block maintaining neuronal information for the core circuits

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819245A (en) * 1995-09-05 1998-10-06 Motorola, Inc. Method of organizing data into a graphically oriented format
CN102667826A (zh) * 2009-11-18 2012-09-12 国际商业机器公司 面积有效仿神经电路
CN104145281A (zh) * 2012-02-03 2014-11-12 安秉益 神经网络计算装置和系统及其方法

Also Published As

Publication number Publication date
JP2015534172A (ja) 2015-11-26
US20150379393A1 (en) 2015-12-31
US20150254551A1 (en) 2015-09-10
CN104641385A (zh) 2015-05-20
WO2014041443A1 (en) 2014-03-20
US10713561B2 (en) 2020-07-14
DE112013003349T5 (de) 2015-03-19
JP6250054B2 (ja) 2017-12-20
US9159020B2 (en) 2015-10-13

Similar Documents

Publication Publication Date Title
CN104641385B (zh) 神经核心电路及为多个神经元保存神经元属性的方法
US10885424B2 (en) Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
US11410017B2 (en) Synaptic, dendritic, somatic, and axonal plasticity in a network of neural cores using a plastic multi-stage crossbar switching
US20190228289A1 (en) Time-division multiplexed neurosynaptic module with implicit memory addressing for implementing a neural network
US8812415B2 (en) Neuromorphic and synaptronic spiking neural network crossbar circuits with synaptic weights learned using a one-to-one correspondence with a simulation
US8914315B2 (en) Multi-compartment neuron suitable for implementation in a distributed hardware model by reducing communication bandwidth
US9152916B2 (en) Multi-compartment neurons with neural cores
US8005773B2 (en) System and method for cortical simulation
US20170076197A1 (en) Globally asynchronous and locally synchronous (gals) neuromorphic network
WO2014080300A1 (en) Neural network
US20140258199A1 (en) Structural descriptions for neurosynaptic networks
US20140214739A1 (en) Cortical simulator
Schäfer et al. Simulation of spiking neural networks—architectures and implementations
CN106406082A (zh) 一种系统控制方法、装置,控制器及控制系统
CN106971228A (zh) 神经元信息发送方法和系统
CN116739062A (zh) 基于gpu的大规模皮层脉冲神经网络异步并行仿真算法
Leal et al. Time series forecasting of tomato prices and processing in parallel in Mexico using modular neural networks

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