JPWO2020121494A1 - 演算装置、アクション決定方法、及び制御プログラム - Google Patents

演算装置、アクション決定方法、及び制御プログラム Download PDF

Info

Publication number
JPWO2020121494A1
JPWO2020121494A1 JP2020559651A JP2020559651A JPWO2020121494A1 JP WO2020121494 A1 JPWO2020121494 A1 JP WO2020121494A1 JP 2020559651 A JP2020559651 A JP 2020559651A JP 2020559651 A JP2020559651 A JP 2020559651A JP WO2020121494 A1 JPWO2020121494 A1 JP WO2020121494A1
Authority
JP
Japan
Prior art keywords
state
action
information
degree
candidate
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.)
Granted
Application number
JP2020559651A
Other languages
English (en)
Other versions
JP7196935B2 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2020121494A1 publication Critical patent/JPWO2020121494A1/ja
Application granted granted Critical
Publication of JP7196935B2 publication Critical patent/JP7196935B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Feedback Control In General (AREA)

Abstract

演算装置(10)にて予測状態決定部(11)は、複数の遷移情報ユニットを用いて、第1状態にて可能な複数の候補アクションのそれぞれに関して複数の予測状態を決定する。ばらつき度算出部(12)は、予測状態決定部(11)にて各候補アクションに関して決定された複数の予測状態のばらつき度を算出する。候補アクション選択部(13)は、ばらつき度算出部(12)にて算出された複数のばらつき度に基づいて、上記の複数の候補アクションのうちの一部の候補アクションを選択する。

Description

