JP2019159705A - 演算装置 - Google Patents

演算装置 Download PDF

Info

Publication number
JP2019159705A
JP2019159705A JP2018044541A JP2018044541A JP2019159705A JP 2019159705 A JP2019159705 A JP 2019159705A JP 2018044541 A JP2018044541 A JP 2018044541A JP 2018044541 A JP2018044541 A JP 2018044541A JP 2019159705 A JP2019159705 A JP 2019159705A
Authority
JP
Japan
Prior art keywords
arithmetic
unit
magnetic
arithmetic unit
storage
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.)
Granted
Application number
JP2018044541A
Other languages
English (en)
Other versions
JP6826063B2 (ja
Inventor
佐藤 利江
Toshie Sato
利江 佐藤
隼人 後藤
Hayato Goto
隼人 後藤
水島 公一
Koichi Mizushima
公一 水島
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2018044541A priority Critical patent/JP6826063B2/ja
Priority to US16/120,583 priority patent/US10698860B2/en
Publication of JP2019159705A publication Critical patent/JP2019159705A/ja
Application granted granted Critical
Publication of JP6826063B2 publication Critical patent/JP6826063B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B61/00Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Probability & Statistics with Applications (AREA)
  • Neurology (AREA)
  • Mram Or Spin Memory Techniques (AREA)
  • Hall/Mr Elements (AREA)

Abstract

【課題】大規模化が可能な演算装置を提供する。【解決手段】実施形態によれば、演算装置は、1つまたは複数の演算ユニットを含む。前記1つまたは複数の前記演算ユニットの1つは、複数の記憶領域を含む記憶部と、演算部と、を含む。前記複数の記憶領域の1つはライン状磁性部を含む。【選択図】図1

Description

本発明の実施形態は、演算装置に関する。
演算装置において、大規模化が望まれる。
特開2009−032259号公報
本発明の実施形態は、大規模化が可能な演算装置を提供する。
本発明の実施形態によれば、演算装置は、1つまたは複数の演算ユニットを含む。前記1つまたは複数の前記演算ユニットの1つは、複数の記憶領域を含む記憶部と、演算部と、を含む。前記複数の記憶領域の少なくとも1つはライン状磁性部を含む。
図1(a)及び図1(b)は、第1実施形態に係る演算装置を例示する模式図である。 第1実施形態に係る演算装置を例示する模式図である。 第1実施形態に係る演算装置を例示する模式図である。 演算装置に適用されるモデルを例示する模式図である。 第1実施形態に係る演算装置の一部を例示する模式図である。 第1実施形態に係る演算装置の動作を例示するフローチャート図である。 図7(a)〜図7(c)は、第2実施形態に係る演算装置のモデルを例示する模式図である。 第2実施形態に係る演算装置の動作を例示するフローチャート図である。 第2実施形態に係る演算装置を例示する模式図である。 第3実施形態に係る演算装置のモデルを例示する模式図である。 第3実施形態に係る演算装置を例示する模式図である。 第3実施形態に係る演算装置を例示する模式図である。 第3実施形態に係る演算装置を例示する模式図である。 第3実施形態に係る演算装置を例示する模式図である。 第3実施形態に係る演算装置の動作を例示するフローチャート図である。 実施形態に係る演算装置の一部を例示する模式的断面図である。
以下に、本発明の各実施の形態について図面を参照しつつ説明する。
図面は模式的または概念的なものであり、各部分の厚さと幅との関係、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。
本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
(第1実施形態)
図1(a)及び図1(b)は、第1実施形態に係る演算装置を例示する模式図である。 図1(a)に示すように、実施形態に係る演算装置110は、記憶ユニット10U及び演算ユニット20Uを含む。記憶ユニット10Uは、例えば、磁気トラックを含む。演算ユニット20Uは、例えば、積和演算を行う。演算ユニット20Uは、判断を行っても良い。演算ユニット20Uは、例えば、FPGAである。
この例では、コントローラ51が設けられている。コントローラ51は、記憶ユニット10U及び演算ユニット20Uの動作を制御する。
図1(a)に示す例のように、半導体記憶ユニット18Uが更に設けられても良い。半導体記憶ユニット18Uは、例えば、演算装置110で実施される動作の一部に関する情報を記憶しても良い。記憶ユニット10Uに含まれる磁気トラックと、半導体記憶ユニット18Uと、を用いることで、両者に適した記憶をさせることができ、例えば、高速な演算が得られる。
演算装置110は、1つまたは複数の演算ユニットPRUを含む。1つの演算ユニットPRUは、例えば、記憶ユニット10Uの一部と、演算ユニット20Uの一部と、を含む。1つの演算ユニットPRUに含まれる記憶機構が、記憶ユニット10Uの一部に対応する。1つの演算ユニットPRUに含まれる演算機構が、演算ユニット20Uの一部に対応する。
以下、複数の演算ユニットPRUの1つに関して説明する。
図1(b)に示すように、複数の演算ユニットPRUの1つは、記憶部10及び演算部20を含む。記憶部10は、複数の記憶領域10Rを含む。複数の記憶領域10Rの少なくとも1つは、ライン状磁性部10Lを含む。ライン状磁性部10Lは、例えば、磁気トラック10Tである。ライン状磁性部10Lの長さは、ライン状磁性部10Lの幅及び高さよりも長い。ライン状磁性部10Lにおける磁化の向きが、記憶される情報に対応する。
例えば、1つの記憶領域10R(ライン状磁性部10L)において、書き込み動作WO及び読み出し動作ROが行われる。書き込み動作WOは、後述する第1素子により行われる。書き込み動作WOは、例えば、スピン注入に基づいて行われる。読み出し動作ROは、後述する第2素子により行われる。読み出し動作ROは、例えば、磁気抵抗効果(例えばトンネル磁気抵抗効果)に基づいて行われる。
この例では、1つの記憶領域10R(ライン状磁性部10L)において、磁気雑音生成動作NOが行われる。磁気雑音生成動作NOは、後述する第3素子により行われる。磁気雑音生成動作NOは、例えば、スピントルク発振素子から生じる高周波磁界に基づいて行われる。
図1(b)に示すように、演算装置110においては、複数の記憶領域10R(ライン状磁性部10L)を用いて、演算部20において積和演算が行われる。後述するように、例えば、大規模化が容易になり、省エネルギー化が容易になる。
以下、実施形態に係る演算装置の構成の概要の例について説明する。
図2及び図3は、第1実施形態に係る演算装置を例示する模式図である。
図2に示すように、図1(b)に示す記憶部10(演算ユニットPRU)が、複数設けられる。演算ユニットPRUは、例えば、サブコアに対応する。演算部20は、複数の記憶部10に保持されるデータを用いて演算(例えば積和演算)を行う。複数の記憶部10及び演算部20が、1つの演算ユニットPRUに含まれる。図3に示すように、複数の演算ユニットPRUが設けられる。大規模な演算が可能になる。
実施形態に係る演算装置110は、学習可能である。
コンピュータやエレクトロニクスデバイスの高性能化および高機能化が求められている。演算装置において、膨大な情報処理に対応し得ることが望まれている。情報処理の大規模化により、例えば、IoT(Internet of Things)、AI(Artificial Intelligence)、または、深層学習(Deep leaning)などにおける膨大な情報処理に対応できる。
一方、省エネルギー・エレクトロニクスの開発も望まれている。省エネルギー化により、例えば、世界的規模で議論されるCO削減に対応できる。省エネルギー化により、例えば、大規模震災後の電力事情を緩和できる。
このような状況において、生体に学ぶ省エネルギー・エレクトロニクスとしてのニューラルネットワーク(神経回路網)が注目を集めている。ニューラルネットワークとエレクトロニクスとの関係は歴史が古い。例えば、1943年に発表されたMcCullochとPittsのニューロンモデル(W.S. McCulloch and W. Pitts: Bull. Math. Biophys. 5, 115 (1943).)が知られている。
その後、ニューラルネットワーク分野の大きなブレークスルーが1982年にHopfieldによりなされた(J.J. Hopfield: Proc. Natl. Acad. Sci. U.S.A. 79, 2554 (1982).)。彼は、相互結合型ネットワークが、イジングスピン・モデルのハミルトニアンで表現できることを示した。これにより、神経回路網での情報処理をスピン系の統計力学を用いて考察することが可能となった。さらに、アップ・ダウンスピンの2値状態をとるイジングスピンを神経細胞(ニューロン)の活動または情報ビットに対応させることが可能になった。
本格的な脳神経回路網として、TrueNorthチップと呼ばれる素子が2014年にIBMとコーネル大学との協力により開発された(P.A. Merolla et al., Science 345, 668 (2014).)。この例では、28nmルールのCMOS技術で素子が作製された。この素子は、全体として、100万個のニューロンとして動作する。この素子は、140億個のニューロンから構成される人間の脳に比較すると、規模が小さく、消費電力も大きい。
ホップフィールドによるイジング・マシンの考え、及び、そのハードウエアを実現したTrueNorthチップの欠点は、学習機能を有していないことである。この欠点を補うために、神経回路網装置が提案されている。例えば、制限ボルツマン・マシン、及び、それをさらに進化させたディープ・ボルツマン・マシンなどが提案されている。さらに、ディープ・ラーニングと総称される神経回路網装置のハードウエアが、近年開発されている。
上で述べたように、学習機能をもつ神経回路網装置は、人間の脳に匹敵する大規模な省エネルギー型情報処理装置として期待されている。しかし、大規模化および省エネルギー化のいずれに関しても、現在極めて不十分な状況にある。
実施形態は、例えば、神経回路網装置に適用できる。実施形態は、例えば、神経回路網装置の大規模化および省エネルギー化を可能とする。実施形態においては、例えば、学習機能をもつ神経回路網装置の記憶部に、磁気トラックが用いられる。これにより、神経回路網装置(演算装置)が大規模化できる。省エネルギーが可能になる。
以下、制限ボルツマン・マシンを例として、実施形態の1つについて説明する。
図4は、演算装置に適用されるモデルを例示する模式図である。
図4は、制限ボルツマン・マシンの構成を例示している。制限ボルツマン・マシンは、m個のノードvj(j=1,2,…,m)を含む可視層と、n個のノードhi(i=1,2,…,n)を含む隠れ層と、それらを結合するリンクwijと、を含む。ノードおよびリンクは、それぞれニューロンおよびシナプスに対応する。外部データが、可視層のニューロンvjに読み込まれる。ニューロンvjに読み込まれた外部データに基づいて、シナプスwijの学習が行われる。
制限ボルツマン・マシンにおける学習は、シナプスwijの更新を、式(1)に矢印で示した手順を繰り返すことで、進められる。
式(1)において、「v(0) j」は、マシンの可視層へ最初に入力される外部データである。「v(k) j」は、k回(k>=1)の演算を繰り返した後に可視層に入力されたデータである。
以下の式(2)が設定される。
式(2)において、「p(hi=1|v(0))」は、「vj=v(0) j」のときに、「hi=1」となる確率である。「p(hi=1|v(k))は、「vj=v(k) j」のとき「hi=1」となる確率である。式(2)において、「()」は、シグモイド関数である。「ci」は、隠れ層のバイアス磁場である。
全ての外部データについて更新を繰り返した後に、学習は終了する。
今までに知られている制限ボルツマン・マシン(参考例)において、1個のニューロンvj,hi、または、シナプスwijなどには、例えば、SRAM素子が用いられる。このSRAM素子においては、6個のトランジスタが含まれる。
これに対して、実施形態に係る演算装置110(制限ボルツマン・マシン装置)では、既に説明したように、ライン状磁性部10Lが用いられる。以下、ライン状磁性部10Lの例について説明する。
図5は、第1実施形態に係る演算装置の一部を例示する模式図である。
図5は、記憶部10に設けられる記憶領域10R(ライン状磁性部10L)を例示している。ライン状磁性部10Lは、複数の磁壁10Wを含む。例えば、ライン状磁性部10Lを流れる電流に応じて、磁壁10Wがライン状磁性部10L内を移動する。2つの磁壁10Wの間の領域(磁区)が、記憶を保持する領域に対応する。ライン状磁性部10Lにおける磁化の向きが、記憶される情報に対応する。
実施形態においては、1つの磁区(1ビット)が、ニューロンに対応する。1つの磁区(1ビット)が、シナプスに対応する。1つの磁区(1ビット)のサイズLbit(長さまたは幅)は、50nm以下であり、小さい。これにより、上記の参考例(6個のトランジスタを含む構造)と比較して、チップ面積を大幅に縮小することができる。
例えば、(n+m)個のニューロンに比べて数が多いmxn個のシナプスに、上記のライン状磁性部10L(例えば、磁壁移動型磁気記録素子)を用いる。これにより、チップ面積を効果的に縮小できる。
実施形態においては、上記の参考例に対して、読出し動作または書き込み動作が簡単になる。上記の参考例における読出し動作及び書き込み動作のためには、多くの素子(選択トランジスタ、アドレス用メモリー及びコントローラ)などが必要である。実施形態においては、これらの回路が省略できる。回路が省略可能であることは、例えば、数1000ビットの小規模なメモリーにおいて特に有効である。例えば、多数の小規模な演算単位を含む省エネ型の高速演算装置においては、小規模なメモリーが多数用いられる。回路が省略できることは、高速演算装置において特に有利である。
さらに、一般に、シナプス係数の更新は、式(2)のシグモイド関数により行われる。この方法では、例えば、温度Tにおける熱揺らぎの確率計算が行われる。これに対して、実施形態においては、上記の磁気雑音生成動作NOを行うことができる。実施形態においては、例えば、スピントルク発振素子によるマイクロ波照射による疑似焼きなまし法を用いることが可能となる。
これにより、実施形態においては、マイクロ波磁場(磁場揺らぎ)の印加による確率的磁化反転現象を利用することが可能になる。これにより、式(2)のシグモイド関数σをステップ関数σ0に、置き換えることができる。さらに、「p(hi|v(0))」及び「p(hi|v(k))」を、「h(0) i」及び「h(k) i」に、それぞれ置き換えることができる。
従って、実施形態においては、式(2)に代えて、以下の式(3)を用いることができる。
これに伴い式(1)は、式(4)に置き換わる。
1つの例のハードウエアにおける演算は、上で述べた省エネルギー及び高速性の観点から、並列に配置された複数の演算ユニットPRUで進められる。
複数の演算ユニットPRUの1つの例が、図1(b)に示されている。
図1(b)において、1つの演算ユニットPRUは、サブコアに対応する。サブコアは、例えば、演算の最小単位に対応する。
この例では、サブコアSC(1,1)は、3種の磁気トラック10Tを含む。第1の磁気トラック10Tは、可視層のニューロンの状態vj(1,-1)を記憶する磁気トラックに対応する。第2の磁気トラック10Tは、隠れ層のニューロンの状態hj(1,-1)を記憶する磁気トラック10Tに対応する。第3の磁気トラック10Tは、学習すべきシナプスwijの内容を記憶する磁気トラックに対応する。シナプスwijには、4ビットが割り当てられている。
以下、実施形態で行われる動作の例について説明する。簡単のため、ここでは、n=m=1000とする。
例えば、はじめに、vjの磁気トラック10Tに、最初のデータv(0) j(j=1,2,…,n)を後述する第1素子(スピン注入素子)により書込む。式(3)に従って、h(0) 1を計算し、h1ビットを更新する。このとき、v(0) jの読出しは、後述する第2素子(例えばトンネル磁気抵抗素子)により行う。h(0) 1の計算は、積和演算装置(演算部20)により行う。h1ビットの更新は、スピン注入書込みにより行う。
同様な計算が、サブコアSC(2,1)…SC(1000,1)においても行われる。これらの計算の少なくとも一部は、同時に行われる。これにより、h(0) 2…h(0) 1000が、更新される。
ここで、サブコアSC(2,1)…SC(1000,1)には、それぞれw2j,…w1000j(j=1,2,…,n)のトラックが含まれている。「vj」及び「hj」に対応する磁気トラック10Tは、SC(1,1)におけるそれらと共通なので、演算の省略が可能である。得られたh(0) jを用いて、式(5)を用いて、v(1) jを計算する。ここで、「bi」は、可視層のバイアス磁場である。
同様の計算を、k回(1回を含む)繰り返して、v(k) jが得られる。
ここで、「σ0」は、原点で不連続なステップ関数である。それらと式(3)の「h(0) i」及び「h(k) i」を用いて式(4)に従って、wijを更新する。
この作業を、全てのデータについて繰り返しす。これにより、シナプスwij、「bj」及び「ci」の学習が終了する。例えば、1000個のサブコアを含む演算単位(演算ユニットPRU)は、「コア」に対応する。この「コア」は、106個のシナプスを含んでいる。複数の「コア」を用いることにより、さらに大きな演算装置が得られる。
図6は、第1実施形態に係る演算装置の動作を例示するフローチャート図である。
図6は、上記の演算の例を示している。図6に示すように、初期パラメタを書き込む(ステップS110)。例えば、シナプスのパラメタ「wij」の初期値、可視層のパラメタ「bj」(バイアス磁場)の初期値、及び、隠れ層のパラメタ「c」(バイアス磁場)の初期値を、ライン状磁性部10L(磁気トラック10T)に書き込む。
「v(0) j」を書き込む(ステップS120)。第1の学習データを、v(0) j(j=1,2,…,m)として、可視層に書き込む。
「h(0) 」の計算と書き込みを行う(ステップS130)。例えば、マイクロ波(高周波)照射の状態で、v(0) jから、h(0) (i=1,2,…,n)を計算し、隠れ層に書き込む。
「v(1) j」の計算と書き込みを行う(ステップS140)。例えば、マイクロ波照射の状態で、h(0) から、v(1) jを計算し、隠れ層に書き込む。
「h(1) 」の計算と書き込みを行う(ステップS150)。例えば、マイクロ波照射の状態で、v(1) jから、h(1) (i=1,2,…,n)を計算し、隠れ層に書き込む。
パラメタを更新する(ステップS160)。例えば、「v(0) j」、「v(1) j」、「h(0) 」及び「h(1) 」を用いて、「wij」、「bj」及び「c」のそれぞれの値を更新する。
「v(0) j」を書き込む(ステップS170)。例えば、第2の学習データを、v(0) j(j=1,2,…,m)として、可視層に書き込む。
以降、全ての学習データを用いて、上記のパラメタの更新(ステップS120〜S170)を繰り返す。
(第2実施形態)
図7(a)〜図7(c)は、第2実施形態に係る演算装置のモデルを例示する模式図である。
図8は、第2実施形態に係る演算装置の動作を例示するフローチャート図である。
図7(a)〜図7(c)に示すモデルは、深層学習の1つのモデルである。この例では、ディープ・ボルツマン・マシン(DBM)を例に、第2実施形態について説明する。DBMにおいては、複数の隠れ層が階層的に積みあげられる。
DBMにおける学習では、まず、可視層vと、第1層の隠れ層h(1)と、に注目し、第2層以上の隠れ層は無視される。これにより、可視層vと、第1層の隠れ層h(1)と、は、制限ボルツマン・マシン(RBM)とみなすことができる。
図8に示すように、「w(1) ij」を学習する(ステップS210)。例えば、上で述べたRBMの学習法に則って、「v」と「h(1)」との間の結合「w(1) ij」を学習する。
次に、「w(2) ij」を学習する(ステップS220)。例えば、隠れ層「h(1)」と、隠れ層「h(2)」と、を用いて、制限ボルツマン・マシンと同様な方法により、「w(2) ij」を学習する。「h(1)」の初期値は、「v」に入力したデータと、学習した「w(1)ij」と、を利用して得られる。
次に、「w(3) ij」を学習する(ステップS230)。例えば、隠れ層「h(2)」と、隠れ層「h(3)」と、を用いて、制限ボルツマン・マシンと同様な方法により、「w(3) ij」を学習する。「h(2)」の初期値は、「v」に入力したデータと、学習した「w(1) ij」と、学習した「w(2) ij」と、を利用して得られる。
さらに層が増えても、同様の学習法を繰り返すことにより、結合を学習することができる。
図9は、第2実施形態に係る演算装置を例示する模式図である。
図9は、本実施形態に係る演算装置120におけるサブコア(演算ユニットPRU)の例を示している。既に説明したように、サブコアは、演算の最小単位である。
(第3実施形態)
図10は、第3実施形態に係る演算装置のモデルを例示する模式図である。
図10に示すように、第3実施形態においては、ESN(Echo State Network)と呼ばれるモデルが採用される。第3実施形態に係る演算装置は、例えば、リザーバ・コンピュータ(RC)である。
ESNは、入力部15a、リザーバ部15b、及び、出力部15cを含む。入力部15a及び出力部15cのそれぞれにおいては、例えば、フィードフォワード型ネットワークが形成される。リザーバ部15bにおいては、例えば、リカレント・ネットワーク(RNN)が形成される。一般に、RNNにおける結合パラメタの学習は、極めて困難である。このため、RCでは、出力部15cの結合パラメタのみを学習する。
入力部15a及び出力部15cのそれぞれにおけるノード数に比較して、リザーバ部15bにおけるノード数は、圧倒的に大きくされる。変数には、連続変数が用いられる。時間には、離散時間が用いられる。この例では、入力部15a及び出力部15cのそれぞれにおけるノード数を100とし、リザーバ部15bにおけるノード数を1000とする。ノード変数及び結合パラメタのそれぞれは、4ビットである。
図11〜図14は、第3実施形態に係る演算装置を例示する模式図である。
図11は、入力部15aを例示している。図12は、リザーバ部15bを例示している。図13は、第1出力部15dを例示している。図14は、第2出力部15eを例示している。
図11において、演算部20において、積和演算が行われる。このとき、「win ij」の学習は行われない。図11に示すように、入力部15aにおける演算結果は、リザーバ部15bに提供される。
図12において、演算部20において、積和演算が行われる。このとき、「wij」の学習は行われない。図12に示すように、リザーバ部15bにおける演算結果は、出力部15cに提供される。
図13に示すように、第1出力部15dの演算部20において、積和演算が行われる。第1出力部15dにおける演算結果は、第2出力部15eに提供される。
図14に示すように、第2出力部15eの演算部20において、積和演算が行われる。第2出力部15eにおける演算結果は、第1出力部15dに提供される。例えば、「wout ij」の更新が行われる。
本実施形態においては、以下の式(6)及び式(7)が用いられる。

図15は、第3実施形態に係る演算装置の動作を例示するフローチャート図である。
例えば、初期パラメタを書き込む(ステップS310)。例えば、シナプスのパラメタの初期値、及び、変数xjの初期値を書き込む。パラメタの初期値は、「win ij」の初期値、「wij」の初期値、及び、「wout ij」の初期値を含む。
例えば、「uj」を書き込む(ステップS320)。例えば、第1時間ステップ(n=1)の学習データを「uj」として、入力層(入力部15a)に書き込む。
例えば、「x」を計算する(ステップS330)。例えば、「uj」から「x」を計算し、その結果をリザーバ部15bに供給する。第1時間ステップ(n=1)で入力部15aに書き込まれたデータu(100ノード)と、リザーバ部15bの初期値と、を用いて、リザーバ部15bの変数x(1000ノード)が更新される(式(6)参照))。
例えば、「xj」を更新する(ステップS340)。例えば、「xj」を初期値から更新し、その結果を、出力部15cに供給する。例えば、更新された値の内の100ノードの状態が、出力部15cに出力される(式(7)参照))。入力部15a及びリザーバ部15bの結合パラメタは、更新されず初期値のままである。
例えば、「y」を計算する(ステップS350)。
例えば、「uj」を書き込む(ステップS360)。第2時間ステップ(n=2)の学習データを「uj」として、入力層(入力部15a)に書き込む。
上記を繰り返して、全ての学習データを用いて、y(n)(n=1,2,…,T)を計算する。例えば、n=1,2,……,Tについて、上記の演算を繰り返す。これにより、y(n)(n=1,2,……,T)が得られる。
パラメタ「wout ij」を決定する(ステップS370)。目標値ytを書き込む。例えば、「y(n)」と「yt」との差が最小となる「wout ij」を求める(図14参照)。出力部15cは、単純なフィードフォワード型ネットワークなので、例えば、最小二乗法などを用いて、「wout ij」を求めることができる。
上記の例において、複数の演算ユニットPRUの少なくとも2つは、並列に動作する。これにより、高速の演算が可能である。
実施形態において、複数の演算ユニットPRUの1つに含まれる記憶部10の記憶容量は、例えば、10ビット以下であることが好ましい。1つの記憶部10の記憶容量を比較的小さくし、並列の演算を行うことで、大規模な演算(例えば、学習)が高速に実施できる。
以下、既に説明した第1〜第3素子の例について説明する。
図16は、実施形態に係る演算装置の一部を例示する模式的断面図である。
図16に示すように、記憶部10は、第1素子17Aを含んでも良い。第1素子17Aは、例えば、書き込み素子である。第1素子17Aは、第1磁性層17a及び第1非磁性層17naを含む。第1非磁性層17naは、第1磁性層17aと、ライン状磁性部10Lの第1部分p1と、間に設けられる。
図16に示すように、記憶部10は、第2素子17Bを含んでも良い。第2素子17Bは、例えば、読み出し素子である。第2素子17Bは、第2磁性層17b及び第2非磁性層17nbを含む。第2非磁性層17nbは、第2磁性層17bと、ライン状磁性部10Lの第2部分p2と、の間に設けられる。
図16に示すように、記憶部10は、第3素子17Cを含んでも良い。第3素子17Cは、第3磁性層17c、第4磁性層17d及び第3非磁性層17ncを含む。第3非磁性層17ncは、第3磁性層17cと第4磁性層17dとの間に設けられる。
第1素子17Aにおいて、例えば、スピン注入に基づいて、書き込み動作WOが行われる。第2素子17Bにおいて、例えば、磁気抵抗効果(例えばトンネル磁気抵抗効果)に基づいて、読み出し動作ROが行われる。第3素子17Cにおいて、スピントルク発振による高周波磁界に基づいて、磁気雑音生成動作NOが行われる。
実施形態によれば、大規模化が可能な演算装置が提供できる。
以上、具体例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明は、これらの具体例に限定されるものではない。例えば、演算装置に含まれる演算ユニット、記憶部、記憶領域、ライン状磁性部、及び、素子などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。
また、各具体例のいずれか2つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
その他、本発明の実施の形態として上述した演算装置を基にして、当業者が適宜設計変更して実施し得る全ての演算装置も、本発明の要旨を包含する限り、本発明の範囲に属する。
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…記憶部、 10L…ライン状磁性部、 10R…記憶領域、 10T…磁気トラック、 10U…記憶ユニット、 10W…磁壁、 15a…入力部、 15b…リザーバ部、 15c…出力部、 15d…第1出力部、 15e…第2出力部、 17A〜17C…第1〜第3素子、 17a〜17d…第1〜第4磁性層、 17na〜17nc…第1〜第3非磁性層、 18U…半導体記憶ユニット、 20…演算部、 20U…演算ユニット、 51…コントローラ、 Lbit…サイズ、 NO…磁気雑音生成動作、 PRU…演算ユニット、 RO…読み出し動作、 WO…書き込み動作、 p1、p2…第1、第2部分

