JP6896678B2 - 強化学習システム - Google Patents

強化学習システム Download PDF

Info

Publication number
JP6896678B2
JP6896678B2 JP2018125761A JP2018125761A JP6896678B2 JP 6896678 B2 JP6896678 B2 JP 6896678B2 JP 2018125761 A JP2018125761 A JP 2018125761A JP 2018125761 A JP2018125761 A JP 2018125761A JP 6896678 B2 JP6896678 B2 JP 6896678B2
Authority
JP
Japan
Prior art keywords
voltage
action
state
memristor
voltage signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018125761A
Other languages
English (en)
Other versions
JP2020004313A (ja
Inventor
義史 西
義史 西
ラドゥ ベルダン
ラドゥ ベルダン
孝生 丸亀
孝生 丸亀
久美子 野村
久美子 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2018125761A priority Critical patent/JP6896678B2/ja
Priority to US16/291,400 priority patent/US11586897B2/en
Publication of JP2020004313A publication Critical patent/JP2020004313A/ja
Application granted granted Critical
Publication of JP6896678B2 publication Critical patent/JP6896678B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)

Description

本発明の実施形態は、強化学習を行うための強化学習システムに関する。
近年、GPU(Graphical Processing Unit)に代表される計算機ハードウェアの進歩に伴い、人工知能技術が急速に発展している。特にCNN(Convolutional Neural Network)に代表される画像認識・分類技術は、既に実社会の様々なシーンで利用されている。一方、人工知能技術の中でも単に信号を認識・分類するだけではなく、試行を重ねながらシステム自らが学習して賢くなっていく、強化学習が注目されている。例えば、人間のプロ囲碁棋士を破ったアルファ碁は、強化学習を応用したアルゴリズムを実装している。
このように、システム自身が試行錯誤によって創造的・戦略的思考に基づく判断・動作を行うことができる強化学習は、将来の自律的に動作するモビリティーやロボット等、エッジデバイスの基礎技術として注目されている。しかし、強化学習は複雑かつ膨大な計算を必要とする。すなわち、強化学習においては、環境の状態に応じたエージェントの行動選択とその行動による環境の状態遷移を繰り返し、望みの結果が得られたかどうかによって、行動選択および状態遷移の履歴を遡って、その環境でその行動を選択する確率を変化させる。このため、強化学習には多くのメモリおよび計算量が必要となり、計算リソースおよび消費電力が制限されるエッジへの実装が難しい。
一方、クロスバー型のメモリスタアレイを使ってニューラルネットワークをハードウェア的に構成し、電圧シーケンスを工夫することでメモリスタ個別にアクセスすることなく、ニューラルネットワークを学習させる技術が提案されている。この技術により、ニューラルネットワーク学習の並列性を高めることができるため、学習時の消費電力を大幅に改善することが可能である。しかしながら、この技術は、画像認識等の静的なデータの学習を行うことが可能であるが、時系列的なデータを扱う強化学習については、上述の通り、エージェントの行動選択および環境の状態遷移の履歴を遡る必要があるため、このまま適用することはできない。
米国特許出願公開第2017/0109628号明細書
本発明が解決しようとする課題は、メモリスタアレイを用いた簡易な構造・動作原理での強化学習を可能にし、必要なメモリおよび計算量を削減できる強化学習システムを提供することである。
実施形態の強化学習システムは、メモリスタアレイと、第1電圧印加部と、第2電圧印加部と、行動決定回路と、行動記憶部と、トレース記憶部と、を備える。メモリスタアレイは、複数の第1方向配線と複数の第2方向配線とが交差して配置され、各交点にそれぞれメモリスタが設けられたクロスバー型のメモリスタアレイである。このメモリスタアレイは、前記複数の第1方向配線の各々が、環境が取り得る複数の状態のうちの1つに対応し、前記複数の第2方向配線の各々が、エージェントが取り得る複数の行動のうちの1つに対応する。第1電圧印加部は、前記複数の第1方向配線に個別に電圧を印加する。第2電圧印加部は、前記複数の第2方向配線に個別に電圧を印加する。行動決定回路は、前記複数の第1方向配線のうちの1つに読み出し電圧が印加されたときに前記複数の第2方向配線を流れる電流の大きさに基づいて、読み出し電圧が印加された第1方向配線に対応する状態のときにエージェントが選択すべき行動を決定する。行動記憶部は、環境が取り得る各状態に対し、その状態のときにエージェントが選択した行動を記憶する。トレース記憶部は、環境が取り得る各状態に対し、エージェントが選択した行動によってその状態に遷移した時刻を記憶する。
強化学習の原理を説明する図。 メモリスタアレイの構成例を示す図。 メモリスタの特性を示す図。 実施形態に係る強化学習システムの構成例を示す図。 第1実施形態における学習操作の概要を説明する図。 第1電圧信号の振幅を説明する図。 第2実施形態における学習操作の概要を説明する図。
以下、添付図面を参照しながら、本発明に係る強化学習システムの好適な実施形態について詳細に説明する。
<実施形態の概要>
まず、強化学習の原理を交えながら、本実施形態の基本的な考え方を説明する。強化学習は、エージェントと呼ばれる主体が、ある「状態」において何らかの「行動」を選択し、その結果、変化した環境やエージェントの状態に応じて、エージェントが「報酬」を受け取るというシステムにおいて、エージェントが報酬を最大化するような行動を取るように学習させるという機械学習アルゴリズムである。なお、行動選択については、確率的であっても、決定論的であっても構わない。
例えば図1のように、エージェントが左右の分岐を繰り返して出口に到達することを考える。まず、エージェントがAから出発して左へ分岐し、Bに到達した後、再び左へ分岐して行き止まりに到達したとする。行き止まりに到達するという結果は、出口に到達するという目的とは異なる結果であるため、エージェントは負の報酬を得ることになる。負の報酬を得るということは、過去の行動選択が誤っていたということを意味する。強化学習においては、過去の行動選択の履歴を参照して、このような行動選択を行わないように学習を行う。
今回の場合、負の報酬を得る原因としては、負の報酬を得る直前に行った「Bから左へ分岐」と、それ以前に行った「Aから左へ分岐」の2つがあるが、強化学習においては、「報酬を得る直前に行った行動が誤っている可能性が高い」と仮定して学習を行う。そこで、エージェントがBから左へ分岐しなくなる可能性が高くなるように学習を行う。一方、Aから左へ分岐することは間違いである可能性はあるが、まだ結論が出せないので、左へ分岐しなくなる可能性が高まるように学習を行うが、Bからの分岐の場合ほど強くは行わない。なお、ここで「可能性」という文言は、行動選択が確率的であることを意味しない。決定論的な行動選択を行う場合もある。決定論的な場合であっても、行動選択を行うためのパラメーターが未知であるため、パラメーターを変化させても必ず行動選択が変化するかどうかは分からないので、「可能性」という文言を使用している。
次に、エージェントが再度Aから出発すると、Aからの分岐は弱い学習を行っただけなので、今回もやはり左に分岐してBに到達したとする。ここで、Bからの分岐については左へ分岐しないように強く学習しているので、エージェントはBから右に分岐する。すると、再び行き止まりに到達してやはり負の報酬を得る。前回と同様、負の報酬を得た原因として「Bから右へ分岐」とそれ以前に行った「Aから左へ分岐」があるが、報酬を得る直前の「Bから右へ分岐」が誤っている可能性が高いと考え、右へ分岐しないように強い学習を行う。Bからの分岐は、前回の学習で左へ分岐しないように強く学習しているため、今回の学習で元に戻った格好になる。一方、Aからの分岐については、前回と同様、左へ分岐しないように弱めの学習を行う。
以上の学習を経た後、エージェントが再度Aから出発することを考える。「Aから左へ分岐」については、既に2回、これを選択しにくくなるように弱い学習を行っているため、Aから右に分岐してCに到達する可能性が高くなっている。そこで、エージェントがAから右に分岐してCに到達したとする。その後、エージェントがCから左に分岐すると、出口に到達し、正の報酬を得る。この場合、正の報酬を得た原因は「Aから右へ分岐」と「Cから左へ分岐」であるため、AおよびCにおいてこれらの行動を選択するよう、学習が行われる。エージェントの行動選択が確率的な場合、再度の試行を行うと、例えばCにおいて右への分岐が行われて負の報酬を受け取ることもあり得る。この場合、「Cから右へ分岐」を抑制する学習が行われる。「Aから右へ分岐」を抑制する学習も行われるが、上述の通り、この学習は弱いので、その後の試行でエージェントが出口に達する可能性は高い。再びエージェントが出口に達すれば、正の報酬が与えられ、「Aから右へ分岐」と「Cから左へ分岐」の行動選択が強化され、エージェントが正しく出口に達する可能性は高まっていく。
本実施形態は、上記の強化学習のアルゴリズムをクロスバー型のメモリスタアレイを用いて実現する。図1に例示した単純な事例に対応するメモリスタアレイの構成例を図2に示す。図2に示すメモリスタアレイ100は、図1の例の3つの状態A,B,Cに対応する3本の横方向配線101a,101b,101cと、図1の例の2種類の行動(左に分岐と右に分岐)に対応する2本の縦方向配線102l,102rとが交差して配置され、各交点にそれぞれメモリスタ103al,103ar,103bl,103br,103cl,103crが設けられた構成である。
すなわち、状態Aに対応する横方向配線101aは、メモリスタ103alを介して、左に分岐する行動に対応する縦方向配線102lと電気的に接続され、メモリスタ103arを介して、右に分岐する行動に対応する縦方向配線102rと電気的に接続されている。同様に、状態Bに対応する横方向配線101bは、メモリスタ103blを介して、左に分岐する行動に対応する縦方向配線102lと電気的に接続され、メモリスタ103brを介して、右に分岐する行動に対応する縦方向配線102rと電気的に接続されている。同様に、状態Cに対応する横方向配線101cは、メモリスタ103clを介して、左に分岐する行動に対応する縦方向配線102lと電気的に接続され、メモリスタ103crを介して、右に分岐する行動に対応する縦方向配線102rと電気的に接続されている。
3本の横方向配線101a,101b,101cには、それぞれ電圧発生器110a,110b,110cが接続され、これら横方向配線101a,101b,101cに対して個別に電圧を印加できるようになっている。また、2本の縦方向配線102l,102rにも同様に電圧発生器120l,120rが接続され、これら縦方向配線102l,102rに対して個別に電圧が印加できるようになっている。2本の縦方向配線102l,102rは、電圧発生器120l,120rに接続された端部とは逆側の端部が電流比較器130に接続される。
図3は、典型的なメモリスタの特性を示す図である。一般に、メモリスタに電圧を印加すると、非線形な電流−電圧特性を示し、一定の電圧VPT(以下、これを境界電圧と呼ぶ)よりも大きな電圧を印加すると、コンダクタンス(抵抗の逆数)が変化する。図中の太線がメモリスタの電流−電圧特性、一点鎖線がコンダクタンスの変化をそれぞれ示している。図3では、正の大きな電圧を印加するとコンダクタンスが増加し、負の大きな電圧を印加するとコンダクタンスが減少することを示している。以下では、メモリスタを流れる電流を読み出す際には、境界電圧VPTよりも小さな電圧V(以下、これを読み出し電圧と呼ぶ)を印加し、メモリスタのコンダクタンスを変化(抵抗値を変化)させるときには、±VPM(VPM>VPT)を印加するものとする。
初期状態では、メモリスタの抵抗値はランダムに分布しているものとする。本例の場合、エージェントがAから出発する状況に対応して、電圧発生器110aから横方向配線101aに読み出し電圧Vを印加する。このとき、縦方向配線102l,102rには、入力インピーダンスの十分低い電流比較器130を接続し、事実上のグラウンド接地状態にしておく。また、横方向配線101b,101cはグラウンドに接地しておく。すると、縦方向配線102lにはメモリスタ103alを介して電流が流れるとともに、縦方向配線102rにはメモリスタ103arを介して電流が流れ、これらの電流が電流比較器130に流れ込む。メモリスタの抵抗は電流比較器130のインピーダンスに比べて十分に大きいので、メモリスタ103bl,103brを介して横方向配線101bに電流が流れ込んだり、メモリスタ103cl,103crを介して横方向配線101cに電流が流れ込んだりすることはない。
縦方向配線102lを流れる電流の大きさと、縦方向配線102rを流れる電流の大きさとを電流比較器にて比較する。メモリスタ103alの抵抗がメモリスタ103arの抵抗に比べて低い場合、縦方向配線102lを流れる電流は、縦方向配線102rを流れる電流よりも大きくなる。この結果を受けて、エージェントは図1においてAから左への分岐を行ってBへ移動する。
エージェントがBに到達すると、次に、電圧発生器110bから横方向配線101bに読み出し電圧Vを印加し、横方向配線101a,101cはグラウンドに接地する。今度は、縦方向配線102lにはメモリスタ103blを介して電流が流れ、縦方向配線102rにはメモリスタ103brを介して電流が流れて、これらの電流の大きさが電流比較器130により比較される。メモリスタ103blの抵抗がメモリスタ103brの抵抗に比べて低い場合、縦方向配線102lを流れる電流は、縦方向配線102rを流れる電流よりも大きくなる。この結果を受けて、エージェントは図1においてBから左に分岐し、行き止まりに到達する。エージェントが行き止まりに到達すると、負の報酬を与える動作を行う。
具体的には、Bから左へ分岐した行動が抑制されるように、メモリスタ103blの抵抗値を大きくし、メモリスタ103brの抵抗値を小さくする。上に述べたように、メモリスタは境界電圧VPTよりも大きな電圧の印加によって抵抗値を外部から制御することができるので、メモリスタ103blの場合は横方向配線101bおよび縦方向配線102lへ、メモリスタ103brの場合は横方向配線101bおよび縦方向配線102rへ、適切な大きさと時間の電圧信号を与えることで、これらのメモリスタ103bl,103brの両端に境界電圧VPTよりも大きな電位差VPMを与え、抵抗値(コンダクタンス)を変化させることができる。このとき、メモリスタ103blとメモリスタ103brに逆極性の電位差が発生するように電圧信号を与えることで、一方の抵抗値を大きくし、他方の抵抗値を小さくすることができる。
また、Aから左へ分岐した行動も抑制されるように、メモリスタ103alの抵抗値を大きくし、メモリスタ103arの抵抗値を小さくする学習も行う。この場合もやはり、メモリスタ103alとメモリスタ103arに逆極性の電位差が発生するように電圧信号を与えるが、この場合は上述の通り、学習は弱く行われる必要があるため、電位差の大きさはVPMより小さなVPM’となるような電圧信号を与える。すなわち、VPT<VPM’<VPMである。
以上の学習を経た後、エージェントが再度Aから出発する状況に対応して、再び横方向配線101aに読み出し電圧Vを印加し、横方向配線101b,101cはグラウンドに接地する。上記の学習によってメモリスタ103al,103arの抵抗値は変化しているが、弱い学習(電位差VPM’)であるため変化量は小さい。そこで、大小関係は変化していないとすると、先ほどと同様に縦方向配線102lを流れる電流は縦方向配線102rを流れる電流に比べて大きくなるため、エージェントはAから左への分岐を行ってBに移動する。
エージェントがBに到達すると、次に、電圧発生器110bから横方向配線101bに読み出し電圧Vを印加し、横方向配線101a,101cはグラウンドに接地する。上記の学習により、メモリスタ103blの抵抗値がメモリスタ103brの抵抗値に比べて大きくなっているとすると、縦方向配線102rを流れる電流が縦方向配線102lを流れる電流に比べて大きくなり、エージェントはBから右に分岐する。この場合もやはりエージェントは行き止まりに到達するため、負の報酬が与えられる。すなわち、メモリスタ103blの抵抗値を下げ、メモリスタ103brの抵抗値を挙げるために両者に極性の異なる電圧(大きさはVPM)を与える。同時に、Aから左へ分岐した行動がさらに抑制されるように、メモリスタ103alの抵抗値を上げ、メモリスタ103arの抵抗値を下げるように、やはり極性の異なる電圧(大きさはVPM’)を与えて弱い学習を行う。
このような学習操作を繰り返すことで、いつかはメモリスタ103arの抵抗値がメモリスタ103alの抵抗値よりも小さくなり、横方向配線101aに読み出し電圧Vが印加されたときに、縦方向配線102lよりも縦方向配線102rに大きな電流が流れるようになる。こうなると、エージェントがAから右へ分岐してCに到達するため、今度は横方向配線101cに読み出し電圧Vを印加する。ここで、メモリスタ103clの抵抗値がメモリスタ103crの抵抗値よりも小さいとすると、縦方向配線102lには縦方向配線102rよりも大きな電流が流れ、エージェントはCから左へ分岐して、出口に到達する。
エージェントが出口に到達すると、正の報酬が与えられる。すなわち、メモリスタ103clとメモリスタ103crに逆極性の電圧VPMを与えて、メモリスタ103clの抵抗値を下げ、メモリスタ103crの抵抗値を上げる操作を行うとともに、過去の行動選択を行ったメモリスタ103alとメモリスタ103arに対しても逆極性の電圧VPM’を与えて、メモリスタ103alの抵抗値を大きくし、メモリスタ103arの抵抗値を小さくする。このようにして正の報酬を与えると、Aから出口に到達する一連の行動選択が強化される。具体的には、横方向配線101aに接続するメモリスタ103alの抵抗値を大きくしてメモリスタ103arの抵抗値を小さくし、横方向配線101cに接続するメモリスタ103cの抵抗値を小さくしてメモリスタ103crの抵抗値を大きくする。これにより、ノイズ等による擾乱があった場合でも、エージェントが出口に到達する確率を高くすることができる。
以下では、上述の本実施形態の基本概念を適用した強化学習システムの具体例について説明する。
<第1実施形態>
図4は、本実施形態に係る強化学習システムの構成例を示す図である。この強化学習システムは、図4に示すように、クロスバー型のメモリスタアレイ10と、第1電圧印加部20と、第2電圧印加部30と、行動決定回路40と、プロセッサ回路50と、記憶回路60とを備える。プロセッサ回路50には、環境(あるいはエージェント)の「状態」を観測するためのセンサ70と、エージェントの「行動」を実現するためのアクチュエータ80とが接続される。
メモリスタアレイ10は、複数の横方向配線11と複数の縦方向配線12とが交差して配置され、各交点にそれぞれメモリスタ13が設けられた構造である。このメモリスタアレイ10は、図2に示した例と同様に、複数の横方向配線101の各々が、環境が取り得る複数の状態のうちの1つに対応し、複数の縦方向配線102の各々が、エージェントが取り得る複数の行動のうちの1つに対応している。
第1電圧印加部20は、メモリスタアレイ10の複数の横方向配線11に対して、個別に電圧を印加できる構成となっている。例えば第1電圧印加部20は、図4に示すように、複数の横方向配線11に各々接続された複数の電圧発生器21を備える。これらの電圧発生器21は、プロセッサ回路50からの指令に応じて、対応する横方向配線11に対して読み出し電圧Vを印加したり、学習時に、対応する横方向配線11に接続された各メモリスタ13の抵抗値(コンダクタンス)を変化させるために、後述する所望のパターンの第1電圧信号を印加したりする。
本実施形態においては、複数の横方向配線11に接続された複数の電圧発生器21の各々に、行動記憶部22と、トレース記憶部23とが設けられている。
行動記憶部22は、対応する状態のときにエージェントが選択した行動、つまり、対応する横方向配線11に対して読み出し電圧Vを印加したときに、複数の縦方向配線12のうち、最も大きな電流が流れた縦方向配線12に対応する行動を記憶する。例えば、状態Sのときにエージェントが行動Xを選択したとすると、複数の横方向配線11のうち、状態Sに対応する横方向配線11に接続された電圧発生器21の行動記憶部22に、行動Xを示す情報が記憶される。
トレース記憶部23は、環境がその状態であった時刻を記憶する。例えば、時刻tにおいてエージェントが行動Xを選択したことによって状態がSからS’に遷移したとすると、複数の横方向配線11のうち、状態S’に対応する横方向配線11に接続された電圧発生器21の行動記憶部22に、時刻tを示す情報が記憶される。
電圧発生器21が横方向配線11に印加する第1電圧信号のパターンは、これら行動記憶部22およびトレース記憶部23を参照して決定される。すなわち、報酬が与えられるとき(つまり学習時)、それまでの間に遷移した各状態に対応する横方向配線11に接続された電圧発生器21は、行動記憶部22とトレース記憶部23を参照し、行動記憶部22が記憶するエージェントが選択した行動と、トレース記憶部23が記憶する時刻と、報酬の極性とに応じて、横方向配線11に印加する第1電圧信号のパターンを決定する。
なお、本実施形態では、環境が取り得る各状態に対応する行動記憶部22およびトレース記憶部23を、各状態に対応する横方向配線11に接続された電圧発生器21に設ける構成としているが、これら行動記憶部22およびトレース記憶部23を、例えばプロセッサ回路50や記憶回路60など、電圧発生器21の外部に設ける構成であってもよい。この場合、各電圧発生器21が横方向配線11に印加する第1電圧信号のパターンを電圧発生器21の外部で決定し、決定したパターンの第1電圧信号を印加する指令を電圧発生器21に与えてもよい。また、行動記憶部22およびトレース記憶部23を電圧発生器21の外部に設ける場合、行動記憶部22およびトレース記憶部23が記憶する情報がどの状態に対応したものであるかが識別できる構成であれば、各状態ごとに行動記憶部22およびトレース記憶部23を設けずに、1つの記憶部としてまとめてもよい。
第2電圧印加部30は、メモリスタアレイ10の複数の縦方向配線12に対して、個別に電圧を印加できる構成となっている。例えば第2電圧印加部30は、図4に示すように、複数の縦方向配線12に各々接続された複数の電圧発生器31を備える。これらの電圧発生器31は、学習時に、複数の縦方向配線12の各々に対し、所定パターンの第2電圧信号を、時間差をつけて印加する。その結果、第1電圧信号が印加された横方向配線11と第2電圧信号が印加された縦方向配線12との交点に設けられたメモリスタ13には、横方向配線11に接続する端子と縦方向配線12に接続する端子との間に、第1電圧信号と第2電圧信号との重ね合わせに相当する電位差が発生する。この電位差に応じて、メモリスタ13のコンダクタンス(抵抗値)が変化する。
行動決定回路40は、複数の横方向配線11のうちの1つに読み出し電圧Vが印加されたときに複数の縦方向配線12を流れる電流の大きさに基づいて、読み出し電圧Vが印加された横方向配線11に対応する状態のときにエージェントが選択すべき行動を決定する。この行動決定回路40としては、例えば、Winner−Take−All回路を用いることができる。Winner−Take−All回路は、複数の電流入力から最大の電流を選び出す回路であり、その実装方法は広く知られている。一般に、Winner−Take−All回路の入力インピーダンスは、メモリスタ13の抵抗に比べると無視できるくらい小さい。
プロセッサ回路50は、本実施形態に係る強化学習システムの動作を制御する。このプロセッサ回路50としては、例えば、CPU(Central Proccessing Unit)やGPU(Graphical Processing Unit)などの汎用プロセッサ、あるいは、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))などを用いることができる。プロセッサ回路50は、例えば、記憶回路60に保存されたプログラムを読み出し実行することで、本実施形態に係る強化学習システムの制御機能を実現する。なお、記憶回路60にプログラムを保存する代わりに、プロセッサ回路50内にプログラムを直接組み込むように構成しても構わない。この場合、プロセッサ回路50は、回路内に組み込まれたプログラムを読み出し実行することで、本実施形態に係る強化学習システムの制御機能を実現する。
記憶回路60は、プロセッサ回路50の各制御機能を実現するプログラムやそれに伴うデータなどを必要に応じて記憶する。この記憶回路60としては、例えば、RAM(Random Access Mewmory)、フラッシュメモリなどの半導体メモリ素子、ハードディスク、光ディスクなどを用いることができる。また、記憶回路60は、本実施形態に係る強化学習システムの外部の記憶装置で代替されてもよい。記憶回路60は、LAN(Local Area Network)やインターネットなどにより伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体であってもよい。また、記憶媒体は1つに限らず、複数の媒体から構成されてもよい。
次に、以上のように構成される本実施形態の強化学習システムの動作を説明する。まず、エージェントが状態Sから行動を開始するとする。この場合、プロセッサ回路50は、行動決定回路40をアクティブにした上で、状態Sに対応する横方向配線11に接続された電圧発生器21に対して読み出し電圧Vの印加を指示する。これを受けて、状態Sに対応する横方向配線11に接続された電圧発生器21は、トレース記憶部23に時刻tを格納した後、対応する横方向配線11に読み出し電圧Vを印加する。読み出し電圧Vは、上述のように、メモリスタ13の境界電圧VPTよりも小さい電圧、つまり、メモリスタ13に読み出し可能な電流が流れるが、メモリスタ13の抵抗値(コンダクタンス)は変化しない程度の電圧である。
行動決定回路40をアクティブにすると、複数の縦方向配線12は行動決定回路40を通じて接地されるため、状態Sに対応する横方向配線11に印加された読み出し電圧Vによって、この横方向配線11に接続されたメモリスタ13に電流が流れ、各縦方向配線12を介して行動決定回路40に流れ込む。なお、上述の通り、メモリスタ13の抵抗は行動決定回路40の入力インピーダンスに比べて十分大きいため、状態Sに対応する横方向配線11以外の他の横方向配線11をグラウンドに接地あるいは浮遊状態にしておけば、これら横方向配線11に電流が流れ込むことはない。
行動決定回路40は、複数の縦方向配線12から流れ込んだ電流の大きさを比較し、最も大きな電流が流れている縦方向配線12を選ぶ。ここでは、行動Xに対応する縦方向配線12が選び出されたとする。行動決定回路40は、その情報をプロセッサ回路50に通知する。
プロセッサ回路50は、行動決定回路40から通知された情報に基づき、エージェントが行動Xをとるようにアクチュエータ80の動作を制御する。また、プロセッサ回路50は、状態Sに対応する横方向配線11に接続された電圧発生器21配線の行動記憶部22に、行動Xを記憶する。すなわち、この行動記憶部22には、状態Sに対応する横方向配線11に接続されたメモリスタ13のうち、行動Xに対応する縦方向配線12との交点に設けられたメモリスタ13の抵抗値が最も低いことを示す情報が格納される。
エージェントが行動Xをとったときの環境の状態遷移は、センサ70からの情報により観測される。ここでは、エージェントが行動Xをとることによって、環境の状態が時刻t+Δtにおいて状態S’に遷移したとする。この場合、プロセッサ回路50は、状態S’に対応する横方向配線11に接続された電圧発生器21に対して読み出し電圧Vの印加を指示する。これにより、状態S’に対応する横方向配線11を対象として上記と同様の操作が行われ、トレース記憶部23に時刻t+Δtが格納されるとともに、状態S’に対応する横方向配線11に接続されたメモリスタ13のうちで、最も抵抗値が小さいものが接続されている縦方向配線12に対応する行動X’が、エージェントが次にとるべき行動として選択されて、行動記憶部22に行動X’が格納される。また、エージェントが行動X’をとるようにアクチュエータ80の動作が制御され、さらに次の状態へと遷移していく。
最終的にエージェントが目的とは異なる状態に陥った場合(例えば、図1に示した例で行き止まりに到達した場合)、負の報酬が次のように与えられる。すなわち、目的と異なる状態に陥るまでに遷移した各状態に対応する横方向配線11について、行動記憶部22に記憶されている行動を次回以降に選択しにくくなるように、その横方向配線11に接続されている各メモリスタ13の抵抗値(コンダクタンス)を変更する。例えば、状態Sのときにエージェントが行動Xを選択した場合、状態Sに対応する横方向配線11に接続された電圧発生器21の行動記憶部22には、行動Xに対応する縦方向配線12との交点にあるメモリスタ13の抵抗値が最も低いという情報が格納されている。そこで、電圧発生器21は、このメモリスタ13の抵抗値が大きくなり、他のメモリスタ13の抵抗値が小さくなるようなパターンの第1電圧信号を横方向配線11に印加する。具体的には、次のように行えばよい。
図5は、本実施形態における学習操作の概要を説明する図である。ここでは、状態Sに対応する横方向配線11に対して行動V,W,X,Yに対応する4本の縦方向配線12が交差しており、それぞれの交点にメモリスタ13が配置されている場合に、行動Xに対応する縦方向配線12との交点に配置されたメモリスタ13の抵抗値を大きくし、行動V,W,Yに対応する縦方向配線12との交点に配置されたメモリスタ13の抵抗値を小さくする学習操作を考える。
4本の縦方向配線12に接続された電圧発生器31は、図5に示すように、周期2Tの波形を持つ所定パターンの第2電圧信号を、2T分の時間差をつけて各縦方向配線12に印加する。また、状態Sに対応する横方向配線11に接続された電圧発生器21は、図5に示すパターンの第1電圧信号を、横方向配線1に印加する。ここで、第2電圧信号の振幅はa、第1電圧信号の振幅はbとする。ただし、a<VPT、かつ、b<VPTとすることで、他のメモリスタ13の意図しない抵抗値変化を防ぐものとする。
メモリスタ13の両端には、第1電圧信号と第2電圧信号の重ね合わせに相当する電位差(差分電圧)が印加されることから、図5の例では、行動V,W,Yに対応する縦方向配線12との交点に配置された各メモリスタ13にはそれぞれa+bの正電圧がかかり、行動Xに対応する縦方向配線12との交点に配置されたメモリスタ13に対してのみa+bの大きさの負電圧がかかる。したがって、行動V,W,Yに対応する縦方向配線12との交点に配置されたメモリスタ13の抵抗値は下がるが、行動Xに対応する縦方向配線12との交点に配置されたメモリスタ13の抵抗値は大きくなる。ただし、ここで、a+b>VPT、かつ、|a−b|<VPTであることが必要である。
なお、ここでは行動Xに対応する縦方向配線12との交点に配置されたメモリスタ13の抵抗値を大きくし、行動V,W,Yに対応する縦方向配線12との交点に配置されたメモリスタ13の抵抗値を小さくする学習操作を説明したが、第1電圧信号の正負を逆転することで、行動Xに対応する縦方向配線12との交点に配置されたメモリスタ13の抵抗値を小さく、行動V,W,Yに対応する縦方向配線12との交点に配置されたメモリスタ13の抵抗値を大きくすることも可能である。これは、正の報酬に対応する。
ところで、状態Sに対応するトレース記憶部23には、状態Sとなった時刻tが記憶されている。もし時刻tが現在からほんの少し過去のことであれば、状態Sにおいて行った行動選択は、現時点で与えられた報酬と関連が強いと考えられるため、メモリスタ13の抵抗値を大きく変える必要がある。逆に、もし時刻tが遠い過去であれば、現時点で与えられた報酬との関連は弱いと考えられるため、メモリスタ13の抵抗値を大きく変える必要がない。これを実現するためには、環境の状態遷移の履歴に対応させて、各状態に対応する横方向配線11に印加する第1電圧信号の振幅bの大きさを設定する必要がある。具体的には、次のように行う。
図5の例において、環境の取り得る状態をS,S,S,Sとし、状態Sから始まり、状態S、状態Sと遷移して、状態Sに達したところで報酬が与えられたとする。状態Sはとらないとする。このとき、図6に示すように、状態Sに対応する横方向配線11に印加する第1電圧信号の振幅をb、状態Sに対応する横方向配線11に印加する第1電圧信号の振幅をb、状態Sに対応する横方向配線11に印加する第1電圧信号の振幅をbとする。なお、状態Sに対応する横方向配線11には、第1電圧信号は印加されない。また、行動V,W,X,Yに対応する4本の縦方向配線12には、図5に示した振幅aの第2電圧信号が印加されるものとする。
この場合、状態Sは報酬が与えられる直前の状態であるため、対応するメモリスタ13の抵抗値を大きく変更する必要がある。このため、a+bは大きな値である必要がある。一方、状態Sは初期状態であるので、対応するメモリスタ13の抵抗値の変化は小さくてよい。このため、a+bはVPTより大きい値である必要があるものの、それほど大きな値である必要はない。なお、状態Sに対応する横方向配線11には第1電圧信号は印加されないが、この横方向配線11に接続された各メモリスタ13に第2電圧信号は印加される。これらのメモリスタ13の抵抗値は変化してはならないので、第2電圧信号の振幅aは、上述のように、VPTよりも小さいことが必要となる。また、図5に示したように、第1電圧信号を印加した横方向配線11に接続された各メモリスタ13にはa−bの電圧がかかるが、この電圧によってメモリスタ13の抵抗値は変化してはならない(メモリスタ13の抵抗値はa+bの電圧で変化させる必要がある)。したがって、図6の例の場合、VPT>b>b>b>VPT−a、かつ、VPT>aであることが、条件として必要である。
一般的に、エージェントがN個の状態SN−1,SN−2,・・・,S,Sを遷移して報酬を得た場合、状態SN−1,SN−2,・・・,S,Sに対応する横方向配線11に印加する第1電圧信号の振幅をbN−1,bN−2,・・・,b,bとすると、これら第1電圧信号の振幅bN−1,bN−2,・・・,b,bと第2電圧信号の振幅aは、下記式(1)に示す条件を満たす必要がある。
PT>b>b>・・・>bN−2>bN−1>VPT−a>0 ・・・(1)
報酬が与えられるまでの間に遷移した各状態Sに対応する電圧発生器21は、上記式(1)を満たすように、トレース記憶部23が記憶する時刻tをもとに第1電圧信号の振幅bを決定するとともに、行動記憶部22が記憶する行動と報酬の極性とに応じて第1電圧信号の波形を決定し、対応する横方向配線11に第1電圧信号を印加する。また、これと同時に、各行動に対応する電圧発生器31は、上記式(1)を満たす振幅aを持つ所定パターンの第2電圧信号を、他の縦方向配線12と印加のタイミングが重ならないように時間差をつけて、対応する縦方向配線12に印加する。これにより、報酬に応じて抵抗値を変更する必要があるメモリスタ13の抵抗値を一括して変更することができる。つまり、強化学習によるメモリスタ13の抵抗値の変更を一括して行うことができる。
なお、本実施形態では、報酬が与えられるまでの間に遷移した各状態Sに対応する横方向配線11に対して第1電圧信号を同時に印加するものとしているが、横方向配線11に対する第1電圧信号の印加は、ラインごとに順番に行うようにしてもよい。また、本実施形態では、複数の縦方向配線12に電圧発生器31を各々接続し、これら電圧発生器31が縦方向配線12に対して個別に第2電圧信号を印加する構成としているが、1つの電圧発生器31が生成する第2電圧信号を遅延回路で遅延させて、複数の縦方向配線12に順番に印加する構成であってもよい。
以上説明したように、本実施形態に係る強化学習システムは、環境が取り得る各状態に対し、その状態のときにエージェントが選択した行動を記憶する行動記憶部22と、環境がその状態であった時刻を記憶するトレース記憶部23とを備え、報酬が与えられるまでの間に遷移した各状態に対応する各横方向配線11に対し、行動記憶部22が記憶する行動と報酬の極性とに応じた波形を有し、かつ、トレース記憶部23が記憶する時刻に応じた振幅を持つパターンの第1電圧信号を印加するようにしている。したがって、本実施形態に係る強化学習システムによれば、メモリスタアレイ10を用いた簡易な構造・動作原理での強化学習を可能にし、必要なメモリおよび計算量を削減することができる。
特に、本実施形態に係る強化学習システムは、クロスバー型のメモリスタアレイ10を用いるため、複数の縦方向配線12に対して図5に示すような時間差をつけた第2電圧信号を印加するとともに、複数の横方向配線11に対して図6に示すような振幅差をつけた第1電圧信号を印加することで、個々のメモリスタ13に個別にアクセスすることなく、抵抗値を変更すべきメモリスタ13の抵抗値を一括操作で変更することができる。
<第2実施形態>
次に、第2実施形態について説明する。上述の第1実施形態では、メモリスタ13に印加する電圧の大きさを第1電圧信号の振幅bによって制御していたが、本実施形態では、第2電圧信号の振幅aによって制御する。なお、強化学習システムの構成や基本的な動作は上述した第1実施形態と同様のため、以下では、第1実施形態との差分についてのみ説明する。
図7は、本実施形態における学習操作の概要を説明する図である。本実施形態では、第2電圧印加部30の各電圧発生器31が、振幅a>a>・・・>aN−2>aN−1と減衰振動するパターンの第2電圧信号を各縦方向配線12に印加する。ただし、Nは報酬を与えるときに遡るべき行動選択の数である。すなわち、報酬が得られる直前から過去に遡ってN番目の行動選択までは強化学習において考慮するが、N+1番目よりも以前の行動選択は相当過去のものであり、最終的な報酬には影響を与えていないとして考慮しないものとする。第2電圧信号のパターンは、各振幅aで1周期で振動した後に振幅ai+1へと変化する。各振幅における振動周期を2Tとすると、第2電圧信号のパターンの長さは2NTとなる。
縦方向配線12のそれぞれに接続された電圧発生器31は、上記パターンの第2電圧信号を、他の縦方向配線12と重複しないように時間差をつけてそれぞれの縦方向配線12に印加する。例えば、1番左の縦方向配線12に時刻Tに上記パターンの第2電圧信号を印加した場合、左から2番目の縦方向配線12には時刻2NTに印加し、3番目の縦方向配線12には時刻4NTに印加し、m番目の縦方向配線12には時刻(m−1)2NTに印加する。図7に示す例では、N=3としている。
以下、上述の第1実施形態において図6を用いて説明した例と同様に、環境の取り得る状態をS,S,S,Sとし、状態Sから始まり、状態S、状態Sと遷移して、状態Sに達したところで報酬が与えられた場合を想定し、本実施形態における学習操作について図7を用いて説明する。この場合、状態S,S,Sの各々に対応するトレース記憶部23および行動記憶部22には、それぞれ、その状態となった時刻と、その状態においてエージェントが選択した行動(どのメモリスタ13の抵抗値が最も低かったか)が記憶されている。
まず、状態Sについて考える。状態Sは報酬が与えられる直前の状態であるため、状態Sに対応する横方向配線11に接続されたメモリスタ13の抵抗値は大きく変更する必要がある。そこで、状態Sに対応する電圧発生器21は、第2電圧信号の振幅aに対応するタイミングで振幅bの電圧がかかるような第1電圧信号を、状態Sに対応する横方向配線11に印加する。具体的には、時刻T〜T,T〜T,T12〜T14,T18〜T20に振幅bの電圧が発生し、その他は電圧は0となるようなパターンの第1電圧信号を横方向配線11に印加する。
時刻T〜Tにおける第1電圧信号の振幅bの電圧は、行動Vに対応する縦方向配線12との交点において第2電圧信号の振幅aの電圧と重なり、最大a+bの電圧がその交点に配置されたメモリスタ13に印加される。同様に、時刻T〜T,T12〜T14,T18〜T20における第1電圧信号の振幅bの電圧は、行動W,X,Yに対応する縦方向配線12との交点において第2電圧信号の振幅aの電圧と重なり、最大a+bの電圧がそれらの交点に配置された各メモリスタ13に印加されることになる。ここで、a+b>VPTであれば、これらのメモリスタ13の抵抗値は変更される。もし、行動Vに対応する縦方向配線12との交点のメモリスタ13の抵抗値のみを増加させ、他のメモリスタ13の抵抗値を減少させたい場合は、時刻T〜Tにおける振幅bの電圧のみ正電圧とし、時刻T〜T,T12〜T14,T18〜T20における振幅bの電圧を負電圧とすればよい。この第1電圧信号における振幅bの電圧の正負は、状態sに対応する行動記憶部22に記憶されている情報と、与えられる報酬の属性とに基づいて決定される。
状態Sの前は状態Sであったため、状態Sに対応する横方向配線11に接続されたメモリスタ13の抵抗値の変更幅は、状態Sに対応する横方向配線11に接続されたメモリスタ13の抵抗値の変更幅よりも小さくする必要がある。そこで、状態Sに対応する電圧発生器21は、第2電圧信号の振幅aに対応するタイミングで振幅bの電圧がかかるような第1電圧信号を、状態Sに対応する横方向配線11に印加する。具体的には、時刻T〜T,T〜T10,T14〜T16,T20〜T22に振幅bの電圧が発生し、その他は電圧は0となるようなパターンの第1電圧信号を横方向配線11に印加する。
時刻T〜Tにおける第1電圧信号の振幅bの電圧は、行動Vに対応する縦方向配線12との交点において第2電圧信号の振幅aの電圧と重なり、最大a+bの電圧がその交点に配置されたメモリスタ13に印加される。同様に、時刻T〜T10,T14〜T16,T20〜T22における第1電圧信号の振幅bの電圧は、行動W,X,Yに対応する縦方向配線12との交点において第2電圧信号の振幅aの電圧と重なり、最大a+bの電圧がそれらの交点に配置された各メモリスタ13に印加されることになる。ここで、a+b>VPTであれば、これらのメモリスタ13の抵抗値は変更されるが、a<aであるので、これらのメモリスタ13の抵抗値の変更幅は、状態Sに対応する横方向配線11に接続されたメモリスタ13の抵抗値の変更幅よりも小さくなる。もし、行動Xに対応する縦方向配線12との交点のメモリスタ13の抵抗値のみを増加させ、他のメモリスタ13の抵抗値を減少させたい場合は、時刻T14〜T16における振幅bの電圧のみ正電圧とし、時刻T〜T,T〜T10,T20〜T22における振幅bの電圧を負電圧とすればよい。この第1電圧信号における振幅bの電圧の正負は、状態sに対応する行動記憶部22に記憶されている情報と、与えられる報酬の属性とに基づいて決定される。
状態Sの前は状態Sであったため、状態Sに対応する横方向配線11に接続されたメモリスタ13の抵抗値の変更幅は、状態Sに対応する横方向配線11に接続されたメモリスタ13の抵抗値の変更幅よりも小さくする必要がある。そこで、状態Sに対応する電圧発生器21は、第2電圧信号の振幅aに対応するタイミングで振幅bの電圧がかかるような第1電圧信号を、状態Sに対応する横方向配線11に印加する。具体的には、時刻T〜T,T10〜T12,T16〜T18,T22〜T24に振幅bの電圧が発生し、その他は電圧は0となるようなパターンの第1電圧信号を横方向配線11に印加する。
時刻T〜Tにおける第1電圧信号の振幅bの電圧は、行動Vに対応する縦方向配線12との交点において第2電圧信号の振幅aの電圧と重なり、最大a+bの電圧がその交点に配置されたメモリスタ13に印加される。同様に、時刻T10〜T12,T14〜T18,T22〜T24における第1電圧信号の振幅bの電圧は、行動W,X,Yに対応する縦方向配線12との交点において第2電圧信号の振幅aの電圧と重なり、最大a+bの電圧がそれらの交点に配置された各メモリスタ13に印加されることになる。ここで、a+b>VPTであれば、これらのメモリスタ13の抵抗値は変更されるが、a<aであるので、これらのメモリスタ13の抵抗値の変更幅は、状態Sに対応する横方向配線11に接続されたメモリスタ13の抵抗値の変更幅よりも小さくなる。もし、行動Yに対応する縦方向配線12との交点のメモリスタ13の抵抗値のみを増加させ、他のメモリスタ13の抵抗値を減少させたい場合は、時刻T22〜T24における振幅bの電圧のみ正電圧とし、時刻T〜T,T10〜T12,T16〜T18における振幅bの電圧を負電圧とすればよい。この第1電圧信号における振幅bの電圧の正負は、状態sに対応する行動記憶部22に記憶されている情報と、与えられる報酬の属性とに基づいて決定される。
本例では状態Sはとらないため、状態Sに対応する横方向配線11には第1電圧信号は印加されないが、この横方向配線11に接続された各メモリスタ13に第2電圧信号は印加される。これらのメモリスタ13の抵抗値は変化してはならないので、VPT>a>a>aであることが必要となる。また、図5の例で説明したように、第1電圧信号を印加した横方向配線11に接続された各メモリスタ13にはa−bの電圧がかかるが、この電圧によってメモリスタ13の抵抗値は変化してはならないため、各aに対してa−b<VPTが要求される。以上より、VPT>a>a>a>VPT−b>0が得られる。これを一般化すると、第2電圧信号の振幅aおよび第1電圧信号の振幅bの条件として、下記式(2)に示す条件が得られる。
PT>a>a>・・・>aN−2>aN−1>VPT−b>0 ・・・(2)
本実施形態では、報酬が与えられるまでの間に遷移した各状態Sに対応する電圧発生器21は、上記式(2)を満たすように、行動記憶部22が記憶する行動と報酬の極性とに応じて第1電圧信号の波形を決定し、対応する横方向配線11に第1電圧信号を印加する。また、これと同時に、各行動に対応する電圧発生器31は、上記式(2)を満たす振幅aを持つ第2電圧信号を、時間差をつけて縦方向配線12に印加する。これにより、報酬に応じて抵抗値を変更する必要があるメモリスタ13の抵抗値を一括して変更することができる。つまり、強化学習によるメモリスタ13の抵抗値の変更を一括して行うことができる。
以上説明したように、本実施形態に係る強化学習システムは、報酬が与えられるまでの間に遷移した各状態に対応する各横方向配線11に対し、行動記憶部22が記憶する行動とトレース記憶部23が記憶する時刻と報酬の極性とに応じた波形を有し、所定の振幅を持つパターンの第1電圧信号を印加し、エージェントが取り得る各行動に対応する各縦方向配線12に対し、遡るべき行動選択の数に対応する数の振幅を持つパターンの第2電圧信号を時間差をつけてするようにしている。したがって、本実施形態に係る強化学習システムによれば、上述の第1実施形態と同様に、メモリスタアレイ10を用いた簡易な構造・動作原理での強化学習を可能にし、必要なメモリおよび計算量を削減することができる。
以上述べた少なくとも一つの実施形態によれば、メモリスタアレイを用いた簡易な構造・動作原理での強化学習を可能にし、必要なメモリおよび計算量を削減できる強化学習システムを提供することができる。
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 メモリスタアレイ
11 横方向配線
12 縦方向配線
13 メモリスタ
20 第1電圧印加部
21 電圧発生器
22 行動記憶部
23 トレース記憶部
30 第2電圧印加部
31 電圧発生器
40 行動決定回路
50 プロセッサ回路
60 記憶回路
70 センサ
80 アクチュエータ

