(57)【要約】【課題】メモリスタアレイを用いた簡易な構造・動作原理での強化学習を可能にし、必要なメモリおよび計算量を削減できる強化学習システムを提供する。【解決手段】実施形態の強化学習システムは、複数の第１方向配線の各々が複数の状態のうちの１つに対応し、複数の第２方向配線の各々が複数の行動のうちの１つに対応するメモリスタアレイと、複数の第１方向配線に個別に電圧を印加する第１電圧印加部と、複数の第２方向配線に個別に電圧を印加する第２電圧印加部と、読み出し電圧が印加された第１方向配線に対応する状態のときにエージェントが選択すべき行動を決定する行動決定回路と、環境が取り得る各状態のときにエージェントが選択した行動を記憶する行動記憶部と、エージェントが選択した行動によってその状態に遷移した時刻を記憶するトレース記憶部と、を備える。【選択図】図４
2020004313.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１方向配線と複数の第２方向配線とが交差して配置され、各交点にそれぞれメモリスタが設けられたクロスバー型のメモリスタアレイであって、前記複数の第１方向配線の各々が、環境が取り得る複数の状態のうちの１つに対応し、前記複数の第２方向配線の各々が、エージェントが取り得る複数の行動のうちの１つに対応するメモリスタアレイと、
前記複数の第１方向配線に個別に電圧を印加する第１電圧印加部と、
前記複数の第２方向配線に個別に電圧を印加する第２電圧印加部と、
前記複数の第１方向配線のうちの１つに読み出し電圧が印加されたときに前記複数の第２方向配線を流れる電流の大きさに基づいて、読み出し電圧が印加された第１方向配線に対応する状態のときにエージェントが選択すべき行動を決定する行動決定回路と、
環境が取り得る各状態に対し、その状態のときにエージェントが選択した行動を記憶する行動記憶部と、
環境が取り得る各状態に対し、環境がその状態であった時刻を記憶するトレース記憶部と、
を備える強化学習システム。
【請求項２】
報酬が与えられるとき、
前記第１電圧印加部は、前記複数の第１方向配線のうち、報酬が与えられるまでの間に遷移した各状態に対応する各第１方向配線に対し、前記行動記憶部が記憶するエージェントが選択した行動と、前記トレース記憶部が記憶する時刻と、報酬の極性とに応じたパターンの第１電圧信号を印加し、
前記第２電圧印加部は、前記複数の第２方向配線の各々に対し、所定パターンの第２電圧信号を印加し、
前記第１電圧信号が印加された第１方向配線と前記第２電圧信号が印加された第２方向配線との交点に設けられたメモリスタは、第１方向配線に接続する端子と第２方向配線に接続する端子との間の電位差に応じてコンダクタンスが変化する
請求項１に記載の強化学習システム。
【請求項３】
報酬が与えられるとき、
前記第１電圧印加部は、前記複数の第１方向配線のうち、報酬が与えられるまでの間に遷移した各状態に対応する各第１方向配線に対し、前記行動記憶部が記憶するエージェントが選択した行動と報酬の極性とに応じた波形を有し、かつ、前記トレース記憶部が記憶する時刻に応じた振幅を持つパターンの前記第１電圧信号を印加する
請求項２に記載の強化学習システム。
【請求項４】
報酬が与えられるまでの間に遷移した状態数をＮとし、報酬が与えられるまでの間に遷移した各状態に対応する各第１方向配線に印加する前記第１電圧信号の振幅を、前記トレース記憶部が記憶する時刻が新しい順にｂ０，ｂ１，・・・，ｂＮ−２，ｂＮ−１とし、前記第２電圧信号の振幅をａとし、メモリスタのコンダクタンスが変化する境界電圧をＶＰＴとしたときに、
ＶＰＴ＞ｂ０＞ｂ１＞・・・＞ｂＮ−２＞ｂＮ−１＞ＶＰＴ−ａ＞０
の関係を満たす
請求項３に記載の強化学習システム。
【請求項５】
報酬が与えられるとき、
前記第１電圧印加部は、前記複数の第１方向配線のうち、報酬が与えられるまでの間に遷移した各状態に対応する各第１方向配線に対し、前記行動記憶部が記憶するエージェントが選択した行動と、前記トレース記憶部が記憶する時刻と、報酬の極性とに応じた波形を有し、かつ、所定の振幅を持つパターンの前記第１電圧信号を印加し、
前記第２電圧印加部は、前記複数の第２方向配線の各々に対し、遡るべき行動選択の数に対応する数の振幅を持つパターンの前記第２電圧信号を時間差をつけて印加する
請求項２に記載の強化学習システム。
【請求項６】
遡るべき行動選択の数をＮとし、前記第２電圧信号のＮ個の振幅を大きい順にａ０，ａ１，・・・，ａＮ−２，ａＮ−１とし、前記第１電圧信号の振幅をｂとし、メモリスタのコンダクタンスが変化する境界電圧をＶＰＴとしたときに、
ＶＰＴ＞ａ０＞ａ１＞・・・＞ａＮ−２＞ａＮ−１＞ＶＰＴ−ｂ＞０
の関係を満たす
請求項５に記載の強化学習システム。
【請求項７】
報酬が与えられるとき、
前記第１電圧印加部は、前記複数の第１方向配線のうち、報酬が与えられるまでの間に遷移した各状態に対応する各第１方向配線に対して、各々異なるパターンの前記第１電圧信号を同時に印加する
請求項２乃至６のいずれか一項に記載の強化学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、強化学習を行うための強化学習システムに関する。
【背景技術】
【０００２】
近年、ＧＰＵ（Ｇｒａｐｈｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に代表される計算機ハードウェアの進歩に伴い、人工知能技術が急速に発展している。特にＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）に代表される画像認識・分類技術は、既に実社会の様々なシーンで利用されている。一方、人工知能技術の中でも単に信号を認識・分類するだけではなく、試行を重ねながらシステム自らが学習して賢くなっていく、強化学習が注目されている。例えば、人間のプロ囲碁棋士を破ったアルファ碁は、強化学習を応用したアルゴリズムを実装している。
【０００３】
このように、システム自身が試行錯誤によって創造的・戦略的思考に基づく判断・動作を行うことができる強化学習は、将来の自律的に動作するモビリティーやロボット等、エッジデバイスの基礎技術として注目されている。しかし、強化学習は複雑かつ膨大な計算を必要とする。すなわち、強化学習においては、環境の状態に応じたエージェントの行動選択とその行動による環境の状態遷移を繰り返し、望みの結果が得られたかどうかによって、行動選択および状態遷移の履歴を遡って、その環境でその行動を選択する確率を変化させる。このため、強化学習には多くのメモリおよび計算量が必要となり、計算リソースおよび消費電力が制限されるエッジへの実装が難しい。
【０００４】
一方、クロスバー型のメモリスタアレイを使ってニューラルネットワークをハードウェア的に構成し、電圧シーケンスを工夫することでメモリスタ個別にアクセスすることなく、ニューラルネットワークを学習させる技術が提案されている。この技術により、ニューラルネットワーク学習の並列性を高めることができるため、学習時の消費電力を大幅に改善することが可能である。しかしながら、この技術は、画像認識等の静的なデータの学習を行うことが可能であるが、時系列的なデータを扱う強化学習については、上述の通り、エージェントの行動選択および環境の状態遷移の履歴を遡る必要があるため、このまま適用することはできない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２０１７／０１０９６２８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、メモリスタアレイを用いた簡易な構造・動作原理での強化学習を可能にし、必要なメモリおよび計算量を削減できる強化学習システムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態の強化学習システムは、メモリスタアレイと、第１電圧印加部と、第２電圧印加部と、行動決定回路と、行動記憶部と、トレース記憶部と、を備える。メモリスタアレイは、複数の第１方向配線と複数の第２方向配線とが交差して配置され、各交点にそれぞれメモリスタが設けられたクロスバー型のメモリスタアレイである。このメモリスタアレイは、前記複数の第１方向配線の各々が、環境が取り得る複数の状態のうちの１つに対応し、前記複数の第２方向配線の各々が、エージェントが取り得る複数の行動のうちの１つに対応する。第１電圧印加部は、前記複数の第１方向配線に個別に電圧を印加する。第２電圧印加部は、前記複数の第２方向配線に個別に電圧を印加する。行動決定回路は、前記複数の第１方向配線のうちの１つに読み出し電圧が印加されたときに前記複数の第２方向配線を流れる電流の大きさに基づいて、読み出し電圧が印加された第１方向配線に対応する状態のときにエージェントが選択すべき行動を決定する。行動記憶部は、環境が取り得る各状態に対し、その状態のときにエージェントが選択した行動を記憶する。トレース記憶部は、環境が取り得る各状態に対し、エージェントが選択した行動によってその状態に遷移した時刻を記憶する。
【図面の簡単な説明】
【０００８】
【図１】強化学習の原理を説明する図。
【図２】メモリスタアレイの構成例を示す図。
【図３】メモリスタの特性を示す図。
【図４】実施形態に係る強化学習システムの構成例を示す図。
【図５】第１実施形態における学習操作の概要を説明する図。
【図６】第１電圧信号の振幅を説明する図。
【図７】第２実施形態における学習操作の概要を説明する図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明に係る強化学習システムの好適な実施形態について詳細に説明する。
【００１０】
＜実施形態の概要＞
まず、強化学習の原理を交えながら、本実施形態の基本的な考え方を説明する。強化学習は、エージェントと呼ばれる主体が、ある「状態」において何らかの「行動」を選択し、その結果、変化した環境やエージェントの状態に応じて、エージェントが「報酬」を受け取るというシステムにおいて、エージェントが報酬を最大化するような行動を取るように学習させるという機械学習アルゴリズムである。なお、行動選択については、確率的であっても、決定論的であっても構わない。
【００１１】
例えば図１のように、エージェントが左右の分岐を繰り返して出口に到達することを考える。まず、エージェントがＡから出発して左へ分岐し、Ｂに到達した後、再び左へ分岐して行き止まりに到達したとする。行き止まりに到達するという結果は、出口に到達するという目的とは異なる結果であるため、エージェントは負の報酬を得ることになる。負の報酬を得るということは、過去の行動選択が誤っていたということを意味する。強化学習においては、過去の行動選択の履歴を参照して、このような行動選択を行わないように学習を行う。
【００１２】
今回の場合、負の報酬を得る原因としては、負の報酬を得る直前に行った「Ｂから左へ分岐」と、それ以前に行った「Ａから左へ分岐」の２つがあるが、強化学習においては、「報酬を得る直前に行った行動が誤っている可能性が高い」と仮定して学習を行う。そこで、エージェントがＢから左へ分岐しなくなる可能性が高くなるように学習を行う。一方、Ａから左へ分岐することは間違いである可能性はあるが、まだ結論が出せないので、左へ分岐しなくなる可能性が高まるように学習を行うが、Ｂからの分岐の場合ほど強くは行わない。なお、ここで「可能性」という文言は、行動選択が確率的であることを意味しない。決定論的な行動選択を行う場合もある。決定論的な場合であっても、行動選択を行うためのパラメーターが未知であるため、パラメーターを変化させても必ず行動選択が変化するかどうかは分からないので、「可能性」という文言を使用している。
【００１３】
次に、エージェントが再度Ａから出発すると、Ａからの分岐は弱い学習を行っただけなので、今回もやはり左に分岐してＢに到達したとする。ここで、Ｂからの分岐については左へ分岐しないように強く学習しているので、エージェントはＢから右に分岐する。すると、再び行き止まりに到達してやはり負の報酬を得る。前回と同様、負の報酬を得た原因として「Ｂから右へ分岐」とそれ以前に行った「Ａから左へ分岐」があるが、報酬を得る直前の「Ｂから右へ分岐」が誤っている可能性が高いと考え、右へ分岐しないように強い学習を行う。Ｂからの分岐は、前回の学習で左へ分岐しないように強く学習しているため、今回の学習で元に戻った格好になる。一方、Ａからの分岐については、前回と同様、左へ分岐しないように弱めの学習を行う。
【００１４】
以上の学習を経た後、エージェントが再度Ａから出発することを考える。「Ａから左へ分岐」については、既に２回、これを選択しにくくなるように弱い学習を行っているため、Ａから右に分岐してＣに到達する可能性が高くなっている。そこで、エージェントがＡから右に分岐してＣに到達したとする。その後、エージェントがＣから左に分岐すると、出口に到達し、正の報酬を得る。この場合、正の報酬を得た原因は「Ａから右へ分岐」と「Ｃから左へ分岐」であるため、ＡおよびＣにおいてこれらの行動を選択するよう、学習が行われる。エージェントの行動選択が確率的な場合、再度の試行を行うと、例えばＣにおいて右への分岐が行われて負の報酬を受け取ることもあり得る。この場合、「Ｃから右へ分岐」を抑制する学習が行われる。「Ａから右へ分岐」を抑制する学習も行われるが、上述の通り、この学習は弱いので、その後の試行でエージェントが出口に達する可能性は高い。再びエージェントが出口に達すれば、正の報酬が与えられ、「Ａから右へ分岐」と「Ｃから左へ分岐」の行動選択が強化され、エージェントが正しく出口に達する可能性は高まっていく。
【００１５】
本実施形態は、上記の強化学習のアルゴリズムをクロスバー型のメモリスタアレイを用いて実現する。図１に例示した単純な事例に対応するメモリスタアレイの構成例を図２に示す。図２に示すメモリスタアレイ１００は、図１の例の３つの状態Ａ，Ｂ，Ｃに対応する３本の横方向配線１０１ａ，１０１ｂ，１０１ｃと、図１の例の２種類の行動（左に分岐と右に分岐）に対応する２本の縦方向配線１０２ｌ，１０２ｒとが交差して配置され、各交点にそれぞれメモリスタ１０３ａｌ，１０３ａｒ，１０３ｂｌ，１０３ｂｒ，１０３ｃｌ，１０３ｃｒが設けられた構成である。
【００１６】
すなわち、状態Ａに対応する横方向配線１０１ａは、メモリスタ１０３ａｌを介して、左に分岐する行動に対応する縦方向配線１０２ｌと電気的に接続され、メモリスタ１０３ａｒを介して、右に分岐する行動に対応する縦方向配線１０２ｒと電気的に接続されている。同様に、状態Ｂに対応する横方向配線１０１ｂは、メモリスタ１０３ｂｌを介して、左に分岐する行動に対応する縦方向配線１０２ｌと電気的に接続され、メモリスタ１０３ｂｒを介して、右に分岐する行動に対応する縦方向配線１０２ｒと電気的に接続されている。同様に、状態Ｃに対応する横方向配線１０１ｃは、メモリスタ１０３ｃｌを介して、左に分岐する行動に対応する縦方向配線１０２ｌと電気的に接続され、メモリスタ１０３ｃｒを介して、右に分岐する行動に対応する縦方向配線１０２ｒと電気的に接続されている。
【００１７】
３本の横方向配線１０１ａ，１０１ｂ，１０１ｃには、それぞれ電圧発生器１１０ａ，１１０ｂ，１１０ｃが接続され、これら横方向配線１０１ａ，１０１ｂ，１０１ｃに対して個別に電圧を印加できるようになっている。また、２本の縦方向配線１０２ｌ，１０２ｒにも同様に電圧発生器１２０ｌ，１２０ｒが接続され、これら縦方向配線１０２ｌ，１０２ｒに対して個別に電圧が印加できるようになっている。２本の縦方向配線１０２ｌ，１０２ｒは、電圧発生器１２０ｌ，１２０ｒに接続された端部とは逆側の端部が電流比較器１３０に接続される。
【００１８】
図３は、典型的なメモリスタの特性を示す図である。一般に、メモリスタに電圧を印加すると、非線形な電流−電圧特性を示し、一定の電圧ＶＰＴ（以下、これを境界電圧と呼ぶ）よりも大きな電圧を印加すると、コンダクタンス（抵抗の逆数）が変化する。図中の太線がメモリスタの電流−電圧特性、一点鎖線がコンダクタンスの変化をそれぞれ示している。図３では、正の大きな電圧を印加するとコンダクタンスが増加し、負の大きな電圧を印加するとコンダクタンスが減少することを示している。以下では、メモリスタを流れる電流を読み出す際には、境界電圧ＶＰＴよりも小さな電圧ＶＲ（以下、これを読み出し電圧と呼ぶ）を印加し、メモリスタのコンダクタンスを変化（抵抗値を変化）させるときには、±ＶＰＭ（ＶＰＭ＞ＶＰＴ）を印加するものとする。
【００１９】
初期状態では、メモリスタの抵抗値はランダムに分布しているものとする。本例の場合、エージェントがＡから出発する状況に対応して、電圧発生器１１０ａから横方向配線１０１ａに読み出し電圧ＶＲを印加する。このとき、縦方向配線１０２ｌ，１０２ｒには、入力インピーダンスの十分低い電流比較器１３０を接続し、事実上のグラウンド接地状態にしておく。また、横方向配線１０１ｂ，１０１ｃはグラウンドに接地しておく。すると、縦方向配線１０２ｌにはメモリスタ１０３ａｌを介して電流が流れるとともに、縦方向配線１０２ｒにはメモリスタ１０３ａｒを介して電流が流れ、これらの電流が電流比較器１３０に流れ込む。メモリスタの抵抗は電流比較器１３０のインピーダンスに比べて十分に大きいので、メモリスタ１０３ｂｌ，１０３ｂｒを介して横方向配線１０１ｂに電流が流れ込んだり、メモリスタ１０３ｃｌ，１０３ｃｒを介して横方向配線１０１ｃに電流が流れ込んだりすることはない。
【００２０】
縦方向配線１０２ｌを流れる電流の大きさと、縦方向配線１０２ｒを流れる電流の大きさとを電流比較器にて比較する。メモリスタ１０３ａｌの抵抗がメモリスタ１０３ａｒの抵抗に比べて低い場合、縦方向配線１０２ｌを流れる電流は、縦方向配線１０２ｒを流れる電流よりも大きくなる。この結果を受けて、エージェントは図１においてＡから左への分岐を行ってＢへ移動する。
【００２１】
エージェントがＢに到達すると、次に、電圧発生器１１０ｂから横方向配線１０１ｂに読み出し電圧ＶＲを印加し、横方向配線１０１ａ，１０１ｃはグラウンドに接地する。今度は、縦方向配線１０２ｌにはメモリスタ１０３ｂｌを介して電流が流れ、縦方向配線１０２ｒにはメモリスタ１０３ｂｒを介して電流が流れて、これらの電流の大きさが電流比較器１３０により比較される。メモリスタ１０３ｂｌの抵抗がメモリスタ１０３ｂｒの抵抗に比べて低い場合、縦方向配線１０２ｌを流れる電流は、縦方向配線１０２ｒを流れる電流よりも大きくなる。この結果を受けて、エージェントは図１においてＢから左に分岐し、行き止まりに到達する。エージェントが行き止まりに到達すると、負の報酬を与える動作を行う。
【００２２】
具体的には、Ｂから左へ分岐した行動が抑制されるように、メモリスタ１０３ｂｌの抵抗値を大きくし、メモリスタ１０３ｂｒの抵抗値を小さくする。上に述べたように、メモリスタは境界電圧ＶＰＴよりも大きな電圧の印加によって抵抗値を外部から制御することができるので、メモリスタ１０３ｂｌの場合は横方向配線１０１ｂおよび縦方向配線１０２ｌへ、メモリスタ１０３ｂｒの場合は横方向配線１０１ｂおよび縦方向配線１０２ｒへ、適切な大きさと時間の電圧信号を与えることで、これらのメモリスタ１０３ｂｌ，１０３ｂｒの両端に境界電圧ＶＰＴよりも大きな電位差ＶＰＭを与え、抵抗値（コンダクタンス）を変化させることができる。このとき、メモリスタ１０３ｂｌとメモリスタ１０３ｂｒに逆極性の電位差が発生するように電圧信号を与えることで、一方の抵抗値を大きくし、他方の抵抗値を小さくすることができる。
【００２３】
また、Ａから左へ分岐した行動も抑制されるように、メモリスタ１０３ａｌの抵抗値を大きくし、メモリスタ１０３ａｒの抵抗値を小さくする学習も行う。この場合もやはり、メモリスタ１０３ａｌとメモリスタ１０３ａｒに逆極性の電位差が発生するように電圧信号を与えるが、この場合は上述の通り、学習は弱く行われる必要があるため、電位差の大きさはＶＰＭより小さなＶＰＭ’となるような電圧信号を与える。すなわち、ＶＰＴ＜ＶＰＭ’＜ＶＰＭである。
【００２４】
以上の学習を経た後、エージェントが再度Ａから出発する状況に対応して、再び横方向配線１０１ａに読み出し電圧ＶＲを印加し、横方向配線１０１ｂ，１０１ｃはグラウンドに接地する。上記の学習によってメモリスタ１０３ａｌ，１０３ａｒの抵抗値は変化しているが、弱い学習（電位差ＶＰＭ’）であるため変化量は小さい。そこで、大小関係は変化していないとすると、先ほどと同様に縦方向配線１０２ｌを流れる電流は縦方向配線１０２ｒを流れる電流に比べて大きくなるため、エージェントはＡから左への分岐を行ってＢに移動する。
【００２５】
エージェントがＢに到達すると、次に、電圧発生器１１０ｂから横方向配線１０１ｂに読み出し電圧ＶＲを印加し、横方向配線１０１ａ，１０１ｃはグラウンドに接地する。上記の学習により、メモリスタ１０３ｂｌの抵抗値がメモリスタ１０３ｂｒの抵抗値に比べて大きくなっているとすると、縦方向配線１０２ｒを流れる電流が縦方向配線１０２ｌを流れる電流に比べて大きくなり、エージェントはＢから右に分岐する。この場合もやはりエージェントは行き止まりに到達するため、負の報酬が与えられる。すなわち、メモリスタ１０３ｂｌの抵抗値を下げ、メモリスタ１０３ｂｒの抵抗値を挙げるために両者に極性の異なる電圧（大きさはＶＰＭ）を与える。同時に、Ａから左へ分岐した行動がさらに抑制されるように、メモリスタ１０３ａｌの抵抗値を上げ、メモリスタ１０３ａｒの抵抗値を下げるように、やはり極性の異なる電圧（大きさはＶＰＭ’）を与えて弱い学習を行う。
【００２６】
このような学習操作を繰り返すことで、いつかはメモリスタ１０３ａｒの抵抗値がメモリスタ１０３ａｌの抵抗値よりも小さくなり、横方向配線１０１ａに読み出し電圧ＶＲが印加されたときに、縦方向配線１０２ｌよりも縦方向配線１０２ｒに大きな電流が流れるようになる。こうなると、エージェントがＡから右へ分岐してＣに到達するため、今度は横方向配線１０１ｃに読み出し電圧ＶＲを印加する。ここで、メモリスタ１０３ｃｌの抵抗値がメモリスタ１０３ｃｒの抵抗値よりも小さいとすると、縦方向配線１０２ｌには縦方向配線１０２ｒよりも大きな電流が流れ、エージェントはＣから左へ分岐して、出口に到達する。
【００２７】
エージェントが出口に到達すると、正の報酬が与えられる。すなわち、メモリスタ１０３ｃｌとメモリスタ１０３ｃｒに逆極性の電圧ＶＰＭを与えて、メモリスタ１０３ｃｌの抵抗値を下げ、メモリスタ１０３ｃｒの抵抗値を上げる操作を行うとともに、過去の行動選択を行ったメモリスタ１０３ａｌとメモリスタ１０３ａｒに対しても逆極性の電圧ＶＰＭ’を与えて、メモリスタ１０３ａｌの抵抗値を大きくし、メモリスタ１０３ａｒの抵抗値を小さくする。このようにして正の報酬を与えると、Ａから出口に到達する一連の行動選択が強化される。具体的には、横方向配線１０１ａに接続するメモリスタ１０３ａｌの抵抗値を大きくしてメモリスタ１０３ａｒの抵抗値を小さくし、横方向配線１０１ｃに接続するメモリスタ１０３ｃの抵抗値を小さくしてメモリスタ１０３ｃｒの抵抗値を大きくする。これにより、ノイズ等による擾乱があった場合でも、エージェントが出口に到達する確率を高くすることができる。
【００２８】
以下では、上述の本実施形態の基本概念を適用した強化学習システムの具体例について説明する。
【００２９】
＜第１実施形態＞
図４は、本実施形態に係る強化学習システムの構成例を示す図である。この強化学習システムは、図４に示すように、クロスバー型のメモリスタアレイ１０と、第１電圧印加部２０と、第２電圧印加部３０と、行動決定回路４０と、プロセッサ回路５０と、記憶回路６０とを備える。プロセッサ回路５０には、環境（あるいはエージェント）の「状態」を観測するためのセンサ７０と、エージェントの「行動」を実現するためのアクチュエータ８０とが接続される。
【００３０】
メモリスタアレイ１０は、複数の横方向配線１１と複数の縦方向配線１２とが交差して配置され、各交点にそれぞれメモリスタ１３が設けられた構造である。このメモリスタアレイ１０は、図２に示した例と同様に、複数の横方向配線１０１の各々が、環境が取り得る複数の状態のうちの１つに対応し、複数の縦方向配線１０２の各々が、エージェントが取り得る複数の行動のうちの１つに対応している。
【００３１】
第１電圧印加部２０は、メモリスタアレイ１０の複数の横方向配線１１に対して、個別に電圧を印加できる構成となっている。例えば第１電圧印加部２０は、図４に示すように、複数の横方向配線１１に各々接続された複数の電圧発生器２１を備える。これらの電圧発生器２１は、プロセッサ回路５０からの指令に応じて、対応する横方向配線１１に対して読み出し電圧ＶＲを印加したり、学習時に、対応する横方向配線１１に接続された各メモリスタ１３の抵抗値（コンダクタンス）を変化させるために、後述する所望のパターンの第１電圧信号を印加したりする。
【００３２】
本実施形態においては、複数の横方向配線１１に接続された複数の電圧発生器２１の各々に、行動記憶部２２と、トレース記憶部２３とが設けられている。
【００３３】
行動記憶部２２は、対応する状態のときにエージェントが選択した行動、つまり、対応する横方向配線１１に対して読み出し電圧ＶＲを印加したときに、複数の縦方向配線１２のうち、最も大きな電流が流れた縦方向配線１２に対応する行動を記憶する。例えば、状態Ｓのときにエージェントが行動Ｘを選択したとすると、複数の横方向配線１１のうち、状態Ｓに対応する横方向配線１１に接続された電圧発生器２１の行動記憶部２２に、行動Ｘを示す情報が記憶される。
【００３４】
トレース記憶部２３は、環境がその状態であった時刻を記憶する。例えば、時刻ｔにおいてエージェントが行動Ｘを選択したことによって状態がＳからＳ’に遷移したとすると、複数の横方向配線１１のうち、状態Ｓ’に対応する横方向配線１１に接続された電圧発生器２１の行動記憶部２２に、時刻ｔを示す情報が記憶される。
【００３５】
電圧発生器２１が横方向配線１１に印加する第１電圧信号のパターンは、これら行動記憶部２２およびトレース記憶部２３を参照して決定される。すなわち、報酬が与えられるとき（つまり学習時）、それまでの間に遷移した各状態に対応する横方向配線１１に接続された電圧発生器２１は、行動記憶部２２とトレース記憶部２３を参照し、行動記憶部２２が記憶するエージェントが選択した行動と、トレース記憶部２３が記憶する時刻と、報酬の極性とに応じて、横方向配線１１に印加する第１電圧信号のパターンを決定する。
【００３６】
なお、本実施形態では、環境が取り得る各状態に対応する行動記憶部２２およびトレース記憶部２３を、各状態に対応する横方向配線１１に接続された電圧発生器２１に設ける構成としているが、これら行動記憶部２２およびトレース記憶部２３を、例えばプロセッサ回路５０や記憶回路６０など、電圧発生器２１の外部に設ける構成であってもよい。この場合、各電圧発生器２１が横方向配線１１に印加する第１電圧信号のパターンを電圧発生器２１の外部で決定し、決定したパターンの第１電圧信号を印加する指令を電圧発生器２１に与えてもよい。また、行動記憶部２２およびトレース記憶部２３を電圧発生器２１の外部に設ける場合、行動記憶部２２およびトレース記憶部２３が記憶する情報がどの状態に対応したものであるかが識別できる構成であれば、各状態ごとに行動記憶部２２およびトレース記憶部２３を設けずに、１つの記憶部としてまとめてもよい。
【００３７】
第２電圧印加部３０は、メモリスタアレイ１０の複数の縦方向配線１２に対して、個別に電圧を印加できる構成となっている。例えば第２電圧印加部３０は、図４に示すように、複数の縦方向配線１２に各々接続された複数の電圧発生器３１を備える。これらの電圧発生器３１は、学習時に、複数の縦方向配線１２の各々に対し、所定パターンの第２電圧信号を、時間差をつけて印加する。その結果、第１電圧信号が印加された横方向配線１１と第２電圧信号が印加された縦方向配線１２との交点に設けられたメモリスタ１３には、横方向配線１１に接続する端子と縦方向配線１２に接続する端子との間に、第１電圧信号と第２電圧信号との重ね合わせに相当する電位差が発生する。この電位差に応じて、メモリスタ１３のコンダクタンス（抵抗値）が変化する。
【００３８】
行動決定回路４０は、複数の横方向配線１１のうちの１つに読み出し電圧ＶＲが印加されたときに複数の縦方向配線１２を流れる電流の大きさに基づいて、読み出し電圧ＶＲが印加された横方向配線１１に対応する状態のときにエージェントが選択すべき行動を決定する。この行動決定回路４０としては、例えば、Ｗｉｎｎｅｒ−Ｔａｋｅ−Ａｌｌ回路を用いることができる。Ｗｉｎｎｅｒ−Ｔａｋｅ−Ａｌｌ回路は、複数の電流入力から最大の電流を選び出す回路であり、その実装方法は広く知られている。一般に、Ｗｉｎｎｅｒ−Ｔａｋｅ−Ａｌｌ回路の入力インピーダンスは、メモリスタ１３の抵抗に比べると無視できるくらい小さい。
【００３９】
プロセッサ回路５０は、本実施形態に係る強化学習システムの動作を制御する。このプロセッサ回路５０としては、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＧＰＵ（Ｇｒａｐｈｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの汎用プロセッサ、あるいは、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）、プログラマブル論理デバイス（例えば、単純プログラマブル論理デバイス（Ｓｉｍｐｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ：ＳＰＬＤ）、複合プログラマブル論理デバイス（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ：ＣＰＬＤ）、フィールドプログラマブルゲートアレイ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ：ＦＰＧＡ））などを用いることができる。プロセッサ回路５０は、例えば、記憶回路６０に保存されたプログラムを読み出し実行することで、本実施形態に係る強化学習システムの制御機能を実現する。なお、記憶回路６０にプログラムを保存する代わりに、プロセッサ回路５０内にプログラムを直接組み込むように構成しても構わない。この場合、プロセッサ回路５０は、回路内に組み込まれたプログラムを読み出し実行することで、本実施形態に係る強化学習システムの制御機能を実現する。
【００４０】
記憶回路６０は、プロセッサ回路５０の各制御機能を実現するプログラムやそれに伴うデータなどを必要に応じて記憶する。この記憶回路６０としては、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｗｍｏｒｙ）、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどを用いることができる。また、記憶回路６０は、本実施形態に係る強化学習システムの外部の記憶装置で代替されてもよい。記憶回路６０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットなどにより伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体であってもよい。また、記憶媒体は１つに限らず、複数の媒体から構成されてもよい。
【００４１】
次に、以上のように構成される本実施形態の強化学習システムの動作を説明する。まず、エージェントが状態Ｓから行動を開始するとする。この場合、プロセッサ回路５０は、行動決定回路４０をアクティブにした上で、状態Ｓに対応する横方向配線１１に接続された電圧発生器２１に対して読み出し電圧ＶＲの印加を指示する。これを受けて、状態Ｓに対応する横方向配線１１に接続された電圧発生器２１は、トレース記憶部２３に時刻ｔを格納した後、対応する横方向配線１１に読み出し電圧ＶＲを印加する。読み出し電圧ＶＲは、上述のように、メモリスタ１３の境界電圧ＶＰＴよりも小さい電圧、つまり、メモリスタ１３に読み出し可能な電流が流れるが、メモリスタ１３の抵抗値（コンダクタンス）は変化しない程度の電圧である。
【００４２】
行動決定回路４０をアクティブにすると、複数の縦方向配線１２は行動決定回路４０を通じて接地されるため、状態Ｓに対応する横方向配線１１に印加された読み出し電圧ＶＲによって、この横方向配線１１に接続されたメモリスタ１３に電流が流れ、各縦方向配線１２を介して行動決定回路４０に流れ込む。なお、上述の通り、メモリスタ１３の抵抗は行動決定回路４０の入力インピーダンスに比べて十分大きいため、状態Ｓに対応する横方向配線１１以外の他の横方向配線１１をグラウンドに接地あるいは浮遊状態にしておけば、これら横方向配線１１に電流が流れ込むことはない。
【００４３】
行動決定回路４０は、複数の縦方向配線１２から流れ込んだ電流の大きさを比較し、最も大きな電流が流れている縦方向配線１２を選ぶ。ここでは、行動Ｘに対応する縦方向配線１２が選び出されたとする。行動決定回路４０は、その情報をプロセッサ回路５０に通知する。
【００４４】
プロセッサ回路５０は、行動決定回路４０から通知された情報に基づき、エージェントが行動Ｘをとるようにアクチュエータ８０の動作を制御する。また、プロセッサ回路５０は、状態Ｓに対応する横方向配線１１に接続された電圧発生器２１配線の行動記憶部２２に、行動Ｘを記憶する。すなわち、この行動記憶部２２には、状態Ｓに対応する横方向配線１１に接続されたメモリスタ１３のうち、行動Ｘに対応する縦方向配線１２との交点に設けられたメモリスタ１３の抵抗値が最も低いことを示す情報が格納される。
【００４５】
エージェントが行動Ｘをとったときの環境の状態遷移は、センサ７０からの情報により観測される。ここでは、エージェントが行動Ｘをとることによって、環境の状態が時刻ｔ＋Δｔにおいて状態Ｓ’に遷移したとする。この場合、プロセッサ回路５０は、状態Ｓ’に対応する横方向配線１１に接続された電圧発生器２１に対して読み出し電圧ＶＲの印加を指示する。これにより、状態Ｓ’に対応する横方向配線１１を対象として上記と同様の操作が行われ、トレース記憶部２３に時刻ｔ＋Δｔが格納されるとともに、状態Ｓ’に対応する横方向配線１１に接続されたメモリスタ１３のうちで、最も抵抗値が小さいものが接続されている縦方向配線１２に対応する行動Ｘ’が、エージェントが次にとるべき行動として選択されて、行動記憶部２２に行動Ｘ’が格納される。また、エージェントが行動Ｘ’をとるようにアクチュエータ８０の動作が制御され、さらに次の状態へと遷移していく。
【００４６】
最終的にエージェントが目的とは異なる状態に陥った場合（例えば、図１に示した例で行き止まりに到達した場合）、負の報酬が次のように与えられる。すなわち、目的と異なる状態に陥るまでに遷移した各状態に対応する横方向配線１１について、行動記憶部２２に記憶されている行動を次回以降に選択しにくくなるように、その横方向配線１１に接続されている各メモリスタ１３の抵抗値（コンダクタンス）を変更する。例えば、状態Ｓのときにエージェントが行動Ｘを選択した場合、状態Ｓに対応する横方向配線１１に接続された電圧発生器２１の行動記憶部２２には、行動Ｘに対応する縦方向配線１２との交点にあるメモリスタ１３の抵抗値が最も低いという情報が格納されている。そこで、電圧発生器２１は、このメモリスタ１３の抵抗値が大きくなり、他のメモリスタ１３の抵抗値が小さくなるようなパターンの第１電圧信号を横方向配線１１に印加する。具体的には、次のように行えばよい。
【００４７】
図５は、本実施形態における学習操作の概要を説明する図である。ここでは、状態Ｓに対応する横方向配線１１に対して行動Ｖ，Ｗ，Ｘ，Ｙに対応する４本の縦方向配線１２が交差しており、それぞれの交点にメモリスタ１３が配置されている場合に、行動Ｘに対応する縦方向配線１２との交点に配置されたメモリスタ１３の抵抗値を大きくし、行動Ｖ，Ｗ，Ｙに対応する縦方向配線１２との交点に配置されたメモリスタ１３の抵抗値を小さくする学習操作を考える。
【００４８】
４本の縦方向配線１２に接続された電圧発生器３１は、図５に示すように、周期２Ｔの波形を持つ所定パターンの第２電圧信号を、２Ｔ分の時間差をつけて各縦方向配線１２に印加する。また、状態Ｓに対応する横方向配線１１に接続された電圧発生器２１は、図５に示すパターンの第１電圧信号を、横方向配線１に印加する。ここで、第２電圧信号の振幅はａ、第１電圧信号の振幅はｂとする。ただし、ａ＜ＶＰＴ、かつ、ｂ＜ＶＰＴとすることで、他のメモリスタ１３の意図しない抵抗値変化を防ぐものとする。
【００４９】
メモリスタ１３の両端には、第１電圧信号と第２電圧信号の重ね合わせに相当する電位差（差分電圧）が印加されることから、図５の例では、行動Ｖ，Ｗ，Ｙに対応する縦方向配線１２との交点に配置された各メモリスタ１３にはそれぞれａ＋ｂの正電圧がかかり、行動Ｘに対応する縦方向配線１２との交点に配置されたメモリスタ１３に対してのみａ＋ｂの大きさの負電圧がかかる。したがって、行動Ｖ，Ｗ，Ｙに対応する縦方向配線１２との交点に配置されたメモリスタ１３の抵抗値は下がるが、行動Ｘに対応する縦方向配線１２との交点に配置されたメモリスタ１３の抵抗値は大きくなる。ただし、ここで、ａ＋ｂ＞ＶＰＴ、かつ、｜ａ−ｂ｜＜ＶＰＴであることが必要である。
【００５０】
なお、ここでは行動Ｘに対応する縦方向配線１２との交点に配置されたメモリスタ１３の抵抗値を大きくし、行動Ｖ，Ｗ，Ｙに対応する縦方向配線１２との交点に配置されたメモリスタ１３の抵抗値を小さくする学習操作を説明したが、第１電圧信号の正負を逆転することで、行動Ｘに対応する縦方向配線１２との交点に配置されたメモリスタ１３の抵抗値を小さく、行動Ｖ，Ｗ，Ｙに対応する縦方向配線１２との交点に配置されたメモリスタ１３の抵抗値を大きくすることも可能である。これは、正の報酬に対応する。
【００５１】
ところで、状態Ｓに対応するトレース記憶部２３には、状態Ｓとなった時刻ｔｓが記憶されている。もし時刻ｔｓが現在からほんの少し過去のことであれば、状態Ｓにおいて行った行動選択は、現時点で与えられた報酬と関連が強いと考えられるため、メモリスタ１３の抵抗値を大きく変える必要がある。逆に、もし時刻ｔｓが遠い過去であれば、現時点で与えられた報酬との関連は弱いと考えられるため、メモリスタ１３の抵抗値を大きく変える必要がない。これを実現するためには、環境の状態遷移の履歴に対応させて、各状態に対応する横方向配線１１に印加する第１電圧信号の振幅ｂの大きさを設定する必要がある。具体的には、次のように行う。
【００５２】
図５の例において、環境の取り得る状態をＳ０，Ｓ１，Ｓ２，Ｓ３とし、状態Ｓ２から始まり、状態Ｓ１、状態Ｓ０と遷移して、状態Ｓ０に達したところで報酬が与えられたとする。状態Ｓ３はとらないとする。このとき、図６に示すように、状態Ｓ０に対応する横方向配線１１に印加する第１電圧信号の振幅をｂ０、状態Ｓ１に対応する横方向配線１１に印加する第１電圧信号の振幅をｂ１、状態Ｓ２に対応する横方向配線１１に印加する第１電圧信号の振幅をｂ２とする。なお、状態Ｓ３に対応する横方向配線１１には、第１電圧信号は印加されない。また、行動Ｖ，Ｗ，Ｘ，Ｙに対応する４本の縦方向配線１２には、図５に示した振幅ａの第２電圧信号が印加されるものとする。
【００５３】
この場合、状態Ｓ０は報酬が与えられる直前の状態であるため、対応するメモリスタ１３の抵抗値を大きく変更する必要がある。このため、ａ＋ｂ０は大きな値である必要がある。一方、状態Ｓ２は初期状態であるので、対応するメモリスタ１３の抵抗値の変化は小さくてよい。このため、ａ＋ｂ２はＶＰＴより大きい値である必要があるものの、それほど大きな値である必要はない。なお、状態Ｓ３に対応する横方向配線１１には第１電圧信号は印加されないが、この横方向配線１１に接続された各メモリスタ１３に第２電圧信号は印加される。これらのメモリスタ１３の抵抗値は変化してはならないので、第２電圧信号の振幅ａは、上述のように、ＶＰＴよりも小さいことが必要となる。また、図５に示したように、第１電圧信号を印加した横方向配線１１に接続された各メモリスタ１３にはａ−ｂの電圧がかかるが、この電圧によってメモリスタ１３の抵抗値は変化してはならない（メモリスタ１３の抵抗値はａ＋ｂの電圧で変化させる必要がある）。したがって、図６の例の場合、ＶＰＴ＞ｂ０＞ｂ１＞ｂ２＞ＶＰＴ−ａ、かつ、ＶＰＴ＞ａであることが、条件として必要である。
【００５４】
一般的に、エージェントがＮ個の状態ＳＮ−１，ＳＮ−２，・・・，Ｓ１，Ｓ０を遷移して報酬を得た場合、状態ＳＮ−１，ＳＮ−２，・・・，Ｓ１，Ｓ０に対応する横方向配線１１に印加する第１電圧信号の振幅をｂＮ−１，ｂＮ−２，・・・，ｂ１，ｂ０とすると、これら第１電圧信号の振幅ｂＮ−１，ｂＮ−２，・・・，ｂ１，ｂ０と第２電圧信号の振幅ａは、下記式（１）に示す条件を満たす必要がある。
ＶＰＴ＞ｂ０＞ｂ１＞・・・＞ｂＮ−２＞ｂＮ−１＞ＶＰＴ−ａ＞０  ・・・（１）
【００５５】
報酬が与えられるまでの間に遷移した各状態Ｓｉに対応する電圧発生器２１は、上記式（１）を満たすように、トレース記憶部２３が記憶する時刻ｔｉをもとに第１電圧信号の振幅ｂｉを決定するとともに、行動記憶部２２が記憶する行動と報酬の極性とに応じて第１電圧信号の波形を決定し、対応する横方向配線１１に第１電圧信号を印加する。また、これと同時に、各行動に対応する電圧発生器３１は、上記式（１）を満たす振幅ａを持つ所定パターンの第２電圧信号を、他の縦方向配線１２と印加のタイミングが重ならないように時間差をつけて、対応する縦方向配線１２に印加する。これにより、報酬に応じて抵抗値を変更する必要があるメモリスタ１３の抵抗値を一括して変更することができる。つまり、強化学習によるメモリスタ１３の抵抗値の変更を一括して行うことができる。
【００５６】
なお、本実施形態では、報酬が与えられるまでの間に遷移した各状態Ｓｉに対応する横方向配線１１に対して第１電圧信号を同時に印加するものとしているが、横方向配線１１に対する第１電圧信号の印加は、ラインごとに順番に行うようにしてもよい。また、本実施形態では、複数の縦方向配線１２に電圧発生器３１を各々接続し、これら電圧発生器３１が縦方向配線１２に対して個別に第２電圧信号を印加する構成としているが、１つの電圧発生器３１が生成する第２電圧信号を遅延回路で遅延させて、複数の縦方向配線１２に順番に印加する構成であってもよい。
【００５７】
以上説明したように、本実施形態に係る強化学習システムは、環境が取り得る各状態に対し、その状態のときにエージェントが選択した行動を記憶する行動記憶部２２と、環境がその状態であった時刻を記憶するトレース記憶部２３とを備え、報酬が与えられるまでの間に遷移した各状態に対応する各横方向配線１１に対し、行動記憶部２２が記憶する行動と報酬の極性とに応じた波形を有し、かつ、トレース記憶部２３が記憶する時刻に応じた振幅を持つパターンの第１電圧信号を印加するようにしている。したがって、本実施形態に係る強化学習システムによれば、メモリスタアレイ１０を用いた簡易な構造・動作原理での強化学習を可能にし、必要なメモリおよび計算量を削減することができる。
【００５８】
特に、本実施形態に係る強化学習システムは、クロスバー型のメモリスタアレイ１０を用いるため、複数の縦方向配線１２に対して図５に示すような時間差をつけた第２電圧信号を印加するとともに、複数の横方向配線１１に対して図６に示すような振幅差をつけた第１電圧信号を印加することで、個々のメモリスタ１３に個別にアクセスすることなく、抵抗値を変更すべきメモリスタ１３の抵抗値を一括操作で変更することができる。
【００５９】
＜第２実施形態＞
次に、第２実施形態について説明する。上述の第１実施形態では、メモリスタ１３に印加する電圧の大きさを第１電圧信号の振幅ｂによって制御していたが、本実施形態では、第２電圧信号の振幅ａによって制御する。なお、強化学習システムの構成や基本的な動作は上述した第１実施形態と同様のため、以下では、第１実施形態との差分についてのみ説明する。
【００６０】
図７は、本実施形態における学習操作の概要を説明する図である。本実施形態では、第２電圧印加部３０の各電圧発生器３１が、振幅ａ０＞ａ１＞・・・＞ａＮ−２＞ａＮ−１と減衰振動するパターンの第２電圧信号を各縦方向配線１２に印加する。ただし、Ｎは報酬を与えるときに遡るべき行動選択の数である。すなわち、報酬が得られる直前から過去に遡ってＮ番目の行動選択までは強化学習において考慮するが、Ｎ＋１番目よりも以前の行動選択は相当過去のものであり、最終的な報酬には影響を与えていないとして考慮しないものとする。第２電圧信号のパターンは、各振幅ａｉで１周期で振動した後に振幅ａｉ＋１へと変化する。各振幅における振動周期を２Ｔとすると、第２電圧信号のパターンの長さは２ＮＴとなる。
【００６１】
縦方向配線１２のそれぞれに接続された電圧発生器３１は、上記パターンの第２電圧信号を、他の縦方向配線１２と重複しないように時間差をつけてそれぞれの縦方向配線１２に印加する。例えば、１番左の縦方向配線１２に時刻Ｔ０に上記パターンの第２電圧信号を印加した場合、左から２番目の縦方向配線１２には時刻２ＮＴに印加し、３番目の縦方向配線１２には時刻４ＮＴに印加し、ｍ番目の縦方向配線１２には時刻（ｍ−１）２ＮＴに印加する。図７に示す例では、Ｎ＝３としている。
【００６２】
以下、上述の第１実施形態において図６を用いて説明した例と同様に、環境の取り得る状態をＳ０，Ｓ１，Ｓ２，Ｓ３とし、状態Ｓ２から始まり、状態Ｓ１、状態Ｓ０と遷移して、状態Ｓ０に達したところで報酬が与えられた場合を想定し、本実施形態における学習操作について図７を用いて説明する。この場合、状態Ｓ０，Ｓ１，Ｓ２の各々に対応するトレース記憶部２３および行動記憶部２２には、それぞれ、その状態となった時刻と、その状態においてエージェントが選択した行動（どのメモリスタ１３の抵抗値が最も低かったか）が記憶されている。
【００６３】
まず、状態Ｓ０について考える。状態Ｓ０は報酬が与えられる直前の状態であるため、状態Ｓ０に対応する横方向配線１１に接続されたメモリスタ１３の抵抗値は大きく変更する必要がある。そこで、状態Ｓ０に対応する電圧発生器２１は、第２電圧信号の振幅ａ０に対応するタイミングで振幅ｂの電圧がかかるような第１電圧信号を、状態Ｓ０に対応する横方向配線１１に印加する。具体的には、時刻Ｔ０〜Ｔ２，Ｔ６〜Ｔ８，Ｔ１２〜Ｔ１４，Ｔ１８〜Ｔ２０に振幅ｂの電圧が発生し、その他は電圧は０となるようなパターンの第１電圧信号を横方向配線１１に印加する。
【００６４】
時刻Ｔ０〜Ｔ２における第１電圧信号の振幅ｂの電圧は、行動Ｖに対応する縦方向配線１２との交点において第２電圧信号の振幅ａ０の電圧と重なり、最大ａ０＋ｂの電圧がその交点に配置されたメモリスタ１３に印加される。同様に、時刻Ｔ６〜Ｔ８，Ｔ１２〜Ｔ１４，Ｔ１８〜Ｔ２０における第１電圧信号の振幅ｂの電圧は、行動Ｗ，Ｘ，Ｙに対応する縦方向配線１２との交点において第２電圧信号の振幅ａ０の電圧と重なり、最大ａ０＋ｂの電圧がそれらの交点に配置された各メモリスタ１３に印加されることになる。ここで、ａ０＋ｂ＞ＶＰＴであれば、これらのメモリスタ１３の抵抗値は変更される。もし、行動Ｖに対応する縦方向配線１２との交点のメモリスタ１３の抵抗値のみを増加させ、他のメモリスタ１３の抵抗値を減少させたい場合は、時刻Ｔ０〜Ｔ２における振幅ｂの電圧のみ正電圧とし、時刻Ｔ６〜Ｔ８，Ｔ１２〜Ｔ１４，Ｔ１８〜Ｔ２０における振幅ｂの電圧を負電圧とすればよい。この第１電圧信号における振幅ｂの電圧の正負は、状態ｓ０に対応する行動記憶部２２に記憶されている情報と、与えられる報酬の属性とに基づいて決定される。
【００６５】
状態Ｓ０の前は状態Ｓ１であったため、状態Ｓ１に対応する横方向配線１１に接続されたメモリスタ１３の抵抗値の変更幅は、状態Ｓ０に対応する横方向配線１１に接続されたメモリスタ１３の抵抗値の変更幅よりも小さくする必要がある。そこで、状態Ｓ１に対応する電圧発生器２１は、第２電圧信号の振幅ａ１に対応するタイミングで振幅ｂの電圧がかかるような第１電圧信号を、状態Ｓ１に対応する横方向配線１１に印加する。具体的には、時刻Ｔ２〜Ｔ４，Ｔ８〜Ｔ１０，Ｔ１４〜Ｔ１６，Ｔ２０〜Ｔ２２に振幅ｂの電圧が発生し、その他は電圧は０となるようなパターンの第１電圧信号を横方向配線１１に印加する。
【００６６】
時刻Ｔ２〜Ｔ４における第１電圧信号の振幅ｂの電圧は、行動Ｖに対応する縦方向配線１２との交点において第２電圧信号の振幅ａ１の電圧と重なり、最大ａ１＋ｂの電圧がその交点に配置されたメモリスタ１３に印加される。同様に、時刻Ｔ８〜Ｔ１０，Ｔ１４〜Ｔ１６，Ｔ２０〜Ｔ２２における第１電圧信号の振幅ｂの電圧は、行動Ｗ，Ｘ，Ｙに対応する縦方向配線１２との交点において第２電圧信号の振幅ａ１の電圧と重なり、最大ａ１＋ｂの電圧がそれらの交点に配置された各メモリスタ１３に印加されることになる。ここで、ａ１＋ｂ＞ＶＰＴであれば、これらのメモリスタ１３の抵抗値は変更されるが、ａ１＜ａ０であるので、これらのメモリスタ１３の抵抗値の変更幅は、状態Ｓ０に対応する横方向配線１１に接続されたメモリスタ１３の抵抗値の変更幅よりも小さくなる。もし、行動Ｘに対応する縦方向配線１２との交点のメモリスタ１３の抵抗値のみを増加させ、他のメモリスタ１３の抵抗値を減少させたい場合は、時刻Ｔ１４〜Ｔ１６における振幅ｂの電圧のみ正電圧とし、時刻Ｔ２〜Ｔ４，Ｔ８〜Ｔ１０，Ｔ２０〜Ｔ２２における振幅ｂの電圧を負電圧とすればよい。この第１電圧信号における振幅ｂの電圧の正負は、状態ｓ１に対応する行動記憶部２２に記憶されている情報と、与えられる報酬の属性とに基づいて決定される。
【００６７】
状態Ｓ１の前は状態Ｓ２であったため、状態Ｓ２に対応する横方向配線１１に接続されたメモリスタ１３の抵抗値の変更幅は、状態Ｓ１に対応する横方向配線１１に接続されたメモリスタ１３の抵抗値の変更幅よりも小さくする必要がある。そこで、状態Ｓ２に対応する電圧発生器２１は、第２電圧信号の振幅ａ２に対応するタイミングで振幅ｂの電圧がかかるような第１電圧信号を、状態Ｓ２に対応する横方向配線１１に印加する。具体的には、時刻Ｔ４〜Ｔ６，Ｔ１０〜Ｔ１２，Ｔ１６〜Ｔ１８，Ｔ２２〜Ｔ２４に振幅ｂの電圧が発生し、その他は電圧は０となるようなパターンの第１電圧信号を横方向配線１１に印加する。
【００６８】
時刻Ｔ４〜Ｔ６における第１電圧信号の振幅ｂの電圧は、行動Ｖに対応する縦方向配線１２との交点において第２電圧信号の振幅ａ２の電圧と重なり、最大ａ２＋ｂの電圧がその交点に配置されたメモリスタ１３に印加される。同様に、時刻Ｔ１０〜Ｔ１２，Ｔ１４〜Ｔ１８，Ｔ２２〜Ｔ２４における第１電圧信号の振幅ｂの電圧は、行動Ｗ，Ｘ，Ｙに対応する縦方向配線１２との交点において第２電圧信号の振幅ａ２の電圧と重なり、最大ａ２＋ｂの電圧がそれらの交点に配置された各メモリスタ１３に印加されることになる。ここで、ａ２＋ｂ＞ＶＰＴであれば、これらのメモリスタ１３の抵抗値は変更されるが、ａ２＜ａ１であるので、これらのメモリスタ１３の抵抗値の変更幅は、状態Ｓ１に対応する横方向配線１１に接続されたメモリスタ１３の抵抗値の変更幅よりも小さくなる。もし、行動Ｙに対応する縦方向配線１２との交点のメモリスタ１３の抵抗値のみを増加させ、他のメモリスタ１３の抵抗値を減少させたい場合は、時刻Ｔ２２〜Ｔ２４における振幅ｂの電圧のみ正電圧とし、時刻Ｔ４〜Ｔ６，Ｔ１０〜Ｔ１２，Ｔ１６〜Ｔ１８における振幅ｂの電圧を負電圧とすればよい。この第１電圧信号における振幅ｂの電圧の正負は、状態ｓ２に対応する行動記憶部２２に記憶されている情報と、与えられる報酬の属性とに基づいて決定される。
【００６９】
本例では状態Ｓ３はとらないため、状態Ｓ３に対応する横方向配線１１には第１電圧信号は印加されないが、この横方向配線１１に接続された各メモリスタ１３に第２電圧信号は印加される。これらのメモリスタ１３の抵抗値は変化してはならないので、ＶＰＴ＞ａ０＞ａ１＞ａ２であることが必要となる。また、図５の例で説明したように、第１電圧信号を印加した横方向配線１１に接続された各メモリスタ１３にはａｉ−ｂの電圧がかかるが、この電圧によってメモリスタ１３の抵抗値は変化してはならないため、各ａｉに対してａｉ−ｂ＜ＶＰＴが要求される。以上より、ＶＰＴ＞ａ０＞ａ１＞ａ２＞ＶＰＴ−ｂ＞０が得られる。これを一般化すると、第２電圧信号の振幅ａｉおよび第１電圧信号の振幅ｂの条件として、下記式（２）に示す条件が得られる。
ＶＰＴ＞ａ０＞ａ１＞・・・＞ａＮ−２＞ａＮ−１＞ＶＰＴ−ｂ＞０  ・・・（２）
【００７０】
本実施形態では、報酬が与えられるまでの間に遷移した各状態Ｓｉに対応する電圧発生器２１は、上記式（２）を満たすように、行動記憶部２２が記憶する行動と報酬の極性とに応じて第１電圧信号の波形を決定し、対応する横方向配線１１に第１電圧信号を印加する。また、これと同時に、各行動に対応する電圧発生器３１は、上記式（２）を満たす振幅ａｉを持つ第２電圧信号を、時間差をつけて縦方向配線１２に印加する。これにより、報酬に応じて抵抗値を変更する必要があるメモリスタ１３の抵抗値を一括して変更することができる。つまり、強化学習によるメモリスタ１３の抵抗値の変更を一括して行うことができる。
【００７１】
以上説明したように、本実施形態に係る強化学習システムは、報酬が与えられるまでの間に遷移した各状態に対応する各横方向配線１１に対し、行動記憶部２２が記憶する行動とトレース記憶部２３が記憶する時刻と報酬の極性とに応じた波形を有し、所定の振幅を持つパターンの第１電圧信号を印加し、エージェントが取り得る各行動に対応する各縦方向配線１２に対し、遡るべき行動選択の数に対応する数の振幅を持つパターンの第２電圧信号を時間差をつけてするようにしている。したがって、本実施形態に係る強化学習システムによれば、上述の第１実施形態と同様に、メモリスタアレイ１０を用いた簡易な構造・動作原理での強化学習を可能にし、必要なメモリおよび計算量を削減することができる。
【００７２】
以上述べた少なくとも一つの実施形態によれば、メモリスタアレイを用いた簡易な構造・動作原理での強化学習を可能にし、必要なメモリおよび計算量を削減できる強化学習システムを提供することができる。
【００７３】
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７４】
１０  メモリスタアレイ
１１  横方向配線
１２  縦方向配線
１３  メモリスタ
２０  第１電圧印加部
２１  電圧発生器
２２  行動記憶部
２３  トレース記憶部
３０  第２電圧印加部
３１  電圧発生器
４０  行動決定回路
５０  プロセッサ回路
６０  記憶回路
７０  センサ
８０  アクチュエータ
【図１】
2020004313.tif 000003
【図２】
2020004313.tif 000004
【図３】
2020004313.tif 000005
【図４】
2020004313.tif 000006
【図５】
2020004313.tif 000007
【図６】
2020004313.tif 000008
【図７】
2020004313.tif 000009