(57)【要約】【課題】パラメータ更新にかかる入力決定回数の低減化を図ること。【解決手段】方策改善装置１００は、方策を与える第１のパラメータの複数の成分に対して摂動を加える。方策改善装置１００は、複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、制御対象１１０に対する入力決定を行う。そして、方策改善装置１００は、制御対象１１０に対する入力決定を行った結果に基づいて、第１のパラメータに関する状態価値関数の勾配関数を推定する。方策改善装置１００は、推定した勾配関数を用いて、第１のパラメータを更新する。【選択図】図１
2020144713.tif 000002
【特許請求の範囲】
【請求項１】
状態価値関数による強化学習の方策を改善する方策改善方法であって、
前記方策を与える第１のパラメータの複数の成分に対して摂動を加え、
前記複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、前記強化学習における制御対象に対する入力決定を行った結果に基づいて、前記第１のパラメータに関する前記状態価値関数の勾配関数を推定し、
推定した前記勾配関数を用いて、前記第１のパラメータを更新する、
処理をコンピュータが実行することを特徴とする方策改善方法。
【請求項２】
前記加える処理は、
前記第１のパラメータのすべての成分に対して摂動を加える、ことを特徴とする請求項１に記載の方策改善方法。
【請求項３】
前記複数の成分のそれぞれの成分に対して加えられる摂動は、互いに独立に決定され、かつ、等確率で絶対値が等しい正値と負値とのいずれかに決定される、ことを特徴とする請求項１または２に記載の方策改善方法。
【請求項４】
前記加える処理は、
前記第１のパラメータの複数の成分に対して摂動を加え、前記複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、前記制御対象に対する入力決定を行うことを複数回繰り返し、
前記推定する処理は、
前記複数回のそれぞれの回に応じて得られた前記制御対象に対する入力決定を行った結果に基づいて、前記勾配関数を推定する、ことを特徴とする請求項１〜３のいずれか一つに記載の方策改善方法。
【請求項５】
前記推定する処理は、
前記それぞれの回に応じて得られた前記制御対象に対する入力決定を行った結果に基づいて、前記それぞれの回に対応するＴＤ誤差を算出し、
前記第１のパラメータのそれぞれの成分について、前記それぞれの回に対応するＴＤ誤差を、当該回において当該成分に加えた摂動で除算し、
除算した結果と、前記状態価値関数を前記それぞれの成分で微分した結果とを対応付けて、前記勾配関数を推定する、ことを特徴とする請求項４に記載の方策改善方法。
【請求項６】
前記制御対象は、空調設備であり、
前記強化学習は、前記空調設備の設定温度と前記空調設備の設定風量との少なくともいずれかを入力とし、前記空調設備がある部屋の内部の温度と前記空調設備がある部屋の外部の温度と気候との少なくともいずれかを状態とし、前記空調設備の消費電力量をコストとする、ことを特徴とする請求項１〜５のいずれか一つに記載の方策改善方法。
【請求項７】
前記制御対象は、発電設備であり、
前記強化学習は、前記発電設備の発電機トルクを入力とし、前記発電設備の発電量と前記発電設備のタービンの回転量と前記発電設備のタービンの回転速度と前記発電設備に対する風向と前記発電設備に対する風速との少なくともいずれかを状態とし、前記発電設備の発電量を報酬とする、ことを特徴とする請求項１〜５のいずれか一つに記載の方策改善方法。
【請求項８】
前記制御対象は、産業用ロボットであり、
前記強化学習は、前記産業用ロボットのモータートルクを入力とし、前記産業用ロボットの撮影した画像と前記産業用ロボットの関節位置と前記産業用ロボットの関節角度と前記産業用ロボットの関節角速度との少なくともいずれかを状態とし、前記産業用ロボットの生産量を報酬とする、ことを特徴とする請求項１〜５のいずれか一つに記載の方策改善方法。
【請求項９】
状態価値関数による強化学習の方策を改善する方策改善プログラムであって、
前記方策を与える第１のパラメータの複数の成分に対して摂動を加え、
前記複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、前記強化学習における制御対象に対する入力決定を行った結果に基づいて、前記第１のパラメータに関する前記状態価値関数の勾配関数を推定し、
推定した前記勾配関数を用いて、前記第１のパラメータを更新する、
処理をコンピュータに実行させることを特徴とする方策改善プログラム。
【請求項１０】
状態価値関数による強化学習の方策を改善する方策改善装置であって、
前記方策を与える第１のパラメータの複数の成分に対して摂動を加え、
前記複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、前記強化学習における制御対象に対する入力決定を行った結果に基づいて、前記第１のパラメータに関する前記状態価値関数の勾配関数を推定し、
推定した前記勾配関数を用いて、前記第１のパラメータを更新する、
制御部を有することを特徴とする方策改善装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、方策改善方法、方策改善プログラム、および方策改善装置に関する。
【背景技術】
【０００２】
従来、制御対象に対する入力に応じて発生する即時コストまたは即時報酬に基づき、累積コストまたは累積報酬を示す価値関数を改善し、累積コストや累積報酬が最適化されるように方策を改善していく強化学習の技術がある。価値関数は、状態−行動価値関数（Ｑ関数）または状態価値関数（Ｖ関数）などである。
【０００３】
先行技術としては、例えば、状態情報ｓtと、状態情報ｓt+1と、行動情報ａtと、行動情報ａt+1と、報酬情報ｒt+1とを入力として、線形モデルで近似した方策関数のモデルパラメータの更新幅を求め、モデルパラメータを更新するものがある。また、例えば、制御信号を制御対象に与える処理を行って、制御対象の状態量を観測器で観測した結果によりＴＤ誤差（Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ  ｅｒｒｏｒ）を求め、ＴＤ誤差近似器を更新して、方策を更新する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２０６７９５号公報
【特許文献２】特開２００７−６５９２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、方策を与えるパラメータを更新する過程における入力決定の回数が増大しやすく、処理負担が増大しやすいという問題がある。例えば、パラメータの成分を１つずつ選び、選んだ成分にだけ摂動が加えられた状態で入力決定することを複数回行った結果に基づき、パラメータを更新する場合、パラメータの成分数が増加するほど、入力決定の回数が増大する。
【０００６】
１つの側面では、本発明は、パラメータ更新にかかる入力決定回数の低減化を図ることを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様によれば、状態価値関数による強化学習の方策を改善する場合、前記方策を与える第１のパラメータの複数の成分に対して摂動を加え、前記複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、前記強化学習における制御対象に対する入力決定を行った結果に基づいて、前記第１のパラメータに関する前記状態価値関数の勾配関数を推定し、推定した前記勾配関数を用いて、前記第１のパラメータを更新する方策改善方法、方策改善プログラム、および方策改善装置が提案される。
【発明の効果】
【０００８】
一態様によれば、パラメータ更新にかかる入力決定回数の低減化を図ることが可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる方策改善方法の一実施例を示す説明図である。
【図２】図２は、方策改善装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、方策改善装置１００の機能的構成例を示すブロック図である。
【図４】図４は、強化学習の実施例を示す説明図である。
【図５】図５は、制御対象１１０の具体例を示す説明図（その１）である。
【図６】図６は、制御対象１１０の具体例を示す説明図（その２）である。
【図７】図７は、制御対象１１０の具体例を示す説明図（その３）である。
【図８】図８は、バッチ処理形式の強化学習処理手順の一例を示すフローチャートである。
【図９】図９は、逐次処理形式の強化学習処理手順の一例を示すフローチャートである。
【図１０】図１０は、方策改善処理手順の一例を示すフローチャートである。
【図１１】図１１は、推定処理手順の一例を示すフローチャートである。
【図１２】図１２は、更新処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる方策改善方法、方策改善プログラム、および方策改善装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる方策改善方法の一実施例）
図１は、実施の形態にかかる方策改善方法の一実施例を示す説明図である。方策改善装置１００は、所定のタイミングで、方策（ｐｏｌｉｃｙ）を改善し、方策によって制御対象１１０に対する入力（ｉｎｐｕｔ）を決定することにより、制御対象１１０を制御するコンピュータである。方策改善装置１００は、例えば、サーバやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、マイクロコントローラなどである。
【００１２】
制御対象１１０は、何らかの事象であり、例えば、現実に存在する物理系である。制御対象１１０は環境（ｅｎｖｉｒｏｎｍｅｎｔ）とも呼ばれる。制御対象１１０は、具体的には、サーバルーム、発電設備、または、産業用機械などである。方策は、所定のパラメータにより、制御対象１１０に対する入力値を決定する方程式である。方策は、制御則（ｃｏｎｔｒｏｌ  ｌａｗ）とも呼ばれる。所定のパラメータは、例えば、フィードバック係数行列である。
【００１３】
方策の改善は、方策を与えるパラメータの更新に対応する。方策の改善は、累積コストや累積報酬がより効率よく最適化されるように方策を変更することである。入力（ｉｎｐｕｔ）は、制御対象１１０に対する操作である。入力は、行動（ａｃｔｉｏｎ）とも呼ばれる。制御対象１１０に対する入力に応じて、制御対象１１０の状態（ｓｔａｔｅ）が変化する。
【００１４】
ここで、累積コストや累積報酬を最適化するためには、状態価値関数の勾配に沿った方向に、方策を与えるパラメータを変化させることが好ましいという性質がある。これに対し、下記非特許文献１を参考に、方策を与えるパラメータを更新していくことにより方策の改善を図り、制御対象１１０を制御する第１の制御手法が考えられる。
【００１５】
非特許文献１  ：  Ｔ．  Ｓａｓａｋｉ，  Ｅ．  Ｕｃｈｉｂｅ，  Ｈ．  Ｉｗａｎｅ，  Ｈ．  Ｙａｎａｍｉ，  Ｈ．  Ａｎａｉ  ａｎｄ  Ｋ．  Ｄｏｙａ，  “Ｐｏｌｉｃｙ  ｇｒａｄｉｅｎｔ  ｒｅｉｎｆｏｒｃｅｍｅｎｔ  ｌｅａｒｎｉｎｇ  ｍｅｔｈｏｄ  ｆｏｒ  ｄｉｓｃｒｅｔｅ−ｔｉｍｅ  ｌｉｎｅａｒ  ｑｕａｄｒａｔｉｃ  ｒｅｇｕｌａｔｉｏｎ  ｐｒｏｂｌｅｍ  ｕｓｉｎｇ  ｅｓｔｉｍａｔｅｄ  ｓｔａｔｅ  ｖａｌｕｅ  ｆｕｎｃｔｉｏｎ，”  ２０１７  ５６ｔｈ  Ａｎｎｕａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｆ  ｔｈｅ  Ｓｏｃｉｅｔｙ  ｏｆ  Ｉｎｓｔｒｕｍｅｎｔ  ａｎｄ  Ｃｏｎｔｒｏｌ  Ｅｎｇｉｎｅｅｒｓ  ｏｆ  Ｊａｐａｎ  （ＳＩＣＥ），  Ｋａｎａｚａｗａ，  ２０１７，  ｐｐ．  ６５３−６５７．
【００１６】
第１の制御手法は、例えば、方策を与えるパラメータの成分を１つずつ選び、選んだ成分にだけ摂動が加えられた状態で入力決定することを複数回行った結果に基づき、状態価値関数の勾配関数行列を推定し、方策を与えるパラメータを更新する制御手法である。これによれば、第１の制御手法は、状態価値関数の勾配に沿った方向に、方策を与えるパラメータを変化させることができる。
【００１７】
しかしながら、第１の制御手法は、方策を与えるパラメータを更新する過程において入力決定を行う回数が増大しやすく、処理負担が増大しやすいという問題がある。第１の制御手法は、例えば、方策を与えるパラメータの成分ごとに複数回の入力決定を行うため、方策を与えるパラメータの成分数に比例して入力決定の回数の増大化を招き、処理負担および処理時間の増大化を招く。そして、第１の制御手法は、入力決定に応じて所定時間待機して即時コストまたは即時報酬を観測する処理回数の増大化も招き、処理負担および処理時間の増大化を招く。
【００１８】
そこで、本実施の形態では、方策を与えるパラメータの複数の成分に纏めて摂動を加え、制御対象１１０に対する入力決定を行った結果に基づき、状態価値関数の勾配関数行列を推定し、方策を与えるパラメータを更新する方策改善方法について説明する。この方策改善方法によれば、方策を与えるパラメータを更新する過程において入力決定を行う回数の低減化を図ることができる。
【００１９】
図１の例では、制御対象１１０は、制御対象１１０の状態変化が離散時間線形時不変確定状態方程式で表され、制御対象１１０の状態方程式と、即時コストまたは即時報酬の発生の仕方を表す２次形式の方程式とにおける係数行列が未知である状況である。また、制御対象１１０は、制御対象１１０の状態が出力（ｏｕｔｐｕｔ）になり、制御対象１１０の状態が直接観測可能である状況である。
【００２０】
図１の例では、制御対象１１０の状態変化が、線形差分方程式で規定され、かつ、制御対象１１０の即時コストまたは即時報酬が、制御対象１１０の状態および制御対象１１０への入力の２次形式で規定される。
【００２１】
（１−１）方策改善装置１００は、方策を与える第１のパラメータの複数の成分に対して摂動を加える。第１のパラメータは、例えば、フィードバック係数行列である。複数の成分は、例えば、第１のパラメータのすべての成分である。方策改善装置１００は、例えば、フィードバック係数行列に摂動行列を加えることにより、フィードバック係数行列のすべての成分に対して摂動を加える。摂動を加える具体例は、例えば、図１０を用いて後述する。これによれば、状態価値関数の勾配関数を推定可能にすることができる。
【００２２】
（１−２）方策改善装置１００は、複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、制御対象１１０に対する入力決定を行う。そして、方策改善装置１００は、制御対象１１０に対する入力決定を行った結果に基づいて、第１のパラメータに関する状態価値関数の勾配関数を推定する。第２のパラメータは、第１のパラメータの複数の成分に対して摂動を加えた結果に対応する。
【００２３】
方策改善装置１００は、例えば、制御対象１１０に対する入力決定を行った結果に基づいて、状態価値関数を推定した推定状態価値関数に対するＴＤ誤差を算出する。次に、方策改善装置１００は、ＴＤ誤差および摂動に基づき、状態に対するフィードバック係数行列に関する状態価値関数の勾配関数行列を推定した推定勾配関数行列を生成する。推定勾配関数行列を生成する具体例は、例えば、図１０および図１１を用いて後述する。
【００２４】
ここで、方策改善装置１００は、第１のパラメータの複数の成分に対して摂動を加え、制御対象１１０に対する入力決定を行うことを、複数回繰り返してもよい。そして、方策改善装置１００は、それぞれの回に応じて得られた制御対象１１０に対する入力決定を行った結果に基づいて、勾配関数を推定する。これによれば、方策改善装置１００は、フィードバック係数行列の各成分について摂動に対する反応度合いを示す偏微分の推定結果を取得することができ、取得した偏微分の推定結果を利用して、任意の状態を代入可能な推定勾配関数行列を生成することができる。
【００２５】
（１−３）方策改善装置１００は、推定した勾配関数を用いて、第１のパラメータを更新する。方策改善装置１００は、例えば、生成した推定勾配関数行列を用いて、フィードバック係数行列を更新する。フィードバック係数行列を更新する具体例は、例えば、図１２を用いて後述する。これによれば、方策改善装置１００は、任意の状態を代入した推定勾配関数行列の推定値に基づき、フィードバック係数行列を更新することができる。
【００２６】
これにより、方策改善装置１００は、フィードバック係数行列に、どのような摂動行列を加えれば、累積コストや累積報酬が最適化されていくかを判断することができるようになる。また、方策改善装置１００は、フィードバック係数行列の更新にかかる入力決定回数の低減化を図ることができ、入力決定に応じて所定時間待機して即時コストまたは即時報酬を観測する処理回数の低減化も図ることができる。このため、方策改善装置１００は、処理負担および処理時間の低減化を図ることができる。
【００２７】
結果として、方策改善装置１００は、状態価値関数を改善し、累積コストや累積報酬が効率よく最適化されるように、フィードバック係数行列を更新することができ、方策を効率よく改善していくことができる。状態価値関数の改善は、累積コストの場合はすべての状態で価値関数の値がより小さくなることであり、累積報酬の場合はすべての状態で価値関数の値がより大きくなることである。
【００２８】
ここでは、方策改善装置１００が、第１のパラメータのすべての成分に対して摂動を加える場合について説明したが、これに限らない。例えば、方策改善装置１００が、第１のパラメータの成分をグループ分けし、グループごとに複数の成分に対して摂動を加える場合があってもよい。グループは、例えば、行単位の成分のグループまたは列単位の成分のグループなどである。グループは、例えば、上三角部分や下三角部分の成分のグループなどであってもよい。
【００２９】
（方策改善装置１００のハードウェア構成例）
次に、図２を用いて、図１に示した方策改善装置１００のハードウェア構成例について説明する。
【００３０】
図２は、方策改善装置１００のハードウェア構成例を示すブロック図である。図２において、方策改善装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メモリ２０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０３と、記録媒体Ｉ／Ｆ２０４と、記録媒体２０５とを有する。また、各構成部は、バス２００によってそれぞれ接続される。
【００３１】
ここで、ＣＰＵ２０１は、方策改善装置１００の全体の制御を司る。メモリ２０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ２０１のワークエリアとして使用される。メモリ２０２に記憶されるプログラムは、ＣＰＵ２０１にロードされることで、コーディングされている処理をＣＰＵ２０１に実行させる。
【００３２】
ネットワークＩ／Ｆ２０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ２０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ２０３は、例えば、モデムやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタなどである。
【００３３】
記録媒体Ｉ／Ｆ２０４は、ＣＰＵ２０１の制御に従って記録媒体２０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ２０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体２０５は、記録媒体Ｉ／Ｆ２０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体２０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体２０５は、方策改善装置１００から着脱可能であってもよい。
【００３４】
方策改善装置１００は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、タッチパネル、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、方策改善装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を複数有していてもよい。また、方策改善装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を有していなくてもよい。
【００３５】
（方策改善装置１００の機能的構成例）
次に、図３を用いて、方策改善装置１００の機能的構成例について説明する。
【００３６】
図３は、方策改善装置１００の機能的構成例を示すブロック図である。方策改善装置１００は、記憶部３００と、観測部３０１と、推定部３０２と、決定部３０３と、出力部３０４とを含む。
【００３７】
記憶部３００は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域によって実現される。以下では、記憶部３００が、方策改善装置１００に含まれる場合について説明するが、これに限らない。例えば、記憶部３００が、方策改善装置１００とは異なる装置に含まれ、記憶部３００の記憶内容が方策改善装置１００から参照可能である場合があってもよい。
【００３８】
観測部３０１〜出力部３０４は、制御部の一例として機能する。観測部３０１〜出力部３０４は、具体的には、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、ネットワークＩ／Ｆ２０３により、その機能を実現する。各機能部の処理結果は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶される。
【００３９】
記憶部３００は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部３００は、制御対象１１０の入力と、状態と、即時コストまたは即時報酬とを蓄積する。これにより、記憶部３００は、制御対象１１０の入力と、状態と、即時コストまたは即時報酬とを、推定部３０２や決定部３０３に参照させることができる。
【００４０】
制御対象１１０は、例えば、空調設備である場合がある。この場合、入力は、例えば、空調設備の設定温度と、空調設備の設定風量との少なくともいずれかである。状態は、例えば、空調設備がある部屋の内部の温度と、空調設備がある部屋の外部の温度と、気候との少なくともいずれかである。コストは、例えば、空調設備の消費電力量である。制御対象１１０が、空調設備である場合については、具体的には、図５を用いて後述する。
【００４１】
制御対象１１０は、例えば、発電設備である場合がある。発電設備は、例えば、風力発電設備である。この場合、入力は、例えば、発電設備の発電機トルクである。状態は、例えば、発電設備の発電量と、発電設備のタービンの回転量と、発電設備のタービンの回転速度と、発電設備に対する風向と、発電設備に対する風速との少なくともいずれかである。報酬は、例えば、発電設備の発電量である。制御対象１１０は、例えば、発電設備である場合については、具体的には、図６を用いて後述する。
【００４２】
制御対象１１０は、例えば、産業用ロボットである場合がある。この場合、入力は、例えば、産業用ロボットのモータートルクである。状態は、例えば、産業用ロボットの撮影した画像と、産業用ロボットの関節位置と、産業用ロボットの関節角度と、産業用ロボットの関節角速度との少なくともいずれかである。報酬は、例えば、産業用ロボットの生産量である。生産量は、例えば、組み立て数である。組み立て数は、例えば、産業用ロボットが組み立てた製品の数である。制御対象１１０が、産業用ロボットである場合については、具体的には、図７を用いて後述する。
【００４３】
記憶部３００は、方策を与えるパラメータを記憶してもよい。例えば、記憶部３００は、方策を与える第１のパラメータを記憶する。第１のパラメータは、例えば、フィードバック係数行列である。これにより、記憶部３００は、所定のタイミングで更新される、方策を与える第１のパラメータを記憶しておくことができる。また、記憶部３００は、方策を与える第１のパラメータを、推定部３０２に参照させることができる。
【００４４】
観測部３０１は、制御対象１１０の状態と、即時コストまたは即時報酬とを観測し、記憶部３００に出力する。これにより、観測部３０１は、制御対象１１０の状態と、即時コストまたは即時報酬とを記憶部３００に蓄積させることができる。
【００４５】
推定部３０２は、状態価値関数を推定した推定状態価値関数を更新する。例えば、推定部３０２は、一括最小二乗法、逐次最小二乗法、一括ＬＳＴＤ（Ｌｅａｓｔ−Ｓｑｕａｒｅｓ  Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ）アルゴリズム、逐次ＬＳＴＤアルゴリズムなどを用いて、推定状態価値関数の係数を更新することにより、推定状態価値関数を更新する。
【００４６】
具体的には、推定部３０２は、図８に後述するステップＳ８０４において、推定状態価値関数の係数を更新することにより、推定状態価値関数を更新する。これにより、推定部３０２は、推定状態価値関数を、方策を与える第１のパラメータを更新するために用いることができる。また、推定部３０２は、状態価値関数を改善することができる。
【００４７】
一括最小二乗法、逐次最小二乗法、一括ＬＳＴＤアルゴリズム、逐次ＬＳＴＤアルゴリズムなどについては、下記非特許文献２や下記非特許文献３を参照することができる。
【００４８】
非特許文献２：Ｙ．Ｚｈｕ  ａｎｄ  Ｘ．Ｒ．Ｌｉ．  Ｒｅｃｕｒｓｉｖｅ  ｌｅａｓｔ  ｓｑｕａｒｅｓ  ｗｉｔｈ  ｌｉｎｅａｒ  ｃｏｎｓｔｒａｉｎｔｓ．  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｓｙｓｔｅｍｓ，  ｖｏｌ．７，  ｎｏ．３，  ｐｐ．２８７−３１２，  ２００７．
【００４９】
非特許文献３：Ｃｈｒｉｓｔｏｐｈ  Ｄａｎｎ  ａｎｄ  Ｇｅｒｈａｒｄ  Ｎｅｕｍａｎｎ  ａｎｄ  Ｊａｎ  Ｐｅｔｅｒｓ．  Ｐｏｌｉｃｙ  Ｅｖａｌｕａｔｉｏｎ  ｗｉｔｈ  Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅｓ：  Ａ  Ｓｕｒｖｅｙ  ａｎｄ  Ｃｏｍｐａｒｉｓｏｎ．  Ｊｏｕｒｎａｌ  ｏｆ  Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ  Ｒｅｓｅａｒｃｈ，  ｖｏｌ．１５，  ｐｐ．８０９−８８３，  ２０１４．
【００５０】
推定部３０２は、方策を与える第１のパラメータの複数の成分に対して摂動を加える。複数の成分のそれぞれの成分に対して加えられる摂動は、互いに独立に決定され、かつ、等確率で絶対値が等しい正値と負値とのいずれかに決定される。推定部３０２は、複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、制御対象１１０に対する入力決定を行う。
【００５１】
例えば、推定部３０２は、第１のパラメータのすべての成分に対して摂動を加える。具体的には、推定部３０２は、フィードバック係数行列と同じ大きさの摂動行列を生成し、フィードバック係数行列に摂動行列を加えることにより、フィードバック係数行列のすべての成分に対して摂動を加える。
【００５２】
また、推定部３０２は、第１のパラメータの複数の成分に対して摂動を加え、複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、制御対象１１０に対する入力決定を行うことを、複数回繰り返してもよい。以下の説明では、推定部３０２が、入力決定を行うことを複数回繰り返す場合について説明する。
【００５３】
例えば、推定部３０２は、第１のパラメータのすべての成分に対して摂動を加え、入力決定を行うことを、複数回繰り返す。具体的には、推定部３０２は、フィードバック係数行列と同じ大きさの摂動行列を生成し、フィードバック係数行列に摂動行列を加えることにより、フィードバック係数行列のすべての成分に対して摂動を加え、入力決定を行うことを、複数回繰り返す。より具体的には、推定部３０２は、図１０に後述するステップＳ１００１，Ｓ１００３において、フィードバック係数行列のすべての成分に対して摂動を与えることを、複数回繰り返す。
【００５４】
また、例えば、推定部３０２は、第１のパラメータの成分を複数のグループに分け、グループごとに成分に対して摂動を加える場合があってもよい。複数のグループのうち、少なくともいずれかのグループは、複数の成分を含む。複数のグループは、２以上の成分を含まず１つの成分を含むグループを含んでもよい。グループは、例えば、行単位の成分のグループまたは列単位の成分のグループなどである。グループは、例えば、上三角部分や下三角部分の成分のグループなどであってもよい。
【００５５】
次に、推定部３０２は、複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、強化学習における制御対象１１０に対する入力決定を行った結果に基づいて、第１のパラメータに関する状態価値関数の勾配関数を推定する。第２のパラメータは、第１のパラメータの複数の成分に対して摂動を加えた結果に対応する。例えば、推定部３０２は、それぞれの回に応じて得られた制御対象１１０に対する入力決定を行った結果に基づいて、勾配関数を推定する。
【００５６】
具体的には、推定部３０２は、それぞれの回に応じて得られた制御対象１１０に対する入力決定を行った結果に基づいて、それぞれの回に対応するＴＤ誤差を算出する。次に、推定部３０２は、第１のパラメータのそれぞれの成分について、それぞれの回に対応するＴＤ誤差を、当該回において当該成分に加えた摂動で除算する。そして、推定部３０２は、除算した結果と、状態価値関数をそれぞれの成分で微分した結果とを対応付けて、勾配関数を推定する。
【００５７】
より具体的には、推定部３０２は、それぞれの回に応じて得られた制御対象１１０に対する入力決定を行った結果に基づいて、それぞれの回に対応するＴＤ誤差を算出する。次に、推定部３０２は、フィードバック係数行列の各成分について、それぞれの回に対応するＴＤ誤差を、当該回において当該成分に加えた摂動で除算する。
【００５８】
そして、推定部３０２は、除算した結果と、状態価値関数をフィードバック係数行列の各成分で微分した結果とを対応付けて、勾配関数行列の各成分を推定した推定成分を生成する。推定勾配関数行列は、制御対象１１０の状態に対する第１のパラメータに関する状態価値関数の勾配関数行列を推定した行列である。
【００５９】
ここで、推定部３０２は、状態価値関数をフィードバック係数行列の各成分で微分した結果を、状態に依存するベクトルと、状態に依存しないベクトルとの積で規定する。また、推定部３０２は、制御対象１１０の状態変化が線形な差分方程式で規定され、かつ、制御対象１１０の即時コストまたは即時報酬が状態および入力の２次形式で規定されることを利用する。
【００６０】
より具体的には、例えば、推定部３０２は、図１０に後述するステップＳ１００４、および図１１に後述するステップＳ１１０１，Ｓ１１０２において、摂動に対応する、状態価値関数を推定した推定状態価値関数に対するＴＤ誤差を生成することができる。これにより、推定部３０２は、方策を与える第１のパラメータの各成分について、摂動に対する反応度合いを示す偏微分の推定結果を取得することができる。
【００６１】
より具体的には、例えば、推定部３０２は、図１１に後述するステップＳ１１０３〜Ｓ１１０７において、勾配関数行列の各成分を推定した推定成分を、任意の状態を代入可能な形式で生成する。そして、推定部３０２は、図１２に後述するステップＳ１２０１において、勾配関数行列を推定した推定勾配関数行列を生成する。
【００６２】
ここで、推定部３０２は、フィードバック係数行列の各成分について生成されたＴＤ誤差を摂動で除算した結果と、状態価値関数をフィードバック係数行列の各成分で微分した結果とを対応付けて形成される後述する式（２４）を用いる。
【００６３】
ここで、推定部３０２は、勾配関数行列の各成分を推定した推定成分を生成する際に、一括最小二乗法、逐次最小二乗法、一括ＬＳＴＤアルゴリズム、逐次ＬＳＴＤアルゴリズムなどを用いてもよい。これにより、推定部３０２は、任意の状態を代入可能な推定勾配関数行列を生成することができる。
【００６４】
推定部３０２は、推定した勾配関数を用いて、第１のパラメータを更新する。例えば、推定部３０２は、生成した推定勾配関数行列を用いて、フィードバック係数行列を更新する。具体的には、推定部３０２は、図１２に後述するステップＳ１２０２において、推定勾配関数行列を用いて、フィードバック係数行列を更新する。これにより、推定部３０２は、状態を代入した推定勾配関数行列の推定値に基づき、フィードバック係数行列を更新することができる。
【００６５】
決定部３０３は、更新したフィードバック係数行列を用いた方策に基づいて、制御対象１１０に対する入力値を決定する。これにより、決定部３０３は、累積コストや累積報酬を最適化することができる入力値を決定することができる。
【００６６】
出力部３０４は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークＩ／Ｆ２０３による外部装置への送信、または、メモリ２０２や記録媒体２０５などの記憶領域への記憶である。
【００６７】
例えば、出力部３０４は、決定した入力値を制御対象１１０に対して出力する。これにより、出力部３０４は、制御対象１１０を制御することができる。また、例えば、出力部３０４は、決定した入力値を記憶部３００に対して出力する。これにより、出力部３０４は、入力値を記憶部３００に記憶し、推定部３０２や決定部３０３に参照させることができる。
【００６８】
（強化学習の実施例）
次に、図４を用いて、強化学習の実施例について説明する。
【００６９】
図４は、強化学習の実施例を示す説明図である。図４に示すように、実施例において、下記式（１）〜下記式（９）によって、制御対象１１０の状態方程式と、即時コストの２次形式の方程式と、目的と、方策とが規定され、問題設定が行われる。実施例において、制御対象１１０の状態は、直接観測可能である。
【００７０】
【数１】
2020144713.tif 000003
【００７１】
上記式（１）は、制御対象１１０の状態方程式である。ｔは、単位時間の倍数で示される時刻である。ｔ＋１は、時刻ｔから単位時間経過した次の時刻である。ｘt+1は、次の時刻ｔ＋１における状態である。ｘtは、時刻ｔにおける状態である。ｕtは、時刻ｔにおける入力である。Ａ、Ｂは、係数行列である。上記式（１）は、次の時刻ｔ＋１における状態ｘt+1が、時刻ｔにおける状態ｘtと、時刻ｔにおける入力ｕtによって決定される関係があることを示す。係数行列Ａ，Ｂは、未知である。
【００７２】
【数２】
2020144713.tif 000004
【００７３】
上記式（２）は、状態ｘ0が、ｎ次元であることを示す。ｎは、既知である。中抜き文字のＲは、実数空間を示す。中抜き文字のＲの上付文字は次元数を示す。
【００７４】
【数３】
2020144713.tif 000005
【００７５】
上記式（３）は、入力ｕtが、ｍ次元であることを示す。
【００７６】
【数４】
2020144713.tif 000006
【００７７】
上記式（４）は、係数行列Ａが、ｎ×ｎ次元である（ｎ行ｎ列である）ことを示し、係数行列Ｂが、ｎ×ｍ次元である（ｎ行ｍ列である）ことを示す。（Ａ，Ｂ）は可安定（ｓｔａｂｉｌｉｚａｂｌｅ）である。
【００７８】
【数５】
2020144713.tif 000007
【００７９】
上記式（５）は、制御対象１１０で発生する即時コストの方程式である。ｃtは、時刻ｔにおける入力ｕtに応じて単位時間後に発生する即時コストである。上付き文字Ｔは、転置を示す。上記式（５）は、即時コストｃtが、時刻ｔにおける状態ｘtと、時刻ｔにおける入力ｕtとの２次形式によって決定される関係があることを示す。係数行列Ｑ，Ｒは、未知である。即時コストｃtは、直接観測可能である。
【００８０】
【数６】
2020144713.tif 000008
【００８１】
上記式（６）は、係数行列Ｑが、ｎ×ｎ次元であることを示す。≧０は、半正定値行列であることを示す。また、上記式（６）は、係数行列Ｒが、ｍ×ｍ次元であることを示す。＞０は、正定値行列であることを示す。
【００８２】
【数７】
2020144713.tif 000009
【００８３】
上記式（７）は、累積コストＶを示す方程式である。強化学習の目的は、累積コストＶの最小化である。γは、割引率（ｄｉｓｃｏｕｎｔ  ｒａｔｅ）である。γは、０〜１の値である。
【００８４】
【数８】
2020144713.tif 000010
【００８５】
上記式（１）〜上記式（７）の下では、累積コストＶを最小化する方策は、上記式（８）により表現される。従って、以下の説明では、方策が、上記式（８）により表現される場合について説明する。Ｆtは、時刻ｔに用いられるフィードバック係数行列であって、状態ｘtに関する係数行列を示す。上記式（８）は、時刻ｔにおける状態ｘtに基づいて、時刻ｔにおける入力ｕtを決定する方程式である。
【００８６】
【数９】
2020144713.tif 000011
【００８７】
上記式（９）は、フィードバック係数行列Ｆtが、ｍ×ｎ次元であることを示す。以下の説明では、フィードバック係数行列Ｆtを単に「フィードバック係数行列Ｆ」と表記する場合がある。次に、上述した非特許文献１を参考に、フィードバック係数行列Ｆを更新する具体例について説明する。
【００８８】
（上述した非特許文献１を参考に、フィードバック係数行列Ｆを更新する具体例）
方策が、上記式（８）により表現される場合、時刻０で状態ｘから強化学習による制御対象１１０の制御を開始すると、累積コストＶは、フィードバック係数行列Ｆと状態ｘとの関数である状態価値関数ν（ｘ：Ｆ）によって表現される。
【００８９】
ここで、累積コストＶを最小化するためには、状態価値関数ν（ｘ：Ｆ）のフィードバック係数行列Ｆに関する勾配関数行列▽Fν（ｘ：Ｆ）に沿った方向に、フィードバック係数行列Ｆを変化させることが好ましい。
【００９０】
これに対し、上述した非特許文献１によれば、フィードバック係数行列Ｆの成分を１つずつ選び、選んだ成分にだけ摂動が加えられた状態で入力決定を行い、勾配関数行列▽Fν（ｘ：Ｆ）を推定し、フィードバック係数行列Ｆを更新する制御手法αが考えられる。ここで、制御手法αについて、具体的に説明する。
【００９１】
制御手法αは、フィードバック係数行列Ｆ＋εＥijの数式によって、フィードバック係数行列Ｆの（ｉ，ｊ）成分Ｆijに摂動を加え、入力決定を行うことをＮ’回繰り返す。（ｉ，ｊ）は、行列の成分を特定するインデックスである。インデックス（ｉ，ｊ）は、例えば、行列Ｆのｉ行ｊ列の成分を特定する。Ｅijは、インデックス（ｉ，ｊ）で特定される成分が１、その成分以外の成分が０であるｍ×ｎ次元行列である。εは、０ではない実数である。
【００９２】
制御手法αは、上記式（８）のＦtに代わり、フィードバック係数行列Ｆ＋εＥijを用いて、入力決定を行う。この場合、状態価値関数ν（ｘ：Ｆ）は、下記式（１０）により表現される。
【００９３】
【数１０】
2020144713.tif 000012
【００９４】
結果として、決定した入力に対応するＴＤ誤差は、フィードバック係数行列Ｆの（ｉ，ｊ）の成分Ｆijに関する状態価値関数の偏微分係数（ｐａｒｔｉａｌ  ｄｉｆｆｅｒｅｎｔｉａｌ  ｃｏｅｆｆｉｃｉｅｎｔ）によって表現することができる。
【００９５】
さらに、制御対象１１０の状態変化が線形時不変確定ダイナミクスに従い、即時コストが２次形式で表現される場合、状態価値関数ν（ｘ：Ｆ）は、下記式（１１）のように２次形式で表現される。
【００９６】
【数１１】
2020144713.tif 000013
【００９７】
このため、状態価値関数ν（ｘ：Ｆ）を、フィードバック係数行列Ｆの（ｉ，ｊ）の成分Ｆijで偏微分した関数∂ν／∂Ｆij（ｘ：Ｆ）は、下記式（１２）のように２次形式で表現される。以下の説明では、偏微分した関数を「偏導関数（ｐａｒｔｉａｌ  ｄｅｒｉｖａｔｉｖｅ）」と表記する場合がある。
【００９８】
【数１２】
2020144713.tif 000014
【００９９】
制御手法αは、上記式（１２）および下記式（１３）により求められるベクトルθFijFを利用し、フィードバック係数行列Ｆの（ｉ，ｊ）の成分Ｆijに関する偏導関数∂ν／∂Ｆij（ｘ：Ｆ）の推定関数を算出する。○と×を重ねた記号は、クロネッカー積を示す。上付文字のクロネッカー積は、同じ変数同士のクロネッカー積を示す。上付文字のクロネッカー積に付された数字は、クロネッカー積の回数を示す。δF（ｘ：εＥij）は、ＴＤ誤差である。
【０１００】
【数１３】
2020144713.tif 000015
以下の説明では、推定関数は、例えば、数式中では、偏導関数∂ν／∂Ｆij（ｘ：Ｆ）の上部に＾を付して、下記式（１４）のように記載する場合がある。また、推定関数は、文中では、ｈａｔ｛∂ν／∂Ｆij（ｘ：Ｆ）｝と記載する場合がある。
【０１０１】
【数１４】
2020144713.tif 000016
【０１０２】
制御手法αは、同様に、フィードバック係数行列Ｆの他の成分についても、摂動を加え、入力決定を行うことをＮ’回繰り返し、偏導関数∂ν／∂Ｆij（ｘ：Ｆ）の推定関数ｈａｔ｛∂ν／∂Ｆij（ｘ：Ｆ）｝を算出する。そして、制御手法αは、偏導関数∂ν／∂Ｆijの推定関数ｈａｔ｛∂ν／∂Ｆij（ｘ：Ｆ）｝を用いて、フィードバック係数行列の勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列を生成する。
【０１０３】
以下の説明では、推定勾配関数行列は、例えば、数式中では、勾配関数行列▽Fν（ｘ：Ｆ）の上部に＾を付して、下記式（１５）のように記載する場合がある。また、推定勾配関数行列は、例えば、文中では、ｈａｔ｛▽Fν（ｘ：Ｆ）｝と記載する場合がある。
【０１０４】
【数１５】
2020144713.tif 000017
【０１０５】
これにより、制御手法αは、勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列ｈａｔ｛▽Fν（ｘ：Ｆ）｝に基づき、フィードバック係数行列Ｆを更新することができる。
【０１０６】
しかしながら、制御手法αは、フィードバック係数行列Ｆの成分ごとに、入力決定をＮ’回行うことになるため、フィードバック係数行列Ｆを更新するまでに、入力決定をｎ×ｍ×Ｎ’回行うことになる。また、制御手法αは、入力決定をｎ×ｍ×Ｎ’回行うため、入力決定に応じて所定時間待機して即時コストまたは即時報酬を観測する処理回数の増大化も招くことになる。結果として、制御手法αは、処理負担および処理時間の増大化を招く。
【０１０７】
従って、入力決定の回数の低減化を図り、処理負担および処理時間の低減化を図ることが望まれる。これに対し、方策改善装置１００により、フィードバック係数行列Ｆのすべての成分に纏めて摂動を加えて入力決定を行うことにより、入力決定の回数の低減化を図りつつ、フィードバック係数行列Ｆを更新することができる具体例について説明する。
【０１０８】
（方策改善装置１００がフィードバック係数行列Ｆを更新する具体例）
ここで、例えば、フィードバック係数行列Ｆと同じ大きさの摂動行列ρを加えることにより、フィードバック係数行列Ｆのすべての成分に纏めて摂動を加える場合が考えられる。この場合、上記式（８）のＦtに代わり、フィードバック係数行列Ｆ＋ρを用いて、入力決定を行うことになるため、状態価値関数ν（ｘ：Ｆ）は、下記式（１６）により表現される。ρ＝［ρij］∈Ｒm×nである。｜ρij｜≦ε≦１である。
【０１０９】
【数１６】
2020144713.tif 000018
【０１１０】
上記式（１６）は、フィードバック係数行列Ｆの（ｉ，ｊ）の成分Ｆijに関する偏微分係数∂ν／∂Ｆij（ｘ：Ｆ）ρijの和が、余計な項として含まれる。余計な項は、勾配関数行列▽Fν（ｘ：Ｆ）の推定に悪影響を与える項である。このため、ＴＤ誤差に基づき、フィードバック係数行列Ｆの勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列ｈａｔ｛▽Fν（ｘ：Ｆ）｝を求める際に、余計な項を無視可能にすることが望まれる。
【０１１１】
これに対し、方策改善装置１００は、摂動行列ρとして、下記第１の性質および下記第２の性質を有する摂動行列Δ＝［Δij］を確率的に生成し、上記式（８）のＦtに代わり、フィードバック係数行列Ｆ＋εΔを用いて、入力決定をＮ’回繰り返すようにする。
【０１１２】
第１の性質は、Ｐｒｏｂ（Δij＝１）＝Ｐｒｏｂ（Δij＝−１）＝１／２，ｆｏｒ  ａｌｌ  ｉ＝１，・・・，ｍ  ｊ＝１，・・・，ｎという性質である。換言すれば、摂動Δijは、等確率で、絶対値が等しい正値と負値とのいずれかに決定される。ここでは、絶対値＝１である。第２の性質は、摂動Δijが、互いに独立に決定されるという性質である。以下の説明では、摂動行列Δまたは摂動Δijを、生成された時刻ｔを明示する場合、下付文字ｔを付して表記する場合がある。
【０１１３】
上記式（８）のＦtに代わり、フィードバック係数行列Ｆ＋εΔを用いて、入力決定を行う場合、状態価値関数ν（ｘ：Ｆ）は、下記式（１７）により表現される。
【０１１４】
【数１７】
2020144713.tif 000019
【０１１５】
これに対し、上記式（１７）の両辺をΔij＝１ｏｒ−１で除算すると、下記式（１８）が求められる。下記式（１８）は、余計な係数がない∂ν／∂Ｆij（ｘ：Ｆ）εが現れる。∂ν／∂Ｆij（ｘ：Ｆ）εは、上記式（１０）に現れる項と同様である。
【０１１６】
【数１８】
2020144713.tif 000020
【０１１７】
さらに、上記式（１８）に基づき、上記式（１３）に対応する下記式（１９）を求めることができる。
【０１１８】
【数１９】
2020144713.tif 000021
【０１１９】
上記式（１９）は、上記式（１３）と同様の項を含む。一方で、上記式（１９）は、上記式（１３）とは異なる余計な項を含む。ここでは、余計な項は、Σの項である。しかしながら、上述した第１の性質および第２の性質から、Σの項は、任意のｘに対して期待値０かつ異なるｘに関して独立である。
【０１２０】
このため、方策改善装置１００は、ガウスマルコフの定理によれば、上記式（１９）を、上記式（１３）の代わりに用いても、偏導関数∂ν／∂Ｆij（ｘ：Ｆ）の推定関数ｈａｔ｛∂ν／∂Ｆij（ｘ：Ｆ）｝を精度よく算出可能になる。
【０１２１】
そして、方策改善装置１００は、偏導関数∂ν／∂Ｆijの推定関数ｈａｔ｛∂ν／∂Ｆij（ｘ：Ｆ）｝を用いて、フィードバック係数行列の勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列を生成可能になる。
【０１２２】
このため、方策改善装置１００は、勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列ｈａｔ｛▽Fν（ｘ：Ｆ）｝に基づき、フィードバック係数行列Ｆを更新することができる。フィードバック係数行列Ｆを更新する具体例は、図８〜図１２を用いて後述する。
【０１２３】
これにより、方策改善装置１００は、状態ｘと分離された形式で、行列∂ＰF／∂Ｆijの推定行列を生成することができる。このため、方策改善装置１００は、ある時刻に、勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列ｈａｔ｛▽Fν（ｘ：Ｆ）｝を任意の状態ｘを代入可能な形式で算出することができる。そして、方策改善装置１００は、その時刻以降は、ある状態について勾配関数行列▽Fν（ｘ：Ｆ）の推定値を算出する場合、算出済みの推定勾配関数行列ｈａｔ｛▽Fν（ｘ：Ｆ）｝に、その状態を代入すれば算出可能になる。
【０１２４】
このように、方策改善装置１００は、ある状態ｘに対する勾配関数行列▽Fν（ｘ：Ｆ）の推定値ではなく、ある時刻以降に利用可能である勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列ｈａｔ｛▽Fν（ｘ：Ｆ）｝を生成することができる。このため、方策改善装置１００は、様々な状態について勾配関数行列▽Fν（ｘ：Ｆ）の推定値を算出することを比較的容易にすることができ、処理量の低減化を図ることができる。
【０１２５】
また、方策改善装置１００は、実際に観測した状態や即時コスト、入力に基づいて勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列ｈａｔ｛▽Fν（ｘ：Ｆ）｝を生成することができる。このため、方策改善装置１００は、勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列ｈａｔ｛▽Fν（ｘ：Ｆ）｝を精度よく生成することができる。
【０１２６】
また、方策改善装置１００は、累積コストを効率よく最小化するように、フィードバック係数行列Ｆを更新することができる。このため、方策改善装置１００は、制御対象１１０の状態が好ましい状態になるまでにかかる時間の低減化を図ることができる。方策改善装置１００は、例えば、勾配関数行列▽Fν（ｘ：Ｆ）を用いない強化学習の技術に比べて、制御対象１１０の状態が好ましい状態になるまでにかかる時間の低減化を図ることができる。
【０１２７】
また、方策改善装置１００は、勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列ｈａｔ｛▽Fν（ｘ：Ｆ）｝に基づき、フィードバック係数行列Ｆを更新する際に、フィードバック係数行列Ｆの変化度合いを調整することができる。このため、方策改善装置１００は、フィードバック係数行列Ｆの急変化による制御対象１１０への悪影響などを防止することができる。
【０１２８】
例えば、状態価値関数が精度よく推定されていない段階でも、フィードバック係数行列Ｆの変化度合いを調整することができない場合が考えられる。この場合、フィードバック係数行列Ｆが急変化し、好ましくない係数行列になり、累積コストや累積報酬が最適化されるように制御対象１１０を制御することが難しく、制御対象１１０の安定性を損なう可能性がある。これに対し、方策改善装置１００は、フィードバック係数行列Ｆの変化度合いを調整することができる。このため、方策改善装置１００は、状態価値関数が精度よく推定されていない段階でも、フィードバック係数行列Ｆの変化度合いを調整することができ、フィードバック係数行列Ｆを急変化しづらくすることができる。
【０１２９】
また、方策改善装置１００は、様々な時刻の状態について勾配関数行列▽Fν（ｘ：Ｆ）の推定値を算出した結果に基づいて、勾配関数行列▽Fν（ｘ：Ｆ）の推定値の統計値を算出することができる。また、方策改善装置１００は、フィードバック係数行列Ｆを更新するまでに、入力決定を１×Ｎ’回行えばよくなり、処理負担および処理時間の低減化を図ることができる。
【０１３０】
（制御対象１１０の具体例）
次に、図５〜図７を用いて、制御対象１１０の具体例について説明する。
【０１３１】
図５〜図７は、制御対象１１０の具体例を示す説明図である。図５の例では、制御対象１１０は、熱源であるサーバ５０１と、ＣＲＡＣやＣｈｉｌｌｅｒなどの冷却器５０２とを含むサーバルーム５００である。入力は、冷却器５０２に対する設定温度や設定風量である。状態は、サーバルーム５００に設けられたセンサ装置からのセンサデータなどであり、例えば、温度などである。状態は、制御対象１１０以外から得られる制御対象１１０に関するデータであってもよく、例えば、気温や天気などであってもよい。即時コストは、例えば、サーバルーム５００の単位時間ごとの消費電力量である。単位時間は、例えば、５分である。目標は、サーバルーム５００の累積消費電力量の最小化である。状態価値関数は、例えば、サーバルーム５００の累積消費電力量についての状態の価値を表す。
【０１３２】
方策改善装置１００は、累積コストである累積消費電力量を効率よく最小化するように、フィードバック係数行列Ｆを更新することができる。また、方策改善装置１００は、フィードバック係数行列Ｆの更新にかかる入力決定回数の低減化を図ることができる。このため、方策改善装置１００は、制御対象１１０の累積消費電力量が最小化されるまでにかかる時間の低減化を図ることができ、サーバルーム５００の運営コストの低減化を図ることができる。また、方策改善装置１００は、サーバ５０１の使用状況の変化および気温の変化などが発生した場合も、その変化から比較的短い時間で、累積消費電力量を効率よく最小化することができる。
【０１３３】
図６の例では、制御対象１１０は、発電機６００である。発電機６００は、例えば、風力発電機である。入力は、発電機６００に対する指令値である。指令値は、例えば、発電機トルクである。状態は、発電機６００に設けられたセンサ装置からのセンサデータであり、例えば、発電機６００の発電量や発電機６００のタービンの回転量または回転速度などである。状態は、発電機６００に対する風向や風速などであってもよい。即時報酬は、例えば、発電機６００の単位時間ごとの発電量である。単位時間は、例えば、５分である。目標は、例えば、発電機６００の累積発電量の最大化である。状態価値関数は、例えば、発電機６００の累積発電量についての状態の価値を表す。
【０１３４】
方策改善装置１００は、累積報酬である累積発電量を効率よく最大化するように、フィードバック係数行列Ｆを更新することができる。また、方策改善装置１００は、フィードバック係数行列Ｆの更新にかかる入力決定回数の低減化を図ることができる。このため、方策改善装置１００は、制御対象１１０の累積発電量が最大化されるまでにかかる時間の低減化を図ることができ、発電機６００の利益の増大化を図ることができる。また、方策改善装置１００は、発電機６００の状況の変化などが発生した場合も、その変化から比較的短い時間で、累積発電量を効率よく最大化することができる。
【０１３５】
図７の例では、制御対象１１０は、産業用ロボット７００である。産業用ロボット７００は、例えば、ロボットアームである。入力は、産業用ロボット７００に対する指令値である。指令値は、例えば、産業用ロボット７００のモータートルクなどである。状態は、産業用ロボット７００に設けられたセンサ装置からのセンサデータであり、例えば、産業用ロボット７００の撮影した画像、産業用ロボット７００の関節位置や関節角度や関節角速度などである。即時報酬は、例えば、産業用ロボット７００の単位時間ごとの組み立て数などである。目標は、産業用ロボット７００の生産性の最大化である。状態価値関数は、例えば、産業用ロボット７００の累積組み立て数についての状態の価値を表す。
【０１３６】
方策改善装置１００は、累積報酬である累積組み立て数を効率よく最大化するように、フィードバック係数行列Ｆを更新することができる。また、方策改善装置１００は、フィードバック係数行列Ｆの更新にかかる入力決定回数の低減化を図ることができる。このため、方策改善装置１００は、制御対象１１０の累積組み立て数が最大化されるまでにかかる時間の低減化を図ることができ、産業用ロボット７００の利益の増大化を図ることができる。また、方策改善装置１００は、産業用ロボット７００の状況の変化などが発生した場合も、その変化から比較的短い時間で、累積組み立て数を効率よく最大化することができる。
【０１３７】
また、制御対象１１０は、上述した具体例のシミュレータであってもよい。また、制御対象１１０は、風力発電以外の発電設備であってもよい。また、制御対象１１０は、例えば、化学プラントや自律移動ロボットなどであってもよい。また、制御対象１１０は、ゲームであってもよい。
【０１３８】
（強化学習処理手順の一例）
次に、図８および図９を用いて、強化学習処理手順の一例について説明する。
【０１３９】
図８は、バッチ処理形式の強化学習処理手順の一例を示すフローチャートである。図８において、まず、方策改善装置１００は、フィードバック係数行列Ｆを初期化し、状態ｘ0を観測し、入力ｕ0を決定する（ステップＳ８０１）。
【０１４０】
次に、方策改善装置１００は、前回の入力ｕt-1に応じた、状態ｘtと、即時コストｃt-1とを観測し、入力ｕt＝Ｆｘtを算出する（ステップＳ８０２）。そして、方策改善装置１００は、ステップＳ８０２をＮ回繰り返したか否かを判定する（ステップＳ８０３）。
【０１４１】
ここで、Ｎ回繰り返していない場合（ステップＳ８０３：Ｎｏ）、方策改善装置１００は、ステップＳ８０２の処理に戻る。一方で、Ｎ回繰り返している場合（ステップＳ８０３：Ｙｅｓ）、方策改善装置１００は、ステップＳ８０４の処理に移行する。
【０１４２】
ステップＳ８０４では、方策改善装置１００は、状態ｘt，ｘt-1，・・・，ｘt-N-1と、即時コストｃt-1，ｃt-2，・・・，ｃt-N-2とに基づいて、状態価値関数の推定関数を算出する（ステップＳ８０４）。
【０１４３】
次に、方策改善装置１００は、状態価値関数の推定関数に基づいて、フィードバック係数行列Ｆを更新する（ステップＳ８０５）。フィードバック係数行列Ｆを更新する一例については、具体的には、図１０を用いて後述する。そして、方策改善装置１００は、ステップＳ８０２の処理に戻る。これにより、方策改善装置１００は、制御対象１１０を制御することができる。
【０１４４】
図９は、逐次処理形式の強化学習処理手順の一例を示すフローチャートである。図９において、まず、方策改善装置１００は、フィードバック係数行列Ｆと状態価値関数の推定関数とを初期化し、状態ｘ0を観測し、入力ｕ0を決定する（ステップＳ９０１）。
【０１４５】
次に、方策改善装置１００は、前回の入力ｕt-1に応じた、状態ｘtと、即時コストｃt-1とを観測し、入力ｕt＝Ｆｘtを算出する（ステップＳ９０２）。そして、方策改善装置１００は、状態ｘt，ｘt-1と、即時コストｃt-1とに基づいて、状態価値関数の推定関数を更新する（ステップＳ９０３）。
【０１４６】
次に、方策改善装置１００は、ステップＳ９０３をＮ回繰り返したか否かを判定する（ステップＳ９０４）。ここで、Ｎ回繰り返していない場合（ステップＳ９０４：Ｎｏ）、方策改善装置１００は、ステップＳ９０２の処理に戻る。一方で、Ｎ回繰り返している場合（ステップＳ９０４：Ｙｅｓ）、方策改善装置１００は、ステップＳ９０５の処理に移行する。
【０１４７】
ステップＳ９０５では、方策改善装置１００は、状態価値関数の推定関数に基づいて、フィードバック係数行列Ｆを更新する（ステップＳ９０５）。フィードバック係数行列Ｆを更新する一例については、具体的には、図１０を用いて後述する。そして、方策改善装置１００は、ステップＳ９０２の処理に戻る。これにより、方策改善装置１００は、制御対象１１０を制御することができる。
【０１４８】
（方策改善処理手順の一例）
次に、図１０を用いて、ステップＳ８０５の具体例であって、方策改善装置１００がフィードバック係数行列Ｆを更新し、方策を改善する方策改善処理手順の一例について説明する。ステップＳ９０５の具体例も、ステップＳ８０５の具体例と同様である。
【０１４９】
図１０は、方策改善処理手順の一例を示すフローチャートである。図１０において、摂動行列Δtを生成する（ステップＳ１００１）。そして、方策改善装置１００は、コストｃt-1と状態ｘtとを観測し、下記式（２０）に基づいて、入力ｕtを算出する（ステップＳ１００２）。
【０１５０】
【数２０】
2020144713.tif 000022
【０１５１】
次に、方策改善装置１００は、ステップＳ１００２をＮ’回繰り返したか否かを判定する（ステップＳ１００３）。ここで、Ｎ’回繰り返していない場合（ステップＳ１００３：Ｎｏ）、方策改善装置１００は、ステップＳ１００１の処理に戻る。一方で、Ｎ’回繰り返している場合（ステップＳ１００３：Ｙｅｓ）、方策改善装置１００は、ステップＳ１００４の処理に移行する。
【０１５２】
ステップＳ１００４では、方策改善装置１００は、係数Ｆijに関する状態価値関数の偏導関数の推定関数を、状態ｘt，ｘt-1，・・・，ｘt-N'-1と即時コストｃt-1，ｃt-2，・・・，ｃt-N'-2と状態価値関数の推定関数とを用いて算出する（ステップＳ１００４）。係数Ｆijに関する状態価値関数の偏導関数の推定関数を算出する一例については、具体的には、図１１を用いて後述する。
【０１５３】
次に、方策改善装置１００は、推定勾配関数行列を用いて、フィードバック係数行列Ｆを更新する（ステップＳ１００５）。フィードバック係数行列Ｆを更新する一例については、具体的には、図１２を用いて後述する。そして、方策改善装置１００は、方策改善処理を終了する。
【０１５４】
（推定処理手順の一例）
次に、図１１を用いて、ステップＳ１００５の具体例であって、係数Ｆijに関する状態価値関数の偏導関数の推定関数を算出する推定処理手順の一例について説明する。
【０１５５】
図１１は、推定処理手順の一例を示すフローチャートである。図１１において、まず、方策改善装置１００は、下記式（２１）に基づいて、インデックスセットＳを初期化する（ステップＳ１１０１）。
【０１５６】
【数２１】
2020144713.tif 000023
【０１５７】
（ｉ，ｊ）は、行列の成分を特定するインデックスである。インデックス（ｉ，ｊ）は、例えば、行列のｉ行ｊ列の成分を特定する。以下の説明では、ｍは、フィードバック係数行列Ｆの行数である。ｎは、フィードバック係数行列Ｆの列数である。
【０１５８】
次に、方策改善装置１００は、下記式（２２）に基づいて、ＴＤ誤差δt-1，・・・，δt-N'-2を算出する（ステップＳ１１０２）。
【０１５９】
【数２２】
2020144713.tif 000024
【０１６０】
そして、方策改善装置１００は、インデックスセットＳから、インデックス（ｉ，ｊ）を取り出す（ステップＳ１１０３）。
【０１６１】
次に、方策改善装置１００は、下記式（２３）に基づいて、ＴＤ誤差δt-1，・・・，δt-N'-2を、それぞれ、摂動εΔij:t-1，・・・，εΔij:t-N'-2で除算した結果を取得する（ステップＳ１１０４）。
【０１６２】
【数２３】
2020144713.tif 000025
【０１６３】
次に、方策改善装置１００は、一括最小二乗法に基づいて、下記式（２４）によって、ベクトルθFijFの推定ベクトルを算出する（ステップＳ１１０５）。
【０１６４】
【数２４】
2020144713.tif 000026
【０１６５】
Ｔは、転置を示す。○と×を重ねた記号は、クロネッカー積を示す。†は、ムーア−ペンローズ（Ｍｏｏｒｅ−Ｐｅｎｒｏｓｅ）の一般化逆行列を示す。
【０１６６】
上記式（２４）は、上記式（２３）に対応するベクトルと、状態に依存しないベクトルθFijFおよび下記式（２５）で規定される状態に依存する行列の積との近似等式を形成し、その近似等式に一括最小二乗法を適用することにより得られる。
【０１６７】
【数２５】
2020144713.tif 000027
【０１６８】
ここで、状態に依存しないベクトルθFijFの推定ベクトルおよび上記式（２５）で規定される状態に依存する行列の積は、状態価値関数をフィードバック係数行列Ｆの（ｉ，ｊ）成分で微分した結果に対応する。
【０１６９】
次に、方策改善装置１００は、下記式（２６）に基づいて、ベクトルθFijFの推定ベクトルを用いて、行列∂ＰF／∂Ｆijの推定行列を生成する（ステップＳ１１０６）。
【０１７０】
【数２６】
2020144713.tif 000028
【０１７１】
ｖｅｃ-1は、ベクトルを行列に逆変換する記号である。
【０１７２】
次に、方策改善装置１００は、下記式（２７）に基づいて、状態価値関数をＦijによって偏微分した偏導関数∂ν／∂Ｆijの推定関数を算出する（ステップＳ１１０７）。
【０１７３】
【数２７】
2020144713.tif 000029
【０１７４】
そして、方策改善装置１００は、インデックスセットＳが空であるか否かを判定する（ステップＳ１１０８）。ここで、空ではない場合（ステップＳ１１０８：Ｎｏ）、方策改善装置１００は、ステップＳ１１０３の処理に戻る。一方で、空である場合（ステップＳ１１０８：Ｙｅｓ）、方策改善装置１００は、推定処理を終了する。
【０１７５】
（更新処理手順の一例）
次に、図１２を用いて、ステップＳ１００５の具体例であって、方策改善装置１００がフィードバック係数行列Ｆを更新する更新処理手順の一例について説明する。
【０１７６】
図１２は、更新処理手順の一例を示すフローチャートである。図１２において、まず、方策改善装置１００は、下記式（２８）に基づいて、偏導関数∂ν／∂Ｆijの推定関数を用いて、フィードバック係数行列の勾配関数行列▽Fν（ｘ：Ｆ）を推定した推定勾配関数行列を生成する（ステップＳ１２０１）。
【０１７７】
【数２８】
2020144713.tif 000030
【０１７８】
次に、方策改善装置１００は、下記式（２９）に基づいて、フィードバック係数行列Ｆを更新する（ステップＳ１２０２）。
【０１７９】
【数２９】
2020144713.tif 000031
【０１８０】
αは、重みである。そして、方策改善装置１００は、更新処理を終了する。これにより、方策改善装置１００は、状態価値関数を改善し、累積コストや累積報酬が効率よく最適化されるように、フィードバック係数行列Ｆを更新することができる。また、方策改善装置１００は、任意のｘが代入可能な推定勾配関数行列を生成することができる。
【０１８１】
ここでは、方策改善装置１００が、即時コストに基づく強化学習を実現する場合について説明したが、これに限らない。例えば、方策改善装置１００が、即時報酬に基づく強化学習を実現する場合があってもよい。この場合、方策改善装置１００は、上記式（２９）に代わり、下記式（３０）を用いるようにする。
【０１８２】
【数３０】
2020144713.tif 000032
【０１８３】
ここでは、方策改善装置１００が、フィードバック係数行列Ｆのすべての成分に対して摂動を加える場合について説明したが、これに限らない。例えば、方策改善装置１００が、フィードバック係数行列Ｆの成分をグループ分けし、グループごとに複数の成分に対して摂動を加える場合があってもよい。グループは、例えば、行単位の成分のグループまたは列単位の成分のグループなどである。グループは、例えば、上三角部分や下三角部分の成分のグループなどであってもよい。この場合も、摂動は、同様に、上述した第１の性質および第２の性質に基づいて決定される。この場合、方策改善装置１００は、グループごとに、図１１に示した処理を実行することにより、状態価値関数をＦijによって偏微分した偏導関数∂ν／∂Ｆijの推定関数を算出する。
【０１８４】
以上説明したように、方策改善装置１００によれば、方策を与える第１のパラメータの複数の成分に対して摂動を加えることができる。方策改善装置１００によれば、複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、制御対象１１０に対する入力決定を行った結果に基づいて、第１のパラメータに関する状態価値関数の勾配関数を推定することができる。方策改善装置１００によれば、推定した勾配関数を用いて、第１のパラメータを更新することができる。これにより、方策改善装置１００は、フィードバック係数行列の更新にかかる入力決定回数の低減化を図ることができ、入力決定に応じて所定時間待機して即時コストまたは即時報酬を観測する処理回数の低減化も図ることができる。このため、方策改善装置１００は、処理負担および処理時間の低減化を図ることができる。
【０１８５】
方策改善装置１００によれば、第１のパラメータのすべての成分に対して摂動を加えることができる。これにより、方策改善装置１００は、フィードバック係数行列の更新にかかる入力決定回数をさらに低減することができる。
【０１８６】
方策改善装置１００によれば、複数の成分のそれぞれの成分に対して加えられる摂動を、互いに独立に決定し、かつ、等確率で絶対値が等しい正値と負値とのいずれかに決定することができる。これにより、方策改善装置１００は、フィードバック係数行列を精度よく更新することができる。
【０１８７】
方策改善装置１００によれば、第１のパラメータの複数の成分に対して摂動を加え、複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、制御対象１１０に対する入力決定を行うことを複数回繰り返すことができる。方策改善装置１００によれば、複数回のそれぞれの回に応じて得られた制御対象１１０に対する入力決定を行った結果に基づいて、勾配関数を推定することができる。これにより、方策改善装置１００は、フィードバック係数行列を精度よく更新することができる。
【０１８８】
方策改善装置１００によれば、それぞれの回に応じて得られた制御対象１１０に対する入力決定を行った結果に基づいて、それぞれの回に対応するＴＤ誤差を算出することができる。方策改善装置１００によれば、第１のパラメータのそれぞれの成分について、それぞれの回に対応するＴＤ誤差を、当該回において当該成分に加えた摂動で除算することができる。方策改善装置１００によれば、除算した結果と、状態価値関数をそれぞれの成分で微分した結果とを対応付けて、勾配関数を推定することができる。これにより、方策改善装置１００は、状態を代入可能な形式で、推定勾配関数行列を生成することができる。
【０１８９】
方策改善装置１００によれば、制御対象１１０として、空調設備を設定することができる。これにより、方策改善装置１００は、空調設備を制御することができる。
【０１９０】
方策改善装置１００によれば、制御対象１１０として、発電設備を設定することができる。これにより、方策改善装置１００は、発電設備を制御することができる。
【０１９１】
方策改善装置１００によれば、制御対象１１０として、産業用ロボットを設定することができる。これにより、方策改善装置１００は、産業用ロボットを制御することができる。
【０１９２】
なお、本実施の形態で説明した方策改善方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した方策改善プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した方策改善プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１９３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１９４】
（付記１）状態価値関数による強化学習の方策を改善する方策改善方法であって、
前記方策を与える第１のパラメータの複数の成分に対して摂動を加え、
前記複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、前記強化学習における制御対象に対する入力決定を行った結果に基づいて、前記第１のパラメータに関する前記状態価値関数の勾配関数を推定し、
推定した前記勾配関数を用いて、前記第１のパラメータを更新する、
処理をコンピュータが実行することを特徴とする方策改善方法。
【０１９５】
（付記２）前記加える処理は、
前記第１のパラメータのすべての成分に対して摂動を加える、ことを特徴とする付記１に記載の方策改善方法。
【０１９６】
（付記３）前記複数の成分のそれぞれの成分に対して加えられる摂動は、互いに独立に決定され、かつ、等確率で絶対値が等しい正値と負値とのいずれかに決定される、ことを特徴とする付記１または２に記載の方策改善方法。
【０１９７】
（付記４）前記加える処理は、
前記第１のパラメータの複数の成分に対して摂動を加え、前記複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、前記制御対象に対する入力決定を行うことを複数回繰り返し、
前記推定する処理は、
前記複数回のそれぞれの回に応じて得られた前記制御対象に対する入力決定を行った結果に基づいて、前記勾配関数を推定する、ことを特徴とする付記１〜３のいずれか一つに記載の方策改善方法。
【０１９８】
（付記５）前記推定する処理は、
前記それぞれの回に応じて得られた前記制御対象に対する入力決定を行った結果に基づいて、前記それぞれの回に対応するＴＤ誤差を算出し、
前記第１のパラメータのそれぞれの成分について、前記それぞれの回に対応するＴＤ誤差を、当該回において当該成分に加えた摂動で除算し、
除算した結果と、前記状態価値関数を前記それぞれの成分で微分した結果とを対応付けて、前記勾配関数を推定する、ことを特徴とする付記４に記載の方策改善方法。
【０１９９】
（付記６）前記制御対象は、空調設備であり、
前記強化学習は、前記空調設備の設定温度と前記空調設備の設定風量との少なくともいずれかを入力とし、前記空調設備がある部屋の内部の温度と前記空調設備がある部屋の外部の温度と気候との少なくともいずれかを状態とし、前記空調設備の消費電力量をコストとする、ことを特徴とする付記１〜５のいずれか一つに記載の方策改善方法。
【０２００】
（付記７）前記制御対象は、発電設備であり、
前記強化学習は、前記発電設備の発電機トルクを入力とし、前記発電設備の発電量と前記発電設備のタービンの回転量と前記発電設備のタービンの回転速度と前記発電設備に対する風向と前記発電設備に対する風速との少なくともいずれかを状態とし、前記発電設備の発電量を報酬とする、ことを特徴とする付記１〜５のいずれか一つに記載の方策改善方法。
【０２０１】
（付記８）前記制御対象は、産業用ロボットであり、
前記強化学習は、前記産業用ロボットのモータートルクを入力とし、前記産業用ロボットの撮影した画像と前記産業用ロボットの関節位置と前記産業用ロボットの関節角度と前記産業用ロボットの関節角速度との少なくともいずれかを状態とし、前記産業用ロボットの生産量を報酬とする、ことを特徴とする付記１〜５のいずれか一つに記載の方策改善方法。
【０２０２】
（付記９）前記制御対象の状態変化は、線形な差分方程式で規定され、かつ、前記制御対象の即時コストまたは即時報酬は、状態および入力の２次形式で規定される、ことを特徴とする付記１〜８のいずれか一つに記載の方策改善方法。
【０２０３】
（付記１０）状態価値関数による強化学習の方策を改善する方策改善プログラムであって、
前記方策を与える第１のパラメータの複数の成分に対して摂動を加え、
前記複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、前記強化学習における制御対象に対する入力決定を行った結果に基づいて、前記第１のパラメータに関する前記状態価値関数の勾配関数を推定し、
推定した前記勾配関数を用いて、前記第１のパラメータを更新する、
処理をコンピュータに実行させることを特徴とする方策改善プログラム。
【０２０４】
（付記１１）状態価値関数による強化学習の方策を改善する方策改善装置であって、
前記方策を与える第１のパラメータの複数の成分に対して摂動を加え、
前記複数の成分に対して摂動を加えて得られた第２のパラメータを用いた方策により、前記強化学習における制御対象に対する入力決定を行った結果に基づいて、前記第１のパラメータに関する前記状態価値関数の勾配関数を推定し、
推定した前記勾配関数を用いて、前記第１のパラメータを更新する、
制御部を有することを特徴とする方策改善装置。
【符号の説明】
【０２０５】
１００  方策改善装置
１１０  制御対象
２００  バス
２０１  ＣＰＵ
２０２  メモリ
２０３  ネットワークＩ／Ｆ
２０４  記録媒体Ｉ／Ｆ
２０５  記録媒体
２１０  ネットワーク
３００  記憶部
３０１  観測部
３０２  推定部
３０３  決定部
３０４  出力部
５００  サーバルーム
５０１  サーバ
５０２  冷却器
６００  発電機
７００  産業用ロボット
【図１】
2020144713.tif 000033
【図２】
2020144713.tif 000034
【図３】
2020144713.tif 000035
【図４】
2020144713.tif 000036
【図５】
2020144713.tif 000037
【図６】
2020144713.tif 000038
【図７】
2020144713.tif 000039
【図８】
2020144713.tif 000040
【図９】
2020144713.tif 000041
【図１０】
2020144713.tif 000042
【図１１】
2020144713.tif 000043
【図１２】
2020144713.tif 000044