Claims (7)

  1. 複数の第1方向配線と複数の第2方向配線とが交差して配置され、各交点にそれぞれメモリスタが設けられたクロスバー型のメモリスタアレイであって、前記複数の第1方向配線の各々が、環境が取り得る複数の状態のうちの1つに対応し、前記複数の第2方向配線の各々が、エージェントが取り得る複数の行動のうちの1つに対応するメモリスタアレイと、
    前記複数の第1方向配線に個別に電圧を印加する第1電圧印加部と、
    前記複数の第2方向配線に個別に電圧を印加する第2電圧印加部と、
    前記複数の第1方向配線のうちの1つに読み出し電圧が印加されたときに前記複数の第2方向配線を流れる電流の大きさに基づいて、読み出し電圧が印加された第1方向配線に対応する状態のときにエージェントが選択すべき行動を決定する行動決定回路と、
    環境が取り得る各状態に対し、その状態のときにエージェントが選択した行動を記憶する行動記憶部と、
    環境が取り得る各状態に対し、環境がその状態であった時刻を記憶するトレース記憶部と、
    を備える強化学習システム。
  2. 報酬が与えられるとき、
    前記第1電圧印加部は、前記複数の第1方向配線のうち、報酬が与えられるまでの間に遷移した各状態に対応する各第1方向配線に対し、前記行動記憶部が記憶するエージェントが選択した行動と、前記トレース記憶部が記憶する時刻と、報酬の極性とに応じたパターンの第1電圧信号を印加し、
    前記第2電圧印加部は、前記複数の第2方向配線の各々に対し、所定パターンの第2電圧信号を印加し、
    前記第1電圧信号が印加された第1方向配線と前記第2電圧信号が印加された第2方向配線との交点に設けられたメモリスタは、第1方向配線に接続する端子と第2方向配線に接続する端子との間の電位差に応じてコンダクタンスが変化する
    請求項1に記載の強化学習システム。
  3. 報酬が与えられるとき、
    前記第1電圧印加部は、前記複数の第1方向配線のうち、報酬が与えられるまでの間に遷移した各状態に対応する各第1方向配線に対し、前記行動記憶部が記憶するエージェントが選択した行動と報酬の極性とに応じた波形を有し、かつ、前記トレース記憶部が記憶する時刻に応じた振幅を持つパターンの前記第1電圧信号を印加する
    請求項2に記載の強化学習システム。
  4. 報酬が与えられるまでの間に遷移した状態数をNとし、報酬が与えられるまでの間に遷移した各状態に対応する各第1方向配線に印加する前記第1電圧信号の振幅を、前記トレース記憶部が記憶する時刻が新しい順にb,b,・・・,bN−2,bN−1とし、前記第2電圧信号の振幅をaとし、メモリスタのコンダクタンスが変化する境界電圧をVPTとしたときに、
    PT>b>b>・・・>bN−2>bN−1>VPT−a>0
    の関係を満たす
    請求項3に記載の強化学習システム。
  5. 報酬が与えられるとき、
    前記第1電圧印加部は、前記複数の第1方向配線のうち、報酬が与えられるまでの間に遷移した各状態に対応する各第1方向配線に対し、前記行動記憶部が記憶するエージェントが選択した行動と、前記トレース記憶部が記憶する時刻と、報酬の極性とに応じた波形を有し、かつ、所定の振幅を持つパターンの前記第1電圧信号を印加し、
    前記第2電圧印加部は、前記複数の第2方向配線の各々に対し、遡るべき行動選択の数に対応する数の振幅を持つパターンの前記第2電圧信号を時間差をつけて印加する
    請求項2に記載の強化学習システム。
  6. 遡るべき行動選択の数をNとし、前記第2電圧信号のN個の振幅を大きい順にa,a,・・・,aN−2,aN−1とし、前記第1電圧信号の振幅をbとし、メモリスタのコンダクタンスが変化する境界電圧をVPTとしたときに、
    PT>a>a>・・・>aN−2>aN−1>VPT−b>0
    の関係を満たす
    請求項5に記載の強化学習システム。
  7. 報酬が与えられるとき、
    前記第1電圧印加部は、前記複数の第1方向配線のうち、報酬が与えられるまでの間に遷移した各状態に対応する各第1方向配線に対して、各々異なるパターンの前記第1電圧信号を同時に印加する
    請求項2乃至6のいずれか一項に記載の強化学習システム。