Claims (9)

  1. 1つまたは複数の演算ユニットを備え、
    前記1つまたは複数の前記演算ユニットの1つは、
    複数の記憶領域を含む記憶部と、
    演算部と、
    を含み、
    前記複数の記憶領域の少なくとも1つはライン状磁性部を含む、演算装置。
  2. 前記演算装置は、学習可能である、請求項1記載の演算装置。
  3. 前記ライン状磁性部は、磁性トラックを含む、請求項1または2に記載の演算装置。
  4. 前記ライン状磁性部は、磁壁を含み、
    前記ライン状磁性部を流れる電流に応じて、前記磁壁が前記ライン状磁性部内を移動する、請求項1〜3のいずれか1つに記載の演算装置。
  5. 前記複数の演算ユニットの少なくとも2つは、並列に動作する、請求項1〜4のいずれか1つに記載の演算装置。
  6. 前記複数の演算ユニットの前記1つに含まれる前記記憶部の記憶容量は、10ビット以下である、請求項1〜5のいずれか1つに記載の演算装置。
  7. 前記記憶部は、第1素子を含み、
    前記第1素子は、
    第1磁性層と、
    前記第1磁性層と、前記ライン状磁性部の第1部分と、の間に設けられた第1非磁性層と、
    を含む、請求項1〜6のいずれか1つに記載の演算装置。
  8. 前記記憶部は、第2素子を含み、
    前記第2素子は、
    第2磁性層と、
    前記第2磁性層と、前記ライン状磁性部の第2部分と、の間に設けられた第2非磁性層と、
    を含む、請求項1〜7のいずれか1つに記載の演算装置。
  9. 前記記憶部は、第3素子を含み、
    前記第3素子は、
    第3磁性層と、
    第4磁性層と、
    前記第3磁性層と前記第4磁性層との間に設けられた第3非磁性層と、
    を含む、請求項1〜8のいずれか1つに記載の演算装置。
JP2018044541A 2018-03-12 2018-03-12 演算装置 Active JP6826063B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018044541A JP6826063B2 (ja) 2018-03-12 2018-03-12 演算装置
US16/120,583 US10698860B2 (en) 2018-03-12 2018-09-04 Arithmetic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018044541A JP6826063B2 (ja) 2018-03-12 2018-03-12 演算装置

Publications (2)

Publication Number Publication Date
JP2019159705A true JP2019159705A (ja) 2019-09-19
JP6826063B2 JP6826063B2 (ja) 2021-02-03

Family

ID=67842707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018044541A Active JP6826063B2 (ja) 2018-03-12 2018-03-12 演算装置

Country Status (2)

Country Link
US (1) US10698860B2 (ja)
JP (1) JP6826063B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010205931A (ja) * 2009-03-03 2010-09-16 Fujitsu Ltd 磁気記憶デバイスの製造方法及び磁気記憶装置
WO2017183573A1 (ja) * 2016-04-21 2017-10-26 Tdk株式会社 磁壁利用型アナログメモリ素子および磁壁利用型アナログメモリ
JP2017204833A (ja) * 2016-05-13 2017-11-16 株式会社東芝 発振器及び演算装置
US20180039881A1 (en) * 2016-08-04 2018-02-08 International Business Machines Corporation Racetrack synapse for neuromorphic applications

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2664072A1 (fr) 1990-06-29 1992-01-03 Thomson Csf Systeme de calcul neuronal.
US8127075B2 (en) 2007-07-20 2012-02-28 Seagate Technology Llc Non-linear stochastic processing storage device
US10592802B2 (en) * 2016-02-28 2020-03-17 Purdue Research Foundation Electronic synapse having spin-orbit torque induced spike-timing dependent plasticity
JP6817922B2 (ja) 2017-05-18 2021-01-20 株式会社東芝 演算装置
US11169732B2 (en) 2017-05-18 2021-11-09 Kabushiki Kaisha Toshiba Computing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010205931A (ja) * 2009-03-03 2010-09-16 Fujitsu Ltd 磁気記憶デバイスの製造方法及び磁気記憶装置
WO2017183573A1 (ja) * 2016-04-21 2017-10-26 Tdk株式会社 磁壁利用型アナログメモリ素子および磁壁利用型アナログメモリ
JP2017204833A (ja) * 2016-05-13 2017-11-16 株式会社東芝 発振器及び演算装置
US20180039881A1 (en) * 2016-08-04 2018-02-08 International Business Machines Corporation Racetrack synapse for neuromorphic applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XUANYAO FONG ET AL.: ""Spin-Transfer Torque Devices for Logic and Memory: Prospects and Perspectives"", IEEE TRANSACTIONS ON COMPUTER-AIDED DESGIN OF INTEGRATED CIRCUITS AND SYSTEMS [ONLINE], vol. 35, no. 1, JPN6020031220, 9 October 2015 (2015-10-09), ISSN: 0004332013 *

