(57)【要約】  本明細書では、二部メモリスタネットワーク及びそれらのネットワークを訓練させる方法が記載される。一例のケースでは、メモリスタネットワークは複数のナノファイバを含み、各ナノファイバは金属コア及びメモリスタシェルを備える。メモリスタネットワークはナノファイバ上に配置された複数の電極も備え得る。複数の電極の第１のセットはメモリスタネットワーク内の複数の入力電極を含み、複数の電極の第２のセットはメモリスタネットワーク内の複数の出力電極を含み得る。メモリスタネットワークは、二部メモリスタネットワークとして実施され、本明細書に記載の訓練方法により訓練され得る。
2020521248.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力ノード及び複数の出力ノードを備えるメモリスタネットワークを訓練するための方法であって、
前記複数の入力ノードのうちの１つの入力ノードに入力電圧又は入力電流を印加するステップと、
前記複数の出力ノードのうちの１つの出力ノードを接地するステップと、
前記１つの出力ノードにおける出力電流又は出力電圧を測定するステップと、
前記出力電流又は出力電圧を、目標電流又は目標電圧と比較して、誤差デルタを決定するステップと、
前記誤差デルタの大きさに比例する期間の間、前記１つの出力ノードにしきい値電圧又はしきい値電流を印加するステップとを含む、
方法。
【請求項２】
前記誤差デルタが負値のとき、前記１つの出力ノードに前記しきい値電圧又は前記しきい値電流を印加するステップは、前記誤差デルタに比例する期間の間、前記１つの出力ノードに正値のしきい値電圧又は正値のしきい値電流を印加するステップと、前記誤差デルタに比例する期間の間、前記１つの出力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するステップとを含む、
請求項１に記載の方法。
【請求項３】
前記誤差デルタが正値のとき、前記１つの出力ノードに前記しきい値電圧又は前記しきい値電流を印加するステップは、前記１つの入力ノードに印加される前記入力電圧又は前記入力電流の極性を逆転させるステップと、前記誤差デルタに比例する前記期間の間、前記１つの出力ノードに正値のしきい値電圧又は正値のしきい値電流を印加するステップと、前記誤差デルタに比例する期間の間、前記１つの出力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するステップとを含む、
請求項１に記載の方法。
【請求項４】
前記誤差デルタを誤差デルタ電圧又は誤差デルタ電流に変換するステップと、
前記１つの出力ノードに前記誤差デルタ電圧又は前記誤差デルタ電流を印加するステップと、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する第２の期間の間、前記しきい値電圧又は前記しきい値電流を前記１つの入力ノードに印加するステップとをさらに含む、
請求項１に記載の方法。
【請求項５】
前記１つの入力ノードに印加される前記入力電圧又は前記入力電流が正値の場合、前記１つの入力ノードに前記しきい値電圧又は前記しきい値電流を印加するステップは、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前１つの入力ノードに正値のしきい値電圧又は正値のしきい値電流を印加するステップと、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するステップとを含む、
請求項４に記載の方法。
【請求項６】
前記１つの入力ノードに印加される前記入力電圧又は前記入力電流が負値の場合、前記１つの入力ノードに前記しきい値電圧又は前記しきい値電流を印加するステップは、
前記１つの出力ノードに印加される前記誤差デルタ電圧又は前記誤差デルタ電流の極性を逆転させるステップと、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前１つの入力ノードに正値のしきい値電圧又は正値のしきい値電流を印加するステップと、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するステップとを含む、
請求項４に記載の方法。
【請求項７】
前記メモリスタネットワークは二部メモリスタネットワークを含む、
請求項１に記載の方法。
【請求項８】
前記メモリスタネットワークを訓練するための逆伝播アルゴリズムを再現する、
請求項１に記載の方法。
【請求項９】
金属コア及びメモリスタシェルをそれぞれ備える複数のナノファイバと、
前記複数のナノファイバ上に配置されかつ複数の入力ノード及び複数の出力ノードを備える複数の電極と、
訓練プロセッサとを備えるメモリスタネットワークであって、
前記訓練プロセッサは、
前記複数の入力ノードのうちの１つの入力ノードに入力電圧又は入力電流を印加し、
前記複数の出力ノードのうちの１つの出力ノードを接地し、
前記１つの出力ノードにおける出力電流又は出力電圧を計測し、
前記出力電流又は前記出力電圧を、目標電流又は目標電圧と比較して、誤差デルタを決定し、及び、
前記誤差デルタの大きさに比例する期間の間、前記１つの出力ノードにしきい値電圧又はしきい値電流を印加するように構成される、
メモリスタネットワーク。
【請求項１０】
前記誤差デルタが負値のとき、前記訓練プロセッサは、
前記誤差デルタに比例する前記期間の間、前記出力ノードに正値のしきい値電圧又は正値のしきい値電流を印加し、及び、
前記誤差デルタに比例する前記期間の間、前記出力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するようにさらに構成される、
請求項９に記載のメモリスタネットワーク。
【請求項１１】
前記誤差デルタが正値のとき、前記訓練プロセッサは、
前記１つの入力ノードに印加される前記入力電圧又は前記入力電流の極性を逆転させ、
前記誤差デルタに比例する前記期間の間、前記出力ノードに正値のしきい値電圧又は正値のしきい値電流を印加し、及び、
前記誤差デルタに比例する前記期間の間、前記出力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するようにさらに構成される、
請求項９に記載のメモリスタネットワーク。
【請求項１２】
前記訓練プロセッサは、
前記誤差デルタを誤差デルタ電圧又は誤差デルタ電流に変換し、
前記１つの出力ノードに前記誤差デルタ電圧又は前記誤差デルタ電流を印加し、及び、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する第２の期間の間、前記１つの入力ノードに前記しきい値電圧又は前記しきい値電流を印加するようにさらに構成される、
請求項９に記載のメモリスタネットワーク。
【請求項１３】
前記１つの入力ノードに印加された前記入力電圧又は前記入力電流が正値であったとき、前記訓練プロセッサは、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに、正値のしきい値電圧又は正値のしきい値電流を印加し、及び、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに、負値のしきい値電圧又は負値のしきい値電流を印加するように構成される、
請求項１２に記載のメモリスタネットワーク。
【請求項１４】
前記１つの入力ノードに印加された前記入力電圧又は前記入力電流が負値であったとき、前記訓練プロセッサは、
前記出力ノードに印加される前記誤差デルタ電圧又は前記誤差デルタ電流の極性を逆転させ、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに、正値のしきい値電圧又は正値のしきい値電流を印加し、及び、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに、負値のしきい値電圧又は負値のしきい値電流を印加するように構成される、
請求項１２に記載のメモリスタネットワーク。
【請求項１５】
前記メモリスタネットワークは、二部メモリスタネットワークを含む、
請求項９に記載のメモリスタネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願への相互参照］
本出願は、２０１７年５月２２日に出願された米国仮出願第６２／５０９４２３号に基づく優先権を主張し、その内容の全体は参照により本明細書に組み込まれる。
【背景技術】
【０００２】
メモリスタは、受動的な非線形の２端子電子素子である。メモリスタにおいて、デバイスの電気抵抗は、直前までにデバイスに流れていた電流（又はデバイスに印加されていた電圧）の履歴に依存する。従って、電位差又は電圧降下を加えることにより、メモリスタの抵抗を徐々に変化させることができる。この電圧降下が除去されると、メモリスタは現在の抵抗値を保持する。電圧降下の極性が逆になると、抵抗の変化は逆向きになる。
【０００３】
特定の回路構成において、メモリスタは、そのコンダクタンスに等しい重みを有する人工シナプスとして機能し得る。重みの強さは、メモリスタの電圧降下を制御することにより、時間の経過とともに変化させられる。典型的には、メモリスタはしきい値電圧降下を有し、それ以下の電圧ではコンダクタンスの変化が発生しない。
【０００４】
シナプスネットワークへのメモリスタの使用は、ニューロモーフィック回路開発の分野で有望なアプローチとして提案されている。メモリスタは、シナプス前及びシナプス後の電圧制御用の相補型金属酸化膜半導体（ＣＭＯＳ）ベースの回路を備えるクロスバーシナプスネットワークに組み込まれている。これらの回路は、ＣＭＯＳベースの電圧制御及び電流制御を用いて、メモリスタの抵抗またはインピーダンス（例えばメモリ）の変化を生成できることを示す。
【０００５】
メモリスタニューラルネットワークでは、入力はメモリスタのネットワーク内の電極セットへの電圧として表され得る。ネットワーク内の別の電極セットでは、電圧又は電流が読み出される。これらは、ニューラルネットワークの出力と見なされる。このようなメモリスタニューラルネットワークにおける学習の目的は、コスト関数又は誤差関数を最小化させるために、メモリスタのコンダクタンスを変更することである。
【発明の概要】
【０００６】
ある実施例には、いくつかの入力ノード及びいくつかの出力ノードを有するメモリスタネットワークを訓練する方法が含まれる。メモリスタネットワークは、二部メモリスタネットワークを含むことができ、かつ、この方法は、メモリスタネットワークを訓練するための逆伝播アルゴリズムを再現することができる。
【０００７】
ある例では、方法は、複数の入力ノードのうちの１つの入力ノードに入力電圧又は入力電流を印加するステップと、複数の出力ノードのうちの１つの出力ノードを接地するステップと、出力ノードにおいて出力電流または出力電圧を計測するステップと、出力電流又は出力電圧を目標電流又は目標電圧と比較して誤差デルタを決定するステップと、誤差デルタの強度に比例した期間の間、出力ノードにしきい値電圧又はしきい値電流を印加するステップとを含む。
【０００８】
誤差デルタが負値の場合、方法は、誤差デルタに比例する期間の間、出力ノードに正値のしきい値電圧又はしきい値電流を印加するステップと、誤差デルタに比例する期間の間、出力ノードに負値のしきい値電圧又はしきい値電流を印加するステップとも含み得る。誤差デルタが正値の場合、方法は、入力ノードに印加される入力電圧又は入力電流の極性を逆転させるステップと、誤差デルタに比例する期間の間、正値のしきい値電圧又はしきい値電流を出力ノードに印加するステップと、誤差デルタに比例する期間の間、出力ノードに負値のしきい値電圧又はしきい値電流を印加するステップとも含み得る。
【０００９】
他の態様では、方法は、誤差デルタを誤差デルタ電圧又は誤差デルタ電流に変換するステップと、出力ノードに誤差デルタ電圧又は誤差デルタ電流を印加するステップと、誤差デルタ電圧又は誤差デルタ電流の絶対値に比例する第２の期間の間、入力ノードにしきい値電圧又はしきい値電流を印加するステップとをさらに含み得る。
【００１０】
入力ノードに印加される入力電圧又は入力電流が正値である場合、方法は、誤差デルタ電圧又は誤差デルタ電流の絶対値に比例する第２の期間の間、入力ノードに正値のしきい値電圧又はしきい値電流を印加するステップと、誤差デルタ電圧又は誤差デルタ電流の絶対値に比例する第２の期間の間、入力ノードに負値のしきい値電圧又はしきい値電流を印加するステップとを含み得る。入力ノードに印加される入力電圧又は入力電流が負値である場合、方法は、出力ノードに印加される誤差デルタ電圧又は誤差デルタ電流の極性を逆転させるステップと、誤差デルタ電圧又は誤差デルタ電流の絶対値に比例する第２の期間の間、入力ノードに正値のしきい値電圧又はしきい値電流を印加するステップと、誤差デルタ電圧又は誤差デルタ電流に比例する第２の期間の間、入力ノードに負値のしきい値電圧又はしきい値電流を印加するステップとをさらに含み得る。
【００１１】
別の実施形態、メモリスタネットワークは、複数のナノファイバと、複数のナノファイバ上に配置された複数の電極と、訓練プロセッサとを含み、各ナノファイバは金属コアとメモリスタシェルを含み、複数の電極は複数の入力ノードと複数の出力ノードとを含む。
【００１２】
訓練プロセッサは、複数の入力ノードのうちの１つの入力ノードに入力電圧又は入力電流を印加し、複数の出力ノードのうちの１つの出力ノードを接地し、出力ノードにおける出力電流又は出力電圧を計測し、出力電流または出力電圧を目標電流又は目標電圧と比較して誤差デルタを決定し、及び、誤差デルタの大きさに比例する期間の間、出力ノードにしきい値電圧又はしきい値電流を印加するように構成され得る。
【００１３】
本開示の多くの態様は、以下の図面を参照することでよりよく理解され得る。図面の構成要素は必ずしも縮尺通りに描かれているわけではなく、代わりに本開示の原理を明確に示すことに重点が置かれている。図面では、いくつかの図を通して、同様の符号は対応する部分を示す。
【図面の簡単な説明】
【００１４】
【図１Ａ】本明細書に記載の様々な実施形態に係る、メモリスタナノファイバニューラルネットワークのネットワークアーキテクチャの例を示す図
【図１Ｂ】本明細書に記載の様々な実施形態に係る、図１Ａに示すニューラルネットワークにおける入出力電極及びメモリスタナノファイバの間の接続の例を示す図
【図１Ｃ】本明細書に記載の様々な実施形態に係る、図１Ａに示すニューラルネットワークの一部分の等価回路の例を示す図
【図２】本明細書に記載の様々な実施形態に係る、入出力が隔離された二部メモリスタネットワーク並びに二部メモリスタネットワークの代替のフィードフォワード形態の例を示す図
【図３】本明細書に記載の様々な実施形態に係る、しきい値ＶＴを伴うメモリスタの線形モデルの例を示す図
【図４】本明細書に記載の様々な実施形態に係る、図２に示すフィードフォワードネットワークを訓練するための訓練プロセッサの例を示す図
【図５Ａ】本明細書に記載の様々な実施形態に係る、メモリスタネットワーク訓練プロセスの例を示す図
【図５Ｂ】本明細書に記載の様々な実施形態に係る、図５Ａに示すメモリスタネットワーク訓練プロセスのさらなる例を示す図
【図５Ｃ】本明細書に記載の様々な実施形態に係る、図５Ａに示すメモリスタネットワーク訓練プロセスのさらなる例を示す図
【発明を実施するための形態】
【００１５】
上述の通り、メモリスタは、そのコンダクタンスと等しい重みを持つ人工シナプスとして機能し得る。重みの大きさは、メモリスタの電圧降下を制御することにより、時間の経過とともに変更され得る。典型的には、メモリスタはしきい値電圧降下を持ち、それ以下の電圧降下ではコンダクタンスの変化は発生しない。
【００１６】
メモリスタニューラルネットワークでは、入力は、メモリスタのネットワークにおける電極セットへの電圧として表され得る。ネットワーク内の個別の電極セットにおいて、電圧又は電流が読み出される。これらは、ニューラルネットワークの出力と見なされる。このようなメモリスタニューラルネットワークにおける学習の目標は、メモリスタのコンダクタンスを変更してコスト関数又は誤差関数を最小化させることである。
【００１７】
本明細書に記載の概念は、二部メモリスタネットワークと、そのようなネットワークに学習させる方法とを対象とする。ある例では、メモリスタネットワークは、複数のナノファイバを含み、各ナノファイバは、導電性コア若しくは金属コア及びメモリスタシェルを含む。メモリスタネットワークは、ナノファイバ上に配置された複数の電極も含み得る。複数の電極の第１のセットは、メモリスタネットワークに入力電極を含んでよく、複数の電極の第２のセットは、メモリスタネットワークに出力電極も含み得る。メモリスタネットワークは、二部メモリスタネットワークとして実装され、本明細書に記載の学習方法に従って訓練され得る。本明細書に記載の概念は、（例えば、ナノファイバを用いるもの以外の、）二部メモリスタネットワークの他の形式及び構造に適用可能である。さらに、図面は、ネットワーク、電極等の例を複数示すが、本明細書に記載の概念は、二部メモリスタネットワークの他の形態、構造、及びサイズにも適用され得る。
【００１８】
図１Ａは、本明細書に記載の様々な実施形態に係る、メモリスタナノファイバニューラルネットワーク１０のネットワークアーキテクチャの例を示す。以下でさらに詳細に記載する通り、ニューラルネットワーク１０は、二部メモリスタネットワークの形をとる。ニューラルネットワーク１０では、複数のメモリスタナノファイバ１２（「複数のナノファイバ１２」又は「ナノファイバ１２」）が基板上に無作為に配置され、入出力電極１４のセットがナノファイバ１２の上に配置される。
【００１９】
図１Ｂは、図１Ａに示されるニューラルネットワーク１０におけるメモリスタナノファイバ１２と入出力電極１４との間の接続の例を示す。図１Ｂに示されるように、ナノファイバ１２の各々は、導電性コア又は金属コア１２Ａ及びメモリスタシェル１２Ｂを含む。さらに、電極１４及びナノファイバ１２の間の各接合部では、メモリスタシナプス１６が形成される。
【００２０】
ニューラルネットワーク１０は、適合する任意のやり方で形成されることができ、このやり方には例えば次のような方法が含まれる。すなわち、参照により内容の全体が本明細書に組み込まれる、発明の名称が「メモリスタナノファイバニューラルネットワーク」である米国非仮特許出願第１５／３８３５２７号に記載の方法が含まれる。例えば、ナノファイバ１２の導電性コア１２Ａは、チタンイソプロポキシドの前駆体、チタンブトキシトの前駆体、又は別の適切な前駆体を用いて、ドープ二酸化チタン（ＴｉＯ２）から形成され得る。メモリスタシェル１２Ｂは、メモリスタ材料で導電性コア１２Ａの外周シェルを電界紡糸することにより、導電性金属コア１２Ａの周りに形成され得る。
【００２１】
図１Ｃは、図１Ａに示されるニューラルネットワーク１０の一部の等価回路の例を示す図である。ニューラルネットワーク１０内で互いに重なり合いかつ互いに接触するとき、２つのナノファイバ１２の間の界面抵抗は、電極１４とナノファイバ１２との間の抵抗よりもはるかに高くなり得る。これは、複数のナノファイバ１２のうちの２つの間の接触面積が通常は非常に小さく、かつこの接触点が２つの絶縁メモリスタシェル１２Ｂの間に存在するためである。対照的に、各電極１４は、各ナノファイバ１２のメモリスタシェル１２Ｂのより長い長さ又は部分に接触し、かつ電圧降下は、２つのナノファイバ１２の間の２つのメモリスタシェル１２Ｂではなく、１つのメモリスタシェル１２Ｂのみにかかる。
【００２２】
図２は、二部メモリスタネットワーク２０並びに二部メモリスタネットワーク２０の代替のフィードフォワード形態３０の例を示す図である。図１Ａの電極１４は、図２において外部電極と呼ばれ、メモリスタシェル１２Ｂを介してナノファイバ１２の導電性金属コア１２Ａに接続される。電極１４同士は互いに直接接続されていない。ナノファイバ１２の導電性金属コア１２Ａは内部電極と呼ばれ、メモリスタシェル１２Ｂを介して外部電極１４に接続される。
【００２３】
二部メモリスタネットワーク２０の代替のフィードフォワード形態３０では、電極１４は、複数の入力電極１４Ａと複数の出力電極１４Ｂに分離される。複数のナノファイバ１２が電気的に互いに効果的に絶縁又は隔離されているとすると、二部メモリスタネットワーク２０のフィードフォワード形態３０は、図に示すように二部グラフの形をとる。
【００２４】
従って、外部電極１４が入力電極１４Ａと出力電極１４Ｂに分割又は分離されると、二部メモリスタネットワーク２０の代替のフィードフォワード形態３０は、３層フィードフォワードニューラルネットワークとして動作し得る。より多くの隠れ層が必要ならば、そのような複数のネットワーク（例えばフィードフォワード形態３０に類似のもの）がともにリンクされ得る。二部メモリスタネットワーク２０の代替のフィードフォワード形態３０（「フィードフォワードネットワーク３０」とも呼ぶ）を学習させるアプローチは、以下でさらに詳細に記載される。
【００２５】
フィードフォワードネットワーク３０の動作を決定するために、キルヒホッフの法則を用いてメモリスタシェル１２Ｂ（若しくは以下に記載のように単に「メモリスタ」）での電圧降下を決定できる。電圧が降下し、フィードフォワードネットワーク３０を通る電流が識別されると、適切なメモリスタモデルが適用され、これらのメモリスタのコンダクタンスを経時的に変更する方法を決定し得る。
【００２６】
第一に、出力のコンダクタンスを内部ノードの重みに変更する手順が進展され得る。フィードフォワードネットワーク３０への入力電圧が−ＶＴ／２からＶＴ／２までの間の電圧で表されるとき、いかなるメモリスタにおいても最大電圧降下がＶＴを超えないため、いかなるメモリスタコンダクタンスの変化も回避される。次に、フィードフォワードネットワーク３０の出力は、電圧がグランドに保たれている出力ノードにおける電流として読み取られていることが仮定され得る。
【００２７】
任意の内部ノードへの合計の入力電流はゼロになる（すなわち、キルヒホッフの電流法則に従う）ため、次の方程式が成り立つ。
【数１】
2020521248.tif 000003
【００２８】
ここで、Ｇｉｊは、外部ノードｉを内部ノードｊに接続するメモリスタの瞬間的なコンダクタンスであり、総和は全ての外部ノード（すなわち、入力ノード及び出力ノード）にまたがって行われる。
【００２９】
式（１）は、以下に示すように、内部ノードｊにおける電圧について解くように調整され得る。加算は線形であり、Ｖｊはインデックスにｉを含まないため、以下の式が成り立つ。
【００３０】
【数２】
2020521248.tif 000004
【００３１】
【数３】
2020521248.tif 000005
【００３２】
【数４】
2020521248.tif 000006
【００３３】
【数５】
2020521248.tif 000007
【００３４】
式（５）において、次の正規化係数Ｇｊは、電圧又は電流の瞬間値に依存しない。
【００３５】
【数６】
2020521248.tif 000008
【００３６】
正規化係数Ｇｊは、フィードフォワードネットワーク３０の動作に大きな影響を与えない。全ての出力ノードが接地されたままであれば（すなわち、Ｖｉ＝０であれば）、総和への寄与は入力ノードの寄与のみである。従って、内部ノードの電圧は、コンダクタンスの行列を正規化係数で除算することによる入力の線形変換と判断され得る。
【００３７】
同様に、出力ノードｋにおける電流は、内部ノードにおける電圧を用いて解くことができる。出力ノードは全て接地されているため、電流は次式で表される。
【００３８】
【数７】
2020521248.tif 000009
【００３９】
これは、コンダクタンスの行列による隠れ層ノードの線形変換である。この電流は外部回路からアクセス可能のため、この総和に対してさらに非線形変換が行われ、ネットワークが非線形の出力層を持つことができる。しかしながら、学習アルゴリズムの導出を簡単にするために、全ての層は線形であると仮定され得る。
【００４０】
フィードフォワードネットワーク３０においてメモリスタ接続を有する３層ニューラルネットワークの例が記載され示されたため、そのようなネットワークを訓練するために適切なアルゴリズムが必要である。この目的のために、ネットワークの訓練に適した逆伝播アルゴリズムの近似について記載する。
【００４１】
図３は、本明細書に記載の様々な実施形態に係る、しきい値ＶＴを有するメモリスタの線形モデルの例を示す図である。最初に、内部ノード及び出力ノードの間の重みが考慮される。これは、これらの重みは学習のためにデルタルールのみを必要とするからである。このネットワーク内の線形ニューロンに対して、デルタルールは以下のように表される。
【００４２】
【数８】
2020521248.tif 000010
【００４３】
ここで、Ｔｋは所望の出力電流であり、Ｉｋは計測された出力電流であり、Ｖｊは内部ノードｊに印加された電圧であり、αは学習率である。
【００４４】
直感的に、もし誤差デルタ（Ｔｋ−Ｉｋ）が正値であれば、電流Ｉｋを増加させて誤差を減少させることが望ましい。これは、正値の内部ノードへの接続を強くし、負値の内部ノードへの接続を弱めることにより達成できる。誤差デルタが負値であれば、その逆が成り立つ。デルタルールの形式は、誤差デルタ及び内部ノードの活性化の両方が線形となるようなものである。しきい値ＶＴを伴う線形ニューロンであるとすると、次式はコンダクタンスの変化の形式に関するものである。
【００４５】
【数９】
2020521248.tif 000011
【００４６】
式（８）において、αは学習率に類似するものであり、ΔＶはメモリスタにおける電圧降下であり、ｔは電圧が印加される時間長である。上述の式のうち時間長を除く値のグラフが図３に示される。式（８）は、しきい値を伴うメモリスタに対する単純なモデルであり、学習アルゴリズムを導出するにあたって用いられ得る。しかしながら、ノイズを伴うものを含む他のメモリスタモデルも、上述の導出されるアルゴリズムにより機能する。
【００４７】
誤差デルタ（Ｔｋ−Ｉｋ）は、外部回路による測定のために利用可能であるため、時間長ｔはこの誤差デルタの大きさに比例するように設定され得る。その結果生じるメモリスタＧｋｊのコンダクタンスの変化は、以下で記載するように、内部ノードｊにおける電圧Ｖｊに比例するようにもできる。
【００４８】
内部ノード（例えば導電性コア１２Ａ）の電圧を直接変更できず、不明となる場合がある。ただし、入力及び／又は出力における電圧及び／又は電流は直接計測できる。初期では出力はすべて接地されているため、１つの出力に関する電圧を変更すると、内部ノードの電圧が乱れる。ただし、多くの入出力が提供される場合、これはわずかな乱れにとどまる。
【００４９】
出力ノードが選択され、電圧がＶＴに設定されている場合を考える。Ｖｊは正値であるため、定義によると、電圧降下（ＶＴ−Ｖｊ）はＶＴ未満となる。従って、正値の電圧（＋Ｖｊ）を有する全ての内部ノードへの接続は、コンダクタンスを変化させることはない。これにより、電圧降下がＶＴよりも大きい負値のＶｊにより内部ノードが分離される。また、負値の内部ノードの各々における電圧降下は次式に等しい。
【００５０】
【数１０】
2020521248.tif 000012
【００５１】
従って、次式が成り立つ。
【００５２】
【数１１】
2020521248.tif 000013
【００５３】
従って、コンダクタンスの変化を導く量、すなわちΔＧ∝（ΔＶ−ＶＴ）は、Ｖｊに比例する。誤差デルタが負値であれば、電流はさらに負値となる。従って、負値の電圧により内部ノードへの接続を強くすることが望ましい。上述の、ΔＶ＞ＶＴが成り立つ場合では、出力ノードへのＶＴの印加は、全ての負値の内部ノードへのコンダクタンスを、各ノードのＶｊに比例する量だけ増加させる。この電圧が出力ノードに、誤差デルタに比例する時間ｔの間印加されると仮定すると、デルタルール、すなわち等式ΔＧｋｊ＝α（Ｔｋ−Ｉｋ）Ｖｊは、この接続のセットのために再構築され得る。
【００５４】
時間ｔにわたる＋ＶＴの印加の後、電圧−ＶＴを印加することにより、この出力ノードに接続された正値の内部ノードにもこのことは拡張できる。負値の電圧を持つ全ての内部ノードにおける電圧降下（−ＶＴ−Ｖｊ）は、コンダクタンスの変化のしきい値を下回り、正値のＶｊを持つ内部ノードを効果的に分離する。同様の理由で、これらの正値の内部ノードにおけるコンダクタンスの変化の大きさは、各内部ノードにおける電圧にも比例し、変化の方向は、コンダクタンスを増加させる方向ではなく、減少させる方向である。繰り返しになるが、これは負値の誤差デルタを有する出力ノードに必要とされるものである。
【００５５】
正値の誤差デルタを持つ出力を考慮するために、これらのコンダクタンス変化の方向は逆転され得る。特に、負値の内部ノードへの接続を弱め、正値の内部ノードへの接続を強めることができる。これは、すべての入力の電圧極性を逆転させ（て、すべての内部ノードの符号を逆転させ）ることにより、上述のものと同じ手順で実行され得る。これにより、各メモリスタの電圧降下の方向が逆転する。
【００５６】
次に、内部ノードへの入力重みのコンダクタンスを変化させるための手順が進展される。入力電圧は−ＶＴ／２とＶＴ／２との間に制限されているため、入力ノードから内部ノードへの最大電圧降下がＶＴを超えることはなく、これらの重みは出力重みの訓練中に変更できなかった。
【００５７】
逆伝播アルゴリズムの逆伝播ステップは、次式で与えられる。
【数１２】
2020521248.tif 000014
【００５８】
誤差デルタに比例する中心項の代わりに、これは誤差デルタの重み付き総和に等しくなる。これは、内部ノードｊの「誤差への寄与」である。右辺の項は入力における電圧であり、測定のためにアクセス可能である。時間長ｔは、この入力Ｖｉの絶対値に比例するようにできる。
【００５９】
これにより、上記の重み付き総和は、内部ノードｊの電圧として再現され得る。また、この電圧に比例してコンダクタンスを変更するように、同じ上述の方法が適用され得る。
【００６０】
誤差デルタ（Ｔｋ−Ｉｋ）を取得して電圧に変換する場合、これらの電圧を出力ノードに配置し、入力ノードを接地することで、この重み付き総和を実現できる。各内部ノードの誤差への結果として生じる寄与は、正規化係数Ｇｊまでは正確であり、これも学習プロセスに大きな影響を与えない。
【００６１】
正値の入力を伴う入力ノードに電圧ＶＴを印加することにより、その入力ノードに接続する負値の電圧を伴う全ノードへのコンダクタンスを選択的に強めて、これらの内部ノードの誤差への寄与を減少させることができる。同様に、電圧−ＶＴを印加すると、正値の電圧を持つ全ノードへのコンダクタンスを選択的に弱めることとなり、やはりこれらのノードの誤差への寄与を減少させることになる。全ての誤差デルタの符号を逆転させると、負値の入力を持つ入力ノードも同様に処理できる。
【００６２】
図４は、本明細書に記載の様々な実施形態に係る、図２に示すフィードフォワードネットワーク３０を訓練するための訓練プロセッサ１１０の例を示す図である。訓練プロセッサ１１０は、データストア１２０と、インタフェースモジュール１３０と、測定モジュール１４０と、及び訓練モジュール１５０とを含む。データストア１２０は、訓練データ１２２及びネットワークデータ１２４を含む様々な種類のデータを格納する。訓練データ１２２は、フィードフォワードネットワーク３０を訓練するための訓練モジュール１５０に依存されることがある。例えば、訓練データ１２２は、フィードフォワードネットワーク３０内の内部ノード（例えば導電性金属コア１２Ａ）及び出力ノード（例えば入力電極１４Ａ及び／又は出力電極１４Ｂ）の間の目標重みを定義するデータを含み得る。従って、訓練データ１２２は、フィードフォワードネットワーク３０のメモリスタシェル１２Ｂの各々にプログラムされるコンダクタンスの目標レベル又は目標値を定義することができる。訓練データ１２２は、ネットワークを訓練する任意の目的のために、訓練に適した任意のモデルに基づき得る。
【００６３】
ネットワークデータ１２４は、導電性金属コア１２Ａ、入力電極１４Ａ、及び出力電極１４Ｂの間の接続といった、フィードフォワードネットワーク３０のネットワークストラクチャを定義するデータを含み得る。従って、ネットワークデータ１２４は、図４に示す導電性金属コア１２Ａ、入力電極１４Ａ、及び出力電極１４Ｂの間のメモリスタシェル１２Ｂにより形成されるメモリスタ接続を定義し得る。訓練モジュール１５０は、ネットワークデータ１２４を参照し、フィードフォワードネットワーク３０の訓練に用いるステップの適切なシーケンスを決定できる。
【００６４】
インタフェースモジュール１３０は、入力電極１４Ａ及び出力電極１４Ｂとの電気的インタフェースを提供するための１つ以上の回路を含み得る。例えば、インタフェースモジュール１３０は、１つ以上の入力電極１４Ａ及び／又は出力電極１４Ｂに、入力電圧及び／又は入力電流を提供することができる回路を含み得る。インタフェースモジュール１３０は、１つ以上の入力電極１４Ａ及び／又は出力電極１４Ｂを接地させることができる回路を含み得る。また、インタフェースモジュール１３０は、入力電極１４Ａ及び／又は出力電極１４Ｂの１つ以上において、電圧及び／又は電流を読み取ることができる回路を含み得る。
【００６５】
測定モジュール１４０は、１つ以上の入力電極１４Ａ及び／又は出力電極１４Ｂで測定を行う１つ以上の回路を含み得る。例えば、測定モジュール１４０は、入力電極１４Ａ及び／又は出力電極１４Ｂのうちの１つ以上で電圧及び／又は電流を測定できる。また、測定モジュール１４０は、測定値と目標値との差を決定するために、様々な電圧、電流等の間の差を計算し得る。インタフェースモジュール１３０及び測定モジュール１４０の両方は、メモリを備えるアナログ回路及び／又はデジタル回路の任意の適切なネットワークとして実施され得る。当該アナログ回路及び／又はデジタル回路は、アンプと、フィルタと、処理回路とを含む。
【００６６】
訓練モジュール１５０は、図５Ａ、図５Ｂ、図５Ｃに示されるメモリスタネットワーク訓練プロセスを実行することができる処理回路として実施され得る。その文脈において、訓練モジュール１５０は、入力ノード１４Ａと内部ノードの導電性コア１２Ａとの間のコンダクタンス又は重みを訓練するようにインタフェースモジュール１３０に指示することができる。訓練モジュール１５０は、内部ノードの導電性コア１２Ａと出力電極１４Ｂとの間のコンダクタンス又は重みを訓練するようにインタフェースモジュール１３０に指示することもできる。
【００６７】
実用的な意味では、フィードフォワードネットワーク３０の内部構造（例えば入力電極１４Ａ、出力電極１４Ｂ、及び導電性コア１２Ａの間のメモリスタシェル１２Ｂ接続の個別の接続及び／又はコンダクタンス）が不明の場合がある。従って、訓練モジュール１５０により実行されるアルゴリズムは、訓練プロセスを暗に実行するように設計される。フィードフォワードネットワーク３０を訓練することにより、訓練モジュール１５０は、入力電極１４Ａと導電性コア１２Ａとの間、並びに出力電極１４Ｂと導電性コア１２Ａとの間の経路のセットを、効果的に自己組織化する。これらの経路は、入力電極１４Ａ、出力電極１４Ｂ、及び導電性コア１２Ａの間のメモリスタシェル１２Ｂのコンダクタンスを調整することにより定義または編成される。場合によっては、訓練モジュール１５０は、訓練のために目標重みのセットを用いるかわりに、出力電極１４Ｂにおける目標電流のセットから開始することもできる。
【００６８】
図５Ａ〜図５Ｃは、本明細書に記載の様々な実施形態に係る、フィードフォワードネットワークを訓練するためのメモリスタネットワーク訓練プロセスの例を示す図である。訓練プロセスは、図４に示すフィードフォワードネットワーク３０及び訓練プロセッサ１１０に関して記載される。従って、訓練プロセッサ１１０は、図５Ａ〜図５Ｃに示すプロセスを実行するように構成される。しかしながら、他のフィードフォワードネットワークは、図５Ａ〜図５Ｃに示すプロセスを用いて他の訓練プロセッサにより訓練され得る。さらに、プロセスの図は操作又は実行の順序を示すが、この順序は図に示される順序とは異なってもよい。例えば、２つ以上のプロセスステップの実行の順序は、図示された順序又は後述のものに関して切り替えられ得る。また、連続して示される２つ以上のプロセスステップは、同時に、又は部分的に同時に実行され得る。さらに、いくつかの実施例では、プロセス図に示されるプロセスステップの１つ以上はスキップ又は省略され得る。
【００６９】
図５Ａについて、訓練モジュール１５０はまず、内部ノードの導電性コア１２Ａとフィードフォワードネットワーク３０の出力電極１４Ｂとの間のコンダクタンス又は重み（例えばメモリスタのコンダクタンス）を訓練することができる。そのため、ステップ２０２において、プロセスは、フィードフォワードネットワークの１つ以上の入力ノードに入力電力を印加することを含む。例えば、訓練モジュール１５０は、−ＶＴ／２とＶＴ／２との間の電圧をフィードフォワードネットワーク３０の１つ以上の入力電極１４Ａに印加するように、インタフェースモジュール１３０に指示することができる。ある場合には、訓練モジュール１５０は、−ＶＴ／２とＶＴ／２の間の電圧を入力電極１４Ａの各々に印加するように、インタフェースモジュール１３０に指示することができる。電圧の印加のかわりに、訓練モジュール１５０は、１つ以上の入力電極１４Ａに所定のレベルの電流を印加又は駆動するように、インタフェースモジュール１３０に指示することができる。
【００７０】
ステップ２０４において、プロセスは、フィードフォワードネットワークの１つ以上の出力ノードを接地することを含み得る。例えば、訓練モジュール１５０は、フィードフォワードネットワーク３０の出力電極１４Ｂのうちの１つ以上を接地するようにインタフェースモジュール１３０に指示することができる。場合によっては、訓練モジュール１５０は、出力電極１４Ｂの各々を接地するように、インタフェースモジュール１３０に指示することができる。
【００７１】
上述のように、式（５）において、次の正規化係数Ｇｊは、電圧又は電流の瞬間値には依存しない。
【数１３】
2020521248.tif 000015
【００７２】
正規化係数Ｇｊは、フィードフォワードネットワーク３０の動作に大きな影響を与えない。全ての出力ノードが接地されたままであれば（すなわちＶｉ＝０であれば）、総和への寄与は入力ノードの寄与のみである。従って、内部ノードの電圧は、コンダクタンスの行列を正規化係数で除算することによる入力の線形変換と見なすことができる。
【００７３】
同様に、出力電極１４Ｂにおける電流については、訓練モジュール１５０により解かれ得る。すべての出力電極１４Ｂはステップ２０４において接地されているため、電流は式（６）により与えられ得る。上述のように、これは、コンダクタンスの行列による隠れ層ノードの線形変換である。同時に、出力電極１４Ｂの実際の電流は、測定モジュール１４０による測定のために、インタフェースモジュール１３０によりアクセス可能である。
【００７４】
ステップ２０６において、プロセスは、１つ以上の出力電極１４Ｂで出力電流を測定する測定モジュール１４０を含み得る。測定モジュール１４０は、出力電極１４Ｂの各々の出力電流を測定し、次に、さらなる処理のために、それらの値をデータストア１２０に格納することができる。場合によってはステップ１０６において、測定モジュール１４０は、電流に加えて、１つ以上の出力電極１４Ｂで出力電圧を測定することもできる。
【００７５】
ステップ２０８において、プロセスは、訓練モジュール１５０を含み得る。訓練モジュール１５０は、ステップ２０６で測定された、出力電極１４Ｂのうちの１つ以上における出力電流（又は電圧）を、目標又は所望の出力電流（又は電圧）と比較して、第１の誤差デルタを決定する。ステップ２０８は、出力電極１４Ｂのそれぞれについて順番に実行することができ、出力電極１４Ｂの各々について第１の誤差デルタを決定することができる。誤差デルタは、さらなる処理のためにデータストア１２０に保存され得る。
【００７６】
ステップ２０８は、上述の式（７）に係るデルタルールの適用から続く。誤差デルタ（例えば式（７）の（Ｔｋ−Ｉｋ））が正値の場合、ステップ２０６で測定された電流を大きくすることで誤差を小さくすることが望ましい。これは、正値の内部ノードへの接続を強め、負値の内部ノードへの接続を弱めることにより実現できる。誤差デルタが負値の場合、ステップ２０６で測定された電流を小さくして誤差を小さくすることが望ましい。
【００７７】
ステップ２１０において、プロセスは、ステップ２０８で決定された第１の誤差デルタの大きさに比例する期間の間、出力電極１４Ｂの１つ以上にしきい値電圧又はしきい値電流を印加する訓練モジュール１５０を含み得る。例えば、ステップ２０８において、出力電極１４Ｂのうちの第１のものについて第１の誤差デルタが決定され得る。続いて、ステップ２１０において、訓練モジュール１５０は、ステップ２０８で出力電極１４Ｂのうちの第１のものについて決定された第１の誤差デルタの大きさに比例する期間の間、出力電極１４Ｂのうちの第１のものに正値のしきい値電圧ＶＴ又は負値のしきい値電圧−ＶＴを印加するように、インタフェースモジュール１３０に指示できる。残りの出力電極１４Ｂ（すなわち、第１のもの以外）は接地されたままであってよい。ステップ２１０は、出力電極１４Ｂの各々について順に繰り返され得る。
【００７８】
ステップ２１０においてしきい値電圧を印加する手順は、図５Ｂにさらに詳細に示される。図５Ｂのステップ３０２において、プロセスは、出力電極１４Ｂのうちの第１のものに対するステップ２０８からの誤差デルタ（例えば式（７）の（Ｔｋ−Ｉｋ））が負値か否かを判定する訓練モジュール１５０を含む。誤差デルタが負値の場合、プロセスはステップ３０４に進む。誤差デルタが正値の場合、プロセスはステップ３０８に進む。
【００７９】
ステップ３０４において、プロセスは、誤差δに比例する期間の間、正値のしきい値電圧又はしきい値電流を１つ以上の出力ノードに印加する訓練モジュール１５０を含む。例えば、ステップ２０８において、出力電極１４Ｂの第１のものについて誤差デルタを決定することができる。次に、ステップ３０４において、訓練モジュール１５０は、ステップ２０８において決定された誤差デルタの大きさに比例する期間の間、正値のしきい値電圧ＶＴを出力電極１４Ｂのうちの第１のものに印加するように、インタフェースモジュール１３０に指示することができる。残りの出力電極１４Ｂ（すなわち第１のもの以外）は、ステップ３０４において接地されたままであってよい。
【００８０】
上述のように、ステップ３０４において出力電極１４Ｂの第１のものが選択され、電圧がＶＴと等しく設定されている場合、Ｖｊが正値のため、電圧降下（ＶＴ−Ｖｊ）は定義によりＶＴよりも小さく、正値の電圧（＋Ｖｊ）を有する全ての内部ノードへの接続がコンダクタンスを変化させることはない。これにより、電圧降下がＶＴよりも大きい負値のＶｊにより、内部ノードが分離される。また、負値の内部ノードの各々における電圧降下は、式（９）及び式（１０）に示される関係に等しくなる。
【００８１】
従って、さらに、コンダクタンスの変化を導く量ΔＧ∝（ΔＶ−ＶＴ）は、Ｖｊに比例する。誤差デルタが負値の場合（すなわち、図５Ｂのステップ３０２における「Ｙｅｓ」分岐）、電流はさらに負値でなければならない。従って、負値の電圧により内部ノードへの接続を強めることが望ましい。上述のΔＶ＞ＶＴが成立するケースでは、ステップ３０４で出力電極１４Ｂの第１のものにＶＴを印加することで、すべての負値の内部ノードへのコンダクタンスを各ノードのＶｊに比例する量だけ増やすことができる。この電圧がこの出力ノードの誤差デルタに比例する時間ｔの間だけ印加されるとすると、この接続のセットに対して、逆伝播アルゴリズムΔＧｋｊ＝α（Ｔｋ−Ｉｋ）Ｖｊが再構築され得る。
【００８２】
これは、時間ｔの間電圧＋ＶＴを印加した後、電圧−ＶＴを印加することにより、出力電極１４Ｂの第１のものに接続された正値の内部ノードに拡張され得る。従って、ステップ３０６においてプロセスは、誤差デルタに比例する期間にわたって、負値のしきい値電圧又はしきい値電流を、１つ以上のノードに印加することも含み得る。例えば、ステップ３０６において、訓練モジュール１５０は、ステップ２０８で決定された誤差デルタの大きさに比例する期間ｔの間、出力電極１４Ｂの第１のものに負値のしきい値電圧−ＶＴを印加するように、インタフェースモジュール１３０に指示することができる。残りの出力電極１４Ｂ（すなわち第１のもの以外）は、ステップ３０６で接地されたままであり得る。
【００８３】
ステップ３０６により、負値の電圧を有する全ての内部ノードにおける電圧降下（−ＶＴ−Ｖｊ）は、コンダクタンス変化のしきい値を下回り、正値のＶｊを伴う内部ノードを効果的に分離する。同様の理由で、これらの正値の内部ノードの間のコンダクタンス変化の大きさは、各内部ノードにおける、コンダクタンスを増加させる方向ではなく減少させる方向の電圧にも比例する。繰り返しになるが、これは、負値の誤差デルタを有する出力ノード（すなわち、図５Ｂのステップ３０２からの「Ｙｅｓ」分岐）に必要なものである。ステップ３０４及びステップ３０６は、負値の誤差デルタを有するすべての出力電極１４Ｂに対して生じ得る。
【００８４】
正値の誤差デルタを有する出力（すなわち、図５Ｂのステップ３０２における「Ｎｏ」分岐）を考慮するために、これらのコンダクタンス変化の方向が逆転され得る。特に、負値の内部ノードへの接続が弱められ、正値の内部ノードへの接続が強められ得る。これは、ステップ３０８において全ての入力の電圧極性を逆転する（ことで全ての内部ノードの符号を逆転する）ことにより実現できる。ステップ３０８において、プロセスは、入力電極１４Ａに印加される入力電圧又は入力電流の極性を逆転させる訓練モジュール１５０を含み得る。これは、ステップ２０２において入力電極１４Ａに印加される電圧又は電流の極性の逆転であり得る。さらに、ステップ３１０及びステップ３１２において、プロセスは、それぞれステップ３０４及びステップ３０６と同様のステップを含む。ステップ３０８，３１０，３１２は、正値の誤差デルタを有する全ての出力電極１４Ｂに対して発生し得る。プロセスは、図５Ｂから、図５Ａのステップ２１２に戻ることができる。
【００８５】
図５Ａに戻って、訓練モジュール１５０は、入力電極１４Ａと内部ノードの導電性コア１２Ａとの間のコンダクタンス又は重みを訓練することができる。入力電極１４Ａに印加される電圧は、ステップ２０２，２０４，２０６，２０８，２１０の間では−ＶＴ／２からＶＴ／２の間に制限されていたため、入力ノードから内部ノードへの最大電圧降下がＶＴを超えることはできず、入力電極１４Ａと内部ノードの導電性コア１２Ａとの間の重みは、出力重みの訓練中には変更できなかった。
【００８６】
ステップ２１２において、プロセスは、出力電極１４Ｂの１つ以上に対して、ステップ２０８で決定された出力電極１４Ｂの第１の誤差デルタを出力電極１４Ｂの第２の誤差デルタに変換する訓練モジュール１５０を含み得る。一例として、訓練モジュール１５０は、出力電極１４Ｂのうちの第１のものに対する第１の誤差デルタ電流（例えば式（７）の（Ｔｋ−Ｉｋ））を、第２の誤差デルタ（電圧であってよい）に変換し得る。第２の誤差デルタは第１の誤差デルタに比例し得るが、例えば電流から電圧に、又は電圧から電流に変換され得る。ステップ２１２は、データストア１２０に格納された、ステップ２０８からの第１の誤差デルタを参照して、出力電極１４Ｂの各々に対して実行され得る。
【００８７】
ステップ２１４において、プロセスは、フィードフォワードネットワークの１つ以上の入力ノードを接地することを含み得る。例えば、訓練モジュール１５０は、フィードフォワードネットワーク３０の１つ以上の入力電極１４Ａを接地するように、インタフェースモジュール１３０に指示できる。場合によっては、訓練モジュール１５０は、インタフェースモジュール１３０に各入力電極１４Ａを接地するように指示できる。
【００８８】
ステップ２１６において、プロセスは、出力電極１４Ｂの各々に対して、ステップ２１２で決定された第２の誤差デルタを、出力電極１４Ｂに印加することを含み得る。例えば、上述のように、電圧であり得る第２の誤差デルタは、出力電極１４Ｂの各々についてステップ２１２で決定され得る。訓練モジュール１５０は、出力電極１４Ｂの各々に対する第２の誤差デルタ電圧を、それぞれ出力電極１４Ｂに印加するように、インタフェースモジュール１３０に指示できる。ステップ２１６は、同様にして、第２の誤差デルタの絶対値に比例する第２の期間の間、入力電極１４Ａにしきい値電圧又はしきい値電流を印加することも含み得る。
【００８９】
図５Ｃにおいて、ステップ２１６の手順がさらに詳細に示される。図５Ｃのステップ３２０において、訓練モジュール１５０は、出力電極１４Ｂの各々に対してステップ２１２で決定された第２の誤差デルタ電圧を、対応する出力電極１４Ｂに印加するように、インタフェースモジュール１３０に指示できる。
【００９０】
図５Ｃのステップ３２２において、プロセスは、図５Ａのステップ２０２で入力電極１４Ａのうちの１つに印加された元の入力が負値であったか否かを判定する訓練モジュール１５０を含み得る。元の入力が負値の場合、プロセスはステップ３２４に進む。元の入力が正値の場合、プロセスはステップ３２８に進む。
【００９１】
ステップ３２４において、プロセスは、第２の誤差デルタに比例する期間の間、正値のしきい値電圧又はしきい値電流を１つ以上の入力ノードに印加する訓練モジュール１５０を含む。例えば、訓練モジュール１５０は、図５Ａのステップ２１２で決定された第２の誤差デルタの絶対値に比例する第２の期間の間、入力電極１４Ａのうちの１つに正値のしきい値電圧ＶＴを印加するように、インタフェースモジュール１３０に指示できる。さらに、ステップ３２６において、訓練モジュール１５０は、第２の期間の間、入力電極１４Ａのうちの第１のものに負値のしきい値電圧−ＶＴを印加するように、インタフェースモジュール１３０に指示できる。残りの入力電極１４Ａ（すなわち、第１のもの以外）は、ステップ３２４及びステップ３２６で接地されたままであってよい。
【００９２】
図５Ｃのステップ３２８において、プロセスは、ステップ３２０で出力電極１４Ｂに印加された第２の誤差デルタ電圧の極性を逆転する訓練モジュール１５０を含む。ステップ３３０において、プロセスは、第２の誤差デルタに比例する期間の間、正値のしきい値電圧又はしきい値電圧を１つ以上の入力ノードに印加する訓練モジュール１５０を含む。例えば、訓練モジュール１５０は、図５Ａのステップ２１２で決定された第２の誤差デルタの絶対値に比例する第２の期間の間、入力電極１４Ａのうちの１つに正値のしきい値電圧ＶＴを印加するように、インタフェースモジュール１３０に指示できる。さらに、ステップ３３２において、訓練モジュール１５０は、第２の期間の間入力電極１４Ａのうちの第１のものに負値のしきい値電圧−ＶＴを印加するように、インタフェースモジュール１３０に指示できる。残りの入力電極１４Ａ（すなわち、第１のもの以外）は、ステップ３２４及びステップ３２６において接地されたままであってよい。
【００９３】
図５Ａ〜図５Ｃに提示されたアルゴリズムは、二部メモリスタネットワークにおける逆伝播アルゴリズムを再現する。図５Ａ〜図５Ｃの順序又はシーケンスの一例で示されているが、場合によっては、アルゴリズムは、代替のシーケンスで適用又は使用され得る。さらに、アルゴリズムにおいて印加及び／又は測定されるものとして特定の電圧及び電流が記載されているが、電圧の測定又は印加は、電流の測定又は印加で置き換えられ得ることは理解されたい。同様に、電流の測定又は印加は、電圧の測定又は印加で置き換えられ得る。アルゴリズムは、訓練例ごとに１回のみ各外部ノードに対して反復されるため、時間において、それはノード数に関する１次オーダーである。これは、時間において２次オーダーである逆伝播アルゴリズムの標準実装とは対照的である。
【００９４】
インタフェースモジュール１３０、測定モジュール１４０、及び訓練モジュール１５０を含む本明細書に記載のコンポーネントは、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせで実装され得る。ソフトウェアで実施される場合、各エレメントは、指定された論理機能を実装するプログラム命令を含むモジュール又はコードのグループを表現し得る。プログラム命令は、例えば、プログラミング言語で書かれた人間が読める文を含むソースコード、又は、コンピュータシステム又は他のシステムのプロセッサ等、適切な実行システムにより認識可能なマシン命令を含む機械コードの形で実施され得る。ハードウェアで実施される場合、各エレメントは、指定された論理機能を実施する回路又は相互接続された複数の回路を表現し得る。
【００９５】
訓練プロセッサ１１０は、少なくとも１つの処理回路を含み得る。このような処理回路は、例えば、ローカルインタフェースに結合された１つ以上のプロセッサ及び１つ以上のストレージデバイス若しくはメモリデバイスを含み得る。ローカルインタフェースは、例えば、付随するアドレス／制御バス又は他の適切なバス構造を備えるデータバスを含み得る。ストレージデバイス又はメモリデバイスは、処理回路のプロセッサで実行可能なデータ又はコンポーネントを格納できる。例えば、訓練モジュール１５０及び／又は他のコンポーネントは、１つ以上のストレージデバイスに保存され、訓練プロセッサ１１０内の１つ以上のプロセッサにより実行可能であり得る。
【００９６】
本明細書に記載の訓練モジュール１５０及び他のコンポーネントは、ハードウェアの形態、ハードウェアにより実行可能なソフトウェアコンポーネント、又はソフトウェア及びハードウェアの組み合わせの形態として実施され得る。ハードウェアとして実施される場合、本明細書に記載のコンポーネントは、任意の適切なハードウェア技術を採用する回路又は状態機械として実装され得る。ハードウェア技術は、例えば、１つ以上のマイクロプロセッサ、１つ以上のデータ信号の利用に関する様々な論理機能を実行するための論理ゲートを備えるディスクリート論理回路、適切な論理ゲートを備える特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ））、並びに、複雑なプログラマブル論理デバイスを含み得る。
【００９７】
また、ソフトウェア又はプログラム命令を含む、本明細書に記載するコンポーネントのうちの１つ以上を、コンピュータシステム若しくは他のシステム内のプロセッサ等の命令実行システムにより、又はその命令実行システムに関連して、使用されるための、任意の非一時的なコンピュータ可読媒体により実施され得る。コンピュータ可読媒体は、命令実行システムにより、又は命令実行システムに関連して、使用されるためのソフトウェア又はプログラム命令を含み、保存し、及び／又は保持することができる。
【００９８】
コンピュータ可読媒体は、磁気、光学、半導体、及び／又は他の適切な媒体といった物理媒体を含み得る。適切なコンピュータ可読媒体の例は、ソリッドステートドライブ、磁気ドライブ、又はフラッシュメモリ等を含むが、これらに限定されない。さらに、本明細書に記載の任意の論理又はコンポーネントは、様々な方法で実施及び構成され得る。例えば、記載された１つ以上のコンポーネントは、単一のアプリケーションのモジュール又はコンポーネントとして実施され得る。さらに、本明細書に記載の１つ以上のコンポーネントは、１つの計算デバイス上で、又は複数の計算デバイスを使用することにより、実行され得る。
【００９９】
本開示の上述の例は、本開示の原理の明確な理解のために記載された実装に関する可能性のある例示に過ぎない。本開示の理念及び原理から実質的に逸脱することなく、多数の変形及び修正が可能である。本明細書において、全てのこのような修正及び変形は、本開示の保護範囲に含まれ、添付の特許請求の範囲により保護されることを意図している。
【０１００】
本明細書に記載の実施形態のうちの１つ以上に対するサポートが、以下の項のうちの１つ以上に見いだされ得る。
【０１０１】
第１項：
複数の入力ノード及び複数の出力ノードを備えるメモリスタネットワークを訓練するための方法であって、
前記複数の入力ノードのうちの１つの入力ノードに入力電圧又は入力電流を印加するステップと、
前記複数の出力ノードのうちの１つの出力ノードを接地するステップと、
前記１つの出力ノードにおける出力電流又は出力電圧を測定するステップと、
前記出力電流又は出力電圧を、目標電流又は目標電圧と比較して、誤差デルタを決定するステップと、
前記誤差デルタの大きさに比例する期間の間、前記１つの出力ノードにしきい値電圧又はしきい値電流を印加するステップとを含む、
方法。
【０１０２】
第２項：
前記誤差デルタが負値のとき、前記１つの出力ノードに前記しきい値電圧又は前記しきい値電流を印加するステップは、前記誤差デルタに比例する期間の間、前記１つの出力ノードに正値のしきい値電圧又は正値のしきい値電流を印加するステップと、前記誤差デルタに比例する期間の間、前記１つの出力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するステップとを含む、
第１項に記載の方法。
【０１０３】
第３項：
前記誤差デルタが正値のとき、前記１つの出力ノードに前記しきい値電圧又は前記しきい値電流を印加するステップは、前記１つの入力ノードに印加される前記入力電圧又は前記入力電流の極性を逆転させるステップと、前記誤差デルタに比例する前記期間の間、前記１つの出力ノードに正値のしきい値電圧又は正値のしきい値電流を印加するステップと、前記誤差デルタに比例する期間の間、前記１つの出力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するステップとを含む、
第１項に記載の方法。
【０１０４】
第４項：
前記誤差デルタを誤差デルタ電圧又は誤差デルタ電流に変換するステップと、
前記１つの出力ノードに前記誤差デルタ電圧又は前記誤差デルタ電流を印加するステップと、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する第２の期間の間、前記しきい値電圧又は前記しきい値電流を前記１つの入力ノードに印加するステップとをさらに含む、
第１項に記載の方法。
【０１０５】
第５項：
前記１つの入力ノードに印加される前記入力電圧又は前記入力電流が正値の場合、前記１つの入力ノードに前記しきい値電圧又は前記しきい値電流を印加するステップは、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前１つの入力ノードに正値のしきい値電圧又は正値のしきい値電流を印加するステップと、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するステップとを含む、
第４項に記載の方法。
【０１０６】
第６項：
前記１つの入力ノードに印加される前記入力電圧又は前記入力電流が負値の場合、前記１つの入力ノードに前記しきい値電圧又は前記しきい値電流を印加するステップは、
前記１つの出力ノードに印加される前記誤差デルタ電圧又は前記誤差デルタ電流の極性を逆転させるステップと、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前１つの入力ノードに正値のしきい値電圧又は正値のしきい値電流を印加するステップと、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するステップとを含む、
第４項に記載の方法。
【０１０７】
第７項：
前記メモリスタネットワークは二部メモリスタネットワークを含む、
第１項に記載の方法。
【０１０８】
第８項：
前記メモリスタネットワークを訓練するための逆伝播アルゴリズムを再現する、
第１項に記載の方法。
【０１０９】
第９項：
金属コア及びメモリスタシェルをそれぞれ備える複数のナノファイバと、
前記ナノファイバ上に配置されかつ複数の入力ノード及び複数の出力ノードを備える複数の電極と、
訓練プロセッサとを備えるメモリスタネットワークであって、
前記訓練プロセッサは、
前記複数の入力ノードのうちの１つの入力ノードに入力電圧又は入力電流を印加し、
前記複数の出力ノードのうちの１つの出力ノードを接地し、
前記１つの出力ノードにおける出力電流又は出力電圧を計測し、
前記出力電流又は前記出力電圧を、目標電流又は目標電圧と比較して、誤差デルタを決定し、及び、
前記誤差デルタの大きさに比例する期間の間、前記１つの出力ノードにしきい値電圧又はしきい値電流を印加するように構成される、
メモリスタネットワーク。
【０１１０】
第１０項：
前記誤差デルタが負値のとき、前記訓練プロセッサは、
前記誤差デルタに比例する前記期間の間、前記出力ノードに正値のしきい値電圧又は正値のしきい値電流を印加し、及び、
前記誤差デルタに比例する前記期間の間、前記出力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するようにさらに構成される、
第９項に記載のメモリスタネットワーク。
【０１１１】
第１１項：
前記誤差デルタが正値のとき、前記訓練プロセッサは、
前記１つの入力ノードに印加される前記入力電圧又は前記入力電流の極性を逆転させ、
前記誤差デルタに比例する前記期間の間、前記出力ノードに正値のしきい値電圧又は正値のしきい値電流を印加し、及び、
前記誤差デルタに比例する前記期間の間、前記出力ノードに負値のしきい値電圧又は負値のしきい値電流を印加するようにさらに構成される、
第９項に記載のメモリスタネットワーク。
【０１１２】
第１２項：
前記訓練プロセッサは、
前記誤差デルタを誤差デルタ電圧又は誤差デルタ電流に変換し、
前記１つの出力ノードに前記誤差デルタ電圧又は前記誤差デルタ電流を印加し、及び、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する第２の期間の間、前記１つの入力ノードに前記しきい値電圧又は前記しきい値電流を印加するようにさらに構成される、
第９項に記載のメモリスタネットワーク。
【０１１３】
第１３項：
前記１つの入力ノードに印加された前記入力電圧又は前記入力電流が正値であったとき、前記訓練プロセッサは、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに、正値のしきい値電圧又は正値のしきい値電流を印加し、及び、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに、負値のしきい値電圧又は負値のしきい値電流を印加するように構成される、
第１２項に記載のメモリスタネットワーク。
【０１１４】
第１４項：
前記１つの入力ノードに印加された前記入力電圧又は前記入力電流が負値であったとき、前記訓練プロセッサは、
前記出力ノードに印加される前記誤差デルタ電圧又は前記誤差デルタ電流の極性を逆転させ、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに、正値のしきい値電圧又は正値のしきい値電流を印加し、及び、
前記誤差デルタ電圧又は前記誤差デルタ電流の絶対値に比例する前記第２の期間の間、前記１つの入力ノードに、負値のしきい値電圧又は負値のしきい値電流を印加するように構成される、
第１２項に記載のメモリスタネットワーク。
【０１１５】
第１５項：
前記メモリスタネットワークは、二部メモリスタネットワークを含む、
第９項に記載のメモリスタネットワーク。
【０１１６】
第１６項：
複数の入力ノード及び複数の出力ノードを備えるメモリスタネットワークを訓練する方法であって、
前記複数の入力ノードのうちの１つの入力ノードに入力電圧を印加するステップと、
前記複数の出力ノードのうちの１つの出力ノードを接地するステップと、
前記１つの出力ノードにおいて出力電流を計測するステップと、
前記出力電流を目標電流と比較して誤差デルタを決定するステップと、
前記誤差デルタの大きさに比例する期間の間、前記１つの出力ノードにしきい値電圧を印加するステップとを含む、
方法。
【０１１７】
第１７項：
前記誤差デルタが負値のとき、前記１つの出力ノードに前記しきい値電圧を印加するステップは、
前記誤差デルタに比例する前記期間の間、前記１つの出力ノードに正値のしきい値電圧を印加するステップと、及び、
前記誤差デルタに比例する前記期間の間、前記１つの出力ノードに負値のしきい値電圧を印加するステップとを含む、
第１６項に記載の方法。
【０１１８】
第１８項：
前記誤差デルタが正値のとき、前記１つの出力ノードに前記しきい値電圧に印加するステップは、
前記１つの入力ノードに印加される前記入力電圧の極性を逆転させるステップと、
前記誤差デルタに比例する前記期間の間、前記１つの出力ノードに正値のしきい値電圧を印加するステップと、及び、
前記誤差デルタに比例する前記期間の間、前記１つの出力ノードに負値のしきい値電圧を印加するステップとを含む、
第１６項に記載の方法。
【０１１９】
第１９項：
前記メモリスタネットワークは二部メモリスタネットワークを含む、
第１６項に記載の方法。
【０１２０】
第２０項：
前記メモリスタネットワークを訓練するための逆伝播アルゴリズムを再現する、
第１６項に記載の方法。
【図１Ａ】
2020521248.tif 000016
【図１Ｂ】
2020521248.tif 000017
【図１Ｃ】
2020521248.tif 000018
【図２】
2020521248.tif 000019
【図３】
2020521248.tif 000020
【図４】
2020521248.tif 000021
【図５Ａ】
2020521248.tif 000022
【図５Ｂ】
2020521248.tif 000023
【図５Ｃ】
2020521248.tif 000024
【国際調査報告】
2020521248.tif 000025