CN103917992B - 用于按概率性方式使用存储器来存储神经网络的突触权重的方法和装置 - Google Patents

用于按概率性方式使用存储器来存储神经网络的突触权重的方法和装置 Download PDF

Info

Publication number
CN103917992B
CN103917992B CN201280054886.7A CN201280054886A CN103917992B CN 103917992 B CN103917992 B CN 103917992B CN 201280054886 A CN201280054886 A CN 201280054886A CN 103917992 B CN103917992 B CN 103917992B
Authority
CN
China
Prior art keywords
weight
memory
probability
neutral net
cynapse
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.)
Expired - Fee Related
Application number
CN201280054886.7A
Other languages
English (en)
Other versions
CN103917992A (zh
Inventor
V·阿帕林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103917992A publication Critical patent/CN103917992A/zh
Application granted granted Critical
Publication of CN103917992B publication Critical patent/CN103917992B/zh
Expired - Fee Related 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/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
    • 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/047Probabilistic or stochastic networks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

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)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Semiconductor Memories (AREA)

Abstract

本公开的某些方面支持一种用于按概率性方式利用存储器来存储与神经网络的各突触的权重有关的信息的技术。

Description

用于按概率性方式使用存储器来存储神经网络的突触权重的 方法和装置
背景技术
领域
本公开的某些方面一般涉及神经系统工程,且更具体地涉及用于按概率性方式利用存储器来存储与神经网络的突触权重有关的信息的方法和装置。
背景
神经网络可具有数十万突触,其中这些突触的权重在网络训练期间可被学习。在训练过程期间,权重通常用随机值来初始化并且以小增量变化。通常,突触权重被存储在多比特或多级存储器中。然而,在许多情形中,这些权重可稳定至两个值之一(权重的双峰分布)。因此,使用多比特存储器来存储最终二进制权重会浪费存储资源。此外,在网络训练或操作期间对多比特突触存储器进行寻址会成为速度的瓶颈。
概述
本公开的某些方面提供了一种在存储器中存储信息的方法。该方法一般包括对于神经网络中多个突触中的每个突触,根据学习规则计算该突触的权重的更新,以及对于这些突触中的每一者,基于该权重的更新按概率性方式切换该存储器内与这一突触相关联的位置的二进制状态。
本公开的某些方面提供了一种用于在存储器中存储信息的装置。该装置一般包括第一电路,第一电路被配置成对于神经网络中多个突触中的每个突触,根据学习规则计算该突触的权重的更新,并包括第二电路,第二电路被配置成对于这些突触中的每一者,基于该权重的更新按概率性方式切换该存储器内与这一突触相关联的位置的二进制状态。
本公开的某些方面提供了一种用于在存储器中存储信息的设备。该设备一般包括用于对于神经网络中多个突触中的每个突触,根据学习规则计算该突触的权重的更新的装置,以及用于对于这些突触中的每一者,基于该权重的更新按概率性方式切换该存储器内与这一突触相关联的位置的二进制状态的装置。
本公开的某些方面提供了一种用于在存储器中存储信息的计算机程序产品。该计算机程序产品一般包括包含用于以下操作的代码的计算机可读介质:对于神经网络中多个突触中的每个突触,根据学习规则计算该突触的权重的更新,以及对于这些突触中的每一者,基于该权重的更新按概率性方式切换该存储器内与这一突触相关联的位置的二进制状态。
附图简述
为了能详细理解本公开的以上陈述的特征所用的方式,可参照各方面来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中解说。然而应该注意,附图仅解说了本公开的某些典型方面,故不应被认为限定其范围,因为本描述可允许有其他等同有效的方面。
图1解说了根据本公开的某些方面的神经系统的示例处理单元。
图2解说了根据本公开的某些方面的按概率性方式利用存储器来存储信息的示例。
图3解说了根据本公开的某些方面的自旋转移矩(STT)存储器的示例。
图4A-4B解说了根据本公开的某些方面的与STT存储器的概率性切换有关的示例曲线图。
图5解说了根据本公开的某些方面的按概率性方式使用存储器的示例操作。
图5A解说了能够执行图5中解说的操作的示例组件。
图6解说了根据本公开的某些方面的利用通用处理器进行概率性存储器使用的示例软件实现。
图7解说了根据本公开的某些方面的概率性存储器使用的示例实现,其中权重存储器与个体分布式处理单元对接。
图8解说了根据本公开的某些方面的基于分布式权重存储器和分布式处理单元的概率性存储器使用的示例实现。
详细描述
以下参照附图更全面地描述本公开的各个方面。然而,本公开可用许多不同形式来实施并且不应解释为被限定于本公开通篇给出的任何具体结构或功能。确切而言,提供这些方面是为了使得本公开将是透彻和完整的,并且其将向本领域技术人员完全传达本公开的范围。基于本文中的教导,本领域技术人员应领会,本公开的范围旨在覆盖本文中所披露的本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用本文所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为本文中所阐述的本公开的各种方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,本文中所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。
措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
尽管本文中描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的详细描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
示例神经系统
图1解说了根据本公开的某些方面的计算网络(例如,神经系统或神经网络)的处理单元(例如,神经元)102的示例100。神经元102可接收多个输入信号1041-104N(x1-xN),这些输入信号可以是该神经系统外部的信号、或是由同一神经系统的其他神经元所生成的信号、或者两者皆有。输入信号可以是实数值或复数值的电流或电压。输入信号可包括具有定点或浮点表示的数值。可通过突触连接将这些输入信号递送到神经元102,这些突触连接根据可调节突触权重1061-106N(w1-wN)对这些信号进行按比例缩放,其中N可以是神经元102的输入连接的总数。
神经元102可组合这些经按比例缩放的输入信号,并且使用组合的经按比例缩放的输入来生成输出信号108(即,信号y)。输出信号108可以是实数值或复数值的电流或电压。输出信号可包括具有定点或浮点表示的数值。随后该输出信号108可作为输入信号传递至同一神经系统的其他神经元、或作为输入信号传递至同一神经元102、或作为该神经系统的输出传递。
处理单元(神经元)102可由电路来仿真,并且其输入和输出连接可由具有突触电路的导线来仿真。处理单元102、其输入和输出连接也可由软件代码来仿真。处理单元102还可由电子电路来仿真,而其输入和输出连接可由软件代码来仿真。在本公开的一方面,计算网络中的处理单元102可以包括模拟电路。在另一方面,处理单元102可以包括数字电路。在又一方面,处理单元102可以包括具有模拟和数字组件两者的混合信号电路。计算网络可包括任何前述形式的处理单元。使用这样的处理单元的计算网络(神经系统或神经网络)可用在大范围的应用中,诸如图像和模式识别、机器学习、电机控制等。
在训练神经网络的过程期间,突触权重(例如,来自图1的权重1061-106N)可用随机值来初始化并且根据学习规则(例如,取决于尖峰定时的可塑性(STDP)学习规则、Hebb规则、Oja规则、Bienenstock-Copper-Munro(BCM)规则等)以小增量变化。很多时候,这些权重可稳定至两个值(即,权重的双峰分布)之一。本公开的某些方面利用这来减少每突触权重的比特数、提高从/向存储突触权重的存储器读取和写入的速度、以及降低存储器的功耗。
在一方面,可采用多比特存储器来存储突触权重。这类存储器可减少给定容量的存储器中所存储的突触权重的数量。然而,因为每权重可能需要读取或写入若干比特,所以突触权重的读取和写入可能较慢。
在另一方面,可利用(例如,基于忆阻器的)模拟多级存储器来存储突触权重。然而,这类存储器有若干问题。第一,模拟存储器可能要求复杂的写入,即,可能要求对脉冲幅度和持续时间的精确控制。第二,存储器读取也可能需要是复杂的,例如,可能要求在从存储器中读取时对所存储的值进行数字化。第三,对模拟多级存储器进行高效克隆或许是不可能的。第四,模拟存储器常常具有差的保持性和可靠性。
按概率性方式利用存储器的方法
为减少每突触权重的比特数以及存储权重的存储器的功耗,本公开中提议了一种按概率性方式利用存储器的方法。根据本公开的某些方面,可将突触权重(例如,来自图1的权重1061-106N)表示成存储器位置的二进制状态(即,可只将0和1存储在存储器位置中)。
在神经网络的训练期间,可以根据权重学习规则(例如,STDP规则、Hebb规则、Oja规则、或BCM规则)来计算对于神经网络中多个突触中的每个突触的权重的更新。随后,可基于各权重更新按概率性方式来切换与多个突触相关联的存储器位置的二进制状态。在许多训练事件之后,每个权重处于这两个状态之一(0或1)的概率可与该权重的总更新成比例,即,与最终权重成比例。
应注意,用二进制值表示突触权重是可能的,这是因为实验数据指示生物突触可能趋于具有权重的双峰分布。此外,二进制突触可被存储在一比特存储器中,从而允许给定容量的存储器中存储更多突触。按概率性方式存储突触权重可促成对突触训练事件的时间平均,即,经训练的存储器状态可示出多个训练事件的累积效应。
图2解说了根据本公开的某些方面的按概率性方式利用存储器来存储信息(例如,突触权重)的示例200。如图2中解说的,权重更新模块202可被配置成根据特定学习规则来计算与正被训练的神经网络的突触相关联的权重的更新204。
在本公开的一方面,接口模块206可被配置成基于权重的更新204用一定概率来生成信号208(例如,脉冲)。例如,脉冲的符号(正或负脉冲)可与权重更新204的符号相对应。存储器210内表示特定权重的存储器位置的二进制状态可基于脉冲208来切换(例如,从零变为一,或反之)。在一方面,切换方向可基于脉冲208的符号。应注意,存储神经网络的突触权重的存储器210可包括具有在存储器位置中的二进制值的完全确定性存储器,其中所存储的二进制值按概率性方式来获得。
通过应用该办法,存储器210的大小可以很小(例如,每突触权重一比特),这还可提供存储器功耗的降低。此外,存储器内容的加载和存储速度可以很快,这是因为每个突触权重可用一比特数来表示。
在本公开的另一方面,存储突触权重的存储器210可包括概率性非易失性二进制存储器。例如,概率性非易失性二进制存储器可基于磁性隧道结(MTJ)或自旋转移矩(STT)器件。这些器件可充当二进制电阻性开关,这些二进制电阻性开关从一个状态向另一状态的切换是一概率性事件,该概率性事件具有为写入电流/电压幅度和持续时间的函数的概率,如图3中解说的。在示例302、304中,通行电流306被用来切换磁化的方向。如图3中解说的,如果磁化方向处于平行状态(即,电流306因低电阻而可以容易地流过铁磁层),则二进制零可被存储在STT存储器的位置中。另一方面,如果磁化方向处于反向平行状态(即,因高电阻而致使电流306要流过铁磁层可能有某些困难),则二进制一可被存储在该存储器位置中。
根据某些方面,STT存储器可实现2:1的高电阻/低电阻比率(例如,比率为4KΩ/2KΩ)。此外,STT存储器可提供极好的保持性(例如,超过十年)和可靠性,而功耗可以非常低。然而,由于随机热效应,二进制状态之间的切换是概率性的。
应注意,STT存储器位置中的二进制内容的切换概率可取决于以下各项中的至少一项:写入电流的幅度(例如,幅度在0.1-10mA的范围中),或写入时间(例如,1-100ns)。如在图4A中的曲线图402中解说的,一旦写入电流(例如,来自图3的电流306)变得大于第一阈值(例如,图4A中解说的阈值ILH),MTJ电阻就会显著地增大(例如,从值404到值406),且对应存储器位置的值可切换到二进制一。此外,当写入电流变得小于第二阈值(例如,来自图4A的阈值IHL)时,MTL电阻就会变低(例如,从值408减小到值410),且对应存储器位置的值可切换到二进制零。
图4B解说了STT存储器中作为电流(脉冲)幅度和写入时间的函数的切换概率的曲线图412。从曲线图412可以观察到,较长写入时间可为较低电流幅度提供相同切换概率(例如,对于100ns写入时间的切换概率标绘414比之对于3ns写入时间的切换概率标绘416比之对于1ns写入时间的切换概率标绘418)。
回来参照图2,模块202可被配置成根据所选学习规则(例如,基于速率的学习规则或STDP规则)为每一权重计算突触权重更新204。在本公开的一方面,权重更新204的绝对值可(例如,由接口模块206)决定流经STT存储器设备210的写入电流212的幅度I写入。权重更新的符号可决定电流212的方向。
在本公开的一方面,可使用与权重更新204成比例的I写入将新突触权重写入STT存储器210中。正的I写入可以按一定概率将存储器位置的二进制值从零(突触权重的最小值)切换到一(突触权重的最大值)。在另一方面,负的I写入可以按一定概率将存储器位置的二进制值从一(突触权重的最大值)切换到零(突触权重的最小值)。
上述办法可实现每突触非常小的存储器大小(例如,每突触仅一个MTJ或STT)。这还可有助于降低突触权重存储器的功耗。此外,存储器操作可以非常简单,例如,二进制状态之间的切换仅用一定幅度和方向的写入电流就可实现。
图5解说了根据本公开的某些方面的按概率性方式利用存储器来存储信息的示例操作500。在502,对于神经网络中多个突触中的每个突触,可根据学习规则计算该突触的权重的更新。在504,可基于权重更新按概率性方式来切换存储器内与该突触相关联的位置的二进制状态。在一方面,神经网络可包括尖峰神经网络。在另一方面,神经网络可包括基于速率的神经网络。
在本公开的一方面,按概率性方式切换二进制状态可包括基于权重更新以一概率生成脉冲,并且使用该脉冲来切换存储器位置的二进制状态。例如,该概率可与权重更新的绝对值成比例,并且切换的方向可基于权重更新的符号。
在本公开的另一方面,权重更新的绝对值可决定流经存储器位置的电流的幅度,并且权重更新的符号可决定流经存储器位置的电流的方向。存储器位置的二进制状态可基于电流的方向以一概率进行切换。例如,该概率可与电流的幅度成比例。
在一方面,存储器可包括概率性非易失性二进制存储器。进一步,该概率性非易失性二进制存储器可包括STT存储器。
根据本公开的某些方面,上述学习规则可包括尖峰神经网络和基于速率的神经网络的权重学习规则。例如,尖峰神经网络和基于速率的神经网络的权重学习规则可包括以下各项中的至少一项:STDP规则、Hebb规则、Oja规则、或Bienenstock-Cooper-Munro(BCM)规则。
图6解说了根据本公开的某些方面的利用通用处理器602来实现上述概率性存储器使用的示例软件实现600。与计算网络(神经网络)的每个处理单元(神经元)相关联的现有权重可被存储在存储器块604中,而与正在通用处理器602处执行的概率性存储器使用有关的指令可从程序存储器606加载。根据本公开的某些方面,所加载的指令可包括用于以下操作的代码:对于神经网络中多个突触中的每个突触,根据学习规则计算该突触的权重的更新。此外,所加载的指令可包括用于以下操作的代码:对于这些突触中的每一者,基于权重的更新按概率性方式来切换存储器块604内与该突触相关联的位置的二进制状态。
图7解说了根据本公开的某些方面的上述概率性存储器使用的示例实现700,其中权重存储器702经由互连网络704与计算网络(神经网络)的各个体(分布式)处理单元(神经元)706对接。与处理单元706相关联的至少一个现有权重可经由互连网络704的(诸)连接从存储器702加载到该处理单元706中。处理单元706可被配置成对于神经网络中与该处理单元(神经元)706相关联的多个突触中的每个突触,根据学习规则计算该突触的权重的更新。此外,处理单元706可被配置成对于这些突触中的每一者,基于权重的更新按概率性方式来切换存储器702内与该突触相关联的位置的二进制状态。
图8解说了根据本公开的某些方面的基于分布式权重存储器802和分布式处理单元804的上述概率性存储器使用的示例实现800。如图8中所解说的,一个权重存储器组802可以与计算网络(神经网络)的一个处理单元(神经元)804直接对接,其中该存储器组802可存储与该处理单元804相关联的至少一个现有权重。处理单元804可被配置成对于神经网络中与该处理单元(神经元)804相关联的多个突触中的每个突触,根据学习规则计算该突触的权重的更新。此外,处理单元804可配置成对于这些突触中的每一者,基于权重的更新,按概率性方式切换存储器组802内与该特定处理单元(神经元)804相关联的该突触的存储器位置的二进制状态。
尽管针对尖峰神经网络示出了本文的各实施例,但将这些概念用于其他神经网络类型(包括但不限于基于速率的神经网络)同样在本公开的范围内。
以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。一般而言,在附图中解说操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。例如,图5中所解说的操作500对应于图5A中所解说的组件500A。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及类似动作等。而且,“确定”可包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)及类似动作等。而且,“确定”还可包括解析、选择、选取、确立及类似动作等。
如本文中所使用的,引述一列项目中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c、以及a-b-c。
上面描述的方法的各种操作可由能够执行这些操作的任何合适的装置来执行,诸如各种硬件和/或软件组件、电路、和/或模块。一般而言,在附图中所解说的任何操作可由能够执行这些操作的相对应的功能性装置来执行。
结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文所描述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器或任何其它此类配置。
结合本公开描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM,等等。软件模块可包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。
本文所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和蓝光碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可包括瞬态计算机可读介质(例如,信号)。以上的组合也应被包括在计算机可读介质的范围内。
因此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此种计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,计算机程序产品可包括包装材料。
软件或指令还可以在传输介质上传送。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波等无线技术从web站点、服务器或其它远程源传送而来的,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电以及微波等无线技术就被包括在传输介质的定义里。
此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文所述的各种方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘等物理存储介质等)来提供,以使得一旦将该存储装置耦合至或提供给用户终端和/或基站,该设备就能获得各种方法。此外,能利用适于向设备提供本文中所描述的方法和技术的任何其他合适的技术。
应该理解的是,权利要求并不被限定于以上所解说的精确配置和组件。可在以上所描述的方法和设备的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。
尽管上述内容针对本公开的各方面,然而可设计出本公开的其他和进一步的方面而不会脱离其基本范围,且其范围是由所附权利要求来确定的。

