(57)【要約】【課題】非エキスパートから収集したデータからでも学習することができる強化学習装置を提供する。【解決手段】ニューラルネットワークを用いて、抽出されたデータから各状態の状態価値の推定値を算出する状態価値推定手段１６と、状態価値の推定誤差を算出する状態価値推定誤差算出手段１８と、次時刻における次状態の状態価値の予測誤差を算出する状態価値予測値誤差算出手段２０と、推定誤差及び予測誤差に応じてニューラルネットワークで使用されるパラメータを更新するパラメータ更新手段２２と、を備える強化学習装置１００とする。【選択図】図１
2019101979.tif 000002
【特許請求の範囲】
【請求項１】
所定時刻における状態値、状態値に影響を与える制御対象の行動、前記所定時刻の次時刻における状態値及び即時評価値の組を収集するデータ収集手段と、
前記データ収集手段において収集されたデータからｎ個の連続した時刻におけるデータを抽出するデータ抽出手段と、
ニューラルネットワークを用いて、前記データ抽出手段において抽出されたデータから各状態の状態価値の推定値を算出する状態価値推定手段と、
前記状態価値推定手段において推定された状態価値の推定値と前記データ抽出手段において抽出されたデータとから状態価値の推定誤差を算出する状態価値推定誤差算出手段と、
前記状態価値推定手段において推定された状態価値の推定値と前記データ抽出手段において抽出されたデータとから次時刻における次状態の状態価値の予測誤差を算出する状態価値予測値誤差算出手段と、
前記状態価値推定誤差算出手段と前記状態価値予測値誤差算出手段で算出された推定誤差及び予測誤差に応じて前記ニューラルネットワークで使用されるパラメータを更新するパラメータ更新手段と、
を備えることを特徴とする強化学習装置。
【請求項２】
請求項１に記載の強化学習装置であって、
前記状態価値の推定誤差ΔＺ（ｓｉ；θ）を、
【数１】
2019101979.tif 000014
ただし、Ｓｉ：時刻ｉにおける状態値、ｑｉ：時刻ｉにおける即時評価値、θ：前記ニューラルネットワークで使用されるパラメータ、γ：割引率、
により算出することを特徴とする強化学習装置。
【請求項３】
請求項１に記載の強化学習装置であって、
前記状態価値の予想誤差ΔＺ（ｓｉ，ａｉ；φ）を、
【数２】
2019101979.tif 000015
ただし、Ｓｉ：時刻ｉにおける状態値、ａｉ：時刻ｉにおける行動値、ｑｉ：時刻ｉにおける即時評価値、Φ：前記ニューラルネットワークで使用されるパラメータ、
により算出することを特徴とする強化学習装置。
【請求項４】
請求項１〜３のいずれか１項に記載の強化学習装置であって、
観測された状態値に対して次時刻の次状態の状態価値が最大又は最少となる行動に基づき前記制御対象を制御することを特徴とする強化学習装置。
【請求項５】
請求項１〜４のいずれか１項に記載の強化学習装置を複数備える強化学習システムであって、
複数の前記強化学習装置において強化学習を行った後、
強化学習した行動を実行したときのデータを収集するデータ収集工程と、
複数の前記強化学習装置から１つの前記強化学習装置を選択する選択工程と、
前記データ収集工程において収集されたデータを用いて前記選択工程において選択された前記強化学習装置の強化学習を再度行う再パラメータ更新工程と、
を行うことを特徴とする強化学習システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強化学習装置に関する。
【背景技術】
【０００２】
所定の環境下において、現在の状態を観測し、当該観測された状態に基づいて採用するべき行動を決定する機械強化学習の技術が知られている。強化学習では、環境下において最も多くの報酬が得られるような方策を学習する（非特許文献１，２）。
【０００３】
また、取得したデータから行動を学習する手法の一つである逆強化学習についても開示されている（非特許文献３）。当該手法は、エキスパートが実施した行動を模倣することを通して適切な行動を学習することができる。
【０００４】
また、学習された行動を実行したときの状態遷移とその即時的な評価を収集する必要がない強化学習の方法としてＺ−ｌｅａｒｎｉｎｇが開示されている（非特許文献４）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Riedmiller, Martin. "Neural fitted Q iteration-first experiences with a data efficient neural reinforcement learning method." ECML. Vol. 3720. 2005
【非特許文献２】Mnih, Volodymyr, et al. "Human-level control through deep reinforcement learning." Nature 518.7540 (2015): 529-533
【非特許文献３】Ziebart, Brian D., et al. "Maximum Entropy Inverse Reinforcement Learning." AAAI. Vol. 8. 2008
【非特許文献４】Todorov, Emanuel. "Linearly-solvable Markov decision problems." Advances in neural information processing systems. 2007
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、非特許文献１及び２において提案された強化学習手法を用いるためには、学習された行動を実行したときの状態遷移とその即時的な評価を収集する必要がある。そのためには実環境での実験または精緻なシミュレーション環境が必要となる。しかしながら、精緻なシミュレーション環境を用意することは環境が複雑になるほど難しく、また現地での実験は自動運転や交通信号制御など正しくない行動を実施した場合の社会的な影響が大きい場合には実施が難しいという課題がある。それに対し、本発明は予め収集したデータのみを用いて学習することができるため、上記の課題を解決することができる。
【０００７】
また、非特許文献３に記載された逆強化学習では、予め最適な行動を実施することができるエキスパートのデータを収集する必要がある。そのため、どう行動するのが良いかが分からない環境下での行動を学習するためには用いることができない。
【０００８】
また、非特許文献４に記載された方法では、線形可解マルコフ決定過程を仮定することで、行動を実施しないときの状態遷移とその即時的な評価値に基づき状態価値を学習することができる。しかしながら、この方法では学習される行動は状態遷移確率として表現され、具体的に状態遷移を実現するためには、状態遷移モデルを予め同定しておく必要があり、環境が複雑になるほど同定するのが困難になるという課題があった。
【課題を解決するための手段】
【０００９】
本発明の１つの態様は、所定時刻における状態値、状態値に影響を与える制御対象の行動、前記所定時刻の次時刻における状態値及び即時評価値の組を収集するデータ収集手段と、前記データ収集手段において収集されたデータからｎ個の連続した時刻におけるデータを抽出するデータ抽出手段と、ニューラルネットワークを用いて、前記データ抽出手段において抽出されたデータから各状態の状態価値の推定値を算出する状態価値推定手段と、前記状態価値推定手段において推定された状態価値の推定値と前記データ抽出手段において抽出されたデータとから状態価値の推定誤差を算出する状態価値推定誤差算出手段と、前記状態価値推定手段において推定された状態価値の推定値と前記データ抽出手段において抽出されたデータとから次時刻における次状態の状態価値の予測誤差を算出する状態価値予測値誤差算出手段と、前記状態価値推定誤差算出手段と前記状態価値予測値誤差算出手段で算出された推定誤差及び予測誤差に応じて前記ニューラルネットワークで使用されるパラメータを更新するパラメータ更新手段と、を備えることを特徴とする強化学習装置である。
【００１０】
ここで、前記状態価値の推定誤差ΔＺ（ｓｉ；θ）を、
【数１】
2019101979.tif 000003
ただし、Ｓｉ：時刻ｉにおける状態値、ｑｉ：時刻ｉにおける即時評価値、θ：前記ニューラルネットワークで使用されるパラメータ、γ：割引率、により算出することが好適である。
【００１１】
また、前記状態価値の予想誤差ΔＺ（ｓｉ，ａｉ；φ）を、
【数２】
2019101979.tif 000004
ただし、Ｓｉ：時刻ｉにおける状態値、ａｉ：時刻ｉにおける行動値、ｑｉ：時刻ｉにおける即時評価値、Φ：前記ニューラルネットワークで使用されるパラメータ、により算出することが好適である。
【００１２】
また、観測された状態値に対して次時刻の次状態の状態価値が最大又は最少となる行動に基づき前記制御対象を制御することが好適である。
【００１３】
本発明の別の態様は、上記強化学習装置を複数備える強化学習システムであって、複数の前記強化学習装置において強化学習を行った後、強化学習した行動を実行したときのデータを収集するデータ収集工程と、複数の前記強化学習装置から１つの前記強化学習装置を選択する選択工程と、前記データ収集工程において収集されたデータを用いて前記選択工程において選択された前記強化学習装置の強化学習を再度行う再パラメータ更新工程と、を行うことを特徴とする強化学習システムである。
【発明の効果】
【００１４】
本発明によれば、非エキスパートから収集したデータからでも学習することができ、ある行動をとった時の次状態の状態価値の予測モデルを学習することで、状態遷移モデルを同定することなく、より望ましい状態に遷移する行動を実行することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態における強化学習装置の構成を示す図である。
【図２】本発明の実施の形態における強化学習装置を実現する情報処理装置の構成を示す図である。
【図３】本発明の実施の形態における状態価値推定手段の構成を示す図である。
【図４】本発明の実施の形態における制御装置の構成を示す図である。
【図５】本発明の実施の形態における強化学習システムの処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
本発明の実施の形態における強化学習装置１００は、図１に示すように、データ収集手段１０、データ蓄積手段１２、データ抽出手段１４、状態価値推定手段１６、状態価値推定誤差算出手段１８、状態価値予測値誤差算出手段２０及びパラメータ更新手段２２を含んで構成される。図１は、強化学習装置１００の学習時の処理のための構成を示す。
【００１７】
強化学習装置１００は、図２に示すような一般的なコンピュータを用いて実現することができる。すなわち、強化学習装置１００は、処理部３０、記憶部３２、入力部３４及び出力部３６を含んで構成されるコンピュータによって実現することができる。処理部３０は、ＣＰＵ等の演算処理を行う手段を含む。処理部３０は、記憶部３２に記憶されている強化学習プログラムを実行することによって、本実施の形態における強化学習処理を実現する。記憶部３２は、半導体メモリ、ハードディスク等の記憶装手段を含む。記憶部３２は、処理部３０とアクセス可能に接続され、強化学習プログラム及び処理に供されるデータ等を記憶する。すなわち、記憶部３２は、データ蓄積手段１２として機能させてもよい。入力部３４は、強化学習装置１００に情報を入力する手段を含む。入力部３４は、例えば、ユーザからの入力を受けるタッチパネルやキーボードを備える。また、入力部３４は、強化学習装置１００の外部からデータを受け取るネットワークインターフェース等を含み、外部装置（本実施の形態の場合、信号機の制御装置や道路上の車両走行状況監視装置等）から強化学習に供されるデータを受信するようにしてもよい。出力部３６は、強化学習装置１００で処理された情報を出力する手段を含む。出力部３６は、例えば、ディスプレイを備える。また、強化学習装置１００の外部へ情報を送信するネットワークインターフェース等を含み、外部サーバ等に情報を送信するようにしてもよい。
【００１８】
以下、本実施の形態における強化学習装置１００の学習時の処理について説明する。ここでは、具体例として、交通信号機の制御について説明する。すなわち、交差点周辺の交通流に応じて適切に信号機の状態（青、黄、赤、矢印等）を設定することで、単位時間当たりに交差点を通過する車の台数を最大化する処理とする。
【００１９】
以下の説明において、状態ベクトル（状態値）ｓは、交差点に連結している道路で信号待ちをしている車両の台数及び交差点に連結している道路を走行している車の平均速度とする。また、行動ベクトル（行動値）ａは、信号機の状態（青、黄、赤、矢印等）とする。また、即時コスト（即時評価値）ｑは、信号待ちしている車両の台数とする。また、各パラメータに付けられた添字ｉは時刻ｉを示す。
【００２０】
データ収集手段１０は、強化学習装置１００で処理に供されるデータを収集する。データ収集手段１０は、時刻ｉ＝０からＮまでの状態ベクトルｓｉ，ｓｉ＋１、行動ベクトルａｉ、即時コストｑｉのデータからなる（ｓｉ，ａｉ，ｓｉ＋１，ｑｉ）を収集する。収集されたデータはデータ蓄積手段１２に蓄積して記憶される。
【００２１】
交通流シミュレータを用いる場合、実際に制御したい信号機周辺の道路環境及び車両パラメータ等は予め準備できるものとし、信号機の状態をランダム又は一定周期で変えた場合の各時刻ｉの状態ベクトルｓｉ、行動ベクトルａｉ、即時コストｑｉ、次時刻ｉ＋１の状態ベクトルｓｉ＋１を収集する。また、実データを用いる場合、実際の信号機等から各時刻ｉの状態ベクトルｓｉ、行動ベクトルａｉ、即時コストｑｉ、次時刻ｉ＋１の状態ベクトルｓｉ＋１を観測して収集する。
【００２２】
データ蓄積手段１２は、データ収集手段１０において収集されたデータを記憶して蓄積する。データ蓄積手段１２は、データ収集手段１０及びデータ抽出手段１４によりアクセスされ、蓄積されたデータを用いて強化学習装置１００による強化学習処理が行われる。
【００２３】
データ抽出手段１４は、データ蓄積手段１２に蓄積されたデータから強化学習に使用するデータを抽出する。例えば、データ抽出手段１４は、データ蓄積手段１２にアクセスし、連続した時間のデータｎ個をランダムに抽出する。このとき、データ蓄積手段１２に蓄積されたデータも同じ確率１／Ｎで抽出することが好適である。また、区間ｎの間の２つの誤差の平均値（数式（１））に比例した確率で抽出することが好適である。
【数３】
2019101979.tif 000005
【００２４】
状態価値推定手段１６は、データ抽出手段１４において抽出されたデータを用いて状態価値の推定処理を行う。状態価値推定手段１６は、線形可解マルコフ決定過程を用いたニューラルネットワークを適用した学習器により実現することができる。図３は、ニューラルネットワークを用いた状態価値推定手段１６による状態価値関数の学習と次状態の状態価値の予測モデルの学習について示す。状態価値推定手段１６は、ニューラルネットワークを利用して、時刻ｉにおける状態ベクトルｓｉの状態価値の推定値Ｖ（ｓｉ；θ）を算出する。状態価値の推定値Ｖ（ｓｉ；θ）は、Ｚ（ｓｉ；θ）：＝ｅｘｐ（−Ｖ（ｓｉ；θ））の関係を満たす。また、時刻ｉにおいて状態ベクトルｓｉで行動（行動ベクトル）ａｉをとった時の時刻ｉ＋１での状態価値の予測値Ｖ（ｓｉ，ａｉ；φ）を算出する。次状態における状態価値予測値Ｖ（ｓｉ，ａｉ；φ）は、Ｚ（ｓｉ，ａｉ；φ）：＝ｅｘｐ（−Ｖ（ｓｉ，ａｉ；φ））の関係を満たす。
【００２５】
状態価値推定誤差算出手段１８は、状態価値推定誤差ΔＺ（ｓｉ；θ）を算出する。状態価値推定誤差算出手段１８は、数式（２）又は数式（３）のいずれかに基づいて状態価値推定誤差ΔＺ（ｓｉ；θ）を算出する。ここで、γは割引率を示す。
【数４】
2019101979.tif 000006
【数５】
2019101979.tif 000007
【００２６】
また、Ｚ（ｓｉ；θ）は数式（４）で表される。
【数６】
2019101979.tif 000008
【００２７】
状態価値予測値誤差算出手段２０は、状態価値予測値誤差ΔＺ（ｓｉ，ａｉ；φ）を算出する。状態価値予測値誤差算出手段２０は、数式（５）又は数式（６）のいずれかに基づいて状態価値予測値誤差ΔＺ（ｓｉ，ａｉ；φ）を算出する。
【数７】
2019101979.tif 000009
【数８】
2019101979.tif 000010
【００２８】
ここで、Ｚ（ｓｉ,ａｉ；Φ）は数式（７）で表される。
【数９】
2019101979.tif 000011
【００２９】
パラメータ更新手段２２は、ニューラルネットワークのパラメータθ及びΦを更新する処理を行う。パラメータ更新手段２２は、数式（８）及び数式（９）によってパラメータθ及びΦを更新しつつ、パラメータθ及びΦが収束するまでデータ抽出手段１４によるデータ抽出からの処理を繰り返す。ここで、α，βは強化学習における学習率である。
【数１０】
2019101979.tif 000012
【数１１】
2019101979.tif 000013
【００３０】
以上の処理により、実際に状態を観測した値と外部装置（信号機）の状態とに基づいてどのように外部装置（信号機）を制御したらよいのかを示すモデルを生成することができる。
【００３１】
図４は、制御実行時における強化学習装置１００の構成を示す図である。強化学習装置１００は、図４に示すように、状態観測手段４０、最大次状態価値予測行動算出手段４２及び制御手段４４を含んで構成される。
【００３２】
強化学習装置１００は、図２に示すような一般的なコンピュータを用いて実現することができる。すなわち、強化学習装置１００は、処理部３０、記憶部３２、入力部３４及び出力部３６を含んで構成されるコンピュータによって実現することができる。処理部３０は、ＣＰＵ等の演算処理を行う手段を含む。処理部３０は、記憶部３２に記憶されている制御プログラムを実行することによって、本実施の形態における制御を実現する。記憶部３２は、半導体メモリ、ハードディスク等の記憶手段を含む。記憶部３２は、処理部３０とアクセス可能に接続され、制御プログラム及び処理に供されるデータ等を記憶する。入力部３４は、強化学習装置１００に情報を入力する手段を含む。入力部３４は、例えば、ユーザからの入力を受けるタッチパネルやキーボードを備える。また、入力部３４は、強化学習装置１００の外部からデータを受け取るネットワークインターフェース等を含み、外部装置（本実施の形態の場合、信号機の制御装置や道路上の車両走行状況監視装置等）から制御に必要なデータを受信するようにしてもよい。出力部３６は、強化学習装置１００で処理された情報を出力する手段を含む。出力部３６は、例えば、ディスプレイを備える。また、強化学習装置１００の外部装置（信号機等）へ制御を行うための制御信号を送信するネットワークインターフェース等を含んでもよい。
【００３３】
状態観測手段４０は、制御に必要な状態の観測値を取得する手段である。本実施の形態の場合、状態観測手段４０は、交差点に連結している道路で信号待ちをしている車両の台数及び交差点に連結している道路を走行している車の平均速度を実際の観測値として取得する。
【００３４】
最大次状態価値予測行動算出手段４２は、状態の観測値及び制御対象となる装置の状態に応じた状態価値及び次状態における状態価値の予測値を算出し、制御対象となる装置をどのように制御すればよいのかを求める。本実施の形態の場合、強化学習装置１００において求められた制御モデルに、状態観測手段４０で取得された状態の観測値を入力し、信号機の状態（青、黄、赤、矢印等）を変化させた場合に次状態における状態価値の予測値を求める。そして、状態価値の予測値を最大とする、すなわち単位時間当たりに交差点を通過する車の台数を最大化する信号機の状態（青、黄、赤、矢印等）を求める。
【００３５】
制御手段４４は、制御対象となる装置を制御する。本実施の形態では、制御手段４４は、最大次状態価値予測行動算出手段４２において求められた最大化する信号機の状態（青、黄、赤、矢印等）となるように信号機に制御信号を送信して信号機の状態を制御する。
【００３６】
［複数の強化学習装置を備えた強化学習システム］
以下、図５のフローチャートを参照して、複数の強化学習装置（エージェント）を備えた強化学習システムにおける処理について説明する。例えば、複数の交差点にそれぞれ設けられた交通信号機の制御を行う場合において、各交差点に対して強化学習装置を適用して、これらの強化学習装置を連動させて制御を行うことができる。
【００３７】
ステップＳ１０では、複数の強化学習装置１００において強化学習を行う。当該ステップでは、各交差点についてそれぞれ上記実施の形態における強化学習装置１００を適用して強化学習を行う。
【００３８】
ステップＳ１２では、強化学習した行動を実行、すなわち強化学習の結果を受けて各交差点の信号機の制御を行ったときのデータを収集するデータ収集工程を実行する。ここでのデータ収集は、さらなる強化学習が可能な程度の一定量のデータの収集を行うものとする。
【００３９】
ステップＳ１４では、複数の強化学習装置１００から１つの強化学習装置を選択する選択工程が実行される。例えば、強化学習システムに含まれる複数の強化学習装置１００のうち１つをランダムに選択することが好適である。また、例えば、強化学習システムに含まれる複数の強化学習装置１００のうち１つを順番に選択することが好適である。
【００４０】
ステップＳ１６では、選択された強化学習装置１００においてニューラルネットワークのパラメータの再更新を行う再パラメータ更新工程を実行する。データ収集工程において収集されたデータを用いて、選択工程において選択された強化学習装置１００の強化学習を再度行い、状態価値推定手段１６のニューラルネットワークのパラメータを更新する。
【００４１】
以上のステップＳ１２〜Ｓ１６を繰り返すことによって、強化学習システムに含まれる複数の強化学習装置１００の各々について強化学習のパラメータの更新を行う。これによって、強化学習システム対象となる複数の制御対象（複数の交差点における交通量）を統合的に制御することが可能となる。
【００４２】
以上のように、本実施の形態によれば、非エキスパートから収集したデータからでも学習することができ、ある行動をとった時の次状態の状態価値の予測モデルを学習することで、状態遷移モデルを同定することなく、より望ましい状態に遷移する行動を実行することができる。
【符号の説明】
【００４３】
１０  データ収集手段、１２  データ蓄積手段、１４  データ抽出手段、１６  状態価値推定手段、１８  状態価値推定誤差算出手段、２０  状態価値予測値誤差算出手段、２２  パラメータ更新手段、３０  処理部、３２  記憶部、３４  入力部、３６  出力部、４０  状態観測手段、４２  最大次状態価値予測行動算出手段、４４  制御手段、１００  強化学習装置。
【図１】
2019101979.tif 000016
【図２】
2019101979.tif 000017
【図３】
2019101979.tif 000018
【図４】
2019101979.tif 000019
【図５】
2019101979.tif 000020