本開示は、演算装置、アクション決定方法、及び制御プログラムに関する。
「強化学習」に関して種々の研究が行われている(例えば、非特許文献1)。強化学習の目的の1つは、実環境に対して時系列的に複数の行動(アクション)を行った結果、実環境から得られる「累積報酬」を最大化する、方策(Policy)を学習することである。
Richard S. Sutton and Andrew G. Barto, "Reinforcement Learning: An Introduction", Second Edition, MIT Press, 2018
ところで、好適な方策を効率良く学習するためには、実環境の状態についての「状態空間」を効率的に探索する必要がある。
しかしながら、非特許文献1では探索の重要性について言及されているが、効率的な探索を実現する具体的な技術については開示されていない。
本開示の目的は、効率的な探索を実現できる、演算装置、アクション決定方法、及び制御プログラムを提供することにある。
第1の態様にかかる演算装置は、第1タイミングでの第1状態と、前記第1タイミング以降の第2タイミングでの第2状態との関係性を表す遷移情報を複数用いて、第1状態にて可能な複数の候補アクションのそれぞれに関して複数の第2状態を決定する決定手段と、各前記候補アクションに関して、前記複数の第2状態のばらつき度を算出する算出手段と、前記ばらつき度に基づき、前記複数の候補アクションから一部の候補アクションを選択する選択手段と、を具備する。
第2の態様にかかるアクション決定方法は、情報処理装置によって、第1タイミングでの第1状態と、前記第1タイミング以降の第2タイミングでの第2状態との関係性を表す遷移情報を複数用いて、第1状態にて可能な複数の候補アクションのそれぞれに関して複数の第2状態を決定し、各前記候補アクションに関して、前記複数の第2状態のばらつき度を算出し、前記ばらつき度に基づき、前記複数の候補アクションから一部の候補アクションを選択する。
第3の態様にかかる制御プログラムは、第1タイミングでの第1状態と、前記第1タイミング以降の第2タイミングでの第2状態との関係性を表す遷移情報を複数用いて、第1状態にて可能な複数の候補アクションのそれぞれに関して複数の第2状態を決定し、各前記候補アクションに関して、前記複数の第2状態のばらつき度を算出し、前記ばらつき度に基づき、前記複数の候補アクションから一部の候補アクションを選択する処理を、演算装置に実行させる。
本開示により、効率的な探索を実現できる、演算装置、アクション決定方法、及び制御プログラムを提供することができる。
第1実施形態の演算装置の一例を示すブロック図である。 第2実施形態の演算装置を含む制御装置の一例を示すブロック図である。 第2実施形態の演算装置の処理動作の一例を示すフローチャートである。 第3実施形態の演算装置を含む制御装置の一例を示すブロック図である。 第3実施形態の演算装置の処理動作の一例を示すフローチャートである。 演算装置のハードウェア構成例を示す図である。
以下、図面を参照しつつ、実施形態について説明する。なお、実施形態において、同一又は同等の要素には、同一の符号を付し、重複する説明は省略される。
<第1実施形態>
図1は、第1実施形態の演算装置の一例を示すブロック図である。図1において演算装置(アクション決定装置)10は、予測状態決定部11と、ばらつき度算出部12と、候補アクション選択部13とを有している。
説明の便宜上、あるタイミング(以降、「第1タイミング」と表す)における制御対象の状態を「第1状態」と表す。あるタイミング以降の1つタイミング(以降、「第2タイミング」と表す)における制御対象の状態を「第2状態」と表す。制御対象の状態は、第1状態に応じたアクションが実施された後に第2状態に変化するとする。また、第1状態と、第2状態とは、必ずしも、相互に異なる状態である必要はなく、同じ状態を表していてもよい。以降の説明においては、説明の便宜上、第1状態と、第2状態との異同によらずに、「第1状態から第2状態に変化する」と表すこととする。また、第1タイミング、及び、第2タイミングは、特定のタイミングを表しているわけではなく、相互に異なる2つのタイミングを表している。
予測状態決定部11は、複数の状態遷移情報(遷移情報ユニット)を用いて、第1状態にて可能な複数の「候補アクション」のそれぞれに関して複数の「予測状態」を決定する。各遷移情報ユニットは、第1状態と、該第1状態におけるアクションとから、該第1タイミング以降(たとえば、第2タイミング)の予測状態を算出するために用いられる。すなわち、各遷移情報ユニットは、各遷移情報ユニットの第1状態を保持しており、該第1状態及びアクションの組み合わせに応じた予測状態を決定する機能を有している。ここで、例えば、各遷移情報ユニットは、あるタイミングでの実環境の状態(実環境状態)と、該あるタイミングで実環境に対して実際に行われたアクションとが関連付けされたセットを含む「履歴情報」に基づいて作成(訓練)される。該セットは、2つの状態と、当該2つの状態間におけるアクションとが関連付けされた情報を表す。
ばらつき度算出部12は、予測状態決定部11にて各候補アクションに関して決定された複数の予測状態の「ばらつき度」を算出する。ここでは、第1状態にて可能な候補アクションは複数存在しているので、複数の候補アクションにそれぞれ対応する複数のばらつき度が算出されることになる。「ばらつき度」は、例えば、分散値である。
候補アクション選択部13は、ばらつき度算出部12にて算出された複数のばらつき度に基づいて、上記の複数の候補アクションのうちの一部の候補アクションを選択する。例えば、候補アクション選択部13は、上記の複数の候補アクションのうちで、ばらつき度算出部12にて算出された複数のばらつき度のうちの最大値に対応する候補アクションを選択する。
以上のように第1実施形態によれば、演算装置10にて予測状態決定部11は、複数の遷移情報ユニットを用いて、第1状態にて可能な複数の「候補アクション」のそれぞれに関して複数の「予測状態」を決定する。ばらつき度算出部12は、予測状態決定部11にて各候補アクションに関して決定された複数の予測状態の「ばらつき度」を算出する。候補アクション選択部13は、ばらつき度算出部12にて算出された複数のばらつき度に基づいて、上記の複数の候補アクションのうちの一部の候補アクションを選択する。
この演算装置10の構成により、効率的な探索を行うことができる。すなわち、候補アクションによる第1状態から第2状態への状態遷移が遷移情報ユニットにおいて「訓練の不十分な状態遷移」である場合、その状態遷移の予測状態についての「ばらつき度」が高くなる傾向にある。すなわち、「ばらつき度」は、遷移情報ユニットにおける状態遷移の訓練進捗度を示す指標として用いることができる。また、上記「訓練の不十分な状態遷移」は、上記「履歴情報」に十分に蓄積されていない状態遷移、つまり、実環境において探索が十分でない状態遷移を表していることもある。このため、ばらつき度に基づき候補アクションを選択することによって、探索が十分でない状態遷移(つまり、状態及びアクションの組み合わせ)を積極的に探索することができる。よって、効率的に探索を行なうことができる。さらに、探索が十分でない状態遷移を積極的に探索することができるので、遷移情報ユニットの訓練を効率的に行うことができる。
<第2実施形態>
第2実施形態は、より具体的な実施形態に関する。
<制御装置の概要>
図2は、第2実施形態の演算装置30を含む制御装置20の一例を示すブロック図である。図2には、制御装置20の他に、指令実行装置50及び制御対象60が図示されている。
たとえば、制御対象60が車両である場合に、制御装置20は、たとえば、エンジンの回転数や、車両の速度や、周囲の状況等の観測値(特徴量)に基づき、ハンドルを右に回す、アクセルを踏む、ブレーキを踏む等のアクションを決定する。指令実行装置50は、演算装置30によって決定されたアクションに従いアクセル、ハンドル、または、ブレーキを制御する。
たとえば、制御対象60が発電機である場合に、制御装置20は、たとえば、タービンの回転数や、燃焼炉の温度や、燃焼炉の圧力等の観測値に基づき、燃料の量を増やす、燃料の量を減らす等のアクションを決定する。指令実行装置50は、制御装置20によって決定されたアクションに従い燃料の量を調整するバルブを閉める、あるいは、バルブを開く等の制御を実行する。
制御対象60は、上述した例に限定されず、たとえば、生産工場や、化学工場であってもよいし、車両の動作や、発電機における動作などをシミュレーションしているシミュレータ等であってもよい。
観測値に基づきアクションを決定する処理については、図3を参照しながら後述する。
制御装置20は、後述するような、「処理フェーズ1」、「処理フェーズ2」、及び「処理フェーズ3」を実行する。制御装置20は、これらの処理を実行することによって、制御対象60の状態(state)が、より早期に所望状態に近付くようアクションを決定する。この際に、制御装置20は、制御対象60の状態に対して実行するアクションを、方策(Policy)情報と、報酬(reward)情報とに基づき決定する。
方策情報は、制御対象60がある状態である場合に、実行可能なアクションを表す。方策情報は、たとえば、該ある状態と、該アクションとが関連付けされた情報を用いて実現することができる。方策情報は、たとえば、該ある状態を与えた場合に該アクションを算出する処理であってもよい。当該処理は、たとえば、ある関数、または、統計的な手法によって算出された、当該ある状態と、当該アクションとの関係性を表すモデルであってもよい。すなわち、方策情報は、上述した例に限定されない。
報酬情報は、ある状態が望ましい程度(以降、「報酬程度」と表す)を表す。報酬情報は、たとえば、該ある状態と、該程度とが関連付けされた情報を用いて実現することができる。報酬情報は、たとえば、該ある状態を与えた場合に該報酬程度を算出する処理であってもよい。当該処理は、たとえば、ある関数、または、統計的な手法によって算出された、当該ある状態と、当該報酬程度との関係性を表すモデルであってもよい。すなわち、報酬情報は、上述した例に限定されない。
以降の説明においては、説明の便宜上、制御対象60は、車両や、発電機等(以降、「実環境」と表す)であるとする。あるタイミング(以降、「第1タイミング」と表す)における制御対象60の状態を「第1状態」と表す。あるタイミングの次のタイミング(以降、「第2タイミング」と表す)における制御対象60の状態を「第2状態」と表す。制御対象60の状態は、第1状態に応じたアクションが実施された後に第2状態に変化するとする。また、第1状態と、第2状態とは、必ずしも、相互に異なる状態である必要はなく、同じ状態を表していてもよい。以降の説明においては、説明の便宜上、第1状態と、第2状態との異同によらずに、「第1状態から第2状態に変化する」と表すこととする。
制御装置20は、複数のタイミングに関して、制御対象60の観測値を参照しながら、処理フェーズ1乃至処理フェーズ3にて後述するような処理を実行することによって、タイミングごとにアクションを決定する。すなわち、制御装置20は、第1タイミングに関して処理を実行した後に、第2タイミングに関して処理を実行し、さらに、第2タイミングより後のタイミングに関しても処理を実行する。したがって、第1タイミング、及び、第2タイミングは、特定のタイミングを表しているわけではなく、制御装置20における処理に関して連続している2つのタイミングを表している。
(処理フェーズ1)
制御装置20は、状態遷移情報(後述する)に基づき第1状態である制御対象60に関して、アクションを実行した後の制御対象60の第2状態を推定する。制御装置20は、複数の候補アクションに関して、それぞれ、第2状態を推定する処理を実行する。その後、制御装置20は、報酬情報を用いて、推定した各第2状態に関する報酬程度を算出する。制御装置20は、複数の候補アクションの中から、算出した報酬程度が上位の候補アクションのうちの1つアクションを選択する。制御装置20は、複数の候補アクションの中から、算出した報酬程度が最も大きなアクションを1つ選択してもよい。制御装置20は、選択したアクションを示す制御指令を、指令実行装置50へ出力する。
上位は、たとえば、報酬程度が最も大きいものから、報酬程度が大きい順に数えて、1%、5%、または、10%等の所定の割合以内であることを表している。
ここで、状態遷移情報について説明する。状態遷移情報は、第1状態と、第2状態との間の関係性を表す情報である。状態遷移情報は、第1状態と、第2状態とが関連付けされた情報であってもよいし、第1状態と、第2状態とが関連付けされた訓練データを用いたニューラルネットワーク等の統計的な手法によって算出された情報であってもよい。状態遷移情報は、さらに、第1状態にて実行可能なアクションを表す情報を含んでいてもよく、上述した例に限定されない。
指令実行装置50は、制御装置20によって制御指令を受け取り、受け取った該制御指令が示すアクションを、制御対象60に関して実行する。この結果、制御対象60の状態は、第1状態から第2状態に変化する。
説明の便宜上、制御対象60には、制御対象60を観測しているセンサー(図示せず)が取り付けられているとする。センサーは、制御対象60に関して観測した観測値を表すセンサー情報を作成し、作成したセンサー情報を出力するとする。制御対象60を観測しているセンサーは、複数であってもよい。
制御装置20は、第1状態に関するアクションが実行された後に、センサーによって作成された該センサー情報を受け取り、受け取った該センサー情報に関する第2状態を決定する。制御装置20は、該第1状態と、該アクションと、該第2状態とが関連付けされた情報(以降、「履歴情報」と表す)を作成する。制御装置20は、作成した履歴情報を、後述する履歴情報記憶部41に格納してもよい。
処理フェーズ1に関して上述したような処理が、複数のタイミングに関して実行されることにより、後述する履歴情報記憶部41には、複数のタイミングにおける履歴情報が蓄積される。
(処理フェーズ2)
制御装置20は、処理フェーズ1にて蓄積された履歴情報を用いて、状態遷移情報を更新する(または、作成する)。状態遷移情報を、ニューラルネットワークを用いて作成する場合に、制御装置20は、上述したような履歴情報に含まれているデータを訓練データとして用いて、当該状態遷移情報を作成する。後述するように、制御装置20は、たとえば、構成が相互に異なっているニューラルネットワークを用いて、複数の状態遷移情報を作成する。
(処理フェーズ3)
制御装置20は、複数の候補アクションについて、候補アクションをそれぞれ対象に関して施した後における第2状態を、状態遷移情報に基づき予測する。制御装置20は、相互に異なる状態遷移情報(すなわち、各遷移情報ユニット)を用いることによって、複数の第2状態を予測する。説明の便宜上、第2状態と、予測された第2状態とを区別するため、予測された第2状態を「擬似状態」と表す。すなわち、制御装置20は、相互に異なる状態遷移情報(すなわち、各遷移情報ユニット)を用いることによって、擬似状態を作成する。
状態遷移情報を、ニューラルネットワークを用いて作成する場合に、制御装置20は、第1状態、及び、当該第1状態における候補アクションを表す情報のうち、少なくともいずれかに対して当該状態遷移情報を適用することによって、該擬似状態を作成する。
処理フェーズ3に関して上述した処理によって、制御装置20は、各候補アクションに関して、複数の擬似状態を作成する。制御装置20は、各候補アクションに関して、複数の擬似状態のばらつき度を算出する。
制御装置20は、複数の候補アクションの中から、該ばらつき度に基づきアクションを選択する。制御装置20は、複数の候補アクションの中から、算出したばらつき度が上位である候補アクションを特定し、特定した候補アクションの中からアクションを選択する。制御装置20は、たとえば、複数の候補アクションの中から、算出したばらつき度が最も大きな候補アクションを選択してもよい。
上位は、たとえば、ばらつき度が最も大きいものから、ばらつき度が大きい順に数えて、1%、5%、または、10%等の所定の割合以内であることを表している。
制御装置20は、報酬情報を用いて、1つのアクション後の擬似状態における報酬程度を求め、求めた報酬程度と、当該1つのアクションに対するばらつき度とに基づき、アクションを選択してもよい。
擬似状態が複数である場合に、制御装置20は、たとえば、各擬似状態に関する報酬程度の平均(または、中央値)を求めることによって、アクションに関する報酬程度を求める。または、制御装置20は、たとえば、各擬似状態の頻度が上位の状態を求め、求めた状態に関する報酬程度の平均(または、中央値)を求めることによって、アクションに関する報酬程度を求める。この場合に、上位は、たとえば、頻度が最も高いものから、頻度が高い順に数えて、1%、5%、または、10%等の所定の割合以内であることを表している。アクションに関する報酬程度を求める処理は、上述した例に限定されない。
また、1つのアクションに関する報酬程度と、該1つのアクションに関するばらつき度とに基づき、アクションを選択する処理は、たとえば、該報酬程度と、該ばらつき度とを足し算してもよいし、該報酬程度と、該ばらつき度との重み付き平均を算出してもよい。アクションを選択する処理は、上述した例に限定されない。
制御装置20は、アクションを選択した後に、選択したアクションを示す制御指令を指令実行装置50へ出力する。指令実行装置50は、受け取った制御指令が示すアクションを制御対象60に関して実行する。
<制御装置の構成例>
図2において制御装置20は、演算装置30と、記憶装置40とを有している。演算装置30は、状態推定部31と、状態遷移情報更新部(状態遷移情報作成部)32と、制御指令演算部33と、予測状態決定部11と、ばらつき度算出部12と、候補アクション選択部13とを有している。記憶装置40は、履歴情報記憶部41と、状態遷移情報記憶部42と、方策情報記憶部43とを有している。
(処理フェーズ1)
状態推定部31は、制御対象60の第1状態を表す観測値(パラメタ値、センサー情報)を受け取る。状態推定部31は、受け取ったセンサー情報と、状態遷移情報とに基づき、第1状態である制御対象60に関してアクションを実行した後の制御対象60の第2状態を推定する。状態推定部31は、複数の候補アクションにおけるアクションに関して、それぞれ、第2状態を推定する処理を実行する。すなわち、状態推定部31は、各候補アクションに関して擬似状態を作成する。
制御指令演算部33は、報酬情報を用いて、状態推定部31によって作成された各擬似状態に関する報酬程度を算出する。制御指令演算部33は、複数の候補アクションの中から、算出した報酬程度が上位の候補アクションのうちの1つアクションを選択する。制御指令演算部33は、選択したアクションを示す制御指令を作成し、作成した制御指令を指令実行装置50へ出力する。
指令実行装置50は、制御指令を受け取り、受け取った制御指令が示すアクションに従い、制御対象60に関するアクションを実行する。制御対象60に関するアクションの結果、制御対象60の状態は、第1状態から第2状態に変化する。
状態推定部31は、制御対象60の状態(この場合、第2状態)を表す観測値(パラメタ値、センサー情報)を受け取る。状態推定部31は、第1状態と、第1状態にて実行されたアクションと、該第2状態とが関連付けされた履歴情報を作成し、作成した履歴情報を履歴情報記憶部41に格納する。
処理フェーズ1に関して上述したような処理を繰り返すことによって、履歴情報記憶部41には、上記の履歴情報が蓄積される。
(処理フェーズ2)
説明の便宜上、ニューラルネットワーク等の統計的な手法(所定の処理手順)を用いて状態遷移情報を作成する例を用いて、処理フェーズ2における処理を説明する。所定の処理手順は、例えば、ニューラルネット等の機械学習法に従った手順である。
状態遷移情報更新部32は、履歴情報記憶部41に蓄積されている履歴情報を用いて、所定の処理手順に従って、複数の遷移情報ユニットを作成する。すなわち、状態遷移情報更新部32は、該履歴情報を訓練データとして、所定の処理手順に従い状態遷移情報を作成し、作成した状態遷移情報を状態遷移情報記憶部42に格納する。上述したように、状態遷移情報は、第1状態と、第2状態との関係性を表す。
例えば、状態遷移情報更新部32は、構成が互いに異なる複数のニューラルネットを用いて、複数の遷移情報ユニットを作成してもよい。構成が互いに異なる複数のニューラルネットは、例えば、互いにノードの数又はノード間の接続パタンが異なる複数のニューラルネットである。また、互いに構成の異なる複数のニューラルネットは、あるニューラルネットワークと、当該あるニューラルネットワークにおける一部のノードが存在していない(すなわち、一部のノードがドロップアウトしている)ニューラルネットワークとを用いて実現されていてもよい。
状態遷移情報更新部32は、パラメタの初期値が異なる複数のニューラルネットを用いて、複数の遷移情報ユニットを作成してもよい。
状態遷移情報更新部32は、履歴情報のうちの一部のデータ、または、履歴情報から重複を許してサンプリングしたものを訓練データとして用いてもよい。この場合に、複数の遷移情報ユニットは、相互に異なる訓練データに対して状態遷移情報を作成する。
なお、所定の処理手順は、ニューラルネットに限定されない。例えば所定の処理手順は、SVM(support vector machine)、ランダムフォレスト、バギング(bootstrap aggregating)、又は、ベイジアンネットワークを算出する手順であってもよい。
(処理フェーズ3)
予測状態決定部11は、複数の候補アクションについて、候補アクションをそれぞれ対象に関して施した後における第2状態を、状態遷移情報に基づき予測する。予測状態決定部11は、相互に異なる状態遷移情報(すなわち、各遷移情報ユニット)を用いることによって、複数の擬似状態を作成する。
ばらつき度算出部12は、予測状態決定部11によって作成された複数の疑似状態のばらつき度(たとえば、分散値、エントロピー等)を算出し、算出したばらつき度を候補アクション選択部13へ出力する。ばらつき度は、たとえば、分散値にある数を加えた値等であってもよく、上述した例に限定されない。
候補アクション選択部13は、複数の候補アクションの中から、該ばらつき度に基づきアクションを選択する。候補アクション選択部13は、複数の候補アクションの中から、算出したばらつき度が上位である候補アクションを特定し、特定した候補アクションの中からアクションを選択する。候補アクション選択部13は、たとえば、複数の候補アクションの中から、算出したばらつき度が最も大きな候補アクションを選択してもよい。
制御指令演算部33は、候補アクション選択部13が選択したアクションを示す制御指令を作成し、作成した制御指令を指令実行装置50へ出力する。
上述したように候補アクション選択部13は、ばらつき度が大きいアクションを選択する。ばらつき度は、状態遷移情報に従い算出された結果がばらついていることを表している。このため、ばらつき度が大きい場合には、状態遷移情報が不安定であることを表しているということもできる。すなわち、ばらつき度が大きいアクションを実行することによって、探索が十分でない状態遷移を積極的に探索することができるという効果を奏する。
候補アクション選択部13は、状態価値情報に基づき、状態に関する価値の程度を表す状態価値情報を作成してもよい。状態価値情報は、たとえば、状態に対して、当該状態の価値の程度を表す関数である。この場合に、価値は、当該状態を実現することが望ましい程度を表す情報であるとも言うことができる。状態価値情報は、アクション後における制御対象60の状態がどの程度望ましいのかを表す情報ともいうことができる。状態価値情報は、また、当該アクションがどの程度の望ましいのかを表す情報ともいうことができる。
候補アクション選択部13は、状態価値情報を作成する処理において、報酬情報を用いてもよい。たとえば、候補アクション選択部13は、各アクションに関して算出されたばらつき度を、新たに、状態価値情報として設定してもよい。たとえば、候補アクション選択部13は、各アクションに関して算出されたばらつき度を状態価値情報として設定し、その後、当該アクションに関する報酬情報を加える等の処理を実行することによって、状態価値情報を更新してもよい。この場合に、ばらつき度は、報酬情報に対する追加的な報酬(疑似追加報酬)であるともいうことができる。
状態価値情報を作成する処理は、上述した例に限定されず、たとえば、報酬情報に所定の値を加算した値、報酬情報に所定の値を減算した値、または、報酬情報に所定の値を乗算した値等に基づき実行されてもよい。すなわち、ばらつき度が大きいほど、状態価値情報は、価値の程度が高いことを表す情報であればよい。
候補アクション選択部13は、状態価値情報に基づき、複数の候補アクションの中から、該価値の程度が上位の候補アクションを選択し、選択した候補アクションからアクションを選択してもよい。候補アクション選択部13は、たとえば、算出した価値が最も高い候補アクションを選択してもよい。この場合に、上位は、たとえば、価値の程度が最も高いものから価値の程度が高い順に数えて、1%、5%、または、10%等の所定の割合以内であることを表している。
制御指令が作成された後に、指令実行装置50は、該制御指令を受け取り、受け取った制御指令が示すアクションに従い、制御対象60に関するアクションを実行する。制御対象60に関するアクションの結果、制御対象60の状態は、第1状態から第2状態に変化する。
状態推定部31は、制御対象60の状態(この場合、第2状態)を表す観測値(パラメタ値、センサー情報)を受け取る。状態推定部31は、第1状態と、第1状態にて実行されたアクションと、該第2状態とが関連付けされた履歴情報を作成し、作成した履歴情報を履歴情報記憶部41に格納する。
処理フェーズ3に関して上述したような処理が、複数のタイミングに関して実行されることにより、履歴情報記憶部(不図示)には、複数のタイミングにおける履歴情報が蓄積される。
<制御装置の動作例>
以上の構成を有する演算装置30の処理動作の一例について説明する。図3は、第2実施形態の演算装置の処理動作の一例を示すフローチャートである。図3に示すフローチャートにおいて、ステップS101は、上記の処理フェーズ1に対応し、ステップS102は、処理フェーズ2に対応し、ステップS103,S104は、処理フェーズ3に対応する。
演算装置30は、履歴情報が蓄積されるまで、処理フェーズ1及び処理フェーズ2、または、処理フェーズ3及び処理フェーズ2のうち、少なくとも、いずれかの処理を繰り返すことによって、履歴情報を取得する(ステップS101)。
演算装置30は、処理フェーズ2に示された処理に従い、状態遷移情報を更新する(ステップS102)。
演算装置30は、処理フェーズ3にて上述した処理に従い、ばらつき度を算出する(ステップS103)。
演算装置30は、履歴情報に基づき方策情報を更新する(ステップS104)。具体的には、演算装置30は、履歴情報に基づき、第1状態と、当該第1状態にて実行したアクションと、第2状態と特定し、特定したこれらの情報を用いて、方策情報を更新する。そして、処理ステップは、ステップS101(処理フェーズ1)に戻る。
なお、以上の説明では、演算装置30が、処理フェーズ3にて、履歴情報を蓄積してから方策情報を更新し、その後直ぐに、処理フェーズ1に戻るものとして説明した。説明の便宜上、本実施形態においては、図3を参照しながら上述した処理を、「バッチ学習」と記載する。
すなわち、バッチ学習は、ある程度(説明の便宜上、「第1蓄積程度」と称する)の履歴情報が蓄積されてから、該履歴情報を用いて方策情報を更新(または、作成)する処理を表す。第1蓄積程度は、履歴が複数であることを表している。ただし、演算装置30における処理は、上述したバッチ学習に限定されず、例えば、方策情報は、オンライン学習によって更新(または、作成)されてもよい、ミニバッチ学習によって更新(または、作成)されてもよい。
オンライン学習は、履歴情報に履歴が1つ追加されるごとに、該履歴情報を用いて方策情報を更新(または、作成)する処理を表す。
ミニバッチ学習は、ある程度(説明の便宜上、「第2蓄積程度」と称する)の履歴情報が蓄積されてから、該履歴情報を用いて方策情報を更新(または、作成)する処理を表す。第2蓄積程度は、履歴が複数であることを表している。ミニバッチ学習は、バッチ学習と類似した処理である。しかし、第2蓄積程度は、第1蓄積程度に比べて少ない。
第1蓄積程度、及び、第2蓄積程度は、必ずしも、処理フェーズ1乃至処理フェーズ3に示された反復処理ごとに一定の程度でなくともよく、該反復処理ごと異なる個数を表していてもよい。
オンライン学習の場合、履歴情報を取得する度に方策情報を更新して、ステップS101(処理フェーズ1)へ戻るように、修正されてもよい。すなわち、オンライン学習の場合には、候補アクション選択部13は、第2状態に関するセンサー情報が届く度に、ポリシーモデルを更新する。
「ミニバッチ学習」は、方策情報の更新タイミング以外は、上記「オンライン学習」の処理動作と変わらない。すなわち、「ミニバッチ学習」にて一度の方策情報の更新に用いられる履歴情報量は、「オンライン学習」よりも多いので、「ミニバッチ学習」における方策情報の更新周期は、「オンライン学習」よりも長くなる。
<第3実施形態>
第3実施形態は、より具体的な実施形態に関する。すなわち、第3実施形態は、第2実施形態のバリエーションに関する。
<制御装置の概要>
図4は、第3実施形態の演算装置80を含む制御装置70の一例を示すブロック図である。図4には、制御装置70の他に、図2と同様に指令実行装置50及び制御対象60が図示されている。
制御装置70は、後述するような、「処理フェーズ1」、「処理フェーズ2」、及び「処理フェーズ3」を実行する。制御装置70は、これらの処理を実行することによって、制御対象60の状態(state)が、より早期に所望状態に近付くよう、方策情報を学習する。
方策情報は、制御対象60がある状態である場合に、実行可能なアクションを表す。方策情報は、たとえば、該ある状態と、該アクションとが関連付けされた情報を用いて実現することができる。方策情報は、たとえば、該ある状態を与えた場合に該アクションを算出する処理であってもよい。当該処理は、たとえば、ある関数、または、統計的な手法によって算出された、当該ある状態と、当該アクションとの関係性を表すモデルであってもよい。すなわち、方策情報は、上述した例に限定されない。
以降の説明においては、説明の便宜上、制御対象60は、車両や、発電機等(以降、「実環境」と表す)であるとする。あるタイミング(以降、「第1タイミング」と表す)における制御対象60の状態を「第1状態」と表す。あるタイミングの次のタイミング(以降、「第2タイミング」と表す)における制御対象60の状態を「第2状態」と表す。制御対象60の状態は、第1状態に応じたアクションが実施された後に第2状態に変化するとする。また、第1状態と、第2状態とは、必ずしも、相互に異なる状態である必要はなく、同じ状態を表していてもよい。以降の説明においては、説明の便宜上、第1状態と、第2状態との異同によらずに、「第1状態から第2状態に変化する」と表すこととする。
制御装置70は、後述する「処理フェーズ1」にて、複数のタイミングに関して、制御対象60の状態を参照しながら後述するような処理を実行することによって、タイミングごとにアクションを決定する。すなわち、制御装置70は、第1タイミングに関して処理を実行した後に、第2タイミングに関して処理を実行し、さらに、第2タイミングより後のタイミングに関しても処理を実行する。したがって、第1タイミング、及び、第2タイミングは、特定のタイミングを表しているわけではなく、制御装置70における処理に関して連続している2つのタイミングを表している。
(処理フェーズ1)
制御装置70は、第1状態である制御対象60に関して、第1状態と方策情報とに基づきアクションを決定し、決定したアクションを示す制御指令を、指令実行装置50へ出力する。
指令実行装置50は、制御装置70によって制御指令を受け取り、受け取った該制御指令が示すアクションを、制御対象60に関して実行する。この結果、制御対象60の状態は、第1状態から第2状態に変化する。
説明の便宜上、制御対象60には、制御対象60を観測しているセンサー(図示せず)が取り付けられているとする。センサーは、制御対象60に関して観測した観測値を表すセンサー情報を作成し、作成したセンサー情報を出力するとする。制御対象60を観測しているセンサーは、複数であってもよい。
制御装置70は、第1状態に関するアクションが実行された後に、センサーによって作成された該センサー情報を受け取り、受け取った該センサー情報に関する第2状態を推定する。制御装置70は、該第1状態と、該アクションと、該第2状態とが関連付けされた情報(以降、「履歴情報」と表す)を作成する。制御装置70は、作成した履歴情報を、後述する履歴情報記憶部91に格納してもよい。
処理フェーズ1に関して上述したような処理が、複数のタイミングに関して実行されることにより、後述する履歴情報記憶部41には、複数のタイミングにおける履歴情報が蓄積される。
(処理フェーズ2)
制御装置70は、処理フェーズ1にて蓄積された履歴情報を用いて、状態遷移情報を更新する(または、作成する)。状態遷移情報を、ニューラルネットワークを用いて作成する場合に、制御装置70は、上述したような履歴情報に含まれているデータを訓練データとして用いて、当該状態遷移情報を作成する。後述するように、制御装置70は、たとえば、構成が相互に異なっているニューラルネットワークを用いて、複数の状態遷移情報を作成する。
ここで、状態遷移情報について説明する。状態遷移情報は、第1状態と、第2状態との間の関係性を表す情報であり、たとえば、制御対象60の状態遷移(つまり、アクションによる第1状態から第2状態への状態遷移)を、履歴情報を用いてモデル化したものである。すなわち、状態遷移情報を用いることにより、第1状態とアクションとの組み合わせに対応する第2状態を予測することができる。以降、制御対象60の第1状態及び第2状態と区別するために、状態遷移情報の第1状態及び第2状態を、「第1疑似状態」及び「第2疑似状態」と表すことがある。また、「第2疑似状態」を「予測状態」と表すことがある。
(処理フェーズ3)
制御装置70は、状態遷移情報に基づき、第1疑似状態にて可能な複数の「候補アクション」のそれぞれに関して複数の「予測状態」を決定する。制御装置70は、相互に異なる状態遷移情報(すなわち、各遷移情報ユニット)を用いることによって、複数の第2疑似状態を作成する。
状態遷移情報を、ニューラルネットワークを用いて作成する場合に、制御装置70は、第1疑似状態、及び、当該第1疑似状態における候補アクションを表す情報に対して当該状態遷移情報を適用することによって、第2擬似状態を作成する。
処理フェーズ3に関して上述した処理によって、制御装置70は、各候補アクションに関して、複数の予測状態を作成する。制御装置70は、各候補アクションに関して、複数の予測状態のばらつき度を算出する。
制御装置70は、複数の候補アクションの中から、該ばらつき度に基づきアクションを選択する。この選択されたアクションは、後述するように、方策情報の更新に用いられるので、以降、「更新使用アクション」と表すことがある。制御装置70は、複数の候補アクションの中から、算出したばらつき度が上位である候補アクションを特定し、特定した候補アクションの中から更新使用アクションを選択する。制御装置70は、たとえば、複数の候補アクションの中から、算出したばらつき度が最も大きな候補アクションを選択してもよい。
上位は、たとえば、ばらつき度が最も大きいものから、ばらつき度が大きい順に数えて、1%、5%、または、10%等の所定の割合以内であることを表している。
制御装置70は、報酬情報を用いて、1つの候補アクション後の予測状態における報酬程度を求め、求めた報酬程度と、当該1つの候補アクションに対するばらつき度とに基づき、更新使用アクションを選択してもよい。報酬情報は、ある状態が望ましい程度(つまり、「報酬程度」)を表す。報酬情報は、たとえば、該ある状態と、該程度とが関連付けされた情報を用いて実現することができる。報酬情報は、たとえば、該ある状態を与えた場合に該報酬程度を算出する処理であってもよい。当該処理は、たとえば、ある関数、または、統計的な手法によって算出された、当該ある状態と、当該報酬程度との関係性を表すモデルであってもよい。すなわち、報酬情報は、上述した例に限定されない。
予測状態が複数である場合に、制御装置70は、たとえば、各予測状態に関する報酬程度の平均(または、中央値)を求めることによって、候補アクションに関する報酬程度を求める。または、制御装置70は、たとえば、各予測状態の頻度が上位の状態を求め、求めた状態に関する報酬程度の平均(または、中央値)を求めることによって、候補アクションに関する報酬程度を求める。この場合に、上位は、たとえば、頻度が最も高いものから、頻度が高い順に数えて、1%、5%、または、10%等の所定の割合以内であることを表している。候補アクションに関する報酬程度を求める処理は、上述した例に限定されない。
また、1つの候補アクションに関する報酬程度と、該1つの候補アクションに関するばらつき度とに基づき、更新使用アクションを選択する処理は、たとえば、該報酬程度と、該ばらつき度とを足し算してもよいし、該報酬程度と、該ばらつき度との重み付き平均を算出してもよい。更新使用アクションを選択する処理は、上述した例に限定されない。
制御装置70は、更新使用アクションに基づき、方策情報を更新する。たとえば、制御装置70は、更新使用アクションが処理フェーズ1にて確定的に又は他のアクションに比べて高い確率で選択されるように、方策情報を更新する。この更新された方策情報は、処理フェーズ1にて用いられることになる。
<制御装置の構成例>
図4において制御装置70は、演算装置80と、記憶装置90とを有している。演算装置30は、状態推定部81と、状態遷移情報更新部(状態遷移情報作成部)82と、制御指令演算部83と、予測状態決定部11と、ばらつき度算出部12と、候補アクション選択部13とを有している。記憶装置90は、履歴情報記憶部91と、状態遷移情報記憶部92と、方策情報記憶部93とを有している。以降、制御装置70の構成を処理フェーズ毎に説明する。
(処理フェーズ1)
状態推定部81は、制御対象60の状態を表す観測値(パラメタ値、センサー情報)を受け取る。状態推定部81は、受け取った観測値(パラメタ値、センサー情報)に基づき、制御対象60の状態を推定する。
制御指令演算部83は、状態推定部81に推定された状態と方策情報記憶部93に記憶されている方策情報とに基づきアクションを決定し、決定したアクションを示す制御指令を、指令実行装置50へ出力する。指令実行装置50は、制御装置70によって制御指令を受け取り、受け取った該制御指令が示すアクションを、制御対象60に関して実行する。この結果、制御対象60の状態は、第1状態から第2状態に変化する。
状態推定部81は、制御対象60の状態(この場合、第2状態)を表す観測値(パラメタ値、センサー情報)を受け取る。状態推定部81は、第1状態と、第1状態にて実行されたアクションと、該第2状態とが関連付けされた履歴情報を作成し、作成した履歴情報を履歴情報記憶部91に格納する。
処理フェーズ1に関して上述したような処理を繰り返すことによって、履歴情報記憶部91には、上記の履歴情報が蓄積される。
(処理フェーズ2)
説明の便宜上、ニューラルネットワーク等の統計的な手法(所定の処理手順)を用いて状態遷移情報を作成する例を用いて、処理フェーズ2に対応する制御装置70の構成について説明する。所定の処理手順は、例えば、ニューラルネット等の機械学習法に従った手順である。
状態遷移情報更新部82は、履歴情報記憶部91に蓄積されている履歴情報を用いて、所定の処理手順に従って、複数の状態遷移情報を作成する。すなわち、状態遷移情報更新部82は、該履歴情報を訓練データとして、所定の処理手順に従い状態遷移情報を作成し、作成した状態遷移情報を状態遷移情報記憶部92に格納する。上述したように、状態遷移情報は、第1状態と、第2状態との関係性を表す。
たとえば、状態遷移情報更新部82は、構成が互いに異なる複数のニューラルネットを用いて、複数の遷移情報ユニットを作成してもよい。構成が互いに異なる複数のニューラルネットは、例えば、互いにノードの数又はノード間の接続パタンが異なる複数のニューラルネットである。また、互いに構成の異なる複数のニューラルネットは、あるニューラルネットワークと、当該あるニューラルネットワークにおける一部のノードが存在していない(すなわち、一部のノードがドロップアウトしている)ニューラルネットワークとを用いて実現されていてもよい。
状態遷移情報更新部82は、パラメタの初期値が異なる複数のニューラルネットを用いて、複数の遷移情報ユニットを作成してもよい。
状態遷移情報更新部82は、履歴情報のうちの一部のデータ、または、履歴情報から重複を許してサンプリングしたものを訓練データとして用いてもよい。この場合に、複数の遷移情報ユニットは、相互に異なる訓練データに対して状態遷移情報を作成する。
なお、所定の処理手順は、ニューラルネットに限定されない。例えば所定の処理手順は、SVM(support vector machine)、ランダムフォレスト、バギング(bootstrap aggregating)、又は、ベイジアンネットワークを算出する手順であってもよい。
(処理フェーズ3)
制御指令演算部83は、第1疑似状態にて可能な複数の候補アクションをそれぞれ示す複数の制御指令を予測状態決定部11へ出力する。
予測状態決定部11は、第1疑似状態にて可能な複数の候補アクションと状態遷移情報とに基づき、第1疑似状態にて可能な複数の「候補アクション」のそれぞれに関して複数の予測状態を決定する。制御装置70は、相互に異なる状態遷移情報(すなわち、各遷移情報ユニット)を用いることによって、各候補アクションに関して複数の第2疑似状態を作成する。
制御指令演算部83は、予測状態決定部11にて作成された各第2疑似状態を新たな第1疑似状態として、該第1疑似状態にて可能な複数の候補アクションをそれぞれ示す複数の制御指令を予測状態決定部11へ出力する。このとき、制御指令演算部83は、たとえば、予測状態決定部11にて複数の状態遷移情報のうちのある1つを用いて作成された各第2状態情報を新たな第1疑似状態としてもよい。
上述したような制御指令演算部83と予測状態決定部11との遣り取りによって、候補アクション選択部13には、第1疑似状態、第2疑似状態、及び候補アクションの各組み合わせに対応する、ばらつき度が蓄積されることになる。
ばらつき度算出部12は、予測状態決定部11によって作成された複数の予測状態のばらつき度(たとえば、分散値、エントロピー等)を算出し、算出したばらつき度を候補アクション選択部13へ出力する。ばらつき度は、たとえば、分散値にある数を加えた値等であってもよく、上述した例に限定されない。
候補アクション選択部13は、複数の候補アクションの中から、該ばらつき度に基づき更新使用アクションを選択する。候補アクション選択部13は、たとえば、複数の候補アクションの中から、算出したばらつき度が上位である候補アクションを特定し、特定した候補アクションの中から更新使用アクションを選択する。候補アクション選択部13は、たとえば、複数の候補アクションの中から、算出したばらつき度が最も大きな候補アクションを選択してもよい。
候補アクション選択部13は、更新使用アクションに基づき、方策情報を更新する。たとえば、候補アクション選択部13は、処理フェーズ1にて制御指令演算部83によって更新使用アクションが確定的に又は他の候補アクションに比べて高い確率で選択されるように、方策情報記憶部93に記憶されている方策情報を更新する。
上述したように候補アクション選択部13は、ばらつき度が大きい候補アクションを選択する。ばらつき度は、状態遷移情報に従い算出された結果がばらついていることを表している。このため、ばらつき度が大きい場合には、状態遷移情報が不安定であることを表しているということもできる。すなわち、ばらつき度が大きいアクションを実行することによって、探索が十分でない状態遷移を積極的に探索することができるという効果を奏する。
候補アクション選択部13は、状態価値情報に基づき、状態に関する価値の程度を表す状態価値情報を作成してもよい。状態価値情報は、たとえば、状態に対して、当該状態の価値の程度を表す関数である。この場合に、価値は、当該状態を実現することが望ましい程度を表す情報であるとも言うことができる。状態価値情報は、アクション後における制御対象60の状態がどの程度望ましいのかを表す情報ともいうことができる。状態価値情報は、また、当該アクションがどの程度の望ましいのかを表す情報ともいうことができる。
候補アクション選択部13は、状態価値情報を作成する処理において、報酬情報を用いてもよい。たとえば、候補アクション選択部13は、各候補アクションに関して算出されたばらつき度を、新たに、状態価値情報として設定してもよい。たとえば、候補アクション選択部13は、各候補アクションに関して算出されたばらつき度を状態価値情報として設定し、その後、当該候補アクションに関する報酬情報を加える等の処理を実行することによって、状態価値情報を更新してもよい。この場合に、ばらつき度は、報酬情報に対する追加的な報酬(疑似追加報酬)であるともいうことができる。
状態価値情報を作成する処理は、上述した例に限定されず、たとえば、報酬情報に所定の値を加算した値、報酬情報に所定の値を減算した値、または、報酬情報に所定の値を乗算した値等に基づき実行されてもよい。すなわち、ばらつき度が大きいほど、状態価値情報は、価値が高いことを表す情報であればよい。
候補アクション選択部13は、状態価値情報に基づき、複数の候補アクションの中から、該価値の程度が上位の候補アクションを選択し、選択した候補アクションから更新使用アクションを選択してもよい。候補アクション選択部13は、たとえば、算出した価値が最も高い候補アクションを選択してもよい。この場合に、上位は、たとえば、価値の程度が最も高いものから価値の程度が高い順に数えて、1%、5%、または、10%等の所定の割合以内であることを表している。
<制御装置の動作例>
以上の構成を有する演算装置80の処理動作の一例について説明する。図5は、第3実施形態の演算装置の処理動作の一例を示すフローチャートである。図5に示すフローチャートにおいて、ステップS201は、上記の処理フェーズ1に対応し、ステップS202は、処理フェーズ2に対応し、ステップS203,S204は、処理フェーズ3に対応する。
演算装置80は、履歴情報が蓄積されるまで、処理フェーズ1に示された処理を繰り返すことによって、履歴情報を取得する(ステップS201)。
演算装置80は、処理フェーズ2に示された処理によって、状態遷移情報を更新する(ステップS202)。
演算装置80は、ばらつき度が蓄積されるまで、処理フェーズ3に示された処理によって、ばらつき度を算出する(ステップS203)。
演算装置80は、ばらつき度に基づき方策情報を更新する(ステップS204)。そして、処理ステップは、ステップS201(処理フェーズ1)に戻る。
なお、以上の説明では、演算装置80が、処理フェーズ3にて、ばらつき度を蓄積してから方策情報を更新し、その後直ぐに、処理フェーズ1に戻るものとして説明した。すなわち、以上の説明では、方策情報がバッチ学習されるケースを例にとり説明したが、これに限定されるものではない。例えば、方策情報は、オンライン学習されてもよいし、ミニバッチ学習されてもよい。
「オンライン学習」の場合、図5のフローチャートは、ステップS203,S204の処理を繰り返しループとし、該ループが所定回数繰り返されたことを条件に、ステップS201(処理フェーズ1)へ戻るように、修正されてもよい。すなわち、「オンライン学習」の場合、候補アクション選択部13は、ばらつき度が届く度に、方策情報を更新することになる。
「ミニバッチ学習」の場合、図5のフローチャートは、「オンライン学習」の場合と同様に、ステップS203,S204の処理を繰り返しループとし、該ループが所定回数繰り返されたことを条件に、ステップS201(処理フェーズ1)へ戻るように、修正されてもよい。ただし、「ミニバッチ学習」の場合、候補アクション選択部13は、「オンライン学習」の場合と異なり、複数個のばらつき度が蓄積されたタイミングで、方策情報を更新することになる。
<他の実施形態>
図6は、演算装置のハードウェア構成例を示す図である。図6において演算装置100は、プロセッサ101と、メモリ102とを含んでいる。第1実施形態及び第2実施形態で説明した演算装置10,30,80の状態推定部31,81と、状態遷移情報更新部(状態遷移情報作成部)32,82と、制御指令演算部33,83と、予測状態決定部11と、ばらつき度算出部12と、候補アクション選択部13とは、プロセッサ101がメモリ102に記憶されたプログラムを読み込んで実行することにより実現されてもよい。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、演算装置10,30,80に供給することができる。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によって演算装置10,30,80に供給されてもよい。
上述したような演算装置は、たとえば、製造工場における各装置を制御する制御装置としても機能することができる。この場合に、各製造工場には、各装置や、製造工場における状態(たとえば、気温、湿度、視界等)等を測定するセンサーが配置される。各センサーは、各装置や、製造工場における状態等を測定し、測定した状態を表す観測情報を作成する。この場合に、観測情報は、製造工場において観測される状態を表す情報である。
演算装置は、当該観測情報を受け取り、上述したような処理を行うことにより決定されたアクションに従い、各装置を制御する。たとえば、装置が、材料の量を調整するバルブである場合に、演算装置は、決定したアクションに従い、バルブを閉める、または、バルブを開ける等の制御を行う。または、装置が、温度を調整するヒータである場合に、演算装置は、決定したアクションに従い、設定温度を上げる、または、設定温度を下げる等の制御を行う。
製造工場における各装置を制御する例を参照しながら、制御例について説明したが、制御例は、上述した例に限定されない。たとえば、演算装置は、上述したような処理と同様な処理を行うことによって、化学工場における各装置を制御する制御装置、発電所における各装置を制御する制御装置としても機能することができる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10,30,80 演算装置(アクション決定装置)
11 予測状態決定部
12 ばらつき度算出部
13 候補アクション選択部
20,70 制御装置
31,81 状態推定部
32,82 状態遷移情報更新部(状態遷移情報作成部)
33,83 制御指令演算部
40,90 記憶装置
41,91 履歴情報記憶部
42,92 状態遷移情報記憶部
43,93 方策情報記憶部
50 指令実行装置
60 制御対象

