JP5989790B2 - ニューラルネットワークのシナプス重みを記憶するために確率的方法でメモリを使用するための方法および装置 - Google Patents

ニューラルネットワークのシナプス重みを記憶するために確率的方法でメモリを使用するための方法および装置 Download PDF

Info

Publication number
JP5989790B2
JP5989790B2 JP2014541162A JP2014541162A JP5989790B2 JP 5989790 B2 JP5989790 B2 JP 5989790B2 JP 2014541162 A JP2014541162 A JP 2014541162A JP 2014541162 A JP2014541162 A JP 2014541162A JP 5989790 B2 JP5989790 B2 JP 5989790B2
Authority
JP
Japan
Prior art keywords
memory
update
rule
weights
weight
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
JP2014541162A
Other languages
English (en)
Other versions
JP2015501972A (ja
Inventor
アパリン、ブラディミル
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 JP2015501972A publication Critical patent/JP2015501972A/ja
Application granted granted Critical
Publication of JP5989790B2 publication Critical patent/JP5989790B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)

Description

本開示のいくつかの態様は、一般に、ニューラルシステム工学に関し、より詳細には、ニューラルネットワークのシナプス重みに関する情報を記憶するために確率的方法でメモリを利用するための方法および装置に関する。
ニューラルネットワークは何十万ものシナプスを有することができ、シナプスの重みがネットワークトレーニング中に学習され得る。トレーニングの過程で、重みは、一般に、ランダム値で初期化され、小さい増分で変更される。しばしば、シナプス重みは、マルチビットまたはマルチレベルメモリに記憶される。しかしながら、多くの場合、重みは、2つの値のうちの1つに安定し得る(重みの双峰分布(bimodal distribution))。したがって、最終2値重みを記憶するためにマルチビットメモリを使用することは、記憶リソースの浪費であり得る。さらに、ネットワークトレーニングまたはネットワーク動作中にマルチビットシナプスメモリをアドレス指定することは、速度のボトルネックになり得る。
[0003]本開示のいくつかの態様は、メモリに情報を記憶する方法を提供する。本方法は、概して、ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算することと、シナプスの各々について確率的方法で、重みの更新に基づいてそのシナプスに関連するメモリ内のロケーションの2値状態を切り替えることとを含む。
[0004]本開示のいくつかの態様は、メモリに情報を記憶するための装置を提供する。本装置は、概して、ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算するように構成された第1の回路と、シナプスの各々について確率的方法で、重みの更新に基づいてそのシナプスに関連するメモリ内のロケーションの2値状態を切り替えるように構成された第2の回路とを含む。
[0005]本開示のいくつかの態様は、メモリに情報を記憶するための装置を提供する。本装置は、概して、ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算する手段と、シナプスの各々について確率的方法で、重みの更新に基づいてそのシナプスに関連するメモリ内のロケーションの2値状態を切り替える手段とを含む。
[0006]本開示のいくつかの態様は、メモリに情報を記憶するためのコンピュータプログラム製品を提供する。本コンピュータプログラム製品は、概して、ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算することと、シナプスの各々について確率的方法で、重みの更新に基づいてそのシナプスに関連するメモリ内のロケーションの2値状態を切り替えることとを行うためのコードを備えるコンピュータ可読媒体を含む。
[0007]本開示の上述の特徴を詳細に理解することができるように、添付の図面にその一部を示す態様を参照することによって、上記で簡単に要約したより具体的な説明が得られ得る。ただし、その説明は他の等しく有効な態様に通じ得るので、添付の図面は、本開示のいくつかの典型的な態様のみを示し、したがって、本開示の範囲を限定するものと見なすべきではないことに留意されたい。
本開示のいくつかの態様による、ニューラルシステムの例示的な処理ユニットを示す図。 本開示のいくつかの態様による、確率的方法で情報を記憶するためにメモリを利用する一例を示す図。 本開示のいくつかの態様による、スピントルクトランスファー(STT:spin-torque transfer)メモリの一例を示す図。 本開示のいくつかの態様による、STTメモリの確率的切替えに関係する例示的なグラフを示す図。 本開示のいくつかの態様による、STTメモリの確率的切替えに関係する例示的なグラフを示す図。 本開示の特定の態様による、確率的方法でメモリを使用するための例示的な動作を示す図。 図5に示す動作を実行することが可能な例示的な構成要素を示す図。 本開示のいくつかの態様による、汎用プロセッサを利用した確率的メモリ使用の例示的なソフトウェア実装形態を示す図。 本開示のいくつかの態様による、重みメモリが個々の分散処理ユニットとインターフェースされる確率的メモリ使用の例示的な実装形態を示す図。 本開示のいくつかの態様による、分散重みメモリと分散処理ユニットとに基づく確率的メモリ使用の例示的な実装形態を示す図。
[0017]添付の図面を参照しながら本開示の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造または機能に限定されるものと解釈すべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように与えるものである。本明細書の教示に基づいて、本開示の範囲は、本開示の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示する本開示のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載の態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、本明細書に記載の本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示する本開示のいずれの態様も、請求項の1つまたは複数の要素によって実施され得ることを理解されたい。
[0018]「例示的」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用する。本明細書で「例示的」として説明するいかなる態様も、必ずしも他の態様よりも好適または有利であると解釈すべきではない。
[0019]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々な技術、システム構成、ネットワーク、およびプロトコルに広く適用可能であるものとし、そのうちのいくつかを例として図および好ましい態様についての以下の説明で示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
例示的なニューラルシステム
[0020]図1に、本開示のいくつかの態様による、計算ネットワーク(たとえば、ニューラルシステムまたはニューラルネットワーク)の処理ユニット(たとえば、ニューロン)102の一例100を示す。ニューロン102は、ニューラルシステムの外部にある信号、または同じニューラルシステムの他のニューロンによって生成された信号、またはその両方であり得る、複数の入力信号1041〜104N(x1〜xN)を受信し得る。入力信号は、電流または電圧、実数値または複素数値であり得る。入力信号は、固定小数点表現または浮動小数点表現をもつ数値を備え得る。これらの入力信号は、調整可能なシナプス重み1061〜106N(w1〜wN)に従って信号をスケーリングするシナプス結合を通してニューロン102に伝えられ得、Nはニューロン102の入力接続の総数であり得る。
[0021]ニューロン102は、スケーリングされた入力信号を合成(combine)し、合成された、スケーリングされた入力を使用して、出力信号108(すなわち、信号y)を生成し得る。出力信号108は、電流または電圧、実数値または複素数値であり得る。出力信号は、固定小数点表現または浮動小数点表現をもつ数値を備え得る。出力信号108は、次いで、同じニューラルシステムの他のニューロンへの入力信号として、または同じニューロン102への入力信号として、またはニューラルシステムの出力として伝達され得る。
[0022]処理ユニット(ニューロン)102は電気回路によってエミュレートされ得、それの入力および出力接続は、シナプス回路をもつワイヤによってエミュレートされ得る。処理ユニット102、それの入力および出力接続はまた、ソフトウェアコードによってエミュレートされ得る。処理ユニット102はまた、電気回路によってエミュレートされ得るが、それの入力および出力接続はソフトウェアコードによってエミュレートされ得る。本開示の一態様では、計算ネットワーク中の処理ユニット102はアナログ電気回路を備え得る。別の態様では、処理ユニット102はデジタル電気回路を備え得る。さらに別の態様では、処理ユニット102は、アナログ構成要素とデジタル構成要素の両方をもつ混合信号電気回路を備え得る。計算ネットワークは、上述の形態のいずれかにおける処理ユニットを備え得る。そのような処理ユニットを使用した計算ネットワーク(ニューラルシステムまたはニューラルネットワーク)は、画像およびパターン認識、機械学習、モータ制御など、広い範囲の適用例において利用され得る。
[0023]ニューラルネットワークのトレーニングの過程で、シナプス重み(たとえば、図1からの重み1061〜106N)は、ランダム値で初期化され、学習ルール(たとえば、スパイクタイミング依存可塑性(STDP:spike-timing-dependent plasticity)学習ルール、Hebbルール、Ojaルール、Bienenstock−Copper−Munro(BCM)ルールなど)に従って小さい増分で変更され得る。頻繁に、重みは、2つの値のうちの1つに安定し得る(すなわち、重みの双峰分布)。本開示のいくつかの態様は、これを利用して、シナプス重み当たりのビット数を低減し、シナプス重みを記憶するメモリから/への読取りおよび書込みの速度を増加させ、メモリの電力消費量を低減する。
[0024]一態様では、マルチビットメモリは、シナプス重みを記憶するために採用され得る。この種類のメモリは、所与の容量のメモリに記憶されるシナプス重みの数を低減し得る。しかしながら、重み当たりにいくつかのビットの読取りまたは書込みを行う必要があり得るので、シナプス重みの読取りおよび書込みはより遅くなり得る。
[0025]別の態様では、(たとえば、メモリスタ(memristor)に基づく)アナログマルチレベルメモリは、シナプス重みを記憶するために利用され得る。ただし、この種類のメモリに関するいくつかの問題がある。第1に、アナログメモリは精巧な書込みを必要とし得、すなわち、パルスの大きさ(magnitude)と持続時間との正確な制御が必要とされ得る。第2に、メモリの読取りも精巧である必要があり得、たとえば、メモリから読み取られるときの記憶された値のデジタル化が必要とされ得る。第3に、アナログマルチレベルメモリの効率的なクローニングは可能でないことがある。第4に、アナログメモリは、しばしば、保持力および信頼性が低いことがある。
確率的方法でメモリを利用する方法
[0026]シナプス重み当たりのビット数を低減し、重みを記憶するメモリの電力消費量を低減するために、本開示では、確率的方法でメモリを利用する方法を提案する。本開示のいくつかの態様によれば、シナプス重み(たとえば、図1からの重み1061〜106N)は、メモリロケーションの2値状態として表され得る(すなわち、0および1のみがメモリロケーションに記憶され得る)。
[0027]ニューラルネットワークのトレーニング中に、ニューラルネットワーク中の複数のシナプスの各シナプスについての重みの更新が、重み学習ルール(たとえば、STDPルール、Hebbルール、Ojaルール、またはBCMルール)に従って計算され得る。次いで、複数のシナプスに関連するメモリロケーションの2値状態は、重み更新に基づいて確率的方法で切り替えられ得る。多くのトレーニングイベントの後に、各重みが2つの状態(0または1)のうちの1つである確率は、この重みの総更新に比例し得る、すなわち、最終重みに比例し得る。
[0028]実験データは、生物シナプスが重みの双峰分布を有する傾向があり得ることを示すので、2進値でシナプス重みを表すことが可能であることに留意されたい。さらに、2値シナプスは1ビットメモリに記憶され、より多くのシナプスを所与の容量メモリに記憶することが可能になり得る。確率的方法でのシナプス重みの記憶は、シナプストレーニングイベントの時間平均化を可能にし得、すなわち、トレーニングされたメモリ状態は、複数のトレーニングイベントの累積影響を示し得る。
[0029]図2に、本開示のいくつかの態様による、確率的方法で情報(たとえば、シナプス重み)を記憶するためにメモリを利用する一例200を示す。図2に示すように、重み更新モジュール202は、特定の学習ルールに従ってトレーニングされているニューラルネットワークのシナプスに関連する重みの更新204を計算するように構成され得る。
[0030]本開示の一態様では、インターフェースモジュール206は、ある確率で、重みの更新204に基づいて信号208(たとえば、パルス)を生成するように構成され得る。たとえば、パルス(正または負のパルス)の符号は、重み更新204の符号に対応し得る。特定の重みを表すメモリ210内のメモリロケーションの2値状態は、パルス208に基づいて切り替えられ得る(すなわち、0から1に、またはその逆に変更され得る)。一態様では、切替え方向は、パルス208の符号に基づき得る。ニューラルネットワークのシナプス重みを記憶するメモリ210は、メモリロケーション中に2進値をもつ完全に確定的なメモリを備え得、記憶された2進値は確率的方法で取得されることに留意されたい。
[0031]この手法を適用することによって、メモリ210のサイズが小さくなり得(たとえば、シナプス重み当たり1ビット)、それにより、メモリ電力消費量も低減し得る。さらに、各シナプス重みを1ビットの数で表すことができるので、メモリ内容のローディングおよび記憶の速度は高速であり得る。
[0032]本開示の別の態様では、シナプス重みを記憶するメモリ210は、確率的不揮発性2値メモリを備え得る。たとえば、確率的不揮発性2値メモリは、磁気トンネル接合(MTJ:magnetic tunnel junction)デバイスまたはスピントルクトランスファー(STT:spin torque transfer)デバイスに基づき得る。これらのデバイスは2値抵抗(binary resistive)スイッチとして働くことができ、1つの状態から別の状態への2値抵抗スイッチの切替えは、図3に示すように、書込み電流/電圧の大きさ(magnitude)と持続時間(duration)との関数である確率をもつ確率的イベントである。例302、304では、通過電流306は、磁化の方向を切り替えるために使用され得る。図3に示すように、磁化の方向が並列状態(parallel state)である(すなわち、低抵抗のために電流306が(複数の)強磁性層中を容易に流れ得る)場合、2進数の0がSTTメモリのロケーションに記憶され得る。一方、磁化の方向が逆並列状態(anti-parallel state)である(すなわち、高抵抗により電流306が(複数の)強磁性層中を流れるのに一定の困難を伴い得る)場合、2進数の1がメモリロケーションに記憶され得る。
[0033]いくつかの態様によれば、STTメモリは、2:1の高抵抗/低抵抗比(たとえば、4KΩ/2KΩ)を達成し得る。さらに、STTメモリは、優れた保持力(たとえば、10年よりも長い)および信頼性を与え得るが、電力消費量は極めて低いことがある。ただし、2値状態間の切替えは、ランダム熱効果(random thermal effects)により確率的である。
[0034]STTメモリロケーションにおける2値コンテンツの切替えの確率は、書込み電流の大きさ(たとえば、0.1〜10mAの範囲の大きさ)、または書込み時間(たとえば、1〜100ns)のうちの少なくとも1つに依存し得ることに留意されたい。図4A中のグラフ402に示すように、書込み電流(たとえば、図3からの電流306)が第1のしきい値(たとえば、図4Aに示すしきい値ILH)よりも大きくなると、MTJ抵抗は(たとえば、値404から値406に)実質的に増加し得、対応するメモリロケーションの値は2進数の1に切り替わり得る。さらに、書込み電流が第2のしきい値(たとえば、図4Aからのしきい値IHL)より小さくなると、MTL抵抗は、低くなり得(たとえば、値408から値410まで減少し得)、対応するメモリロケーションの値は2進数の0に切り替わり得る。
[0035]図4Bに、電流(パルス)振幅と書込み時間とに応じたSTTメモリ中の切替え確率のグラフ412を示す。より長い書込み時間が、より低い電流大きさに対して同じ切替え確率を与え得る(たとえば、100nsの書込み時間のための切替え確率プロット414対3nsの書込み時間のための切替え確率プロット416対1nsの書込み時間のための切替え確率プロット418)ことが、グラフ412から観察され得る。
[0036]再び図2を参照すると、モジュール202は、選定された学習ルール(たとえば、レートベース学習ルールまたはSTDPルール)に従って各重みについてシナプス重み更新204を計算するように構成され得る。本開示の一態様では、重み更新204の絶対値は、(たとえば、インターフェースモジュール206によって)STTメモリデバイス210中を流れる書込み電流212の大きさIwriteを決定し得る。重み更新の符号は、電流212の方向を決定し得る。
[0037]本開示の一態様では、新しいシナプス重みは、Iwriteが重み更新204に比例することを使用してSTTメモリ210に書き込まれ得る。正のIwriteは、ある確率で0(シナプス重みの最小値)から1(シナプス重みの最大値)にメモリロケーションの2進値を切り替え得る。一方、負のIwriteは、ある確率で1(シナプス重みの最大値)から0(シナプス重みの最小値)にメモリロケーションの2進値を切り替え得る。
[0038]上述の手法は、シナプス当たりのメモリのサイズを極めて小さくすること(たとえば、シナプス当たりにただ1つのMTJまたはSTT)を達成し得る。これはまた、シナプス重みメモリの電力消費量を低減するのに役立ち得る。さらに、メモリ動作が非常に単純であり得、たとえば、2値状態間の切替えが、ある大きさおよび方向の書込み電流だけで達成され得る。
[0039]図5に、本開示の特定の態様による、情報を記憶するために確率的方法でメモリを利用するための例示的な動作500を示す。502において、ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算し得る。504において、重みの更新に基づいてそのシナプスに関連するメモリ内のロケーションの2値状態が、確率的方法で切り替えられ得る。一態様では、ニューラルネットワークは、スパイキング(spiking)ニューラルネットワークを備え得る。別の態様では、ニューラルネットワークは、レートベースニューラルネットワークを備え得る。
[0040]本開示の一態様では、確率的方法で2値状態を切り替えることは、ある確率で、重みの更新に基づいてパルスを生成することと、パルスを使用してメモリロケーションの2値状態を切り替えることとを備え得る。たとえば、確率は、重みの更新の絶対値に比例し得、切替えの方向は、重みの更新の符号に基づき得る。
[0041]本開示の別の態様では、重みの更新の絶対値は、メモリロケーション中を流れる電流の大きさを決定し得、重みの更新の符号は、メモリロケーション中を流れる電流の方向を決定し得る。メモリロケーションの2値状態は、電流の方向に基づいて、ある確率で切り替えられ得る。たとえば、確率は、電流の大きさに比例し得る。
[0042]一態様では、メモリは確率的不揮発性2値メモリを備え得る。さらに、確率的不揮発性2値メモリはSTTメモリを備え得る。
[0043]本開示のいくつかの態様によれば、上述の学習ルールは、スパイキングおよびレートベースニューラルネットワークの重み学習ルールを備え得る。たとえば、スパイキングおよびレートベースニューラルネットワークの重み学習ルールは、STDPルール、Hebbルール、Ojaルール、またはBienenstock−Cooper−Munro(BCM)ルールのうちの少なくとも1つを備え得る。
[0044]図6に、本開示のいくつかの態様による、汎用プロセッサ602を利用した前述の確率的メモリ使用の例示的なソフトウェア実装形態600を示す。汎用プロセッサ602において実行される確率的メモリ使用に関係する命令がプログラムメモリ606からロードされ得る間、計算ネットワーク(ニューラルネットワーク)の各処理ユニット(ニューロン)に関連する既存の重みがメモリブロック604に記憶され得る。本開示のいくつかの態様によれば、ロードされた命令は、ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算するためのコードを備え得る。さらに、ロードされた命令は、シナプスの各々について確率的方法で、重みの更新に基づいてそのシナプスに関連するメモリブロック604内のロケーションの2値状態を切り替えるためのコードを備え得る。
[0045]図7に、本開示のいくつかの態様による、重みメモリ702が、計算ネットワーク(ニューラルネットワーク)の個々の(分散)処理ユニット(ニューロン)706をもつ相互接続ネットワーク704を介してインターフェースされる、上述の確率的メモリ使用の例示的な実装形態700を示す。処理ユニット706に関連する少なくとも1つの既存の重みが、その処理ユニット706に相互接続ネットワーク704の(1つまたは複数の)接続を介してメモリ702からロードされ得る。処理ユニット706は、その処理ユニット(ニューロン)706に関連するニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算するように構成され得る。さらに、処理ユニット706は、シナプスの各々について確率的方法で、重みの更新に基づいてそのシナプスに関連するメモリ702内のロケーションの2値状態を切り替えるように構成され得る。
[0046]図8に、本開示のいくつかの態様による、分散重みメモリ802と分散処理ユニット804とに基づく上述の確率的メモリ使用の例示的な実装形態800を示す。図8に示すように、1つの重みメモリバンク802は、計算ネットワーク(ニューラルネットワーク)の1つの処理ユニット(ニューロン)804と直接インターフェースされ得、そのメモリバンク802は、その処理ユニット804に関連する少なくとも1つの既存の重みを記憶し得る。処理ユニット804は、その処理ユニット(ニューロン)804に関連するニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算するように構成され得る。さらに、処理ユニット804は、シナプスの各々について確率的方法で、重みの更新に基づいて、その特定の処理ユニット(ニューロン)804に関連するメモリバンク802内のそのシナプスのためのメモリロケーションの2値状態を切り替えるように構成され得る。
[0047]本明細書の実施形態はスパイキングニューラルネットワークについて示すが、限定はしないが、レートベースニューラルネットワークを含む他のニューラルネットワークタイプへのこれらの概念の使用も本開示の範囲内にある。
[0048]上記で説明した方法の様々な動作は、対応する機能を実行することが可能な任意の好適な手段によって実行され得る。それらの手段は、限定はしないが、回路、特定用途向け集積回路(ASIC)、またはプロセッサを含む、様々な(1つまたは複数の)ハードウェアおよび/またはソフトウェア構成要素および/またはモジュールを含み得る。概して、図に示す動作がある場合、それらの動作は、同様の番号をもつ対応するカウンターパートのミーンズプラスファンクション構成要素を有し得る。たとえば、図5に示す動作500は、図5Aに示す構成要素500Aに対応する。
[0049]本明細書で使用する「決定」という用語は、様々なアクションを包含する。たとえば、「決定」は、計算、算出、処理、導出、調査、探索(たとえば、テーブル、データベースまたは別のデータ構造での探索)、確認などを含み得る。また、「決定」は、受信(たとえば、情報を受信すること)、アクセス(たとえば、メモリ中のデータにアクセスすること)などを含み得る。また、「決定」は、解決、選択、選定、確立などを含み得る。
[0050]本明細書で使用する、項目のリスト「のうちの少なくとも1つ」を指す句は、個々のメンバーを含む、それらの項目の任意の組合せを指す。一例として、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a−b、a−c、b−c、およびa−b−cをカバーするものとする。
[0051]上記で説明した方法の様々な動作は、(1つまたは複数の)様々なハードウェアおよび/またはソフトウェア構成要素、回路、および/または(1つまたは複数の)モジュールなど、それらの動作を実行することが可能な任意の好適な手段によって実行され得る。一般に、図に示すどの動作も、その動作を実行することが可能な対応する機能的手段によって実行され得る。
[0052]本開示に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ信号(FPGA)または他のプログラマブル論理デバイス(PLD)、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の市販のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
[0053]本開示に関連して説明した方法またはアルゴリズムのステップは、ハードウェアで直接実施されるか、プロセッサによって実行されるソフトウェアモジュールで実施されるか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、当技術分野で知られている任意の形式の記憶媒体中に常駐し得る。使用され得る記憶媒体のいくつかの例には、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、EPROMメモリ、EEPROM(登録商標)メモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROMなどがある。ソフトウェアモジュールは、単一の命令、または多数の命令を備え得、いくつかの異なるコードセグメント上で、異なるプログラム間で、および複数の記憶媒体にわたって分散され得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体はプロセッサに一体化され得る。
[0054]本明細書で開示した方法は、説明した方法を達成するための1つまたは複数のステップまたはアクションを備える。本方法のステップおよび/またはアクションは、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、ステップまたはアクションの特定の順序が指定されない限り、特定のステップおよび/またはアクションの順序および/または使用は特許請求の範囲から逸脱することなく変更され得る。
[0055]説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装した場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線(IR)、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。したがって、いくつかの態様では、コンピュータ可読媒体は非一時的コンピュータ可読媒体(たとえば、有形媒体)を備え得る。さらに、他の態様の場合、コンピュータ可読媒体は一時的コンピュータ可読媒体(たとえば、信号)を備え得る。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0056]したがって、いくつかの態様は、本明細書で提示する動作を実行するためのコンピュータプログラム製品を備え得る。たとえば、そのようなコンピュータプログラム製品は、本明細書で説明する動作を実行するために1つまたは複数のプロセッサによって実行可能である命令をその上に記憶した(および/または符号化した)コンピュータ可読媒体を備え得る。いくつかの態様では、コンピュータプログラム製品はパッケージング材料を含み得る。
[0057]ソフトウェアまたは命令はまた、伝送媒体を介して送信され得る。たとえば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、送信媒体の定義に含まれる。
[0058]さらに、本明細書で説明した方法および技法を実行するためのモジュールおよび/または他の適切な手段は、適用可能な場合にユーザ端末および/または基地局によってダウンロードおよび/または他の方法で取得され得ることを諒解されたい。たとえば、そのようなデバイスは、本明細書で説明した方法を実行するための手段の転送を可能にするためにサーバに結合され得る。代替的に、本明細書で説明した様々な方法は、ユーザ端末および/または基地局が記憶手段をデバイスに結合するかまたは与えると様々な方法を得ることができるように、記憶手段(たとえば、RAM、ROM、コンパクトディスク(CD)またはフロッピーディスクなどの物理記憶媒体など)によって提供され得る。さらに、本明細書で説明する方法および技法をデバイスに与えるための任意の他の好適な技法が利用され得る。
[0059]特許請求の範囲は、上記に示した正確な構成および構成要素に限定されないことを理解されたい。上記で説明した方法および装置の構成、動作および詳細において、特許請求の範囲から逸脱することなく、様々な改変、変更および変形が行われ得る。
[0060]上記は本開示の態様を対象とするが、本開示の他の態様およびさらなる態様は、それらの基本的範囲から逸脱することなく考案され得、それらの範囲は以下の特許請求の範囲によって判断される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
メモリに情報を記憶する方法であって、
ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算することと、
前記シナプスの各々について確率的方法で、重みの前記更新に基づいてそのシナプスに関連する前記メモリ内のロケーションの2値状態を切り替えることと、
を備える方法。
[C2]
前記確率的方法で前記2値状態を切り替えることは、
ある確率で、重みの前記更新に基づいてパルスを生成することと、
前記パルスを使用してメモリロケーションの前記2値状態を切り替えることと、
を備える、C1に記載の方法。
[C3]
前記確率は、重みの前記更新の絶対値に比例する、C2に記載の方法。
[C4]
前記切り替えることの方向は、重みの前記更新の符号に基づく、C2に記載の方法。
[C5]
重みの前記更新の絶対値は、前記メモリロケーション中を流れる電流の大きさを決定し、
重みの前記更新の符号は、前記メモリロケーション中を流れる前記電流の方向を決定し、前記方法は、
前記方向に基づいて、ある確率でメモリロケーションの前記2値状態を切り替えることをさらに備える、C1に記載の方法。
[C6]
前記確率は、電流の前記大きさに比例する、C5に記載の方法。
[C7]
前記メモリは、確率的不揮発性2値メモリを備える、C1に記載の方法。
[C8]
前記確率的不揮発性2値メモリは、スピントルクトランスファー(STT)メモリを備える、C7に記載の方法。
[C9]
前記学習ルールは、スパイキングおよびレートベースニューラルネットワークの重み学習ルールを備える、C1に記載の方法。
[C10]
スパイキングおよびレートベースニューラルネットワークの前記重み学習ルールは、スパイクタイミング依存可塑性(STDP)ルール、Hebbルール、Ojaルール、またはBienenstock−Cooper−Munro(BCM)ルールのうちの少なくとも1つを備える、C9に記載の方法。
[C11]
メモリに情報を記憶する装置であって、
ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算するように構成された第1の回路と、
前記シナプスの各々について確率的方法で、重みの前記更新に基づいてそのシナプスに関連する前記メモリ内のロケーションの2値状態を切り替えるように構成された第2の回路と、
を備える装置。
[C12]
前記第2の回路は、
ある確率で、重みの前記更新に基づいてパルスを生成することと、
前記パルスを使用してメモリロケーションの前記2値状態を切り替えることと、
を行うようにさらに構成された、C11に記載の装置。
[C13]
前記確率は、重みの前記更新の絶対値に比例する、C12に記載の装置。
[C14]
前記切り替えることの方向は、重みの前記更新の符号に基づく、C12に記載の装置。
[C15]
重みの前記更新の絶対値は、前記メモリロケーション中を流れる電流の大きさを決定し、
重みの前記更新の符号は、前記メモリロケーション中を流れる前記電流の方向を決定し、前記第2の回路は、
前記方向に基づいて、ある確率でメモリロケーションの前記2値状態を切り替えるようにさらに構成された、C11に記載の装置。
[C16]
前記確率は、電流の前記大きさに比例する、C15に記載の装置。
[C17]
前記メモリは、確率的不揮発性2値メモリを備える、C11に記載の装置。
[C18]
前記確率的不揮発性2値メモリは、スピントルクトランスファー(STT)メモリを備える、C17に記載の装置。
[C19]
前記学習ルールは、スパイキングおよびレートベースニューラルネットワークの重み学習ルールを備える、C11に記載の装置。
[C20]
スパイキングおよびレートベースニューラルネットワークの前記重み学習ルールは、スパイクタイミング依存可塑性(STDP)ルール、Hebbルール、Ojaルール、またはBienenstock−Cooper−Munro(BCM)ルールのうちの少なくとも1つを備える、C19に記載の装置。
[C21]
メモリに情報を記憶する装置であって、
ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算する手段と、
前記シナプスの各々について確率的方法で、重みの前記更新に基づいてそのシナプスに関連する前記メモリ内のロケーションの2値状態を切り替える手段と、
を備える装置。
[C22]
前記確率的方法で前記2値状態を切り替える前記手段は、
ある確率で、重みの前記更新に基づいてパルスを生成する手段と、
前記パルスを使用してメモリロケーションの前記2値状態を切り替える手段と、
を備える、C21に記載の装置。
[C23]
前記確率は、重みの前記更新の絶対値に比例する、C22に記載の装置。
[C24]
前記切り替えることの方向は、重みの前記更新の符号に基づく、C22に記載の装置。
[C25]
重みの前記更新の絶対値は、前記メモリロケーション中を流れる電流の大きさを決定し、
重みの前記更新の符号は、前記メモリロケーション中を流れる前記電流の方向を決定し、前記装置は、
前記方向に基づいて、ある確率でメモリロケーションの前記2値状態を切り替える手段をさらに備える、C21に記載の装置。
[C26]
前記確率は、電流の前記大きさに比例する、C25に記載の装置。
[C27]
前記メモリは、確率的不揮発性2値メモリを備える、C21に記載の装置。
[C28]
前記確率的不揮発性2値メモリは、スピントルクトランスファー(STT)メモリを備える、C27に記載の装置。
[C29]
前記学習ルールは、スパイキングおよびレートベースニューラルネットワークの重み学習ルールを備える、C21に記載の装置。
[C30]
スパイキングおよびレートベースニューラルネットワークの前記重み学習ルールは、スパイクタイミング依存可塑性(STDP)ルール、Hebbルール、Ojaルール、またはBienenstock−Cooper−Munro(BCM)ルールのうちの少なくとも1つを備える、C29に記載の装置。
[C31]
メモリに情報を記憶するためのコンピュータプログラム製品であって、コンピュータ可読媒体は、
ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算することと、
前記シナプスの各々について確率的方法で、重みの前記更新に基づいてそのシナプスに関連する前記メモリ内のロケーションの2値状態を切り替えることと、
を行うためのコードを備える、コンピュータプログラム製品。
[C32]
前記コンピュータ可読媒体は、
ある確率で、重みの前記更新に基づいてパルスを生成することと、
前記パルスを使用してメモリロケーションの前記2値状態を切り替えることと
を行うためのコードをさらに備える、C31に記載のコンピュータプログラム製品。
[C33]
前記確率は、重みの前記更新の絶対値に比例する、C32に記載のコンピュータプログラム製品。
[C34]
前記切り替えることの方向は、重みの前記更新の符号に基づく、C32に記載のコンピュータプログラム製品。
[C35]
重みの前記更新の絶対値は、前記メモリロケーション中を流れる電流の大きさを決定し、
重みの前記更新の符号は、前記メモリロケーション中を流れる前記電流の方向を決定し、前記コンピュータ可読媒体は、
前記方向に基づいて、ある確率でメモリロケーションの前記2値状態を切り替えることを行うためのコードをさらに備える、C31に記載のコンピュータプログラム製品。
[C36]
前記確率は、電流の前記大きさに比例する、C35に記載のコンピュータプログラム製品。
[C37]
前記メモリは、確率的不揮発性2値メモリを備える、C31に記載のコンピュータプログラム製品。
[C38]
前記確率的不揮発性2値メモリは、スピントルクトランスファー(STT)メモリを備える、C37に記載のコンピュータプログラム製品。
[C39]
前記学習ルールは、スパイキングおよびレートベースニューラルネットワークの重み学習ルールを備える、C31に記載のコンピュータプログラム製品。
[C40]
スパイキングおよびレートベースニューラルネットワークの前記重み学習ルールは、スパイクタイミング依存可塑性(STDP)ルール、Hebbルール、Ojaルール、またはBienenstock−Cooper−Munro(BCM)ルールのうちの少なくとも1つを備える、C39に記載のコンピュータプログラム製品。

