CN114730379A - 具有交叉式阵列结构的神经形态设备 - Google Patents
具有交叉式阵列结构的神经形态设备 Download PDFInfo
- Publication number
- CN114730379A CN114730379A CN202080078408.4A CN202080078408A CN114730379A CN 114730379 A CN114730379 A CN 114730379A CN 202080078408 A CN202080078408 A CN 202080078408A CN 114730379 A CN114730379 A CN 114730379A
- Authority
- CN
- China
- Prior art keywords
- input
- devices
- lines
- output
- input line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/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
- G06N3/065—Analogue 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
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)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
提供了神经形态方法、系统和设备(10、11、12)。实施例可包括神经形态设备(10、11、12),其可包括交叉式阵列结构(110)和模拟电路。该交叉式阵列结构(110)可以包括经由N×M个电子设备(131、132、32a、132b、132c)在联结处互连的N个输入线(111、112)和M个输出线(120),在优选实施例中,电子设备各自包括忆阻设备。输入线可包括N1个第一输入线(111)和N2个第二输入线(112)。第一输入线(111)可以经由所述电子设备(131、132)的N1×M个第一设备(131、132)连接至M个输出线(120)。类似地,第二输入线(112)可以经由所述电子设备(131、132)的N2×M个第二设备(132)连接至M个输出线(120)。模拟电路(140、150、160、170)可被配置为编程电子设备(131、132),使得第一设备(131)存储突触权重,并且第二设备(132)存储神经元状态。
Description
背景技术
本发明总体上涉及具有交叉式阵列结构(crossbar array structure)的神经形态设备的领域。特别地,本发明涉及一种神经形态设备,其交叉式阵列结构包括附加输入线以存储神经网络的神经元状态,由此神经元功能至少部分地由该设备的模拟电路来实现。
机器学习通常依赖于人工神经网络(ANN),ANN是由人类或动物脑中的生物神经网络启发的计算模型。这样的系统通过示例渐进地和自主地学习任务;它们已经被成功地应用于例如语音识别、文本处理和计算机视觉。
ANN包括一组连接的单元或节点,这些单元或节点与动物脑中的生物神经元相比较并且因此被称为人工神经元。类似于突触,信号沿着人工神经元之间的连接(也称为边缘)传送。即,接收信号的人工神经元处理它并随后发信号通知连接的神经元。通常,沿着此类连接传送的信号是模拟实数,并且人工神经元的输出由于其输入总和的非线性函数而被计算。
连接权重(也称为突触权重)与连接和节点相关联;这样的权重随着学习的进行而调整。每个神经元可以具有若干输入,并且连接权重被赋予每个输入(该特定连接的权重)。这样的连接权重在训练阶段期间被学习并由此被更新。学习过程是迭代的:将数据情况呈现给网络,通常一次一个,并且在每个时间步长调整与输入值相关联的权重。
许多类型的神经网络是已知的,从前馈神经网络开始,诸如多层感知器、深度神经网络和卷积神经网络。此外,出现了新类型的神经网络,诸如尖峰神经网络。尖峰神经网络(spiking neural network,SNN)基本上不同于通常的神经网络,因为SNN使用尖峰来操作,尖峰是可以在任何时间点异步发生的离散二进制事件,而不是以规则的时间步长计算的模拟值。即,除了神经元和突触状态之外,SNN还结合时间的概念。即,神经元仅在膜电位达到特定值时激发(fire),而不是如在例如多层感知器网络中那样在每个传播周期激发。在SNN的上下文中,激发意味着神经元生成到达其他神经元的信号,其他神经元进而根据它们从其他神经元接收的信号来增加或降低它们的电位。
神经网络通常在软件中实现。然而,神经网络也可在硬件中实现,例如作为电阻处理单元(依赖于交叉式阵列结构)或光学神经元形态系统。即,硬件实现的ANN是明显不同于经典计算机(通用或专用计算机)的物理机器,因为它主要并且专门设计成实现ANN(用于训练和/或推断目的)。硬件实现的ANN可以至多用经典计算机来仿真(尽管不是以相同效率),同时它不能像经典计算机那样执行多个数据处理任务。
以下论文构成背景技术的一部分:
Nandakumar,S.R.,et al."A phase-change memory model for neuromorphiccomputing."J.Appl.Phys.,vol.124,no.15,21Oct.2018,p.152135;
Tuma,T.,et al."Stochastic phase-change neurons."Nat.Nanotechnol,vol.11,16May.2016,pp.693-699。
Pantazi,A.et al.“All-memristive neuromorphic computing with level-tuned neurons.”Nanotechnology 27 35(2016):355205。
发明内容
根据第一方面,本发明体现为神经形态设备,其基本上包括交叉式阵列结构和模拟电路。该交叉式阵列结构经由N×M个电子设备在联结处互连的N个输入线和M个输出线,在优选实施例中,这些电子设备各自包括忆阻设备。输入线包括N1个第一输入线和N2个第二输入线。第一输入线通过所述电子设备的N1×M个第一设备连接至M个输出线。类似地,第二输入线经由所述电子设备的N2×M个第二设备连接至M个输出线。以下关系成立:N1≥1,N2≥1,N1+N2=N,并且M≥1。该模拟电路被配置为对这些电子设备编程,使得该第一设备存储突触权重,并且使得该第二设备存储神经元状态。此外,所述模拟电路还用于通过乘法累加操作读出从所述M个输出线获得的M个输出信号。在操作中,该读出基于耦合到第一输入线中的N1个输入信号、耦合到第二输入线中的N2个控制信号、以及存储在第一设备和第二设备中的每一者上的值。
根据本解决方案,突触权重和神经元状态(例如,膜电位)两者可以由联结处的电子设备(例如,忆阻设备)来表示。然而,这种方法与不同电子设备(例如,闪存单元、忆阻设备、静态随机存取存储器设备等)兼容。本解决方案使得可以在恒定时间内计算神经元状态而无需附加电路,特别是无需在数字域中进行任何转换。由于模拟电路允许在模拟域中计算神经元状态,所以所提议的解决方案原则上比基于交叉式阵列结构的先前神经形态设备所实现的解决方案更具时间效率。
在实施例中,模拟电路还被配置为更新存储在N2×M个第二设备中的至少一些上的神经元状态,由此在操作中,N2×M个第二设备中的所述至少一些可根据由模拟电路先前读出的M个输出信号被重新编程。
在进一步的实施例中,该模拟电路还被配置为将所述N1个输入信号和所述N2个控制信号分别耦合到该N1个第一输入线和该N2个第二输入线中。
在优选实施例中,第二输入线包括经由M个给定电子设备连接至输出线的给定控制线。此类电子设备可由模拟电路编程以存储M个初始膜电位值。此外,该模拟电路还被配置为将给定控制信号耦合到所述给定控制线中,以便读出的M个输出信号表示M个最终膜电位值,M个最终膜电位值基于所述M个初始膜电位值获得,作为在操作中通过将所述N1个输入信号耦合到N1个第一输入线中获得的突触输入的泄漏积分器。
在这方面,在操作中,该给定控制信号(如耦合到所述给定控制线中)优选地表示衰减参数α。此外,该模拟电路可以还被配置为调整N1个输入信号,以使它们表示由1-α互补地缩放的突触输入值。
优选地,该模拟电路还被配置为在操作中通过根据表示由该模拟电路先前读出的M个最终膜电位值的M个输出信号对这种设备重新编程来更新存储在该M个给定电子设备上的膜电位值。
在实施例中,模拟电路还被配置为对于M个输出线中的每个输出线,执行读出的M个输出信号中的每个输出信号与阈值θ之间的比较。
优选地,该模拟电路还被配置为基于该比较的结果为该M个输出线中的每个输出线产生信号,并且还被配置为重置存储在该M个给定电子设备中的任何给定电子设备上的值。
在优选实施例中,第二电子设备包括M个另外的电子设备,并且第二输入线包括经由M个另外的电子设备连接至输出线的另外的控制线。M个另外的电子设备可由模拟电路编程以存储M个阈值,以便在操作中读出的M个输出信号表示M个最终膜电位值与耦合到所述另外的控制线中的适当选择的另外的控制信号的M个阈值的M个差值。
优选地,该模拟电路被配置为选择将被耦合到所述另外的控制线的所述另外的控制信号,以用于所述另外的控制信号表示0的输入值或-1的输入值。对于0的输入值,读出的M个输出信号表示M个最终膜电位值。对于-1的输入值,读出的M个输出信号表示M个最终膜电位值与M个阈值的差值。
在优选实施例中,第二输入线包括三个控制线,包括所述给定控制线。所述三个控制线包括除了所述给定控制线之外的两个附加控制线。所述两个附加控制线经由所述电子设备中的2×M个附加电子设备连接至输出线。该模拟电路还被配置为对该2×M个附加电子设备编程,以使它们存储自适应激发阈值的操作数。
优选地,该模拟电路还被配置为将两个附加控制信号耦合到所述两个附加控制线中并且还被配置为选择两个附加控制信号中的每个控制信号以便由该电路读出的输出信号表示M个最终膜电位值与M个自适应激发阈值的M个差值。
更优选地,该模拟电路还被配置为对连接所述两个附加控制线之一的所述2×M个附加电子设备中的M个电子设备重新编程,以便在操作中根据由该模拟电路先前读出(例如,在先前迭代期间)的输出值来更新存储在其上的操作数。
在实施例中,该模拟电路还被配置为对N1×M个第一设备重新编程,以便根据自动学习过程来改变存储在其上的突触权重。
优选地,该模拟电路包括编程电路和读出电路,所述读出电路连接至所述编程电路,其中读出电路被配置为读出所述M个输出信号,并且编程电路被配置为根据由读出电路先前读出的输出信号对电子设备编程。
更优选地,所述编程电路包括输入电路,输入电路被配置为,一方面,将信号耦合到输入线中,另一方面,选择将被耦合到输入线中的信号,以便在操作中基于耦合到输入线中的信号来对电子设备编程。
根据另一方面,本发明体现为神经元形态系统。该系统包括L个神经形态设备,每个都为根据如上所述的实施例的神经形态设备。该系统还包括通信总线,其中该系统被配置为经由该通信总线将该L个神经形态设备中的给定一个神经形态设备处读出的输出信号转发给该L个神经形态设备中的下一神经形态设备。
根据最后方面,本发明体现为操作神经形态设备的方法。该方法依赖于具有模拟电路和交叉式阵列结构的神经形态设备。所述交叉式阵列结构包括经由N×M个电子设备在联结处互连的N个输入线和M个输出线。所述输入线包括N1个第一输入线和N2个第二输入线,分别经由所述电子设备的N1×M个第一设备和所述电子设备的N2×M个第二设备连接至所述M个输出线,其中N1≥1,N2≥1,N1+N2=N,并且M≥1。该方法包括经由模拟电路对所述电子设备编程,使得第一设备存储突触权重,并且使得第二设备存储神经元状态。此外,该方法包括再次经由模拟电路读出根据乘法累加操作从M个输出线获得的M个输出信号。后者基于耦合到第一输入线中的N1个输入信号、耦合到第二输入线中的N2个控制信号、以及存储在第一设备和第二设备中的每一者上的值。
在优选的实施例中,该方法还包括通过根据利用模拟电路先前读出的M个输出信号对N2×M个第二设备中的至少一些重新编程来更新存储在N2×M个第二设备中的该至少一些上的神经元状态。
现在将通过非限制性实例并且参照附图来描述体现本发明的设备、系统和方法。
附图说明
附图(其中,贯穿单独的视图,相同的参考标号表示相同或功能相似的元件,并且与以下详细描述一起被结合在本说明书中并且形成本说明书的一部分)用于进一步展示各种实施例并且用于解释所有根据本公开的各种原理和优点,其中:
图1是示意性地示出现有技术神经元形态系统的高水平组件的示图。该系统包括忆阻交叉式阵列(memristive crossbar array)并且实现人工神经网络。神经元功能由数字处理引擎实现:到神经元的输入是乘法累加操作(multiply-accumulate operation)的结果,该操作被转换到数字域以实现神经元功能。
图2是示意性地示出根据实施例的神经元形态系统的高水平组件的示图。该系统包括具有实现尖峰神经网络的忆阻器交叉式阵列的神经形态设备。神经元功能现在由模拟电路实现,该模拟电路读出所有有用信号并在将这些输出转换成数字域之前计算神经元输出。
图3A至图3B示意性地表示根据实施例的神经形态设备的忆阻交叉式阵列,其中该设备旨在实现尖峰神经网络的层。图3A示意性地描绘了由模拟电路执行的操作,由此在忆阻交叉式阵列中更新神经元状态,并且将膜电位与阈值进行比较以生成神经元输出。图3B显式地示出了在忆阻交叉式阵列的输出中用于执行比较的模拟电路的组件。
图4示出图3B的变体,其中用于进行比较的模拟电路的所述组件现在集成在忆阻交叉式阵列中,如在实施例中那样。
图5示出了图4的变型,其中模拟电路包括集成在忆阻交叉式阵列中的附加组件,该附加组件用于对阵列的电子设备编程,以使电子设备存储自适应激发阈值的操作数,如在实施例中那样。
图6是示出根据实施例的操作诸如图2至5中所描绘的神经形态设备的方法的高级步骤的流程图。
附图示出了实施例中所涉及的设备或其部分的简化表示。附图中描绘的技术特征不一定按比例绘制。附图中类似或功能上类似的元件已经分配有相同的附图标记,除非另外指明。
具体实施方式
已提出基于交叉式阵列结构的神经形态设备。这些设备用于实现ANN。然而,需要外部电路(涉及数字处理单元)来实现神经元功能。即,神经元功能的大部分依赖于连接至模拟电路的数字处理单元,参见例如在背景技术部分中引用的S.R.Nandakumar,et al.,ISCAS 2018。即,只有突触权重被存储在模拟单元中,而神经元激活在数字处理单元中实现。在图1中合成地捕获该情形:在忆阻交叉式阵列中实施突触。脉冲宽度调制(PWM)电路可以例如用于生成对突触的输入xi(t)。然而,神经元功能由数字处理引擎和静态随机存取存储器(SRAM)来实现。此功能因此不直接映射在交叉式阵列上。对神经元的输入是在模拟空间中执行的乘法累加操作(即,∑iWjixi(t))的结果。然后使用模数转换器(ADC)电路将该结果转换成数字域。在数字域中计算神经元激活函数f(∑iWjixi(t)),从而产生输出yi(t),该输出被传递至核心至核心通信总线,该核心至核心通信总线将此类信号中继至下一层的神经元。
从这些观察开始,本发明人已经意识到,神经元功能可以至少部分地集成在交叉式阵列结构中。它们已相应地开发出不同神经形态设备和对应的计算系统,这些神经形态设备和对应的计算系统可被用来实现通常的ANN以及SNN。在以下描述中详细描述此类解决方案
参考图3A至图3B和图4至图5,首先描述本发明的方面,该方面涉及神经形态设备10至12。实质上,此设备包括交叉式阵列结构及模拟电路,其中后者集成多个功能。
交叉式阵列结构110包括N个输入线(水平线)111、112以及M个输出线(垂直线)120。输入线和输出线经由N×M个电子设备131、132在联结(junction)处互连,这些电子设备优选地是忆阻设备。这样的设备在本文中也称为“单元(cell)”。
有趣的是,输入线111、112分解为输入线的两个子集,其分别称为第一输入线和第二输入线。正如我们看到的,第一输入线和第二输入线具有不同的功能。类似地,电子设备131、132界定两个子集,其分别被称作第一设备131和第二设备132。
从结构上讲,输入线分解为N1个第一输入线111和N2个第二输入线112。第一输入线111经由N1×M个第一设备131连接至M个输出线120,而第二输入线112经由N2×M个第二设备132连接至M个输出线120。以上不同数目被约束如下:N1≥1,N2≥1,N1+N2=N,并且M≥1,经受以下附加评论。
模拟电路140至170显著地被配置为编程S110电子设备131、132,用于它们存储值,或者更精确地,具有可解译为这样的值的属性(例如,电导、或存储的电荷的量)。注意,所有参考“Sijk”是指值得注意地在图6的流程图中出现的方法步骤。如在现有技术设备中,第一设备131可相应地被编程以存储突触权重。然而,第二设备132在此由模拟电路编程以存储由阵列实现的人工神经网络(ANN)的神经元状态。
模拟电路还被配置为读出S140从M个输出线120获得的M个输出信号(例如,电流)。该读出是根据乘法累加操作执行的,该乘法累加操作将耦合到每个输入线(这些输入线包括第二输入线)中的信号(例如,电流或电压偏置)考虑在内,这些输入线用于施加这些控制信号。即,在操作中,读出基于耦合S121到第一输入线111的N1个输入信号,而N2个控制信号耦合S122到第二输入线。根据所执行的乘法累加操作,存储S110在第一设备131和第二设备132中的每一者上的值影响读出。
此外,相同的模拟电路140至170优选用于将输入信号耦合到输入线中。即,电路的第三功能可以是将所述N1个输入信号和所述N2个控制信号分别耦合S120到N1个第一输入线111和N2个第二输入线112中。因此,模拟电路可以具有三种不同的功能:(i)编程S110电子设备131、132;(ii)读出S140从M个输出线120获得的输出信号;以及(iii)将输入信号耦合到输入线中,以便读出所述输出信号。在变体中,单独的输入电路可以用于任何功能。在这两种情况下,输入可例如经由PWM电路来实现。
根据上述关系,即N1≥1,N2≥1,N1+N2=N,并且M≥1,极小值至少有一个输出线和至少两个输入线。该至少两个输入线包括用于耦合至少一个输入信号(对应于突触输入)的至少一个输入线,即第一输入线。该至少两个输入线还包括至少一个控制线,即第二输入线,这次用于施加控制信号。施加的控制信号至少在一个操作周期期间通常是恒定的(例如,以允许膜电位被存储在电子设备的第二子集上),但是可以从一个操作周期到另一个操作周期而变化,如稍后所讨论的。此些控制信号可进一步为可选信号,例如以在交叉式阵列中包括阈值(可能变化的阈值),如稍后所论述的实施例中。
然而,实际上,将可能涉及若干输入线111(例如,8、32、…、250、…、1000等,其中,该数量可以是偶数或奇数)。在可能的实施例中,输入线111的数量将在几百的数量级上。类似地,通常将提供若干输出线120,通常在8与2000之间。控制线112的数量取决于所寻求的复杂程度;可以涉及一个、两个、三个或更多个控制线,如稍后参考图3A至图3B和图4至图5所展示的。
实际上,第一输入线和第二输入线将优选地形成良好分离的子集。即,本设备10至12优选地包括非重叠的输入线的子集,使得阵列呈现出连续输入线的第一子集,用于耦合输入值,而连续输入线的不同的第二子集用于施加控制信号,这是考虑设备的神经元状态所必需的。
由模拟电路执行的乘法累加操作导致耦合到输入线中的信号分别乘以存储在联结处的电子设备上的值,如在忆阻交叉式阵列中常见的那样。然而,在当前情况下,模拟乘法累加操作考虑了控制信号。因此,耦合到第一输入线111和第二输入线112中的信号分别乘以存储在第一电子设备和第二电子设备上的值。
有趣的是,本设备10至12可以用于实现常规ANN或者甚至尖峰神经网络(SNN),应注意,SNN被认为是本文档中的一般ANN的子类。因此,除非另外指明,ANN在此意在覆盖SNN。
然而,严格地说,在图3A至图3B和图4至图5中示出的设备的架构对应于节点的单层,而不是多层网络。因此,如上所述的神经形态设备10至12通常对应于神经网络(NN)的单层。这种神经形态设备10至12可被视为模拟核心处理设备。原则上,它们的架构可能被扩展(或堆叠)以实施若干连接的层(因此形成多层网络),或者可例如经由核心至核心通信总线(可能包括数字处理单元)连接。即,诸如图3A至图3B和图4至图5中所示的若干设备10至12可被耦合,从而构成神经元形态系统1,如稍后关于本发明的另一方面参见图2所描述的。
注意,如存储在第一设备131上的权重出于推断目的通常是恒定的,而出于学习目的将需要对它们重新编程。对于学习,模拟电路140至170可以用于重新编程N1×M个第一设备131,以便改变存储在其上的突触权重,并且这根据任何合适的自动学习过程。然而,更一般地,本设备10至12可以用于学习和推断目的。
如前所述,模拟电路140至170可以例如包括输入电路、读出电路和编程电路。有趣地,输入电路和编程电路可以形成为同一电路,因为可以以将信号耦合到输入线中或者对单元编程的方式选择所施加的信号,如在优选实施例中。注意,该模拟电路也可以被认为是模拟处理单元,因为它包括编程功能。尽管如此,该模拟电路仍然可以耦合到数字处理单元,并且数字处理单元可能执行后续编程所必需的计算的部分,如在稍后讨论的实施例中。
根据本解决方案,突触权重和神经元状态(例如,膜电位)两者可以由联结处的电子设备(例如,忆阻设备)来表示。然而,这种方法与不同电子设备(例如,闪存单元、忆阻设备、SRAM设备等)兼容。本解决方案使得可以在恒定时间内计算神经元状态而无需附加电路,特别是无需在数字域中进行任何转换。由于所使用的模拟电路允许在模拟域中计算神经元状态,所以所提议的解决方案原则上可比先前的神经形态设备更具时间效率。
例如,神经元输出可以例如使用比较器电路从利用交叉式阵列执行的乘法累加操作直接生成。不需要在数字域中转换信号(因此在这种情况下在交叉式结构中不需要ADC)并且将其存储到存储器中(即,不需要SRAM用于该目的)。
如在涉及SNN实现方式的优选实施例中,再次在模拟域中,例如,基于与一个或多个阈值的比较,可以实现简单的激活功能。可以类推地计算输出尖峰,并且然后,使用通常的核心至核心基础设施,将输出尖峰作为二进制信号传输至另外类似设备10至12。顺便说一下,本方法与用于核心至核心通信的标准地址事件表示(AER)协议兼容。
现在将参照本发明的具体实施例详细描述所有这些。首先,神经形态设备10至12的所述电子设备中的每一个可能包括忆阻设备,如之前所引出的。可以设想任何类型的忆阻设备,诸如相变存储器单元、电阻式随机存取存储器(RRAM)、SRAM、或电化学随机存取存储器(ECRAM)。在变体中,可以依赖于闪存单元。
在典型的实施例中,神经形态设备10至12的模拟电路140至170还被配置为更新S116、S118存储在N2×M个第二设备132的至少子集上的神经元状态。更确切地说,在操作中,通过根据由模拟电路先前读出的M个输出信号对所述子集的第二设备重新编程S116、S118来更新这种神经元状态。注意,更新操作通常将是迭代的,即,神经元状态可在每个操作周期更新。
所述神经元状态将包括作为乘法累加操作的结果计算的值,这些值可以用于通常的ANN应用。然而,在变体中,对于SNN应用,所述神经元状态可以包括膜电位值,如现在参照图3A至图3B和图4至图5所描述的。即,在实施例中,第二输入线包括给定控制线112,其经由M个给定电子设备132连接至M个输出线120。所述给定电子设备132可由模拟电路140至170编程,以便它们存储M个初始膜电位值,如图3A至图3B和图4至图5中假定的。因此,在这种情况下,由设备132捕获的神经元状态包括最小值、膜电位值。此外,模拟电路140至170还可以被配置为将给定控制信号耦合S122至所述给定控制线112,以便读出S140的M个输出信号表示M个最终膜电位值。注意,与由设备132捕获的“初始”值相反,后者可被视为“最终”膜电位值。更确切地,基于所述M个初始膜电位值获得最终膜电位值作为突触输入的泄漏积分器,在操作中,所述突触输入本身通过将所述N1个输入信号耦合S121到N1个第一输入线111中来获得。
在这方面,并且如图3A至图3B和图4至图5中进一步所见,在操作中,耦合到控制线112中的控制信号优选地表示衰减参数α。同时,模拟电路140至170还可以被配置为调整S120 N1个输入信号,以使它们表示互补地缩放(即,1-α)的突触输入值。因此,膜电位的演变可以写成:
Vj(t+δt)=αVj(t)+∑iWji[(1-α)xi(t-dji)]
其中dji是突触延迟,其通常是固定的(但原则上此参数可能被训练)。在变体中,缩放的权重可被存储在电子设备上。
注意,可使用一个以上的这种线112来存储膜电位。即,给定神经元的膜电位V可能存储在同一列中的若干设备132中。例如,可以使用n个线112(n>1)连同n×M个电子设备132来存储膜电位的分数。对于给定神经元,此分数可以例如简单地等于V/n。如果需要,采用具有多个控制线112的配置增强了膜电位表示的准确度。然而,在下文中,为了简单起见,假设仅使用一个控制线112来存储膜电位。
然后,优选地,模拟电路140至170还被配置为更新S116存储在M个给定电子设备132上的膜电位值。这在操作中通过根据表示通过模拟电路先前读出S140的M个最终膜电位值的M个输出信号重新编程S116 M个给定电子设备132来实现。再次,膜电位值可迭代地更新(由此在每个周期改变值)。即,对应的元件可以被编程为存储不同的值,根据在前一循环期间读取的输出信号在每个循环更新。在图3A至图3B和图4至图5中象征性地描述了这种操作,其示出了适于执行读出S140的电路组件140,基于该读出在设备132中更新S116新的膜电位值(见图3A至图3B中的对应的回环路由箭头)。
然而,如上文所述的迭代更新不应与迭代编程的方案混淆,其中,例如,以迭代方式使用多个脉冲对单独的PCM单元编程。在本文中,编程单元的迭代步骤不是必需的。还可以仅用脉冲对单元编程,这可能表示更粗糙的更新步骤。此外,这里,更新的膜电位可以在恒定时间内计算(意味着在每个操作周期获得所有输出结果)。然而,更新将具有线性复杂度。
有趣的是,膜电位值与阈值的比较也可以类推地执行,以便加速计算。即,在实施例中,模拟电路140至170还被配置为对于M个输出线120中的每一个,执行S160、S165读出的M个输出信号中的每一个与阈值θ之间的比较。注意,该阈值可以是单个恒定阈值。在变体中,该设备可以被设计成允许与若干个(不同的)阈值相比较,这些阈值从一个输出线120到另一个输出线是不同的。在另外的变体中,可以在整个操作周期中改变阈值。
可以类推地进行比较,例如,在比较器的帮助下,如图3B中假设的。本示例示出了电路组件160的布局,这使得可以类推地将膜电位值与阈值θ(其可以跨输出线120不同)进行比较。此外,电路组件160将差值V-θ的结果与零进行比较,并且输出被馈送至另外的电路组件170。
电路组件170也形成模拟电路140至170的一部分。假定满足上述条件,此些组件170使得可针对M个输出线120中的每一者产生S170信号。所产生的信号可以被视为尖峰。而且,对应的信号可以由模拟信号或二进制信号表示。此类信号是基于膜电位值与对应的阈值之间的比较的结果而产生的。然而,注意,在实践中可能还需要将对应于差值V-θ的信号与对应于零的信号进行比较,以便确定所测量的电位是否确实已经超过其相应的阈值。即,在图3A至图3B和图4至图5的示例中,可以例如使用模拟比较器来执行与零的附加比较,以便决定是否产生最终尖峰输出zj。换言之,如果膜电位越过阈值,则获得尖峰信号zj,该尖峰信号zj随后可被传播至一个或多个后续神经元。
此外,电路组件160可操作地连接至编程电路,以便编程电路重置S114存储在所述M个给定电子设备132中的任一者上的值。即,如果神经元发射尖峰,则对应的膜电位需要被重置。
在图3B的变体中,与比较(与阈值,然后与零值)有关的功能可集成于交叉式阵列结构中,如现在参见图4所讨论。此种方法使得可利用交叉式阵列结构,从而产生更集成的解决方案(仅需一附加控制线来达成此,但可能需要附加控制线)。
到目前为止,由图3B中所示的电子设备132捕获的神经元状态仅包括膜电位。如现在将看到的,阈值也可以由附加电子设备132a捕获,如在图4的实施例中。在该示例中,神经形态设备11的第二电子设备132、132a包括M个另外的电子设备132a。此外,第二输入线112、112a包括另外的控制线112a,其经由M个另外的电子设备132a连接至输出线120。设备132a可由模拟电路140至170编程以存储M个阈值。以此方式,如以下讨论的,如果适当选择的控制信号被耦合S122到控制线112a中,则如最终读出的M个输出信号S142可以表示如存储在设备132a上的M个最终膜电位值和M个阈值的M个差值(再次借助于乘法累加操作)。
注意,至少在简单的实现中,由电子设备132a捕获的阈值通常不取决于输出信号。然而,由于设备132a可由模拟电路编程,在更复杂的变型中,设备132a所捕获的值可能很好地取决于输出信号。而且,如果需要,可以依赖多于一个控制线112a。
更详细地,模拟电路140至170可能配置为选择要耦合到控制线112a的控制信号,该控制信号表示0的输入值或-1的输入值,如图4的实例中所假定的。当耦合的信号对应于0的输入值时,最终读出S140的M个输出信号表示唯一的膜电位值。然而,当耦合的信号对应于-1的输入值时,M个输出信号现在表示差值V-θ,即,M个最终膜电位值与M个阈值的差值。因此,适当选择的信号允许读取膜电位值(如更新设备132所需要的)或这种膜电位值与阈值之间的差值(如确定是否“激发”所需要的)。因此在这种情况下需要两个读出。
如现在参见图5所讨论的,例如,为了考虑自适应激发阈值的操作数,可以可能包括附加控制线。即,在各实施例中,神经形态设备12的输入(控制)线现在包括三种类型的控制线112、112b、112c。即,它们特别地包括用于存储膜电位值的控制线112,如之前参见图3A至图3B和4描述的。此外,现在包括两个附加控制线112b、112c,这两个附加控制线经由2×M个附加电子设备132b、132c连接至输出线120。在那种情况下,模拟电路140至170可以进一步被设计成对2×M设备132b、132c编程以用于它们存储自适应激发阈值的操作数。这使得有可能实现具有变化的激发阈值(与固定阈值形成对比)的先进尖峰神经元模型,如以下例示的。
注意,代替三个控制线112、112b、112c,可涉及三组控制线,因为神经状态特征(膜电位和自适应阈值操作数)中的每一者可通过交叉式阵列中的一个以上的线来捕获。
类似于耦合到图4的设备的控制线112a中的可选信号,图5的模拟电路140至170现在可以用于将两个附加控制信号耦合到控制线112b、112c中并且选择两个附加控制信号中的每个S121b、S121c,以便获得差值信号。也就是说,对于适当选择的控制信号,如由电路最终读出的输出信号可以表示M个最终膜电位值与M个自适应激发阈值的M个差值。
此外,操作数中的一些可能需要更新(例如,在每个操作循环处迭代),这可通过基于先前获得的(例如,在先前迭代期间)输出值对设备132c重新编程来实现,如图5所示。即,模拟电路140至170可用于重新编程S118 M个所述2×M个附加设备的电子设备132c,即,连接控制线112c的设备。这样做以便根据先前获得的输出值更新(例如,迭代地)存储在其上的操作数。注意,在那种情况下,仅需要对电子设备132c编程,而电子设备132b保持固定(至少在单个操作期间),其中它们的行为就像电子设备132a。
注意,自适应阈值的实现与图4的阈值的实现非常相似。变化阈值记为Bj(t)。该量可以写成:
Bj(t)=bj 0+βbj(t),其中
bj(t+δt)=ρjbj(t)+(1-ρj)zj(t)。
在以上等式中,bj 0和bj(t)分别是由第j个输出线的设备132b和132c捕获的操作数,其中bj 0是固定的,与bj(t)相反,bj(t)需要在每个周期更新。Bj(t)的演变因此由两个参数β和ρj确定,其中第一参数是恒定的,而第二参数可对于每列而不同。因此,为了根据上述等式计算Bj(t),能够选择耦合到控制线112b、112c中的信号就足够了,以便耦合到线112b和112c中的信号表示{0,0},{-1,-β}或{0,ρ},如图5中所示。在适当地选择控制信号的同时执行若干读出允许连续地读出和计算所有分量,即,Vj(t)、Bj(t)、zj(t)、并且然后bj(t)。在这种情况下,涉及的所有神经元状态(膜电位和自适应阈值)的计算仍然可以在恒定时间内执行。
如上所述,模拟电路140至170具有不同的功能,其可以由不同的电路组件提供。具体地,该电路可以包括编程电路和读出电路140,后者连接至前者。读出电路被配置为读出M个输出信号,而编程电路被配置为对图3A至图3B和图4至图5的电子设备132、132a至132c编程(例如,迭代地),其中,可以基于如之前由读出电路读出的输出信号对这些设备中的一些重新编程,如以上所讨论的。
这种电路组件本身在交叉式阵列结构中是已知的。相对于现有技术电路的第一差异在于,在当前情况下,模拟电路140至170延伸到用于存储神经元状态的附加输入线,即控制线112、112a至112c。乘法累加操作保持不变,除非它们现在包括附加行线,所有其他事物是相等的。由此,该读出电路组件仍基本类似于先前交叉式阵列结构中所使用的读出电路。然而,另一个差异在于,在此需要执行若干读出操作(例如,图3A至图3B和图4至图5的实例中的1、2或3),以便获得所有感兴趣的量。获得这样的量所需的附加操作的计算成本仍然是有利的,因为这样的操作是类比地执行的,即,没有到数字域的任何转换。即,一旦已经类推地执行所述操作,则它们不需要转换并且然后不需要数字地执行,从而在计算速度方面受益。
注意,编程电路可以例如仅相当于输入电路,其被设计为将信号耦合到输入线中并且选择要耦合到这样的输入线中的信号。然而,一些编程逻辑可以外包到连接至模拟电路的数字电路,以便适当地编程电子设备。因此,该逻辑可依赖于复杂的算法,这是基于纯模拟电路更难以实现的事情。尽管如此,需要模拟前端来选择信号并在控制线中耦合此类信号,从而使得在那种情况下“实际”编程仍由模拟电路执行。
然而,在变体中,模拟电路140至170可以包括三个功能上不同的电路(尽管它们是部分连接的),即,输入电路、编程电路和读出电路,以便分别选择和耦合适当的输入信号、编程电子设备和读出输出信号,根本不涉及任何数字处理。以上三个功能中的至少两个优选地被类推地执行,而第三功能(编程)可以被部分地卸载到数字处理单元。然而,在其他变体中,所有读出可以被转换成数字域并且进一步数字地处理。具体地,如前所述,可以使用数字逻辑来进行与阈值的比较。
参照图2,现在描述本发明的另一方面,其涉及神经元形态系统1。系统1包括L个神经形态设备10(诸如先前参见图3A至图3B和图4至图5所描述的)以及通信总线。一般而言,系统1被配置为将在给定神经形态设备10处读出的输出信号经由通信总线转发S180到L个神经形态设备中的下一神经形态设备,因此是图2中所示的周期。通信总线将通常包括模数(ADC)转换器和数模(DAC)转换器,以便将信号的数字化版本从一个神经形态设备传送到另一神经形态设备。这样,可形成若干层的神经网络,具有如先前描述的单个模拟层的益处。
同样如之前所解释的,设备10允许编程S110至S120、电子设备、乘法累加操作S140、更新S116、比较S160、以及尖峰计算S180全部在模拟域中执行,受制于关于编程的较早评论,其可被部分地卸载至数字处理单元。输出信号被转发S180至核心至核心通信总线,如上所述,该核心至核心通信总线可以可选地包括用于更新权重和状态的一些数字处理逻辑。因此在体现另一层的(另一)设备10的神经元处获得和接收S190新输入信号,等等。
接下来参照图6的流程图,本发明的最后方面涉及一种操作如上所述的神经形态设备10至12(或系统1)的方法。已经参照本设备和系统描述了该方法的本质方面。该方法因此在下文中仅简要地描述。
实质上,该方法依赖于S100诸如本文中描述的神经形态设备10至12,即,具有模拟电路140至170和交叉式阵列结构110。模拟电路140至170显著地用于对电子设备编程S110,以便第一设备131存储突触权重,并且第二设备132存储由该设备实现的ANN层的神经元状态。此外,模拟电路140至170读出S140从M个输出线120获得的M个输出信号。如上所述,这根据基于耦合到第一输入线111中的N1个输入信号、耦合到第二输入线112中的N2个控制信号、以及存储在第一设备131和第二设备132中的每一者上的值的乘法累加操作来完成。这可以显著地通过以下内容导致更新(例如,迭代地)S116存储在N2×M个第二设备132的至少子集上的神经元状态:通过根据用模拟电路140至170先前读出的M个输出信号(例如,在先前的迭代期间)重新编程N2×M个第二设备132的所述子集。
例如,图6的流程图示出了在体现ANN的单层的神经形态设备10的层级处执行的以下操作,该ANN可被视为模拟核心计算设备。首先,经由模拟电路的输入电路或编程电路组件对神经形态设备的忆阻设备131、132编程S111、S112。忆阻设备包括用于存储神经元状态的设备。信号(包括控制信号)随后被耦合S120到神经形态设备的输入线中。这包括将输入信号(例如,如在步骤S190中接收的,基于来自下层的尖峰信号确定的)S121耦合到输入线中,以及选择控制信号并将控制信号S122耦合到控制线中。接着在步骤S140处执行乘法累加操作以获得膜电位值,所述膜电位值可类推地比较S160与阈值。接下来,如果超过S171阈值,在步骤S172产生尖峰信号,该尖峰信号然后被转发S180至核心至核心通信基础设施,该核心至核心通信基础设施可以将这样的信号中继(并且可能进一步处理这些信号)至下核心10,等等。
所提出的方法显著地允许利用多个神经元和利用忆阻交叉式结构的层来实现尖峰神经网络。该方法提供了超过常规计算范例的加速,并且还实现了高级神经模型。在特别有利的实施例中,突触权重和神经元状态由相变存储器设备132、132a至132c表示,因此与常规设备相比允许潜在加速。例如,可以采用用于ANN的混合精度训练方案,其与本文所述的模拟核兼容。
虽然已经参考有限数量的实施例、变型和附图描述了本发明,但是本领域技术人员将理解,在不背离本发明的范围的情况下,可以做出各种改变并且可以替换等同物。具体地,在不脱离本发明的范围的情况下,在给定的实施例、变体中叙述的或在附图中示出的特征(设备样或方法样)可以与另实施例、变体或附图中的另特征组合或替换另特征。因此,可设想关于任何上述实施例或变型描述的特征的各种组合,这些组合保持在所附权利要求的范围内。此外,在不背离本发明的范围的情况下,可以做出许多微小修改以使特定情况或材料适应本发明的教导。因此,本发明旨在不限于所公开的具体实施例,而是本发明将包括落在所附权利要求范围内的所有实施例。此外,可以设想除上面显式触摸之外的许多其他变型。
Claims (20)
1.一种神经形态设备,包括:
交叉式阵列结构,所述交叉式阵列结构包括经由N×M个电子设备在联结处互连的N个输入线和M个输出线,其中所述输入线包括N1个第一输入线和N2个第二输入线,所述N1个第一输入线和所述N2个第二输入线分别经由所述电子设备的N1×M个第一设备和所述电子设备的N2×M个第二设备连接至所述M个输出线,其中N1≥1,N2≥1,N1+N2=N,并且M≥1,以及
模拟电路,所述模拟电路被配置为:
对所述电子设备编程,使得所述第一设备存储突触权重,并且使得所述第二设备存储神经元状态;以及
在操作中,基于耦合到所述第一输入线中的N1个输入信号、耦合到所述第二输入线中的N2个控制信号以及存储在所述第一设备和所述第二设备中的每一者上的值,根据乘法累加操作来读出从所述M个输出线获得的M个输出信号。
2.根据权利要求1所述的神经形态设备,其中
所述模拟电路还被配置为通过根据由所述模拟电路在操作中先前读出的M个输出信号对所述N2×M个第二设备中的至少一些重新编程来更新所述N2×M个第二设备中的所述至少一些上存储的神经元状态。
3.根据权利要求1所述的神经形态设备,其中:
所述模拟电路还被配置为将所述N1个输入信号和所述N2个控制信号分别耦合到所述N1个第一输入线和所述N2个第二输入线中。
4.根据权利要求1所述的神经形态设备,其中:
所述第二输入线包括经由M个给定电子设备连接至所述输出线的给定控制线,其中所述M个给定电子设备能由所述模拟电路编程以存储M个初始膜电位值,并且
所述模拟电路还被配置为将给定控制信号耦合到所述给定控制线中,以便读出的所述M个输出信号表示M个最终膜电位值,所述M个最终膜电位值基于所述M个初始膜电位值获得,作为在操作中通过将所述N1个输入信号耦合到所述N1个第一输入线中获得的突触输入的泄漏积分器。
5.根据权利要求4所述的神经形态设备,其中
所述模拟电路还被配置为在操作中通过根据表示由所述模拟电路先前读出的M个最终膜电位值的M个输出信号对这种设备重新编程来更新存储在所述M个给定电子设备上的膜电位值。
6.根据权利要求4所述的神经形态设备,其中
所述模拟电路还被配置为对于所述M个输出线中的每个输出线,执行读出的所述M个输出信号中的每个输出信号与阈值θ之间的比较。
7.根据权利要求6所述的神经形态设备,其中
所述模拟电路还被配置为基于所述比较的结果为所述M个输出线中的每个输出线产生信号,并且还被配置为重置存储在所述M个给定电子设备中的任何给定电子设备上的值。
8.根据权利要求6所述的神经形态设备,其中:
所述第二电子设备包括M个另外的电子设备,并且所述第二输入线包括经由所述M个另外的电子设备连接至所述输出线的另外的控制线,所述M个另外的电子设备可由所述模拟电路编程以存储M个阈值,以便读出的所述M个输出信号表示所述M个最终膜电位值与在操作中耦合到所述另外的控制线中的适当选择的另外的控制信号的所述M个阈值的M个差值。
9.根据权利要求8所述的神经形态设备,其中
所述模拟电路被配置为选择将被耦合到所述另外的控制线中的所述另外的控制信号,以用于所述另外的控制信号表示以下任一项:
0的输入值,由此读出的所述M个输出信号表示所述M个最终膜电位值;或
-1的输入值;由此读出的所述M个输出信号表示所述M个最终膜电位值与所述M个阈值的差值。
10.根据权利要求4所述的神经形态设备,其中
在操作中耦合到所述给定控制线的所述给定控制信号表示衰减参数α,并且
所述模拟电路还被配置为调整所述N1个输入信号,以使它们表示由1-α互补地缩放的突触输入值。
11.根据权利要求4所述的神经形态设备,其中:
所述第二输入线包括三个控制线,包括所述给定控制线,由此所述三个控制线包括除了所述给定控制线之外的两个附加控制线,
所述两个附加控制线经由所述电子设备的2×M个附加电子设备连接至所述输出线,以及
所述模拟电路还被配置为对所述2×M个附加电子设备编程,以使它们存储自适应激发阈值的操作数。
12.根据权利要求11所述的神经形态设备,其中:
所述模拟电路还被配置为将两个附加控制信号耦合到所述两个附加控制线并且还被配置为选择所述两个附加控制信号中的每个控制信号以便由所述电路读出的输出信号表示M个最终膜电位值与M个自适应激发阈值的M个差值。
13.根据权利要求12所述的神经形态设备,其中
所述模拟电路还被配置为在操作中对连接所述两个附加控制线之一的所述2×M个附加电子设备中的M个电子设备重新编程,以便根据由所述模拟电路先前读出的输出值来更新存储在其上的操作数。
14.根据权利要求1所述的神经形态设备,其中
所述模拟电路还被配置为对所述N1×M个第一设备重新编程,以便根据自动学习过程来改变存储在其上的突触权重。
15.根据权利要求1所述的神经形态设备,其中
所述模拟电路包括编程电路和读出电路,所述读出电路连接至所述编程电路,其中所述读出电路被配置为读出所述M个输出信号,并且所述编程电路被配置为根据由所述读出电路先前读出的输出信号对所述电子设备编程。
16.根据权利要求15所述的神经形态设备,其中
所述编程电路包括输入电路,所述输入电路被配置为,一方面,将信号耦合到所述输入线中,并且另一方面,选择将耦合到所述输入线中的信号,以便在操作中基于耦合到所述输入线中的信号来对这些电子设备编程。
17.根据权利要求1所述的神经形态设备,其中
所述电子设备中的每一个包括忆阻设备。
18.一种神经元形态系统,包括:
L个神经形态设备,每个为根据权利要求1所述的神经形态设备,以及
通信总线,其中所述系统被配置为经由所述通信总线将在所述L个神经形态设备中的给定一个神经形态设备处读出的输出信号转发给所述L个神经形态设备中的下一神经形态设备。
19.一种操作神经形态设备的方法,所述方法包括:
提供具有模拟电路和交叉式阵列结构的神经形态设备,所述交叉式阵列结构包括经由N×M个电子设备在联结处互连的N个输入线和M个输出线,其中所述输入线包括N1个第一输入线和N2个第二输入线,所述N1个第一输入线和所述N2个第二输入线分别经由所述电子设备的N1×M个第一设备和所述电子设备的N2×M个第二设备连接至所述M个输出线,其中N1≥1,N2≥1,N1+N2=N,并且M≥1;以及
经由模拟电路:
对所述电子设备编程,使得所述第一设备存储突触权重,并且使得所述第二设备存储神经元状态;以及
基于耦合到所述第一输入线中的N1个输入信号、耦合到所述第二输入线中的N2个控制信号以及存储在所述第一设备和所述第二设备中的每一者上的值,根据乘法累加操作来读出从所述M个输出线获得的M个输出信号。
20.根据权利要求19所述的方法,其中所述方法还包括:
通过根据由所述模拟电路先前读出的M个输出信号对所述N2×M个第二设备中的至少一些重新编程来更新所述N2×M个第二设备中的所述至少一些上存储的神经元状态。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/685,045 US11714999B2 (en) | 2019-11-15 | 2019-11-15 | Neuromorphic device with crossbar array structure storing both weights and neuronal states of neural networks |
US16/685,045 | 2019-11-15 | ||
PCT/IB2020/060075 WO2021094861A1 (en) | 2019-11-15 | 2020-10-28 | Neuromorphic device with crossbar array structure |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114730379A true CN114730379A (zh) | 2022-07-08 |
Family
ID=75908228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080078408.4A Pending CN114730379A (zh) | 2019-11-15 | 2020-10-28 | 具有交叉式阵列结构的神经形态设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11714999B2 (zh) |
JP (1) | JP7438610B2 (zh) |
CN (1) | CN114730379A (zh) |
DE (1) | DE112020005613T5 (zh) |
GB (1) | GB2604835B (zh) |
WO (1) | WO2021094861A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11714999B2 (en) | 2019-11-15 | 2023-08-01 | International Business Machines Corporation | Neuromorphic device with crossbar array structure storing both weights and neuronal states of neural networks |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210152244A (ko) * | 2020-06-08 | 2021-12-15 | 삼성전자주식회사 | 뉴럴 네트워크를 구현하는 장치 및 그 동작 방법 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8515885B2 (en) | 2010-10-29 | 2013-08-20 | International Business Machines Corporation | Neuromorphic and synaptronic spiking neural network with synaptic weights learned using simulation |
US9152827B2 (en) | 2012-12-19 | 2015-10-06 | The United States Of America As Represented By The Secretary Of The Air Force | Apparatus for performing matrix vector multiplication approximation using crossbar arrays of resistive memory devices |
US9754203B2 (en) * | 2013-03-24 | 2017-09-05 | Technion Research And Development Foundation Ltd. | Analog multiplier using a memristive device and method for implemening Hebbian learning rules using memrisor arrays |
US9412063B2 (en) | 2013-12-27 | 2016-08-09 | International Business Machines Corporation | Transform architecture for multiple neurosynaptic core circuits |
JP6674838B2 (ja) | 2015-05-21 | 2020-04-01 | 株式会社半導体エネルギー研究所 | 電子装置 |
US10248907B2 (en) | 2015-10-20 | 2019-04-02 | International Business Machines Corporation | Resistive processing unit |
US10332592B2 (en) * | 2016-03-11 | 2019-06-25 | Hewlett Packard Enterprise Development Lp | Hardware accelerators for calculating node values of neural networks |
CN109416758A (zh) | 2016-06-09 | 2019-03-01 | 前进公司 | 神经网络及神经网络训练的方法 |
US10679118B2 (en) | 2016-12-20 | 2020-06-09 | Intel Corporation | Solving matrix inverse problems using neuromorphic computing |
US11580373B2 (en) | 2017-01-20 | 2023-02-14 | International Business Machines Corporation | System, method and article of manufacture for synchronization-free transmittal of neuron values in a hardware artificial neural networks |
KR20180111156A (ko) | 2017-03-31 | 2018-10-11 | 에스케이하이닉스 주식회사 | 피드-백 라인을 가진 포스트-시냅틱 뉴런을 포함하는 뉴로모픽 소자 및 뉴로모픽 소자의 동작 방법 |
CN107273972B (zh) | 2017-05-11 | 2019-09-13 | 北京大学 | 一种基于阻变器件和适应-激发神经元的神经形态系统及实现方法 |
US11055610B2 (en) | 2017-06-30 | 2021-07-06 | International Business Machines Corporation | Circuit for CMOS based resistive processing unit |
US11222255B2 (en) | 2017-08-17 | 2022-01-11 | Samsung Electronics Co., Ltd. | Neuromorphic processing apparatus |
US10552510B2 (en) | 2018-01-11 | 2020-02-04 | Mentium Technologies Inc. | Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays |
JP2019179499A (ja) * | 2018-03-30 | 2019-10-17 | ソニー株式会社 | 半導体装置及び積和演算装置 |
US20190343452A1 (en) | 2018-05-09 | 2019-11-14 | EMRO Technologies, LLC | Bruxism monitoring and prevention system |
CN108985447B (zh) | 2018-06-15 | 2020-10-16 | 华中科技大学 | 一种硬件脉冲神经网络系统 |
US10877752B2 (en) * | 2018-09-28 | 2020-12-29 | Intel Corporation | Techniques for current-sensing circuit design for compute-in-memory |
US11714999B2 (en) | 2019-11-15 | 2023-08-01 | International Business Machines Corporation | Neuromorphic device with crossbar array structure storing both weights and neuronal states of neural networks |
-
2019
- 2019-11-15 US US16/685,045 patent/US11714999B2/en active Active
-
2020
- 2020-10-28 DE DE112020005613.9T patent/DE112020005613T5/de active Pending
- 2020-10-28 JP JP2022526383A patent/JP7438610B2/ja active Active
- 2020-10-28 GB GB2208458.6A patent/GB2604835B/en active Active
- 2020-10-28 CN CN202080078408.4A patent/CN114730379A/zh active Pending
- 2020-10-28 WO PCT/IB2020/060075 patent/WO2021094861A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11714999B2 (en) | 2019-11-15 | 2023-08-01 | International Business Machines Corporation | Neuromorphic device with crossbar array structure storing both weights and neuronal states of neural networks |
Also Published As
Publication number | Publication date |
---|---|
JP7438610B2 (ja) | 2024-02-27 |
WO2021094861A1 (en) | 2021-05-20 |
GB2604835B (en) | 2023-05-31 |
JP2023502204A (ja) | 2023-01-23 |
US11714999B2 (en) | 2023-08-01 |
DE112020005613T5 (de) | 2022-09-15 |
GB2604835A (en) | 2022-09-14 |
GB202208458D0 (en) | 2022-07-27 |
US20210150327A1 (en) | 2021-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9779355B1 (en) | Back propagation gates and storage capacitor for neural networks | |
US9646243B1 (en) | Convolutional neural networks using resistive processing unit array | |
US10708522B2 (en) | Image sensor with analog sample and hold circuit control for analog neural networks | |
JP7182835B2 (ja) | 人工ニューラル・ネットワークを訓練する方法および人工ニューラル・ネットワークを実施する装置(人工ニューラル・ネットワークの訓練) | |
US10373051B2 (en) | Resistive processing unit | |
US11501130B2 (en) | Neural network hardware accelerator architectures and operating method thereof | |
US10956815B2 (en) | Killing asymmetric resistive processing units for neural network training | |
CN110428042B (zh) | 往复地缩放神经元的连接权重和输入值来挫败硬件限制 | |
US11087204B2 (en) | Resistive processing unit with multiple weight readers | |
US20200117986A1 (en) | Efficient processing of convolutional neural network layers using analog-memory-based hardware | |
CN113826122A (zh) | 人工神经网络的训练 | |
US11386319B2 (en) | Training of artificial neural networks | |
CN114730379A (zh) | 具有交叉式阵列结构的神经形态设备 | |
Juarez-Lora et al. | R-stdp spiking neural network architecture for motion control on a changing friction joint robotic arm | |
US11868893B2 (en) | Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference | |
WO2020240288A1 (en) | Noise and signal management for rpu array | |
US20220101142A1 (en) | Neural network accelerators resilient to conductance drift | |
WO2022214309A1 (en) | Deep neural network training | |
US20200364503A1 (en) | Accurate ensemble by mutating neural network parameters |
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 |