Claims (10)

  1. 第1タイミングでの第1状態と、前記第1タイミング以降の第2タイミングでの第2状態との関係性を表す遷移情報を複数用いて、第1状態にて可能な複数の候補アクションのそれぞれに関して複数の第2状態を決定する決定手段と、
    各前記候補アクションに関して、前記複数の第2状態のばらつき度を算出する算出手段と、
    前記ばらつき度に基づき、前記複数の候補アクションから一部の候補アクションを選択する選択手段と、
    を具備する演算装置。
  2. 前記選択手段は、前記複数の候補アクションの中から、前記一部の候補アクションとして、前記ばらつき度が上位の前記候補アクションを選択する、
    請求項1に記載の演算装置。
  3. 前記選択手段は、前記一部の候補アクションとして、前記ばらつき度が最大の前記候補アクションを選択する、
    請求項1に記載の演算装置。
  4. 2つの状態と、該2つの状態間におけるアクションとが関連付けされたセットを含む履歴情報に基づき、所定の処理手順に従い、前記遷移情報を作成する作成手段をさらに具備する、
    請求項1乃至請求項3のいずれかに記載の演算装置。
  5. 前記所定の処理手順は、ニューラルネットを算出する手順である、
    請求項4に記載の演算装置。
  6. 前記作成手段は、複数の前記遷移情報を、互いに構成の異なる複数の前記ニューラルネットを用いて作成する、
    請求項5に記載の演算装置。
  7. 前記作成手段は、複数の前記遷移情報を、パラメタの初期値が異なる複数の前記ニューラルネットを用いて作成する、
    請求項5に記載の演算装置。
  8. 複数の前記遷移情報を、前記履歴情報のうちの互いに異なるセットを複数の前記ニューラルネットに入力することによって作成する、
    請求項5に記載の演算装置。
  9. 情報処理装置によって、第1タイミングでの第1状態と、前記第1タイミング以降の第2タイミングでの第2状態との関係性を表す遷移情報を複数用いて、第1状態にて可能な複数の候補アクションのそれぞれに関して複数の第2状態を決定し、
    各前記候補アクションに関して、前記複数の第2状態のばらつき度を算出し、
    前記ばらつき度に基づき、前記複数の候補アクションから一部の候補アクションを選択する、
    アクション決定方法。
  10. 第1タイミングでの第1状態と、前記第1タイミング以降の第2タイミングでの第2状態との関係性を表す遷移情報を複数用いて、第1状態にて可能な複数の候補アクションのそれぞれに関して複数の第2状態を決定し、
    各前記候補アクションに関して、前記複数の第2状態のばらつき度を算出し、
    前記ばらつき度に基づき、前記複数の候補アクションから一部の候補アクションを選択する、
    処理を、演算装置に実行させる制御プログラムを格納する非一時的なコンピュータ可読媒体。
JP2020559651A 2018-12-13 2018-12-13 演算装置、アクション決定方法、及び制御プログラム Active JP7196935B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/045947 WO2020121494A1 (ja) 2018-12-13 2018-12-13 演算装置、アクション決定方法、及び制御プログラムを格納する非一時的なコンピュータ可読媒体

Publications (2)

Publication Number Publication Date
JPWO2020121494A1 true JPWO2020121494A1 (ja) 2021-10-07
JP7196935B2 JP7196935B2 (ja) 2022-12-27

Family

ID=71075454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020559651A Active JP7196935B2 (ja) 2018-12-13 2018-12-13 演算装置、アクション決定方法、及び制御プログラム

Country Status (3)

Country Link
US (1) US20220027708A1 (ja)
JP (1) JP7196935B2 (ja)
WO (1) WO2020121494A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11645498B2 (en) * 2019-09-25 2023-05-09 International Business Machines Corporation Semi-supervised reinforcement learning
CN113112016A (zh) * 2021-04-07 2021-07-13 北京地平线机器人技术研发有限公司 用于强化学习过程的动作输出方法、网络训练方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAARNOJA, TUOMAS ET AL.: "Reinforcement Learning with Deep Energy-Based Policies", ARXIV [ONLINE], vol. [retrieved on 2019.01.22], JPN6019003257, 21 July 2017 (2017-07-21), ISSN: 0004812946 *
齋藤雅矩ほか: "エージェントの行動履歴の活用によるQ-learningの学習効率向上", 電気学会研究会資料, JPN6019003254, 7 December 2014 (2014-12-07), JP, pages 29 - 34, ISSN: 0004812945 *

Also Published As

Publication number Publication date
US20220027708A1 (en) 2022-01-27
JP7196935B2 (ja) 2022-12-27
WO2020121494A1 (ja) 2020-06-18

Similar Documents

Publication Publication Date Title
US20230350355A1 (en) Heuristic method of automated and learning control, and building automation systems thereof
Yan et al. Data-driven load frequency control for stochastic power systems: A deep reinforcement learning method with continuous action search
JP6513015B2 (ja) 機械の動作を制御する方法、および機械の動作を反復的に制御する制御システム
JP5768834B2 (ja) プラントモデル管理装置及び方法
KR101963686B1 (ko) 타겟 시스템 제어
CN104317195B (zh) 一种基于改进极限学习机的非线性逆模型控制方法
JP6529096B2 (ja) シミュレートシステム、シミュレート方法およびシミュレート用プログラム
JP7196935B2 (ja) 演算装置、アクション決定方法、及び制御プログラム
JP2018528511A (ja) 生産システムにおける出力効率の最適化
JP6902487B2 (ja) 機械学習システム
KR20210092310A (ko) 고도로 공선적인 응답 공간에서의 처방적 분석
Li et al. Experience-based rule base generation and adaptation for fuzzy interpolation
CN116627027A (zh) 一种基于改进型pid最优鲁棒性控制方法
CN109657800A (zh) 基于参数噪声的强化学习模型优化方法及装置
CN107367929B (zh) 更新q值矩阵的方法、存储介质和终端设备
JP2019219741A5 (ja)
Lu et al. Multivariable self-organizing fuzzy logic control using dynamic performance index and linguistic compensators
CN107315572B (zh) 建筑机电系统的控制方法、存储介质和终端设备
KR102212384B1 (ko) 복합 시스템들의 제어를 위한 무작위화된 강화 학습
CN110908280A (zh) 一种小车-二级倒立摆系统优化控制方法
Perotto Looking for the right time to shift strategy in the exploration-exploitation dilemma
CN111356959B (zh) 用于计算机辅助地控制技术系统的方法
JP7462905B2 (ja) 制御装置、方法、プログラム及びシステム
CN107315573A (zh) 建筑机电系统的控制方法、存储介质和终端设备
CN117311171B (zh) 用于多设备控制的图神经网络模型的训练方法和装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221128

R151 Written notification of patent or utility model registration

Ref document number: 7196935

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151