CN113196299A - 数据处理模块、数据处理系统及数据处理方法 - Google Patents
数据处理模块、数据处理系统及数据处理方法 Download PDFInfo
- Publication number
- CN113196299A CN113196299A CN201980064672.XA CN201980064672A CN113196299A CN 113196299 A CN113196299 A CN 113196299A CN 201980064672 A CN201980064672 A CN 201980064672A CN 113196299 A CN113196299 A CN 113196299A
- Authority
- CN
- China
- Prior art keywords
- neural
- synapse
- unit
- storage unit
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 123
- 238000003672 processing method Methods 0.000 title claims description 9
- 210000000225 synapse Anatomy 0.000 claims abstract description 216
- 230000001537 neural effect Effects 0.000 claims abstract description 197
- 210000002569 neuron Anatomy 0.000 claims abstract description 31
- 238000013528 artificial neural network Methods 0.000 claims abstract description 27
- 238000012421 spiking Methods 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 45
- 210000004027 cell Anatomy 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 7
- 238000010304 firing Methods 0.000 claims description 4
- 230000011664 signaling Effects 0.000 claims 1
- 230000000946 synaptic effect Effects 0.000 description 28
- 230000036982 action potential Effects 0.000 description 13
- 238000013507 mapping Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000010354 integration Effects 0.000 description 3
- 210000003061 neural cell Anatomy 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 210000003050 axon Anatomy 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 101100064323 Arabidopsis thaliana DTX47 gene Proteins 0.000 description 1
- 101100256916 Caenorhabditis elegans sid-1 gene Proteins 0.000 description 1
- 101150026676 SID1 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002567 autonomic effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 210000001787 dendrite Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- 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)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
- Multi Processors (AREA)
Abstract
一种用于时分复用地执行脉冲神经网络的神经形态处理模块(1),其中,脉冲神经网络设置为包括多个神经单元。每个神经单元能够呈现神经状态,并且在神经元状态存储单元(11)中具有相应可寻址存储条目,其中,神经元状态存储单元(11)用于存储指定其神经状态的状态信息。每个神经单元的状态信息由处理模块中的处理设施(10,神经控制器)根据发往所述神经单元的事件消息以时分复用的方式计算和更新。当处理设施计算更新的神经单元呈现发射状态时,其将更新的神经单元重置到初始状态,访问更新的神经单元在输出突触切片存储单元中的相应条目,并且从所述相应条目检索突触索引的相应范围的指示,其中,用于相应范围内的每个突触索引的处理设施访问突触存储单元中的相应条目,从突触存储单元检索突触属性数据,并将发射事件消息传输到与所述突触属性数据相关联的每个神经单元。
Description
背景技术
认知计算的出现已经提出了作为基于人脑操作的替代计算范例的神经计算。神经计算设备由于它们固有的并行架构,能够缓解冯诺依曼存储器的瓶颈。在生物学原理的启发下,神经计算设备被设计为通过突触连接彼此交互的神经单元。与人工神经计算设备的类似地操作的生物对应物相反,这些人工神经计算设备的IC实现通常是数字性质的。
这一方面协助人工神经计算设备的IC在硅上实现,另一方面提供了利用在数字集成电路设计的几十年中已经实现的巨大技术进步的机会。与当前可用的数字处理元件相反,生物神经元以几十到几百Hz的非常低的频率工作。因此,这将不会对它们的实现施加大的负担。然而,以现有技术设计具有与生物系统兼容的特性的硅上处理模块仍然非常不现实,因为典型的生物系统通常平均包含数十亿个神经元,这些神经元中的每个都具有多个突触。一种方法是用时分复用设计来模拟这种复杂系统,其中多个神经单元共享处理设施。由于数字硬件可以以比生物神经元工作的速度快几个数量级的速度运行,因此共享处理设施可真实地模仿神经元行为,同时这种方法节省空间以实现较高密度的虚拟神经元及其突触。
脉冲神经网络的特征在于,神经单元之间的信息作为发射事件消息进行交换。发射事件消息(脉冲)的发射指示数据可用,以及自先前发射事件消息的发射以来经过的时间间隔指示数据值。时间间隔的长度指示要进行交换的数据值。在一些设计中,发射频率指示数据值。在其它设计中,时间间隔的长度可指示数据值。在这两种情况下,约定俗成的是,在超过阈值时间间隔的时间间隔期间没有事件指示没有数据。这对于阵列处理特别重要(特别是当稀疏填充时),例如,对于处理来自监视相机的数据特别重要。传统的数据处理系统将要求以预定的刷新频率扫描每个图像元素。于是,扫描产生与扫描图像阵列中的像素数量和刷新频率成比例的数据流。假如脉冲神经网络联接到图像阵列,只有检测到图像内容变化的神经单元将向次级神经单元传输数据。反过来,只有由传输的数据触发的次级神经单元本身将传输数据。这样,大大降低了计算的负荷以及数据传输信道的负荷。
一种神经形态数据处理系统(即,模拟神经网络的数据处理系统)可包括多个时分复用处理模块,该时分复用处理模块在2D网格中分组在一起并经由片上包交换网络(NoC)彼此通信。每个时分复用处理模块也可被认为是神经计算核心。Filipp Akpyan等人在“TrueNorth:Design and Tool Flow of a 65mW 1Million Neural unit ProgrammableNeurosynaptic Chip”,IEEE,集成电路与系统计算机辅助设计学报(第34卷,第10期,2015年10月)|https://ieeexplore.ieee.org/document/7229264/中描述了这种方法的示例。
这种已知的数据处理系统的缺点是其限制了神经单元及其突触的映射比。每个神经单元具有固定数量的输入突触和一个输出突触。这导致在神经网络要求发射(脉冲)神经单元必须向比该固定数量更多数量的神经单元传输发射事件消息的应用的情况下效率低下。为了实现这一功能,用户将不得不复制神经单元或制作中继神经单元。在任一情况下,这都将导致资源浪费和功耗增加。
发明内容
本发明的第一个目标是提供这样一种神经形态数据处理模块,其能够在不需要额外的神经单元的情况下更灵活地修改神经单元的输入突触和输出突触的数量。
本发明的第二个目标是提供一种具有多个这种处理模块的神经形态数据处理系统。
本发明的第三个目标是提供一种相应神经形态数据处理方法。
根据本发明的第一方面,要求一种改进的神经形态数据处理模块。数据处理模块作为脉冲神经网络进行操作,其中,神经单元状态以时分复用的方式更新。改进的数据处理模块包括确定网络拓扑的可独立寻址的存储单元的组合。这些存储单元中的第一个是输入突触存储单元,该输入突触存储单元可利用输入突触标识号来索引,并为每个标识的输入突触提供输入突触属性,该输入突触属性包括具有标识的输入突触作为输入以接收发射事件消息的神经单元标识号,以及将分配给在该输入处接收到的这种消息的权重。这些存储单元中的第二个是输出突触存储单元,该输出突触存储单元可利用输出突触标识号来索引,并为每个标识的输出突触提供输出突触属性,该输出突触属性包括作为发射事件消息的目的地的输入突触标识号和延迟(如果有的话),这种消息将以该延迟被传递到该目的地。这些存储单元中的第三个是输出突触切片存储单元,该输出突触切片存储单元可利用神经单元标识号来索引,并为每个标识的神经单元指定输出突触存储单元中的索引的范围。在实施方式中,输出突触存储单元可与输入突触存储单元集成为突触存储单元。可通过重写这些存储单元来灵活地重新配置网络拓扑。由于神经单元的输出突触切片是利用输出突触切片存储单元中的单个条目来限定的,因此神经单元的扇出范围可以以几乎无限制的方式变化。只要所有输出突触的总数量不超过输出突触存储单元中的条目的数量,该条目所涉及的输出突触的数量可以是0、1、2或任何其它数量。由此,消除了如同复制神经单元或使用中继神经单元以实现高扇出的微调。在操作期间,通过重写这三个存储单元的内容来配置网络拓扑可由程序员或者作为机器学习过程的一部分进行。
该特征还有助于降低功耗,因为突触是比这种系统中的神经单元更昂贵的部分。如果对于给定的应用,存在性能的松弛余量,则映射器可利用这种灵活性以将更多的网络打包到更少数量的神经引擎中。这反过来有助于通过将未使用的数据处理模块置于低功率模式来节省电力。该特征还可在多个其他场景中被利用,其中一个场景是添加调试突触。
作为本发明的另一方面,提供了一种神经形态数据处理系统,该神经形态数据处理系统包括多个神经形态数据处理模块和基于消息的网络。其中,每个神经形态数据处理模块还包括网络通信模块,并且神经形态数据处理模块利用其网络通信模块联接到基于消息的网络。时分复用神经形态数据处理模块例如可以在2D网格中分组在一起,并且经由片上包交换网络(NoC)彼此通信。可替代地,可以以3D网格的形式提供进一步的集成。
附图说明
图1示意性地示出了神经单元;
图2A至图2D示意性地示出了由神经单元组成的神经网的各种示例;
图3示意性地示出了神经形态处理模块;
图4示意性地示出了神经形态处理系统;
图5示意性地示出了神经形态处理模块的功能表示;
图6更详细地示出图5的第一方面;
图7更详细地示出图5的第二方面;
图8更详细地示出图5的第三方面;
图9更详细地示出图5的第四方面;
图10更详细地示出图5的第五方面;
图11示出神经形态处理方法的示例;
图11A示出该方法的子步骤;
图12示出该方法的一方面。
具体实施方式
所提议的实施方式提出了可(重新)配置为脉冲神经网络的可扩展的神经形态数据处理模块。
如图1所示的神经单元包括神经元,该神经单元具有也表示为树突的至少一个输入突触和也表示为轴突的至少一个输出突触。神经单元能够呈现从包括初始状态、一个或多个过渡状态和其中产生脉冲的发射状态(firing state)的多个状态中选择的神经状态。神经单元的神经状态取决于利用其至少一个输入突触接收的输入脉冲,并且该神经状态通常也随时间自发地改变,例如,如果神经单元在一段时间内没有接收到脉冲,则通过过渡向初始状态改变。神经单元的至少一个输入突触可利用权重来修改输入脉冲,该权重可以是正的或负的。至少一个输出突触可以以一定的延迟发送脉冲。
图2A至图2C示出了可由这种神经单元组成的示例性神经网络。其它示例(诸如,在WO2017/009543中呈现的、图2D的无符号存储网络)可由此组成。更具体地,图2A示出了具有与被分类为输入突触(Di)和输出突触(Ai)的突触连接的3个神经单元(N0、N1和N2)的脉冲神经网络。
图2B示出了具有一个神经单元N0、五个输入突触(D0、...、D4)和一个输出突触A0的脉冲神经网络。
图2C示出了具有两个神经单元N0、N1,七个输入突触(D0、...、D6)和八个输出突触(A0、A1、...、A7)的示例。
尽管神经网络的原理是众所周知的,但是提供能够有效地实现这种神经网络的处理模块是有挑战性的。本申请提供了相较于其他可容易地进行重新配置的神经形态处理模块。
图3示意性地示出了用于时分复用执行脉冲神经网络的神经形态处理模块1的实施方式,其中,脉冲神经网络包括如上所指的多个神经单元。在所示的实施方式中,每个神经单元在神经元状态存储单元11中具有相应可寻址存储条目。神经元状态存储单元11存储指定神经单元的神经状态的状态信息。每个神经单元的包含在神经元状态存储单元11中的状态信息由处理设施10根据发往神经单元的事件消息以时分复用的方式计算和更新。
假如处理设施检测到神经单元由于更新呈现发射状态,则其将更新的神经单元重置到初始状态。处理设施还访问输出突触切片存储单元12中的分配给更新的神经单元的条目,并从该条目检索分配给更新的神经单元的突触索引范围的指示。对于范围内的每个索引,处理设施访问突触存储单元13中的相应条目,并且其从所访问的条目中检索突触属性数据,并向与突触属性数据相关联的每个神经单元传输发射事件消息。
在图3所示的实施方式中,突触存储单元13是输出突触存储单元。本实施方式中的神经形态处理模块还包括输入突触存储单元14。输出突触存储单元13中的条目包括输入突触索引。输入突触索引指向输入突触存储单元14中的相对应的条目。输入突触存储单元14中的相对应的条目包括对相关联的神经单元的引用。
在图3的实施方式中,输出突触存储单元13中的条目还指定延迟,发射事件将以该延迟传输到相关联的神经单元。
此外,输入突触存储单元14中的条目还指定权重,当更新相关联的神经单元时,处理设施以该权重对发射消息进行加权。
如图4所示,多个神经形态处理模块1A、1B、...、1N可包括在神经形态处理系统100中。多个神经形态处理模块联接到基于消息的网络20(例如,片上网络)。此外,在图4所示的实施方式中,主计算机30联接到网络20。如图5所示,神经形态处理模块1A、1B、...、1N另外包括网络通信模块,神经形态处理模块1A、1B、...、1N利用该网络通信模块联接到基于消息的网络20。
在图2A的示例性网络中,每个神经单元具有不同的特征。
神经单元N0具有2个输入突触D0、D1和1个输出突触A0;
神经单元N1具有1个输入突触D2和两个输出突触A1和A2;
神经单元N2具有2个输入突触D3、D4和一个输出突触A3;
如上所指出的,在图3所示的神经形态处理模块的实施方式中,为输出突触属性和输入突触属性提供了单独的存储单元13和14。以这种方式,神经网络设计者可容易地(重新)配置将由神经形态处理模块创建的神经网络。实际上,这允许对每个神经单元的输入突触和输出突触进行独立处理,从而使得能够在没有任何约束的情况下灵活地共享或划分神经元的扇入和扇出。
图4示意性地示出了包括多个数据处理模块1A、1B、…、1N和基于消息的网络20的神经形态数据处理系统。如图5所示,每个数据处理模块另外包括网络通信模块(15R、15T,参见图5),并且数据处理模块利用其网络通信模块联接到基于消息的网络。时分复用数据处理模块例如可以在2D网格中分组在一起并经由片上包交换网络(NoC)彼此通信。可替代地,进一步的集成可以以3D网格的形式提供。
为了协助经由基于消息的网络20的通信,神经形态处理模块的突触存储单元13还为相应地址范围中的每个突触索引指定目的地神经单元的相应网络地址。
在图4所示的实施方式中,神经形态数据处理系统还包括联接到网络20的主计算机30。主计算机可具有各种功能,包括向网络提供输入数据并从网络中提取输出数据的接口的功能。在实施方式中,主机30配置为在处理模块1A、1B、...、1N中更新输出突触切片存储单元12。可替代地或附加地,主机可配置为更新突触存储单元13。例如在图3的实施方式中的情况中,假如突触存储单元13被设置为输出突触存储单元,则主机可配置为更新单独的输入突触存储单元14。可替代地,处理模块可包括使得其能够自主地进行重新配置(例如,作为机器学习过程的一部分)的(重新)配置设施10A(参见图3)。在另外的实施方式中,存储单元12、13、14中的一个或多个或其部分可具有预定的内容。一些神经形态处理模块可具有它们的在ROM中实现的存储单元12、13和14,例如,以实现安全功能,以避免其被篡改。
在实施方式中,主计算机30可用于调试操作,因为其可通过将主机网络地址指定为其在输出突触存储单元中的相关联的输出地址范围中的条目来配置神经单元直接向主计算机传输调试消息。
图5更详细地示出了神经形态处理模块的功能方面。这些方面包括:
如图6进一步所示,神经元池51表示包含所有神经单元的当前状态的神经元状态存储单元11和以时分复用方式更新这些状态的计算设施10B。
事件控制器52被设置为从接收接口15R为其处理模块接收事件消息。在所示的实施方式中,其还可经由旁路15BT、15B、15BR接收本地生成的消息。参照图7和图8更详细地解释事件控制器。
如图9中更详细地示出的集成控制器53将提供集成指令。事件控制器52和集成控制器53一起形成向神经元池提供神经元指令的神经控制器5253。
参照图10更详细地描述的事件生成器54将响应于来自神经池51的输出来生成指示该事件的发射事件消息。
图5的处理模块还包括包含选择信息以协助控制设施10A的选择信息存储单元55、56,以确定是否需要更新神经单元的状态。单元56中的选择信息指示发射事件消息是否被传输到神经单元。在这种情况下,作为所传输的消息的目标的接收神经单元的状态需要被更新。单元55中的选择信息还指示先前是否确定神经单元处于激活状态。在这种情况下,神经单元的状态也需要被更新。如果神经单元不处于重置状态,则认为它是激活的。控制设施10A可利用控制信号R55、R56重置激活神经单元和接收神经单元的列表,并且可发布控制信号S57,58以采样列表上的条目作为集成控制器53的输入。如果事件控制器52已经接收到具有该神经单元作为目的地的事件消息,则将该神经单元ID添加到接收神经单元在存储单元56中的列表。如果在更新状态之后状态被确定为是激活的,则神经存储池51将神经单元ID添加到激活神经单元在存储单元55中的列表。假如由于状态更新而出现脉冲,则神经单元被重置到其初始状态,并从激活神经单元的列表55中移除。
图6更详细地示出了神经元池51的功能方面。如上所述,神经元池51表示包含所有神经单元的当前状态的神经元状态存储单元11和以时分复用方式更新这些状态的计算设施10B。输入寄存器511利用包括事件控制器52和集成控制器53的神经控制器5253形成接口,并且输入寄存器511从该接口接收指令。在内部,其操作由流水线控制器522控制,流水线控制器522可发布失速信号,并随后取消就绪信号,以便暂时阻断神经控制器5253。
如图7中更详细地示出的,事件控制器52在接收到事件消息(输入事件)时将该事件消息输入事件列表521中,事件列表521以排序顺序保持在事件存储器5211中,参见图8,或者至少以这样的方式布置:其中将由神经单元首先处理的消息(输出事件)可快速获取,诸如在堆数据结构中。事件控制器访问输入突触存储单元14,该输入突触存储单元14具有识别池内的被寻址的神经单元的组件14A和确定事件在更新所识别的神经单元时将被进行加权的权重的组件14B。当当前时间(当前dt)与指定的(与由传输神经单元的输出突触所施加的延迟相对应的)执行时间相同时,输出消息(输出事件)将作为事件指令发布给神经池51。在已识别出接收神经单元时,事件控制器52相应地更新列表56。
图9中更详细地示出的集成控制器53为神经池提供集成指令。在接收到集成指令时,神经单元的状态被更新。指令由控制逻辑532控制的枚举器531发布。如果神经单元是事件消息的接收者,并且如果它还处于激活状态,则即使神经单元没有接收事件消息,如果其需要被更新,集成指令也将始终被提供。
图10中更详细地示出的事件生成器54将在发射事件(输入脉冲)时使用输出突触切片存储单元12和输出突触存储单元13生成具有指定突触延迟的事件消息(输出事件),该指定突触延迟在存储组件13A中被指定并在目的地NE处的输入突触ID处被寻址,目的地NE处的输入突触ID在存储组件13B中被指定。
图11示意性地示出了根据本发明的用于时分复用执行包括多个神经单元的脉冲神经网络的神经形态数据处理方法。
在该方法中,重复一系列的步骤,其中,每一次重复都与相应神经单元相关联。
在步骤S2中,由集成控制器验证相应神经单元是否符合更新启用条件。如果符合,则在下面指定的进一步条件下执行步骤S3至步骤S11的以下子序列。如果不符合,则为后续的神经单元验证该条件。
在符合规定时,从神经元状态存储单元11中的相应可寻址存储条目为相应神经单元检索(S3)神经状态信息,并且处理设施10B根据发往所述神经单元的事件消息更新(S4)状态信息。该更新对于模拟神经单元中的自主衰减过程也可能是必要的。神经单元回落到其初始状态并且由此被分类为非激活的可能是模拟的衰减过程的结果。
处理设施10B确定(S5)更新的状态信息是否指示发射状态。如果是这种情况,则处理设施10B重置(S6)状态信息以便指示初始状态,并进一步分发(S7)发射事件消息。分发可涉及以下步骤。
同样如图11A和图12所示,处理设施访问(S7A)输出突触切片存储单元12中的更新的(具有标识NUID的)神经单元的固有存储条目,并从该存储条目检索(S7B)突触索引的相应范围AR的指示。然后,对于该范围中的每个突触索引(SID1、...、SIDn),处理设施访问(S7C)突触存储单元13中的相应条目并检索突触属性数据。该数据包括待寻址的神经单元的标识(NUID1、…、NUIDn)。处理设施随后将发射事件消息传输(S7D)到与包含在所检索的突触属性数据中的目的地信息相关联的每个神经单元。突触属性数据通常还包括延迟信息(DT1、…、DTn)和权重信息(W1、…、Wn)。
可选地,如这里的情况一样,目的地信息包括输入突触存储单元14中的相应可寻址存储条目(SID1、...、SIDn)的规范。该规范指定被寻址的相关联的神经单元(NUID1、...、NUIDn)和权重(W1、...、Wn),当更新相关联的神经单元时,处理设施利用该权重对发射消息进行加权。在这种情况下,该方法包括在派生步骤(S7C)之后并且在传输步骤(S7B)之前的中间步骤(S7CD)。在该中间步骤中,从目的地信息中检索规范,并且访问输入突触存储单元(14)中的由该规范指定的相应可寻址存储条目。然后从所访问的相应存储条目检索相关联的神经单元的标识。
示例I:
下面通过举例更详细地描述图2A的网络的实现。假定存储单元12、13、14在之前加载有限定网络拓扑的配置信息。
输入突触存储单元(14)
该存储单元14指定目的地信息。每个条目可被认为指定数据处理模块中的特定神经单元的指定的传入突触(输入突触)。这包括来自相同数据处理模块中的另一神经的突触,但也可包括来自布置在消息交换网络中的另一数据处理模块中的神经单元的突触。在实施方式中,输入突触存储单元的每个条目可包括具有指定突触的权重的信息的第一字段和包括作为突触所有者的神经单元的标识符的第二字段。
下表中呈现了该存储单元的内容和网络拓扑的方面在该存储单元中的映射方式。
该存储单元中的条目例如可具有示出三个字段的下表中用于说明的实施方式:
输入突触ID由存储单元本身的地址索引表示(该信息不使用存储位)。该存储单元中的每个可寻址条目与指定的突触相对应。存储单元的深度为a1。
在所示的示例中,字段神经单元ID包括神经单元的标识符。该字段所需的大小b1是神经单元的数量的2log(例如,对于具有256个神经单元的数据处理模块,该字段将是8位)。
第二字段包含表示分配给突触的突触权重的值。根据指定突触权重所使用的期望粒度,该字段的位数b2可以更小或更大。在示例中,该字段的位数是32位。
映射示例
下表示出了用于图3所示的示例性网络的该存储单元14的填充内容。示例性网络具有三个神经单元(N0、...、N2)和分别具有突触权重(W0、...、W4)的五个输入突触(D0、...、D4)。遵循关于图中所示的网络的存储单元的内容是直接的。我们可以看出,具有突触权重W0的D0和具有突触权重W1的D1将走向N0,D2将走向N1等等。其还示出了如何在输入突触存储单元中管理具有多个输入突触的神经单元(在这种情况下是N0和N2)的突触连接。
表1:示例性输入突触存储单元
输入突触ID | 神经单元ID | 突触权重 |
D0 | N0 | W0 |
D1 | N0 | W1 |
D2 | N1 | W2 |
D3 | N2 | W3 |
D4 | N2 | W4 |
在实施方式中,输入突触存储单元还可指定如何内部处理输入,例如,通过将权重添加到动作电位值,或者通过将权重用作线性分量,在每个时间步长中利用该线性分量增加动作电位值。此外,在没有进一步的输入事件的情况下,该权重可用于设置或修改衰减值,该衰减值表示神经单元的逐渐去激活。
输出突触存储单元13
该存储单元13限定了目的地信息,每个条目为来源于神经单元的发射事件消息指定目的地。每个条目可被认为是数据处理模块中的神经单元的传出突触(轴突)。这包括走向相同的数据处理模块中的另一神经单元的突触以及走向另一数据处理模块或数据处理系统的多个其它异构组件的突触。存储单元13的每个条目中的信息可包括第一字段,该第一字段具有指示突触的突触延迟(即,发射事件消息被传递的延迟)的值。根据指定突触延迟所使用的期望粒度,该字段可具有更小或更大的位数b3。在示例中,数量b3是32。
第二字段(目的地输入突触ID)可包括用于接收发射事件消息的输入突触的标识符。根据输入突触的数量,第二字段可具有位数b5。例如,如果数据处理模块具有256个输入突出,则该值将是8位。
假如数据处理模块是通过消息交换网络相互联接的多个数据处理模块中的一个,可提供第三字段(NE ID)以提供目的地模块的标识符,如下面的示例性表格中所示。然后将发射事件消息传输到如第三字段中指定的目的地数据处理模块,并且在目的地数据处理模块路接收到发射事件消息时被发送到第二字段中指定的输入突触。根据网络中数据处理模块的数量,该字段的大小为b4位。例如,在具有65k个数据处理模块的网络中,位数应该(至少)是16。
由于存储单元13中的每个条目与由神经元发布的发射事件消息的特定目的地相对应,因此其不必包括具有输出突触的规范的字段。换句话说,输出突触ID由存储单元13本身的地址索引表示(该信息不使用存储位)。可根据数据处理模块中所有神经单元的所有输出突触的总数的期望上限来选择更小或更大的存储深度。
映射示例
下表示出了图2A所示的示例性网络的该存储单元13的填充内容。神经网络具有三个神经单位(N0、...、N2)和分别具有突触延迟(T0、...、T3)的四个输出突触(A0、...、A3)。遵循关于图中所示的网络的存储器的内容是直接的。我们可以看到,对于该指定的示例,除了由具有存储地址A3的条目表示的输出突触之外,所有的输出突触都在相同的数据处理模块(在表中标识为NEx)内,由具有存储地址A3的条目表示的输出突触将走向另一个数据处理模块(在表中表示为数据处理模块NEy)。存储器的最后一列示出了连接到该输出突触的输入突触的输入突触ID,用于关于神经单元的接收的发射事件消息(也称为输入脉冲)的操作。指定的输入突触ID是包含该输入突触的输入突触信息的输入突触存储单元中的条目的地址。为了进一步说明,我们可以从表中看出,具有突触延迟T0的输出突触A0用于将发射事件消息传输到数据处理模块NEx(相同的数据处理模块),并且该输出突触A0连接到具有IDD2的输入突触,如网络图中所示。
在经由输入突触D2接收到发射事件消息时,控制设施10A将从输入突触存储单元14检索相关联的神经单元的标识符,在这种情况下,相关联的神经单元是神经单元N1,并且将指示计算设施10B更新该神经单元N1的状态,这一过程还考虑分配给该输入突触D2的突触权重W2。在该示例中,具有突触延迟T3的输出突触A3是被引导到外部数据处理模块NEy的突触,在外部目的地数据处理模块Ney内,该输出突触A3被连接到输入突触ID Dx。
表2:示例性输出突触存储单元
输出输出突触切片存储单元12
输出输出突触切片存储单元12指定输出突触存储单元13中的哪些输出突触与数据处理模块中的每个神经单元相对应。当神经单元发布发射事件消息到该存储单元12时,控制设施10A从输出突触切片存储单元12检索地址范围的指示。该指示从具有与发射神经单元相对应的地址的输出突触切片存储单元12中的条目中被检索。在本实施方式中,地址的范围在所述条目的第一字段和第二字段中被指定。第一字段指定到输出突触存储单元13(范围内的第一地址)的偏移量,以及第二字段指定多个条目。指定偏移量的字段的大小是b6位(b6可具有多个值,其值通常是数据处理模块中的输出突触的数量的log2)。可替代地,可指定该范围的第一地址和最后地址,或该范围的最后的地址和多个条目。指定数量的第二字段的大小是b7位(b7可具有多个值),其值通常是神经单元的输出突触的平均数量的log2。
映射
下表3通过举例示出了图2A的神经网络的映射。在该示例中,神经网络具有三个神经单元N0、N1、N2,每个神经单元在存储单元12中具有相应条目。如存储单元12中所指定的,神经单元N0具有一个输出突触A0,并且其输出突触属性在输出突触存储单元13中具有偏移量0的条目中被指定。N1具有两个输出突触A1、A2,并且两个条目中的第一个在输出突触存储单元中具有偏移量地址1。最后,神经单元N2具有一个输出突触A3,并且其输出突触属性在输出突触存储单元中偏移量地址3处的条目中被指定。当神经单元发布发射事件消息时,控制设施10A从存储单元12检索传输事件的输出突触的说明符,并使用在存储单元13中为每个指定的输出突触指定的输出突触属性。
表3:示例性输出突触切片存储单元
神经单元ID | 偏移量 | 输出突触数 |
N0 | 0 | 1 |
N1 | 1 | 2 |
N2 | 3 | 1 |
神经元状态存储单元11
神经元状态存储单元11在执行期间为每个神经单元存储相应状态值(膜电位)。神经单元标识号(神经单元ID)可用作寻址该存储单元的索引,所以它不需要单独的字段。该存储单元11具有与数据处理模块中的神经单元的数量相对应的a4的深度。状态值具有b8位的大小(b8可根据存储多个神经状态变量所使用的粒度而具有多个值)。b8的一个示例是50位。
在一个实施方式中,神经状态可通过指示其激励状态的动作电位V来限定。动作电位可具有从最小值到最大值的范围内的值,其中最大值通常由神经单元发射脉冲的阈值来限定,并且神经单元被重置到初始状态,其中动作电位呈现最小值(例如,值0)。可设想还允许发生负动作电位值(例如,由于抑制输入)。
通常,神经单元(如生物神经单元)的动作电位V随时间衰减。动作电位可被认为是常量分量和衰减分量(gf)的叠加,对于常量分量和衰减分量中的每个,当前值被存储为状态。在实施方式中,衰减可以是线性的,在另一实施方式中,衰减可以是指数的。
由脉冲的交换所表示的值可以以各种方式表示。在实施方式中,该值可由脉冲的频率表示,较高的频率表现为较高的值。在这种情况下,输入的增加可通过对接收到的脉冲的数量进行计数来发生。在每个接收到的脉冲处,动作电位随着分配给接收该脉冲的输入的权重而增加。可替代地,值可由后续脉冲之间的时间间隔表示。神经单元可具有添加到动作电位的线性增加分量。线性增加分量可被提供为在每个离散时间步长中添加到动作电位的增量值(ge)。神经单元在第一突触处接收到第一脉冲时可将增量值设置为权重值,并且在第二突触处接收到第二脉冲时可将增量值重置为0。动作电位的值的产生的变化则是权重乘以在接收第一脉冲与接收第二脉冲之间的离散时间步长的数量。增量值可被存储为另一状态值。
作为另一状态值,单独的控制值(门)可被存储,其确定另一状态值(例如,衰减)对动作电位贡献的程度。
表4:示例性神经元状态存储单元
神经单元ID | 状态值(b8位) |
N0 | V,ge,gf,gate |
N1 | V,ge,gf,gate |
N2 | V,ge,gf,gate |
神经单位和突触的适应映射的示例
示例-1
图2B示出了具有一个神经单元N0、五个输入突触(D0、...、D4)和一个输出突触A0的示例性数据处理模块。下表以上面部分中详细解释的方式示出了该示例性网络到突触存储器的映射。未使用的位置用符号X指示。
表5:输入突触存储单元14
表6:输出突触存储单元13
表7:输出突触切片存储单元
神经单元ID | 偏移量 | 输出突触数 |
N0 | 0 | 1 |
X | X | X |
X | X | X |
示例-2
图2C示出了具有两个神经单元N0和N1、七个输入突触(D0、...、D6)和八个输出突触(A0、A1、...、A7)的示例。下表以上面部分中详细解释的方式示出了该示例性网络到突触存储器的映射。
表8:输入突触存储单元
输入突触ID | 神经单元ID | 突触权重 |
D0 | N0 | W0 |
D1 | N0 | W1 |
D2 | N0 | W2 |
D3 | N0 | W3 |
D4 | N1 | W4 |
D5 | N1 | W5 |
D6 | N1 | W6 |
X | X | X |
X | X | X |
X | X | X |
表9:输出突触存储单元
输出突触ID | 突触延迟 | 目的地ID | 输入突触ID |
A0 | T0 | NEx | D4 |
A1 | T1 | NEx | D5 |
A2 | T2 | NEy | Dya |
A3 | T3 | NEy | Dyb |
A4 | T4 | NEy | Dyc |
A5 | T5 | NEy | Dyd |
A6 | T6 | NEy | Dye |
A7 | T7 | NEx | D6 |
X | X | X | X |
X | X | X | X |
表10:输出突触切片存储单元
神经单元ID | 偏移量 | 输出突触数 |
N0 | 0 | 2 |
N1 | 2 | 6 |
X | X | X |
示例3:
作为另一示例,针对无符号存储器描述了存储器12、13和14的内容,如图2D所示。
表11:示例性输入突触存储单元
输入突触ID | 神经单元ID | 突触权重 |
D0 | N1 | we |
D1 | N2 | 0.5we |
D2 | N1 | wi |
D3 | N3 | wacc |
D4 | N3 | -wacc |
D5 | N5 | we |
D6 | N3 | wacc |
D7 | N5 | we |
表12:示例性输出突触存储单元
输出突触ID | 突触延迟 | 目的地ID | 输入突触ID |
A0 | Tsyn | NEx | D0 |
A1 | Tsyn | NEx | D1 |
A2 | Tsyn | NEx | D2 |
A3 | Tsyn+Tmin | NEx | D3 |
A4 | Tsyn | NEx | D4 |
A5 | Tsyn | NEx | D5 |
A6 | Tsyn | NEx | D6 |
A7 | 2*Tsyn+Tneu | NEx | D7 |
- | - | - | - |
- | - | - | - |
表13:输出突触切片存储单元
神经单元ID | 偏移量 | 输出突触数 |
N0 | 0 | 2 |
N1 | 2 | 2 |
N2 | 4 | 1 |
N3 | 5 | 1 |
N4 | 6 | 2 |
N5 | - | - |
注意,各种控制功能可以由专用控制器执行。可替代地,控制器可以执行各种控制功能。例如,以时间共享的方式。用于执行一个或多个控制功能的控制器可以在专用硬件、可编程或可配置设备或其组合中实现。更新神经单元状态的计算设施10B同样可以以各种方式实现,但是优选地设置为最佳性能的专用硬件。
本文所用的术语仅出于描述特定实施方式的目的,而不旨在限制本发明。如本文所用,单数形式“一”、“一种”和“该”旨在也包括复数形式,除非上下文另外清楚地指示。还应当理解的是,当术语“包括”和/或“包括有”在本说明书中使用时指定所陈述的特征、整体、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组的存在或添加。此外,除非明确地相反陈述,否则“或”是指包含性的或而不是排他性的或。例如,通过以下任一项则满足条件A或B:A为真(或存在)且B为假(或不存在);A为假(或不存在)且B为真(或存在);以及A和B均为真(或存在)。
Claims (13)
1.一种用于时分复用地执行脉冲神经网络的神经形态处理模块(1),其中,所述脉冲神经网络包括多个神经单元,每个神经单元能够呈现从包括初始状态、一个或多个过渡状态和发射状态的多个状态中选择的神经状态,每个神经单元在神经元状态存储单元(11)中具有相应可寻址存储条目,所述神经元状态存储单元(11)用于存储指定所述每个神经单元的神经状态的状态信息,每个神经单元的所述状态信息由结合在所述处理模块中的处理设施(10)根据发往所述神经单元的事件消息以时分复用的方式计算和更新,其中,所述处理设施在计算更新的神经单元呈现所述发射状态时,将所述更新的神经单元重置到所述初始状态,访问输出突触切片存储单元中的所述更新的神经单元的相应条目,并且从所述输出突触切片存储单元中的相应条目检索针对输出突触索引的相应范围的指示,其中,用于所述相应范围内的每个输出突触索引的所述处理设施:
访问输出突触存储单元(13)中的相应条目;
从输出突触存储单元(13)中的相应条目检索输出突触属性数据,所述输出突触属性数据指定传输延迟和与输入突触存储单元(14)中的相应条目相对应的相应输入突触索引,所述输入突触存储单元中的相应条目包括对相关联的神经单元的引用;以及
以所指定的延迟向所述相关联的神经单元传输发射事件消息。
2.根据权利要求1所述的神经形态处理模块,其中,所述输入突触存储单元(14)中的条目还指定权重,当更新所述相关联的神经单元时,所述处理设施利用所述权重对向所述相关联的神经单元传输的发射事件消息进行加权。
3.根据权利要求1或2所述的神经形态处理模块,其中,所述处理设施(10)包括控制设施(10A)和计算设施(10B),其中,所述控制设施(10A)配置为周期性地验证并发信号通知是否需要更新神经单元的状态,并且其中,所述计算设施(10B)配置为如果所述控制设施(10A)发信号通知则计算神经单元的更新状态。
4.根据权利要求3所述的神经形态处理模块,还包括选择信息存储单元,所述选择信息存储单元包括选择信息以协助所述控制设施(10A),以确定是否需要更新神经单元的状态,其中,所述选择信息指示发射事件消息是否被传输到神经单元,和/或指示先前是否确定神经单元处于激活状态。
5.根据前述权利要求中的任一项所述的神经形态处理模块,其中,所述处理设施(10)还包括重新配置设施(10c),所述重新配置设施(10c)配置为更新所述输出突触切片存储单元(12)、所述输出突触存储单元(13)和所述输入突触存储单元(14)中的至少一个。
6.一种神经形态处理系统,包括如前述权利要求之一所述的多个神经形态处理模块以及基于消息的网络,每个神经形态处理模块还包括网络通信模块,其中,所述神经形态处理模块利用其网络通信模块联接到所述基于消息的网络。
7.根据权利要求6所述的神经形态处理系统,其中,具有所述多个神经形态处理模块的所述基于消息的网络形成为片上网络。
8.根据权利要求6或7所述的神经形态处理系统,其中,神经形态处理模块的所述输出突触存储单元(13)还为相应地址范围中的每个突触索引指定目的地神经单元的相应网络地址。
9.根据权利要求6至8中任一项所述的神经形态处理系统,还包括主计算机,所述主计算机配置为在处理模块中更新所述输出突触切片存储单元(12)、所述输出突触存储单元(13)和所述输入突触存储单元(14)中的至少一个。
10.一种用于时分复用地执行脉冲神经网络的神经形态处理方法,其中,脉冲神经网络包括多个神经单元,每个神经单元能够呈现从包括初始状态、一个或多个过渡状态和发射状态的多个状态中选择的神经状态,所述方法包括重复以下受限于以下指定条件的步骤序列S3-S11:
从神经元状态存储单元中的相应可寻址存储条目检索(S3)神经单元的神经状态信息;
根据发往所述神经单元的事件消息更新(S4)所述状态信息,
确定(S5)所述更新的状态信息是否指示发射状态,
受限于确定匹配,重置(S6)所述状态信息以便指示所述初始状态并且分发(S7)发射事件消息,包括以下子子步骤:
访问(S7A)输出突触切片存储单元(12)中的更新的神经单元的固有存储条目;
从所述固有存储条目检索(S7B)输出突触索引的相应范围的指示;
对于所述相应范围内的每个输出突触索引:
访问(S7C)输出突触存储单元中的相应条目并检索输出突触属性数据,所述输出突触属性数据包括传输延迟的规范和与输入突触存储单元中的相应条目相对应的相应输入突触索引,所述输入突触存储单元的相应条目包括对相关联的神经单元的引用,
将所述发射事件消息传输(S7D)到具有指定延迟的所述相关联的神经单元;
将所述相应神经单元的所述更新的状态信息存储(S8)在所述相应神经单元在第一存储单元中的相应可寻址第一存储条目中。
11.根据权利要求10所述的神经形态处理方法,包括:通过验证(S2)是否满足更新启用条件来选择要利用所指定的步骤S3至步骤S11的序列来更新的神经单元。
12.根据权利要求10或11所述的神经形态处理方法,其中,所述输入突触存储单元(14)中的相应条目指定权重,当更新所述相关联的神经单元时,所述处理设施利用所述权重对所述发射消息进行加权,所述方法包括在派生步骤(S7C)之后并且在传输步骤(S7B)之前的中间步骤(S7CD),所述中间步骤涉及从所述目的地信息检索所述规范,访问所述输入突触存储单元(14)中的由所述规范指定的相应可寻址存储条目,并从所访问的相应存储条目中检索所述相关联的神经单元的标识。
13.根据权利要求10、11或12所述的神经形态处理方法,包括:通过更新所述输出突触切片存储单元、所述输出突触存储单元和所述输入突触存储单元中的至少一个来重新配置神经网络拓扑。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18290090.2 | 2018-07-31 | ||
EP18290090.2A EP3605401A1 (en) | 2018-07-31 | 2018-07-31 | Data processing module, data processing system and data processing method |
PCT/EP2019/070643 WO2020025680A1 (en) | 2018-07-31 | 2019-07-31 | Data processing module, data processing system and data processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113196299A true CN113196299A (zh) | 2021-07-30 |
Family
ID=63254640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980064672.XA Pending CN113196299A (zh) | 2018-07-31 | 2019-07-31 | 数据处理模块、数据处理系统及数据处理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210319295A1 (zh) |
EP (2) | EP3605401A1 (zh) |
JP (1) | JP7453229B2 (zh) |
KR (1) | KR20210091688A (zh) |
CN (1) | CN113196299A (zh) |
WO (1) | WO2020025680A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4075275A1 (en) * | 2021-04-16 | 2022-10-19 | GrAl Matter Labs S.A.S. | Message based processor, message based processing method and record carrier |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0461902A2 (en) * | 1990-06-14 | 1991-12-18 | Canon Kabushiki Kaisha | Neural networks |
US20040193558A1 (en) * | 2003-03-27 | 2004-09-30 | Alex Nugent | Adaptive neural network utilizing nanotechnology-based components |
US20130073497A1 (en) * | 2011-09-16 | 2013-03-21 | Cornell University | Neuromorphic event-driven neural computing architecture in a scalable neural network |
CN104662526A (zh) * | 2012-07-27 | 2015-05-27 | 高通技术公司 | 用于高效地更新尖峰神经元网络的装置和方法 |
CN104685516A (zh) * | 2012-08-17 | 2015-06-03 | 高通技术公司 | 用于在尖峰神经元网络中实现基于事件的更新的装置和方法 |
CN105989408A (zh) * | 2015-03-18 | 2016-10-05 | 国际商业机器公司 | 用于将神经网络映射到神经突触基板上的系统和方法 |
CN106529668A (zh) * | 2015-11-17 | 2017-03-22 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN107369108A (zh) * | 2016-05-11 | 2017-11-21 | 耐能有限公司 | 多层人造神经网络及其控制方法 |
CN108154228A (zh) * | 2016-12-28 | 2018-06-12 | 上海寒武纪信息科技有限公司 | 一种人工神经网络计算装置和方法 |
US20180174026A1 (en) * | 2016-12-20 | 2018-06-21 | Michael I. Davies | Scalable neuromorphic core with shared synaptic memory and variable precision synaptic memory |
US20180174040A1 (en) * | 2016-12-20 | 2018-06-21 | Michael I. Davies | Trace-based neuromorphic architecture for advanced learning |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542643B2 (en) | 2013-05-21 | 2017-01-10 | Qualcomm Incorporated | Efficient hardware implementation of spiking networks |
US9460382B2 (en) * | 2013-12-23 | 2016-10-04 | Qualcomm Incorporated | Neural watchdog |
FR3038997A1 (fr) | 2015-07-13 | 2017-01-20 | Univ Pierre Et Marie Curie (Paris 6) | Dispositif de traitement de donnees avec representation de valeurs par des intervalles de temps entre evenements |
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 |
US10846590B2 (en) * | 2016-12-20 | 2020-11-24 | Intel Corporation | Autonomous navigation using spiking neuromorphic computers |
-
2018
- 2018-07-31 EP EP18290090.2A patent/EP3605401A1/en not_active Withdrawn
-
2019
- 2019-07-31 EP EP19745163.6A patent/EP3830763A1/en active Pending
- 2019-07-31 WO PCT/EP2019/070643 patent/WO2020025680A1/en unknown
- 2019-07-31 US US17/264,648 patent/US20210319295A1/en active Pending
- 2019-07-31 CN CN201980064672.XA patent/CN113196299A/zh active Pending
- 2019-07-31 JP JP2021529520A patent/JP7453229B2/ja active Active
- 2019-07-31 KR KR1020217006235A patent/KR20210091688A/ko not_active Application Discontinuation
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0461902A2 (en) * | 1990-06-14 | 1991-12-18 | Canon Kabushiki Kaisha | Neural networks |
US20040193558A1 (en) * | 2003-03-27 | 2004-09-30 | Alex Nugent | Adaptive neural network utilizing nanotechnology-based components |
US20130073497A1 (en) * | 2011-09-16 | 2013-03-21 | Cornell University | Neuromorphic event-driven neural computing architecture in a scalable neural network |
CN104662526A (zh) * | 2012-07-27 | 2015-05-27 | 高通技术公司 | 用于高效地更新尖峰神经元网络的装置和方法 |
CN104685516A (zh) * | 2012-08-17 | 2015-06-03 | 高通技术公司 | 用于在尖峰神经元网络中实现基于事件的更新的装置和方法 |
CN105989408A (zh) * | 2015-03-18 | 2016-10-05 | 国际商业机器公司 | 用于将神经网络映射到神经突触基板上的系统和方法 |
CN106529668A (zh) * | 2015-11-17 | 2017-03-22 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN107369108A (zh) * | 2016-05-11 | 2017-11-21 | 耐能有限公司 | 多层人造神经网络及其控制方法 |
US20180174026A1 (en) * | 2016-12-20 | 2018-06-21 | Michael I. Davies | Scalable neuromorphic core with shared synaptic memory and variable precision synaptic memory |
US20180174040A1 (en) * | 2016-12-20 | 2018-06-21 | Michael I. Davies | Trace-based neuromorphic architecture for advanced learning |
CN108154228A (zh) * | 2016-12-28 | 2018-06-12 | 上海寒武纪信息科技有限公司 | 一种人工神经网络计算装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3605401A1 (en) | 2020-02-05 |
US20210319295A1 (en) | 2021-10-14 |
KR20210091688A (ko) | 2021-07-22 |
WO2020025680A1 (en) | 2020-02-06 |
JP2021533517A (ja) | 2021-12-02 |
JP7453229B2 (ja) | 2024-03-19 |
EP3830763A1 (en) | 2021-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11410017B2 (en) | Synaptic, dendritic, somatic, and axonal plasticity in a network of neural cores using a plastic multi-stage crossbar switching | |
US11295201B2 (en) | Time-division multiplexed neurosynaptic module with implicit memory addressing for implementing a neural network | |
Walter et al. | Neuromorphic implementations of neurobiological learning algorithms for spiking neural networks | |
US9373073B2 (en) | Time-division multiplexed neurosynaptic module with implicit memory addressing for implementing a universal substrate of adaptation | |
US20200034687A1 (en) | Multi-compartment neurons with neural cores | |
Morrison et al. | Advancing the boundaries of high-connectivity network simulation with distributed computing | |
US9852006B2 (en) | Consolidating multiple neurosynaptic core circuits into one reconfigurable memory block maintaining neuronal information for the core circuits | |
US9412064B2 (en) | Event-based communication in spiking neuron networks communicating a neural activity payload with an efficacy update | |
US8843425B2 (en) | Hierarchical routing for two-way information flow and structural plasticity in neural networks | |
JP6250054B2 (ja) | ニューラル・コア回路 | |
US9020867B2 (en) | Cortical simulator for object-oriented simulation of a neural network | |
DE112017000855B4 (de) | Energiesparender zeitlich gemultiplexter neurosynaptischer Kern zum Implementieren neuronaler Netze | |
CN106951926A (zh) | 一种混合架构的深度学习系统方法及装置 | |
Brown et al. | SpiNNaker—programming model | |
Luo et al. | Low cost interconnected architecture for the hardware spiking neural networks | |
Davies et al. | Population-based routing in the SpiNNaker neuromorphic architecture | |
CN113240100B (zh) | 基于离散Hopfield神经网络的并行计算方法及系统 | |
CN113196299A (zh) | 数据处理模块、数据处理系统及数据处理方法 | |
Balaji et al. | NeuSB: A scalable interconnect architecture for spiking neuromorphic hardware | |
Ehrlich et al. | A Software Framework for Mapping Neural Networks to a Wafer-scale Neuromorphic Hardware System. | |
EP3640862A1 (en) | Neural network evaluation tool and method | |
CN118474801A (zh) | 带宽资源分配方法、装置和非易失性存储介质 | |
Rosendahl et al. | A DSP–FPGA-BASED RECONFIGURABLE COMPUTER |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240731 Address after: California, USA Applicant after: SNAP Inc. Country or region after: U.S.A. Address before: Paris France Applicant before: Gremat laboratory Co.,Ltd. Country or region before: France |
|
TA01 | Transfer of patent application right |