Claims (27)

1.一种在存储器中存储信息的方法,包括:
对于神经网络中多个突触中的每个突触,在多个训练事件之后,根据学习规则计算该突触的权重更新;以及
对于所述多个突触中的每一者,基于所述权重更新按概率性方式切换所述存储器内与这一突触相关联的位置的二进制状态,其中按概率性方式切换所述二进制状态包括:
基于所述权重更新以一概率生成脉冲或电流;以及
使用所述脉冲或所述电流来切换所述存储器位置的所述二进制状态。
2.如权利要求1所述的方法,其特征在于,所述概率与所述权重更新的绝对值成比例。
3.如权利要求1所述的方法,其特征在于,所述切换的方向基于所述权重更新的符号。
4.如权利要求1所述的方法,其特征在于:
所述权重更新的绝对值决定流经所述存储器位置的电流的幅度,
所述权重更新的符号决定流经所述存储器位置的电流的方向,并且所述方法还包括:
基于所述方向以一概率来切换所述存储器位置的二进制状态。
5.如权利要求4所述的方法,其特征在于,所述概率与所述电流的幅度成比例。
6.如权利要求1所述的方法,其特征在于,所述存储器包括概率性非易失性二进制存储器。
7.如权利要求6所述的方法,其特征在于,所述概率性非易失性二进制存储器包括自旋转移矩STT存储器。
8.如权利要求1所述的方法,其特征在于,所述学习规则包括尖峰神经网络和基于速率的神经网络的权重学习规则。
9.如权利要求8所述的方法,其特征在于,所述尖峰神经网络和基于速率的神经网络的权重学习规则包括以下各项中的至少一项:取决于尖峰定时的可塑性STDP规则、Hebb规则、Oja规则或Bienenstock-Cooper-Munro(BCM)规则。
10.一种用于在存储器中存储信息的装置,包括:
第一电路,所述第一电路被配置成对于神经网络中多个突触中的每个突触,在多个训练事件之后,根据学习规则计算该突触的权重更新;以及
第二电路,所述第二电路被配置成对于所述多个突触中的每一者,基于所述权重更新按概率性方式来切换所述存储器内与这一突触相关联的位置的二进制状态,其中所述第二电路还被配置成:
基于所述权重更新以一概率生成脉冲或电流;以及
使用所述脉冲或所述电流来切换所述存储器位置的二进制状态。
11.如权利要求10所述的装置,其特征在于,所述概率与所述权重更新的绝对值成比例。
12.如权利要求10所述的装置,其特征在于,所述切换的方向基于所述权重更新的符号。
13.如权利要求10所述的装置,其特征在于:
所述权重更新的绝对值决定流经所述存储器位置的电流的幅度,
所述权重更新的符号决定流经所述存储器位置的电流的方向,并且所述第二电路还被配置成:
基于所述方向以一概率来切换所述存储器位置的二进制状态。
14.如权利要求13所述的装置,其特征在于,所述概率与所述电流的幅度成比例。
15.如权利要求10所述的装置,其特征在于,所述存储器包括概率性非易失性二进制存储器。
16.如权利要求15所述的装置,其特征在于,所述概率性非易失性二进制存储器包括自旋转移矩STT存储器。
17.如权利要求10所述的装置,其特征在于,所述学习规则包括尖峰神经网络和基于速率的神经网络的权重学习规则。
18.如权利要求17所述的装置,其特征在于,所述尖峰神经网络和基于速率的神经网络的权重学习规则包括以下各项中的至少一项:取决于尖峰定时的可塑性STDP规则、Hebb规则、Oja规则或Bienenstock-Cooper-Munro(BCM)规则。
19.一种用于在存储器中存储信息的设备,包括:
用于对于神经网络中多个突触中的每个突触,在多个训练事件之后,根据学习规则计算该突触的权重更新的装置;以及
用于对于所述多个突触中的每一者,基于所述权重更新按概率性方式切换所述存储器内与这一突触相关联的位置的二进制状态的装置,其中用于按概率性方式切换所述二进制状态的装置包括:
用于基于所述权重更新以一概率生成脉冲或电流的装置;以及
用于使用所述脉冲或所述电流来切换所述存储器位置的二进制状态的装置。
20.如权利要求19所述的设备,其特征在于,所述概率与所述权重更新的绝对值成比例。
21.如权利要求19所述的设备,其特征在于,所述切换的方向基于所述权重更新的符号。
22.如权利要求19所述的设备,其特征在于:
所述权重更新的绝对值决定流经所述存储器位置的电流的幅度,
所述权重更新的符号决定流经所述存储器位置的电流的方向,并且所述设备还包括:
用于基于所述方向以一概率来切换所述存储器位置的二进制状态的装置。
23.如权利要求22所述的设备,其特征在于,所述概率与所述电流的幅度成比例。
24.如权利要求19所述的设备,其特征在于,所述存储器包括概率性非易失性二进制存储器。
25.如权利要求24所述的设备,其特征在于,所述概率性非易失性二进制存储器包括自旋转移矩STT存储器。
26.如权利要求19所述的设备,其特征在于,所述学习规则包括尖峰神经网络和基于速率的神经网络的权重学习规则。
27.如权利要求26所述的设备,其特征在于,所述尖峰神经网络和基于速率的神经网络的权重学习规则包括以下各项中的至少一项:取决于尖峰定时的可塑性STDP规则、Hebb规则、Oja规则或Bienenstock-Cooper-Munro(BCM)规则。
CN201280054886.7A 2011-11-09 2012-11-06 用于按概率性方式使用存储器来存储神经网络的突触权重的方法和装置 Expired - Fee Related CN103917992B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/292,161 2011-11-09
US13/292,161 US9111222B2 (en) 2011-11-09 2011-11-09 Method and apparatus for switching the binary state of a location in memory in a probabilistic manner to store synaptic weights of a neural network
PCT/US2012/063719 WO2013070612A1 (en) 2011-11-09 2012-11-06 Method and apparatus for using memory in probabilistic manner to store synaptic weights of neural network