Claims (40)

  1. メモリに情報を記憶する方法であって、
    ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算することと、
    前記シナプスの各々について確率的方法で、重みの前記更新に基づいてそのシナプスに関連する前記メモリ内のロケーションの2値状態を切り替えることと、
    を備える方法。
  2. 前記確率的方法で前記2値状態を切り替えることは、
    ある確率で、重みの前記更新に基づいてパルスを生成することと、
    前記パルスを使用してメモリロケーションの前記2値状態を切り替えることと、
    を備える、請求項1に記載の方法。
  3. 前記確率は、重みの前記更新の絶対値に比例する、請求項2に記載の方法。
  4. 前記切り替えることの方向は、重みの前記更新の符号に基づく、請求項2に記載の方法。
  5. 重みの前記更新の絶対値は、前記メモリロケーション中を流れる電流の大きさを決定し、
    重みの前記更新の符号は、前記メモリロケーション中を流れる前記電流の方向を決定し、前記方法は、
    前記方向に基づいて、ある確率でメモリロケーションの前記2値状態を切り替えることをさらに備える、請求項1に記載の方法。
  6. 前記確率は、電流の前記大きさに比例する、請求項5に記載の方法。
  7. 前記メモリは、確率的不揮発性2値メモリを備える、請求項1に記載の方法。
  8. 前記確率的不揮発性2値メモリは、スピントルクトランスファー(STT)メモリを備える、請求項7に記載の方法。
  9. 前記学習ルールは、スパイキングおよびレートベースニューラルネットワークの重み学習ルールを備える、請求項1に記載の方法。
  10. スパイキングおよびレートベースニューラルネットワークの前記重み学習ルールは、スパイクタイミング依存可塑性(STDP)ルール、Hebbルール、Ojaルール、またはBienenstock−Cooper−Munro(BCM)ルールのうちの少なくとも1つを備える、請求項9に記載の方法。
  11. メモリに情報を記憶する装置であって、
    ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算するように構成された第1の回路と、
    前記シナプスの各々について確率的方法で、重みの前記更新に基づいてそのシナプスに関連する前記メモリ内のロケーションの2値状態を切り替えるように構成された第2の回路と、
    を備える装置。
  12. 前記第2の回路は、
    ある確率で、重みの前記更新に基づいてパルスを生成することと、
    前記パルスを使用してメモリロケーションの前記2値状態を切り替えることと、
    を行うようにさらに構成された、請求項11に記載の装置。
  13. 前記確率は、重みの前記更新の絶対値に比例する、請求項12に記載の装置。
  14. 前記切り替えることの方向は、重みの前記更新の符号に基づく、請求項12に記載の装置。
  15. 重みの前記更新の絶対値は、前記メモリロケーション中を流れる電流の大きさを決定し、
    重みの前記更新の符号は、前記メモリロケーション中を流れる前記電流の方向を決定し、前記第2の回路は、
    前記方向に基づいて、ある確率でメモリロケーションの前記2値状態を切り替えるようにさらに構成された、請求項11に記載の装置。
  16. 前記確率は、電流の前記大きさに比例する、請求項15に記載の装置。
  17. 前記メモリは、確率的不揮発性2値メモリを備える、請求項11に記載の装置。
  18. 前記確率的不揮発性2値メモリは、スピントルクトランスファー(STT)メモリを備える、請求項17に記載の装置。
  19. 前記学習ルールは、スパイキングおよびレートベースニューラルネットワークの重み学習ルールを備える、請求項11に記載の装置。
  20. スパイキングおよびレートベースニューラルネットワークの前記重み学習ルールは、スパイクタイミング依存可塑性(STDP)ルール、Hebbルール、Ojaルール、またはBienenstock−Cooper−Munro(BCM)ルールのうちの少なくとも1つを備える、請求項19に記載の装置。
  21. メモリに情報を記憶する装置であって、
    ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算する手段と、
    前記シナプスの各々について確率的方法で、重みの前記更新に基づいてそのシナプスに関連する前記メモリ内のロケーションの2値状態を切り替える手段と、
    を備える装置。
  22. 前記確率的方法で前記2値状態を切り替える前記手段は、
    ある確率で、重みの前記更新に基づいてパルスを生成する手段と、
    前記パルスを使用してメモリロケーションの前記2値状態を切り替える手段と、
    を備える、請求項21に記載の装置。
  23. 前記確率は、重みの前記更新の絶対値に比例する、請求項22に記載の装置。
  24. 前記切り替えることの方向は、重みの前記更新の符号に基づく、請求項22に記載の装置。
  25. 重みの前記更新の絶対値は、前記メモリロケーション中を流れる電流の大きさを決定し、
    重みの前記更新の符号は、前記メモリロケーション中を流れる前記電流の方向を決定し、前記装置は、
    前記方向に基づいて、ある確率でメモリロケーションの前記2値状態を切り替える手段をさらに備える、請求項21に記載の装置。
  26. 前記確率は、電流の前記大きさに比例する、請求項25に記載の装置。
  27. 前記メモリは、確率的不揮発性2値メモリを備える、請求項21に記載の装置。
  28. 前記確率的不揮発性2値メモリは、スピントルクトランスファー(STT)メモリを備える、請求項27に記載の装置。
  29. 前記学習ルールは、スパイキングおよびレートベースニューラルネットワークの重み学習ルールを備える、請求項21に記載の装置。
  30. スパイキングおよびレートベースニューラルネットワークの前記重み学習ルールは、スパイクタイミング依存可塑性(STDP)ルール、Hebbルール、Ojaルール、またはBienenstock−Cooper−Munro(BCM)ルールのうちの少なくとも1つを備える、請求項29に記載の装置。
  31. ンピュータ可読記憶媒体であって
    ニューラルネットワーク中の複数のシナプスの各シナプスについて、学習ルールに従ってそのシナプスの重みの更新を計算することと、
    前記シナプスの各々について確率的方法で、重みの前記更新に基づいてそのシナプスに関連するメモリ内のロケーションの2値状態を切り替えることと、
    を行うための実行可能なコードを備える、コンピュータ可読記憶媒体
  32. ある確率で、重みの前記更新に基づいてパルスを生成することと、
    前記パルスを使用してメモリロケーションの前記2値状態を切り替えることと
    を行うためのコードをさらに備える、請求項31に記載のコンピュータ可読記憶媒体
  33. 前記確率は、重みの前記更新の絶対値に比例する、請求項32に記載のコンピュータ可読記憶媒体
  34. 前記切り替えることの方向は、重みの前記更新の符号に基づく、請求項32に記載のコンピュータ可読記憶媒体
  35. 重みの前記更新の絶対値は、前記メモリロケーション中を流れる電流の大きさを決定し、
    重みの前記更新の符号は、前記メモリロケーション中を流れる前記電流の方向を決定し、前記コンピュータ可読記憶媒体は、
    前記方向に基づいて、ある確率でメモリロケーションの前記2値状態を切り替えることを行うためのコードをさらに備える、請求項31に記載のコンピュータ可読記憶媒体
  36. 前記確率は、電流の前記大きさに比例する、請求項35に記載のコンピュータ可読記憶媒体
  37. 前記メモリは、確率的不揮発性2値メモリを備える、請求項31に記載のコンピュータ可読記憶媒体
  38. 前記確率的不揮発性2値メモリは、スピントルクトランスファー(STT)メモリを備える、請求項37に記載のコンピュータ可読記憶媒体
  39. 前記学習ルールは、スパイキングおよびレートベースニューラルネットワークの重み学習ルールを備える、請求項31に記載のコンピュータ可読記憶媒体
  40. スパイキングおよびレートベースニューラルネットワークの前記重み学習ルールは、スパイクタイミング依存可塑性(STDP)ルール、Hebbルール、Ojaルール、またはBienenstock−Cooper−Munro(BCM)ルールのうちの少なくとも1つを備える、請求項39に記載のコンピュータ可読記憶媒体
