(57)【要約】【課題】不適切な行動を回避して局所的に適切な行動を探索すること。【解決手段】強化学習装置１００は、制御対象１１０の状態に対する行動を規定した基本制御器により得られる行動を用いて、制御対象１１０についての行動範囲限界より小さい行動範囲における第１の強化学習を実施する。強化学習装置１００は、第１の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における第２の強化学習を実施する。【選択図】図１
2019179518.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第１の強化学習を実施し、
前記第１の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第２の強化学習を実施する、
処理を実行させることを特徴とする強化学習プログラム。
【請求項２】
前記コンピュータに、
直前に実施された第２の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における新たな第２の強化学習を実施する、処理を繰り返し実行させることを特徴とする請求項１に記載の強化学習プログラム。
【請求項３】
前記第１の強化学習は、前記基本制御器と、前記基本制御器により得られる行動からの前記行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習し、
前記第２の強化学習は、直前に学習された方策と、当該方策により得られる行動からの前記行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習する、ことを特徴とする請求項１または２に記載の強化学習プログラム。
【請求項４】
コンピュータが、
制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第１の強化学習を実施し、
前記第１の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第２の強化学習を実施する、
処理を実行することを特徴とする強化学習方法。
【請求項５】
制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第１の強化学習を実施し、
前記第１の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第２の強化学習を実施する、
制御部を有することを特徴とする強化学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強化学習プログラム、強化学習方法、および強化学習装置に関する。
【背景技術】
【０００２】
従来、強化学習の分野では、制御対象に対する行動をランダムに変更し、行動に応じた利得を観測し、観測結果に基づき制御対象に対する行動として最適であると判断される最適行動を決定するための方策を学習することが行われる。利得は、例えば、報酬である。
【０００３】
先行技術としては、例えば、制御対象の状態量を観測器で観測し、観測結果によりＴＤ誤差を求め、ＴＤ誤差近似器を更新して、方策を更新するものがある。また、例えば、入力および入力に対する出力に対して与えられる報酬または罰に基づいて強化学習を行って、パラメトリック表現されたクラス集合を生成する技術がある。また、例えば、調査対象の位置情報実データに基づいて、調査対象の位置情報を予測する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−６５９２９号公報
【特許文献２】特開２０１３−２０５８９０号公報
【特許文献３】特開２０１７−１６８０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、制御対象に対する行動がランダムに変更された結果、制御対象に悪影響を与えるような不適切な行動が行われてしまう場合がある。例えば、制御対象がサーバルームであり、制御対象に対する行動がサーバルームに対する空調の設定温度であれば、空調の設定温度が、サーバルームのサーバを誤作動または故障させるような高温にされてしまう場合がある。
【０００６】
１つの側面では、本発明は、不適切な行動を回避して局所的に最適な行動を探索することを目的とする。
【課題を解決するための手段】
【０００７】
１つの実施態様によれば、制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第１の強化学習を実施し、前記第１の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第２の強化学習を実施する強化学習プログラム、強化学習方法、および強化学習装置が提案される。
【発明の効果】
【０００８】
一態様によれば、不適切な行動を回避して局所的に最適な行動を探索することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。
【図２】図２は、強化学習装置１００のハードウェア構成例を示すブロック図である。
【図３】図３は、履歴テーブル３００の記憶内容の一例を示す説明図である。
【図４】図４は、行動価値テーブル４００の記憶内容の一例を示す説明図である。
【図５】図５は、強化学習装置１００の機能的構成例を示すブロック図である。
【図６】図６は、強化学習装置１００の動作例を示す説明図である。
【図７】図７は、探索行動を決定する行動範囲の変化を示す説明図である。
【図８】図８は、制御器を統合するマージ処理を示す説明図（その１）である。
【図９】図９は、制御器を統合するマージ処理を示す説明図（その２）である。
【図１０】図１０は、強化学習を繰り返した結果を示す説明図（その１）である。
【図１１】図１１は、強化学習を繰り返した結果を示す説明図（その２）である。
【図１２】図１２は、制御対象１１０の具体例を示す説明図（その１）である。
【図１３】図１３は、制御対象１１０の具体例を示す説明図（その２）である。
【図１４】図１４は、制御対象１１０の具体例を示す説明図（その３）である。
【図１５】図１５は、強化学習処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、本発明にかかる強化学習プログラム、強化学習方法、および強化学習装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態にかかる強化学習方法の一実施例）
図１は、実施の形態にかかる強化学習方法の一実施例を示す説明図である。強化学習装置１００は、強化学習を用いて、制御対象１１０に対する行動を決定することにより、制御対象１１０を制御するコンピュータである。強化学習装置１００は、例えば、サーバ、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。
【００１２】
制御対象１１０は、何らかの事象であり、例えば、現実に存在する物理系である。制御対象１１０は、具体的には、自動車、自律移動ロボット、ドローン、ヘリコプター、サーバルーム、発電機、化学プラント、または、ゲームなどである。行動（ａｃｔｉｏｎ）は、制御対象１１０に対する操作である。行動は、入力（ｉｎｐｕｔ）とも呼ばれる。行動は、連続量または離散量である。制御対象１１０に対する行動に応じて制御対象１１０の状態（ｓｔａｔｅ）が変化する。制御対象１１０の状態は、観測可能である。
【００１３】
強化学習では、例えば、制御対象１１０に対する行動をランダムに変更し、行動に応じた利得に基づき方策を学習することが行われる。強化学習は、例えば、行動を複数回試行して方策を学習する。利得は、例えば、報酬である。利得は、例えば、コストにマイナスをかけて報酬と同様に扱うことが可能な値であってもよい。コストは、罰とも呼ばれる。方策は、累積報酬／コストまたは平均報酬／コストを最適化すると判断される最適行動を決定するための制御則である。最適行動は、現状で最適と推定される行動であり、真に最適でなくてもよい。
【００１４】
しかしながら、制御対象１１０に対する行動がランダムに変更された結果、制御対象１１０に悪影響を与えるような不適切な行動が行われてしまう場合がある。例えば、制御対象１１０がサーバルームであり、制御対象１１０に対する行動がサーバルームに対する空調の設定温度である場合が考えられる。この場合、空調の設定温度がランダムに変更され、サーバルームのサーバを故障させたり誤動作させたりするような高温にされてしまうことがある。一方で、空調の設定温度が、消費電力が著しく大きくなるような低温にされてしまうことがある。
【００１５】
また、例えば、制御対象１１０が無人飛行体であり、制御対象１１０に対する行動が無人飛行体の駆動系に対する設定値である場合が考えられる。この場合、駆動系の設定値がランダムに変更され、安定して飛行することが難しい設定値にされ、制御対象１１０が落下してしまうことがある。また、例えば、制御対象１１０が風車であり、制御対象１１０に対する行動が風車に接続された発電機の負荷トルクである場合が考えられる。この場合、負荷トルクがランダムに変更され、発電量が著しく低下するような負荷トルクにされてしまうことがある。
【００１６】
したがって、制御対象１１０に悪影響を与えるような不適切な行動を回避しながら、強化学習を実施し、方策を学習していくことが好ましい。そこで、本実施の形態では、基本制御器で得られる行動を基準とした行動範囲で強化学習を実施し、学習された方策により得られる行動を基準とした行動範囲で再び強化学習を実施し、新たな方策を学習することができる強化学習方法について説明する。ここでの強化学習は、行動を複数回試行して方策を１回学習する一連の処理である。
【００１７】
図１において、強化学習装置１００は、制御対象１１０の状態に対する行動を規定した基本制御器を、最初の方策に設定する。基本制御器は、例えば、利用者によって設定される。基本制御器は、現状最適と判断される最適行動を決定するための制御則である。強化学習装置１００は、最初の方策により得られる行動を用いて、制御対象１１０についての行動範囲限界より小さい行動範囲における第１の強化学習を実施する。行動範囲限界は、例えば、利用者によって設定される。第１の強化学習は、基本制御器を設定した最初の方策よりも、最適と判断される方策を学習する。第１の強化学習は、例えば、行動を複数回試行して方策を１回学習する一連の処理である。
【００１８】
強化学習装置１００は、例えば、一定時間ごとに、基本制御器を設定した最初の方策により最適と判断される最適行動を基準に、行動範囲限界より小さい行動範囲における探索行動を決定し、探索行動に対する利得を観測する。強化学習装置１００は、観測結果に基づいて、基本制御器を設定した最初の方策よりも、最適と判断される最適行動を決定可能なように、制御対象１１０の状態に対する行動を規定した、新たな方策を学習する。
【００１９】
強化学習装置１００は、第１の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における第２の強化学習を実施する。第２の強化学習は、直前に学習された方策よりも、最適と判断される方策を学習する。第２の強化学習は、例えば、行動を複数回試行して方策を１回学習する一連の処理である。ここでは、直前に学習された方策は、第１の強化学習により学習された学習済みの方策である。
【００２０】
強化学習装置１００は、例えば、一定時間ごとに、直前に学習された方策により最適と判断される最適行動を基準に、行動範囲限界より小さい行動範囲における探索行動を決定し、探索行動に対する利得を観測する。この最適行動は、学習中の方策により最適と判断される行動ではなく、直前に学習された方策により最適と判断される行動である。強化学習装置１００は、観測結果に基づいて、直前に学習された方策よりも、最適と判断される最適行動を決定可能なように、制御対象１１０の状態に対する行動を規定した、新たな方策を学習する。
【００２１】
これにより、強化学習装置１００は、探索行動として、最初の方策、または、現状で学習済みの最新の方策により最適と判断される最適行動から一定以上離れた行動が行われることを防止することができ、制御対象１１０に悪影響を与えるような不適切な行動が行われることを防止することができる。そして、強化学習装置１００は、不適切な行動を回避しながら、最適と判断される方策を更新することができる。結果として、強化学習装置１００は、方策を更新する都度、当該方策により最適と判断される最適行動を、局所的な最適行動に近づけることができ、制御対象１１０を適切に制御することができる。
【００２２】
ここでは、強化学習装置１００が、第２の強化学習を１回実施する場合について説明したが、これに限らない。例えば、強化学習装置１００が、さらに、直前に実施された第２の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における新たな第２の強化学習を実施する、という処理を繰り返す場合があってもよい。
【００２３】
これにより、強化学習装置１００は、不適切な行動を回避しながら、最適と判断される方策を更新することを繰り返すことができる。強化学習装置１００は、例えば、最適と判断される方策を、前回学習された方策から、今回学習された方策へと更新することができる。結果として、強化学習装置１００は、方策を更新する都度、当該方策により最適と判断される最適行動を、局所的な最適行動に近づけることができる。また、強化学習装置１００は、繰り返しの結果、局所的な最適行動を決定する方策を学習することができる。そして、強化学習装置１００は、局所的な最適行動を行い、制御対象１１０を適切に制御することができる。
【００２４】
以下の説明では、利得がコストにマイナスをかけた値であり、強化学習装置１００が利得を増大させる、すなわちコストを減少させると判断される最適行動を決定するための方策を学習するような、コストの最小化問題の場合について説明する。
【００２５】
（強化学習装置１００のハードウェア構成例）
次に、図２を用いて、強化学習装置１００のハードウェア構成例について説明する。
【００２６】
図２は、強化学習装置１００のハードウェア構成例を示すブロック図である。図２において、強化学習装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メモリ２０２と、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０３と、記録媒体Ｉ／Ｆ２０４と、記録媒体２０５とを有する。また、各構成部は、バス２００によってそれぞれ接続される。
【００２７】
ここで、ＣＰＵ２０１は、強化学習装置１００の全体の制御を司る。メモリ２０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ２０１のワークエリアとして使用される。メモリ２０２に記憶されるプログラムは、ＣＰＵ２０１にロードされることで、コーディングされている処理をＣＰＵ２０１に実行させる。メモリ２０２は、図３および図４に後述する各種テーブルを記憶してもよい。
【００２８】
ネットワークＩ／Ｆ２０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他のコンピュータに接続される。そして、ネットワークＩ／Ｆ２０３は、ネットワーク２１０と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークＩ／Ｆ２０３には、例えば、モデムやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタなどを採用することができる。
【００２９】
記録媒体Ｉ／Ｆ２０４は、ＣＰＵ２０１の制御に従って記録媒体２０５に対するデータのリード／ライトを制御する。記録媒体Ｉ／Ｆ２０４は、例えば、ディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートなどである。記録媒体２０５は、記録媒体Ｉ／Ｆ２０４の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体２０５は、例えば、ディスク、半導体メモリ、ＵＳＢメモリなどである。記録媒体２０５は、強化学習装置１００から着脱可能であってもよい。記録媒体２０５は、図３および図４に後述する各種テーブルを記憶してもよい。
【００３０】
強化学習装置１００は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、強化学習装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を複数有していてもよい。また、強化学習装置１００は、記録媒体Ｉ／Ｆ２０４や記録媒体２０５を有していなくてもよい。
【００３１】
（履歴テーブル３００の記憶内容）
次に、図３を用いて、履歴テーブル３００の記憶内容について説明する。履歴テーブル３００は、例えば、図２に示した強化学習装置１００のメモリ２０２や記録媒体２０５などの記憶領域により実現される。
【００３２】
図３は、履歴テーブル３００の記憶内容の一例を示す説明図である。図３に示すように、履歴テーブル３００は、時点のフィールドに対応付けて、状態と、行動と、利得とのフィールドを有する。履歴テーブル３００は、時点ごとに各フィールドに情報を設定することにより、履歴情報が記憶される。
【００３３】
時点のフィールドには、所定時間ごとの時点が設定される。状態のフィールドには、時点における制御対象１１０の状態が設定される。行動のフィールドには、時点における制御対象１１０に対する行動が設定される。利得のフィールドには、時点における制御対象１１０に対する行動に対応する利得が設定される。
【００３４】
（行動価値テーブル４００の記憶内容）
次に、図４を用いて行動価値テーブル４００の記憶内容について説明する。なお、以下の行動価値テーブル４００の説明は、強化学習手法としてＱ学習等の一部の強化学習手法を用いる場合であり、利用する強化学習手法によっては、利用する記憶内容等は異なるものとなる。行動価値テーブル４００は、例えば、図２に示した強化学習装置１００のメモリ２０２や記録媒体２０５などの記憶領域により実現される。
【００３５】
図４は、行動価値テーブル４００の記憶内容の一例を示す説明図である。図４に示すように、行動価値テーブル４００は、状態と、行動と、Ｑ値とのフィールドを有する。行動価値テーブル４００は、強化学習が学習する度に各フィールドに情報を更新することにより、行動価値情報がレコードとして記憶される。
【００３６】
状態のフィールドは、行動価値テーブル４００の最上行である。状態のフィールドには、制御対象１１０の状態が設定される。行動のフィールドは、行動価値テーブル４００の最左列である。行動のフィールドには、制御対象１１０に対する探索行動を表す情報が設定される。行動のフィールドには、例えば、基本制御器を設定した最初の方策、または、現状で学習済みの最新の方策により最適と判断される最適行動をどの程度補正して探索行動にするかを表す補正値が、探索行動を表す情報として設定される。行動のフィールドには、例えば、探索行動自体が設定されてもよい。図４の例では、行動のフィールドには、補正値が設定されている。Ｑ値のフィールドには、状態のフィールドが示す状態である場合に、行動のフィールドが示す探索行動を行うと、利得にどの程度寄与するかを示すＱ値が設定される。
【００３７】
（強化学習装置１００の機能的構成例）
次に、図５を用いて、強化学習装置１００の機能的構成例について説明する。
【００３８】
図５は、強化学習装置１００の機能的構成例を示すブロック図である。強化学習装置１００は、記憶部５００と、設定部５１１と、状態取得部５１２と、行動決定部５１３と、報酬取得部５１４と、更新部５１５と、出力部５１６とを含む。設定部５１１〜出力部５１６は、制御部５１０の一例として機能する。
【００３９】
記憶部５００は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域によって実現される。以下では、記憶部５００が、強化学習装置１００に含まれる場合について説明するが、これに限らない。例えば、記憶部５００が、強化学習装置１００とは異なる装置に含まれ、記憶部５００の記憶内容が強化学習装置１００から参照可能である場合があってもよい。
【００４０】
設定部５１１〜出力部５１６は、具体的には、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、ネットワークＩ／Ｆ２０３により、その機能を実現する。各機能部の処理結果は、例えば、図２に示したメモリ２０２や記録媒体２０５などの記憶領域に記憶される。
【００４１】
記憶部５００は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部５００は、制御対象１１０に対する行動と、制御対象１１０の状態と、制御対象１１０からの利得とを蓄積する。行動は、順序尺度であり、名義尺度ではないことが好ましい。順序尺度は、行動を表す値の大きさに意味が存在することを示す。一方で、名義尺度は、例えば、利用者が行動に対して便宜上割り振った番号を、行動を表す値として利用する場合である。記憶部５００は、例えば、時点ごとに、制御対象１１０に対する行動と、制御対象１１０の状態と、制御対象１１０からの利得とを、図３に示した履歴テーブル３００を用いて記憶する。これにより、記憶部５００は、制御対象１１０の行動と状態と利得とを、各処理部に参照可能にすることができる。
【００４２】
記憶部５００は、制御対象１１０の状態ごとに、いくつかの行動についての行動価値を記憶する。行動価値は、例えば、利得に基づいて決定される。行動価値は、具体的には、制御対象１１０に対する行動を行うと、利得にどの程度寄与するかを示すＱ値である。記憶部５００は、例えば、図４に示した行動価値テーブル４００を記憶する。これにより、記憶部５００は、行動価値を、各処理部に参照可能にすることができる。
【００４３】
記憶部５００は、Ｑ値を算出する価値関数を記憶してもよい。価値関数は、例えば、多項式により表現される。多項式は、状態および行動を表す変数を用いて表現される。記憶部５００は、例えば、価値関数を表現する多項式、および、当該多項式の係数を記憶する。これにより、記憶部５００は、価値関数を、各処理部に参照可能にすることができる。
【００４４】
以下の説明では、まず、制御部５１０について説明した後、制御部５１０の一例として機能する設定部５１１〜出力部５１６について説明する。
【００４５】
制御部５１０は、制御対象１１０の状態に対する行動を規定した基本制御器を、最初の方策に設定する。方策は、累積報酬／コストまたは平均報酬／コストを最適化すると判断される最適行動を決定するための制御則である。
【００４６】
制御部５１０は、基本制御器を設定した最初の方策により得られる行動を用いて、制御対象１１０についての行動範囲限界より小さい行動範囲における第１の強化学習を実施する。基本制御器は、例えば、利用者によって設定される。基本制御器は、最適と判断される最適行動を決定するための制御則である。行動範囲限界は、例えば、利用者によって設定される。第１の強化学習は、基本制御器を設定した最初の方策よりも、最適と判断される最適行動を決定可能な方策を学習する。ここでは、第１の強化学習は、例えば、行動を複数回試行して、得られる報酬を元に、方策を１回学習するまでの一連の処理である。学習される方策は、例えば、基本制御器と、基本制御器を設定した最初の方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む制御則である。
【００４７】
制御部５１０は、例えば、一定時間ごとに、基本制御器を設定した最初の方策により最適と判断される最適行動を基準に、行動範囲限界より小さい行動範囲における補正量を行動とし、探索行動を決定し、探索行動に対する利得を観測する。探索行動は、さらに適切な行動があるか否かを探索するための行動である。探索行動は、例えば、最適行動を補正した行動である。制御部５１０は、観測結果に基づいて、基本制御器を設定した最初の方策よりも、最適と判断される最適行動を決定可能なように、制御対象１１０の状態に対する行動を規定した新たな方策を学習する。
【００４８】
これにより、制御部５１０は、基本制御器を設定した最初の方策による行動との差が大きくない行動を行うため、不適切な行動を回避しながら、基準制御器を設定した最初の方策よりも、最適と判断される新たな方策を学習することができる。結果として、制御部５１０は、学習された方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけることができ、制御対象１１０を適切に制御することができる。
【００４９】
第１の強化学習は、例えば、基本制御器と、基本制御器を設定した最初の方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習する場合がある。また、第１の強化学習は、基本制御器と制御器とを用いずに、新たな方策を学習する場合があってもよい。例えば、第１の強化学習は、現状で学習済みの方策による最適行動を補正した探索行動自体を記憶する行動価値テーブル４００に基づき、新たな方策を学習する場合があってもよい。
【００５０】
この場合、制御部５１０は、例えば、一定時間ごとに、基本制御器を設定した最初の方策により最適と判断される最適行動に対し、行動範囲限界より小さい行動範囲における補正量を決定し、補正量に対する利得を観測する。制御部５１０は、観測結果に基づいて、基本制御器を設定した最初の方策により最適と判断される最適行動をさらに適切な行動にするための補正量を規定する新たな制御器を学習する。制御部５１０は、基本制御器と新たな制御器とを含む新たな方策を学習する。
【００５１】
制御部５１０は、具体的には、図７に後述する１番目の強化学習を実施する。制御部５１０は、図７に後述するように、基本制御器Ｃ0を設定した最初の方策による行動の近傍の行動範囲で探索行動を複数回決定する。近傍とは、行動範囲限界より小さいことを示す。次に、制御部５１０は、探索行動を複数回決定した結果、制御器ＲＬ1を生成する。そして、制御部５１０は、基本制御器Ｃ0と制御器ＲＬ1とを組み合わせて、方策Ｃ0＋ＲＬ1を学習する。
【００５２】
これにより、制御部５１０は、不適切な行動を回避しながら、基準制御器よりも、最適と判断される最適行動を決定可能な方策を学習することができる。結果として、制御部５１０は、学習された方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけ、制御対象１１０を適切に制御することができる。
【００５３】
制御部５１０は、第１の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における第２の強化学習を実施する。第２の強化学習は、直前に学習された方策よりも、最適と判断される最適行動を決定可能な方策を学習する。直前に学習された方策は、例えば、第１の強化学習により学習された方策である。
【００５４】
制御部５１０は、例えば、一定時間ごとに、直前に学習された方策により最適と判断される最適行動を基準に、行動範囲限界より小さい行動範囲における探索行動を決定し、探索行動に対する利得を観測する。制御部５１０は、観測結果に基づいて、直前に学習された方策よりも、最適と判断される最適行動を決定可能なように、制御対象１１０の状態に対する行動を規定した、新たな方策を学習する。
【００５５】
これにより、制御部５１０は、不適切な行動を回避しながら、第１の強化学習により学習された方策よりも、最適と判断される最適行動を決定可能なように方策を更新することができる。結果として、制御部５１０は、学習された方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけ、制御対象１１０を適切に制御することができる。
【００５６】
また、第２の強化学習は、例えば、直前に学習された方策と、当該方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習する場合がある。直前に学習された方策は、例えば、基本制御器と、補正量を規定する１以上の制御器とを含む方策である。直前に学習された方策は、学習中の方策とは異なる。また、第２の強化学習は、基本制御器と制御器とを用いずに、新たな方策を学習する場合があってもよい。例えば、第２の強化学習は、現状で学習済みの方策による最適行動を補正した探索行動自体を記憶する行動価値テーブル４００に基づき、新たな方策を学習する場合があってもよい。
【００５７】
この場合、制御部５１０は、例えば、一定時間ごとに、直前に学習された方策により最適と判断される最適行動に対し、行動範囲限界より小さい行動範囲における補正量を決定し、補正量に対する利得を観測する。制御部５１０は、観測結果に基づいて、直前に学習された方策により最適と判断される最適行動をさらに適切な行動にするための補正量を規定する新たな制御器を学習する。制御部５１０は、直前に学習された方策と新たな制御器とを含む新たな方策を学習する。
【００５８】
制御部５１０は、具体的には、図７に後述する２番目以降の強化学習を実施する。制御部５１０は、図７に後述するように、直前に学習された方策Ｃ0＋ＲＬ1による最適行動の近傍の行動範囲で探索行動を複数回決定する。次に、制御部５１０は、探索行動を複数回決定した結果、制御器ＲＬ2を生成する。そして、制御部５１０は、直前に学習された方策Ｃ0＋ＲＬ1と制御器ＲＬ2とを組み合わせて、新たな方策Ｃ0＋ＲＬ1＋ＲＬ2を学習する。
【００５９】
これにより、制御部５１０は、不適切な行動を回避しながら、第１の強化学習により学習された方策よりも、最適と判断される最適行動を決定可能なように方策を更新することができる。結果として、制御部５１０は、学習された方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけ、制御対象１１０を適切に制御することができる。また、制御部５１０は、行動価値テーブル４００に補正値を記憶する場合には、行動価値テーブル４００に探索行動自体を記憶する場合に比べて、行動価値テーブル４００を記憶するための記憶領域のサイズを低減することができる。
【００６０】
また、第２の強化学習は、例えば、直前に学習された方策に含まれる制御器に、当該方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器を統合した方策を学習する場合があってもよい。
【００６１】
この場合、制御部５１０は、例えば、一定時間ごとに、直前に学習された方策により最適と判断される最適行動に対し、行動範囲限界より小さい行動範囲における補正量を決定し、補正量に対する利得を観測する。制御部５１０は、観測結果に基づいて、直前に学習された方策により最適と判断される最適行動をさらに適切な行動にするための補正量を規定する新たな制御器を学習する。制御部５１０は、直前に学習された方策に含まれる制御器と、新たな制御器とを統合した制御器を生成する。制御部５１０は、直前に学習された方策に含まれる基準制御器と、生成した制御器とを含む新たな方策を学習する。
【００６２】
これにより、制御部５１０は、不適切な行動を回避しながら、第１の強化学習により学習された方策よりも、最適と判断される方策を更新することができる。結果として、制御部５１０は、学習された方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけ、制御対象１１０を適切に制御することができる。また、制御部５１０は、学習された方策に含まれる制御器の数の低減化を図り、学習された方策により行動を決定する際の処理量の低減化を図ることができる。
【００６３】
制御部５１０は、さらに、直前に実施された第２の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における新たな第２の強化学習を実施するという処理を繰り返してもよい。
【００６４】
これにより、強化学習装置１００は、不適切な行動を回避しながら、直前に実施された第２の強化学習により学習された方策よりも、最適と判断される最適行動を決定可能なように方策を更新することを繰り返すことができる。結果として、強化学習装置１００は、方策を更新する都度、当該方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけ、制御対象１１０を適切に制御することができる。
【００６５】
以下の説明では、制御部５１０の一例として機能し、第１の強化学習および第２の強化学習を実現する設定部５１１〜出力部５１６について説明する。
【００６６】
設定部５１１は、各処理部が用いる変数などを初期化する。設定部５１１は、例えば、Ｔに０を設定し、ｊに１を設定し、ＣにＣ0を設定する。Ｔは、時刻を表す記号である。ｊは、何番目の強化学習であるかを表す記号である。Ｃは、現状で学習済みの方策を表す記号で、ｎ次元の状態ｓを元に、ｍ次元の行動を生成する関数である。Ｃ0は、基本制御器である。Ｃ0は、ｎ次元の状態が入力されるとｍ次元の行動ａを出力する関数Ｃ0（ｓ）である。例えば、Ｃ0（ｓ）は、ＰＩ制御器や一定の行動を出力する固定制御器などである。
【００６７】
πjは、ｊ番目の制御器である。制御器は、ｎ次元の状態ｓから得られるｎj次元の特徴量Φj（ｓ）に基づいて、現状で学習済みの最新の方策による最適行動に基づき探索行動を決定するための、最適行動からの補正量を決定する。制御器は、例えば、Ｑ学習やＳＡＲＳＡなどを利用することができる。制御器は、例えば、行動価値関数や行動価値テーブルを利用することができる。制御器は、ｎ次元の状態ｓから得られるｎj次元の特徴量Φj（ｓ）に基づいて、現状で学習済みの最新の方策による最適行動に基づき探索行動を決定し、探索行動に基づいて新たな方策を学習する場合があってもよい。Ａjは、行動範囲であり、制御器πjにより探索される行動空間である。Φjは、ｎ次元の状態を、ｎj次元の特徴量に変換するための関数を表す記号である。Φjは、例えば、Ｑ値の算出式が、ｎj次元の特徴量に基づきＱ値を算出する算出式である場合に利用される。Φjは、ｊ番目の強化学習で利用する関数である。これにより、設定部５１１は、変数を、各処理部に利用させることができる。
【００６８】
状態取得部５１２は、制御対象１１０の状態を取得する。状態取得部５１２は、取得した状態ｓを記憶部５００に記憶する。状態取得部５１２は、例えば、所定時間ごとに制御対象１１０の状態を観測し、観測した時点に対応付けて記憶部５００に記憶する。状態取得部５１２は、状態ｓを履歴テーブル３００に記憶する。これにより、状態取得部５１２は、行動決定部５１３や更新部５１５に、状態を参照させることができる。
【００６９】
行動決定部５１３は、探索行動を決定する。行動決定部５１３は、探索行動を記憶部５００に記憶する。探索行動は、さらに適切な行動があるか否かを探索するための行動である。例えば、ε貪欲法を利用する。確率εではランダムな行動を行い、確率ε以外の場合には最適行動を行う。この最適行動は、例えば、学習中の行動価値テーブル４００により最適と判断される行動である。
【００７０】
行動決定部５１３は、例えば、取得したｎ次元の状態ｓを学習済みの方策Ｃに代入し、学習済みの方策Ｃにより最適と判断される最適行動Ｃ（ｓ）を決定する。次に、行動決定部５１３は、制御器πjにより、行動であるｂTを決定する。行動決定部５１３は、決定した最適行動Ｃ（ｓ）を行動範囲Ａj内で補正する補正量ψj（ｂT）を決定し、探索行動ａT＝最適行動Ｃ（ｓ）＋補正量ψj（ｂT）を決定する。行動変換ψjは、例えば、行動の次元をｍとするときに、ｂTがｍ次元未満の場合に、ｍ次元の補正量に変換し、最適行動Ｃ（ｓ）と演算可能にする関数である。ψjは、具体的には、行動を表す変数がｍ個あるが、ｍ個未満の変数を補正して、探索行動ａTを決定する場合に利用される。ψjは、例えば、ｍ個未満の変数以外の補正量を０に設定する。ψjは、ｊ番目の強化学習において、ｍ個の変数を補正する場合に比べて処理量の増大化を抑制する。行動決定部５１３は、決定した探索行動を、履歴テーブル３００に記憶する。これにより、行動決定部５１３は、制御対象１１０に対して好ましい行動を決定し、制御対象１１０を効率よく制御可能にすることができる。
【００７１】
報酬取得部５１４は、行動に対応する利得を取得する。利得は、例えば、報酬である。利得は、コストにマイナスをかけた値であってもよい。報酬取得部５１４は、利得を記憶部５００に記憶する。報酬取得部５１４は、例えば、制御対象１１０に対する行動が行われる都度、行動が行われてから所定時間後の制御対象１１０における利得ｒTを取得し、履歴テーブル３００に記憶する。ｒTは、スカラー値である。これにより、報酬取得部５１４は、利得を、更新部５１５に参照させることができる。
【００７２】
更新部５１５は、取得した状態、行動、および利得に基づいて、制御器πjにより、新たな方策を学習する。更新部５１５は、例えば、行動価値テーブル４００を生成し、行動価値テーブル４００に基づいて新たな方策を学習する。更新部５１５は、具体的には、現状で学習済みの方策Ｃに、現状の最適行動Ｃ（ｓ）を行動範囲Ａj内で補正する補正量を規定した制御器ψj（πj（Φj（ｓ）））を追加した、新たな方策Ｃjを学習する。
【００７３】
これにより、更新部５１５は、学習済みの最新の方策よりも、最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけることができる、新たな方策を学習することができる。このように、設定部５１１〜更新部５１５は、上述した第１の強化学習を実現することができる。
【００７４】
その後、更新部５１５は、ＣにＣjを設定し、ｊにｊ＋１を設定する。これにより、更新部５１５は、新たな強化学習を実施可能にすることができ、新たな方策を学習して方策を更新可能にすることができる。このように、設定部５１１〜更新部５１５は、上述した第２の強化学習を実現することができる。
【００７５】
また、更新部５１５は、現状で学習済みの方策Ｃに、新たな制御器を追加する際、現状で学習済みの方策Ｃに含まれる制御器と、新たな制御器とを統合するマージ処理を行ってもよい。更新部５１５は、例えば、所定の時間が経過した場合にマージ処理を行う。また、更新部５１５は、一定期間、強化学習により方策が変化しなかった場合にマージ処理を行ってもよい。また、更新部５１５は、一定期間、ＴＤ誤差が一定以上小さい場合にマージ処理を行ってもよい。マージ処理は、図８および図９を用いて後述する。これにより、更新部５１５は、決定部の処理量の低減化を図ることができる。
【００７６】
出力部５１６は、行動決定部５１３が決定した行動を制御対象１１０に対して出力する。これにより、出力部５１６は、制御対象１１０を制御することができる。
【００７７】
出力部５１６は、各処理部の処理結果を出力してもよい。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークＩ／Ｆ２０３による外部装置への送信、または、メモリ２０２や記録媒体２０５などの記憶領域への記憶である。これにより、出力部５１６は、各機能部の処理結果を利用者に通知可能にし、強化学習装置１００の管理や運用、例えば、強化学習装置１００の設定値の更新などを支援することができ、強化学習装置１００の利便性の向上を図ることができる。
【００７８】
（強化学習装置１００の動作例）
次に、図６を用いて、強化学習装置１００の動作例について説明する。
【００７９】
図６は、強化学習装置１００の動作例を示す説明図である。基本制御器Ｃ0は、例えば、固定制御器やＰＩ制御器である。制御器は、現状最適と判断される最適行動の近傍の行動範囲で探索行動を決定し、探索行動に基づいて補正値を規定する制御器ＲＬj（ｊ＞０）を決定する。補正値は、例えば、３つの離散値である−１と０と＋１とのいずれかである。
【００８０】
図６の表６００は、１日分の外気温データに基づいて強化学習を繰り返した場合の模式図を表す。図６に示すように、強化学習装置１００は、１番目の強化学習ではＣ0による最適行動の近傍の行動範囲６０１で探索行動を決定しており、制御対象１１０に悪影響を与えるような不適切な行動を回避しながら強化学習を実施することができる。そして、強化学習装置１００は、現状の最適行動よりも、さらに最適と判断される最適行動を決定することができる方策Ｃ0＋ＲＬ1を学習することができる。
【００８１】
強化学習装置１００は、２番目の強化学習では学習済みの方策Ｃ0＋ＲＬ1による最適行動の近傍の行動範囲６０２で探索行動を決定しており、制御対象１１０に悪影響を与えるような不適切な行動を回避しながら強化学習を実施することができる。ここで、探索行動を決定する際、ＲＬ1の制御器については探索も学習もされず固定される。そして、強化学習装置１００は、現状の最適行動よりも、さらに最適と判断される最適行動を決定することができる方策Ｃ0＋ＲＬ1＋ＲＬ2を学習することができる。また、強化学習装置１００は、学習済みの方策Ｃ0＋ＲＬ1による最適行動の近傍の行動範囲で探索行動を決定するため、１回の強化学習で試行する探索行動の数の低減化を図り、強化学習にかかる処理量と処理時間の低減化を図ることができる。
【００８２】
強化学習装置１００は、強化学習を繰り返すことにより、近傍の行動範囲６０ｘ内で探索行動を決定し、制御対象１１０に悪影響を与えるような不適切な行動を回避しながら強化学習を実施することができる。そして、強化学習装置１００は、局所的に最適である最適行動を探索することができ、制御対象１１０を精度よく制御することができる。
【００８３】
（探索行動を決定する行動範囲の変化）
次に、図７を用いて、探索行動を決定する行動範囲の変化について具体的に説明する。
【００８４】
図７は、探索行動を決定する行動範囲の変化を示す説明図である。図７の各表７００〜７２０は、それぞれ、制御対象の状態に対する行動の一例を表す。Ｃ0は、設定温度を一定に制御する制御器であり、状態に対する行動が直線状になる固定制御器である。
【００８５】
例えば、１番目の強化学習では、表７００に示すように、Ｃ0が決定する行動の近傍の行動範囲において探索行動を複数回決定した結果、制御器ＲＬ1が生成される。そして、Ｃ0と制御器ＲＬ1とを組み合わせて、方策Ｃ0＋ＲＬ1が学習される。結果として、学習済みの方策Ｃ0＋ＲＬ1は、状態に対する行動が、表７１０に示すように曲線状になるようにし、制御対象の各状態に対し、さらに適切な行動を表すことができる。
【００８６】
例えば、２番目の強化学習では、表７１０に示すように、学習済みの方策Ｃ0＋ＲＬ1が決定する行動の近傍の行動範囲において探索行動を複数回決定した結果、制御器ＲＬ2が生成される。この際、ＲＬ1の制御器については探索も学習もされず固定される。そして、方策Ｃ0＋ＲＬ1と制御器ＲＬ2とを組み合わせて、方策Ｃ0＋ＲＬ1＋ＲＬ2が学習される。結果として、学習済みの方策Ｃ0＋ＲＬ1＋ＲＬ2は、状態に対する行動が、表７２０に示すように曲線状になるようにし、制御対象の各状態に対し、さらに適切な行動を表すことができる。
【００８７】
このように、強化学習装置１００は、制御対象の各状態に対して取りうる探索行動を決定する範囲を徐々に動かしながら、強化学習を繰り返すことができる。そして、強化学習装置１００は、各状態に対して適切な行動が設定可能になるように方策を学習することができ、制御対象１１０を精度よく制御することができる。
【００８８】
（ｊ番目の強化学習にかかる学習回数の低減化を図るバリエーション）
次に、ｊ番目の強化学習にかかる学習回数の低減化を図るバリエーションについて説明する。強化学習装置１００は、行動がｍ次元であり、行動を表す変数がｍ個ある場合、ｎ個未満の変数をランダムに変化させて、探索行動を決定する場合があってもよい。例えば、強化学習装置１００は、ｊ番目の強化学習において一部の空調を選択して探索行動を決定する場合があってもよい。
【００８９】
具体的には、風速や設定温度を変更する空調が２０台あるような環境であり、ｊ番目の強化学習にかかる学習回数の増大化を招きやすいような場合がある。この場合、強化学習装置１００は、例えば、２０台の中からランダムに選択した３台だけ、学習済みの方策により最適と判断される最適行動に対して補正量を加えて、探索行動を決定してもよい。この場合、強化学習装置１００は、例えば、未選択の空調については補正量０として扱う。これにより、強化学習装置１００は、探索行動のバリエーションの増大化を抑制し、ｊ番目の強化学習における学習回数の増大化を抑制することができる。
【００９０】
また、この場合、強化学習装置１００は、例えば、２０台をランダムに３グループに分類し、学習済みの方策により最適と判断される最適行動に対して、グループごとに設定された補正量を加えて、探索行動を決定してもよい。これにより、強化学習装置１００は、探索行動のバリエーションの増大化を抑制し、ｊ番目の強化学習における学習回数の増大化を抑制することができる。
【００９１】
（制御器を統合するマージ処理）
次に、図８および図９を用いて、制御器を統合するマージ処理について説明する。
【００９２】
図８および図９は、制御器を統合するマージ処理を示す説明図である。ここで、強化学習装置１００が、強化学習を繰り返した結果、学習済みの方策に含まれ、行動の補正量を規定する制御器の数の増大化を招いてしまう。このため、ｊ番目の強化学習において探索行動を決定するために最適行動を決定する際にかかる処理量の増大化を招き、負担の増大化を招き、また、データ量の増大化を招いてしまう場合がある。例えば、ｊ番目の強化学習では、学習済みの方策がＣ0＋ＲＬ1＋ＲＬ2＋・・・＋ＲＬj-1になり、ｊ個の制御器を含んでしまう。
【００９３】
具体的には、図８に示すように、強化学習装置１００が、強化学習の都度、行動価値テーブル８００を生成し、行動価値テーブル８００から制御器８１０を生成するような場合がある。この場合、強化学習装置１００は、強化学習の都度、異なる制御器８１０を生成するため、学習済みの方策に含まれる制御器８１０の数の増大化を招くことになる。
【００９４】
結果として、強化学習装置１００は、最適行動を決定する際に、制御器８１０の数に応じた処理量がかかることになり、負担の増大化を招いてしまう。例えば、強化学習装置１００は、制御器８１０ごとに状態に応じた補正量を検索することになる。そこで、強化学習装置１００は、図９に示すように、制御器を統合するマージ処理を行う。
【００９５】
図９に示すように、強化学習装置１００は、１番目の強化学習で学習した制御器９００と、２番目の強化学習で学習した制御器９１０とを統合し、新たな制御器９２０にしてから方策に含めるようにする。これにより、強化学習装置１００は、最適行動を決定する際に、負担の増大化を抑制することができる。
【００９６】
また、共通の特徴量Φ、および、行動変換ψを用いる制御器πjを、強化学習装置１００が用いる場合で、強化学習装置１００が、行動価値関数を、線形関数で表現する場合がある。この場合も、強化学習装置１００は、マージ処理を行ってもよい。強化学習装置１００は、例えば、制御器ＲＬ1の行動価値関数Σｗiｓiと、制御器ＲＬ2の行動価値関数Σｕiｓiとを統合し、新たな制御器ＲＬ1＋ＲＬ2の行動価値関数Σ（ｗi＋ｕi）ｓiを元に方策を定めるようにする。
【００９７】
また、ガウス分布の平均に基づいて最適行動を決定し、ガウス分布の分散に基づいて探索行動を決定する制御器πjを、強化学習装置１００が用いる場合があってもよい。各制御器πjが、共通の特徴量Φ、および、行動変換ψを用いている場合で、平均を線形関数で表現している場合、マージ処理を行ってもよい。強化学習装置１００は、例えば、制御器ＲＬ1の平均Σｗiｓiと、制御器ＲＬ2の平均Σｕiｓiとを統合し、新たな制御器ＲＬ1＋ＲＬ2の平均をΣ（ｗi＋ｕi）ｓiとする。マージ後の分散は、例えば、０と設定しても良い。
【００９８】
ここでは、強化学習装置１００が、制御器を統合するマージ処理を行う場合について説明したが、これに限らない。例えば、強化学習装置１００が、制御器を統合するマージ処理を行わない場合があってもよい。
【００９９】
（強化学習を繰り返した結果）
次に、図１０および図１１を用いて、強化学習装置１００が、強化学習を繰り返した結果について説明する。図１０および図１１の例では、制御対象１１０は、各部屋に空調機が存在する３部屋の室温である。目的は、各部屋の現在の室温と、目標とする温度の誤差の二乗和を最小化することである。サンプリング時間は、１分であり、一日あたり１４４０ステップである。学習繰り返し数（エピソード数）は、１５００であり、３００エピソードごとに新たな制御器ＲＬjを追加する。
【０１００】
図１０および図１１は、強化学習を繰り返した結果を示す説明図である。図１０は、１エピソード＝４００ｓｔｅｐで、基本制御器で制御対象１１０を制御した場合、基本制御器とＱ学習とで制御対象１１０を制御した場合、および、強化学習装置１００が行動範囲限界に基づく探索により制御対象１１０を制御した場合の、室温と設定温度の誤差の二乗和の変化を表す。
【０１０１】
図１０に示すように、基本制御器で制御対象１１０を制御した場合、二乗誤差を低減することが難しい。一方で、基本制御器とＱ学習とで制御対象１１０を制御した場合、学習の前半では、二乗誤差が大きくなってしまうことがあり、制御対象１１０に悪影響を与えてしまうことがある。これに対し、強化学習装置１００は、二乗誤差が大きくなるような制御対象１１０に悪影響を与えてしまう行動を回避しながら、二乗誤差を低減していくことができる。
【０１０２】
図１１は、１エピソード＝５００ｓｔｅｐで、基本制御器で制御対象１１０を制御した場合、基本制御器とＱ学習とで制御対象１１０を制御した場合、および、強化学習装置１００が行動範囲限界に基づく探索により制御対象１１０を制御した場合の、室温と設定温度の誤差の二乗和の変化を表す。
【０１０３】
図１１に示すように、基本制御器で制御対象１１０を制御した場合、二乗誤差を低減することが難しい。一方で、基本制御器とＱ学習とで制御対象１１０を制御した場合、二乗誤差が大きくなってしまうことがあり、制御対象１１０に悪影響を与えてしまうことがある。これに対し、強化学習装置１００は、二乗誤差が大きくなるような制御対象１１０に悪影響を与えてしまう行動を回避しながら、二乗誤差を低減していくことができる。
【０１０４】
（制御対象１１０の具体例）
次に、図１２〜図１４を用いて、制御対象１１０の具体例について説明する。
【０１０５】
図１２〜図１４は、制御対象１１０の具体例を示す説明図である。図１２の例では、制御対象１１０は、自律移動体１２００であり、具体的には、自律移動体１２００の移動機構１２０１である。自律移動体１２００は、具体的には、ドローン、ヘリコプター、自律移動ロボット、自動車などである。行動は、移動機構１２０１に対する指令値である。行動は、例えば、移動方向や移動距離などに関する指令値である。
【０１０６】
行動は、例えば、自律移動体１２００がヘリコプターであれば、回転翼の速度や回転翼の回転面の傾きなどである。行動は、例えば、自律移動体１２００が自動車であれば、アクセルやブレーキの強さ、ハンドルの向きなどである。状態は、自律移動体１２００に設けられたセンサ装置からのセンサデータであり、例えば、自律移動体１２００の位置などである。利得は、コストにマイナスをかけた値である。コストは、例えば、自律移動体１２００の目標の動作と、自律移動体１２００の実際の動作との誤差などである。
【０１０７】
ここで、強化学習装置１００は、自律移動体１２００の目標の動作と、自律移動体１２００の実際の動作との誤差が大きくなるような指令値を、探索行動になる指令値に決定することを防止することができる。このため、強化学習装置１００は、自律移動体１２００に悪影響を与えるような不適切な行動を行うことを防止することができる。
【０１０８】
強化学習装置１００は、例えば、自律移動体１２００がヘリコプターであれば、バランスを崩して落下し、ヘリコプターが破損することを防止することができる。強化学習装置１００は、例えば、自律移動体１２００が自律移動ロボットであれば、バランスを崩して転倒したり、障害物に衝突したりして、自律移動ロボットが破損することを防止することができる。
【０１０９】
図１３の例では、制御対象１１０は、熱源であるサーバ１３０１と、ＣＲＡＣやＣｈｉｌｌｅｒなどの冷却器１３０２とを含むサーバルーム１３００である。行動は、冷却器１３０２に対する設定温度や設定風量である。
【０１１０】
状態は、サーバルーム１３００に設けられたセンサ装置からのセンサデータなどであり、例えば、温度などである。状態は、制御対象１１０以外から得られる制御対象１１０に関するデータであってもよく、例えば、気温や天気などであってもよい。利得は、コストにマイナスをかけた値である。コストは、例えば、目標とする室温と室温との誤差の二乗和である。
【０１１１】
ここで、強化学習装置１００は、サーバルーム１３００の温度を、サーバルーム１３００のサーバを誤作動または故障させるような高温にしてしまうような行動を、探索行動に決定することを防止することができる。また、強化学習装置１００は、サーバルーム１３００の２４時間分の消費電力量が著しく大きくなるような行動を、探索行動に決定することを防止することができる。このため、強化学習装置１００は、サーバルーム１３００に悪影響を与えるような不適切な行動を行うことを防止することができる。
【０１１２】
図１４の例では、制御対象１１０は、発電機１４００である。行動は、発電機１４００に対する指令値である。状態は、発電機１４００に設けられたセンサ装置からのセンサデータであり、例えば、発電機１４００の発電量や発電機１４００のタービンの回転量などである。利得は、例えば、報酬である。報酬は、例えば、発電機１４００の５分間の発電量である。
【０１１３】
ここで、強化学習装置１００は、発電機１４００のタービンの回転が、発電機１４００のタービンが故障しやすくなるような高速回転になるような指令値を、探索行動になる指令値に決定することを防止することができる。また、強化学習装置１００は、発電機１４００の２４時間分の発電量が小さくなるような指令値を、探索行動になる指令値に決定することを防止することができる。このため、強化学習装置１００は、発電機１４００に悪影響を与えるような不適切な行動を行うことを防止することができる。
【０１１４】
また、制御対象１１０は、上述した具体例のシミュレータであってもよい。また、制御対象１１０は、例えば、化学プラントなどであってもよい。また、制御対象１１０は、例えば、ゲームであってもよい。ゲームは、例えば、行動が順序尺度であり、行動が名義尺度ではない種類のゲームである。順序尺度は、行動を表す値の大きさに意味が存在することを示す。一方で、名義尺度は、例えば、利用者が行動に対して便宜上割り振った番号を、行動を表す値として利用する場合である。
【０１１５】
（強化学習処理手順）
次に、図１５を用いて、強化学習装置１００が実行する、強化学習処理手順の一例について説明する。強化学習処理は、例えば、図２に示したＣＰＵ２０１と、メモリ２０２や記録媒体２０５などの記憶領域と、ネットワークＩ／Ｆ２０３とによって実現される。
【０１１６】
図１５は、強化学習処理手順の一例を示すフローチャートである。図１５において、強化学習装置１００は、変数Ｔを０に設定する（ステップＳ１５０１）。次に、強化学習装置１００は、状態ｓTを観測し、履歴テーブル３００を用いて記憶する（ステップＳ１５０２）。
【０１１７】
そして、強化学習装置１００は、学習済みの最新の方策により最適行動ａT*を決定する（ステップＳ１５０３）。さらに、強化学習装置１００は、最適行動ａT*を基準にし、行動範囲限界より小さい行動範囲に含まれる探索行動ａTを決定し、履歴テーブル３００を用いて記憶する（ステップＳ１５０４）。
【０１１８】
次に、強化学習装置１００は、ＴをＴ＋１に設定する（ステップＳ１５０５）。そして、強化学習装置１００は、行動ａT-1に対応する報酬ｒT-1を取得し、履歴テーブル３００を用いて記憶する（ステップＳ１５０６）。
【０１１９】
次に、強化学習装置１００は、学習済みの最新の方策を更新するか否かを判定する（ステップＳ１５０７）。更新は、例えば、ステップＳ１５０２〜Ｓ１５０６の一連の処理が、Ｎ回実行されるごとに行われる。
【０１２０】
ここで、方策を更新しない場合（ステップＳ１５０７：Ｎｏ）、強化学習装置１００は、ステップＳ１５１１の処理に移行する。一方で、方策を更新する場合（ステップＳ１５０７：Ｙｅｓ）、強化学習装置１００は、ステップＳ１５０８の処理に移行する。
【０１２１】
ステップＳ１５０８では、強化学習装置１００は、新たな方策を学習し、学習済みの最新の方策を更新する（ステップＳ１５０８）。次に、強化学習装置１００は、マージ処理を行うか否かを判定する（ステップＳ１５０９）。
【０１２２】
ここで、マージ処理を行わない場合（ステップＳ１５０９：Ｎｏ）、強化学習装置１００は、ステップＳ１５１１の処理に移行する。一方で、マージ処理を行う場合（ステップＳ１５０９：Ｙｅｓ）、強化学習装置１００は、ステップＳ１５１０の処理に移行する。
【０１２３】
ステップＳ１５１０では、強化学習装置１００は、マージ処理を行う（ステップＳ１５１０）。そして、強化学習装置１００は、ステップＳ１５１１の処理に移行する。
【０１２４】
ステップＳ１５１１では、強化学習装置１００は、制御対象１１０の制御を終了するか否かを判定する（ステップＳ１５１１）。
【０１２５】
ここで、終了しない場合（ステップＳ１５１１：Ｎｏ）、強化学習装置１００は、ステップＳ１５０２の処理に戻る。一方で、終了する場合（ステップＳ１５１１：Ｙｅｓ）、強化学習装置１００は、強化学習処理を終了する。これにより、強化学習装置１００は、不適切な行動を回避しながら、最適と判断される最適行動を決定可能なように方策を更新することを繰り返すことができる。
【０１２６】
図１５の例では、強化学習装置１００が、バッチ処理形式で強化学習処理を実行する場合について説明したが、これに限らない。例えば、強化学習装置１００が、逐次処理形式で強化学習処理を実行する場合があってもよい。
【０１２７】
以上説明したように、強化学習装置１００によれば、制御対象１１０の状態に対する行動を規定した基本制御器を設定した最初の方策により得られる行動を用いて、制御対象１１０についての行動範囲限界より小さい行動範囲における第１の強化学習を実施することができる。強化学習装置１００によれば、第１の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における第２の強化学習を実施することができる。これにより、強化学習装置１００は、探索行動として、現状で最適と判断される最適行動から一定以上離れた行動が行われることを防止することができ、制御対象１１０に悪影響を与えるような不適切な行動が行われることを防止することができる。そして、強化学習装置１００は、不適切な行動を回避しながら、最適と判断される最適行動を精度よく決定可能なように方策を更新することができる。結果として、強化学習装置１００は、学習済みの最新の方策を更新する都度、当該方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけることができ、制御対象１１０を適切に制御することができる。
【０１２８】
強化学習装置１００によれば、直前に実施された第２の強化学習により学習された方策により得られる行動を用いて、行動範囲限界より小さい行動範囲における新たな第２の強化学習を実施することができる。これにより、強化学習装置１００は、不適切な行動を回避しながら、最適と判断される最適行動を精度よく決定可能なように方策を更新することを繰り返すことができる。結果として、強化学習装置１００は、学習済みの最新の方策を更新する都度、当該方策により最適と判断される最適行動を、実際に局所的に最適である最適行動に近づけることができる。また、強化学習装置１００は、繰り返しの結果、実際に局所的に最適である最適行動を決定する方策を学習することができる。そして、強化学習装置１００は、局所的に最適と判断される最適行動を行い、制御対象１１０を適切に制御することができる。
【０１２９】
強化学習装置１００によれば、第１の強化学習により、基本制御器と、基本制御器を設定した最初の方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習することができる。強化学習装置１００によれば、第２の強化学習により、直前に学習された方策と、当該方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習することができる。
【０１３０】
強化学習装置１００によれば、第２の強化学習により、直前に学習された方策に含まれる制御器に、当該方策により得られる行動からの行動範囲限界より小さい行動範囲における補正量を規定する制御器を統合した方策を学習することができる。これにより、強化学習装置１００は、学習された方策に含まれる制御器の数の低減化を図り、学習された方策により行動を決定する際の処理量の低減化を図ることができる。
【０１３１】
なお、本実施の形態で説明した強化学習方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した強化学習プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した強化学習プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１３２】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１３３】
（付記１）コンピュータに、
制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第１の強化学習を実施し、
前記第１の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第２の強化学習を実施する、
処理を実行させることを特徴とする強化学習プログラム。
【０１３４】
（付記２）前記コンピュータに、
直前に実施された第２の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における新たな第２の強化学習を実施する、処理を繰り返し実行させることを特徴とする付記１に記載の強化学習プログラム。
【０１３５】
（付記３）前記第１の強化学習は、前記基本制御器と、前記基本制御器により得られる行動からの前記行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習し、
前記第２の強化学習は、直前に学習された方策と、当該方策により得られる行動からの前記行動範囲限界より小さい行動範囲における補正量を規定する制御器とを含む方策を学習する、ことを特徴とする付記１または２に記載の強化学習プログラム。
【０１３６】
（付記４）前記第２の強化学習は、直前に学習された方策に含まれる制御器に、当該方策により得られる行動からの前記行動範囲限界より小さい行動範囲における補正量を規定する制御器を統合した方策を学習する、ことを特徴とする付記３に記載の強化学習プログラム。
【０１３７】
（付記５）コンピュータが、
制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第１の強化学習を実施し、
前記第１の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第２の強化学習を実施する、
処理を実行することを特徴とする強化学習方法。
【０１３８】
（付記６）制御対象の状態に対する行動を規定した基本制御器により得られる行動を用いて、前記制御対象についての行動範囲限界より小さい行動範囲における第１の強化学習を実施し、
前記第１の強化学習により学習された方策により得られる行動を用いて、前記行動範囲限界より小さい行動範囲における第２の強化学習を実施する、
制御部を有することを特徴とする強化学習装置。
【符号の説明】
【０１３９】
１００  強化学習装置
１１０  制御対象
２００  バス
２０１  ＣＰＵ
２０２  メモリ
２０３  ネットワークＩ／Ｆ
２０４  記録媒体Ｉ／Ｆ
２０５  記録媒体
２１０  ネットワーク
３００  履歴テーブル
４００，８００  行動価値テーブル
５００  記憶部
５１０  制御部
５１１  設定部
５１２  状態取得部
５１３  行動決定部
５１４  報酬取得部
５１５  更新部
５１６  出力部
６０１〜６０ｘ  行動範囲
６００，７００，７１０，７２０  表
８１０，９００，９１０，９２０  制御器
１２００  自律移動体
１２０１  移動機構
１３００  サーバルーム
１３０１  サーバ
１３０２  冷却器
１４００  発電機
【図１】
2019179518.tif 000003
【図２】
2019179518.tif 000004
【図３】
2019179518.tif 000005
【図４】
2019179518.tif 000006
【図５】
2019179518.tif 000007
【図６】
2019179518.tif 000008
【図７】
2019179518.tif 000009
【図８】
2019179518.tif 000010
【図９】
2019179518.tif 000011
【図１０】
2019179518.tif 000012
【図１１】
2019179518.tif 000013
【図１２】
2019179518.tif 000014
【図１３】
2019179518.tif 000015
【図１４】
2019179518.tif 000016
【図１５】
2019179518.tif 000017