(57)【要約】      （修正有）【課題】スピントルク発振器（ＳＴＯ）を振動子として用いて、その振動磁場を制御することによって動作する階層型ニューラルネットワークを提供する。【解決手段】階層型ニューラルネットワークは、入力層と出力層の間に少なくとも１つの中間層２、３を含む。各層は、複数のノードを含む。各ノードは離間した２つのＳＴＯを含み、中間層の各ノードの２つのＳＴＯは、印加される磁場の大きさに応じて発振出力の逆相同期（位相差π）から同相同期（位相差０）へ至る間の同期度を変化させて非線形な活性化関数を形成する。【選択図】図１
2019125130.tif 000002
【特許請求の範囲】
【請求項１】
階層型ニューラルネットワークであって、
入力層と出力層の間に少なくとも１つの中間層を含み、各層は複数のノードを含み、各ノードは離間した２つのスピントルク発振器（ＳＴＯ）を含み、
中間層の各ノードの２つのＳＴＯは、印加される磁場の大きさに応じて発振出力の逆相同期（位相差π）から同相同期（位相差０）へ至る間の同期度を変化させて非線形な活性化関数を形成する、階層型ニューラルネットワーク。
【請求項２】
前記出力層を除く層の前記各ノードの２つのＳＴＯの前記発振出力の交流電流を加算して分配する分配器と、
分配器が出力する交流電流によってエルステッド磁場を発生する磁場発生器と、をさらに含み、
磁場発生器によるエルステッド磁場を次層の対応するノードの前記２つのＳＴＯに印加する前記磁場として用いる、請求項１に記載の階層型ニューラルネットワーク。
【請求項３】
前記分配器と前記磁場発生器の間に設けられ、前記分配器が出力する交流電流の大きさを変えることにより前記次層の対応するノードの前記２つのＳＴＯに印加する前記磁場の大きさを変える、重み付け器をさらに含む、請求項２に記載の階層型ニューラルネットワーク。
【請求項４】
前記入力層の前記各ノードの２つのＳＴＯに印加する前記磁場を供給する外部磁場発生器をさらに含む、請求項１〜３のいずれか１項に記載の階層型ニューラルネットワーク。
【請求項５】
前記階層型ニューラルネットワークは多層パーセプトロンを構成し、前記活性化関数はシグモイド関数に近似する、請求項１〜４のいずれか１項に記載の階層型ニューラルネットワーク。
【請求項６】
階層型ニューラルネットワークの制御方法であって、
階層型ニューラルネットワークは、入力層と出力層の間に少なくとも１つの中間層を含み、各層は複数のノードを含み、各ノードは離間した２つのスピントルク発振器（ＳＴＯ）を含み、
入力層の各ノードの発振している２つのＳＴＯに、各々の入力信号に対応した大きさの磁界を印加するステップと、
磁界印加後の入力層の各ノードの２つのＳＴＯの発振出力の交流電流を所定の割合で重み付けした後に合算して合算電流を生成するステップと、
合算電流によってエルステッド磁場を発生させて中間層の各ノードの発振している２つのＳＴＯに印加するステップと、
エルステッド磁場印加後の中間層の各ノードの２つのＳＴＯの発振出力の交流電流を所定の割合で重み付けした後に合算して合算電流を生成するステップと、
合算電流によってエルステッド磁場を発生させて出力層の各ノードの発振している２つのＳＴＯに印加するステップと、
エルステッド磁場印加後の出力層の各ノードの２つのＳＴＯの発振出力を得るステップと、を含む制御方法。
【請求項７】
前記各層の各ノードの２つのＳＴＯを前記磁界または前記エルステッド磁場の印加前または印加と同時に直流電流により発振させるステップをさらに含む、請求項６に記載の制御方法。
【請求項８】
前記中間層の各ノードの２つのＳＴＯは、印加されるエルステッド磁場の大きさに応じて発振出力の逆相同期（位相差π）から同相同期（位相差０）へ至る間の同期度を変化させて非線形な活性化関数を形成する、請求項６に記載の制御方法。
【請求項９】
前記階層型ニューラルネットワークは多層パーセプトロンを構成し、前記活性化関数はシグモイド関数に近似する、請求項８に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークに関し、より具体的には、スピントルク発振器を振動子として用いる階層型ニューラルネットワークに関する。
【背景技術】
【０００２】
ニューラルネットワークは、人間の情報処理システムの中枢である脳神経系を模擬した並列分散学習的な情報処理モデルである。そのモデルとして、歴史的に、形式ニューロンが提案され、それを２層構造にしたパーセプトロンが提案され、さらに、学習のためにバックプロパゲーション（ＢＰ、誤差逆伝播）を用いる多層パーセプトロンが提案された。多層パーセプトロンのような順伝播型のニューラルネットワークは、階層型ニューラルネットワークと呼ばれ、入力層、少なくとも１つ以上の中間層（隠れ層）、及び出力層を含む複数の層で構成され、同じ層内のニューロンセルは互いに接続せず、異なる層間のニューロンセルが相互に接続される。
【０００３】
形式ニューロンでは、複数の入力（Ｘi）に重み（Ｗi）を乗じてから加算して（Σ（Ｘi・Ｗi）、活性化関数（ｆ）に入力してその出力（ｙ＝ｆ（Σ（Ｘi・Ｗi））を得る。非特許文献１は、形式ニューロンに２つの振動子（位相発振器）を用いた階層型ニューラルネットワーク（振動子パーセプトロン）を開示する。また、特許文献１は、層間アクセラレータの複数の層間ユニットの各々が複数の発振器を含む機械学習装置を開示し、さらに、その複数の発振器としてスピントルク発振器を用いることを開示する。
【０００４】
スピントルク発振器（以下、「ＳＴＯ」とも呼ぶ）は、磁気抵抗素子（ＭＲ素子）を発振源とする発振器である。ＭＲ素子は、基本的には３層構造を有し、自由層と固定層とその間に挟まれた非磁性層からなる。例えば、非特許文献２は、自由層に垂直磁化膜、固定層に面内磁化膜を用いて、発振パワー０.５５μＷ、半値幅４７ＭＨzのマイクロ波を発振するＳＴＯを開示する。ＳＴＯは、共振器や周波数を高めるための回路などを必要とせずに、マイクロ波帯の交流電圧を直接発生することができる。そのため、発振器を１００ｎｍ以下と小型化できる可能性がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−３３３８５号公報
【非特許文献】
【０００６】
【非特許文献１】P. Kaluza, Neurocomputing 118, 127-132, (2013)
【非特許文献２】H. Kubota et al., Appl. Phys. Express 6, 103003 (2013)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１に開示されるような振動子パーセプトロンを構成する形式ニューロンの２つの振動子（位相発振器）としてＳＴＯを用いる場合、同相同期（位相差０）と逆相同期（位相差π）を二値（０、１）に対応させて動作させる必要がある。その際、その同期状態を外力（電流や磁界等）で制御できることが求められる。しかし、特許文献１や非特許文献２に開示されるような従来のＳＴＯの構成（電気結合）ではその同期状態の制御を行うことが困難である。
【０００８】
本発明は、スピントルク発振器（ＳＴＯ）を振動子として用い、その振動磁場により同相・逆相間の同期状態を制御できる、言い換えれば振動磁場を入力として動作する階層型ニューラルネットワーク（振動子パーセプトロン）を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様の階層型ニューラルネットワークは、入力層と出力層の間に少なくとも１つの中間層を含み、各層は複数のノードを含み、各ノードは離間した２つのスピントルク発振器（ＳＴＯ）を含む。中間層の各ノードの２つのＳＴＯは、印加される磁場の大きさに応じて発振出力の逆相同期（位相差π）から同相同期（位相差０）へ至る間の同期度を変化させて非線形な活性化関数を形成する。
【００１０】
本発明の他の一態様の階層型ニューラルネットワークの制御方法では、適用対象となる階層型ニューラルネットワークは、入力層と出力層の間に少なくとも１つの中間層を含み、各層は複数のノードを含み、各ノードは離間した２つのスピントルク発振器（ＳＴＯ）を含む。その制御方法は、（ａ）入力層の各ノードの発振している２つのＳＴＯに、各々の入力信号に対応した大きさの磁界を印加するステップと、（ｂ）磁界印加後の入力層の各ノードの２つのＳＴＯの発振出力の交流電流を所定の割合で重み付けした後に合算して合算電流を生成するステップと、（ｃ）合算電流によってエルステッド磁場を発生させて中間層の各ノードの発振している２つのＳＴＯに印加するステップと、（ｄ）エルステッド磁場印加後の中間層の各ノードの２つのＳＴＯの発振出力の交流電流を所定の割合で重み付けした後に合算して合算電流を生成するステップと、（ｅ）合算電流によってエルステッド磁場を発生させて出力層の各ノードの発振している２つのＳＴＯに印加するステップと、（ｆ）エルステッド磁場印加後の出力層の各ノードの２つのＳＴＯの発振出力を得るステップと、を含む。
【発明の効果】
【００１１】
本発明の各実施態様によれば、形式ニューロンの２つの振動子（位相発振器）にＳＴＯを用い、かつその振動磁場を入力として動作する階層型ニューラルネットワーク（振動子パーセプトロン）を構成することができるので、小型で高集積化可能な機械学習装置を提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態の階層型ニューラルネットワークの全体構成を示す図である。
【図２】本発明の一実施形態のＳＴＯを用いた振動子ユニットの構成を示す（ａ）上面図と（ｂ）断面図である。
【図３】本発明の一実施形態のＳＴＯを用いた振動子ユニットの発振の様子を説明する図である。
【図４】本発明の一実施形態のＳＴＯを用いた振動子ユニットのシミュレーション結果（ｘ方向に射影した磁化成分の時間発展）を示す図である。
【図５】本発明の一実施形態のＳＴＯを用いた振動子ユニットの外部磁場と同期度の関係を示す図である。
【図６】本発明の一実施形態のＳＴＯを用いた振動子ユニットの外部磁場と発振出力の振幅及び交流磁場との関係を示す図である。
【図７】一般的なシグモイド関数を示す図である。
【図８】本発明の一実施形態の階層型ニューラルネットワークの実装例を示す図である。
【図９】本発明の一実施形態の階層型ニューラルネットワークを用いた機械学習の流れを説明する図である。
【図１０】図９の機械学習の結果を説明する図である。
【発明を実施するための形態】
【００１３】
図面を参照しながら本発明の実施の形態を説明する。図１は、本発明の一実施形態の階層型ニューラルネットワークの全体構成を示す図である。図では、入力層１と出力層４の間に２つの中間層（隠れ層とも呼ばれる）２、３がある４層の構成を示している。中間層は少なくとも１つ以上あればよく、その数は任意に決めることができる。各層には複数の振動子ユニット５が設けられており、その数は層毎に任意に決めることができる。入力層１の振動子ユニット５の各々には入力ｘi（ｉ＝１〜振動子数ｎ１）が入力され、振動子ユニット５の各出力は次の中間層２の全ての振動子ユニット５に入力される。以降同様な信号の伝播が順次行われ、出力層４の振動子ユニット５の各々から出力ｙi（ｉ＝１〜振動子数ｎ２）が出力される。
【００１４】
図２は、本発明の一実施形態のＳＴＯを用いた振動子ユニットの基本構成を示す（ａ）上面図と（ｂ）断面図である。振動子ユニット５０は離間した２つのスピントルク発振器ＳＴＯ１、ＳＴＯ２を含む。（ａ）の５１、５２はＳＴＯ１、ＳＴＯ２を構成する磁気抵抗素子（以下、ＭＲ素子とも呼ぶ）の上部電極を示している。２つの上部電極の間隔は、ニューラルネットワークの振動子（演算素子）としては例えば約４０ｎｍ以上、デバイスサイズを考慮して例えば約４０〜８０ｎｍの範囲が好ましい。
【００１５】
図２（ｂ）の断面図に示すように、ＭＲ素子は複数の層から構成される。ＳＴＯ１とＳＴＯ２は同じＭＲ素子構造を有する。ＭＲ素子は、基本構成として基板５４上に順番に積層された下側電極層５５、固定層（参照層とも呼ばれる）５６、非磁性層５７、自由層（発振層とも呼ばれる）５８、及び上側電極層５１を含む。振動子ユニット５０は、詳細は後述するが、他にＭＲ素子を発振させるためのバイアス電流源と、直流と交流を分けるためのバイアスティを含む。
【００１６】
ＭＲ素子の自由層５８と固定層５６は、面直方向（面内タイプの場合は面内方向）に容易磁化軸を持つ強磁性体層からなる。Ｆｅ、Ｃｏ、Ｎｉなどの鉄系又は鉄系合金（例えばＦｅＣｏ）が代表的な材料である。これらにＢ（ボロン）、Ｓｉ、Ｔｉ、Ｃｒ、Ｖなどを添加した合金ＦｅＢ、ＦｅＣｏＢ、ＦｅＣｏＢＳｉ、ＦｅＣｏＢＴｉ、ＦｅＣｏＢＣｒ、ＦｅＣｏＢＶなどを用いることもできる。特に垂直磁化の場合には、ＣｏＰｔ、ＣｏＰｄ、ＦｅＰｔ、ＦｅＰｄなどの合金、又はそれらの合金薄膜の多層膜、或いはそれら合金にＢ、Ｃｒなどを添加した合金を用いることができる。自由層５８と固定層５６は、同じ方向または異なる方向（例えば自由層５８は面直方向で固定層５６は面内方向）に容易磁化軸を持つ構成のいずれの構成でも良い。非磁性層５７は、非磁性金属または絶縁体からなり、例えばＣｕ、Ａｇ、Ｃｒ等を含む金属・合金、またはＭｇ、Ａｌ、Ｓｉ、Ｃａ、Ｌｉ等の酸化物、窒化物、ハロゲン化物等から構成される。非磁性層５７としては、大きなＭＲ比と小さな面抵抗を両立するＭｇＯ（酸化マグネシウム）が好ましい。
【００１７】
ＭＲ素子では、自由層５８から固定層５６に又はその逆向きに直流電流を流すと、自由層５８の磁化にスピントルクが生じて歳差運動が励起される。この歳差運動はトンネル磁気抵抗効果又は巨大磁気抵抗効果を通じて高周波信号に変換される。ＳＴＯの発振周波数は、ＭＲ素子の材料によって決まりおおよそ数ＧＨｚから十数ＧＨｚの範囲であり、外部磁界下で与える直流電流の大きさにより発振周波数と振幅を変化させることができる。
【００１８】
図３〜図６を参照しながら本発明の一実施形態のＳＴＯを用いた振動子ユニットの動作／制御について説明する。図３の（ａ）と（ｂ）は、図２の振動子ユニット（ＭＲ素子）５０の自由層５８でのスピン６０の歳差運動の様子を示すイメージ図である。この歳差運動によりＳＴＯの電気抵抗が周期的に変化して高周波発振する。図３（ａ）では電子のスピン６０間の交換相互作用により電子のスピン６０の磁化の相対的な向きが揃って両者の発振が同相同期（位相差０）状態となる。
【００１９】
図３（ｂ）では電子のスピン６０間のジャロシンスキー・守谷相互作用（ＤＭ相互作用）によりスピン６０の磁化の相対的な向きをずらして両者の発振が逆相同期（位相差π）状態となるようにする。図３（ｃ）は、（ｂ）のＤＭ相互作用により２つのＳＴＯ１、２の発振が逆相同期（位相差π）に近い状態となっている様子を示している。図の横軸は発振開始からの時間（ｎｓ）であり、縦軸はｘ方向へ射影した磁化の大きさである。
【００２０】
本発明では、図３に示す２つのＳＴＯ１、２の発振状態、すなわち同相同期と逆相同期の発振状態をＳＴＯに外部磁場（以下、振動磁場とも呼ぶ）を印加して制御する。より具体的には、２つのＳＴＯ１、２の（ｂ）の逆相同期（位相差π）状態から振動磁場を印加して（ａ）の同相同期（位相差０）状態までの間の位相同期度を制御／調整する。図４は、図２の本発明の一実施形態のＳＴＯを用いた振動子ユニットのシミュレーション結果（ｘ方向に射影した磁化成分の時間発展）である。この時のシミュレーションの条件は下記の通りである。
・振動磁場Ｈac＝３００Ｏｅ、
・飽和磁化Ｍs＝８００ｋＡ／ｍ、
・スティフネス定数Ａ＝７ｐＪ／ｍ、
・ＤＭ相互作用Ｄ＝０.８ｍＪ／ｍ2
発振開始から０.６ｎｓでは逆相同期に近いが、４９.４〜５０.０ｎｓでは同期度は０.４程度に変化している。このように、振動磁場とＤＭ相互作用を利用することにより２つのＳＴＯ１、２の発振出力を逆相同期状態から同相同期状態へ変化させることが可能であることがわかる。
【００２１】
図５は、本発明の一実施形態のＳＴＯを用いた振動子ユニットの外部磁場（振動磁場）と発振出力の位相同期状態との関係を示す図である。横軸の振動磁場Ｈac（Ｏｅ）を０から９００Ｏｅの範囲で変化させた場合、縦軸の位相同期度が−０.６近くから１.０（同相同期）の範囲で図のように非線形に変化することがわかる。本発明では、この外部磁場（振動磁場）による位相同期度の制御（非線形な変化）を利用して、以下に述べるように振動子ユニットの発振出力の正味の交流出力を変化させる。
【００２２】
図５に示すように外部磁場（振動磁場）によって振動子ユニットを構成する２つのＳＴＯ１、２の発振出力の位相同期度が変化すると、その位相同期度に応じて２つのＳＴＯ１、２の発振出力の正味（合計）の交流電流も変化（増減）することになる。すなわち、位相同期度が小さければ正味の交流電流も小さくなり、逆に位相同期度が大きくなれば正味の交流電流も大きくなる。本発明ではこの２つのＳＴＯ１、２の発振出力の正味（合計）の交流電流が作るエルステッド磁場を次層（図１の中間層２、３や出力層４）の振動子ユニットを構成する２つのＳＴＯ１、２に印加する外部磁場（振動磁場）として利用する。この場合、エルステッド磁場は下記の式で与えられる。ＳＴＯがｃｏｓ（ｗｔ）で発振する時の発振強度Ｐoutは、
Ｐout＝Ｆ2（Ｉ、Ｒ）／２                    （１）
で与えられる。ここで、ＦはＭＲ素子や回路に応じて決まる定数、Ｉは交流電流の大きさ、ＲはＭＲ素子の抵抗である。この時のＳＴＯの交流電流が作るエルステッド磁場ＨOeは、
ＨOe＝（１／２πｒ）・（Ｐout／Ｚc）1/2    （２）
で与えられる。
【００２３】
上記の式（１）、（２）から定数Ｆを介してＳＴＯの発振出力の規格化した振幅１に対するエルステッド磁場ＨOeを決めることができる。図６は、その振幅１に対するエルステッド磁場ＨOeを示すグラフである。図６では、横軸のＳＴＯに印加する振動磁場Ｈacに対する、左側縦軸の規格化したＳＴＯの発振出力の正味の交流電流の振幅と右側縦軸のエルステッド磁場ＨOeを表している。ここでは、振幅１に対してエルステッド磁場ＨOe＝９０Ｏｅが得られると仮定している。図６の非線形な波形は、図７に例示する一般的なシグモイド関数の波形（Ｓ字波形）に近い形をしている。すなわち、振動磁場Ｈacを入力として非線形に変化する形式ニューロンの活性化関数ｆとして利用できることを示唆している。本発明の発明者は、この新たな知見を踏まえて、図６に例示される波形（グラフ）を振動子ユニットの非線形な活性化関数として利用すること、すなわち、振動磁場Ｈacを入力として動作する振動子ユニットを各層に用いる階層型ニューラルネットワークを構成することを想到した。
【実施例１】
【００２４】
図８に本発明の一実施形態の階層型ニューラルネットワークの実施（実装）例を示す。図８は、図１の入力層１０と中間層２０の構成及びその入出力を示している。入力層１０は３つの振動子ユニットｕｎｉｔ１、２、３を含む。各振動子ユニットは離間した２つのＳＴＯ（ＭＲ素子）を含む。ＳＴＯの各上側電極１５には、コイルとキャパシタを含み直流と交流を分けるためのバイアスティ（ＢＴ）１７と、ＭＲ素子を発振させるためのバイアス電流源１６が接続される。各振動子ユニットの近傍には、入力となる外部磁場を生成するための交流電流源１１と外部磁場発生器１２が配置される。
【００２５】
入力層１０の振動子ユニットの２つのバイアスティ（ＢＴ）１７の出力は分配器１８に接続される。分配器１８は、２つのＳＴＯの発振出力の交流電流を加算して分配する。分配器１８の３出力の各々は重み付け器Ｗ(1)１９に接続する。重み付け器Ｗ(1)１９は、分配器１８が出力する交流電流の大きさを変えることができる。重み付け器Ｗ(1)１９の出力は、他の２つの振動子ユニットの対応する２つの重み付け器Ｗ(1)１９の出力と共に磁場発生器２１に接続される。磁場発生器２１は、次の中間層２０の振動子ユニットの近傍に配置され、重み付け器Ｗ(1)１９によって値が調整（増減）された振動子ユニットの交流電流の合算値に応じたエルステッド磁場を発生する。この磁場発生器２１が発生するエルステッド磁場は、上述した図６のエルステッド磁場ＨOeに相当し、次の中間層２０の振動子ユニットの２つのＳＴＯに印加する振動磁場として利用される。
【００２６】
中間層２０の構成は、基本的に入力層１０の構成と同じであり、３つの振動子ユニットｕｎｉｔ１、２、３を含む。各振動子ユニットは離間した２つのＳＴＯ（ＭＲ素子）を含む。ＳＴＯの各上側電極３２には、コイルとキャパシタを含み直流と交流を分けるためのバイアスティ（ＢＴ）３５と、ＭＲ素子を発振させるためのバイアス電流源３４が接続される。中間層２０の振動子ユニットの２つのバイアスティ（ＢＴ）３５の出力は分配器３６に接続される。分配器３６は、２つのＳＴＯの発振出力の交流電流を加算して分配する。分配器３６の３出力の各々は重み付け器Ｗ(2)３７に接続する。なお、中間層２０の次層の出力層（図１の出力層３０）の構成も基本的に入力層１０や中間層２０の構成と同様であり、振動子ユニットが分配器３６や重み付け器(2)３７を介さずに出力する点が異なっている。
【実施例２】
【００２７】
次に、図９と図１０を参照して本発明の一実施形態の階層型ニューラルネットワークを用いた機械学習の実施例を説明する。図９は、本発明の一実施形態の階層型ニューラルネットワークを用いた機械学習の流れを説明する図である。図１０は、図９の機械学習の結果を説明する図である。なお、この機械学習を図８の実装例を用いて行う場合の動作についても言及する。また、比較のために従来のニューラルネットワーク（ＮＮ）を用いて図９の機械学習を行った結果も示す。
【００２８】
図９は、機械学習として、ＮＩＳＴ（アメリカ国立標準技術研究所）が作成した手書き文字のデータベース（ＭＮＩＳＴデータベース）の手書き数字５（２８×２８画素の数字５の画像）を認識させる場合の流れを示している。入力層が全画素数に対応した７８４ノード（本発明では振動子ユニットに相当、以下同様）、中間層が５０ノード、出力層が数字０〜９に対応した１０ノードをそれぞれ含む。図９での信号の流れの概要は以下の通りである。
【００２９】
（Ａ）入力層の各ノードの出力ｘ（ｘ＝ｘ1〜ｘ784）に重みＷ1（Ｗ1＝Ｗ1(1)〜Ｗ1(784)）をかけてノード全体で合算して中間層の各ノードへの入力ａ（ａ＝ａ1〜ａ50）とする。
（Ｂ）中間層の各ノードで入力ａを活性化関数ｆの入力として出力ｚ＝ｆ（ａ）（ｚ＝ｚ1〜ｚ50（＝ｆ（ａ1）〜ｆ（ａ50））を得る。
（Ｃ）中間層の出力ｚ（ｚ＝ｚ1〜ｚ50）に重みＷ2（Ｗ2＝Ｗ2(1)〜Ｗ2(50)）をかけてノード全体で合算して出力層の入力ｂ（ｂ＝ｂ1〜ｂ10）とする。
（Ｄ）出力層の各ノードで入力ｂを活性化関数ｆの入力として出力ｙ＝ｆ（ｂ）（ｙ＝ｙ1〜ｙ10（＝ｆ（ｂ1）〜ｆ（ｂ10）））を得る。出力ｙ1〜ｙ10（＝ｆ（ｂ1）〜ｆ（ｂ10））が数字の０〜９に対応した出力値となる。手書き数字５が認識されると出力ｙ6（＝ｆ（ｂ6））の値が１またはこれに近い値となる。
【００３０】
次に図９の機械学習（手書き数字５の認識）の詳細を説明する。本発明の振動子ユニットを使った階層型ニューラルネットワークを本発明のｓｐｉｎ−ＮＮ、比較用の従来のニューラルネットワークを従来のＮＮとする。従来のＮＮでは活性化関数にシグモイド関数を使う。
＜準備＞
（Ｐ１）バッチサイズ（１００枚）、学習率（０.１）、繰り返し回数（１０，０００回）とする。
（Ｐ２）ＭＮＩＳＴのデータベース：訓練用画像は６０，０００枚、テスト用画像は１０，０００枚とする。
（Ｐ３）１エポックに相当する繰り返し回数は、６００００／１００＝６００となる。
ここで、エポックは、ランダムに選択しているが、１００枚選択して学習するという工程を６００回行うことで６０，０００枚相当の学習をしたとみなせるので、これを学習の１単位（エポック）とする。
【００３１】
＜全体の流れ＞
（１）訓練用画像からそれぞれ１００枚をランダムに選ぶ。
（２）画像は２８ピクセル×２８ピクセルのグレースケールで統一されている。グレースケールの値（以下では画素値と呼ぶ）は、０−１に規格化されている。画素値を入力層のノードへの入力とする。入力層の各ノードからの出力をｘとする。なお、従来のＮＮでは画素値＝ｘとなる。画像に対応した正解ラベル（０−９の数字）を別途記憶しておく。
（３）入力値を本発明のｓｐｉｎ−ＮＮ用に修正する。修正方法は、最大値が９００Ｏｅとなる磁場強度に線形変換する。得られた磁場強度を入力層の振動子ユニットへの入力とする。これは、図８の入力層１０の各振動子ユニットに外部磁場発生器１２によって外部磁場として印加するＩｎｐｕｔ１、２、３に相当する。入力された磁場強度に応じたダイナミクス（発振出力）の振幅が振動子ユニットからの出力ｘｘとなる。振幅に対して見積もられる振動磁場強度をかけて出力ｘとする。今回はｘ＝９０＊ｘｘを採用している。出力ｘは図８の入力層１０の分配器１８の出力となる。
（４）学習工程（後述）を実行する。
（５）指定した学習率で重みを更新する。
（６）６００回実施したら１エポックとなる。１エポックごとに認識率を計算して出力する。その後、上記（１）に戻る。
【００３２】
＜（４）学習工程の詳細＞
（４Ａ）全ての重み変数の初期値を乱数で与える。本発明のｓｐｉｎ−ＮＮではバイアス変数はあってもなくても良い。なお、バイアス変数を０にしても動作することを確認している。
（４Ｂ）入力層の各ノードの出力ｘ（ｘ＝ｘ1〜ｘ784）に重みＷ1（Ｗ1＝Ｗ1(1)〜Ｗ1(784)）をかけてノード全体で合算して中間層の各ノードへの入力ａ（ａ＝（ａ1〜ａ50）とする。入力ａは図８の中間層２０の各ノードの振動子ユニットに振動磁場を印加する磁場発生器２１の入力電流に相当する。
（４Ｃ）中間層の各ノードにａを入力し、活性化関数ｆによる非線形変換を行う。出力をｚ１（＝ｆ（ａ））とする。出力ｚ１は、図８の中間層２０の各振動子ユニットからの出力に相当する。
（４Ｄ）中間層の各ノードからの出力ｚ１と重みＷ2（Ｗ2＝Ｗ2(1)〜Ｗ2(50)）をかけてノード全体で合算して出力層の各ノードへの入力ｂ（ｂ＝ｂ1〜ｂ10）とする。
（４Ｅ）出力層の各ノードにｂを入力し、活性化関数ｆによる非線形変換を行う。出力をｙ（＝ｆ（ｂ））とする。ここで、従来のＮＮでは出力層の活性化関数をシグモイド関数とは別の関数にすることが多いが、本発明のｓｐｉｎ−ＮＮでは全層で同じものを使っている。
（４Ｆ）正解ラベルと出力ｙの誤差を求める。誤差逆伝播法に従い、重みの更新量を算出する。ここで、正解ラベルは、５の手書き文字画像には５というラベルがつく。この場合、正解ラベルは［０、０、０、０、０、１、０、０、０、０］という形式になっている。各数字（０、１）は出力層のノード出力に対応する。出力層の出力でもし５に相当するノードからの出力が１に近ければ誤差は小さく、その他の数字に対応するノードからの出力が１に近ければ誤差は大きくなる。なお、本発明のｓｐｉｎ−ＮＮでの逆伝播時の計算には、磁化ダイナミクスの計算から得られた活性化関数に似せたシグモイド関数（図６に例示される横軸ｘ＝６００Ｏｅで立ち上がるようにシフトさせたもの）を用いている。
【００３３】
図１０の上述した機械学習の結果から従来のＮＮによる学習結果はその精度（正答率）が約９５％であったのに対して、本発明のｓｐｉｎ−ＮＮでは約７５％であった。これは、従来法に比べてやや劣るものの、本発明のＳＴＯを振動子ユニットとして用いた階層型ニューラルネットワークの実用化が可能なレベルであることを意味している。
【００３４】
以上、本発明を実施するための形態（実施例）について、図を引用しながら説明した。しかし、本発明はこれらの形態（実施例）に限られるものではない。本発明はその趣旨を逸脱しない範囲で当業者の知識に基づき種々なる改良、修正、変形を加えた形態・態様で実施できるものである。
【産業上の利用可能性】
【００３５】
本発明のＳＴＯを振動子ユニットとして用いた階層型ニューラルネットワークは、小型で高集積化可能な機械学習装置として画像認識等の深層学習のために広く利用することができる。
【符号の説明】
【００３６】
１、１０：入力層
２、３、２０：中間層
４：出力層
５、５０：振動子ユニット
１１：交流電流源
１２：外部磁場発生器
１５、３２、５１、５２：上側電極
１７、３５：バイアスティ（ＢＴ）
１８、３６：分配器
１９、３７：重み付け器
２１：磁場発生器
５４：基板
５５：下側電極層
５６：固定層（参照層）
５７：非磁性層
５８：自由層（発振層）
６０：電子のスピン
【図１】
2019125130.tif 000003
【図２】
2019125130.tif 000004
【図３】
2019125130.tif 000005
【図４】
2019125130.tif 000006
【図５】
2019125130.tif 000007
【図６】
2019125130.tif 000008
【図７】
2019125130.tif 000009
【図８】
2019125130.tif 000010
【図９】
2019125130.tif 000011
【図１０】
2019125130.tif 000012