(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体
(51)【国際特許分類】
G06N 20/00 20190101AFI20231108BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022529124
(86)(22)【出願日】2020-06-01
(86)【国際出願番号】 JP2020021528
(87)【国際公開番号】W WO2021245720
(87)【国際公開日】2021-12-09
【審査請求日】2022-11-28
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】平岡 拓也
(72)【発明者】
【氏名】大西 貴士
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2018-106466(JP,A)
【文献】国際公開第2018/110305(WO,A1)
【文献】特開2018-171663(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1時刻における制御対象の状態を取得する状態取得手段と、
事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定する行動決定手段と
を備え、
前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている
プランナー装置。
【請求項2】
前記行動決定手段は、前記第1時刻までの状態の時系列を含む軌跡データと前記価値関数とに基づいて前記行動を決定し、
前記価値関数は、前記軌跡データと前記第2時刻における行動から、前記価値を算出するように学習されている
請求項1に記載のプランナー装置。
【請求項3】
前記軌跡データは、前記制御対象の状態と行動と報酬の組み合わせの時系列を含む
請求項2に記載のプランナー装置。
【請求項4】
前記価値関数の学習過程において、
基準時刻における前記制御対象の状態と前記基準時刻の次の制御タイミングにおける行動から、前記次の制御タイミングおける前記制御対象の状態および報酬を予測する予測関数に行動を繰り返し入力し、前記第2時刻から第3時刻までの報酬を得ることで、前記価値が算出される
請求項1から請求項3の何れか1項に記載のプランナー装置。
【請求項5】
前記予測関数は、過去の前記制御対象の状態及び行動を学習データセットとして、前記制御対象の第1時刻における状態と第2時刻における行動を入力として、前記第2時刻における状態を出力するように学習された学習済みモデルである
請求項4に記載のプランナー装置。
【請求項6】
第1時刻における制御対象の状態を取得することと、
事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定することと
を備え、
前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている
プランニング方法。
【請求項7】
コンピュータに、
第1時刻における制御対象の状態を取得することと、
事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定することと
を実行させ、
前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている
プランニングプログラムが格納された記録媒体。
【請求項8】
第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測手段と、
前記予測手段に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出する報酬算出手段と、
前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新する更新手段と
を備える学習装置。
【請求項9】
第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測関数に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出することと、
前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新することと
を備える学習方法。
【請求項10】
コンピュータに、
第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測関数に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出することと、
前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新することと
を実行させるための学習プログラムが格納された記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プランナー装置、プランニング方法、プランニングプログラム記録媒体、学習装置、学習方法および学習プログラム記録媒体に関する。
【背景技術】
【0002】
非特許文献1には、行動に応じて環境が変化するロボットなどの制御において、オンライン学習にて環境モデルを生成し、最適な行動を探索する技術が開示されている。特許文献1には、強化学習においていわゆる次元の呪いを回避する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】Anusha Nagabandi, Chelsea Finn and Sergey Levine, “Deep online learning via meta-learning: Continual adaption for model-based RL”, arXiv preprint atXiv: 1812.07671, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に記載の技術において、より適切な行動を決定するためには、軌跡の探索深さを深くし、かつ生成する軌跡のパターン数を多くすることが好ましい。ここで、探索深さをPとおき、パターン数をQとおくと、非特許文献1に記載の技術において行動を決定するためには、P×Qに比例する計算量が必要となる。
しかしながら、一般的に、ある状態が取得されたタイミングから制御を実行すべきタイミングまでの時間は有限であり、十分な精度を得るだけの計算時間が用意できないことがある。例えば、ロボットの歩容制御においては、制御の計算に割り当てられる時間は数ミリ秒であることが一般的であり、時間内に適切な行動を決定することは困難である。
【0006】
本開示の目的の1つは、少ない計算量で精度よく行動を決定することができるプランナー装置、プランニング方法、プランニングプログラム、学習装置、学習方法および学習プログラムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の第1の態様によれば、プランナー装置は、第1時刻における制御対象の状態を取得する状態取得手段と、事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定する行動決定手段とを備え、前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている。
【0008】
本発明の第2の態様によれば、プランニング方法は、第1時刻における制御対象の状態を取得することと、事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定することとを備え、前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている。
【0009】
本発明の第3の態様によれば、プランニングプログラムが格納された記録媒体は、コンピュータに、第1時刻における制御対象の状態を取得することと、事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、前記第1時刻の次の制御タイミングである第2時刻における行動を決定することとを実行させ、前記価値関数は、前記第1時刻における前記制御対象の状態と前記第2時刻における行動から、前記第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、前記第2時刻から前記第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている。
【0010】
本発明の第4の態様によれば、学習装置は、第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測手段と、前記予測手段に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出する報酬算出手段と、前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新する更新手段とを備える。
【0011】
本発明の第5の態様によれば、学習方法は、第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測関数に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出することと、前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新することとを備える。
【0012】
本発明の第6の態様によれば、ための学習プログラムが格納された記録媒体は、コンピュータに、第1時刻における制御対象の状態と前記第1時刻の次の制御タイミングである第2時刻における行動から、前記第2時刻における前記制御対象の状態を予測する予測関数に、前記第2時刻以降の行動を繰り返し入力することで得られる、前記第2時刻から前記第2時刻より後の第3時刻までの各制御タイミングにおける前記制御対象の状態に基づく報酬の総和を価値として算出することと、前記状態と前記行動と前記価値とに基づいて、前記第1時刻における制御対象の状態と、前記第2時刻における行動を入力として、前記価値を出力するように価値関数のパラメータを更新することとを実行させる。
【発明の効果】
【0013】
上記態様によれば、プランナー装置は、少ない計算量で精度よく行動を決定することができる。
【図面の簡単な説明】
【0014】
【
図1】第1の実施形態に係るプランナー装置の構成を示す概略ブロック図である。
【
図2】第1の実施形態に係るプランナー装置の動作を示すフローチャートである。
【
図3】第1の実施形態に係る学習装置の構成を示す概略ブロック図である。
【
図4】第1の実施形態に係る学習装置による価値関数の学習処理を示すフローチャートである。
【
図5】プランナー装置の基本構成を示す概略ブロック図である。
【
図6】学習装置の基本構成を示す概略ブロック図である。
【
図7】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0015】
〈第1の実施形態〉
《プランナー装置10の構成》
以下、図面を参照しながら実施形態について詳しく説明する。
第1の実施形態に係るプランナー装置10(
図1にて図示)は、制御対象について設けられ、当該制御対象のセンサから得られた計測信号に基づいて、制御対象の行動を決定する。制御対象の例としては、ロボット、プラント、インフラストラクチャーなどが挙げられる。制御対象の個数は、1つであってもよいし、複数であってもよい。
プランナー装置10が決定する制御対象の行動の例としては、制御対象のアクチュエータの操作量などが挙げられる。例えば、第1の実施形態に係るプランナー装置10は、四足歩行ロボットに取り付けられたセンサが計測する姿勢および周辺環境に基づいて、当該ロボットが転倒せずに歩行するように、各脚の関節の回転量を決定する。
プランナー装置10が決定する制御対象の行動の例としては、プラントにおける制御対象の装置(バルブの開閉、搬送装置の移動など)が挙げられる。例えば、第1の実施形態に係るプランナー装置10は、配管における物質の流量を計測するセンサが計測した流量等に基づいて、当該配管が正常な状態を保てるよう、該配管に接続しているバルブの開閉(または開閉量)を決定する。
以降の説明においては、便宜上、プランナー装置10は、制御タイミングにおける制御対象の行動を決定するとする。プランナー装置10は、行動を決定する処理を複数回実行するとする。複数の制御タイミングは、一定間隔であってもよいし、不定な間隔であってもよい。
【0016】
図1は、第1の実施形態に係るプランナー装置10の構成を示す概略ブロック図である。プランナー装置10は、状態取得部11、報酬算出部12、軌跡記憶部13、価値関数記憶部14、行動候補生成部15、行動決定部16、及び、制御部17を備える。
【0017】
状態取得部11は、制御対象について設けられた各種センサから、制御対象の状態を示す計測値を取得する。状態取得部11は、状態取得手段の一例である。
報酬算出部12は、状態取得部11が取得した計測値と、制御対象の前回の制御タイミングにおける行動とに基づいて、制御対象の状態および行動に基づく報酬を計算する。
軌跡記憶部13は、状態取得部11が取得した計測値と、報酬算出部12が算出した報酬と、行動決定部16が決定した行動との組み合わせの時系列である軌跡データを記憶する。
報酬は、たとえば、制御対象の目標状態への近さの程度を表す。報酬は、制御対象の状態と行動との関数としてされる。
【0018】
価値関数記憶部14は、直近のN(Nは、自然数)ステップの制御タイミングに係る軌跡データと、当該軌跡データの次の制御タイミングにおける行動とを入力として、当該行動に対する価値を出力する価値関数を記憶する。第1の実施形態に係る価値関数によって算出される価値は、入力された行動によって変化する制御対象の状態に応じた値である。第1の実施形態に係る価値関数は、たとえば、学習済みの機械学習モデルである。価値関数の学習方法については
図3を参照しながら後述する。
行動候補生成部15は、次の制御タイミングにおける複数の行動の候補を生成する。行動候補生成部15は、例えば軌跡記憶部13が記憶する軌跡データに基づいて複数の行動の候補を生成してもよいし、乱数に基づいて複数の行動の候補を生成してもよい。
【0019】
行動決定部16は、価値関数記憶部14が記憶する価値関数と、軌跡記憶部13が記憶する軌跡データと、行動候補生成部15が生成した複数の行動の候補とに基づいて、制御対象に施す行動を決定する。具体的には、行動決定部16は、以下の手順で行動を決定する。まず、行動決定部16は、価値関数に軌跡データと複数の行動の候補のそれぞれを入力することで、各候補について価値を算出する。そして、行動決定部16は、複数の行動の候補のうち、たとえば、最も価値の高いものを、制御対象に施す行動に決定する。行動決定部16は、行動決定手段の一例である。
制御部17は、行動決定部16が決定した行動を制御対象に出力する。
【0020】
《プランナー装置10の動作》
図2は、第1の実施形態に係るプランナー装置10の動作を示すフローチャートである。
プランナー装置10は、制御対象の制御タイミング毎に以下の処理を実行する。まず、プランナー装置10の状態取得部11は、制御対象のセンサから計測値を取得する(ステップS1)。状態取得部11は、取得した計測値を軌跡記憶部13に記録する。次に、報酬算出部12は、ステップS1で取得した計測値と、軌跡記憶部13が記憶する前回の制御タイミングにおける行動とに基づいて、前回の行動の報酬を算出する(ステップS2)。報酬算出部12は、算出した報酬を軌跡記憶部13に記録する。
【0021】
行動候補生成部15は、次の制御タイミングにおける複数の行動の候補を生成する(ステップS3)。行動決定部16は、ステップS3で生成した複数の行動の候補を1つずつ選択し、各候補について、ステップS5の処理を実行する(ステップS4)。行動決定部16は、価値関数記憶部14が記憶する価値関数に、軌跡記憶部13が記憶する軌跡データと、ステップS4で選択した行動の候補を入力することで、当該候補について価値を算出する(ステップS5)。そして、行動決定部16は、複数の行動の候補のうち、たとえば最も価値の高いものを、制御対象に施す行動に決定する(ステップS6)。行動決定部16は、決定した行動を軌跡記憶部13に記録する。制御部17は、行動決定部16が決定した行動を制御対象に出力する(ステップS7)。
【0022】
つまり、第1の実施形態に係るプランナー装置10の一制御周期における計算量は、行動候補生成部15が生成する行動候補の数に比例する。
【0023】
《学習装置》
以下、プランナー装置10の価値関数の学習について説明する。
価値関数は、学習装置20によって学習される。学習装置20は、プランナー装置10と別個の装置として設けられてもよいし、プランナー装置10と一体に設けられてもよい。
【0024】
図3は、第1の実施形態に係る学習装置20の構成を示す概略ブロック図である。学習装置20は、軌跡記憶部21、データセット抽出部22、予測関数学習部23、予測関数記憶部24、予測部25、行動候補生成部26、価値関数学習部27、及び、価値関数記憶部28を備える。
【0025】
軌跡記憶部21は、過去に制御対象が動作したときの軌跡データを記憶する。軌跡記憶部21が記憶する軌跡データの長さは、少なくとも価値関数の入力に用いられる軌跡データの長さ(Nステップの制御タイミング)より長い。
データセット抽出部22は、軌跡記憶部21が記憶する軌跡データから予測関数および価値関数の学習に用いる学習データセットを抽出する。
【0026】
予測関数学習部23は、データセット抽出部22が抽出した学習データセットに基づいて、予測関数のパラメータを学習する。予測関数学習部23は、直近のNステップの制御タイミングに係る軌跡データと次の制御タイミングに係る行動とが入力された場合に、当該次のタイミングに係る状態と報酬とを出力するように、予測関数のパラメータを学習する。予測関数は、ニューラルネットワークなどの機械学習モデルによって構成される。
予測関数記憶部24は、学習済みの予測関数を記憶する。
予測部25は、予測関数記憶部24が記憶する予測関数を用いて、入力された軌跡データと行動とから、次のタイミングに係る状態と報酬とを予測する。予測部25は、予測手段の一例である。
【0027】
行動候補生成部26は、次の制御タイミングにおける複数の行動の候補を生成する。行動候補生成部26は、例えば軌跡データに基づいて複数の行動の候補を生成してもよいし、乱数に基づいて複数の行動の候補を生成してもよい。
【0028】
価値関数学習部27は、データセット抽出部22が抽出した学習データセット、行動候補生成部26が生成する行動候補、ならびに予測部25が予測した状態および報酬に基づいて、価値関数のパラメータを学習する。価値関数学習部27は、将来のP(Pは、自然数)ステップの制御タイミングまでの報酬の和に応じた価値を出力するように、価値関数のパラメータを学習する。価値関数学習部27は、報酬算出手段および更新手段の一例である。
価値関数記憶部28は、学習済みの価値関数を記憶する。
【0029】
《予測関数の学習》
価値関数の学習の前に、学習装置20は、予測関数のパラメータを学習する。
データセット抽出部22は、軌跡記憶部21が記憶する軌跡データから、(N+1)ステップの制御タイミングに係る状態、行動および報酬の組み合わせの時系列を学習データセットとして複数個切り出す。データセット抽出部22は、切り出したNステップ分の制御タイミングに係る状態、行動および報酬の組み合わせの時系列を軌跡データとする。予測関数学習部23は、Nステップ分の制御タイミングに係る軌跡データと(N+1)ステップ目の行動とを入力サンプルとし、(N+1)ステップ目の状態と報酬とを出力サンプルとする学習により、予測関数のパラメータを更新する。データセット抽出部22は、更新した予測関数を予測関数記憶部24に記録する。
【0030】
《価値関数の学習》
予測関数のパラメータを更新すると、学習装置20は、価値関数のパラメータを学習する。
図4は、第1の実施形態に係る学習装置20による価値関数の学習処理を示すフローチャートである。
【0031】
データセット抽出部22は、軌跡記憶部21が記憶する軌跡データから、連続するN(Nは自然数)ステップの制御タイミングに係る状態、行動および報酬の組み合わせの時系列を学習用の軌跡データとして切り出す(ステップS31)。行動候補生成部26は、切り出した軌跡データの次の制御タイミング((N+1)ステップ目の制御タイミング)における行動候補を生成する(ステップS32)。予測部25は、ステップS31で切り出した軌跡データとステップS32で生成した行動候補を、予測関数記憶部24が記憶する予測関数に代入することで、次の制御タイミングにおける状態と報酬とを予測する(ステップS33)。
【0032】
次に、データセット抽出部22は、生成した行動候補、ならびに予測された状態および報酬を軌跡データに加える(ステップS34)。行動候補生成部26は、さらに次の制御タイミングにおける行動候補を生成する(ステップS35)。予測部25は、ステップS34で生成した直近Nステップの制御タイミングに係る軌跡データとステップS35で生成した行動候補を、予測関数記憶部24が記憶する予測関数に代入することで、次の制御タイミングにおける状態と報酬とを予測する(ステップS36)。
【0033】
価値関数学習部27は、ステップS35で生成した行動候補が、ステップS31で切り出された軌跡データよりPステップ後の制御タイミングに係る行動候補であるか否かを判定する(ステップS37)。生成した行動候補がPステップより前の制御タイミングに係る行動候補である場合(ステップS37:NO)、学習装置20は、ステップS34に処理を戻し、さらに次の制御タイミングについて状態と報酬とを予測する。
【0034】
生成した行動候補がPステップ後の制御タイミングに係る行動候補である場合(ステップS37:YES)、価値関数学習部27は、Pステップにおける報酬の総和を算出する(ステップS38)。報酬の総和は、時間経過についての割引率を加味した加重和であってもよい。次に、価値関数学習部27は、Pステップ分の行動候補の生成の試行回数がQ(Qは、自然数)回以上であるか否かを判定する(ステップS39)。Pステップ分の行動候補の生成の試行回数がQ回未満である場合(ステップS39:NO)、ステップS32に処理を戻し、再度Pステップ分の行動候補を生成し、報酬を予測する。
Pステップ分の行動候補の生成の試行回数がQ回以上である場合(ステップS39:YES)、ステップS38でQ回算出された報酬の総和のうち最大のものを特定する(ステップS40)。
【0035】
価値関数学習部27は、ステップS31で切り出した軌跡データと、ステップS32で生成した行動候補とを入力サンプルとし、ステップS40で特定した報酬の総和を出力サンプルとして、価値関数のパラメータを学習する(ステップS41)。価値関数学習部27は、価値関数の学習の終了条件を満たしたか否かを判定する(ステップS42)。学習の終了条件は、例えばパラメータの変化率が閾値未満となること、試行回数が所定回数を超えることなどが挙げられる。価値関数の学習の終了条件を満たしていない場合(ステップS42:NO)、ステップS31に処理を戻し、パラメータの更新を繰り返し実行する。他方、価値関数の学習の終了条件を満たした場合(ステップS42:YES)、価値関数学習部27は、学習済みの価値関数を価値関数記憶部28に記録し、処理を終了する。価値関数記憶部28に記憶された価値関数は、プランナー装置10の価値関数記憶部14に記録される。
【0036】
《作用・効果》
このように、第1の実施形態に係る価値関数は、Nステップ目の制御タイミングにおける制御対象の状態と(N+1)ステップ目の制御タイミングにおける行動から、(N+P)ステップ目の制御タイミングまで行動の決定を繰り返した場合に、(N+1)から(N+P)までの各制御タイミングにおける制御対象の状態に基づく報酬の総和に係る価値を算出するように学習される。これにより、プランナー装置10は、Pステップ分の状態および価値の繰り返し計算を行うことなく、Pステップ後の報酬の総和が最大となるような行動を決定することができる。すなわち、探索深さをPとおき、パターン数をQとおいた場合に、非特許文献1に記載の技術では、(P×Q)に比例する計算量で行動を決定するところ、第1の実施形態に係るプランナー装置10は、Qに比例する計算量で行動を決定することができる。
【0037】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
【0038】
上述した実施形態に係るプランナー装置10および学習装置20は、単独のコンピュータによって構成されるものであってもよいし、プランナー装置10または学習装置20の構成を複数のコンピュータに分けて配置し、複数のコンピュータが互いに協働することでプランナー装置10または学習装置20として機能するものであってもよい。なお、第1の実施形態に係るプランナー装置10は、制御対象に搭載されるが、これに限られない。例えば、他の実施形態に係るプランナー装置10は、制御対象と遠隔に設けられ、制御対象との通信により、制御対象から状態量の計測値を受信し、制御対象に行動データを送信してもよい。
【0039】
なお、プランナー装置10と学習装置20とが制御対象に搭載される場合、学習装置20はプランナー装置10の軌跡記憶部13が記憶する軌跡データを用いて、定期的に予測関数および価値関数を更新することができる。すなわち、プランナー装置10と学習装置20とが制御対象に搭載されることで、学習装置20は、予測関数および価値関数をオンラインで更新することができる。
【0040】
また、上述した実施形態に係る予測関数は、軌跡データと行動とを入力として状態および報酬を算出するが、これに限られない。例えば、他の実施形態に係る予測関数は、状態を出力し、報酬を出力しないものであってよい。この場合、報酬は、例えば報酬算出部12などによって、予測関数から予測された状態に基づいて別途計算されてもよい。
【0041】
また、上述した実施形態に係る予測関数は、Nステップ分の軌跡データを用いて状態および報酬を算出するが、これに限られない。例えば、他の実施形態に係る予測関数は、直近の状態および行動に基づいて次の制御タイミングにおける状態および報酬を出力するものであってもよい。
【0042】
〈基本構成〉
図5は、プランナー装置10の基本構成を示す概略ブロック図である。
上述した実施形態では、プランナー装置10の一実施形態として
図1に示す構成について説明したが、プランナー装置10の基本構成は、
図5に示すとおりである。
すなわち、プランナー装置10は、状態取得手段101、及び行動決定手段102を基本構成とする。
【0043】
状態取得手段101は、第1時刻における制御対象の状態を取得する。
行動決定手段102は、事前学習された価値関数に対して前記状態を入力としたときに算出される価値が最大となるように、第1時刻の次の制御タイミングである第2時刻における行動を決定する。
価値関数は、第1時刻における制御対象の状態と第2時刻における行動から、第2時刻より後の第3時刻まで行動の決定を繰り返した場合に、第2時刻から第3時刻までの各制御タイミングにおける制御対象の状態に基づく報酬の総和に係る価値を算出するように学習されている。
これにより、プランナー装置10は、少ない計算量で精度よく行動を決定することができる。
【0044】
図6は、学習装置20の基本構成を示す概略ブロック図である。
上述した実施形態では、学習装置20の一実施形態として
図3に示す構成について説明したが、学習装置20の基本構成は、
図6に示すとおりである。
すなわち、学習装置20は、予測手段201、報酬算出手段202、及び更新手段203を基本構成とする。
【0045】
予測手段201は、第1時刻における制御対象の状態と第1時刻の次の制御タイミングである第2時刻における行動から、第2時刻における制御対象の状態を予測する。
報酬算出手段202は、予測手段201に、第2時刻以降の行動を繰り返し入力することで得られる、第2時刻から第2時刻より後の第3時刻までの各制御タイミングにおける制御対象の状態に基づく報酬の総和を価値として算出する。
更新手段203は、状態と行動と価値とに基づいて、第1時刻における制御対象の状態と、第2時刻における行動を入力として、価値を出力するように価値関数のパラメータを更新する。
これにより、学習装置20は、少ない計算量で精度よく行動を決定するための価値関数を生成することができる。
【0046】
〈コンピュータ構成〉
図7は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ90は、プロセッサ91、メインメモリ92、ストレージ93、インタフェース94を備える。
上述のプランナー装置10および学習装置20は、コンピュータ90に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ93に記憶されている。プロセッサ91は、プログラムをストレージ93から読み出してメインメモリ92に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ91は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ92に確保する。プロセッサ91の例としては、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、マイクロプロセッサなどが挙げられる。
【0047】
プログラムは、コンピュータ90に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータ90は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサ91によって実現される機能の一部または全部が当該集積回路によって実現されてよい。このような集積回路も、プロセッサの一例に含まれる。
【0048】
ストレージ93の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ93は、コンピュータ90のバスに直接接続された内部メディアであってもよいし、インタフェース94または通信回線を介してコンピュータ90に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムをメインメモリ92に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ93は、一時的でない有形の記憶媒体である。
【0049】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ93に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0050】
プランナー装置は、搬送装置、ロボット、プラント、インフラストラクチャー等の制御対象の制御に利用することができる。
【符号の説明】
【0051】
10 プランナー装置
11 状態取得部
12 報酬算出部
13 軌跡記憶部
14 価値関数記憶部
15 行動候補生成部
16 行動決定部
17 制御部
20 学習装置
21 軌跡記憶部
22 データセット抽出部
23 予測関数学習部
24 予測関数記憶部
25 予測部
26 行動候補生成部
27 価値関数学習部
28 価値関数記憶部