JP2014541162A 2011-11-09 2012-11-06 ニューラルネットワークのシナプス重みを記憶するために確率的方法でメモリを使用するための方法および装置 Expired - Fee Related JP5989790B2 (ja)

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
JP2015501972A JP2015501972A (ja) 2015-01-19
JP5989790B2 true JP5989790B2 (ja) 2016-09-07

Family

ID=47459084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014541162A Expired - Fee Related JP5989790B2 (ja) 2011-11-09 2012-11-06 ニューラルネットワークのシナプス重みを記憶するために確率的方法でメモリを使用するための方法および装置

Country Status (8)

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

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
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
US10534996B2 (en) * 2017-04-03 2020-01-14 Gyrfalcon Technology Inc. Memory subsystem in CNN based digital IC for artificial intelligence
US10331999B2 (en) * 2017-04-03 2019-06-25 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
US10296824B2 (en) * 2017-04-03 2019-05-21 Gyrfalcon Technology Inc. Fabrication methods of memory subsystem used in CNN based digital IC for AI
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) 하드웨어의 동작 방법, 이를 수행하기 위한 회로

Family Cites Families (23)

* 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
AU1974792A (en) * 1991-06-21 1993-01-25 King's 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
JP2005517330A (ja) * 2002-02-05 2005-06-09 シーメンス アクチエンゲゼルシヤフト パルスニューロンを備えたネットワークを用いてネットワーク通信のトラフィック動特性を分類する方法
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
JP5154666B2 (ja) * 2008-03-14 2013-02-27 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. ニューロモーフィック回路
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 使用改良式機率類神經網路之定位方法
WO2012015450A1 (en) * 2010-07-30 2012-02-02 Hewlett-Packard Development Company, L.P. 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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5989790B2 (ja) ニューラルネットワークのシナプス重みを記憶するために確率的方法でメモリを使用するための方法および装置
JP2018014114A (ja) ニューロプロセッサにおける交換可能なシナプス荷重記憶装置に関する方法及びシステム
JP5512895B2 (ja) 報酬変調されたスパイクタイミング依存可塑性のための方法およびシステム
CN105229675B (zh) 尖峰网络的高效硬件实现
US8812414B2 (en) Low-power event-driven neural computing architecture in neural networks
JP2017509951A (ja) スパースニューラルネットワークを構成すること
EP3671748A1 (en) In-memory computing for machine learning
Zhou et al. A new hardware implementation approach of BNNs based on nonlinear 2T2R synaptic cell
EP3273390B1 (en) Hardware implementation of a temporal memory system
US10692573B2 (en) Controlling aggregate signal amplitude from device arrays by segmentation and time-gating
KR20200099252A (ko) 회로 디자인을 검증하기 위한 검증 벡터를 생성하는 장치, 회로 디자인 시스템 및 이의 강화 학습 방법
JP2016537712A (ja) シナプス遅延を動的に割り当てることおおよび検査すること
CN114330697A (zh) 一种基于随机电阻阵列的储备池计算模型的硬件实现方法、装置及电子设备
TWI814734B (zh) 用於執行卷積的計算裝置及計算方法
CN111133454A (zh) 利用尖峰神经网络解析正则表达式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160810

R150 Certificate of patent or registration of utility model

Ref document number: 5989790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees