(57)【要約】【課題】大規模化が可能な演算装置を提供する。【解決手段】実施形態によれば、演算装置は、１つまたは複数の演算ユニットを含む。前記１つまたは複数の前記演算ユニットの１つは、複数の記憶領域を含む記憶部と、演算部と、を含む。前記複数の記憶領域の１つはライン状磁性部を含む。【選択図】図１
2019159705.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数の演算ユニットを備え、
前記１つまたは複数の前記演算ユニットの１つは、
複数の記憶領域を含む記憶部と、
演算部と、
を含み、
前記複数の記憶領域の少なくとも１つはライン状磁性部を含む、演算装置。
【請求項２】
前記演算装置は、学習可能である、請求項１記載の演算装置。
【請求項３】
前記ライン状磁性部は、磁性トラックを含む、請求項１または２に記載の演算装置。
【請求項４】
前記ライン状磁性部は、磁壁を含み、
前記ライン状磁性部を流れる電流に応じて、前記磁壁が前記ライン状磁性部内を移動する、請求項１〜３のいずれか１つに記載の演算装置。
【請求項５】
前記複数の演算ユニットの少なくとも２つは、並列に動作する、請求項１〜４のいずれか１つに記載の演算装置。
【請求項６】
前記複数の演算ユニットの前記１つに含まれる前記記憶部の記憶容量は、１０４ビット以下である、請求項１〜５のいずれか１つに記載の演算装置。
【請求項７】
前記記憶部は、第１素子を含み、
前記第１素子は、
第１磁性層と、
前記第１磁性層と、前記ライン状磁性部の第１部分と、の間に設けられた第１非磁性層と、
を含む、請求項１〜６のいずれか１つに記載の演算装置。
【請求項８】
前記記憶部は、第２素子を含み、
前記第２素子は、
第２磁性層と、
前記第２磁性層と、前記ライン状磁性部の第２部分と、の間に設けられた第２非磁性層と、
を含む、請求項１〜７のいずれか１つに記載の演算装置。
【請求項９】
前記記憶部は、第３素子を含み、
前記第３素子は、
第３磁性層と、
第４磁性層と、
前記第３磁性層と前記第４磁性層との間に設けられた第３非磁性層と、
を含む、請求項１〜８のいずれか１つに記載の演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、演算装置に関する。
【背景技術】
【０００２】
演算装置において、大規模化が望まれる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０３２２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態は、大規模化が可能な演算装置を提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態によれば、演算装置は、１つまたは複数の演算ユニットを含む。前記１つまたは複数の前記演算ユニットの１つは、複数の記憶領域を含む記憶部と、演算部と、を含む。前記複数の記憶領域の少なくとも１つはライン状磁性部を含む。
【図面の簡単な説明】
【０００６】
【図１】図１（ａ）及び図１（ｂ）は、第１実施形態に係る演算装置を例示する模式図である。
【図２】第１実施形態に係る演算装置を例示する模式図である。
【図３】第１実施形態に係る演算装置を例示する模式図である。
【図４】演算装置に適用されるモデルを例示する模式図である。
【図５】第１実施形態に係る演算装置の一部を例示する模式図である。
【図６】第１実施形態に係る演算装置の動作を例示するフローチャート図である。
【図７】図７（ａ）〜図７（ｃ）は、第２実施形態に係る演算装置のモデルを例示する模式図である。
【図８】第２実施形態に係る演算装置の動作を例示するフローチャート図である。
【図９】第２実施形態に係る演算装置を例示する模式図である。
【図１０】第３実施形態に係る演算装置のモデルを例示する模式図である。
【図１１】第３実施形態に係る演算装置を例示する模式図である。
【図１２】第３実施形態に係る演算装置を例示する模式図である。
【図１３】第３実施形態に係る演算装置を例示する模式図である。
【図１４】第３実施形態に係る演算装置を例示する模式図である。
【図１５】第３実施形態に係る演算装置の動作を例示するフローチャート図である。
【図１６】実施形態に係る演算装置の一部を例示する模式的断面図である。
【発明を実施するための形態】
【０００７】
以下に、本発明の各実施の形態について図面を参照しつつ説明する。  
図面は模式的または概念的なものであり、各部分の厚さと幅との関係、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。  
本願明細書と各図において、既出の図に関して前述したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
【０００８】
（第１実施形態）  
図１（ａ）及び図１（ｂ）は、第１実施形態に係る演算装置を例示する模式図である。  図１（ａ）に示すように、実施形態に係る演算装置１１０は、記憶ユニット１０Ｕ及び演算ユニット２０Ｕを含む。記憶ユニット１０Ｕは、例えば、磁気トラックを含む。演算ユニット２０Ｕは、例えば、積和演算を行う。演算ユニット２０Ｕは、判断を行っても良い。演算ユニット２０Ｕは、例えば、ＦＰＧＡである。
【０００９】
この例では、コントローラ５１が設けられている。コントローラ５１は、記憶ユニット１０Ｕ及び演算ユニット２０Ｕの動作を制御する。
【００１０】
図１（ａ）に示す例のように、半導体記憶ユニット１８Ｕが更に設けられても良い。半導体記憶ユニット１８Ｕは、例えば、演算装置１１０で実施される動作の一部に関する情報を記憶しても良い。記憶ユニット１０Ｕに含まれる磁気トラックと、半導体記憶ユニット１８Ｕと、を用いることで、両者に適した記憶をさせることができ、例えば、高速な演算が得られる。
【００１１】
演算装置１１０は、１つまたは複数の演算ユニットＰＲＵを含む。１つの演算ユニットＰＲＵは、例えば、記憶ユニット１０Ｕの一部と、演算ユニット２０Ｕの一部と、を含む。１つの演算ユニットＰＲＵに含まれる記憶機構が、記憶ユニット１０Ｕの一部に対応する。１つの演算ユニットＰＲＵに含まれる演算機構が、演算ユニット２０Ｕの一部に対応する。
【００１２】
以下、複数の演算ユニットＰＲＵの１つに関して説明する。  
図１（ｂ）に示すように、複数の演算ユニットＰＲＵの１つは、記憶部１０及び演算部２０を含む。記憶部１０は、複数の記憶領域１０Ｒを含む。複数の記憶領域１０Ｒの少なくとも１つは、ライン状磁性部１０Ｌを含む。ライン状磁性部１０Ｌは、例えば、磁気トラック１０Ｔである。ライン状磁性部１０Ｌの長さは、ライン状磁性部１０Ｌの幅及び高さよりも長い。ライン状磁性部１０Ｌにおける磁化の向きが、記憶される情報に対応する。
【００１３】
例えば、１つの記憶領域１０Ｒ（ライン状磁性部１０Ｌ）において、書き込み動作ＷＯ及び読み出し動作ＲＯが行われる。書き込み動作ＷＯは、後述する第１素子により行われる。書き込み動作ＷＯは、例えば、スピン注入に基づいて行われる。読み出し動作ＲＯは、後述する第２素子により行われる。読み出し動作ＲＯは、例えば、磁気抵抗効果（例えばトンネル磁気抵抗効果）に基づいて行われる。
【００１４】
この例では、１つの記憶領域１０Ｒ（ライン状磁性部１０Ｌ）において、磁気雑音生成動作ＮＯが行われる。磁気雑音生成動作ＮＯは、後述する第３素子により行われる。磁気雑音生成動作ＮＯは、例えば、スピントルク発振素子から生じる高周波磁界に基づいて行われる。
【００１５】
図１（ｂ）に示すように、演算装置１１０においては、複数の記憶領域１０Ｒ（ライン状磁性部１０Ｌ）を用いて、演算部２０において積和演算が行われる。後述するように、例えば、大規模化が容易になり、省エネルギー化が容易になる。
【００１６】
以下、実施形態に係る演算装置の構成の概要の例について説明する。  
図２及び図３は、第１実施形態に係る演算装置を例示する模式図である。  
図２に示すように、図１（ｂ）に示す記憶部１０（演算ユニットＰＲＵ）が、複数設けられる。演算ユニットＰＲＵは、例えば、サブコアに対応する。演算部２０は、複数の記憶部１０に保持されるデータを用いて演算（例えば積和演算）を行う。複数の記憶部１０及び演算部２０が、１つの演算ユニットＰＲＵに含まれる。図３に示すように、複数の演算ユニットＰＲＵが設けられる。大規模な演算が可能になる。
【００１７】
実施形態に係る演算装置１１０は、学習可能である。
【００１８】
コンピュータやエレクトロニクスデバイスの高性能化および高機能化が求められている。演算装置において、膨大な情報処理に対応し得ることが望まれている。情報処理の大規模化により、例えば、ＩｏＴ（Internet of Things）、ＡＩ(Artificial Intelligence）、または、深層学習（Deep leaning）などにおける膨大な情報処理に対応できる。
【００１９】
一方、省エネルギー・エレクトロニクスの開発も望まれている。省エネルギー化により、例えば、世界的規模で議論されるＣＯ２削減に対応できる。省エネルギー化により、例えば、大規模震災後の電力事情を緩和できる。
【００２０】
このような状況において、生体に学ぶ省エネルギー・エレクトロニクスとしてのニューラルネットワーク（神経回路網）が注目を集めている。ニューラルネットワークとエレクトロニクスとの関係は歴史が古い。例えば、１９４３年に発表された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).）。彼は、相互結合型ネットワークが、イジングスピン・モデルのハミルトニアンで表現できることを示した。これにより、神経回路網での情報処理をスピン系の統計力学を用いて考察することが可能となった。さらに、アップ・ダウンスピンの２値状態をとるイジングスピンを神経細胞（ニューロン）の活動または情報ビットに対応させることが可能になった。
【００２２】
本格的な脳神経回路網として、TrueNorthチップと呼ばれる素子が２０１４年にＩＢＭとコーネル大学との協力により開発された（P.A. Merolla et al., Science 345, 668 (2014).）。この例では、２８ｎｍルールのＣＭＯＳ技術で素子が作製された。この素子は、全体として、１００万個のニューロンとして動作する。この素子は、１４０億個のニューロンから構成される人間の脳に比較すると、規模が小さく、消費電力も大きい。
【００２３】
ホップフィールドによるイジング・マシンの考え、及び、そのハードウエアを実現したTrueNorthチップの欠点は、学習機能を有していないことである。この欠点を補うために、神経回路網装置が提案されている。例えば、制限ボルツマン・マシン、及び、それをさらに進化させたディープ・ボルツマン・マシンなどが提案されている。さらに、ディープ・ラーニングと総称される神経回路網装置のハードウエアが、近年開発されている。
【００２４】
上で述べたように、学習機能をもつ神経回路網装置は、人間の脳に匹敵する大規模な省エネルギー型情報処理装置として期待されている。しかし、大規模化および省エネルギー化のいずれに関しても、現在極めて不十分な状況にある。
【００２５】
実施形態は、例えば、神経回路網装置に適用できる。実施形態は、例えば、神経回路網装置の大規模化および省エネルギー化を可能とする。実施形態においては、例えば、学習機能をもつ神経回路網装置の記憶部に、磁気トラックが用いられる。これにより、神経回路網装置（演算装置）が大規模化できる。省エネルギーが可能になる。
【００２６】
以下、制限ボルツマン・マシンを例として、実施形態の１つについて説明する。  
図４は、演算装置に適用されるモデルを例示する模式図である。  
図４は、制限ボルツマン・マシンの構成を例示している。制限ボルツマン・マシンは、ｍ個のノードvj（j=1,2,…,m）を含む可視層と、ｎ個のノードhi（i=1,2,…,n）を含む隠れ層と、それらを結合するリンクwijと、を含む。ノードおよびリンクは、それぞれニューロンおよびシナプスに対応する。外部データが、可視層のニューロンvjに読み込まれる。ニューロンvjに読み込まれた外部データに基づいて、シナプスwijの学習が行われる。
【００２７】
制限ボルツマン・マシンにおける学習は、シナプスwijの更新を、式（１）に矢印で示した手順を繰り返すことで、進められる。
【数１】
2019159705.tif 000003
【００２８】
式（１）において、「v(0)j」は、マシンの可視層へ最初に入力される外部データである。「v(k)j」は、ｋ回（k>=1）の演算を繰り返した後に可視層に入力されたデータである。
【００２９】
以下の式（２）が設定される。
【数２】
2019159705.tif 000004
【００３０】
式（２）において、「p(hi=1|v(0))」は、「vj=v(0)j」のときに、「hi=1」となる確率である。「p(hi=1|v(k))は、「vj=v(k)j」のとき「hi=1」となる確率である。式（２）において、「()」は、シグモイド関数である。「ci」は、隠れ層のバイアス磁場である。
【００３１】
全ての外部データについて更新を繰り返した後に、学習は終了する。
【００３２】
今までに知られている制限ボルツマン・マシン（参考例）において、１個のニューロンvj,hi、または、シナプスwijなどには、例えば、ＳＲＡＭ素子が用いられる。このＳＲＡＭ素子においては、６個のトランジスタが含まれる。
【００３３】
これに対して、実施形態に係る演算装置１１０（制限ボルツマン・マシン装置）では、既に説明したように、ライン状磁性部１０Ｌが用いられる。以下、ライン状磁性部１０Ｌの例について説明する。
【００３４】
図５は、第１実施形態に係る演算装置の一部を例示する模式図である。  
図５は、記憶部１０に設けられる記憶領域１０Ｒ（ライン状磁性部１０Ｌ）を例示している。ライン状磁性部１０Ｌは、複数の磁壁１０Ｗを含む。例えば、ライン状磁性部１０Ｌを流れる電流に応じて、磁壁１０Ｗがライン状磁性部１０Ｌ内を移動する。２つの磁壁１０Ｗの間の領域（磁区）が、記憶を保持する領域に対応する。ライン状磁性部１０Ｌにおける磁化の向きが、記憶される情報に対応する。
【００３５】
実施形態においては、１つの磁区（１ビット）が、ニューロンに対応する。１つの磁区（１ビット）が、シナプスに対応する。１つの磁区（１ビット）のサイズＬｂｉｔ（長さまたは幅）は、５０ｎｍ以下であり、小さい。これにより、上記の参考例（６個のトランジスタを含む構造）と比較して、チップ面積を大幅に縮小することができる。
【００３６】
例えば、(n+m)個のニューロンに比べて数が多いmxn個のシナプスに、上記のライン状磁性部１０Ｌ（例えば、磁壁移動型磁気記録素子）を用いる。これにより、チップ面積を効果的に縮小できる。
【００３７】
実施形態においては、上記の参考例に対して、読出し動作または書き込み動作が簡単になる。上記の参考例における読出し動作及び書き込み動作のためには、多くの素子（選択トランジスタ、アドレス用メモリー及びコントローラ）などが必要である。実施形態においては、これらの回路が省略できる。回路が省略可能であることは、例えば、数1000ビットの小規模なメモリーにおいて特に有効である。例えば、多数の小規模な演算単位を含む省エネ型の高速演算装置においては、小規模なメモリーが多数用いられる。回路が省略できることは、高速演算装置において特に有利である。
【００３８】
さらに、一般に、シナプス係数の更新は、式（２）のシグモイド関数により行われる。この方法では、例えば、温度Ｔにおける熱揺らぎの確率計算が行われる。これに対して、実施形態においては、上記の磁気雑音生成動作ＮＯを行うことができる。実施形態においては、例えば、スピントルク発振素子によるマイクロ波照射による疑似焼きなまし法を用いることが可能となる。
【００３９】
これにより、実施形態においては、マイクロ波磁場（磁場揺らぎ）の印加による確率的磁化反転現象を利用することが可能になる。これにより、式（２）のシグモイド関数σをステップ関数σ0に、置き換えることができる。さらに、「p(hi|v(0))」及び「p(hi|v(k))」を、「h(0)i」及び「h(k)i」に、それぞれ置き換えることができる。
【００４０】
従って、実施形態においては、式（２）に代えて、以下の式（３）を用いることができる。
【数３】
2019159705.tif 000005
【００４１】
これに伴い式（１）は、式（４）に置き換わる。
【数４】
2019159705.tif 000006
【００４２】
１つの例のハードウエアにおける演算は、上で述べた省エネルギー及び高速性の観点から、並列に配置された複数の演算ユニットＰＲＵで進められる。
【００４３】
複数の演算ユニットＰＲＵの１つの例が、図１（ｂ）に示されている。  
図１（ｂ）において、１つの演算ユニットＰＲＵは、サブコアに対応する。サブコアは、例えば、演算の最小単位に対応する。
【００４４】
この例では、サブコアSC(1,1)は、３種の磁気トラック１０Ｔを含む。第１の磁気トラック１０Ｔは、可視層のニューロンの状態vj（1,-1）を記憶する磁気トラックに対応する。第２の磁気トラック１０Ｔは、隠れ層のニューロンの状態hj（1,-1）を記憶する磁気トラック１０Ｔに対応する。第３の磁気トラック１０Ｔは、学習すべきシナプスwijの内容を記憶する磁気トラックに対応する。シナプスwijには、４ビットが割り当てられている。
【００４５】
以下、実施形態で行われる動作の例について説明する。簡単のため、ここでは、n=m=1000とする。
【００４６】
例えば、はじめに、vjの磁気トラック１０Ｔに、最初のデータv(0)j（j=1,2,…,n）を後述する第１素子（スピン注入素子）により書込む。式（３）に従って、h(0)1を計算し、h1ビットを更新する。このとき、v(0)jの読出しは、後述する第２素子（例えばトンネル磁気抵抗素子）により行う。h(0)1の計算は、積和演算装置（演算部２０）により行う。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」に対応する磁気トラック１０Ｔは、SC(1,1)におけるそれらと共通なので、演算の省略が可能である。得られたh(0)jを用いて、式（５）を用いて、v(1)jを計算する。ここで、「bi」は、可視層のバイアス磁場である。
【数５】
2019159705.tif 000007
【００４９】
同様の計算を、ｋ回（１回を含む）繰り返して、v(k)jが得られる。
【００５０】
ここで、「σ0」は、原点で不連続なステップ関数である。それらと式（３）の「h(0)i」及び「h(k)i」を用いて式（４）に従って、wijを更新する。
【００５１】
この作業を、全てのデータについて繰り返しす。これにより、シナプスwij、「bj」及び「ci」の学習が終了する。例えば、1000個のサブコアを含む演算単位（演算ユニットＰＲＵ）は、「コア」に対応する。この「コア」は、106個のシナプスを含んでいる。複数の「コア」を用いることにより、さらに大きな演算装置が得られる。
【００５２】
図６は、第１実施形態に係る演算装置の動作を例示するフローチャート図である。  
図６は、上記の演算の例を示している。図６に示すように、初期パラメタを書き込む（ステップＳ１１０）。例えば、シナプスのパラメタ「wij」の初期値、可視層のパラメタ「bj」（バイアス磁場）の初期値、及び、隠れ層のパラメタ「cｉ」（バイアス磁場）の初期値を、ライン状磁性部１０Ｌ（磁気トラック１０Ｔ）に書き込む。
【００５３】
「v(0)j」を書き込む（ステップＳ１２０）。第１の学習データを、v(0)j（j=1,2,…,m）として、可視層に書き込む。
【００５４】
「h(0)ｉ」の計算と書き込みを行う（ステップＳ１３０）。例えば、マイクロ波（高周波）照射の状態で、v(0)jから、h(0)ｉ（i=1,2,…,n）を計算し、隠れ層に書き込む。
【００５５】
「v(1)j」の計算と書き込みを行う（ステップＳ１４０）。例えば、マイクロ波照射の状態で、h(0)ｉから、v(1)jを計算し、隠れ層に書き込む。
【００５６】
「h(1)ｉ」の計算と書き込みを行う（ステップＳ１５０）。例えば、マイクロ波照射の状態で、v(1)jから、h(1)ｉ（i=1,2,…,n）を計算し、隠れ層に書き込む。
【００５７】
パラメタを更新する（ステップＳ１６０）。例えば、「v(0)j」、「v(1)j」、「h(0)ｉ」及び「h(1)ｉ」を用いて、「wij」、「bj」及び「cｉ」のそれぞれの値を更新する。
【００５８】
「v(0)j」を書き込む（ステップＳ１７０）。例えば、第２の学習データを、v(0)j（j=1,2,…,m）として、可視層に書き込む。
【００５９】
以降、全ての学習データを用いて、上記のパラメタの更新（ステップＳ１２０〜Ｓ１７０）を繰り返す。
【００６０】
（第２実施形態）  
図７（ａ）〜図７（ｃ）は、第２実施形態に係る演算装置のモデルを例示する模式図である。  
図８は、第２実施形態に係る演算装置の動作を例示するフローチャート図である。  
図７（ａ）〜図７（ｃ）に示すモデルは、深層学習の１つのモデルである。この例では、ディープ・ボルツマン・マシン（ＤＢＭ）を例に、第２実施形態について説明する。ＤＢＭにおいては、複数の隠れ層が階層的に積みあげられる。
【００６１】
ＤＢＭにおける学習では、まず、可視層ｖと、第１層の隠れ層h(1)と、に注目し、第２層以上の隠れ層は無視される。これにより、可視層ｖと、第１層の隠れ層h(1)と、は、制限ボルツマン・マシン（ＲＢＭ）とみなすことができる。
【００６２】
図８に示すように、「w(1)ij」を学習する（ステップＳ２１０）。例えば、上で述べたＲＢＭの学習法に則って、「v」と「h(1)」との間の結合「w(1)ij」を学習する。
【００６３】
次に、「w(2)ij」を学習する（ステップＳ２２０）。例えば、隠れ層「h(1)」と、隠れ層「h(2)」と、を用いて、制限ボルツマン・マシンと同様な方法により、「w(2)ij」を学習する。「h(1)」の初期値は、「v」に入力したデータと、学習した「w(1)ij」と、を利用して得られる。
【００６４】
次に、「w(3)ij」を学習する（ステップＳ２３０）。例えば、隠れ層「h(2)」と、隠れ層「h(3)」と、を用いて、制限ボルツマン・マシンと同様な方法により、「w(3)ij」を学習する。「h(2)」の初期値は、「v」に入力したデータと、学習した「w(1)ij」と、学習した「w(2)ij」と、を利用して得られる。
【００６５】
さらに層が増えても、同様の学習法を繰り返すことにより、結合を学習することができる。
【００６６】
図９は、第２実施形態に係る演算装置を例示する模式図である。  
図９は、本実施形態に係る演算装置１２０におけるサブコア（演算ユニットＰＲＵ）の例を示している。既に説明したように、サブコアは、演算の最小単位である。
【００６７】
（第３実施形態）  
図１０は、第３実施形態に係る演算装置のモデルを例示する模式図である。  
図１０に示すように、第３実施形態においては、ＥＳＮ（Echo State Network）と呼ばれるモデルが採用される。第３実施形態に係る演算装置は、例えば、リザーバ・コンピュータ（ＲＣ）である。
【００６８】
ＥＳＮは、入力部１５ａ、リザーバ部１５ｂ、及び、出力部１５ｃを含む。入力部１５ａ及び出力部１５ｃのそれぞれにおいては、例えば、フィードフォワード型ネットワークが形成される。リザーバ部１５ｂにおいては、例えば、リカレント・ネットワーク（ＲＮＮ）が形成される。一般に、ＲＮＮにおける結合パラメタの学習は、極めて困難である。このため、ＲＣでは、出力部１５ｃの結合パラメタのみを学習する。
【００６９】
入力部１５ａ及び出力部１５ｃのそれぞれにおけるノード数に比較して、リザーバ部１５ｂにおけるノード数は、圧倒的に大きくされる。変数には、連続変数が用いられる。時間には、離散時間が用いられる。この例では、入力部１５ａ及び出力部１５ｃのそれぞれにおけるノード数を１００とし、リザーバ部１５ｂにおけるノード数を１０００とする。ノード変数及び結合パラメタのそれぞれは、４ビットである。
【００７０】
図１１〜図１４は、第３実施形態に係る演算装置を例示する模式図である。  
図１１は、入力部１５ａを例示している。図１２は、リザーバ部１５ｂを例示している。図１３は、第１出力部１５ｄを例示している。図１４は、第２出力部１５ｅを例示している。
【００７１】
図１１において、演算部２０において、積和演算が行われる。このとき、「winij」の学習は行われない。図１１に示すように、入力部１５ａにおける演算結果は、リザーバ部１５ｂに提供される。
【００７２】
図１２において、演算部２０において、積和演算が行われる。このとき、「wij」の学習は行われない。図１２に示すように、リザーバ部１５ｂにおける演算結果は、出力部１５ｃに提供される。
【００７３】
図１３に示すように、第１出力部１５ｄの演算部２０において、積和演算が行われる。第１出力部１５ｄにおける演算結果は、第２出力部１５ｅに提供される。
【００７４】
図１４に示すように、第２出力部１５ｅの演算部２０において、積和演算が行われる。第２出力部１５ｅにおける演算結果は、第１出力部１５ｄに提供される。例えば、「woutij」の更新が行われる。
【００７５】
本実施形態においては、以下の式（６）及び式（７）が用いられる。
【００７６】
【数６】
2019159705.tif 000008
【数７】
2019159705.tif 000009
【００７７】
図１５は、第３実施形態に係る演算装置の動作を例示するフローチャート図である。  
例えば、初期パラメタを書き込む（ステップＳ３１０)。例えば、シナプスのパラメタの初期値、及び、変数xjの初期値を書き込む。パラメタの初期値は、「winij」の初期値、「wij」の初期値、及び、「woutij」の初期値を含む。
【００７８】
例えば、「uj」を書き込む（ステップＳ３２０）。例えば、第１時間ステップ（n=1）の学習データを「uj」として、入力層（入力部１５ａ）に書き込む。
【００７９】
例えば、「xｉ」を計算する（ステップＳ３３０）。例えば、「uj」から「xｉ」を計算し、その結果をリザーバ部１５ｂに供給する。第１時間ステップ（n=1）で入力部１５ａに書き込まれたデータu（100ノード）と、リザーバ部１５ｂの初期値と、を用いて、リザーバ部１５ｂの変数x（1000ノード）が更新される（式（６）参照））。
【００８０】
例えば、「xj」を更新する（ステップＳ３４０）。例えば、「xj」を初期値から更新し、その結果を、出力部１５ｃに供給する。例えば、更新された値の内の100ノードの状態が、出力部１５ｃに出力される（式（７）参照））。入力部１５ａ及びリザーバ部１５ｂの結合パラメタは、更新されず初期値のままである。
【００８１】
例えば、「y」を計算する（ステップＳ３５０）。
【００８２】
例えば、「uj」を書き込む（ステップＳ３６０）。第２時間ステップ（n=2）の学習データを「uj」として、入力層（入力部１５ａ）に書き込む。
【００８３】
上記を繰り返して、全ての学習データを用いて、y(n)（n=1,2,…,T）を計算する。例えば、n=1,2,……,Tについて、上記の演算を繰り返す。これにより、y(n)（n=1,2,……,T）が得られる。
【００８４】
パラメタ「woutij」を決定する（ステップＳ３７０）。目標値ytを書き込む。例えば、「y(n)」と「yt」との差が最小となる「woutij」を求める（図１４参照）。出力部１５ｃは、単純なフィードフォワード型ネットワークなので、例えば、最小二乗法などを用いて、「woutij」を求めることができる。
【００８５】
上記の例において、複数の演算ユニットＰＲＵの少なくとも２つは、並列に動作する。これにより、高速の演算が可能である。
【００８６】
実施形態において、複数の演算ユニットＰＲＵの１つに含まれる記憶部１０の記憶容量は、例えば、１０４ビット以下であることが好ましい。１つの記憶部１０の記憶容量を比較的小さくし、並列の演算を行うことで、大規模な演算（例えば、学習）が高速に実施できる。
【００８７】
以下、既に説明した第１〜第３素子の例について説明する。
【００８８】
図１６は、実施形態に係る演算装置の一部を例示する模式的断面図である。  
図１６に示すように、記憶部１０は、第１素子１７Ａを含んでも良い。第１素子１７Ａは、例えば、書き込み素子である。第１素子１７Ａは、第１磁性層１７ａ及び第１非磁性層１７ｎａを含む。第１非磁性層１７ｎａは、第１磁性層１７ａと、ライン状磁性部１０Ｌの第１部分ｐ１と、間に設けられる。
【００８９】
図１６に示すように、記憶部１０は、第２素子１７Ｂを含んでも良い。第２素子１７Ｂは、例えば、読み出し素子である。第２素子１７Ｂは、第２磁性層１７ｂ及び第２非磁性層１７ｎｂを含む。第２非磁性層１７ｎｂは、第２磁性層１７ｂと、ライン状磁性部１０Ｌの第２部分ｐ２と、の間に設けられる。
【００９０】
図１６に示すように、記憶部１０は、第３素子１７Ｃを含んでも良い。第３素子１７Ｃは、第３磁性層１７ｃ、第４磁性層１７ｄ及び第３非磁性層１７ｎｃを含む。第３非磁性層１７ｎｃは、第３磁性層１７ｃと第４磁性層１７ｄとの間に設けられる。
【００９１】
第１素子１７Ａにおいて、例えば、スピン注入に基づいて、書き込み動作ＷＯが行われる。第２素子１７Ｂにおいて、例えば、磁気抵抗効果（例えばトンネル磁気抵抗効果）に基づいて、読み出し動作ＲＯが行われる。第３素子１７Ｃにおいて、スピントルク発振による高周波磁界に基づいて、磁気雑音生成動作ＮＯが行われる。
【００９２】
実施形態によれば、大規模化が可能な演算装置が提供できる。
【００９３】
以上、具体例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明は、これらの具体例に限定されるものではない。例えば、演算装置に含まれる演算ユニット、記憶部、記憶領域、ライン状磁性部、及び、素子などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。
【００９４】
また、各具体例のいずれか２つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
【００９５】
その他、本発明の実施の形態として上述した演算装置を基にして、当業者が適宜設計変更して実施し得る全ての演算装置も、本発明の要旨を包含する限り、本発明の範囲に属する。
【００９６】
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
【００９７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９８】
１０…記憶部、  １０Ｌ…ライン状磁性部、  １０Ｒ…記憶領域、  １０Ｔ…磁気トラック、  １０Ｕ…記憶ユニット、  １０Ｗ…磁壁、  １５ａ…入力部、  １５ｂ…リザーバ部、  １５ｃ…出力部、  １５ｄ…第１出力部、  １５ｅ…第２出力部、  １７Ａ〜１７Ｃ…第１〜第３素子、  １７ａ〜１７ｄ…第１〜第４磁性層、  １７ｎａ〜１７ｎｃ…第１〜第３非磁性層、  １８Ｕ…半導体記憶ユニット、  ２０…演算部、  ２０Ｕ…演算ユニット、  ５１…コントローラ、  Ｌｂｉｔ…サイズ、  ＮＯ…磁気雑音生成動作、  ＰＲＵ…演算ユニット、  ＲＯ…読み出し動作、  ＷＯ…書き込み動作、  ｐ１、ｐ２…第１、第２部分
【図１】
2019159705.tif 000010
【図２】
2019159705.tif 000011
【図３】
2019159705.tif 000012
【図４】
2019159705.tif 000013
【図５】
2019159705.tif 000014
【図６】
2019159705.tif 000015
【図７】
2019159705.tif 000016
【図８】
2019159705.tif 000017
【図９】
2019159705.tif 000018
【図１０】
2019159705.tif 000019
【図１１】
2019159705.tif 000020
【図１２】
2019159705.tif 000021
【図１３】
2019159705.tif 000022
【図１４】
2019159705.tif 000023
【図１５】
2019159705.tif 000024
【図１６】
2019159705.tif 000025