(57)【要約】【課題】効率的に学習を行うことができるように、環境のリセットなどの注目状況が発生した状態に特化して表現学習する強化学習方法を提供する。【解決手段】環境データから観測された状態に基づき学習する学習器を用いて学習した結果からエージェントの行動方策を最適化する強化学習方法において、１つのエピソードにおける環境データの学習中に、予め設定された注目状況が発生した状態が観測されたか否かを判定する。そして、注目状況が発生した状態が観測された場合に、注目状況が発生した状態の環境データと一つ前の時刻の環境データの２つの環境データを用いて特徴抽出器（第１学習器）に学習させ、表現学習を実行する。そして、各々の特徴データの差を、状態分類器（第２学習器）に学習させ、出力推定データと実データに基づいて、第１学習器及び第２学習器のパラメータを更新する。【選択図】図３
2020166795.tif 000002
【特許請求の範囲】
【請求項１】
環境データから観測された状態に基づき学習する学習器を用いて学習した結果からエージェントの行動方策を最適化する強化学習方法において、
１つのエピソードにおける環境データの学習中に、予め設定された注目状況が発生した状態が観測されたか否かを判定する判定ステップと、
前記注目状況が発生した状態が観測された場合に、前記注目状況が発生した第１状態の第１環境データの特徴と、第１状態より過去に遡った第２状態の第２環境データの特徴を比較し、各々の特徴の差を前記学習器に学習させる学習ステップ、を備えたことを特徴とする強化学習方法。
【請求項２】
前記学習ステップは、以下のａ）〜ｃ）のステップを備えることを特徴とする請求項１に記載の強化学習方法：
ａ）前記注目状況が発生した第１状態の第１環境データと、第１状態より過去に遡った第２状態の第２環境データと、第１状態及び第２状態における各々の行動及び報酬を入力して、前記学習器である第１学習器に学習させる第１学習ステップと、
ｂ）第１学習器が出力する第１環境データ及び第２環境データの各々の特徴データを入力して、各々の特徴データの差を、第２学習器に学習させる第２学習ステップと、
ｃ）第２状態における行動と報酬、及び、第１状態における前記注目状況の発生有無に関する第２学習器の出力推定データと実データとに基づいて、第１学習器及び第２学習器のパラメータを更新する更新ステップ。
【請求項３】
前記注目状況が発生した第１状態より過去に遡った第２状態は、第１状態を観測した時刻ｔの１つ前の時刻ｔ−１に観測した状態であり、
前記判定ステップにおいて、
前記注目状況が発生した状態が観測された場合に、時刻ｔ−１に観測された状態の第２環境データと行動及び報酬が記憶されているメモリ部から、時刻ｔ−１の第２環境データと行動及び報酬を取得し、
前記第１学習ステップにおいて、
時刻ｔの第１環境データと、時刻ｔ−１の第２環境データとから、第１環境データ及び第２環境データの各々の特徴データｈ，ｈ´を抽出し、
前記第２学習ステップにおいて、
前記特徴データｈ，ｈ´から時刻ｔ−１と時刻ｔの間の行動及び報酬と、時刻ｔの前記注目状況の発生有無を推定し、
前記更新ステップにおいて、
前記推定した結果と、実際の時刻ｔ−１と時刻ｔの間の行動及び報酬と時刻ｔの前記注目状況とを、ロス関数を用いて比較し、ロス関数の値が小さくなるように、前記第１学習ステップ、前記第２学習ステップ及び前記更新ステップの各ステップを、強化学習の性能が閾値以上、又は、繰り返し回数が所定回数以上になるまで、前記パラメータを繰り返し更新し、
１回発生した前記注目状況に対し、発生以降に発生時と同様な環境データ、行動及び報酬の環境条件に遭遇した場合に、前記注目状況を発生し難くする又は前記注目状況を積極的に発生し易くする前記第１学習器が構築されることを特徴とする請求項２に記載の強化学習方法。
【請求項４】
前記環境データは、画像データであり、
前記第１学習ステップは、畳み込みニューラルネットワークを用いて、入力する画像データを第１学習器に学習させ、
前記第２学習ステップは、ニューラルネットワークを用いて、入力する画像特徴データを第２学習器に学習させ、
前記更新ステップは、第２学習器の出力推定データと実データを、ロス関数を用いて比較し、ロス関数の値が小さくなるように最適化関数を使って、第１学習器及び第２学習器の重みパラメータを更新する、
ことを特徴とする請求項２又は３に記載の強化学習方法。
【請求項５】
前記注目状況は、エピソード終端における環境リセット又は環境リセットに相当する状況であることを特徴とする請求項１〜４の何れかに記載の強化学習方法。
【請求項６】
環境データから観測された状態に基づき学習する学習器を用いて学習した結果からエージェントの行動方策を最適化する強化学習装置において、
１つのエピソードにおける環境データの学習中に、予め設定された注目状況が発生した状態が観測されたか否かを判定する判定部と、
前記注目状況が発生した状態が観測された場合に、前記注目状況が発生した第１状態の第１環境データの特徴と、第１状態より過去に遡った第２状態の第２環境データの特徴を比較し、各々の特徴の差を学習する前記学習器を備えたことを特徴とする強化学習装置。
【請求項７】
前記学習器は、前記注目状況が発生した状態が観測された場合に機能する以下のＡ）〜Ｃ）を備えることを特徴とする請求項６に記載の強化学習装置：
Ａ）前記注目状況が発生した第１状態の第１環境データと、第１状態より過去に遡った第２状態の第２環境データと、第１状態及び第２状態における各々の行動及び報酬を入力して学習させる前記学習器である第１学習器と、
Ｂ）第１学習器が出力する第１環境データ及び第２環境データの各々の特徴データを入力して、各々の特徴データの差を学習させる第２学習器と、
Ｃ）第２状態における行動と報酬、及び、第１状態における前記注目状況の発生有無に関する第２学習器の出力推定データと実データとに基づいて、第１学習器及び第２学習器のパラメータを更新する更新部。
【請求項８】
前記注目状況が発生した第１状態より過去に遡った第２状態は、第１状態を観測した時刻ｔの１つ前の時刻ｔ−１に観測した状態であり、
前記判定部は、
前記注目状況が発生した状態が観測された場合に、時刻ｔ−１に観測された状態の第２環境データと行動及び報酬が記憶されているメモリ部から、時刻ｔ−１の第２環境データと行動及び報酬を取得し、
前記第１学習器は、
時刻ｔの第１環境データと、時刻ｔ−１の第２環境データとから、第１環境データ及び第２環境データの各々の特徴データｈ，ｈ´を抽出し、
前記第２学習器は、
前記特徴データｈ，ｈ´から時刻ｔ−１と時刻ｔの間の行動及び報酬と、時刻ｔの前記注目状況の発生有無を推定し、
前記更新部は、
前記推定した結果と、実際の時刻ｔ−１と時刻ｔの間の行動及び報酬と時刻ｔの前記注目状況とを、ロス関数を用いて比較し、ロス関数の値が小さくなるように、強化学習の性能が閾値以上、又は、繰り返し回数が所定回数以上になるまで、前記パラメータを繰り返し更新し、
１回発生した前記注目状況に対し、発生以降に発生時と同様な環境データ、行動及び報酬の環境条件に遭遇した場合に、前記注目状況を発生し難くする又は前記注目状況を積極的に発生し易くする前記第１学習器が構築されることを特徴とする請求項７に記載の強化学習装置。
【請求項９】
前記環境データは、画像データであり、
前記第１学習器は、畳み込みニューラルネットワークを用いて構成され、入力する画像データで学習し、
前記第２学習器は、ニューラルネットワークを用いて構成され、入力する画像特徴データで学習し、
前記更新部は、前記第２学習器の出力推定データと実データを、ロス関数を用いて比較し、ロス関数の値が小さくなるように最適化関数を使って、前記第１学習器及び第２学習器の重みパラメータを更新することを特徴とする請求項７又は８に記載の強化学習装置。
【請求項１０】
前記注目状況は、エピソード終端における環境リセット又は環境リセットに相当する状況であることを特徴とする請求項６〜９の何れかに記載の強化学習装置。
【請求項１１】
請求項２〜５の何れかの強化学習方法における前記判定ステップ、前記第１学習ステップ、前記第２学習ステップ及び前記更新ステップを、コンピュータに実行させるための強化学習プログラム。
【請求項１２】
請求項７〜１０の何れかの強化学習装置における前記判定部、前記第１学習器、前記第２学習器及び前記更新部として、コンピュータを機能させるための強化学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、環境データから観測された状態に基づき学習する学習器を用いて、学習した結果からエージェントの行動方策を最適化する強化学習において、エピソードのデータ効率を高め、コストを低減できる強化学習方法、装置及びプログラムに関するものである。
【背景技術】
【０００２】
近年、強化学習、特に、深層強化学習は、電子ゲームにおいて利用されるＡＩ(人工知能)、自動車などの車両の自動運転制御、ロボットの自律制御などのアルゴリズムに応用されている。強化学習は、エピソードという単位で学習を繰り返し、環境の中で試行錯誤した結果の報酬を用いて対象となる環境に適応する手法であり方策を最適化することで学習を行うものであり、深層強化学習は、畳み込みニューラルネットワーク（ＣＮＮ）の情報処理力を利用して、画像データなどの高次元入力に基づき、強化学習を行うものである。
【０００３】
強化学習や深層強化学習では、環境内におけるエージェントが、現在の状態を観測し、取るべき行動を決定するといった問題が設定され、エージェントは行動を選択することにより環境から報酬を得る。このような環境とエージェントとのやりとりを繰り返しながら、報酬、行動、状態の３つの変数を用いて学習していく。
強化学習や深層強化学習では、エージェントが状態空間と行動空間を持つある環境で行動を取る。タイムステップ毎に、方策が特徴抽出用学習器で状態を特徴ベクトルに変換し、価値関数計算用学習器で特徴ベクトルに対する行動確率を出力する。エージェントが行動を取った後、環境はスカラーの報酬と次の状態を出力する。最終状態まで行動を取ることを繰り返すと、エピソードが終了する。
【０００４】
強化学習や深層強化学習では、試行錯誤で学習するため数多くの環境のリセット、例えば、ゲームオーバーや、車両やロボットなどの衝突による損傷や故障の回復が必要となる。具体的には、歩行を学ぶロボットが転倒するたびに人は転倒したロボットを起立させる必要がある。このような転倒状態に対応するためには、強化学習のアルゴリズムが多くの経験を必要とし、エピソードの長さが増長し、それに伴って学習に必要な時間が増加する。つまり、環境のリセットは、物理的な回復によるコストの増加だけでなく、学習時間の増大による学習効率の低下を招くことから、環境のリセット回数を低減できる技術、すなわち、エピソード効率の良い強化学習方法が期待されている。
【０００５】
かかる状況下、従来から強化学習における環境のリセット回数を低減する技術が知られている（例えば、非特許文献１〜３を参照。）。
非特許文献１には、PILCOフレームワーク（「M.P. Deisenroth et al., “ PILCO: A model-based and data-efficient approach to policy search”, In ICML, pages 465-472, 2011.」を参照）に基づいてガウス過程モデルを訓練させ、状態空間制約に違反する確率を推定し、実環境中も訓練中も、安全と見做される方策のみを実装し、失敗のリスク、すなわち環境のリセットを最小限に抑える方法が開示されている。非特許文献１に開示された方法では、環境のリセットを大きく低減するが、PILCOフレームワークで学習された数理モデルで環境を表現するため、計算コストが高く、一般的な問題（自動運転，ロボット制御など）には応用困難であり汎用性が低いといった問題がある。またPILCOフレームワークを深層強化学習へ適用する方法が明らかでないといった問題がある。
【０００６】
非特許文献２には、安全で効率的な強化学習のための自律的な方法が開示されている。非特許文献２に開示された方法では、再試行のための環境を再設定してフォワードの方策とリセットの方策を同時に学習して、環境のリセットを行う方策の価値関数を学習させることにより、フォワードの方策がいつ不可逆的な状態になろうとしているのかを自動的に判断し、不確実性を考慮した安全性の打ち切りを可能にし、手動的な環境のリセット回数を低減する。非特許文献２に開示された方法も、非特許文献１の方法と同様に、計算コストが高く、汎用性が低いといった問題がある。
【０００７】
非特許文献３には、ビッグデータを用いて環境のモデルを学習する強化学習であって、環境データの観測における高次元の観測データを低次元のコードに圧縮し、深層生成モデルのVAE（Variational Autoencoder）を用いて表現学習する方法が開示されている。非特許文献３に開示された方法では、環境モデルを学習するために、まず事前にランダムな方策を用いて経験を収集し、画像データから視覚特徴抽出のために、VAEの視覚モジュールを学習させ、数エポック後に全ての画像データをVAEの潜在変数空間に変換し、前の状態と行動を入力して、次の状態とエピソードの終了を予測するように学習する。このように非特許文献３に開示された方法は、空間特徴の獲得にVAEを用いるために、例えば巨大な画像中で変化が少ない環境では無意味な表現が多く、正しい学習ができないといった問題があり、また非常に幅広い探索を行っているため、結果的にデータ効率、環境のリセット回数の低減の点で改善が必要であり、学習の効率が悪いといった問題がある。また、非特許文献３の方法において、実環境の経験が無いエージェントが直接に方策を学習するより、環境の正確なモデルを作るには、より多くの経験が必要であり、効率的な強化学習とは言い難いといった問題がある。
【０００８】
非特許文献４には、強化学習における報酬の調整によって、場所の探索を加速できる表現学習方法が開示されている。非特許文献４に開示された方法では、非特許文献３の方法と異なり、ビッグデータを用いて環境のモデルを学習するのではなく、非特許文献１，２の方法と同様に、計算コストが高く、汎用性が低いといった問題がある。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】K. Polymenakos et al., “Safe Policy Search with Gaussian Process Models”, arXiv:1712.05556，In NIPS, Dec 2017.
【非特許文献２】B. Eysenbach et al., “Leave no Trace: Learning to Reset for Safe and Autonomous Reinforcement Learning”, arXiv:1711.06782, In NIPS, Nov 2017.
【非特許文献３】D. Ha et al., “World models”, arXiv:1803.10122, In NIPS, May 2018.
【非特許文献４】D. Pathak et al., “Curiosity-driven Exploration by Self-supervised Prediction”, arXiv:1705.05363, In NIPS, May 2017.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述の如く、強化学習や深層強化学習におけるエージェントは、失敗などのネガティブな行動に起因する環境のリセットを繰り返して最適な行動を学習し、最終的に得られた行動の性能や時間コストによって評価される。しかしながら、現実社会への応用を考えた場合には、失敗などの環境のリセットにかかるコスト（自動運転ならば事故、ロボットアームなら対象物の破壊やロボットの破損などの回復のための時間的・物理的なコスト）が無視できない。
一方で、エージェントは、電子ゲームにおけるスコアアップのアイテム獲得、自動運転における燃費を向上させる運転操作（いわゆるエコドライブ）などのポジティブな行動を行う状況に遭遇する場面が存在する。
かかる状況に鑑みて、本発明は、失敗などの環境のリセットにかかるコストを評価軸にし、より少ないリセット回数で高性能なエージェントを構築し、また、ポジティブな行動を積極的に行えるエージェントを構築し、効率的に学習を行うことができるように、環境のリセットなどの注目状況が発生した状態に特化して表現学習する強化学習方法、強化学習装置及び強化学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決すべく、本発明の強化学習方法は、環境データから観測された状態に基づき学習する学習器を用いて学習した結果からエージェントの行動方策を最適化する強化学習方法において、１つのエピソードにおける環境データの学習中に、予め設定された注目状況が発生した状態が観測されたか否かを判定する判定ステップと、注目状況が発生した状態が観測された場合に、注目状況が発生した第１状態の第１環境データの特徴と、第１状態より過去に遡った第２状態の第２環境データの特徴を比較し、各々の特徴の差を学習器に学習させる学習ステップ、を備える。学習ステップは、以下のａ）〜ｃ）のステップより構成される。
【００１２】
ａ）第１学習ステップ
第１学習ステップは、注目状況が発生した第１状態の第１環境データと、第１状態より過去に遡った第２状態の第２環境データと、第１状態及び第２状態における各々の行動及び報酬を入力して、上記学習器である第１学習器に学習させるものである。
ｂ）第２学習ステップ
第２学習ステップは、第１学習器が出力する第１環境データ及び第２環境データの各々の特徴データを入力して、各々の特徴データの差を、第２学習器に学習させるものである。
ｃ）更新ステップ
更新ステップは、第２状態における行動と報酬、及び、第１状態における注目状況の発生有無に関する第２学習器の出力推定データと実データとに基づいて、第１学習器及び第２学習器のパラメータを更新するものである。
【００１３】
本発明の強化学習方法によれば、注目状況が発生する確率を学習することによって、注目状況に対して敏感に回避、或は、積極的に直面しようとするエージェントを構築することができる。注目状況に対して敏感に回避しようとするエージェントによれば、実空間での事故などの失敗状況（＝注目状況）の遭遇の頻度を減らしつつエージェントの学習を促進させることができる。これにより、少ないエピソード回数で同程度もしくは優れたエージェントを構築できる。一方、注目状況に対して積極的に直面しようとするエージェントによれば、実空間での目的物の獲得などの成功状況（＝注目状況）の遭遇の頻度を増やしつつエージェントの学習を促進させることができる。これにより、少ないエピソード回数で同程度もしくは優れたエージェントを構築できる。
本発明の強化学習方法における注目状況とは、エピソードの環境内で生じる注目すべき状況であり、例えば、エピソードにおける環境のリセット、電子ゲームにおけるゲームオーバー、災害や故障発生の前ぶれの事象発生などの回避すべきネガティブ要素の注目状況や、電子ゲームにおけるスコアアップのアイテム獲得、自動運転における燃費を向上させる運転操作（いわゆるエコドライブ）などのポジティブ要素の注目状況がある。
【００１４】
本発明の強化学習方法では、上記ａ）の第１学習ステップで環境の特徴抽出を行い、上記ｂ）の第２学習ステップで注目状況の発生有無の状態分類を行う。そして、上記ｃ）の更新ステップの構成により、第１学習器と第２学習器の設定パラメータを更新する。これにより、注目状況に遭遇する頻度を増減し、エピソード単位の効率の最大化を図ることができる。具体的には、予め設定された注目状況が発生した状態が観測されたか否かを判定する判定ステップにより、強化学習中に環境のリセットなどの注目状況が発生した際には、バッファーメモリなどのメモリ部から一つ前の時刻の環境データを取得し、注目状況が発生した状態の環境データと一つ前の時刻の環境データの２つの環境データを用いて表現学習を実行する。これにより、１度発生した注目状況に対しては、その本質的な発生原因を特徴量として理解するように、２つの環境データからそれぞれの特徴を抽出してその差の特徴を学習させることによって、これ以降に同様な環境条件に遭遇した場合に注目状況が発生しないように処理を行う強化学習の特徴抽出器の構築が可能となる。
【００１５】
本発明の強化学習方法によれば、数理モデルだけでは無く、一般的な問題（自動運転、ロボット制御など）にも適用でき、かつ、無意味な表現が多い環境（例えば、背景の壁の色や模様の複雑である環境）においても注目状況の発生の本質的な発生原因のみを学習できるため、汎用性を向上できる。
また、本発明の強化学習方法によれば、ビッグデータを学習に用いる手法としても、注目状況が発生することのみに特化する学習を行えることから、エピソードのデータ効率性も優れている。
【００１６】
本発明の強化学習方法において、注目状況が発生した第１状態より過去に遡った第２状態は、第１状態を観測した時刻ｔの１つ前の時刻ｔ−１に観測した状態である。また判定ステップにおいて、注目状況が発生した状態が観測された場合に、時刻ｔ−１に観測された状態の第２環境データと行動及び報酬が記憶されているメモリ部から、時刻ｔ−１の第２環境データと行動及び報酬を取得する。また第１学習ステップにおいて、時刻ｔの第１環境データと、時刻ｔ−１の第２環境データとから、第１環境データ及び第２環境データの各々の特徴データｈ，ｈ´を抽出する。また第２学習ステップにおいて、特徴データｈ，ｈ´から時刻ｔ−１と時刻ｔの間の行動及び報酬と、時刻ｔの注目状況の発生有無を推定する。
そして、更新ステップにおいて、推定した結果と、実際の時刻ｔ−１と時刻ｔの間の行動及び報酬と時刻ｔの注目状況とを、ロス関数を用いて比較し、ロス関数の値が小さくなるように、第１学習ステップ、第２学習ステップ及び更新ステップの各ステップを、強化学習の性能が閾値以上、又は、繰り返し回数が所定回数以上になるまで、パラメータを繰り返し更新する。なお、パラメータを更新する繰り返しの条件判定に、ロス関数の値が所定閾値以下であるという条件を用いても構わない。
本発明の強化学習方法によれば、１回発生した注目状況に対し、発生以降に発生時と同様な環境データ、行動及び報酬の環境条件に遭遇した場合に、注目状況を発生し難くする又は注目状況を積極的に発生し易くする第１学習器が構築される。
【００１７】
ここで、環境データには、電子ゲームや車載カメラの画像データや、車両の自動運転制御に用いる各種センサのデータなどである。
特に、環境データが画像データである場合、第１学習ステップは、畳み込みニューラルネットワークを用いて、入力する画像データを第１学習器に学習させる。また第２学習ステップは、ニューラルネットワークを用いて、入力する画像特徴データを第２学習器に学習させる。そして、更新ステップは、第２学習器の出力推定データと実データを、ロス関数を用いて比較し、ロス関数の値が小さくなるように最適化関数を使って、第１学習器及び第２学習器の重みパラメータを更新する。
【００１８】
また本発明の強化学習方法における注目状況は、具体的には、エピソード終端における環境リセット又は環境リセットに相当する状況である。ここで、環境リセットとは、エピソードの環境のリセットであり、環境リセットに相当する状況とは、電子ゲームにおけるゲームオーバー、自動運転における事故や車両の故障、ロボットアームなら対象物の破壊やロボットの破損、緊急停止ボタン操作などである。
【００１９】
次に、本発明の強化学習装置について説明する。
本発明の強化学習装置は、環境データから観測された状態に基づき学習する学習器を用いて学習した結果からエージェントの行動方策を最適化する強化学習装置において、１つのエピソードにおける環境データの学習中に、予め設定された注目状況が発生した状態が観測された場合に、注目状況が発生した第１状態の第１環境データの特徴と、第１状態より過去に遡った第２状態の第２環境データの特徴を比較し、各々の特徴の差を学習する学習器を備える。学習器は、注目状況が発生した状態が観測された場合に機能する以下のＡ）〜Ｃ）を備える。
【００２０】
Ａ）第１学習器
第１学習器は、注目状況が発生した第１状態の第１環境データと、第１状態より過去に遡った第２状態の第２環境データと、第１状態及び第２状態における各々の行動及び報酬を入力して学習させる上記の学習器である。
Ｂ）第２学習器
第２学習器は、第１学習器が出力する第１環境データ及び第２環境データの各々の特徴データを入力して、各々の特徴データの差を学習させる学習器である。
Ｃ）更新部
更新部は、第２状態における行動と報酬、及び、第１状態における注目状況の発生有無に関する第２学習器の出力推定データと実データとに基づいて、第１学習器及び第２学習器のパラメータを更新するものである。
【００２１】
上記の本発明の強化学習装置において、注目状況が発生した第１状態より過去に遡った第２状態は、第１状態を観測した時刻ｔの１つ前の時刻ｔ−１に観測した状態である。判定部は、注目状況が発生した状態が観測された場合に、時刻ｔ−１に観測された状態の第２環境データと行動及び報酬が記憶されているメモリ部から、時刻ｔ−１の第２環境データと行動及び報酬を取得する。第１学習器は、時刻ｔの第１環境データと、時刻ｔ−１の第２環境データとから、第１環境データ及び第２環境データの各々の特徴データｈ，ｈ´を抽出する。第２学習器は、特徴データｈ，ｈ´から時刻ｔ−１と時刻ｔの間の行動及び報酬と、時刻ｔの注目状況の発生有無を推定する。更新部は、推定した結果と、実際の時刻ｔ−１と時刻ｔの間の行動及び報酬と時刻ｔの注目状況とを、ロス関数を用いて比較する。そして、ロス関数の値が小さくなるように、強化学習の性能が閾値以上、又は、繰り返し回数が所定回数以上になるまで、パラメータを繰り返し更新する。これにより、１回発生した注目状況に対し、発生以降に発生時と同様な環境データ、行動及び報酬の環境条件に遭遇した場合に、注目状況を発生し難くする又は注目状況を積極的に発生し易くする第１学習器が構築される。
【００２２】
ここで、具体的には、環境データは、画像データである。また第１学習器は、畳み込みニューラルネットワークを用いて構成され、入力する画像データを第１学習器に学習させる。また第２学習器は、ニューラルネットワークを用いて構成され、入力する画像特徴データを第２学習器に学習させる。そして、更新ステップは、第２学習器の出力推定データと実データを、ロス関数を用いて比較し、ロス関数の値が小さくなるように最適化関数を使って、第１学習器及び第２学習器の重みパラメータを更新する。
【００２３】
本発明の強化学習装置における注目状況は、エピソード終端における環境リセット又は環境リセットに相当する状況である。環境リセットに相当する状況は、前述の強化学習方法と同様に、ゲームオーバー、自動運転における事故や車両の故障、ロボットアームなら対象物の破壊やロボットの破損、緊急停止ボタン操作などである。
【００２４】
本発明の強化学習プログラムは、上述の本発明の強化学習方法における判定ステップ、第１学習ステップ、第２学習ステップ及び更新ステップの各ステップを、コンピュータに実行させるためのプログラムである。また、本発明の強化学習プログラムは、上述の本発明の強化学習装置における判定部、第１学習器、第２学習器及び更新部として、コンピュータを機能させるためのプログラムである。
【発明の効果】
【００２５】
本発明によれば、より少ないリセット回数で高性能なエージェントを構築し、また、ポジティブな行動を積極的に行えるエージェントを構築し、効率的に強化学習を行うことができる。
【図面の簡単な説明】
【００２６】
【図１】強化学習方法及び強化学習装置の処理説明図
【図２】注目状況が発生しない状態における学習器の入出力データフロー図
【図３】注目状況が発生した状態における学習器の入出力データフロー図
【図４】強化学習装置の学習器の機能ブロック図
【図５】強化学習方法の処理フロー図
【図６】強化学習方法の処理フローにおける強化学習の処理フロー図
【図７】実施例１の強化学習方法の処理フロー図
【図８】画像特徴抽出器と状態分類器のニューラルネットワークの説明図
【図９】強化学習後の学習器の入出力データフロー図
【図１０】実施例１の強化学習方法におけるエピソードの効率性を示すグラフ
【図１１】実施例２の強化学習方法の入出力データフロー図
【図１２】実施例２の強化学習方法の処理フロー図
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施形態の一例を、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。
【実施例１】
【００２８】
本発明の強化学習方法及び強化学習装置の処理について、図１〜３を参照して説明する。
本発明の強化学習方法や強化学習装置の処理では、図１に示すように、一般的な強化学習と同様に、環境２内におけるエージェント（図示せず）が現在の状態を観測し、取るべき行動を決定する方策３が設定され、方策３から行動を選択する。エージェントは価値関数の値が大きくなるように、方策３から行動を選択することで環境２から報酬を得る。このような環境２とエージェントのやりとりを、報酬と行動と状態の３つの変数を用いてフィードバックしながら学習していく。
【００２９】
環境２とは、例えば、電子ゲームの画面の画像データの集合や、ロボットや車両に搭載されたカメラの撮影動画の画像データの時系列などの集合であり、状態とは、画像データの集合である環境２を観測して得られる個々の画像データである。また、行動とは、例えば、電子ゲームであればゲームの入力デバイス操作、自動車の自動運転であればハンドル操作などである。
【００３０】
本発明の強化学習方法や強化学習装置の処理では、注目状況が発生しない状態、すなわち、観測した画像データにおいて注目状況が発生しない場合に、学習器１は、図２に示すように、観測した画像データｘｔを取込み（１０）、注目状況の発生有無を判定する判定部１１を経て、特徴抽出器（第１学習器）１３により画像データの特徴を抽出する。特徴抽出器（第１学習器）１３では、抽出された特徴がベクトルデータｈとして出力され（１４）、価値関数計算器１７では、ベクトルデータｈ（１５）が入力され（１６）、価値関数１９が出力される（１８）。
【００３１】
注目状況とは、例えば、電子ゲームにおけるゲームオーバーなど予め設定された注目すべき状況であり、注目状況の発生有無の情報は、図２において取り込んだ画像データに結びついた[実データ]の中のエピソード終端ｔｔのフラグ情報（１／０）として設けられている。このエピソード終端ｔｔのフラグ情報を参照し、注目状況の発生有無を判定部１１で判定する。このエピソード終端ｔｔのフラグ情報は、一般的な強化学習には用いられていない状態変数である。
【００３２】
そして、注目状況が発生した状態、すなわち、観測した画像データにおいて注目状況が発生した場合には、学習器１は、図３に示すように、観測した画像データｘｔを取込み（１０）、画像データに結びついた[実データ]の中のエピソード終端ｔｔのフラグ情報を参照し、注目状況が発生したことを判定部１１で判定する。そして、注目状況が発生したと判定した場合に、観測した画像データｘｔの時刻ｔの直前、すなわち、１つ前の時刻ｔ−１に観測された状態が記憶されているメモリ部４から読み出しを行い（２２）、時刻ｔ−１の画像データｘｔ−１と行動ａｔ−１及び報酬ｒｔ−１を取得する（２３）。
【００３３】
特徴抽出器（第１学習器）１３では、時刻ｔに観測された状態としての画像データｘｔと、時刻ｔ−１に観測された状態としての画像データｘｔ−１とから、画像データｘｔと画像データｘｔ−１の各々の特徴を示すベクトルデータｈ，ｈ´を抽出し、出力する（１４，２４）。
状態分類器（第２学習器）２３では、画像データｘｔと画像データｘｔ−１の各々の特徴を示すベクトルデータｈ（１５），ｈ´（２５）から、時刻ｔ−１と時刻ｔの間の行動ａｔ−１、時刻ｔの報酬ｒｔとエピソード終端ｔｔのフラグ情報を推定する。
【００３４】
更新部２８では、時刻ｔ−１と時刻ｔの間の行動ａｔ−１と、時刻ｔの報酬ｒｔとエピソード終端ｔｔのフラグ情報を推定した結果と、実際の時刻ｔ−１と時刻ｔの間の行動ａｔ−１、時刻ｔの報酬ｒｔとエピソード終端ｔｔのフラグ情報とを、ロス関数を用いて比較する。そして、ロス関数の値が小さくなるように、特徴抽出器（第１学習器）１３と状態分類器（第２学習器）２３のパラメータを更新する。パラメータの更新は、ロス関数の値が所定閾値未満、又は、繰り返し回数が所定回数以上になるまで繰り返される。
なお、更新部２８では、時刻ｔ−１と時刻ｔの間の行動ａｔ−１及び報酬ｒｔ−１と、時刻ｔのエピソード終端ｔｔのフラグ情報を推定した結果と、実際の時刻ｔ−１と時刻ｔの間の行動ａｔ−１及び報酬ｒｔ−１と、時刻ｔのエピソード終端ｔｔのフラグ情報とを、ロス関数を用いて比較しても構わない。
【００３５】
本発明の強化学習方法や強化学習装置の処理では、注目状況が発生した場合に行う上記の処理によって、１回発生した注目状況に対し、発生以降に発生時と同様な環境データ、行動及び報酬の環境条件に遭遇した場合に、注目状況が発生し難いように学習器が構築されていくことになる。
【００３６】
図４は、本発明の強化学習装置の学習器の機能ブロックを示すものである。機能ブロック中の判定部１１、特徴抽出器（第１学習器）１３、価値関数計算器１７、状態分類器（第２学習器）２３、更新部２８は、上述した処理を行うものである。環境データ取得部９は、図１の環境２やメモリ部４から環境で観測された状態としての環境データ、例えば、上述のように画像データを取込むものである。
【００３７】
本発明の強化学習方法の処理フローについて、図５，６を参照して説明する。本発明の強化学習方法では、図１に示したとおり、環境２とエージェントのやりとりを、報酬と行動と状態の３つの変数を用いてフィードバックしながら学習する通常の強化学習を行い（Ｓ１０）、注目状況が発生するか否かを判定し（Ｓ１１）、注目状況が発生しない状態であれば、強化学習（Ｓ１０）を繰り返す。一方、強化学習（Ｓ１０）を繰り返す中で、注目状況が発生する状態があれば、メモリ部４より注目状況の発生時刻より一定時間前の環境データ、報酬、行動を取得し（Ｓ１２）、注目状況の発生時刻の環境データと一定時間前の環境データとから、各々の特徴を示す各ベクトルデータを抽出する（Ｓ１３）。そして、抽出した特徴の各ベクトルデータの差に基づいて、行動、報酬及び注目状況の発生状況を推定し（Ｓ１４）、これら推定結果と、実際の行動、報酬及び注目状況の実データに基づいて、学習器のパラメータを更新する（Ｓ１５）。ステップＳ１３からＳ１５のパラメータ更新までは、学習性能が所定閾値を超えるまで等の条件を満たすまで繰り返し行われる（Ｓ１６）。
【００３８】
ここで、上述の通常の強化学習（Ｓ１０）の処理フローを、図６に示す。環境データを観測し、環境データと報酬を取得し（Ｓ１０１）、環境データの特徴を抽出する（Ｓ１０２）。抽出した特徴を示すベクトルデータは、価値関数計算器に入力され（Ｓ１０３）、価値関数計算器により、状態と報酬から、将来に渡って獲得できる報酬の総和（価値関数）を出力する（Ｓ１０４）。価値関数と方策に従い、行動を選択し（Ｓ１０５）、環境より得た報酬に基づき、価値関数計算器のパラメータを更新する（Ｓ１０６）。エピソード終端に到達したか否かを判定し（Ｓ１０７）、エピソード終端に到達していなければ時刻を一つ進めて（Ｓ１０８）、次の観測による環境データと報酬を取得して（Ｓ１０１）、ステップＳ１０１〜Ｓ１０６を繰り返す。一方、エピソード終端に到達していれば、エピソードを切替え（Ｓ１０９）、１つのエピソードを用いて学習した結果からエージェントの行動方策を最適化する強化学習を終了する。
【００３９】
図７は、実施例１の強化学習方法の処理フロー図を示している。図７の強化学習方法は、注目状況の環境のリセット、例えば、電子ゲームのゲームオーバーや車両の運転の事故などのリセットが必要なものを回避するための処理フローの一例を示すものである。環境データは、電子ゲームの画像や車載カメラ等の画像データである。
図７の強化学習方法は、図６の処理フローの通常の強化学習を行い（Ｓ１０）、１つのエピソードの終端ｔｔの状態フラグが、リセット無し（０）かリセット（１）かを判定し（Ｓ２１）、リセット無しの状態であれば、強化学習（Ｓ１０）を繰り返す。
一方、強化学習（Ｓ１０）を繰り返す中で、リセットが発生する状態があれば、エピソード終端ｔｔが“リセット”の時を時刻ｔとし、リセットの時刻より過去に遡った時刻ｔ−１の画像データｘｔ−１、報酬ｒｔ−１と行動ａｔ−１をメモリ部より取得し（Ｓ２２）、時刻ｔの画像データｘｔと時刻ｔ−１の画像データｘｔ−１より各々の画像特徴を示す各ベクトルデータｈ，ｈ´を抽出する（Ｓ２３）。そして、抽出したｈ，ｈ´より、時刻ｔと時刻ｔ−１間の行動ａｔ−１、時刻ｔの報酬ｒｔおよびエピソード終端ｔｔを推定（推定状況結果を出力）し（Ｓ２４）、ロス関数を用いて、行動ａｔ−１、報酬ｒｔ、エピソード終端ｔｔの推定状況結果と実データを比較する（Ｓ２５）。そして、ロス関数の値が小さくなるように画像特徴抽出器（第１学習器）と状態分類器（第２学習器）のパラメータを変更する（Ｓ２６）。ステップＳ２３からＳ２６のパラメータ更新までは、学習性能が所定閾値を超えるまで、又は、繰り返し回数が所定回数を超えるまで繰り返し行われる（Ｓ２７）。
【００４０】
図７の強化学習方法における第１学習器と第２学習器について図８を用いて説明する。図７の強化学習方法では、環境データとして画像データを扱うため、第１学習器と第２学習器の双方について、畳み込みニューラルネットワーク（ＣＮＮ）を用いることができる。第１学習器は、時刻ｔの画像データｘｔと時刻ｔ−１の画像データｘｔ−１より各々の画像特徴を示す各ベクトルデータｈ，ｈ´を抽出する画像特徴抽出器であり、第２学習器は、行動ａｔ−１、報酬ｒｔ 及びエピソード終端ｔｔの推定状況結果と実データを比較する状態分類器である。
【００４１】
図９は、強化学習後の学習器の入出力データフロー図を示している。
強化学習後は、過去の環境データ（画像データなど）を取得することはなく、現在の状態としての画像データｘｔを環境２から取り込み（１２）、特徴抽出器１３へ入力する。判定部１１（図示せず）は使用せず不要である。特徴抽出器１３により、環境データ（画像データ）の特徴を示すベクトルデータｈ（１５）を出力し（１４）、特徴データｈを価値関数計算器１７へ入力し（１６）、状態と報酬から将来にわたって獲得できる報酬の総和を表す価値関数を出力する（１８）。エージェントは価値関数と方策３に従って最適な行動を選択する。
【００４２】
図１０は、実施例１の強化学習方法を用いた場合におけるエピソードの効率性を示すグラフである。評価に用いた環境は、ＡｔａｒｉゲームドメインのＨ.Ｅ.Ｒ.Ｏ．という電子ゲームの表示画像である。Ｈ.Ｅ.Ｒ.Ｏ．のタスクを上手く遂行するためには、リスクと報酬のバランスを保つように行う必要がある。
Ｈ.Ｅ.Ｒ.Ｏ．では、エージェントが人間のキャラクタを操作し、地下に閉じ込めた鉱夫を救出することが目標である。プレイヤーキャラクタの装備は、ヘリコプター(飛行はできるが、ジャンプできない)、ヘルメットに付けられたレーザーと数が限られた爆薬である。エージェントが点数（報酬）を得られるタスクは、敵をレーザーで倒す、爆薬で落盤を壊す、そして鉱夫を救出するという３つの方法がある。また、鉱夫が救出されると、現在のレベルの残された制限時間と爆薬は点数に換算され、ゲームは次のレベルに移るようになっている。
【００４３】
深層学習のオープンソースは、OpenAI Baselines（http://github.com/openai/baselines）を使用し、OpenAIの強化学習実装としてＡ２Ｃを用い、ハイパーパラメータは基本的に同じものとした。また、Ａ２Ｃに加え、表現学習の目標それぞれに一つの線形隠れ層を追加した。
表現学習のスキームの学習への効果を評価するために、違う重みで実験を行った。負の報酬は設定せず、報酬の分類器三値ではなく二値分類を用いた。行動の分類器である価値関数計算器は、softmax cross-entropyロスで最適化した。特徴抽出器（第１学習器）と状態分類器（第２学習器）の２つは、mean-squareロスで最適化した。報酬とエピソード終端の状態サンプリングは均衡されたものとした。
学習の最初は、データ収集期間として、１６エピソードの間に方策のみを学習し、そのあとすべての目標が最適化されることにした。メモリの使用量がとても大きくなり得るため、実験は５０００エピソード、又は、１０００万（スキッピング後の）フレームのいずれ最初に達した時刻まで行われることにした。方法の安定性を評価するため、すべての実験は４回まで行った。
【００４４】
図１０は、違う重み（Weight：画像特徴を学習する比率）で行われる表現学習の実験の結果を示している（強化学習の比率は１で固定）。条件ごとに、４回の実験の点数の平均値と標準偏差はそれぞれ直線とグレースケールで色付けされたエリアで表している。本発明における学習の目標の組み合わせは、Ａ２Ｃの学習速度と点数を改善している。特に、重みが２の場合、５０００エピソード終わりの点数の平均値は１万点に近くなっている（元のＡ２Ｃがこのレベルの点数を獲得する時点は１万エピソードが必要であった）。また、重みが上がると共に、既存の手法（Control：Weight＝０）からの改善も大きくなっていくことが確認できた。
上記の実験によって、本発明の学習の目標は、深層強化学習のアルゴリズムの学習速度と点数を改善できることを示している。また、この結果は改めて、深層強化学習のために良い特徴抽出器の重要性を示している。
【実施例２】
【００４５】
実施例１の強化学習方法及び装置は、動的に変化し続ける実環境での強化学習に関するものであったが、本実施例の強化学習方法及び装置では、過去の環境データを用いた強化学習方法であり、以下にその説明を行う。
本実施例の強化学習方法及び装置では、実環境での強化学習において訓練された際の行動、報酬、環境データなど過去に保存されたデータを用いる。例えば、並列処理により、実環境での強化学習した際の学習データ（環境データ等）をデータ収集しメモリに保存する処理と、メモリに保存された収集データ（環境データ等）を読み込み、環境データの特徴を抽出し、抽出された特徴に基づいて表現学習により学習器が訓練される。並列処理の例として、電子ゲームをプレイしてデータを収集する処理と、収集したデータに基づいて強化学習及び表現学習で学習器が訓練される処理とが、完全に独立して動く場合がある（マルチプロセッシング）。この場合、定期的に強化学習及び表現学習で学習したパラメータを、収集する処理のパラメータにコピーする。本実施例の強化学習方法及び装置は、データをランダムに大量に取得し、リセットの有無にかかわらず全てのデータを用いて強化学習と表現学習を行うものである。
【００４６】
図１１は、実施例２の強化学習方法の入出力データフロー図、図１２は、実施例２の強化学習方法の処理フロー図を示している。
図１１，１２に示すとおり、実施例２の強化学習方法では、実環境から環境データを取得し学習するのではなく、メモリ部４に保存された過去の行動、報酬及び状態を取得して学習する。学習器１の構成は、実施例１の場合と同一である。
図１２に示すとおり、本実施例の強化学習方法の処理フローでは、まずメモリ部からランダムにデータを取得する（Ｓ３１）。ここではエピソード単位に保存された環境データ（画像データ群）をランダムに取得するが、これに限定されず、複数のエピソードのデータや、ある程度の時間長でのデータであっても構わない。
【００４７】
メモリ部からランダムにデータを取得（Ｓ３１）した後、図６の処理フローの通常の強化学習を行う（Ｓ１０）。
そして、強化学習（Ｓ１０）の後、メモリ部より、対応する画像データｘｔを取得する（Ｓ３２）。続いて、メモリ部より、時刻ｔの画像データｘｔと関連する時刻ｔ−１の画像データｘｔ−１、報酬ｒｔ−１と行動ａｔ−１を取得する（Ｓ３３）。
そして、時刻ｔの画像データｘｔと時刻ｔ−１の画像データｘｔ−１より各々の画像特徴を示す各ベクトルデータｈ，ｈ´を抽出し（Ｓ３４）、抽出したｈ，ｈ´より、時刻ｔと時刻ｔ−１間の行動ａｔ−１、時刻ｔの報酬ｒｔおよびエピソード終端ｔｔを推定（推定状況結果を出力）し（Ｓ３５）、ロス関数を用いて、行動ａｔ−１、報酬ｒｔ、エピソード終端ｔｔの推定状況結果と実データを比較する（Ｓ３６）。そして、ロス関数の値が小さくなるように画像特徴抽出器（第１学習器）と状態分類器（第２学習器）のパラメータを変更する（Ｓ３７）。ステップＳ３４からＳ３７のパラメータ更新までは、学習性能が所定閾値を超えるまで、又は、繰り返し回数が所定回数を超えるまで繰り返し行われる（Ｓ３８）。
以上のように、メモリ部からデータをランダムに大量に取得し、リセットの有無にかかわらず全てのデータを用いて強化学習と表現学習を行う。なお、強化学習と表現学習の比重は、適宜調整して学習を行う。
【産業上の利用可能性】
【００４８】
本発明は、自動車の自動運転、工業用ロボットアームの自動制御など幅広い分野における強化学習に有用である。
【符号の説明】
【００４９】
１    学習器
２    環境
３    方策
４    メモリ部
１１  判定部
１３  特徴抽出器（第１学習器）
１５，２５  特徴ベクトル
１７  価値関数計算器
２３  状態分類器（第２学習器）
２８  更新部
【図１】
2020166795.tif 000003
【図２】
2020166795.tif 000004
【図３】
2020166795.tif 000005
【図４】
2020166795.tif 000006
【図５】
2020166795.tif 000007
【図６】
2020166795.tif 000008
【図７】
2020166795.tif 000009
【図８】
2020166795.tif 000010
【図９】
2020166795.tif 000011
【図１０】
2020166795.tif 000012
【図１１】
2020166795.tif 000013
【図１２】
2020166795.tif 000014