Also Published As

Publication number Publication date
US10698860B2 (en) 2020-06-30
JP6826063B2 (ja) 2021-02-03
US20190278740A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
US11501131B2 (en) Neural network hardware accelerator architectures and operating method thereof
Tang et al. # exploration: A study of count-based exploration for deep reinforcement learning
Chen et al. ReGAN: A pipelined ReRAM-based accelerator for generative adversarial networks
JP7146751B2 (ja) レイアウト設計システム及びレイアウト設計方法
Gokmen et al. Acceleration of deep neural network training with resistive cross-point devices: Design considerations
Liu et al. Low‐power computing with neuromorphic engineering
Kan et al. A probabilistic logic neuron network for associative learning
Zheng et al. Learning in energy-efficient neuromorphic computing: algorithm and architecture co-design
US11169732B2 (en) Computing device
TWI699762B (zh) 使用半導體記憶元件之類神經網路運算電路及動作方法
Luitel et al. Quantum inspired PSO for the optimization of simultaneous recurrent neural networks as MIMO learning systems
Yan et al. Training memristor-based multilayer neuromorphic networks with SGD, momentum and adaptive learning rates
Hasan et al. A fast training method for memristor crossbar based multi-layer neural networks
Wiwatcharakoses et al. A self-organizing incremental neural network for continual supervised learning
Merrild et al. HyperNTM: evolving scalable neural turing machines through HyperNEAT
Wang et al. Mapping the BCPNN learning rule to a memristor model
JP6817922B2 (ja) 演算装置
JP6826063B2 (ja) 演算装置
Liao et al. Weighted synapses without carry operations for RRAM-based neuromorphic systems
JP6902000B2 (ja) 演算装置
Slavova et al. Mathematical analysis of memristor CNN
Nowshin Spiking neural network with memristive based computing-in-memory circuits and architecture
Bala et al. Learning method for ex-situ training of memristor crossbar based multi-layer neural network
Meng et al. A kind of artificial intelligence model based on nature without statistic
Williams et al. OSTP nanotechnology-inspired grand challenge: Sensible machines (extended version 2.5)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201007

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: 20201215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210114

R151 Written notification of patent or utility model registration

Ref document number: 6826063

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151