Publications (2)

Publication Number Publication Date
CN103917992A CN103917992A (zh) 2014-07-09
CN103917992B true CN103917992B (zh) 2017-10-20

Family

ID=47459084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280054886.7A Expired - Fee Related CN103917992B (zh) 2011-11-09 2012-11-06 用于按概率性方式使用存储器来存储神经网络的突触权重的方法和装置

Country Status (8)

Country Link
US (1) US9111222B2 (zh)
EP (1) EP2776988B1 (zh)
JP (1) JP5989790B2 (zh)
KR (1) KR101611222B1 (zh)
CN (1) CN103917992B (zh)
IN (1) IN2014CN03106A (zh)
TW (1) TWI480813B (zh)
WO (1) WO2013070612A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542643B2 (en) * 2013-05-21 2017-01-10 Qualcomm Incorporated Efficient hardware implementation of spiking networks
US9305256B2 (en) * 2013-10-02 2016-04-05 Qualcomm Incorporated Automated method for modifying neural dynamics
US10373050B2 (en) * 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
US10049322B2 (en) * 2015-05-21 2018-08-14 Google Llc Prefetching weights for use in a neural network processor
US20170083813A1 (en) * 2015-09-23 2017-03-23 Charles Augustine Electronic neural network circuit having a resistance based learning rule circuit
US10387778B2 (en) * 2015-09-29 2019-08-20 International Business Machines Corporation Scalable architecture for implementing maximization algorithms with resistive devices
US9734880B1 (en) * 2016-04-01 2017-08-15 Intel Corporation Apparatuses, methods, and systems for stochastic memory circuits using magnetic tunnel junctions
CN107368888B (zh) * 2016-05-11 2021-05-25 上海磁宇信息科技有限公司 类脑计算系统及其突触
GB2552014B (en) 2016-07-07 2020-05-13 Advanced Risc Mach Ltd Reconfigurable artificial neural networks comprising programmable non-volatile memory elements
JP6724646B2 (ja) * 2016-08-10 2020-07-15 Tdk株式会社 磁気抵抗効果素子、熱履歴センサおよびスピングラス利用型磁気メモリ
US11263521B2 (en) 2016-08-30 2022-03-01 International Business Machines Corporation Voltage control of learning rate for RPU devices for deep neural network training
JP6743641B2 (ja) * 2016-10-18 2020-08-19 Tdk株式会社 磁場変調機構、磁場変調素子、アナログメモリ素子、及び、高周波フィルタ
EP3324343A1 (en) * 2016-11-21 2018-05-23 Centre National de la Recherche Scientifique Unsupervised detection of repeating patterns in a series of events
KR102656190B1 (ko) 2016-11-24 2024-04-11 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법
CN108154226B (zh) * 2016-12-06 2021-09-03 上海磁宇信息科技有限公司 一种使用模拟计算的神经网络芯片
CN108154225B (zh) * 2016-12-06 2021-09-03 上海磁宇信息科技有限公司 一种使用模拟计算的神经网络芯片
CN107103358A (zh) * 2017-03-24 2017-08-29 中国科学院计算技术研究所 基于自旋转移力矩磁存储器的神经网络处理方法及系统
WO2018182694A1 (en) * 2017-03-31 2018-10-04 Intel Corporation Methods and apparatus for magnetoelectric neurons in neural networks
US10534996B2 (en) * 2017-04-03 2020-01-14 Gyrfalcon Technology Inc. Memory subsystem in CNN based digital IC for artificial intelligence
US10552733B2 (en) * 2017-04-03 2020-02-04 Gyrfalcon Technology Inc. Memory subsystem in CNN based digital IC for artificial intelligence
US10331367B2 (en) * 2017-04-03 2019-06-25 Gyrfalcon Technology Inc. Embedded memory subsystems for a CNN based processing unit and methods of making
US10331368B2 (en) * 2017-04-03 2019-06-25 Gyrfalcon Technology Inc. MLC based magnetic random access memory used in CNN based digital IC for AI
US10296824B2 (en) * 2017-04-03 2019-05-21 Gyrfalcon Technology Inc. Fabrication methods of memory subsystem used in CNN based digital IC for AI
US10331999B2 (en) * 2017-04-03 2019-06-25 Gyrfalcon Technology Inc. Memory subsystem in CNN based digital IC for artificial intelligence
US10546234B2 (en) * 2017-04-03 2020-01-28 Gyrfalcon Technology Inc. Buffer memory architecture for a CNN based processing unit and creation methods thereof
KR20180116671A (ko) 2017-04-17 2018-10-25 에스케이하이닉스 주식회사 감산기를 가진 포스트-시냅틱 뉴런을 포함하는 뉴로모픽 소자 및 뉴로모픽 소자의 시냅스 네트워크
TWI625681B (zh) 2017-05-11 2018-06-01 國立交通大學 神經網路處理系統
KR102534917B1 (ko) * 2017-08-16 2023-05-19 에스케이하이닉스 주식회사 신경망 처리 회로를 구비하는 메모리 장치 및 이를 포함하는 메모리 시스템
TWI653584B (zh) 2017-09-15 2019-03-11 中原大學 利用非揮發性記憶體完成類神經網路訓練的方法
US11556343B2 (en) 2017-09-22 2023-01-17 International Business Machines Corporation Computational method for temporal pooling and correlation
US11301753B2 (en) 2017-11-06 2022-04-12 Samsung Electronics Co., Ltd. Neuron circuit, system, and method with synapse weight learning
US11138493B2 (en) 2017-12-22 2021-10-05 International Business Machines Corporation Approaching homeostasis in a binary neural network
CN108053029B (zh) * 2017-12-27 2021-08-27 上海闪易半导体有限公司 一种基于存储阵列的神经网络的训练方法
US11321608B2 (en) 2018-01-19 2022-05-03 International Business Machines Corporation Synapse memory cell driver
KR102117658B1 (ko) 2018-04-05 2020-06-01 광운대학교 산학협력단 뉴로모픽 시스템에 적용가능한 멤리스터 및 용액 공정에 기반한 금속산화물을 포함하는 멤리스터의 제조 방법
US11200484B2 (en) 2018-09-06 2021-12-14 International Business Machines Corporation Probability propagation over factor graphs
US11599785B2 (en) 2018-11-13 2023-03-07 International Business Machines Corporation Inference focus for offline training of SRAM inference engine in binary neural network
CN110135571B (zh) * 2019-04-11 2023-09-29 上海集成电路研发中心有限公司 一种基于细胞突触结构的单层线性神经网络
KR102314079B1 (ko) * 2019-05-23 2021-10-18 포항공과대학교 산학협력단 퓨즈 소자를 이용한 인공 신경망 하드웨어 시스템 및 이를 이용한 가지치기 방법
JP7383528B2 (ja) * 2020-03-03 2023-11-20 株式会社東芝 スパイキングニューラルネットワーク装置およびスパイキングニューラルネットワーク装置の学習方法
CN113496273B (zh) * 2020-04-03 2024-05-14 中国科学院苏州纳米技术与纳米仿生研究所 磁性隧道结以及神经元非线性响应器件
US11556790B2 (en) 2020-09-30 2023-01-17 Micron Technology, Inc. Artificial neural network training in memory
KR102515089B1 (ko) * 2020-10-22 2023-03-27 경북대학교 산학협력단 초저전력 소비를 위한 스파이킹 뉴럴 네트워크(snn) 하드웨어의 동작 방법, 이를 수행하기 위한 회로

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1628322A (zh) * 2002-02-05 2005-06-15 西门子公司 使用含有受脉冲作用的神经元网络对网络通信的业务量动态特性进行分类的方法
CN101971166A (zh) * 2008-03-14 2011-02-09 惠普开发有限公司 神经形态电路

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3341823A (en) 1965-01-07 1967-09-12 Melpar Inc Simplified statistical switch
US4904881A (en) * 1989-02-10 1990-02-27 Intel Corporation EXCLUSIVE-OR cell for neural network and the like
US4999525A (en) * 1989-02-10 1991-03-12 Intel Corporation Exclusive-or cell for pattern matching employing floating gate devices
EP0591279A1 (en) * 1991-06-21 1994-04-13 University College London Devices for use in neural processing
WO1993018474A1 (en) 1992-03-11 1993-09-16 University College London Devices for use in neural processing
US7034701B1 (en) 2000-06-16 2006-04-25 The United States Of America As Represented By The Secretary Of The Navy Identification of fire signatures for shipboard multi-criteria fire detection systems
US6948102B2 (en) 2002-04-29 2005-09-20 International Business Machines Corporation Predictive failure analysis for storage networks
US6844582B2 (en) 2002-05-10 2005-01-18 Matsushita Electric Industrial Co., Ltd. Semiconductor device and learning method thereof
US6999953B2 (en) 2002-07-03 2006-02-14 Energy Conversion Devices, Inc. Analog neurons and neurosynaptic networks
US7502769B2 (en) 2005-01-31 2009-03-10 Knowmtech, Llc Fractal memory and computational methods and systems based on nanotechnology
US7930257B2 (en) 2007-01-05 2011-04-19 Knowm Tech, Llc Hierarchical temporal memory utilizing nanotechnology
US7962429B2 (en) 2007-05-24 2011-06-14 Paul Adams Neuromorphic device for proofreading connection adjustments in hardware artificial neural networks
TW200923803A (en) 2007-11-26 2009-06-01 Univ Nat Taipei Technology Hardware neural network learning and recall architecture
TW200924426A (en) 2007-11-26 2009-06-01 Chunghwa Telecom Co Ltd Intrusion detection method using multi-layer artificial neural network
TW201010407A (en) 2008-08-19 2010-03-01 Univ Nat Kaohsiung Applied Sci Color image noise reduction method using particle swarm optimization and cellular neural network
US7978510B2 (en) * 2009-03-01 2011-07-12 International Businesss Machines Corporation Stochastic synapse memory element with spike-timing dependent plasticity (STDP)
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
US8200371B2 (en) 2009-06-25 2012-06-12 Qualcomm Incorporated Prediction engine to control energy consumption
TWI391699B (zh) 2009-11-27 2013-04-01 Univ Shu Te 使用改良式機率類神經網路之定位方法
US9342780B2 (en) * 2010-07-30 2016-05-17 Hewlett Packard Enterprise Development Lp Systems and methods for modeling binary synapses
US8856055B2 (en) 2011-04-08 2014-10-07 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1628322A (zh) * 2002-02-05 2005-06-15 西门子公司 使用含有受脉冲作用的神经元网络对网络通信的业务量动态特性进行分类的方法
CN101971166A (zh) * 2008-03-14 2011-02-09 惠普开发有限公司 神经形态电路

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Novel Nonvolatile Memory with Spin Torque Transfer Magnetization Switching:Spin-RAM;Hosomi M etal;《Electron Devices Meeting》;20051205;第459-462页 *
Discrete States of Synaptic Strength in a Stochastic Model of Spike-Timing-Dependent Plasticity;Terry Elliott etal;《Neural Computation》;20100131;第22卷(第1期);第244-249,264-267页 *

Also Published As

Publication number Publication date
US20130117209A1 (en) 2013-05-09
KR20140092877A (ko) 2014-07-24
IN2014CN03106A (zh) 2015-08-14
TW201329878A (zh) 2013-07-16
EP2776988B1 (en) 2019-04-17
KR101611222B1 (ko) 2016-04-11
CN103917992A (zh) 2014-07-09
US9111222B2 (en) 2015-08-18
JP2015501972A (ja) 2015-01-19
JP5989790B2 (ja) 2016-09-07
WO2013070612A1 (en) 2013-05-16
EP2776988A1 (en) 2014-09-17
TWI480813B (zh) 2015-04-11

Similar Documents

Publication Publication Date Title
CN103917992B (zh) 用于按概率性方式使用存储器来存储神经网络的突触权重的方法和装置
Wirsansky Hands-on genetic algorithms with Python: applying genetic algorithms to solve real-world deep learning and artificial intelligence problems
Hassan et al. Magnetic domain wall neuron with lateral inhibition
CN105224986B (zh) 基于忆阻器件的深度神经网络系统
Chen et al. Technology-design co-optimization of resistive cross-point array for accelerating learning algorithms on chip
CN104798088B (zh) 分段线性神经元建模
Tang et al. Research into container reshuffling and stacking problems in container terminal yards
CN106068519B (zh) 用于共用神经元模型的高效实现的方法和装置
CN103620624B (zh) 用于导致稀疏连通性的局部竞争性学习规则的方法和装置
JP2018014114A (ja) ニューロプロセッサにおける交換可能なシナプス荷重記憶装置に関する方法及びシステム
Yakopcic et al. Memristor‐based neuron circuit and method for applying learning algorithm in SPICE
Yakopcic et al. Energy efficient perceptron pattern recognition using segmented memristor crossbar arrays
Du et al. Identification of fractional-order systems with unknown initial values and structure
Cao et al. Anti-synchronization of delayed memristive neural networks with leakage term and reaction–diffusion terms
Rzeszut et al. Multi-state MRAM cells for hardware neuromorphic computing
Yakopcic et al. Determining optimal switching speed for memristors in neuromorphic system
CN105659261A (zh) 尖峰神经元网络中的拥塞避免
Guo et al. Unsupervised adaptive weight pruning for energy-efficient neuromorphic systems
Chen et al. A new genetic algorithm for community detection using matrix representation method
CN108154226A (zh) 一种使用模拟计算的神经网络芯片
CN108513042A (zh) 用于图像处理的装置
CN109829216A (zh) 一种用于电力系统实时仿真的间隔单元模型等效方法
Zhang Behavioural equivalence of game descriptions
CN109788049A (zh) 信息推送方法、装置、电子设备及介质
Cardwell et al. Mosaics a technique to make neuromorphic computing scalable adaptive and flexible.

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171020

Termination date: 20191106