(57)【特許請求の範囲】
【請求項１】
制御対象の最適制御を行うエージェント学習装置(100)であって、
外部環境の情報を取得して感覚入力に変換するセンサ(301)と、
選択的注意機構(304)と、
複数の前記感覚入力に対して前記選択的注意機構(304)により行われた強化学習の結果を用いて、今回の前記感覚入力に対して得られる行動出力を前記制御対象に与える行動制御器(307)と、
前記行動出力により生じた前記制御対象の行動結果に対し評価値としての報酬を付与する行動状態評価器(303)と、
前記選択的注意機構(304)は、
前記報酬に応じて前記行動出力を該行動出力に対応する前記感覚入力と共に複数のコラムのうち該報酬に対応するコラムに格納し、
前記報酬に対応するコラムごとに格納された一群の行動出力を、期待値最大化アルゴリズムにより正規分布で表現し、
該正規分布を用いて任意の行動出力が各コラムに属する事前確率を計算し、
ニューラルネットワークを用いた教師付き学習により、前記事前確率を用いて複数の前記感覚入力が前記各コラムに属する確率を表す確率密度関数（確率モデル）を算出し、
新たに与えられた感覚入力を前記確率密度関数に適用することで前記コラム別の前記新たに与えられた感覚入力が前記各コラムに属する確率である確信度を算出し、
該確信度が最も大きいコラムから、前記新たに与えられた感覚入力に対応する行動出力を前記強化学習の結果として出力する、
よう構成されていることを特徴とするエージェント学習装置(100)。
【請求項２】
前記確信度は、前記事前確率と前記確率モデルとをベイズ則に適用して算出されることを特徴とする請求項１に記載のエージェント学習装置(100)。
【請求項３】
前記確率モデルは感覚入力と行動出力とを対応付けたデータセットを使用して予め算出されており、該確率モデルの算出後は、新たに与えられた感覚入力に対しこの確率モデルを使用して前記確信度を算出することを特徴とする請求項２に記載のエージェント学習装置(100)。
【請求項４】
制御対象の最適制御を行うエージェント学習方法であって、
外部環境の情報を取得して感覚入力に変換し、
複数の前記感覚入力に対して行われた強化学習の結果を用いて、今回の前記感覚入力に対して得られる行動出力を前記制御対象に与え、
前記行動出力により生じた前記制御対象の行動結果に対し評価値としての報酬を付与し、
前記報酬に応じて前記行動出力を該行動出力に対応する前記感覚入力と共に複数のコラムのうち該報酬に対応するコラムに格納し、
前記報酬に対応するコラムごとに格納された一群の行動出力を、期待値最大化アルゴリズムにより正規分布で表現し、
該正規分布を用いて任意の行動出力が各コラムに属する事前確率を計算し、
ニューラルネットワークを用いた教師付き学習により、前記事前確率を用いて複数の前記感覚入力が前記各コラムに属する確率を表す確率密度関数（確率モデル）を算出し、
新たに与えられた感覚入力を前記確率密度関数に適用することで前記コラム別の前記新たに与えられた感覚入力が前記各コラムに属する確率である確信度を算出し、
該確信度が最も大きいコラムから、前記新たに与えられた感覚入力に対応する行動出力を前記強化学習の結果として出力する、
よう構成されていることを特徴とするエージェント学習方法。
【請求項５】
前記確信度は、前記事前確率と前記確率モデルとをベイズ則に適用して算出されることを特徴とする請求項４に記載のエージェント学習方法。
【請求項６】
前記確率モデルは感覚入力と行動出力とを対応付けたデータセットを使用して予め算出されており、該確率モデルの算出後は、新たに与えられた感覚入力に対しこの確率モデルを使用して前記確信度を算出することを特徴とする請求項５に記載のエージェント学習方法。
【請求項７】
コンピュータで実行されたときに制御対象の最適制御を実現するためのエージェント学習プログラムであって、
センサにより取得された外部環境の情報を感覚入力に変換する機能と、
複数の前記感覚入力に対して行われた強化学習の結果を用いて、今回の前記感覚入力に対して得られる行動出力を前記制御対象に与える機能と、
前記行動出力により生じた前記制御対象の行動結果に対し評価値としての報酬を付与する機能と、
前記報酬に応じて前記行動出力を該行動出力に対応する前記感覚入力と共に複数のコラムのうち該報酬に対応するコラムに格納する機能と、
前記報酬に対応するコラムごとに格納された一群の行動出力を、期待値最大化アルゴリズムにより正規分布で表現する機能と、
該正規分布を用いて任意の行動出力が各コラムに属する事前確率を計算する機能と、
ニューラルネットワークを用いた教師付き学習により、前記事前確率を用いて複数の前記感覚入力が前記各コラムに属する確率を表す確率密度関数（確率モデル）を算出する機能と、
新たに与えられた感覚入力を前記確率密度関数に適用することで前記コラム別の前記新たに与えられた感覚入力が前記各コラムに属する確率である確信度を算出する機能と、
該確信度が最も大きいコラムから、前記新たに与えられた感覚入力に対応する行動出力を前記強化学習の結果として出力する機能と、
をコンピュータに実現させるエージェント学習プログラム。
【請求項８】
前記確信度は、前記事前確率と前記確率モデルとをベイズ則に適用して算出されることを特徴とする請求項７に記載のエージェント学習プログラム。
【請求項９】
前記確率モデルは感覚入力と行動出力とを対応付けたデータセットを使用して予め算出されており、該確率モデルの算出後は、新たに与えられた感覚入力に対しこの確率モデルを使用して前記確信度を算出することを特徴とする請求項８に記載のエージェント学習プログラム。
【発明の詳細な説明】
技術分野
本発明は、エージェント学習装置、方法、及びプログラムに関する。より詳細には、高次の認知制御機構を有する産業用ロボット、自動車、航空機などの物理的システム制御や、非線形的、非定常的な制御対象に対し、迅速で適応性に優れた制御を実現するためのエージェント学習装置、方法、及びプログラムに関する。
背景技術
従来の学習方法の例としては、予め人間が与えた時系列表現による模範的制御軌道と予測軌道との誤差を最小化する教師付き学習法（Ｇｏｍｉ．Ｈ．ａｎｄ  Ｋａｗａｔｏ．Ｍ．，Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｎｔｒｏｌ  ｆｏｒ  ａ  Ｃｌｏｓｅｄ−Ｌｏｏｐ  Ｓｙｓｔｅｍ  Ｕｓｉｎｇ  Ｆｅｅｄｂａｃｋ−Ｅｒｒｏｒ−Ｌｅａｒｎｉｎｇ，Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ，Ｖｏｌ．６，ｐｐ．９３３−９４６，１９９３）や、模範的制御軌道は与えられず、制御系がおかれた環境において、試行錯誤を繰り返すことによって最適軌道を獲得していく強化学習法（Ｄｏｙａ．Ｋ．，Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ  Ｉｎ  Ｃｏｎｔｉｎｕｏｕｓ  Ｔｉｍｅ  ａｎｄ  Ｓｐａｃｅ，Ｎｅｕｒａｌ  Ｃｏｍｐｕｔａｔｉｏｎ，２０００）等が挙げられる。
しかし、前者の方法では、実世界においては制御系の置かれた環境は絶えず変化するので、人間が模範的制御軌道を与えつづけることは現実には困難であり、このような教師付き学習をそのまま適用することはできない。また、後者の方法では、試行錯誤を繰り返すことによって最適軌道を獲得するまでには長時間を要してしまうという問題がある。従って、例えばヘリコプターの制御のように環境に応じて迅速かつ的確に対応していく必要がある制御対象に対して上述の学習方法を適用するのは非常に困難である。
一方、最近の人間的制御機構の研究によれば、人間の制御機構では感覚入力に基づいた制御系の非線型近似により得られる行動出力の時系列的な「滑らかさ」や、行動出力の統計的正規分布における対称性に注目し、注意する対象となる感覚入力を選択的に絞り込むという学習を行うことによって、行動出力の分散を最小とするような制御軌道が統計的に高速に獲得されることが分かっている（Ｈａｒｒｉｓ．Ｍ．Ｃ．，Ｓｉｇｎａｌ−ｄｅｐｅｎｄｅｎｔ  ｎｏｉｓｅ  ｄｅｔｅｒｍｉｎｅｓ  ｍｏｔｏｒ  ｐｌａｎｎｉｎｇ，Ｎａｔｕｒｅ，Ｖｏｌ．３９４，２０  Ａｕｇｕｓｔ，１９９８）。
また、認知科学の分野では、人間は大量な感覚情報から必要とする情報を意識的に選択して迅速で効率のよい制御を達成する機構を持っていると考えられている。これを工学的に応用することへの示唆がされているが、実際にはこの機構を工学的に応用する具体的なモデル等の提案には至っていない。
本発明は上記の点に鑑みてなされたものであり、迅速に最適制御軌道を獲得することができるエージェント学習装置、方法、及びプログラムを提供することを目的とする。
発明の開示
本発明では、直接観測できない情報（注意のクラス）を学習的に生成し、感覚入力と注意のクラスとの関係付けを行う選択的注意機構を考案した。これによれば、行動出力の分散が最小となる最適制御軌道を迅速に獲得することができる。
本発明によるエージェント学習装置は、外部環境の情報を取得して感覚入力に変換するセンサと、前記感覚入力に対して行われる学習の結果により得られる行動出力を前記制御対象に与える行動制御器と、前記行動出力により生じた制御対象の挙動を評価する行動状態評価器と、前記評価に応じて、前記行動出力を対応する感覚入力と共に複数のコラムのいずれかに格納し、前記コラム別に格納された行動出力群に基づき、前記感覚入力が各コラムに属する確率的な関係である確率モデルを算出し、新たに与えられた感覚入力を前記確率モデルに適用することで前記コラム別の確信度を算出し、該確信度が最も大きいコラム内で前記感覚入力に対応する行動出力を前記学習結果として出力する選択的注意機構を含む。
上記構成によると、事前学習を行わずに、エージェント学習装置を適用して制御対象の制御を直ちに開始することができる。この場合、確率モデルが算出される前は制御対象の不安定度が大きく、突飛な運動により制御対象が破損等する可能性があるので、所定の間行動制御器が制御対象に与える行動出力の範囲を強制的に制限するような構成にすることが好ましい。
感覚入力に対する確信度が最も大きいコラムを選択する代わりに、行動状態評価器の与えた評価が最も高い行動出力群を含むコラムを常に選択し、該コラム内で新たに与えられた感覚入力に対応付けられている行動出力を出力するようにしても良い。
確率モデルの算出は、期待値最大化アルゴリズムによりコラム別に格納された行動出力群を正規分布で表現し、この正規分布を用いて任意の行動出力が各コラムに属する事前確率を計算し、ニューラルネットワークを用いた教師付き学習により、事前確率を用いて任意の感覚入力と各コラムとの確率的な関係である確率モデルを算出することを含む。確率モデルは具体的には条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ωｌ）である。
また確信度は、事前確率と確率モデルとをベイズ則に適用することで算出される。この確信度は、ある感覚入力が各注意のクラス（コラム）に属している確率を表している。
制御対象の制御は、上述のように事前の学習なしで開始できる。しかし、感覚入力と行動出力とを対応付けたデータセットを予め準備しておき、このデータセットを用いて事前学習を行って確率モデルを算出しておくのがより好適である。確率モデルの算出後は、新たに与えられた感覚入力に対しこの確率モデルを使用して確信度を算出する。この場合、事前学習で算出したものと同一の確率モデルが使用され続ける。これによって、制御対象をより早期に安定させることができる。事前学習を行うときは、感覚入力はデータセットに基づいて行動出力生成器により行動出力に変換されて、制御対象に与えられる。
発明を実施するための最良の形態
まず初めに、後に説明する図１０のラジオコントロールヘリコプター（以下「ヘリコプター」という）を用いて行った予備的実験について説明する。
図１はこのヘリコプターを安定させるように操作したときに、ヘリコプターを制御するモータの出力を３０ｍｓｅｃ毎に取得したデータを時系列で示すグラフである。図２は、この結果の度数分布をとったものである。図２から、ヘリコプターを安定させるためのモータの制御出力（以下「行動出力」という）は、正規分布曲線として表現し得ることが分かる。
多くの制御対象に対して、安定した制御を実現するためには、このような行動出力の正規分布に見られる対称性に注目すればよい。なぜならば、正規分布のうち頻度の高い部分は、安定制御を実現するために多用される行動出力値と考えられるからである。この正規分布の対称性を利用することによって、時々刻々と変化する状況下でどのような行動出力を制御対象に与えるべきかを統計的に予測することが可能となる。
また、センサ等により取得された感覚入力に基づいて制御対象に与える行動出力を選択しようとするとき、選択できる行動出力は無数に考えられる。もし、与えた行動出力により制御対象が示した挙動の結果（以下「行動結果」という）の分散が小さくなるような行動出力を選択する学習を行うならば、時間の経過に伴って、取得した感覚入力に応じて選択し得る行動出力は次第に限定されていき、制御対象は安定するようになる。最終的には、行動出力の正規分布の分散を最小化することで、変動幅や変動率の最も少ない安定した制御が達成される。
本発明のエージェント学習装置は、このような予備的実験に基づいた統計学的学習法と、従来の教師付き学習法とを統合して適用する点に特徴がある。以下、図１〜図１２を用いて本発明の実施の形態について説明する。
本発明のエージェント学習装置は、例えば、事前に準備されたデータセットを利用して学習を行う。本明細書においては、この学習を「事前学習」と呼ぶ。図３は、本発明の一実施形態であるエージェント学習装置１００の事前学習時の構成を機能ブロックで示す図である。エージェント学習装置１００は図３の点線で囲まれた領域で表わされ、１つ又は複数のセンサ３０１と、行動出力生成器３０２と、行動状態評価器３０３と、選択的注意機構３０４と、を有している。また、選択的注意機構３０４は、行動状態評価器３０３の生成する報酬に基づいて作成される複数のコラム１，２，３，…，ｍと、注意クラス選択器３０６を有している。
センサ３０１により取得された感覚入力に対し、行動出力生成器３０２はデータセットに従った行動出力を生成して制御対象３０８に供給する。行動状態評価器３０３は、制御対象３０８の行動結果を評価して行動出力ごとに報酬を生成する。選択的注意機構３０４は、この報酬に応じて行動出力を各コラムに分配し、後述するような確率モデルを算出する。確率モデルを予め算出しておくことで、高精度の制御を実現することができる。
事前学習が終了すると、エージェント学習装置１００は、本明細書において「行動制御」と呼ぶ以下に述べる処理を行う。
図４は、エージェント学習装置１００の行動制御時の構成を機能ブロックで示す図である。行動制御時には、新たにセンサ３０１で取得される感覚入力は直接注意クラス選択器３０６に与えられる。注意クラス選択器３０６は、先に算出した確率モデルを用いた処理を感覚入力に対して行う。行動制御器３０７は、制御対象３０８を安定に制御するための行動出力を決定し、制御対象３０８に与える。制御対象３０８は、例えば前述のヘリコプターである。
なお、事前学習は行わなくてもよい。この場合のエージェント学習装置１００の動作については後述する。
行動出力生成器３０２、行動状態評価器３０３、選択的注意機構３０４、及び行動制御予測器３０７の何れかまたは全ては、これらの各機能を達成するように作成されたプログラムを汎用コンピュータ等に実行させることによって実現することもできる。
初めに、各機能ブロックの詳細な機能と、事前学習時のエージェント学習装置１００の動作について、図３及び図５のフローチャートを使用して説明する。
センサ３０１は、外部環境の情報を所定の時間間隔で取得し、感覚入力Ｉｉ（ｔ）（ｉ＝１，２，．．．，ｍ、以下同様）という信号に変換する。感覚入力Ｉｉ（ｔ）は、行動出力生成器３０２に供給される。行動出力生成器３０２は、与えられた感覚入力Ｉｉ（ｔ）に応じた行動出力Ｑｉ（ｔ）を生成し、行動状態評価器３０３及び制御対象３０８に供給する。この感覚入力Ｉｉ（ｔ）から行動出力Ｑｉ（ｔ）への変換の関係は、以下の写像ｆで表される。
0004028384.tif 000002
写像ｆは、例えば、周知のフーリエ級数等を用いた非線形近似変換である。
本実施形態の事前学習では、この写像ｆは、複数の感覚入力Ｉｉ（ｔ）と行動出力Ｑｉ（ｔ）の対応付けを記録したランダムなデータセットを予め準備しておくことに相当する。つまり、行動出力生成器３０２は、このデータセットに基づいて、感覚入力Ｉｉ（ｔ）に対応する行動出力Ｑｉ（ｔ）を順次生成する（図５のステップＳ４０１）。
生成された行動出力Ｑｉ（ｔ）は、行動状態評価器３０３及び制御対象３０８に供給される。制御対象３０８は、供給された行動出力Ｑｉ（ｔ）に応じた行動を行う。この行動の結果は、行動状態評価器３０３に与えられる（図５のステップＳ４０２）。
行動状態評価器３０３は、与えられた行動出力Ｑｉ（ｔ）により生じた制御対象３０８の行動結果（例えば、制御対象３０８の挙動が安定したか否か）を所定の評価関数を用いて評価し、この評価の結果に基づいて行動出力Ｑｉ（ｔ）毎に報酬を生成する（図５のステップＳ４０３）。行動状態評価器３０３におけるこの処理は、強化学習と捉えることができる。
ここで、評価関数とは、例えば与えられた行動出力Ｑｉ（ｔ）によって制御対象３０８の挙動が安定した場合は報酬「１」を、不安定であった場合は報酬「２」を生成するような関数である。報酬の種類は、制御対象３０８の挙動の特性や要求する制御の精度などに応じて任意に設定することができる。前述のヘリコプターの場合は、例えばジャイロセンサーによって検出されるヘリコプターの傾きによって安定か否かを判断し、報酬「１」または「２」を与えるようにする。
評価関数は、行動出力Ｑｉ（ｔ）の分散σを最小化するために使用される。つまり、この評価関数を用いることにより、安定制御に不適切な感覚入力Ｉｉ（ｔ）を抑え込み、適切な感覚入力Ｉｉ（ｔ）を強化して、最終的にσ（Ｑ１）＜σ（Ｑ２）を満足する強化学習が行われていくことになる。ここで、Ｑ１は報酬「１」が与えられた行動出力Ｑｉ（ｔ）群であり、Ｑ２は報酬「２」が与えられた行動出力Ｑｉ（ｔ）群である。
選択的注意機構３０４は、行動状態評価器３０３から報酬が与えられると、報酬の種類に応じて複数のコラム１，２，３，…，ｍを生成し、報酬の値に応じて行動出力Ｑｉ（ｔ）を各コラムに分配する（図５のステップＳ４０４）。そして各コラムには、この行動出力を生成させた感覚入力Ｉｉ（ｔ）と対応付けて行動出力Ｑｉ（ｔ）が報酬別に記憶される。具体的に述べると、例えば、行動状態評価器３０３が報酬「１」または「２」の何れかを生成する場合、選択的注意機構３０４はコラム１とコラム２を設ける。そして、報酬「１」が与えられた行動出力Ｑｉ（ｔ）はコラム１（安定）に格納され、報酬「２」が与えられた行動出力Ｑｉ（ｔ）はコラム２（不安定）に格納される。このように、コラム１，２，３，…，ｍは、報酬によって分けられた行動出力Ｑｉ（ｔ）のクラスターモデルに相当する。
続いて、選択的注意機構３０４は、後述する期待値最大化アルゴリズムとニューラルネットワークを用いた教師付き学習を行って、感覚入力Ｉｉ（ｔ）の条件付き確率密度関数（すなわち確率モデル）ｐ（Ｉｉ（ｔ）｜Ωｌ）を算出する（図５のステップＳ４０５〜Ｓ４０８）。ここで、Ωｌ（ｌ＝１，２，３，…，ｎ）は、「注意のクラス」と呼ばれるパラメータであって、コラムと１対１に対応している。この注意のクラスΩｌは、真の確率密度関数ｐ（Ｉｉ（ｔ）｜Ωｌ）があるという仮定の下に生成される。
注意のクラスΩｌは、膨大な感覚入力Ｉｉ（ｔ）の中から注目すべき感覚入力Ｉｉ（ｔ）を特定するために使用するものである。具体的には、注意のクラスΩｌは、各コラムに含まれる行動出力Ｑｉ（ｔ）をその正規分布の確率密度関数を用いてモデル化する際に使用されるパラメータであり、行動出力Ｑｉ（ｔ）を含むコラムの数と同数生成される。各コラムに含まれる行動出力Ｑｉ（ｔ）に対応する注意のクラスΩｌを得ることは、以下の写像ｈで表現される。
0004028384.tif 000003
続いて、図５のステップＳ４０５〜Ｓ４０８の処理について詳細に説明する。なお、ステップＳ４０５〜Ｓ４０８の各処理はコラム毎に実行される。
まず、ステップＳ４０５の期待値最大化アルゴリズム（ＥＭアルゴリズム）について説明する。
ＥＭアルゴリズムは、観測データが不完全データであるときに最大尤度になるパラメータθを推測する繰り返しアルゴリズムである。既に述べたように、各コラムに含まれる行動出力Ｑｉ（ｔ）は正規分布になっていると考えられるので、パラメータθは平均μｌ、共分散Σｌを用いて、θ（μｌ，Σｌ）と表わすことができる。ＥＭアルゴリズムは、パラメータθ（μｌ，Σｌ）の適当な初期値から開始して、Ｅステップ（Ｅｘｐｅｃｔａｔｉｏｎ  ｓｔｅｐ）とＭステップ（Ｍａｘｉｍｉｚａｔｉｏｎ  ｓｔｅｐ）の２つのステップを反復することでパラメータθ（μ１，Σ１）の値を逐次更新していく。
まず、Ｅステップでは、次式により条件付き期待値ψ（θ｜θ（ｋ））を求める。
0004028384.tif 000004
次に、Ｍステップにおいて、次式によりψ（θ｜θ（ｋ））を最大にするパラメータμ１、Σ１を得て、これを新たな推測値θ（ｋ＋１）とする。
0004028384.tif 000005
このようにして得られた条件付き期待値ψ（θ｜θ（ｋ））をθ（ｋ）に関して偏微分し、得られた結果を「０」と置くことによって、最終的なμ１、Σ１が算出される。ＥＭアルゴリズムは当技術分野において周知なので、これ以上詳細な説明は省略する。
以上のようにして、各コラムに含まれる行動出力Ｑｉ（ｔ）を正規分布であらわすことができる（図５のステップＳ４０５）。行動出力Ｑｉ（ｔ）のμ１、Σ１を算出することは、注意のクラスΩ１の事後確率を算出することに相当する。
コラム１（安定）及びコラム２（不安定）に含まれる行動出力Ｑｉ（ｔ）の正規分布の例を、それぞれ図６、図７に示す。図から明らかなように、コラム１の正規分布はコラム２の正規分布に比べて先鋭化しており、行動出力Ｑｉ（ｔ）の分散が小さく（σ（Ｑ１）＜σ（Ｑ２））なっている。
次に、選択的注意機構３０４は、算出したμ１、Σ１を次式に用いて、ある注意のクラスΩ１（コラム）にある特定の行動出力Ｑｉ（ｔ）が属する確率である注意のクラスΩ１の事前確率ｐ−（Ｑｉ１（ｔ）｜Ω１（ｔ））を算出する（図５のステップＳ４０６）。
0004028384.tif 000006
上式において、Ｎは行動出力Ｑｉ（ｔ）の次元数である。
次に、ニューラルネットワークを用いた教師付き学習について説明する。この学習では、先に算出した事後確率としての注意のクラスΩ１を教師信号として、条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）を算出する（図５のステップＳ４０７）。
図８は、このニューラルネットワークを用いた教師付き学習に使用される階層型ニューラルネットワークの構成例を示す図である。この階層型ニューラルネットワークは３層のノードを有し、入力層５０１は感覚入力Ｉｉ（ｔ）、中間層５０２は行動出力Ｑｉ（ｔ）、出力層５０３は注意のクラスΩ１にそれぞれ対応する。なお、入力層５０１には簡単のために３つのノードのみ描かれているが、実際にはノードはデータセットの感覚入力Ｉｉ（ｔ）の数だけ存在する。同様に、中間層５０２には入力層５０１と同数の行動出力Ｑｉ（ｔ）のノードがあり、両者はそれぞれ１対１に接続されている。また出力層５０３のノードは注意クラスΩ１の数だけ生成される。
図８において、「λ」は階層型ニューラルネットワークのシナプス荷重である。ＥＭアルゴリズムによって行動出力Ｑｉ（ｔ）がそれぞれの注意のクラスΩ１に属する確率が求められており、また行動出力Ｑｉ（ｔ）は１つの感覚入力Ｉｉ（ｔ）と対応付けてコラムに格納されているので、注意のクラスΩ１を教師信号とする教師付き学習を繰り返していくことで感覚入力Ｉｉ（ｔ）と注意のクラスΩ１の確率的な関係（つまり図８中のλ）が決定されていく。この確率的な関係は条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）である。ここで、教師信号となる注意のクラスΩ１は、感覚入力Ｉｉ（ｔ）に合成関数ｈ・ｆを適用することで算出できる。階層型ニューラルネットワークは当技術分野において周知なので、これ以上詳細な説明は省略する。
このようなニューラルネットワークを用いた教師付き学習によって、感覚入力Ｉｉ（ｔ）と注意のクラスΩ１との確率的な対応関係である条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）が得られる。
以上のように、事前学習時の選択的注意機構３０４内での学習はフィードバック的に進行する。そして条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）が得られると、新たな感覚入力Ｉｉ（ｔ）に対して写像ｈ・ｆを逐一計算することなく、その感覚入力Ｉｉ（ｔ）がどの注意のクラスΩ１に属する確率が高いかを求めることができる。
与えられたデータセットの全ての感覚入力Ｉｉ（ｔ）と行動出力Ｑｉ（ｔ）の組に対してステップＳ４０１〜Ｓ４０７の一連の処理を行う（図５のステップＳ４０８）。事前学習中は、順次与えられる行動出力Ｑｉ（ｔ）に応じて、条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）が更新され続ける。
以上で、事前学習時のエージェント学習装置１００の動作の説明を終える。
データセットを用いた事前学習が終了すると、エージェント学習装置１００は、得られた学習結果に基づいて制御対象３０８を制御する。以下、行動制御時のエージェント学習装置１００の動作について、図４及び図９を使用して説明する。
行動制御時には、事前学習時に算出された事前確率ｐ−（Ｑｉ１（ｔ）｜Ω１（ｔ））と条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）が使用される。センサ３０１で新たに取得された感覚入力Ｉｉ（ｔ）は、選択的注意機構３０４の注意クラス選択器３０６に供給される（図９のステップＳ４１０）。そして、既に事前学習でコラム毎に算出済みの事前確率ｐ−（Ｑｉ１（ｔ）｜Ω１（ｔ））と条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）を用いて、以下のベイズ則により各注意のクラスΩ１の確信度ｐ（Ω１（ｔ））（ｃｏｎｆｉｄｅｎｃｅ）を計算する（図９のステップＳ４１１）。
0004028384.tif 000007
この確信度ｐ（Ω１（ｔ））は、ある感覚入力Ｉｉ（ｔ）がそれぞれの注意のクラスΩ１に属している確率を表している。感覚入力Ｉｉ（ｔ）が各注意のクラスΩ１に属する確率をベイズ則により計算することは、確信度ｐ（Ω１（ｔ））をベイズ則の持つ学習性（重み付け）により増していくことで、ある一つの注意のクラスΩ１を選択的に特定可能であることを意味する。すなわち、選択的注意機構３０４によれば、直接観測可能な感覚入力Ｉｉ（ｔ）から隠れ制御パラメータである注意のクラスΩ１を特定できる。
注意クラス選択器３０６は、この確信度ｐ（Ω１（ｔ））の最も大きい注意のクラスΩ１を、新たに取得された感覚入力Ｉｉ（ｔ）に対応する注意のクラスとして選択し、その注意のクラスΩ１を行動制御器３０７に通知する（図９のステップＳ４１２）。
行動制御器３０７は、与えられた注意のクラスΩ１が「安定」に対応する注意のクラスΩ１であったときは、コラム１内に格納されている行動出力Ｑｉ（ｔ）の中から、今回取得した感覚入力Ｉｉ（ｔ）に対応する行動出力Ｑｉ（ｔ）を計算し（図９のステップＳ４１３）、これを制御対象３０８に与える（ステップＳ４１４）。この行動出力Ｑｉ（ｔ）は、ＥＭアルゴリズムで計算した確率分布上で求められるものであり、事前学習時にデータセットで与えられた行動出力Ｑｉ（ｔ）そのものではない。
与えられた注意のクラスΩ１が「不安定」に対応する注意のクラスΩ２であったとき、行動制御器３０７は、コラム２からではなくコラム１を選択し、この場合も行動出力Ｑｉ（ｔ）の分散の小さいコラム１内に格納されている行動出力Ｑｉ（ｔ）の中から今回取得した感覚入力Ｉｉ（ｔ）に対応する行動出力Ｑｉ（ｔ）を計算し、制御対象３０８に与える（ステップＳ４１４）。対応する行動出力Ｑｉ（ｔ）がない場合は、前回の行動出力Ｑｉ（ｔ）がそのまま与えられる。この処理を継続することで、コラムの分散の関係σ（Ｑ１）＜σ（Ｑ２）が達成される（すなわち、コラム１の行動出力Ｑｉ（ｔ）の分散が急速に小さくなり、制御対象３０８の安定化が図られる）。
なお、与えられた注意のクラスΩ１が「不安定」に対応する注意のクラスΩ２であったときに、行動制御器３０７がそのままコラム２を選択し、コラム２内に格納されている行動出力Ｑｉ（ｔ）の中から今回取得した感覚入力Ｉｉ（ｔ）に対応する行動出力Ｑｉ（ｔ）を計算し、制御対象３０８に与えるようにしても良い。
制御対象３０８は、与えられた行動出力Ｑｉ（ｔ）に応じた行動を行う。この行動結果は、再び行動状態評価器３０３に供給される。そしてこれ以降、新たな感覚入力Ｉｉ（ｔ）がセンサ３０１によって取得されると、条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）を用いてベイズ則による学習により注意のクラスΩ１が選択され、以後上述の処理が繰り返される（ステップＳ４１５）。
以上で、行動制御時のエージェント学習装置１００の動作の説明を終える。
本発明では、事前学習で条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）が算出されているので、行動制御時には逐一写像ｆ及びｈを計算する必要が無く、統計的学習法を用いて新たな感覚入力Ｉｉ（ｔ）に対応する注意のクラスΩ１を直接選択することができる。
一般的に、センサ３０１から取得される感覚入力Ｉｉ（ｔ）の情報量は非常に多く、全ての感覚入力Ｉｉ（ｔ）に対して写像ｆ及びｈを計算すると通常のコンピュータの情報処理能力を容易に超えてしまう。本発明では、注意のクラスΩ１を用いて感覚入力Ｉｉ（ｔ）に対し適当なフィルタリングを行うことで、学習効率を格段に向上させる。
また、確信度ｐ（Ω１（ｔ））が最大である注意のクラスΩ１を選択することは、ある感覚入力Ｉｉ（ｔ）に対して最も報酬の高い行動出力Ｑｉ（ｔ）を含むコラムを選択することに相当する。
上述のように、本発明では学習が３回行われている。すなわち、１）行動状態評価器３０３での複数回の強化学習（報酬によるクラスターモデルの作成）、２）階層型ニューラルネットワークを用いた教師付き学習による注意のクラスΩ１と感覚入力Ｉｉ（ｔ）との関係の学習、３）ベイズ則を用いた学習による新たな感覚入力Ｉｉ（ｔ）に対応する注意のクラスΩ１の選択である。このように、本発明のエージェント学習装置１００は、教師付き学習と統計的学習とを統合して適用する点に特徴がある。
従来の教師付き学習では、人間が与えた最適制御を実行させていたが、これは実用的でない。また、エージェント自身が試行錯誤しながら最適制御を獲得する従来の強化学習では、処理時間が非常に長くなってしまう。
一方、本発明のエージェント学習装置１００では、選択的注意機構３０４によって注目すべき注意のクラスΩ１を絞り込むことができ、重要な感覚入力Ｉｉ（ｔ）を選択的に学習するので、処理時間が大幅に短縮され、また人間が教師情報を与える必要もない。また、制御対象３０８の動作が非線形性を持つ場合、極めて複雑な非線形関数近似を行わねばならず、強化学習のみでは長時間を要するところ、本発明のエージェント学習装置１００では、選択的注意機構３０４により感覚入力Ｉｉ（ｔ）の重要度に応じた学習が行われるので処理が高速化される。また、本発明のエージェント学習装置１００は、事前学習時にはフィードバック制御を行い、行動制御時にはフィードフォワード制御を行う点にも特徴がある。
続いて、図１０を参照して本発明の一実施例を説明する。図１０は、本発明のエージェント学習装置１００がラジオコントロールヘリコプター６０１に適用された様子を示す図である。
ヘリコプター６０１に搭載された視覚センサ６０２は、３０〜９０ｍｓｅｃ毎に視覚情報を取得し、感覚入力Ｉｉ（ｔ）としてコンピュータ６０３に送信する。コンピュータ６０３は、図３または図４のエージェント学習装置１００を実現するようにプログラム化されており、本発明に従った方法で感覚入力Ｉｉ（ｔ）に応じた行動出力Ｑｉ（ｔ）を生成する。この行動出力Ｑｉ（ｔ）は、無線送信機６０４によりヘリコプター６０１に搭載されたモータ制御装置６０５に送信され、ヘリコプター６０１のロータを回転させる。
この実施例では、注意のクラスΩ１の数を２つに設定した。また、この実施例では、３６０組の事前学習用データセットが選択的注意機構３０４内の処理のために使用された。データセットを用いた事前学習の後は、１５０の別の新たなテストデータ（新たな感覚入力Ｉｉ（ｔ））を与えて正しい注意のクラスΩ１を選択できるか否かを確認した。
事前学習時には、生成された行動出力Ｑｉ（ｔ）に応じて２種類の報酬（ポジティブ報酬とネガティブ報酬）が与えられる。選択的注意機構３０４は報酬に基づいて行動出力Ｑｉ（ｔ）をコラム１または２に分配する。この動作は、以下の評価関数により表現される。
0004028384.tif 000008
ここで、Ｑ１、Ｑ２はそれぞれコラム１，２に分配された行動出力Ｑｉ（ｔ）群を意味する。ポジティブ報酬はコラム１に対応し、ネガティブ報酬はコラム２に対応する。
0004028384.tif 000009
分布ｐ（Ｑｉ）の平均値であり、本実施例では「８２」に設定した。さらに、δはヘリコプター６０１の安定状態の許容範囲を示し、本実施例では「１．０」に設定した。上式に示す評価関数は、コラムの分散σ（Ｑ１）＜σ（Ｑ２）を満足するように強化学習を実行するための関数である。
図１１（ａ）〜図１１（ｃ）は、図１０の構成で実験を行った後に得られた、感覚入力Ｉｉ（ｔ）と注意のクラスΩ１との関係を示す実験結果である。ここで、実際の注意のクラスΩ１はデータセットから算出できる。図１１（ａ）は感覚入力Ｉｉ（ｔ）に対応する実際の注意クラスΩ１を示す。図１１（ｂ）は、期待値最大化アルゴリズムにおける繰り返し回数が未熟であるとき（初期）に得られた実験結果を示し、図１１（ｃ）は、期待値最大化アルゴリズムにおける繰り返し回数が十分であるとき（後期）に得られた実験結果を示す。各図の実線は、選択される注意のクラスΩ１（ｔ）が遷移したことを示す。すなわち、実線の表示がないタイムステップ（ｔ）間では、コラム１またはコラム２に対応する同一の注意のクラスΩ１（ｔ）が選択され続けていることを表す。学習後期（図１１（ｃ））の方が学習初期（図１１（ｂ））より実際の注意のクラスΩ１（図１１（ａ））に近いことが分かる。
これは、感覚入力Ｉｉ（ｔ）と２つの注意のクラスΩ１の間の予測的な関係を本発明のエージェント学習装置１００が学習できていることを示している。感覚入力Ｉｉ（ｔ）と２つの注意クラスΩ１の間の予測の識別力は、統計的コラムに対する確率分布が期待値最大化アルゴリズムによる学習段階において、初期であるときは弱く、期待値最大化アルゴリズムの繰り返し数を増加させると正確さが向上する。また、予測識別力は、期待値最大化アルゴリズム内で用いる正規分布（ガウス関数）の数によっても影響を受ける。本実施例では単ガウス関数を用いたが、複数のガウス関数を期待値最大化アルゴリズムの中で用いてもよい。この場合、予測識別力はさらに正確さを増す。
図１２は、本実施例により制御を行ったときのヘリコプター６０１の行動出力Ｑｉ（ｔ）の最小分散値の時間経過を示す。図１２において、点線が従来の制御法である非線形フィードバック制御を用いて制御を行ったときの結果を示し、実線が本発明のエージェント学習装置１００を用いた制御による結果を示す。従来の方法では、選択的注意機構３０４による学習過程がないので、ヘリコプター６０１が得る視覚センサ入力（感覚入力Ｉｉ（ｔ））のうち、ヘリコプター６０１の安定化のために必要な情報が何であるかを試行錯誤して学習していく。従って、行動出力Ｑｉ（ｔ）の分散が小さくなるまでに、すなわちヘリコプター６０１が安定するまでに多大な時間を要することが分かる。
一方、本発明のエージェント学習装置１００では、選択的注意機構３０４を有しているので、ヘリコプター６０１の安定に必要な感覚入力Ｉｉ（ｔ）を試行錯誤して獲得するのではなく、感覚入力Ｉｉ（ｔ）の重要度に応じた学習をする。その結果、行動出力Ｑｉ（ｔ）の分散の最小化を非常に短時間で実現できていることが分かる。
なお、本実施例では、入力部に視覚センサ６０２を用いたが、感覚入力Ｉｉ（ｔ）としては視覚情報入力に限定されず、聴覚情報入力や触覚情報入力等の他のものでも良い。また、本実施例では、コラム及び報酬が「２」の場合を説明したが、コラム及び報酬の数は３つ以上でも良い。コラムが１つだと事前学習が上手く成立しない。なぜなら、コラムに含まれる行動出力Ｑｉ（ｔ）の正規分布曲線が先鋭化せず、その分散が小さくならないからである。本発明では複数のコラムを設けるようにして、行動出力Ｑｉ（ｔ）の正規分布曲線が迅速に先鋭化するようにした点に特徴がある。通常、コラムを増やすほど、複雑かつ多様性に富んだ行動出力Ｑｉ（ｔ）が得られる。
また、以上に説明してきた実施形態では、データセットを用いて事前学習を行っているが、このような事前学習を行うのは、制御対象３０８をより早期に安定させるためである。従って、事前学習を行わずに、エージェント学習装置１００を適用して制御対象３０８（例えばヘリコプター６０１）の制御を直ちに開始することも可能である。この場合、当初は前述の確率モデルが算出されていないので、制御開始から短期間は、図４の行動制御器３０７はセンサが取得する感覚入力Ｉｉ（ｔ）と無関係にランダムな行動出力Ｑｉ（ｔ）を制御対象３０８に与える。制御対象３０８の行動結果に対して行動状態評価器３０３は報酬を与え、選択的注意機構３０４は報酬に応じて行動出力Ｑｉ（ｔ）を感覚入力Ｉｉ（ｔ）と対応付けて各コラムに分配する。そして、感覚入力Ｉｉ（ｔ）と行動出力Ｑｉ（ｔ）の対応関係が報酬別にコラムに蓄積され、ＥＭアルゴリズムによりコラムに格納された行動出力群の正規分布を算出できるようになると、上述の手順に従って事前確率ｐ−（Ｑｉ１（ｔ）｜Ω１（ｔ））と条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）が計算される。これらをベイズ則に適用して各注意のクラスの確信度ｐ（Ω１（ｔ））が計算される。行動制御器３０７は、確信度ｐ（Ω１（ｔ））が最大のクラスに対応するコラムまたは報酬が最も良い行動出力群が格納されているコラムから、新たに取得した感覚入力Ｉｉ（ｔ）に対応する行動出力Ｑｉ（ｔ）を計算し、制御対象３０８に供給する。そして再び、制御対象３０８の行動結果に対して行動状態評価器３０３は報酬を与え、計算した行動出力Ｑｉ（ｔ）が何れかのコラムに格納される。これに基づいて、事前確率ｐ−（Ｑｉ１（ｔ）｜Ω１（ｔ））と条件付き確率密度関数ｐ（Ｉｉ（ｔ）｜Ω１）が更新される。そして更新後のこれらの確率をベイズ則に適用して、新たな行動出力がＱｉ（ｔ）出力される。このように事前学習を経ない場合は、事前確率ｐ−（Ｑｉ１（ｔ）｜Ω１（ｔ））と条件付き密度関数ｐ（Ｉｉ（ｔ）｜Ω１）が次々に更新される。この場合、制御開始当初は制御対象３０８の不安定度が大きく、突飛な運動により制御対象３０８が破損等する可能性があるので、所定の数の行動出力Ｑｉ（ｔ）と感覚入力Ｉｉ（ｔ）との関係が得られるまで（あるいは所定時間が経過するまで）は、行動制御器３０７が制御対象３０８に与える行動出力Ｑｉ（ｔ）の範囲を強制的に制限するような構成にすることが好ましい。
さらに、上記ステップＳ４０５ではＥＭアルゴリズムの代わりに公知の競合学習や自己組織型ネットワークを用いた学習を適用してもよい。また、ステップＳ４１１ではベイズ則の代わりに公知のビリーフネットワークやグラフティカルモデルを使用してもよい。
産業上の利用の可能性
以上説明してきたように、本発明では、安定と評価されたコラムに基づいて行動出力Ｑｉ（ｔ）を算出することによって、迅速に行動出力Ｑｉ（ｔ）の分散を最小化し、制御対象を安定させることができる。
【図面の簡単な説明】
図１は、行動出力の時系列データの一例を示す図である。
図２は、図１の時系列データの度数分布を示す図である。
図３は、本発明によるエージェント学習装置の事前学習時の機能ブロック図である。
図４は、本発明によるエージェント学習装置の行動制御時の機能ブロック図である。
図５は、事前学習時のエージェント学習装置の動作を説明するフローチャートである。
図６は、安定の報酬に対応するコラム内に格納された感覚入力と行動出力の関係を示す正規分布曲面の一例を表す図である。
図７は、不安定の報酬に対応するコラム内に格納された感覚入力と行動出力の関係を示す正規分布曲面の一例を表す図である。
図８は、感覚入力と注意のクラスとの関係を学習するための階層型ニューラルネットワークの例を示す図である。
図９は、行動制御時のエージェント学習装置の動作を説明するフローチャートである。
図１０は、本発明によるヘリコプター制御システムの構成を示す図である。
図１１は、図１０のシステムにおいて、視覚センサ入力と注意のクラスの関係の学習結果を示す図である。
図１２は、図１０のシステムにおいて制御を行ったとき、制御対象であるヘリコプターの行動出力の分散の時間経過を示す図である。
【図１】
0004028384.tif 000010
【図２】
0004028384.tif 000011
【図３】
0004028384.tif 000012
【図４】
0004028384.tif 000013
【図５】
0004028384.tif 000014
【図６】
0004028384.tif 000015
【図７】
0004028384.tif 000016
【図８】
0004028384.tif 000017
【図９】
0004028384.tif 000018
【図１０】
0004028384.tif 000019
【図１１】
0004028384.tif 000020
【図１２】
0004028384.tif 000021