JP2018125761A 2018-07-02 2018-07-02 強化学習システム Active JP6896678B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018125761A JP6896678B2 (ja) 2018-07-02 2018-07-02 強化学習システム
US16/291,400 US11586897B2 (en) 2018-07-02 2019-03-04 Reinforcement learning system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018125761A JP6896678B2 (ja) 2018-07-02 2018-07-02 強化学習システム

Publications (2)

Publication Number Publication Date
JP2020004313A JP2020004313A (ja) 2020-01-09
JP6896678B2 true JP6896678B2 (ja) 2021-06-30

Family

ID=69055197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018125761A Active JP6896678B2 (ja) 2018-07-02 2018-07-02 強化学習システム

Country Status (2)

Country Link
US (1) US11586897B2 (ja)
JP (1) JP6896678B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112651495B (zh) * 2020-12-16 2021-10-12 郑州轻工业大学 一种面向情绪自稳态调节和联想记忆的神经网络电路
CN112686373B (zh) * 2020-12-31 2022-11-01 上海交通大学 一种基于忆阻器的在线训练强化学习方法
JP2022125660A (ja) 2021-02-17 2022-08-29 キオクシア株式会社 記憶装置及び記憶方法
CN113364430A (zh) * 2021-05-25 2021-09-07 北京智芯微电子科技有限公司 一种可变衰减器
CN117292119B (zh) * 2023-11-24 2024-03-22 国网智能科技股份有限公司 一种输电多尺度目标检测方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892487B2 (en) 2010-12-30 2014-11-18 International Business Machines Corporation Electronic synapses for reinforcement learning
US9715655B2 (en) * 2013-12-18 2017-07-25 The United States Of America As Represented By The Secretary Of The Air Force Method and apparatus for performing close-loop programming of resistive memory devices in crossbar array based hardware circuits and systems
US10248907B2 (en) 2015-10-20 2019-04-02 International Business Machines Corporation Resistive processing unit
JP6481667B2 (ja) * 2016-07-20 2019-03-13 株式会社デンソー ニューラルネットワーク回路
US9715656B1 (en) 2016-09-12 2017-07-25 International Business Machines Corporation Killing asymmetric resistive processing units for neural network training

