(57)【特許請求の範囲】
【請求項１】
与えられたタスクを達成するための行動方策を学習する並列学習装置であって、
外界の状態を取得する取得手段と、
前記取得手段により取得された外界の状態に基づいて学習し、学習した結果から行動方策を決定する複数の学習手段と、
前記複数の学習手段が決定した複数の行動方策の中から各学習手段の学習性能に基づいて一の行動方策を選択する選択手段とを備え、
前記選択手段が、前記複数の学習手段の中から各学習手段の学習性能に基づいて一の学習手段を選択し、前記取得手段が、外界の状態を取得し、前記複数の学習手段の各々が、前記取得手段により取得された外界の状態に基づいて他の学習手段と同時に学習し、学習した結果から行動方策を決定し、前記選択手段が、前記選択した一の学習手段により決定された行動方策を出力し、前記複数の学習手段の各々が、重点サンプリング法を用いて、当該学習手段が決定した行動方策と前記選択手段により選択された一の学習手段の行動方策との類似度に応じて学習に用いるパラメータに重み付けを行うことにより、学習に用いるパラメータを補正する処理を繰り返すことを特徴とする並列学習装置。
【請求項２】
前記選択手段は、前記複数の学習手段の中から、学習性能が最も高い学習手段が一つある場合はこの学習手段を選択し、学習性能が高い学習手段が複数あり且つこれらの学習手段の学習性能が所定範囲内にある場合はこれらの学習手段から一の学習手段を等確率になるように選択することを特徴とする請求項１記載の並列学習装置。
【請求項３】
前記複数の学習手段の各々は、
前記取得手段により取得された外界の状態に基づいて、所定のパラメータを用いて学習性能を評価するための価値関数を算出する算出手段と、
前記取得手段により取得された外界の状態及び前記算出手段により算出された価値関数に基づいて行動方策を決定する決定手段と、
前記取得手段により取得された外界の状態、前記決定手段により決定された行動方策及び前記選択手段により選択された行動方策に基づいて前記算出手段のパラメータを補正する補正手段とを備えることを特徴とする請求項１又は２記載の並列学習装置。
【請求項４】
前記複数の学習手段のうちの少なくとも一の学習手段は、前記決定手段により決定された行動方策を記憶する記憶手段をさらに備えることを特徴とする請求項３記載の並列学習装置。
【請求項５】
取得手段、複数の学習手段及び選択手段を備える並列学習装置を用いて、与えられたタスクを達成するための行動方策を学習する並列学習方法であって、
前記選択手段が、前記複数の学習手段の中から各学習手段の学習性能に基づいて一の学習手段を選択する選択ステップと、
前記取得手段が、外界の状態を取得する取得ステップと、
前記複数の学習手段の各々が、前記取得ステップにおいて取得された外界の状態に基づいて他の学習手段と同時に学習し、学習した結果から行動方策を決定する学習ステップと、
前記選択手段が、前記選択ステップにおいて選択した一の学習手段により決定された行動方策を出力するステップと、
前記複数の学習手段の各々が、重点サンプリング法を用いて、当該学習手段が決定した行動方策と前記選択ステップにおいて選択された一の学習手段の行動方策との類似度に応じて学習に用いるパラメータに重み付けを行うことにより、学習に用いるパラメータを補正するステップとを繰り返すことを特徴とする並列学習方法。
【請求項６】
与えられたタスクを達成するための行動方策を学習するための並列学習プログラムであって、
外界の状態を取得する取得手段と、
前記取得手段により取得された外界の状態に基づいて学習し、学習した結果から行動方策を決定する複数の学習手段と、
前記複数の学習手段が決定した複数の行動方策の中から各学習手段の学習性能に基づいて一の行動方策を選択する選択手段としてコンピュータを機能させ、
前記選択手段が、前記複数の学習手段の中から各学習手段の学習性能に基づいて一の学習手段を選択し、前記取得手段が、外界の状態を取得し、前記複数の学習手段の各々が、前記取得手段により取得された外界の状態に基づいて他の学習手段と同時に学習し、学習した結果から行動方策を決定し、前記選択手段が、前記選択した一の学習手段により決定された行動方策を出力し、前記複数の学習手段の各々が、重点サンプリング法を用いて、当該学習手段が決定した行動方策と前記選択手段により選択された一の学習手段の行動方策との類似度に応じて学習に用いるパラメータに重み付けを行うことにより、学習に用いるパラメータを補正する処理を繰り返すことを特徴とする並列学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、与えられたタスクを達成するための行動方策を学習する並列学習装置、並列学習方法及び並列学習プログラムに関するものである。
【背景技術】
【０００２】
ミンスキーは、人間社会と同様に人間の心も、様々なエージェントが協調したり競合したりして動かしており、知能を単純なエージェントの集まりとして捉え、エージェント間の相互作用の結果、全体としての振る舞いを生成していると提唱している。この考え方は計算論的神経科学の分野でも注目を集めており、運動手続きの学習の研究でも、複数の学習モジュールがそれぞれ同時に並行して異なる座標系で学習し、それぞれ系列の学習に貢献していることが示唆されている。
【０００３】
また、強化学習を使って、複雑な行動を学習する課題に対しても、複数の学習器を準備し、それを切り替える方法が既にいくつか提案されている。例えば、複数の学習器をＴＤ 誤差に応じて切り替える方法（非特許文献１参照）や、制御対象の予測モデルと強化学習器とを組にしたモジュールを並列に用い、それらを予測モデルの予測誤差に基づいて切り替えて組み合わせる方法（非特許文献２参照）が提案されている。
【非特許文献１】エス  ピー  シン（S. P. Singh）、「エレメンタルシーケンシャルタスクの解法の組み立てによる学習転送」（Transfer of learning by composing solutions of elemental sequential tasks）、マシンラーニング（Machine Learning）、１９９２年、ｖｏｌ．３、ｐ．９−ｐ．４４
【非特許文献２】ケイ  ドウヤ（K. Doya）他、「複数モデルに基づく強化学習」（Multiple Model-Based Reinforcement Learning）、ニューラルコンピューテーション（Neural Computation）、２００２年、ｖｏｌ．１４、ｐ．１３４７−ｐ．１３６９
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来手法では、各学習器が同じ構造を有し、同じ学習法を使用しているため、学習器全体の学習効率は１個の学習器により学習する場合と何ら変わらず、複数の学習器を効率的に学習させることはできない。
【０００５】
本発明の目的は、複数の学習手段を効率的に学習させることにより、タスクに適した構造を獲得するまでの学習時間を大幅に短縮することができる並列学習装置、並列学習方法及び並列学習プログラムを提供することである。
【課題を解決するための手段】
【０００６】
本発明に係る並列学習装置は、与えられたタスクを達成するための行動方策を学習する並列学習装置であって、外界の状態を取得する取得手段と、取得手段により取得された外界の状態に基づいて学習し、学習した結果から行動方策を決定する複数の学習手段と、複数の学習手段が決定した複数の行動方策の中から各学習手段の学習性能に基づいて一の行動方策を選択する選択手段とを備え、選択手段が、複数の学習手段の中から各学習手段の学習性能に基づいて一の学習手段を選択し、取得手段が、外界の状態を取得し、複数の学習手段の各々が、取得手段により取得された外界の状態に基づいて他の学習手段と同時に学習し、学習した結果から行動方策を決定し、選択手段が、選択した一の学習手段により決定された行動方策を出力し、複数の学習手段の各々が、重点サンプリング法を用いて、当該学習手段が決定した行動方策と選択手段により選択された一の学習手段の行動方策との類似度に応じて学習に用いるパラメータに重み付けを行うことにより、学習に用いるパラメータを補正する処理を繰り返すものである。
【０００７】
本発明に係る並列学習装置では、外界の状態が取得され、取得された外界の状態に基づいて複数の学習手段が同時に学習し、学習した結果から行動方策が決定され、決定された複数の行動方策の中から各学習手段の学習性能に基づいて一の行動方策が選択され、選択された行動方策に従う行動が実行される。
【０００８】
上記の処理が繰り返されることにより、選択された学習手段が決定した行動方策により得られた経験から、選択されていない他の学習手段も学習し、タスクを達成するための行動方策を複数の学習手段が同時に学習することができるので、複数の学習器を効率的に学習させることができ、タスクに適した構造を獲得するまでの学習時間を大幅に短縮することができる。
【００１１】
選択手段は、複数の学習手段の中から、学習性能が最も高い学習手段が一つある場合はこの学習手段を選択し、学習性能が高い学習手段が複数あり且つこれらの学習手段の学習性能が所定範囲内にある場合はこれらの学習手段から一の学習手段を等確率になるように選択することが好ましい。この場合、学習性能が所定範囲内にある学習手段の中から一の学習手段を確率的に選択することができるので、複数の学習手段を効率的に学習させることができる。
【００１２】
複数の学習手段の各々は、状態表現及び学習方法の少なくとも一方が他の学習手段と異なることが好ましい。この場合、学習特性の異なる複数の学習手段を用いて学習することができるので、例えば、単純な構成の学習手段が迅速に収集したデータを複雑な構成の学習手段に利用することができるので、学習速度を向上することができるとともに、学習性能を向上することができる。
【００１３】
複数の学習手段の各々は、取得手段により取得された外界の状態に基づいて、所定のパラメータを用いて学習性能を評価するための価値関数を算出する算出手段と、取得手段により取得された外界の状態及び算出手段により算出された価値関数に基づいて行動方策を決定する決定手段と、取得手段により取得された外界の状態、決定手段により決定された行動方策及び選択手段により選択された行動方策に基づいて算出手段のパラメータを補正する補正手段とを備えることが好ましい。
【００１４】
この場合、取得された外界の状態と、外界の状態及び価値関数に基づいて決定された行動方策と、選択された行動方策とに基づいて、価値関数を算出するために使用するパラメータを補正しているので、選択された学習手段が決定した行動方策により得られた経験から、選択されていない他の学習手段も学習することができる。
【００１５】
複数の学習手段のうちの少なくとも一の学習手段は、決定手段により決定された行動方策を記憶する記憶手段をさらに備えることが好ましい。この場合、学習手段が記憶手段を備えているので、部分観測マルコフ決定問題を取り扱うことができる。
【００１６】
本発明に係る並列学習方法は、取得手段、複数の学習手段及び選択手段を備える並列学習装置を用いて、与えられたタスクを達成するための行動方策を学習する並列学習方法であって、選択手段が、複数の学習手段の中から各学習手段の学習性能に基づいて一の学習手段を選択する選択ステップと、取得手段が、外界の状態を取得する取得ステップと、複数の学習手段の各々が、取得ステップにおいて取得された外界の状態に基づいて他の学習手段と同時に学習し、学習した結果から行動方策を決定する学習ステップと、選択手段が、選択ステップにおいて選択した一の学習手段により決定された行動方策を出力するステップと、複数の学習手段の各々が、重点サンプリング法を用いて、当該学習手段が決定した行動方策と選択ステップにおいて選択された一の学習手段の行動方策との類似度に応じて学習に用いるパラメータに重み付けを行うことにより、学習に用いるパラメータを補正するステップとを繰り返すものである。
【００１７】
本発明に係る並列学習プログラムは、与えられたタスクを達成するための行動方策を学習するための並列学習プログラムであって、外界の状態を取得する取得手段と、取得手段
により取得された外界の状態に基づいて学習し、学習した結果から行動方策を決定する複数の学習手段と、複数の学習手段が決定した複数の行動方策の中から各学習手段の学習性能に基づいて一の行動方策を選択する選択手段としてコンピュータを機能させ、選択手段が、複数の学習手段の中から各学習手段の学習性能に基づいて一の学習手段を選択し、取得手段が、外界の状態を取得し、複数の学習手段の各々が、取得手段により取得された外界の状態に基づいて他の学習手段と同時に学習し、学習した結果から行動方策を決定し、選択手段が、選択した一の学習手段により決定された行動方策を出力し、複数の学習手段の各々が、重点サンプリング法を用いて、当該学習手段が決定した行動方策と選択手段により選択された一の学習手段の行動方策との類似度に応じて学習に用いるパラメータに重み付けを行うことにより、学習に用いるパラメータを補正する処理を繰り返すものである。
【発明の効果】
【００１８】
本発明によれば、選択された学習手段が決定した行動方策により得られた経験から、選択されていない他の学習手段も学習し、タスクを達成するための行動方策を複数の学習手段が同時に学習することができるので、複数の学習器を効率的に学習させることができ、タスクに適した構造を獲得するまでの学習時間を大幅に短縮することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の一実施の形態による並列学習装置について図面を参照しながら説明する。図１は、本発明の一実施の形態による並列学習装置を用いた学習システムの構成を示すブロック図である。
【００２０】
図１に示す学習システムは、センサ部１、並列学習装置２及びアクチュエータ部３を備える。並列学習装置２は、ＲＯＭ（リードオンリメモリ）、ＣＰＵ（中央演算処理装置）、ＲＡＭ（ランダムアクセスメモリ）等を備える通常のマイクロコンピュータ、Ａ／Ｄ（アナログ／デジタル）変換器、Ｄ／Ａ（デジタル／アナログ）変換器等から構成され、ＲＯＭに記憶された並列学習プログラムをＣＰＵにおいて実行することにより、状態取得部１１、確率的選択器１２、切り替え器１３及びｎ個の学習器２１〜２ｎとして機能し、与えられたタスクを達成するための行動方策を学習する。
【００２１】
センサ部１は、外界の状態を検出する種々のセンサ等から構成され、アクチュエータ部３は、与えられたタスクを達成するための行動方策に従う所定の行動を実行する種々のアクチュエータ等から構成される。例えば、学習システムが自律走行ロボットとして構成された場合、センサ部１として、外界の画像を撮影するカメラ、移動距離を検出する距離センサ、車輪の回転量を積算して初期位置からの移動量を計算するオドメトリ等を用いることができ、アクチュエータ部３として、任意の方向に移動するための車輪及びモータ等を用いることができる。
【００２２】
センサ部１は、外界の状態を検出して状態取得部１１へ出力する。状態取得部１１は、センサ部１により検出された外界の状態を取得してｎ個の学習器２１〜２ｎへ出力する。各学習器２１〜２ｎは、補正器３１、価値関数部３２及び制御器３３を備える。但し、価値関数部３２及び制御器３３の具体的構成は互いに異なり、状態表現及び学習方法の少なくとも一方が他の学習器と異なる。各学習器２１〜２ｎは、取得された外界の状態に基づいて同時に学習し、学習した結果から行動方策を決定して切り替え器１３へ出力する。
【００２３】
また、各学習器２１〜２ｎは、自身が決定した行動方策と切り替え器１３から出力される行動方策との類似度に応じて重み付けを行い、学習に用いるパラメータを補正する。ここで、各学習器２１〜２ｎは、後述する重点サンプリング（importance sampling）法を用いて重み付けを行うことが好ましい。
【００２４】
価値関数部３２は、状態取得部１１からの外界の状態に基づいて学習性能を評価するための価値関数を所定のパラメータを用いて算出し、算出した価値関数を制御器３３及び確率的選択器１２へ出力する。制御器３３は、状態取得部１１からの外界の状態及び価値関数部３２により算出された価値関数に基づいて行動方策を決定し、決定した行動方策を切り替え器１３へ出力する。補正器３１は、価値関数部３２から現在設定されているパラメータを読み出し、状態取得部１１からの外界の状態、制御器３３により決定された行動方策並びに確率的選択器１２及び切り替え器１３により選択された学習器の行動方策に基づいて価値関数部３２のパラメータを補正してパラメータを更新する。
【００２５】
確率的選択器１２は、各学習器２１〜２ｎの価値関数部３２から価値関数を取得し、取得した価値関数を基に複数の学習器２１〜２ｎの中から最適な行動方策を決定した一の学習器を選択するように切り替え器１３の動作を制御する。例えば、確率的選択器１２は、学習性能が最も高い学習器が一つある場合はこの学習器の行動方策を選択し、学習性能が高い学習器が複数あり且つこれらの学習器の学習性能が所定範囲内にある場合はこれらの学習器の行動方策の中から一の行動方策を略等確率で選択するように切り替え器１３の動作を制御する。
【００２６】
切り替え器１３は、複数の行動方策の中から確率的選択器１２に指示された学習器の行動方策を選択し、選択した行動方策を各学習器２１〜２ｎへ出力するとともに、選択した行動方策に従う行動をアクチュエータ部３に実行させる。アクチュエータ部３は、選択した行動方策に従う行動を実行する。この行動により外界の状態が変化し、この変化をセンサ部１によって検出して上記の処理を繰り返すことにより、複数の学習器２１〜２ｎが同時に学習することとなる。
【００２７】
例えば、複数の学習器Ｍｉ（ｉ＝１，…，ｎ）は、価値関数法又は方策勾配法を用いて与えられたタスクを達成するための制御方策πｉを学習し、各学習器Ｍｉの状態価値関数をＶｉとすると、並列学習装置２は、各エピソードごとに初期観測ｘ０を基に、下記の確率に従って学習器Ｍｉを選択する。
【００２８】
【数１】
0003703821.tif 000002
【００２９】
ここで、ＴＳｅｌは、選択確率のランダムさを制御するパラメータであり、大きければランダムに学習器を選択する傾向がある。選ばれた学習器の行動方策を挙動方策（behavior policy）といい、πＢｅｈと表記する。並列学習装置２は、πＢｅｈを用いて得られたエピソードで個々の学習器Ｍｉの目的方策（target policy）を評価する。
【００３０】
なお、学習器の構成は、上記の例に特に限定されず、種々の変更が可能であり、例えば、下記の外部メモリを付加してもよい。この場合、部分観測マルコフ決定問題（ＰＯＭＤＰ：Partially Observable Markov Decision Process）を取り扱うことができる。
【００３１】
図２は、学習器の他の構成を示すブロック図である。図２に示す学習器２１ａと図１に示す学習器２１〜２ｎとで異なる点は、外部メモリ３４が付加され、補正器３１、価値関数部３２及び制御器３３が補正器３１ａ、価値関数部３２ａ及び制御器３３ａに変更された点であり、以下異なる点について詳細に説明する。
【００３２】
外部メモリ３４は、ｌビットの記憶容量を有し、制御器３３ａが決定した行動方策を記憶し、記憶している行動方策を補正器３１ａ、価値関数部３２ａ及び制御器３３ａへ出力する。また、外部メモリ３４には状態取得部１１からの外界の状態が入力され、外界の状態を記録することもできる。価値関数部３２ａは、状態取得部１１からの外界の状態及び外部メモリ３４からの行動方策に基づいて学習性能を評価するための価値関数を所定のパラメータを用いて算出し、算出した価値関数を制御器３３ａ及び確率的選択器１２へ出力する。制御器３３ａは、状態取得部１１からの外界の状態、外部メモリ３４からの行動方策及び価値関数部３２ａにより算出された価値関数に基づいて行動方策を決定し、決定した行動方策を切り替え器１３へ出力する。補正器３１ａは、価値関数部３２ａから現在設定されているパラメータを読み出し、状態取得部１１からの外界の状態、外部メモリ３４からの行動方策、制御器３３ａにより決定された行動方策及び切り替え器１３から出力される学習器の行動方策に基づいて価値関数部３２ａのパラメータを補正してパラメータを更新する。
【００３３】
上記の構成により、学習器２１ａは、時刻ｔにおいてセンサ部１によって得られる環境の状態ｏｔ以外に、外部メモリ３４の情報ｍｔを利用でき、制御器３３ａの行動方策ａｔは、実際に状態遷移を引き起こすアクチュエータ部３による環境への行動出力ａｅｔと、メモリビットを操作する行動方策ａｍｔから構成される。
【００３４】
この場合、学習器２１ａで利用される観測量ｘｔは、環境の状態ｏｔと外部メモリ３４の情報ｍｔとの組み合わせで表現され、ｘｔ＝（ｏｔ，ｍｔ）となる。外部メモリ３４の各ビットは１又は０をとるため、情報ｍｔは全部で２ｌ個となる。また、行動方策ａｍｔは外部メモリ３４の各ビットを１にする行動と０にする行動とを有するため、全部で２ｌ個となる。なお、ａｅｔとａｍｔとの組み合わせで学習器２１ａの行動方策ａｔ とすることもできるが、複雑さを抑えるためにａｍｔ をａｅｔ と同様のプリミティブな行動の一つとして付加するようにしてもよい。
【００３５】
本実施の形態では、状態取得部１１が取得手段の一例に相当し、学習器２１〜２ｎ，２１ａが学習手段の一例に相当し、確率的選択器１２及び切り替え器１３が選択手段の一例に相当し、価値関数部３２，３２ａが算出手段の一例に相当し、制御器３３，３３ａが決定手段の一例に相当し、補正器３１，３１ａが補正手段の一例に相当する。また、外部メモリ３４が記憶手段の一例に相当する。
【００３６】
次に、上記のように構成された学習システムの並列学習処理について説明する。図３は、図１に示す並列学習装置の並列学習処理を説明するためのフローチャートである。
【００３７】
まず、ステップＳ１において、確率的選択器１２は、各学習器２１〜２ｎの学習性能を基に一の学習器を確率的に選択する。具体的には、確率的選択器１２は、学習性能が最も高い学習器が一つある場合はこの学習器を選択し、学習性能が高い学習器が複数あり且つこれらの学習器の学習性能が所定範囲内にある場合はこれらの学習器から一の学習器を等確率になるように選択する。
【００３８】
学習器が選択された後、ステップＳ２において、状態取得部１１は、センサ部１が検出した外界の状態を取得し、各学習器２１〜２ｎの価値関数部３２に与える。
【００３９】
次に、ステップＳ３において、各学習器２１〜２ｎの価値関数部３２は、状態取得部１１からの外界の状態に基づいて価値関数を算出し、算出した価値関数を制御器３３へ出力し、制御器３３は、状態取得部１１からの外界の状態及び価値関数部３２により算出された価値関数に基づいて行動方策を決定し、決定した行動方策を切り替え器１３へ出力する。このとき、確率的選択器１２は、ステップＳ１で選択した学習器の行動方策をアクチュエータ部３へ出力するように切り替え器１３を制御して行動方策を決定する。
【００４０】
次に、ステップＳ４において、切り替え器１３は、アクチュエータ部３を駆動し、確率的選択器１２により選択されている学習器の行動方策に従う行動をアクチュエータ部３に実行させ、アクチュエータ部３は、選択した行動方策に従う行動を実行する。
【００４１】
次に、ステップＳ５において、各学習器２１〜２ｎの補正器３１は、価値関数部３２から現在の各パラメータを読み出し、状態取得部１１からの外界の状態、制御器３３により決定された行動方策及び切り替え器１３により選択された学習器の行動方策に基づいて各パラメータを補正して価値関数部３２の各パラメータを更新し、重点サンプリング法による分配処理を実行する。
【００４２】
ここで、上記の重点サンプリング法による分配処理について詳細に説明する。なお、以下の説明では、学習器２１〜２ｎとして図２に示す外部メモリ３４を有する学習器２１ａを用いた場合を例に説明する。
【００４３】
時刻ｔ における環境の状態がｓｔのとき、並列学習装置２はセンサ部１によってその一部をｏｔとして受け取り、そのときの外部メモリ３４の情報をｍｔとすると、各学習器２１〜２ｎが取得する観測量ｘｔは、ｘｔ＝（ｏｔ，ｍｔ）となる。このとき、行動方策πに従ってアクチュエータ部３により行動ａｔを出力すると、結果として環境はｓｔ＋１に状態遷移し、その評価値であるスカラーの報酬ｒｔを得る。行動方策πの下での状態ｓの価値Ｖπ（ｓ）は、下式で与えられる。
【００４４】
【数２】
0003703821.tif 000003
【００４５】
ここで、Ｒ（ｓ） は状態ｓから観測される収益であり、γは減衰率（０≦γ≦１）であり、Ｅπ｛｝は並列学習装置２が行動方策πに従うとしたときの期待値を表す。同様に行動方策πの下で状態ｓにおいて行動ａを実行することの価値は、下式で与えられる。
【００４６】
【数３】
0003703821.tif 000004
【００４７】
上記のＶπを状態価値関数といい、Ｑπを行動価値関数といい、両者をまとめて価値関数という。Ｖπ及びＱπを推定するために、本来の行動方策πとは異なる別の行動方策π’を用いる場合を考え、ここで、重点サンプリング法を用いることにより、目的方策πと挙動方策π’の違いに対処する。いま、挙動方策π’によって得られたｍ番目のエピソードをｈｍとし、Ｔｍをエピソードｈｍが終了するまでの時間ステップとし、Ｐｒπ（ｈｍ）とＰｒπ’（ｈｍ）とを方策πとπ’とに従ったときにエピソードｈｍが発生する確率とする。
【００４８】
このとき，Ｍ個の収益を観測した後で要求されるモンテカルロ推定は、下式で与えられる。
【００４９】
【数４】
0003703821.tif 000005
【００５０】
ここで、Ｒｍは実際に得られた収益Ｒｍ（ｓ）＝ｒｔｍ（ｓ）＋γｒｔｍ（ｓ）＋１＋…＋γＴｍ-ｔｍ（ｓ）−１ｒＴｍ−１であり、ｔｍ（ｓ）はｍ番目のエピソードｈｍではじめて状態ｓが得られたときの時間ステップである。エピソードｈｍが発生する確率は、下式で与えられる。
【００５１】
【数５】
0003703821.tif 000006
【００５２】
ここで、ρｔは行動方策の違いを補正する係数であり、Ｐｒπ（ｈｍ）／Ｐｒπ’（ｈｍ）を計算するために環境のダイナミクスに関する知識は必要とせず、行動方策の比率だけが必要とされる。なお、π（ｓ，ａ）＞０ならばπ’（ｓ，ａ）＞０であることが要求される。
【００５３】
次に、学習器２１〜２ｎが強化学習に価値関数法を用いている場合において、上記の重点サンプリング法を価値関数法に適用する方法について具体的に説明する。価値関数法は、状態と行動の組に対して定義される価値ＱＶＦを、Ｂｅｌｌｍａｎ方程式を用いて推定する方法であり、代表的な方法としてＱ学習やＳＡＲＳＡがある。ＳＡＲＳＡは方策オン型の強化学習であり、Ｑ 学習は方策オフ型の強化学習であり、挙動方策と推定方策を個別に持つことができる。
【００５４】
まず、観測値を状態とみなして定式化すると、観測値ｘｔで行動ａｔを実行し、報酬ｒｔと次の観測値ｘｔ＋１を受け取ったとき、Ｑ学習及びＳＡＲＳＡでは、ＴＤ誤差がそれぞれ下式で与えられる。
【００５５】
【数６】
0003703821.tif 000007
【００５６】
ここで、ＱＱ及びＱＳＡＲＳＡは、Ｑ学習及びＳＡＲＳＡを使用したときの行動価値関数である。
【００５７】
価値関数法に重点サンプリング法を利用する方法としては、公知の手法を用いることができ、本実施の形態では、価値関数をルックアップテーブル形式すなわちｗｋ＝Ｑ（ｘ，ａ）のように重みを割り当てており、重点サンプリングを用いた場合の行動価値関数は下式で与えられる。
【００５８】
【数７】
0003703821.tif 000008
【００５９】
ここで、ＳＡＲＳＡと同様に環境のマルコフ性を利用すると、更新式は下式で与えられる。
【００６０】
【数８】
0003703821.tif 000009
【００６１】
ここで、ｔｍはｍ 回目のエピソードで最初に（ｘｔ，ａｔ）＝（ｘ，ａ）となった時刻であり、ＴＶＦは適合度トレースであり、λ は適合度の減衰率であり、αＶＦは学習率である。なお、挙動方策と目標方策とが一致する場合、ρｔ＝１となり、通常のＳＡＲＳＡの更新式となる。
【００６２】
また、確率的行動方策は、例えば、ボルツマン分布を用いて下式で表される。
【００６３】
【数９】
0003703821.tif 000010
【００６４】
ここで、ＴＶＦは温度パラメータであり、学習の初期段階では大きな値をとるが、学習が進むにつれて小さな値をとるように制御される。価値関数法は、環境がマルコフ決定過程（ＭＤＰ：Markov Decision Process）である場合、すなわちｘｔ＝ｓｔ の場合には最適方策への収束性が示されている。また、ＰＯＭＤＰな環境でも、内部変数を持たない範囲ではλを適切に設定することにより最適な確率的方策を獲得することができる。
【００６５】
次に、学習器２１〜２ｎが強化学習に方策勾配法を用いている場合において、上記の重点サンプリング法を方策勾配法に適用する方法について具体的に説明する。従来、報酬に遅れのある問題において報酬の期待値の勾配方向へパラメータを更新する手法が提案されており、これをきっかけとして、種々の方策勾配法が提案されている。
【００６６】
まず、パラメータｗｋにより表現された行動方策πＰＧをｘで期待値をとった価値関数ＶＰＧの勾配を利用して下式により改善する。
【００６７】
【数１０】
0003703821.tif 000011
【００６８】
ここで、αＰＧはステップサイズパラメータであり、ｗはｗｋをまとめたパラメータベクトルである。このとき、重点サンプリング法を用いると、状態価値関数は下式で与えられる。
【００６９】
【数１１】
0003703821.tif 000012
【００７０】
ここで、Ｐｒ（ｈｍ｜ｗ）はベクトルｗでパラメータ化された行動方策を用いてエピソードｈｍを得る確率であり、下式で表される。
【００７１】
【数１２】
0003703821.tif 000013
【００７２】
ここで、φ（ｈｍ）及びΨ（ｗ，ｈｍ）は下式で与えられる。
【００７３】
【数１３】
0003703821.tif 000014
【００７４】
上記のφ（ｈｍ）は環境からサンプリングしなければならないが、Ψ（ｗ，ｈｍ）は並列学習装置２の行動方策から計算できるので、一つのエピソードが得られたとき、行動方策を改善する方向はＶ（ｗ）をｗｋで微分して下式のようになる。
【００７５】
【数１４】
0003703821.tif 000015
【００７６】
上記のＰｒ（ｈ｜ｗ）＝Ｐｒ（ｈ｜ｗ’）は制御方策の比率の掛け算により計算でき、方策勾配法を用いる場合の更新式は下式で与えられる。
【００７７】
【数１５】
0003703821.tif 000016
【００７８】
ここで、Ｔｔ（ｋ）は方策勾配法の場合の適合度トレースであり、挙動方策と目標方策とが一致する場合、ρｔ＝１となる。
【００７９】
次に、方策勾配法では行動方策をパラメータ表現する必要があるが、ｗｋ＝Ｐ（ｘ，ａ）のように状態及び行動の組に対して重みを割り当て、式（１３）のようにボルツマン分布を用いて下式で表される。
【００８０】
【数１６】
0003703821.tif 000017
【００８１】
ここで、ＰＰＧ（ｘｔ，ａｔ）は行動価値ではなく、ＴＰＧは温度パラメータであるが、式（１３）と異なり、一定の値をとる。このとき、式（２３）の微分は下式で与えられる。
【００８２】
【数１７】
0003703821.tif 000018
【００８３】
上記の方策勾配法では、価値関数を明示的には推定せず、オンラインで方策を更新するが、本発明ではエピソードの最初に学習器を選択するために価値関数を用いる必要があり、式（４）によって価値ＶＰＧをエピソードごとに更新する。
【００８４】
再び、図３を参照して、上記の重点サンプリング法による分配処理が実行された後に、ステップＳ６において、各学習器２１〜２ｎは、現在実行しているタスクが終了したか否かを判断し、タスクが終了していない場合はステップＳ２以降の処理を繰り返し、タスクが終了した場合にステップＳ７へ処理を移行する。
【００８５】
タスクが終了した場合にステップＳ７において、確率的選択器１２は、与えられたタスクに対して学習が終了したか否か、すなわち、与えられたタスクに対して必要とされる学習性能を獲得できたか否かを判断し、学習が終了していない場合はステップＳ１以降の処理を繰り返し、学習が終了した場合に処理を終了する。
【００８６】
上記の処理により、本実施の形態では、状態取得部１１により外界の状態が取得され、取得された外界の状態に基づいて各学習器２１〜２ｎが同時に学習し、学習した結果から行動方策を決定し、決定された複数の行動方策の中から確率的選択器１２及び切り替え器１３により各学習器２１〜２ｎの学習性能に基づいて一の行動方策が選択され、選択された行動方策に従う行動がアクチュエータ部３により実行され、これらの処理が繰り返される。この結果、選択された学習器が決定した行動方策により得られた経験から、選択されていない他の学習器も学習し、複数の学習器２１〜２ｎが与えられたタスクを達成するための行動方策を同時に学習することができるので、複数の学習器２１〜２ｎを効率的に学習させることができ、学習器２１〜２ｎがタスクに適した構造を獲得するまでの学習時間を大幅に短縮することができる。
【００８７】
次に、上記の並列学習装置の学習効果について具体例を挙げて説明する。図４は、図１に示す並列学習装置を倒立振子の制御に使用した場合の学習性能を表す特性図である。図４に示す例は、台車の上に設けられたポールが直立するように台車を移動制御するものであり、状態変数の一部である台車の位置ｘ及びポールの角度θのみが観測可能なＰＯＭＤＰの場合の例である。ここで、図４の縦軸は学習性能を表すエピソード単位の総報酬を示し、横軸はエピソード数を示している。
【００８８】
図４に示す曲線Ａは、図１に示す並列学習装置を用いた場合の学習性能を表し、学習器２１〜２ｎとして、価値関数法を用い且つ外部メモリ３４を持たない学習器、価値関数法を用い且つ外部メモリ３４を有する学習器、方策勾配法を用い且つ外部メモリ３４を持たない学習器、及び方策勾配法を用い且つ外部メモリ３４を有する学習器を用い、重点サンプリング法を用いて４個の学習器を同時に学習させた場合の学習性能を表している。
【００８９】
一方、曲線Ｂ〜Ｆは比較例であり、曲線Ｂは、価値関数法を用い且つ外部メモリ３４を持たない学習器のみを用いた場合の学習性能を表し、曲線Ｃは、価値関数法を用い且つ外部メモリ３４を有する学習器のみを用いた場合の学習性能を表し、曲線Ｄは、方策勾配法を用い且つ外部メモリ３４を持たない学習器のみを用いた場合の学習性能を表し、曲線Ｅは、方策勾配法を用い且つ外部メモリ３４を有する学習器のみを用いた場合の学習性能を表し、曲線Ｆは、重点サンプリング法を用いることなく４個の学習器を同時に学習させた場合の学習性能を表している。
【００９０】
図４から、環境がＰＯＭＤＰの場合でも、図１に示す並列学習装置を用いた場合（曲線Ａ）、他の学習方法（曲線Ｂ〜Ｆ）に比較して学習効率が最も高く、学習時間を最も短縮することができるとともに、到達可能な学習性能が最も高いことがわかった。
【００９１】
図５は、図１に示す並列学習装置を自律走行ロボットの走行制御に使用した場合の学習性能を表す特性図である。図５に示す例は、自律走行ロボットが障害物を避けながら目的位置に到達するものであり、図５の縦軸は学習性能を表す平均報酬を示し、横軸はエピソード数を示している。
【００９２】
図５に示す曲線Ａは、図１に示す並列学習装置を用いた場合の学習性能を表し、学習器２１〜２ｎとして、価値関数法を用いて粗い移動制御を行う学習器、価値関数法を用いて精密な移動制御を行う学習器、方策勾配法を用いて粗い移動制御を行う学習器、及び方策勾配法を用いて精密な移動制御を行う学習器を用い、重点サンプリング法を用いて４個の学習器を同時に学習させた場合の学習性能を表している。
【００９３】
一方、曲線Ｂ，Ｃは比較例であり、曲線Ｂは、価値関数法を用いて粗い移動制御を行う学習器のみを用いた場合の学習性能を表し、曲線Ｃは、価値関数法を用いて精密な移動制御を行う学習器のみを用いた場合の学習性能を表している。
【００９４】
図５から、図１に示す並列学習装置を自律走行ロボットに用いた場合（曲線Ａ）、他の学習方法（曲線Ｂ，Ｃ）に比較して、エピソード数の増加に伴い学習効率が急激に向上し、学習時間を最も短縮することができるとともに、到達可能な学習性能が最も高いことがわかった。
【００９５】
上記の実施形態では、自律走行ロボット等を対象に説明したが、本発明の適用対象は上記の例に特に限定されず、種々のものに適用可能である。例えば、ペットロボット等に本発明の並列学習装置を適用し、複数の学習器の一つとして人間の教示を導入するようにしてもよい。この場合、人間が教示した通りにペットロボットが行動しつつ、ペットロボット自体の学習も同時に実現することができ、例えば、飼い主がペットロボットに芸を教えつつ、自律学習によってより知的な行動を獲得させることができる。
【００９６】
また、本発明の並列学習装置を最適制御分野等に適用して従来型の制御と機械学習とを融合し、工場等においてマニピュレータの制御等に利用されてきたものを学習器の制御器として利用するようにしてもよい。この場合、これまでに使用してきたものをそのまま利用できるので、従来と同じ性能を保証しながら、他の学習器が獲得したより良い性能を自動的に利用することができる。
【００９７】
さらに、本発明の並列学習装置を進化ロボティクス等の多数の学習器を評価する部分に適用してもよい。この分野では、複数の制御器を順番に一つずつ評価していたため、膨大な時間を必要としていたが、本発明の並列学習装置を用いることにより、複数の学習器を並列に評価することができるため、評価時間を大幅に短縮できる。
【図面の簡単な説明】
【００９８】
【図１】本発明の一実施の形態による並列学習装置を用いた学習システムの構成を示すブロック図である。
【図２】学習器の他の構成を示すブロック図である。
【図３】図１に示す並列学習装置の並列学習処理を説明するためのフローチャートである。
【図４】図１に示す並列学習装置を倒立振子の制御に使用した場合の学習性能を表す特性図である。
【図５】図１に示す並列学習装置を自律走行ロボットの走行制御に使用した場合の学習性能を表す特性図である。
【符号の説明】
【００９９】
１  センサ部
２  並列学習装置
３  アクチュエータ部
１１  状態取得部
１２  確率的選択器
１３  切り替え器
２１〜２ｎ，２１ａ学習器
３１，３１ａ  補正器
３２，３２ａ  価値関数部
３３，３３ａ  制御器
３４  外部メモリ
【図１】
0003703821.tif 000019
【図２】
0003703821.tif 000020
【図３】
0003703821.tif 000021
【図４】
0003703821.tif 000022
【図５】
0003703821.tif 000023