(57)【要約】【課題】メモリスタの書込電圧閾値バラツキによる訓練精度低減を抑えることができる、人工ニューラルネットワーク回路の訓練方法を提供する。【解決手段】書込電圧ＶＷＲＩＴＥによりコンダクタンスを更新させる対象である選択メモリスタの一端及び他端が接続されている入力バー及び出力バーに印加する電圧Ｖ５０、Ｖ５１として、ＶＴＨ＋ｄＶ≦｜Ｖ５０−Ｖ５１｜＝｜ＶＷＲＩＴＥ｜≦２ＶＴＨ−２ｄＶを満たす電圧を設定すると共に、その他の入力バー及び出力バーに印加する電圧として、選択メモリスタ以外のメモリスタである各非選択メモリスタの両端にＶＴＨ−ｄＶよりも小さい電圧差を生じさせる電圧を設定する印加電圧設定ステップＳ１２０，Ｓ１３０と、設定された電圧を、入力バー及び出力バーに印加する電圧印加ステップＳ１４０と、を含み、正のマージン電圧ｄＶが書込電圧閾値バラツキに基づいて設定されている。【選択図】図７
2019003547.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力バー（５０）と、
前記複数の入力バーと交差する複数の出力バー（５１）と、
前記複数の入力バーと前記複数の出力バーとの各交点に設けられた可変コンダクタンス素子であるメモリスタ（５３）と、を有するクロスバー回路（４４）を備え、
各メモリスタは、書込電圧閾値（ＶＴＨＳＥＴ、ＶＴＨＲＥＳＥＴ）以上の大きさを持つ電圧である書込電圧ＶＷＲＩＴＥが印加された場合にコンダクタンスが更新され、該書込電圧閾値よりも小さい電圧が印加された場合にはコンダクタンスが維持される特性を有すると共に、該書込電圧閾値の大きさが規定値ＶＴＨに対してバラツキを持つ人工ニューラルネットワーク回路（４０）の訓練方法であって、
該訓練方法において訓練装置（６１）が実施するステップとして、
前記メモリスタのうち、前記書込電圧ＶＷＲＩＴＥによりコンダクタンスを更新させる対象であるメモリスタを選択メモリスタとし、該選択メモリスタ以外のメモリスタを非選択メモリスタとすると、前記選択メモリスタの一端が接続されている入力バー及び該選択メモリスタの他端が接続されている出力バーそれぞれに印加する電圧Ｖ５０、Ｖ５１として、
ＶＴＨ＋ｄＶ≦｜Ｖ５０−Ｖ５１｜＝｜ＶＷＲＩＴＥ｜≦２（ＶＴＨ−ｄＶ）
但し、ｄＶは、正のマージン電圧
を満たす電圧を設定すると共に、
その他の入力バー及び出力バーそれぞれに印加する電圧として、各非選択メモリスタの両端にＶＴＨ−ｄＶよりも小さい電圧差を生じさせる電圧を設定する印加電圧設定ステップ（Ｓ１２０，Ｓ１３０）と、
前記印加電圧設定ステップにて設定された電圧を、電圧印加装置（６５）を用いて、前記複数の入力バー及び前記複数の出力バーに印加する電圧印加ステップ（Ｓ１４０）と、
を含み、
前記マージン電圧の大きさが、前記メモリスタの書込電圧閾値バラツキ（σ）に基づいて、設定されている
人工ニューラルネットワーク回路の訓練方法。
【請求項２】
前記メモリスタの書込電圧閾値バラツキを、前記規定値ＶＴＨを中心した書込電圧閾値の標準偏差σとし、Ｎを１以上の実数とすると、
前記マージン電圧は、ｄＶ≧Ｎσを満たす
請求項１に記載の人工ニューラルネットワーク回路の訓練方法。
【請求項３】
Ｎは、３以上の実数である
請求項２に記載の人工ニューラルネットワーク回路の訓練方法。
【請求項４】
各Ｎの値について予め推定された訓練後における入力データ認識精度のＮ依存性と、予め定められた認識精度の許容範囲と、に基づいて、Ｎの値が設定されている
請求項２又は３に記載の人工ニューラルネットワーク回路の訓練方法。
【請求項５】
前記認識精度のＮ依存性と、前記認識精度の許容範囲と、に基づいて、Ｎの値が、前記認識精度の許容範囲内最小値に対応する値に設定されている
請求項４に記載の人工ニューラルネットワーク回路の訓練方法。
【請求項６】
前記電圧印加ステップでは、
前記選択メモリスタが接続されている入力バー及び該選択メモリスタの他端が接続されている出力バーそれぞれに印加される電圧Ｖ５０、Ｖ５１として、
Ｖ５０＝ＶＷＲＩＴＥ／２
Ｖ５１＝−ＶＷＲＩＴＥ／２
ＶＴＨ＋ｄＶ≦｜ＶＷＲＩＴＥ｜≦２（ＶＴＨ−ｄＶ）
の関係を満たす電圧が印加されると共に、
その他の入力バー及び出力バーそれぞれに印加される電圧として、基準電圧としてのゼロ電圧が印加される、Ｖ／２バイアス方法によって電圧を印加する
請求項１ないし５何れか一項に記載の人工ニューラルネットワーク回路の訓練方法。
【請求項７】
前記電圧印加ステップでは、
前記Ｖ／２バイアス方法に加えて、
前記選択メモリスタの一端が接続されている入力バー及び該選択メモリスタの他端が接続されている出力バーそれぞれに印加される電圧Ｖ５０、Ｖ５１として、
Ｖ５０＝ＶＷＲＩＴＥ（２／３）
Ｖ５１＝−ＶＷＲＩＴＥ（１／３）
ＶＴＨ＋ｄＶ≦｜ＶＷＲＩＴＥ｜≦２（ＶＴＨ−ｄＶ）
の関係を満たす電圧が印加されると共に、
前記選択メモリスタの一端が接続された入力バーを除く前記複数の入力バーそれぞれに印加される電圧として、前記基準電圧としてのゼロ電圧が印加され、前記選択メモリスタの他端が接続されている出力バーを除く前記複数の出力バーそれぞれに印加する電圧として、電圧ＶＷＲＩＴＥ（１／３）が印加される、Ｖ／３バイアス方法、
及び、
前記選択メモリスタの一端が接続されている入力バー及び該選択メモリスタの他端が接続されている出力バーそれぞれに印加される電圧Ｖ５０、Ｖ５１として、
Ｖ５０＝ＶＷＲＩＴＥ（１／２）
Ｖ５１＝−ＶＷＲＩＴＥ（１／２）
ＶＴＨ＋ｄＶ≦｜ＶＷＲＩＴＥ｜≦２（ＶＴＨ−ｄＶ）
の関係を満たす電圧が印加されると共に、
前記選択メモリスタの一端が接続された入力バーを除く前記複数の入力バーそれぞれに印加される電圧として、電圧―ＶＷＲＩＴＥ（１／４）が印加され、前記選択メモリスタの他端が接続された出力バーを除く前記複数の出力バーそれぞれに印加される電圧として、電圧＋ＶＷＲＩＴＥ（１／４）が印加される、Ｖ／４バイアス方法
を用いて電圧を印加可能であり、
前記印加電圧設定ステップにおいて、
前記Ｖ／２バイアス方法、Ｖ／３バイアス方法、及びＶ／４バイアス方法のうち、何れの電圧印加方法を前記電圧印加ステップにおいて用いるかを、各電圧印加方法について予め推定された訓練後における入力データ認識精度の電圧印加方法依存性と、予め定められた認識精度の許容範囲と、に基づいて、決定する
請求項６に記載の人工ニューラルネットワーク回路の訓練方法。
【請求項８】
前記印加電圧設定ステップにおいて設定される、前記複数の入力バー及び前記複数の出力バーそれぞれへの印加電圧の大きさの最大値Ｖ１／２は、
Ｖ１／２＝ＶＴＨ−Ｎσ
であり、
前記メモリスタの許容印加電圧最大値をＶＩＤＥＡＬＭＡＸとすると、前記印加電圧設定ステップにおいて設定される、前記選択メモリスタへの書込電圧最大値ＶＭＡＸは、
ＶＭＡＸ＝ｍｉｎ（ＶＩＤＥＡＬＭＡＸ、２（ＶＴＨ−Ｎσ））
であり、任意の入力バーへの印加電圧と任意の出力バーへの印加電圧との和が
Ｖ１／２＋Ｖ１／２≦ＶＭＡＸ
を満たす
請求項２ないし７何れか一項に記載の人工ニューラルネットワーク回路の訓練方法。
【請求項９】
前記電圧印加装置の電圧印加精度を表す印加電圧誤差の大きさをαとすると、
前記マージン電圧は、ｄＶ＝Ｎ（σ＋α）である
請求項２ないし８何れか一項に記載の人工ニューラルネットワーク回路の訓練方法。
【請求項１０】
前記電圧印加ステップにおいて用いられる電圧印加装置は、少なくとも前記メモリスタの書込電圧閾値の標準偏差σに基づいて設定された印加電圧誤差αを持つものである
請求項９に記載の人工ニューラルネットワーク回路の訓練方法。
【請求項１１】
請求項１ないし１０何れか一項に記載の印加電圧設定ステップ及び電圧印加ステップを、訓練装置（６１）を構成するコンピュータに実施させるための、人工ニューラルネットワーク回路の訓練プログラム。
【請求項１２】
請求項１ないし１０何れか一項に記載の印加電圧設定ステップ及び電圧印加ステップを実施する
人工ニューラルネットワーク回路の訓練装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリスタを有するクロスバー回路を備えた人工ニューラルネットワーク（以下、人工ＮＮと略す）回路の訓練方法、訓練プログラム及び訓練装置に関する。
【背景技術】
【０００２】
近年、ディープニューラルネットワークなどの人工ＮＮが、例えば画像認識の分野において、従来の機械学習による認識性能を凌駕している。人工ＮＮは、典型的に、演算負荷が高い。このため、人工ＮＮは、高効率な並列計算に適したＧＰＵ（graphic processing unit）を用いた所謂ＧＰＧＰＵ（general-purpose computing on GPU）によりソフトウェア的に実現されることがある。
【０００３】
しかし、ＧＰＧＰＵは、大型であると共に、消費電力が大きい。この点について、クラウドコンピューティングベースのアプリケーション（以下、ＡＰＰ）でも問題となり得るが、非クラウドコンピューティングベースのＡＰＰでは大きな問題となり得る。非クラウドコンピューティングベースのＡＰＰとは、例えば、低消費電力及び小型化に加えて、ネットワーク障害に対するロバスト性及びリアルタイム性が求められる車両用障害物認識ＡＰＰ等である。そこで、低電力消費、高速、且つ、小型の人工ＮＮ専用ハードウェア回路が望まれている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１７／０１００４８号
【特許文献２】国際公開第２０１７／０１００４９号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような人工ＮＮ専用ハードウェア回路の一つとして、本願発明者は、可変コンダクタンス素子（以下、メモリスタ）を有するクロスバー回路を備えた人工ＮＮ回路の研究を進めてきた。その研究結果は、例えば、ここに参照により援用する特許文献１及び特許文献２に開示されている。
【０００６】
クロスバー回路は、複数の入力バーと複数の出力バーとが交差するように配列され、各交点において入力バーと出力バーとがメモリスタを介して接続されることによって構成される。クロスバー回路の入力バーに、前段ニューロンの出力としての電圧信号が入力されると、各電圧信号はメモリスタのコンダクタンス値を重みとして乗じられた後、出力バー上において総和される。そして、総和された電圧信号が、後段ニューロンへの入力として、出力される。このようにして、人工ＮＮにおけるシナプスが、クロスバー回路を用いて、ハードウェア的に実現される。
【０００７】
クロスバー回路を備えた人工ＮＮ回路を訓練する際には、シナプスの重みに対応するメモリスタのコンダクタンス値が更新される。メモリスタのコンダクタンス更新は、メモリスタの以下の特性に基づいて行われる。
【０００８】
メモリスタは、印加電圧によって、最小値と最大値との間で、異なるコンダクタンスに設定することが可能である。例えば、メモリスタのコンダクタンスは、電圧印加装置を用いて、負の書込電圧を印加することにより増加させることができ、正の書込電圧を印加することにより減少させることができる。そして、メモリスタは、正負の書込電圧閾値以上の大きさの電圧が印加されない限り、設定されたコンダクタンス値を維持する。
【０００９】
このようなメモリスタとして使用可能な素子としては、Ｐｔ／ＴｉＯ２／Ｐｔ金属酸化物素子、相変化メモリ、磁気トンネル接合メモリ、などがある。
【００１０】
特許文献１及び２には、このようなメモリスタの特性に基づいた人工ＮＮ回路の訓練方法が開示されている。特許文献１及び２の訓練方法では、クロスバー回路を構成するメモリスタに対して、書込電圧閾値以上の大きさの書込電圧を印加して、コンダクタンスを更新する。
【００１１】
しかし、特許文献１及び２の訓練方法では、クロスバー回路を構成する各メモリスタの書込電圧閾値が均一であると仮定されていた。言い換えると、クロスバー回路を構成する各メモリスタの書込電圧閾値は、規定値を持つと仮定されていた。このため、書込電圧閾値が規定値に対してばらついていると、コンダクタンス更新を意図するメモリスタのコンダクタンスが更新されなかったり、コンダクタンス更新を意図しないメモリスタのコンダクタンスが変化したりして、その結果、訓練精度が低減し得ることを本願発明者は見出した。
【００１２】
本発明は、上述した点に鑑みてなされたものであり、メモリスタの書込電圧閾値バラツキによる訓練精度低減を抑えることができる人工ＮＮ回路の訓練方法、訓練プログラム、及び訓練装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するための本発明にかかる人工ＮＮ回路の訓練方法は、
複数の入力バー（５０）と、
複数の入力バーと交差する複数の出力バー（５１）と、
複数の入力バーと複数の出力バーとの各交点に設けられた可変コンダクタンス素子であるメモリスタ（５３）と、を有するクロスバー回路（４４）を備え、
各メモリスタは、書込電圧閾値（ＶＴＨＳＥＴ、ＶＴＨＲＥＳＥＴ）以上の大きさを持つ電圧である書込電圧ＶＷＲＩＴＥが印加された場合にコンダクタンスが更新され、該書込電圧閾値よりも小さい電圧が印加された場合にはコンダクタンスが維持される特性を有すると共に、該書込電圧閾値の大きさが規定値ＶＴＨに対してバラツキを持つ人工ＮＮ回路（４０）の訓練方法であって、
該訓練方法において訓練装置（６１）が実施するステップとして、
メモリスタのうち、書込電圧ＶＷＲＩＴＥによりコンダクタンスを更新させる対象であるメモリスタを選択メモリスタとし、該選択メモリスタ以外のメモリスタを非選択メモリスタとすると、選択メモリスタの一端が接続されている入力バー及び該選択メモリスタの他端が接続されている出力バーそれぞれに印加する電圧Ｖ５０、Ｖ５１として、
ＶＴＨ＋ｄＶ≦｜Ｖ５０−Ｖ５１｜＝｜ＶＷＲＩＴＥ｜≦２（ＶＴＨ−ｄＶ）
但し、ｄＶは、正のマージン電圧
を満たす電圧を設定すると共に、
その他の入力バー及び出力バーそれぞれに印加する電圧として、各非選択メモリスタの両端にＶＴＨ−ｄＶよりも小さい電圧差を生じさせる電圧を設定する印加電圧設定ステップ（Ｓ１２０，Ｓ１３０）と、
印加電圧設定ステップにて設定された電圧を、電圧印加装置（６５）を用いて、複数の入力バー及び複数の出力バーに印加する電圧印加ステップ（Ｓ１４０）と、
を含み、
マージン電圧ｄＶの大きさが、メモリスタの書込電圧閾値バラツキ（σ）に基づいて、設定されている
人工ＮＮ回路の訓練方法である。
【００１４】
この訓練方法によれば、電圧印加ステップにおいて、選択メモリスタに対して、ＶＴＨ＋ｄＶ以上の大きさの書込電圧が印加される。ここで、ｄＶは、メモリスタの書込電圧閾値バラツキに基づいて設定される正のマージン電圧である。このため、選択メモリスタの実際の書込電圧閾値が、書込電圧閾値バラツキが原因で、規定値ＶＴＨより大きくても、書込電圧閾値以上の大きさの電圧が選択メモリスタに印加される可能性が高まる。よって、選択メモリスタのコンダクタンスが、意図に反して更新されない可能性を低減できる。
【００１５】
クロスバー回路においては、選択メモリスタの一端及び他端が接続されている入力バー及び出力バーそれぞれに、他のメモリスタが接続されている。この他のメモリスタが非選択メモリスタの場合、選択メモリスタへの書込電圧によって、そのコンダクタンスを変化させないことが好適である。
【００１６】
そこで、本訓練方法では、非選択メモリスタに印加される電圧の大きさがＶＴＨ−ｄＶ以下となるように、その他の入力バー及び出力バーそれぞれには印加する電圧を設定している。これによれば、電圧印加ステップにおいて、非選択メモリスタにはＶＴＨ−ｄＶ以下の大きさの電圧が印加される。このため、非選択メモリスタの実際の書込電圧閾値が、書込電圧閾値バラツキが原因で、規定値ＶＴＨより小さくても、非選択メモリスタに書込電圧閾値以上の大きさの電圧が印加される可能性が低減する。よって、非選択メモリスタのコンダクタンスが、意図に反して変化する可能性を低減できる。
【００１７】
さらに、本訓練方法では、選択メモリスタへの書込電圧最大値として、２（ＶＴＨ−ｄＶ）を規定している。これによれば、非選択メモリスタへの印加電圧をＶＴＨ−ｄＶ以下にするための各バーへの印加電圧設定が容易になる。
【００１８】
また、上記目的を達成するための本発明にかかる人工ＮＮ回路の訓練プログラムは、上記印加電圧設定ステップ及び電圧印加ステップを、訓練装置を構成するコンピュータに実施させるためのプログラムである。このプログラムによっても、人工ＮＮ回路の訓練方法と同じ効果が得られる。プログラムは、電気通信回線を通じて提供されるものであってもよいし、記憶媒体（non-transitory storage medium）に格納されて提供されるものであってもよい。
【００１９】
また、上記目的を達成するための本発明にかかる人工ＮＮ回路の訓練装置は、上記印加電圧設定ステップ及び電圧印加ステップを実施する訓練装置である。この訓練装置によっても、人工ＮＮ回路の訓練方法と同じ効果が得られる。
【００２０】
なお、上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００２１】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００２２】
【図１】人工ＮＮ回路でハードウェア的に実現される人工ＮＮの一例を概念的に示す図である。
【図２】人工ＮＮ回路を構成するクロスバー回路について説明するための説明図である。
【図３】メモリスタのコンダクタンスが書込電圧に対して変化する様子の一例を示した図である。
【図４】クロスバー回路について説明するための説明図である。
【図５】クロスバー回路について説明するための説明図である。
【図６】クロスバー回路を備えた人工ＮＮ回路の訓練装置を説明する図である。
【図７】書込制御装置によって実施される人工ＮＮ回路の訓練処理を示すフローチャートである。
【図８】クロスバー回路を構成するメモリスタのコンダクタンスが意図に反して更新されない具体的、及び、意図に反して変更される具体例を示す説明図である。
【図９】コンダクタンスマップの一例を示す図である。
【図１０】コンダクタンスマップの一例を示す図である。
【図１１】クロスバー回路に、Ｖ／２バイアス方法により書込電圧を印加する例を示す図である。
【図１２】クロスバー回路に、Ｖ／２バイアス方法により書込電圧を印加する他の例を示す図である。
【図１３】クロスバー回路の各バーへの印加電圧最大値について説明するための説明図である。
【図１４】クロスバー回路に、Ｖ／３バイアス方法により書込電圧を印加する例を示す図
【図１５】クロスバー回路に、Ｖ／４バイアス方法により書込電圧を印加する例を示す図である。
【図１６】数値実験でエミュレーションされた人工ＮＮ回路の構成を示す図である。
【図１７】第１数値実験の結果を示す図である。
【図１８】設定印加電圧の具体的数値を例示する図である。
【図１９】第２数値実験の結果を示す図である。
【図２０】第３数値実験の結果を示す図である。
【発明を実施するための形態】
【００２３】
本発明にかかる人工ＮＮ回路の訓練方法の実施形態を、図面を参照しつつ説明する。以下、人工ＮＮと、これをハードウェア的に実現する人工ＮＮ回路の構成と、を先ず説明する。その後、人工ＮＮ回路の訓練方法を説明する。
【００２４】
図１は、本実施形態の人工ＮＮ回路でハードウェア的に実現される人工ＮＮ２０の一例を概念的に示す。図１に示すように、人工ＮＮ２０は、入力層２１と、中間層２２と、出力層２３と、を備える。各層は、ニューロン２４を有する。中間層２２は、隠れ層とも呼ばれる。
【００２５】
人工ＮＮ２０に対して入力データが入力層２１に入力されると、入力層２１の各ニューロン２４から、入力データに対応する出力ｘ１、ｘ２、…ｉが出力される。そして、出力ｘ１、ｘ２、…に対して、シナプスとしての重みｗ１，ｗ２、…が乗じられ、これらの総和Σｗｉｘｉが中間層２２のニューロン２４に入力される。中間層２２のニューロン２４は、入力Σｗｉｘｉを、ＲｅＬＵやｔａｎｈなどの活性化関数ｆにより変換する。そして、変換された値ｆ（Σｗｉｘｉ）を、後段層に向けて出力する。この後段層は、人工ＮＮが３層の場合、出力層２３となる。４層以上の場合、後段中間層（図示なし）となる。このように入力データが変換されて、最終的に、出力層２３に入力される。出力層２３のニューロン２４は、例えば、ソフトマックス関数によって入力を変換して出力する。
【００２６】
このような人工ＮＮ２０は、入力データとしての画像（例えば、ＭＮＩＳＴデータセット）を用いて、画像を複数のカテゴリ（例えば、０〜９の数字）に分類する用途に適用できる。この場合、入力層２１への入力データは、画像のピクセル値（例えば、０〜２５５）とすることができる。出力層３０の各ニューロン２４からの出力を、入力データとしての画像が各カテゴリの属する確率とするように、構成できる。そして、出力層２３が出力する確率の中で最も高い確率に対応するカテゴリを選択することにより、入力データとしての画像を、複数のカテゴリに分類することができる。もちろん、人工ＮＮ２０は、その他の用途に適用することも可能である。例えば、物体や人の検出、人の顔の認識、あるいは、道路標識の認識などにも適用することが可能である。なお、人工ＮＮ２０のシナプスの重みは学習によって決定される。
【００２７】
次に、図２〜６を参照して、人工ＮＮ２０をハードウェア的に実現する人工ＮＮ回路４０を説明する。
【００２８】
図２に示すように、人工ＮＮ回路４０は、シナプスをハードウェア的に実現するクロスバー回路４４と、ニューロン２４をハードウェア的に実現するＣＭＯＳ回路５５、５６と、を備える。クロスバー回路４４は、入力バー５０と、入力バー５０と交差する出力バー５１と、入力バー５０と出力バー５１との交点に設けられたメモリスタ５３と、を有する。入力バー５０と出力バー５１とは、メモリスタ５３を介して接続されている。ＣＭＯＳ回路５５は、入力バー５０に接続されている。ＣＭＯＳ回路５６は、出力バー５１に接続されている。ＣＭＯＳ回路５５、５６は、ＣＭＯＳ回路基板に形成され得る。クロスバー回路４４を構成する入力バー５０及び出力バー５１は、ＣＭＯＳ回路５５、５６が形成されたＣＭＯＳ回路基板上に形成され得る。
【００２９】
なお、典型的なクロスバー回路４４は、複数の入力バー５０と、複数の出力バー５１と、これら入力バー５０と出力バー５１との各交点に設けられたメモリスタ５３と、を有する。
【００３０】
メモリスタ５３は、最小値ＧＭＩＮと最大値ＧＭＡＸとの間で、異なる抵抗状態（コンダクタンス）を有する抵抗変化型メモリである。このようなメモリスタのコンダクタンスについての理論モデルは、ここに参照により援用する刊行物１に開示されている。
【００３１】
「刊行物１」：“Phenomenological Modeling of Memristive Device” Applied Physics A, vol. 118, pp. 770-786, 2015
メモリスタ５３は、印加電圧によって、最小値ＧＭＩＮと最大値ＧＭＡＸとの間で、異なるコンダクタンスに設定することが可能である。例えば、メモリスタ５３のコンダクタンスは、電圧印加装置を用いて、負の書込電圧ＶＳＥＴを印加することにより増加させることができ、正の書込電圧ＶＲＥＳＥＴを印加することにより減少させることができる。そして、メモリスタ５３は、正負の書込電圧閾値ＶＳＥＴＴＨ、ＶＲＥＳＥＴＴＨ以上の大きさの電圧が印加されない限り、設定されたコンダクタンスを維持する。このようなメモリスタ５３として使用可能な素子としては、Ｐｔ／ＴｉＯ２／Ｐｔ金属酸化物素子、相変化メモリ、磁気トンネル接合メモリ、などがある。本明細書では、負の書込電圧ＶＳＥＴと正の書込電圧ＶＲＥＳＥＴを纏めて、書込電圧ＶＷＲＩＴＥと称することがある。また、正負の書込電圧閾値ＶＳＥＴＴＨ、ＶＲＥＳＥＴＴＨを纏めて、書込電圧閾値と称することがある。
【００３２】
図３は、正負の書込電圧パルスを、印加時間１０μｓの間、コンダクタンスＧを持つメモリスタに印加した場合のコンダクタンス変化量ΔＧの一例を示すである。このメモリスタは、Ｐｔ／ＴｉＯ２／Ｐｔ金属酸化物素子である。図３の横軸は、書込電圧印加前のコンダクタンスＧを示し、縦軸は、正負の書込電圧印加後のコンダクタンス変化量ΔＧを示す。正負の書込電圧それぞれに対するメモリスタのコンダクタンス変化量ΔＧは、書込電圧印加前のコンダクタンスＧ、並びに、書込電圧（典型的にはパルス電圧）の振幅及び印加時間に依存する。
【００３３】
図４は、図２に示すクロスバー回路４４の構成を、電気回路的に示す図である。図４に示すように、ＣＭＯＳ回路５６によって演算増幅器が形成されている。さらに、この演算増幅器の入出力間に抵抗Ｒが接続されることにより、加算器が構成されている。複数の入力バー５０に、ＣＭＯＳ回路５５から、入力信号（電圧信号）Ｖ１、Ｖ２が入力されると、電圧信号Ｖ１、Ｖ２は、メモリスタ５３によるコンダクタンスＧ１、Ｇ２がそれぞれ掛け合わされた上で、加算される。この加算結果は、加算器においてＲ倍される。加算器が出力する電圧は、以下の数式１に示される。
（数１）
加算器の出力電圧＝ＲΣＶｉＧｉ
そして、加算器の出力電圧信号は、ＣＭＯＳ回路５６内に構成される活性化関数処理回路（図示なし）に出力され、活性化関数ｆにより変換される。この変換された電圧信号が、ＣＭＯＳ回路５６から出力される。
【００３４】
典型的な人工ＮＮ２０では、シナプスの重みは、正負の値を持ち得る。このような正負の重みを人工ＮＮ回路４０で実現するために、本実施形態のクロスバー回路４４では、図５の構成が用いられる。
【００３５】
図５の構成では、各入力バー５０が、コンダクタンスＧ＋を有するメモリスタ５３とコンダクタンスＧ―を有するメモリスタ５３からなるメモリスタペアを介して、２つの出力バー５１に接続されている。この２つの出力バー５１の一方は、ＣＭＯＳ回路５６内に構成される差動演算増幅器５４の非反転入力端子に接続され、他方は、差動演算増幅器５４の反転入力端子に接続されている。なお、図５では、図４で示した加算器は省略されている。実際には、加算器は、差動演算増幅器５４の入力側に設けられる。さらに、図５では、上述した活性化関数処理回路も省略されている。実際には、活性化関数処理回路は、差動演算増幅器５４の出力側に設けられる。
【００３６】
図５のクロスバー回路４４では、複数の入力バー５０に、入力信号（電圧信号）Ｖ１、Ｖ２・・・Ｖｉが入力されると、出力バー５１のペアに接続された各差動演算増幅器５４からの出力電圧は、以下の式で表される。
（数２）
差動演算増幅器５４の出力電圧＝ＲΣＶｉ（Ｇ＋ｉ―Ｇ−ｉ）
（Ｇ＋ｉ―Ｇ−ｉ）は、正負の範囲［ＧＭＩＮ−ＧＭＡＸ；ＧＭＡＸ−ＧＭＩＮ］内の値となる。すなわち、ある入力信号に対して正の重みを掛け合わせる場合には、非反転入力端子に接続された出力バー５１と入力バー５０との間に設けられたメモリスタ５３のコンダクタンスを、反転入力端子に接続された出力バー５１と入力バー５０との間に設けられたメモリスタ５３のコンダクタンスよりも、設定しようとしている正の重み分だけ大きく設定すれば良い。逆に、ある入力信号に対して負の重みを掛け合わせる場合には、反転入力端子に接続された出力バー５１と入力バー５０との間に設けられたメモリスタ５３のコンダクタンスを、非反転入力端子に接続された出力バー５１と入力バー５０との間に設けられたメモリスタ５３のコンダクタンスよりも、設定しようとしている負の重み分だけ大きく設定すれば良い。このようにして、本実施形態のクロスバー回路４４は、正負のシナプスの重みを具現化する。
【００３７】
次に、クロスバー回路４４を備えた人工ＮＮ回路４０の訓練方法を説明する。以下、クロスバー回路４４を備えた人工ＮＮ回路４０の学習について先ず概説する。その後、人工ＮＮ回路４０の訓練装置を説明し、続けて、人工ＮＮ回路４０の訓練方法を説明する。
【００３８】
クロスバー回路４４を備えた人工ＮＮ回路４０の学習を概説する。クロスバー回路４４を備えた人工ＮＮ回路４０の学習は、シナプスの重みに対応するメモリスタ５３のコンダクタンスを更新することで具現化される。
【００３９】
このような人工ＮＮ回路４０の学習として、例えば、人工ＮＮ回路４０内にアナログ電圧信号を伝播させて行う学習（オンチップでの学習）がある。オンチップでの学習は、具体的には、以下のようにして行うことができる。
【００４０】
人工ＮＮ回路４０の入力側に対して、例えば教師データとしての入力データ（例えば、ＭＮＩＳＴデータセット）であるアナログ電圧信号ｘを入力する。そして、人工ＮＮ回路４０からのアナログ出力電圧ｙを計測し、誤認識率（例えば、ＭＮＩＳＴカテゴリ分類の誤認識率）に対応する、所望のアナログ出力電圧ｔａｒｇｅｔと実際のアナログ出力電圧ｙとの差ｅ＝ｔａｒｇｅｔ−ｙを得る。これは、順伝播に相当する。そして、人工ＮＮ回路４０の出力側から誤認識率ｅ＝ｔａｒｇｅｔ−ｙに対応する電圧信号を入力して、人工ＮＮ回路４０の入力側からの出力電圧を測定する。これは、逆伝播に相当する。逆伝播における電圧信号は、各ＣＭＯＳ回路５５，５６内において、活性化関数処理回路をバイパスして、微分活性化関数処理回路（図示無し）で変換されつつ伝播する。微分活性化関数処理回路とは、活性化関数ｆを微分した関数を具現化する回路である。
【００４１】
そして、順伝播において得られた誤認識率と、逆伝播において得られた出力電圧と、に基づいて、クロスバー回路４４を構成する各メモリスタ５３のコンダクタンスについて、コンダクタンス更新量ΔＧを算出する。そして、コンダクタンス更新量ΔＧを実現するために各メモリスタ５３の印加すべき書込電圧を算出する。この書込電圧をメモリスタ５３に印加して、メモリスタ５３のコンダクタンスを更新する。
【００４２】
上述の人工ＮＮ回路４０の学習における順伝播及び逆伝播、並びにこれらに基づいたコンダクタンス更新量ΔＧの算出方法、についての詳細は、本願発明者による特許文献１及び特許文献２に記載されており、ここに参照により援用する。
【００４３】
以下では、コンダクタンス更新量ΔＧを各メモリスタ５３に実現する、本実施形態にかかる訓練装置及び訓練方法を説明する。
【００４４】
図６は、コンダクタンス更新量ΔＧに基づいて、メモリスタ５３のコンダクタンスを更新する訓練装置を示す。訓練装置６０は、書込制御装置６１と、電圧印加装置６５と、を備える。
【００４５】
書込制御装置６１は、プロセッサ６２及び記憶装置６３等を備えたコンピュータにより構成される。記憶装置６３は、書換可能な記憶媒体を有する。記憶装置６３は、コンダクタンス更新量ΔＧと書込電圧ＶＷＲＩＴＥとの間の対応関係を示すコンダクタンスマップ（マップ）６４を記憶する。コンダクタンスマップ６４の詳細は、後述する。記憶装置６３は、さらに、プロセッサ６２に、コンダクタンス更新処理を実施させるためのプログラムを記憶している。コンダクタンス更新処理の詳細は、後述する。
【００４６】
電圧印加装置６５は、クロスバー回路４４の各入力バー５０と各出力バー５１それぞれに対して任意の電圧を印加できるように、クロスバー回路４４に接続される。図６の例では、電圧印加装置６５は、ニューロンを具現化するＣＭＯＳ回路５５、５６をバイパスして、入力バー５０と出力バー５１とに接続される。このため、図６では、ＣＭＯＳ回路５５、５６を省略している。電圧印加装置６５は、Ｄ／Ａ変換器を備え、書込制御装置６１の制御の下に、書込制御装置６１から入力された印加電圧デジタルデータに従い、入力バー５０と出力バー５１それぞれにアナログ電圧を印加する。これにより、メモリスタ５３のコンダクタンスが更新される。
【００４７】
次に、書込制御装置６１によって実施されるコンダクタンス更新処理を、図７を参照して説明する。
【００４８】
図７は、書込制御装置６１（詳しくはプロセッサ６２）が実施するコンダクタンス更新処理を示すフローチャートである。
【００４９】
Ｓ１１０において、書込制御装置６１は、各メモリスタ５３について、上述の順伝播及び逆伝播により得られたコンダクタンス更新量ΔＧを取得し、記憶装置６３に記憶する。
【００５０】
Ｓ１２０において、書込制御装置６１は、クロスバー回路４４を構成するメモリスタ５３の書込電圧閾値バラツキに基づいたコンダクタンスマップ６４を用いて、Ｓ１１０で得られたコンダクタンス更新量ΔＧに対応する書込電圧ＶＳＥＴ、ＶＲＥＳＥＴを算出する。そして、書込制御装置６１は、算出した書込電圧ＶＳＥＴ、ＶＲＥＳＥＴを記憶装置６３に記憶する。以下、書込電圧閾値バラツキについて先ず説明し、その後、コンダクタンスマップ６４について説明する。
【００５１】
書込電圧閾値バラツキについて説明する。クロスバー回路４４を構成する各メモリスタ５３は、その書込電圧閾値ＶＳＥＴＴＨ、ＶＲＥＳＥＴＴＨとして、規定値ＶＴＨを持つことが理想である。しかし、実際には、製造誤差などの様々な理由で、各メモリスタ５３の書込電圧閾値は、規定値を中心に、ある程度のばらついしまう。この場合、あるメモリスタ５３の書込電圧閾値が規定値よりも大きいと、書込電圧を印加しても、意図通りこのメモリスタ５３のコンダクタンスが更新されない場合があり得る。また、あるメモリスタ５３の書込電圧閾値が規定値よりも小さいと、このメモリスタ５３のコンダクタンスが、他のメモリスタ５３に対する書込電圧によって、意図に反して変化され得る。
【００５２】
図８は、このような意図に反したコンダクタンスの非更新及び変化の具体例を示す。図８のクロスバー回路４４では、複数の入力バー５０が、複数の入力バーＷＲｉとして示されている。複数の出力バー５１が、複数の出力バーＷＬｉとして示されている。さらに、複数のメモリスタ５３が符号Ｇｉｊを用いて示されている。図８は、メモリスタＧ２１及びメモリスタＧ４１のコンダクタンスを更新すること意図して、入力バーＷＲｉ及び出力バーＷＬｉそれぞれに、電圧印加装置６５を用いて電圧を印加している様子を示している。具体的には、複数の入力バーＷＲｉのうち、入力バーＷＲ１に対して電圧Ｖ＝−（ＶＴＨ−ｄＶ）を印加し、その他の入力バーに基準電圧としてのゼロ電圧を印加している。さらに、複数の出力バーＷＬｉのうち、出力バーＷＬ２に対して電圧Ｖ＝（ＶＴＨ−ｄＶ）を印加し、出力バーＷＬ４に対して電圧Ｖ＝ｄＶを印加すると共に、その他の出力バーには、基準電圧としてのゼロ電圧を印加している。ここで、ｄＶは、任意の正のマージン電圧とする。
【００５３】
図８のように電圧を印加すると、コンダクタンス更新を意図するメモリスタＧ２１に、電圧Ｖ＝２（ＶＴＨ−ｄＶ）が印加されると共に、コンダクタンス更新を意図する他のメモリスタＧ４１に、電圧Ｖ＝ＶＴＨが印加される。このとき、メモリスタＧ４１の書込電圧閾値が規定値ＶＴＨであれば、メモリスタＧ４１のコンダクタンスは意図どおり更新される。しかし、書込電圧閾値バラツキが理由で、メモリスタＧ４１の書込電圧閾値が規定値ＶＴＨより大きいと、意図に反してメモリスタＧ４１のコンダクタンスが更新されなくなる。また、図８のように各バーに電圧を印加すると、コンダクタンス更新を意図しないメモリスタＧ２３にも、電圧Ｖ＝（ＶＴＨ−ｄＶ）が印加される。このとき、メモリスタＧ２３の書込電圧閾値が規定値ＶＴＨであれば、メモリスタＧ２３のコンダクタンスは意図どおり変化しない。しかし、書込電圧閾値バラツキが理由で、メモリスタＧ２３の書込電圧閾値が規定値ＶＴＨより小さいと、意図に反してメモリスタＧ２３のコンダクタンスが変化し得る。このように、各メモリスタ５３の書込電圧閾値が、規定値に対してバラツキがあると、意図に反してメモリスタ５３のコンダクタンスが更新されなかったり、変化したりする。
【００５４】
そこで、本実施形態では、意図に反したコンダクタンス非更新及びコンダクタンス変化を低減すべく、以後の処理において、書込電圧閾値バラツキを考慮した書込電圧を、コンダクタンスマップ６４を用いて算出する。さらに、書込電圧をメモリスタ５３に印加するためにクロスバー回路４４の入力バー５０及び出力バー５１それぞれへ印加する電圧を、再度、書込電圧閾値バラツキを考慮して、設定している。
【００５５】
なお、書込電圧閾値バラツキは、規定値に対するバラツキがガウス分布で近似可能ならば、規定値を中心した書込電圧閾値の標準偏差σとすればよい。この場合、規定値に対するバラツキが大きいほど、標準偏差σが大きくなる。或いは、他の分布関数で近似できるならば、この分布関数の典型的な幅を表す量を用いればよい。以下の説明では、書込電圧閾値バラツキとして、標準偏差σを用いる例を説明する。書込電圧閾値の標準偏差（バラツキ）は、本処理が適用されるクロスバー回路４４について事前に測定したものでもよいし、クロスバー回路４４のサプライヤ（製造元）から提供されたものでもよいし、他の方法により得られたものでもよい。
【００５６】
次に、コンダクタンスマップ６４について図９及び図１０を参照して説明する。コンダクタンスマップ６４とは、コンダクタンス更新量ΔＧと、これを実現する書込電圧ＶＳＥＴ、ＶＲＥＳＥＴとの関係を示す、予め定められたマップである。図９及び図１０の点線は、特許文献１及び特許文献２に開示されたコンダクタンスマップの例である。図９及び図１０の実線は、本実施形態のコンダクタンスマップ６４の例である。
【００５７】
図９及び図１０に示すように、点線で示したコンダクタンスマップでは、書込電圧最小値は、書込電圧閾値の規定値ＶＴＨとされている。書込電圧最大値は、印加許容電圧最大値ＶIDEALMAXとされる。印加許容電圧最大値ＶＩＤＥＡＬＭＡＸとは、これより大きな電圧がメモリスタ５３に印加されると、メモリスタ５３の意図しない誤作動などの不具合を生じ得る電圧値である。このように、特許文献１及び特許文献２のコンダクタンスマップでは、書込電圧の範囲として、規定値ＶＴＨと印加許容電圧最大値ＶＩＤＥＡＬＭＡＸとの間の電圧がマップに定められている。
【００５８】
なお、一般に、あるコンダクタンス値Ｇを持つメモリスタ５３に対して書込電圧Ｖを印加時間Δｔだけ印加した場合のコンダクタンス変化量ΔＧは、コンダクタンス値Ｇと、書込電圧Ｖと、印加時間Δｔとに依存する。この点に関し、コンダクタンス変化量ΔＧが印加時間Δｔに略比例する程度まで印加時間Δｔを小さくすることが可能である。この場合、コンダクタンス変化量ΔＧは印加時間Δｔに比例すると近似できる。この近似により、コンダクタンスマップが印加時間Δｔを陽に含まないものとされている。また、図９及び図１０の点線のマップは、コンダクタンス変化量ΔＧが、コンダクタンス値Ｇに依存しない態様でモデル化されたものである。このモデル化の詳細は、特許文献１及び２に記載されているので、その記載をここに参照により援用する。
【００５９】
図９及び図１０において実線で示した本実施形態のコンダクタンスマップ６４は、特許文献１及び２のマップを、以下の通り改良したものである。すなわち、本実施形態のコンダクタンスマップ６４によって規定される書込電圧最小値は、以下で表される。
（数３）
書込電圧最小値ＶＷＲＩＴＥＭＩＮ＝ＶＴＨ＋ｄＶ
マージン電圧ｄＶ＝Ｎσ、但しＮは１以上の実数
この式は、書込電圧最小値が、規定値ＶＴＨに対してマージン電圧ｄＶを加算したものに設定されることを示す。そして、マージン電圧ｄＶは、書込電圧閾値の標準偏差σに対して、予め定められた１以上の実数であるＮを乗算したものである。Ｎの値を予め定める方法は、後述する。本実施形態のコンダクタンスマップ６４によって規定される書込電圧最大値は、以下の式で表される。
（数４）
書込電圧最大値ＶＷＲＩＴＥＭＡＸ＝ｍｉｎ（ＶＩＤＥＡＬＭＡＸ、２（ＶＴＨ―ｄＶ））
この式は、書込電圧最大値が、規定値ＶＴＨからマージン電圧ｄＶを減算したものを２倍したもの、及び、印加許容電圧最大値ＶＩＤＥＡＬＭＡＸ、のうち、小さい方であることを意味する。すなわち、書込電圧最大値は、高くとも、２（ＶＴＨ―ｄＶ）である。この技術的意義は、後述する。
【００６０】
数式３と数式４を纏めると、Ｓ１２０で算出される書込電圧は、以下の範囲内となる。
（数５）
書込電圧範囲＝［Ｖｔｈ＋ｄＶ；ｍｉｎ（ＶＩＤＥＡＬＭＡＸ、２（Ｖｔｈ―ｄＶ）］
このように、本実施形態のコンダクタンスマップ６４では、設定可能な書込電圧範囲が、書込電圧閾値の標準偏差を考慮した分、特許文献１及び特許文献２のコンダクタンスマップと比べて、狭い。なお、図９及び図１０に示される具体的数値は、使用するメモリスタ５３に依存するデバイス依存値である。つまり、図９及び図１０に示す具体的数値は、例示である。また、図９及び図１０において、コンダクタンス変化量を示す横軸を、正規化された単位無し値（unitless value）としている。
【００６１】
図７に示すコンダクタンス更新処理の説明に戻る。
【００６２】
Ｓ１３０において、書込制御装置６１は、Ｓ１２０で算出した書込電圧ＶＷＲＩＴＥをメモリスタ５３に印加するためにクロスバー回路４４の入力バー５０及び出力バー５１それぞれに印加する電圧を、設定する。さらに、算出した設定印加電圧データを記憶装置６３に記憶する。電圧設定は、各バーに印加される電圧の大きさの最大値をＶ１／２とすると、以下の条件を満たすように行われる。
（数６）
各バーへの印加電圧最大値Ｖ１／２＝ＶＴＨ−ｄＶ
（数７）
Ｖ１／２＋Ｖ１／２≦ＶＷＲＩＴＥＭＡＸ
数式７は、任意の入力バーへの印加電圧と任意の出力バーへの印加電圧の和が、ＶＷＲＩＴＥＭＡＸが以下であることを意味する。このような条件を満たす具体的な電圧設定方法として、例えば、Ｖ／２バイアス方法に基づく電圧設定がある。
【００６３】
Ｖ／２バイアス方法を図１１〜図１２を参照して説明する。Ｖ／２バイアス方法では、書込電圧ＶＷＲＩＴＥによりコンダクタンスを更新させる対象である選択メモリスタの一端が接続された入力バー５０にＶ５０＝１／２ＶＷＲＩＴＥを印加する。そして、この選択メモリスタの他端が接続された出力バー５１にＶ５１＝―１／２ＶＷＲＩＴＥを印加する。その他の入力バー５０及び出力バー５１に基準電圧としてのゼロ電圧を印加する。
【００６４】
図１１は、Ｖ／２バイアス方法に基づいて設定された、クロスバー回路４４の各入力バー５０及び出力バー５１への印加電圧の例を示す。図１１に示されるように、書込電圧ＶＷＲＩＴＥによりコンダクタンスを更新させる対象であるメモリスタ５３である選択メモリスタには、書込電圧ＶＷＲＩＴＥが印加される。選択メモリスタ以外のメモリスタ５３である非選択メモリスタには、電圧Ｖ＝ＶＷＲＩＴＥ／２或いはゼロ電圧が印加される。
【００６５】
図１１に電圧印加において、書込電圧ＶＷＲＩＴＥの大きさは、数式５に示されるように、ＶＴＨ＋ｄＶ以上である。さらに、マージン電圧ｄＶは、数式３に示されるように、書込電圧閾値の標準偏差σに基づいて設定される。このため、選択メモリスタの実際の書込電圧閾値が、書込電圧閾値バラツキが原因で、規定値ＶＴＨよりも大きくても、選択メモリスタに書込電圧閾値以上の大きさの電圧が印加される可能性が高まる。これは、選択メモリスタのコンダクタンスが、意図に反して更新されない可能性を低減する。
【００６６】
さらに、各非選択メモリスタに印加される電圧の大きさは、高くとも、ＶＷＲＩＴＥ／２＝ＶＴＨ―ｄＶである。つまり、各非選択メモリスタに印加される電圧は、ＶＴＨ―ｄＶ以下である。このため、各非選択メモリスタの実際の書込電圧閾値が、書込電圧閾値バラツキが原因で、規定値ＶＴＨよりも小さくても、非選択メモリスタに書込電圧閾値以上の大きさの電圧が印加される可能性が低減する。これは、非選択メモリスタのコンダクタンスが、意図に反して変化してしまう可能性を低減する。
【００６７】
図１２は、Ｖ／２バイアス方法に基づいて設定された、クロスバー回路４４の各バーへの印加電圧の他の例を示す。図１２の例では、クロスバー回路４４の各バーへの電圧印加によって、２つの選択メモリスタに、書込電圧ＶＷＲＩＴＥが印加されている。さらに、この２つの選択メモリスタ以外のメモリスタ５３である各非選択メモリスタには、電圧Ｖ＝ＶＷＲＩＴＥ／２或いはゼロ電圧が印加される。このように、Ｖ／２バイアス方法を用いて、複数の選択メモリスタのコンダクタンスを一度に更新することも可能である。
【００６８】
次に、数式４において、書込電圧最大値が、高くとも、２（ＶＴＨ―ｄＶ）と規定されている意義を、図１３を参照して説明する。図１３では、ＶＷＲＩＴＥ＝２（ＶＴＨ＋ｄＶ）と設定された上で、Ｖ／２バイアス方法に基づいてクロスバー回路４４に電圧が印加されている例である。図１３に示されるように、一部の非選択メモリスタに、書込電圧閾値の規定値よりも大きい電圧ＶＴＨ＋ｄＶが印加される。この例から分かるように、数式４の条件は、非選択メモリスタに、書込電圧閾値の規定値よりも大きい電圧が印加されることを防止するために設けられている。
【００６９】
図７のコンダクタンス更新処理の説明に戻る。
【００７０】
Ｓ１４０において、書込制御装置６１は、設定印加電圧データを、電圧印加装置６５に送信して、クロスバー回路４４の入力バー５０及び出力バー５１それぞれに設定電圧を印加させる。このようにして、本実施形態の書込制御装置６１は、クロスバー回路４４を構成する各メモリスタ５３のコンダクタンスを更新する。
【００７１】
上記コンダクタンス更新処理におけるＳ１２０及びＳ１３０が、本発明の訓練方法における印加電圧設定ステップの実施形態であり、Ｓ１４０が、電圧印加ステップの実施形態である。書込制御装置６１が、訓練装置の実施形態である。書込制御装置６１にコンダクタンス更新処理を実施させるプログラムが、訓練プログラムの実施形態である。
【００７２】
上述の例では、書込制御装置６１は、Ｖ／２バイアス方法に基づいて、クロスバー回路４４への印加電圧を設定したが、数式６〜７の条件を満たすならば、他の方法により印加電圧を設定してもよい。例えば、以下に説明するＶ／３バイアス方法或いはＶ／４バイアス方法を用いることもできる。
【００７３】
図１４は、クロスバー回路４４に、Ｖ／３バイアス方法により書込電圧を印加する例を示す。Ｖ／３バイアス方法では、選択メモリスタの一端が接続された入力バー５０に電圧Ｖ５０＝２／３ＶＷＲＩＴＥを印加し、他の入力バー５０にゼロ電圧を印加する。さらに、選択メモリスタの他端が接続された出力バー５１に電圧Ｖ５１＝―１／３ＶＷＲＩＴＥを印加し、その他の出力バー５１に電圧Ｖ＝１／３ＶＷＲＩＴＥを印加する。この場合、一見、数式６の条件を満たしていないようであるが、全てのバ−に対して、電圧Ｖ＝―１／３ＶＷＲＩＴＥだけ、余分に電圧を印加すると、数式６の条件を満たすことが分かる。図１４のようにクロスバー回路４４に電圧を印加すると、非選択メモリスタに印加される電圧の大きさは、ＶＷＲＩＴＥ／２よりも小さいＶＷＲＩＴＥ／３となる。よって、Ｖ／３バイアス方法は、Ｖ／２バイアス方法と同様に、選択メモリスタのコンダクタンスが意図に反して更新されない可能性、及び、非選択メモリスタのコンダクタンスが意図に反して変化する可能性、両方を低減する。なお、Ｖ／３バイアス方法でも、図１２の説明と同じ考え方を用いて、クロスバー回路４４への一度の電圧印加によって、複数の選択メモリスタのコンダクタンスを更新することも可能である。
【００７４】
図１５は、クロスバー回路４４に、Ｖ／４バイアス方法により書込電圧を印加する例を示す。Ｖ／４バイアス方法では、選択メモリスタの一端が接続された入力バー５０に電圧Ｖ５０＝１／２ＶＷＲＩＴＥを印加し、他の入力バー５０に電圧Ｖ＝―１／４ＶＷＲＩＴＥを印加する。さらに、選択メモリスタの他端が接続された出力バー５１に電圧Ｖ５１＝―１／２ＶＷＲＩＴＥを印加し、その他の出力バー５１に電圧Ｖ＝―１／４ＶＷＲＩＴＥを印加する。このようにクロスバー回路４４に電圧を印加すると、図１５に示すように、選択メモリスタに書込電圧ＶＷＲＩＴＥが印加されると共に、非選択メモリスタに印加される電圧の大きさは、高くともＶＷＲＩＴＥ／２となる。よって、Ｖ／４バイアス方法は、Ｖ／２バイアス方法と同様に、選択メモリスタのコンダクタンスが意図に反して更新されない可能性、及び、非選択メモリスタのコンダクタンスが意図に反して変化する可能性、両方を低減する。なお、Ｖ／４バイアス方法でも、図１２の説明と同じ考え方を用いて、クロスバー回路４４への一度の電圧印加によって、複数の選択メモリスタのコンダクタンスを更新することも可能である。
【００７５】
次に、上述の訓練方法についての数値実験（シミュレーション）を説明する。数値実験は、コンピュータ上でソフトウェアエミュレーションした人工ＮＮ回路４０を、上述の本実施形態の訓練方法で訓練することにより行った。以下、エミュレーションした人工ＮＮ回路４０の構成を先ず説明する。その後、数値実験の詳細を説明する。
【００７６】
図１６は、エミュレーションした人工ＮＮ回路４０の構成を示す。図１６に示すように、人工ＮＮ回路４０の構成として、中間層２２が一層であるものを用いた。入力層２１を構成するニューロン２５の数は、７８５である。中間層２２を構成するニューロン２５の数は、３００である。出力層２３を構成するニューロン２５の数は、１０である。入力データセットして、ＭＮＩＳＴデータセットを用いた。各入力データは、２８ｘ２８ピクセルのグレー画像であって、０〜９の何れかの手書きの数字の画像データである。画像の各ピクセルは、０〜２５５までの値をとる。さらに、それぞれに画像データに対して、「７」「２」「１」といったように、対応するラベルが付されている。このため、入力層を構成するニューロンの数を、２８ｘ２８＋１＝７８５としている。ＭＮＩＳＴデータセットでは、６００００個の訓練用画像と、１００００個のテスト用画像と、が用意されている。以下の数値実験では、６００００個の訓練用画像のうち、５００００を訓練に用い、残りの１００００を評価に用いた。
【００７７】
以上の人工ＮＮ回路４０の構成と、入力データと、を用いて、第１〜第３数値実験を行った。各数値実験において、正負の書込電圧閾値の規定値を、それぞれ、ＶＴＨ＝１．４Ｖ、ＶＴＨ＝−０．９Ｖとした。クロスバー回路４４を構成する複数のメモリスタ５３の正負の書込電圧閾値は、この規定値に対して標準偏差σで規定されるガウス分布に従うとした。標準偏差σ＝０Ｖ，０．１Ｖ、０．０５Ｖ、０．０２５Ｖ、０．１Ｖ、０Ｖの６つ場合それぞれについて、数値実験を行った。つまり、メモリスタ５３の書込電圧閾値バラツキの程度が異なる複数のクロスバー回路４４について、数値実験を行った。マージン電圧ｄＶ＝Ｎσを規定するＮとして、複数の異なる値Ｎ＝１、２、３、３．５、４の５つ場合それぞれについて、数値実験を行った。クロスバー回路４４へは、Ｖ／２バイアス方法により電圧を印加した。
【００７８】
第１数値実験について図１７を参照して説明する。第１数値実験では、書込電圧の印加による、意図に反した非選択メモリスタのコンダクタンス変化を考慮していない。
【００７９】
図１７は、第１数値実験の結果を示す。横軸は、書込電圧閾値の標準偏差σを示す。図１７の右側ほど、メモリスタ５３の書込電圧閾値バラツキの程度が大きいクロスバー回路４４についての結果を示す。縦軸は、訓練後における評価用画像データの誤認識率を示す。図１７の下側ほど、誤認識率が低い。言い換えると、図１７の下側ほど、訓練後における認識精度が高い。図中の複数のグラフは、異なるＮに対応する。比較のために、標準偏差σ＝０の場合、即ち、各メモリスタの書込電圧閾値が、規定値を持つ場合の結果を、「比較実験１」とラベルして図示している。なお、比較実験１の結果は、横軸におけるσ＝０の箇所に図示されるべきだが、σ＞０の結果との比較を容易にするために、図１７のように示した。
【００８０】
図１７に示されるように、書込電圧閾値の標準偏差σが何れの場合でも、Ｎを大きくすると、訓練後の誤認識率が下がる。言い換えると、書込電圧閾値バラツキによる訓練精度低減が、大きく抑えられる。特に、Ｎを３以上とすると、誤認識率が、標準偏差σ＝０の場合に、略一致する。この理由は、以下の通りである。
【００８１】
Ｎが３以上であるので、数式３より、ＶＴＨ＋３σ以上の大きさの電圧が選択メモリスタに印加される。ここで、σが規定値ＶＴＨを中心した書込電圧閾値の標準偏差であるところ、選択メモリスタの実際の書込電圧閾値が、書込電圧閾値バラツキが原因で、ＶＴＨ＋３σより小さくなる確率は、９８．９％以上となる。つまり、書込電圧閾値以上の大きさの電圧が選択メモリスタに印加される可能性を、９８．９％以上にできる。
【００８２】
以上の結果が示す特性に基づいて、マージン電圧ｄＶの大きさを規定するＮを、予め定めることができる。例えば、Ｎの値を３と設定する。或いは、各Ｎの値について予め推定された訓練後における認識精度（１００％−誤認率）のＮ依存性と、予め定められた認識精度の許容範囲と、に基づいて、Ｎの値を設定する。具体的には、例えば、以下のようにする。
【００８３】
上述のように人工ＮＮ回路４０をソフトウェアエミュレーションすることにより、認識精度のＮ依存性を予め推定する。或いは、同じ構成を持つ人工ＮＮ回路４０について、様々なＮの値、即ち、様々な値のマージン電圧ｄＶについて訓練を行って、訓練後の人工ＮＮ回路４０の認識精度を実際に測定することにより、認識精度のＮ依存性を予め推定する。この認識精度のＮ依存性と、認識精度の許容範囲と、を比較して、許容範囲内の認識精度が実現され得るＮの値を、マージン電圧を規定するＮの値として用いる。なお、認識精度の許容範囲は、人工ＮＮ回路４０にて実現されるアプリケーションの種類やアプリケーションの用途等に応じて予め適宜設定されるものである。アプリケーションの種類とは、画像認識、音声認識用などである。アプリケーションの用途とは、車両の自動運転用、車両におけるエンターテイメント用などである。
【００８４】
許容範囲内の認識精度が実現され得るＮのうち、最小のＮを設定してもよい。その理由は、以下の通りである。数式５に示されるように、Ｎを大きくすると、設定可能な書込電圧範囲が狭くなる。このため、設定可能な書込電圧範囲を確保するという観点からは、Ｎは小さい方が好適である。一方、上述したように、認識精度向上の観点からは、Ｎが大きい方が好適である。そこで、これらを両立するため、許容範囲内の認識精度が実現されるＮのうち、最小のＮを用いる。なお、設定可能な書込電圧範囲を大きくすると、例えば、以下の利点がある。図９及び図１０、並び、これらに関する上記説明から分かるように、設定可能書込電圧の範囲を大きくすれば、一度の電圧印加で実現可能なコンダクタンス変化量が大きくなる。つまり、設定可能な書込電圧範囲を大きくすれば、所望のコンダクタンス変化を実現するまでの訓練時間を短くすることができる。
【００８５】
数式３〜数式７で規定される書込電圧最小値、書込電圧最大値、及び、各バーへの印加電圧の具体的数値例を、図１８に示す。メモリスタの特徴量として、以下が用いられている。正負の書込電圧閾値の規定値は、それぞれ、ＶＲＥＳＥＴＴＨ＝１．４Ｖ、ＶＳＥＴＴＨ＝−０．９Ｖである。正負の書込電圧閾値の標準偏差は、σ＝０．０５Ｖである。印加許容電圧最大値は、正負それぞれについて、ＶＩＤＥＡＬＭＡＸ＝２．６４Ｖ、−１．４１Ｖである。
【００８６】
図１８の上部は、各Ｎの値についての、数式３、数式４、及び数式６を用いて算出される書込電圧最大値ＶＭＡＸ、書込電圧最小値ＶＭＩＮ、及び各バーへの印加電圧最大値Ｖ１／２を示す。Ｎ＝１，２，３の場合、書込電圧最大値ＶＭＡＸは、印加許容電圧最大値ＶＩＤＥＡＬＭＡＸとなる。つまり、Ｎ＝１，２，３の場合、印加許容電圧最大値ＶＩＤＥＡＬＭＡＸは、２（ＶＴＨ−Ｎσ）よりも小さい。図１８の中部及ぶ下部は、書込電圧最大値ＶＭＡＸと、各バーへの印加電圧最大値Ｖ１／２と、の差を示す。このように、各バーの印加電圧最大値の２倍が、必ずしも、数式７を満たす訳ではない。この点が、数式７の意義といえる。
【００８７】
次に、第２数値実験について、図１９を参照して説明する。第２数値実験では、第１実験とは異なり、選択メモリスタに対する書込電圧印加による非選択メモリスタのコンダクタンス変化を考慮している。
【００８８】
図１９は、第２数値実験の結果と、用いたパラメタを示す。図中の比較実験１は、図１７の比較実験１と同じものである。さらに、比較のために「比較実験２」を図示している。比較実験２では、図１９の下部に示す標準偏差σ＝０．０１Ｖ，０．０５Ｖ，０．１Ｖを用いてクロスバー回路４４への印加を、数式５〜数式７を通じて設定する。しかし、比較実験２では、この設定印加電圧が印加されるクロスバー回路４４を構成する各メモリスタは、書込電圧閾値として規定値をもつとして数値実験を行った。比較実験１と比較実験２との相違点は、数式５で決まる書込電圧の範囲が、比較実験１よりも比較実験２の方が狭いことにある。図１８に示される結果から分かるように、認識率低減の要因は、数式５で決まる書込電圧の範囲である利用可能電圧範囲と、書込電圧閾値と、を含む。
【００８９】
次に第３数値実験について、図２０を参照して説明する。図２０は、第３数値実験の結果を、第２実験の結果と共に示す。第３数値実験では、クロスバー回路４４に３／Ｖバイアス法により電圧を印加した。図２０に示されるように、Ｖ／３バイアス法を用いる方が、Ｖ／２バイアス法を用いるよりも、高認識率を得られることが分かる。
【００９０】
Ｓ１４０において、Ｖ／２バイアス方法、Ｖ／３バイアス方法、及びＶ／４バイアス方法のうち、何れを用いるかは、例えば、以下の観点から決定できる。
【００９１】
電圧印加方法として、1／２バイアス方法、１／３バイアス方法、及び１／４バイアス方法の何れを用いても、選択メモリスタに印加される電圧は、書込電圧ＶＷＲＩＴＥである。一方で、非選択メモリスタに印加される電圧の大きさは、図１１〜１２及び１４〜１５に示すように、電圧印加方法によって異なる。具体的には、1／２バイアス方法を用いた場合は、ある非選択メモリスタに対して（１／２）ＶＷＲＩＴＥ、他の非選択メモリスタに対して基準電圧（ゼロ電圧）である。１／３バイアス方法を用いた場合は、ある非選択メモリスタに対して（１／３）ＶＷＲＩＴＥ、他の非選択メモリスタに対して（―１／３）ＶＷＲＩＴＥである。１／４バイアス方法を用いた場合は、ある非選択メモリスタに対して（１／４）ＶＷＲＩＴＥ、他の非選択メモリスタに対して基準電圧（―１／２）ＶＷＲＩＴＥである。
【００９２】
このため、非選択メモリスタのコンダクタンスが意図に反して変化する可能性を低減させるという観点からは、第３数値実験で示したとおり、1／２バイアス方法よりも、Ｖ／３バイアス方法が好適である。なぜなら、Ｖ／２バイアス方法を用いた場合よりも、Ｖ／３バイアス方法を用いた場合の方が、非選択メモリスタに印加される電圧の大きさが、総じて、小さくなるためである。また、非選択メモリスタのコンダクタンスが意図に反して変化する可能性を低減させるという観点からは、1／２バイアス方法よりも、Ｖ／４バイアス方法が好適な場合がある。これは、非選択メモリスタに印加される電圧の大きさが共に、高くとも（１／２）ＶＷＲＩＴＥであるが、その極性が逆であるためである。詳しくは、図９及び図１０に示すように、典型的には、メモリスタに印加する電圧の極性によって、書込電圧閾値の大きさが異なる。このため、Ｖ／２バイアス方法よりも、Ｖ／４バイアス方法が好適な場合が生じる。
【００９３】
一方で、クロスバー回路４４の各バ−への電圧印加による電力消費という観点からは、Ｖ／２バイアス方法が、Ｖ／３バイアス方法及びＶ／４バイアス方法よりも好適である。なぜなら、選択メモリスタが接続されている入力バー５０及び出力バー５１を除く他のバーすべてに対して、Ｖ／２バイアス方法では、基準電圧（ゼロ電圧）を印加すればよいが、Ｖ／３バイアス方法及びＶ／４バイアス方法では、基準電圧（ゼロ電圧）を印加すればよい訳ではない。
【００９４】
これらの点を考慮して、Ｓ１３０において、何れの電圧印加方法を用いるかを決定できる。具体的には、各電圧印加方法について予め推定された訓練後における入力データ認識精度の電圧印加方法依存性と、予め定められた認識精度の許容範囲と、に基づいて、用いる電圧印加方法を決定してもよい。例えば、何れの電圧印加方法であっても、認識精度が許容範囲となるように訓練可能であるならば、消費電力の小さいＶ／２バイアス方法を用いて電圧を印加する。Ｖ／２バイアス方法では認識精度が許容範囲となる訓練が可能ではないが、Ｖ／３又はＶ／４バイアス方法では認識精度が許容範囲となる訓練が可能である場合は、消費電力が大きくとも認識精度を担保できるＶ／３又はＶ／４バイアス方法を用いるという具合である。
【００９５】
入力データ認識精度の電圧印加方法依存性を、予め推定する方法としては、様々な方法を用いることができる。例えば、上記数値実験で示したように、ソフトウェアエミュレーションした人工ＮＮ回路４０をコンピュータ上で訓練することにより、入力データ認識精度の電圧印加方法依存性を予め推定してもよい。或いは、各電圧印加方法を用いて人工ＮＮ回路４０をオンチップで訓練を行い、認識精度を実際に測定することにより、入力データ認識精度の電圧印加方法依存性を、予め推定することできる。認識精度の許容範囲は、人工ＮＮ回路４０に実装されるアプリケーションの種類やアプリケーションの用途等に応じて、予め適宜設定されるものである。
【００９６】
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００９７】
例えば、上記実施形態では、人工ＮＮ回路４０においてニューロン２４を具現化する構成として、ＣＭＯＳ回路５５，５６を例示した。しかし、ニューロン２４は、他の専用回路によって具現化されてもよいし、汎用コンピュータによって具現化されてもよいし、これらの組み合わせとして具現化されてもよい。
【００９８】
また、上記実施形態では、マージン電圧ｄＶが、書込電圧閾値の標準偏差σと、１以上の実数であるＮと、を用いてｄＶ＝Ｎσと設定されている例を説明した。しかし、書込電圧閾値のバラツキ以外の要因を考慮して、マージン電圧ｄＶが、ｄＶ＝Ｎ（σ＋α）≧Ｎσと設定されてもよい。例えば、電圧印加装置６５の電圧印加精度を表す印加電圧誤差の大きさαを考慮して、マージン電圧がｄＶ＝Ｎ（σ＋α）と設定されてもよい。このようにすれば、電圧印加装置６５の印加電圧誤差による訓練精度低減を、抑えることができる。
【００９９】
電圧印加ステップＳ１５０において用いる電圧印加装置６５の印加電圧誤差αを、書込電圧閾値の標準偏差σに基づいて予め設定すると好適である。例えば、印加電圧誤差αを書込電圧閾値の標準偏差σよりも小さくして、印加電圧誤差αが訓練精度低減の主要因となることを予め防止するという具合である。
【符号の説明】
【０１００】
４０…人工ＮＮ回路、４４…クロスバー回路、５０…入力バー、５１…出力バー、５３…メモリスタ、６１…書込制御装置（訓練装置）、６５…電圧印加装置
【図１】
2019003547.tif 000003
【図２】
2019003547.tif 000004
【図３】
2019003547.tif 000005
【図４】
2019003547.tif 000006
【図５】
2019003547.tif 000007
【図６】
2019003547.tif 000008
【図７】
2019003547.tif 000009
【図８】
2019003547.tif 000010
【図９】
2019003547.tif 000011
【図１０】
2019003547.tif 000012
【図１１】
2019003547.tif 000013
【図１２】
2019003547.tif 000014
【図１３】
2019003547.tif 000015
【図１４】
2019003547.tif 000016
【図１５】
2019003547.tif 000017
【図１６】
2019003547.tif 000018
【図１７】
2019003547.tif 000019
【図１８】
2019003547.tif 000020
【図１９】
2019003547.tif 000021
【図２０】
2019003547.tif 000022