Also Published As

Publication number Publication date
US11586897B2 (en) 2023-02-21
US20200005130A1 (en) 2020-01-02
JP2020004313A (ja) 2020-01-09

Similar Documents

Publication Publication Date Title
JP6896678B2 (ja) 強化学習システム
US11544538B2 (en) Pulse driving apparatus for minimising asymmetry with respect to weight in synapse element, and method therefor
US9779355B1 (en) Back propagation gates and storage capacitor for neural networks
US10740671B2 (en) Convolutional neural networks using resistive processing unit array
US4773024A (en) Brain emulation circuit with reduced confusion
US20200117986A1 (en) Efficient processing of convolutional neural network layers using analog-memory-based hardware
US11087204B2 (en) Resistive processing unit with multiple weight readers
CN111587440A (zh) 用于更新精确突触权重值的神经形态芯片
US20210374546A1 (en) Row-by-row convolutional neural network mapping for analog artificial intelligence network training
JP7118930B2 (ja) スパイキングニューラルネットワーク装置およびその学習方法
Ibrayev et al. On-chip face recognition system design with memristive hierarchical temporal memory
Michaelis et al. Robust trajectory generation for robotic control on the neuromorphic research chip Loihi
KR20200000686A (ko) 웨이트 행렬 입력 회로 및 웨이트 행렬 회로
US11195089B2 (en) Multi-terminal cross-point synaptic device using nanocrystal dot structures
US10489705B2 (en) Discovering and using informative looping signals in a pulsed neural network having temporal encoders
Shi et al. Exploiting memristors for neuromorphic reinforcement learning
KR20230029759A (ko) 아날로그 크로스바 어레이들을 업데이트하기 위한 희소 수정가능 비트 길이 결정 펄스 생성
Waner et al. Evolutionary learning of complex modes of information processing
Bossens et al. Learning to learn with active adaptive perception
US11868893B2 (en) Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference
JP6817922B2 (ja) 演算装置
Hassan et al. Designing neuromorphic computing systems with memristor devices
Richardson et al. Cubic spline as an alternative to methods of machine learning
US20240160944A1 (en) Rapid learning with high localized synaptic plasticity
AU2021296187B2 (en) Suppressing undesired programming at half-selected devices in a crosspoint array of 3-terminal resistive memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200618

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210428

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210609

R151 Written notification of patent or utility model registration

Ref document number: 6896678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151