JP2008090606A - エージェントコントローラ及びコンピュータプログラム - Google Patents
エージェントコントローラ及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2008090606A JP2008090606A JP2006270789A JP2006270789A JP2008090606A JP 2008090606 A JP2008090606 A JP 2008090606A JP 2006270789 A JP2006270789 A JP 2006270789A JP 2006270789 A JP2006270789 A JP 2006270789A JP 2008090606 A JP2008090606 A JP 2008090606A
- Authority
- JP
- Japan
- Prior art keywords
- agent
- data points
- marble
- action
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】環境が変わっても行動を適切に変更できるエージェントコントローラを提供する。
【解決手段】エージェントコントローラは、データ点の形で経験を記憶する行動要素DB194を含む。データ点の各々は行動要素の種類と、ローカルパラメータと、引数と、行動要素実行の終了時のローカルパラメータの値とを含む。コントローラはさらに、エージェントの環境を観察し、ローカルパラメータの値を計算するローカル表現生成モジュール186と、ローカルパラメータ及び行動要素DB194に記憶された経験に基づいて行うべき行動要素の種類を決定する比較選択モジュール192と、決定された行動要素に関連する引数を、同じ行動要素を有するデータ点間のカーネル回帰で計算するサブゴール生成モジュール196と、行動要素の実行結果を評価し、強化学習を用いてカーネル回帰でのデータ点の重みを更新する更新モジュール190とを含む。
【選択図】図11
【解決手段】エージェントコントローラは、データ点の形で経験を記憶する行動要素DB194を含む。データ点の各々は行動要素の種類と、ローカルパラメータと、引数と、行動要素実行の終了時のローカルパラメータの値とを含む。コントローラはさらに、エージェントの環境を観察し、ローカルパラメータの値を計算するローカル表現生成モジュール186と、ローカルパラメータ及び行動要素DB194に記憶された経験に基づいて行うべき行動要素の種類を決定する比較選択モジュール192と、決定された行動要素に関連する引数を、同じ行動要素を有するデータ点間のカーネル回帰で計算するサブゴール生成モジュール196と、行動要素の実行結果を評価し、強化学習を用いてカーネル回帰でのデータ点の重みを更新する更新モジュール190とを含む。
【選択図】図11
Description
この発明は、エージェントコントローラと、エージェントがある環境で動作しながらその行動を変更できるようにするプログラムとに関し、特に、エージェントが動作する際に、行動要素を用いて観察と実践とから新たな環境に対する好適な解決策を学習できるようにする、エージェントコントローラ及びプログラムに関する。
高性能コンピュータの発展に伴い、広範な分野で、コンピュータがごく短時間に大量の情報を取扱う能力が開発されつつある。典型的な例の一つは、リアルタイムで人と対話することのできるヒューマノイドロボットである。別の例は、コンピュータ又はコンピュータネットワークに常駐してそれ自身の判断で活動することのできるコンピュータプログラムである。この出願では、このようなロボット又はプログラムを「エージェント」と呼ぶこととする。
人とエージェントとのこのようなリアルタイムの対話を実現するには、エージェントがカメラ又は一組のカメラを用いて人とその行為とを観察する能力が必要な前提条件である。エージェントが人の行為に対して好適な反応をどのように見出すべきかを学習することも必要である。人とその行為とを観察することができ、その観察に基づいて、他者の行為にどのように反応すべきかを学習できるシステムには大いに利益がある筈である。
このような状況において、エージェント又はロボットにとって、学習は大変に費用がかかるものとなりうる。従って、学習済みの情報をできるだけ多く利用することが必要になる。これを行なうひとつの方法は、さまざまな同様の課題において学習された情報や技能を用いる能力を備えることである。
学習速度を速め、一般化を向上させる方法の一つとして行動要素が提案されており、これらは、ある課題の小部分に対する解決策であって、それらを組合せることによってその課題を完成することができるようなものである、と定義されている。ロボットやエージェントシミュレータをプログラミングし、操作、ナビゲーション、運動、ダンス等において同様の課題に一般化できる行動要素を教示することについて、広範な研究がなされている。操作課題のための行動要素実行シーケンスを学習したエージェント又はロボットは、作業空間の初期構成がわずかに異なってもこれを一般化する能力を有する。エージェント又はロボットに、身振り、又は言語によるフィードバックを与えることによって、一般化を支援し、行動要素のシーケンスをガイドするような他のシステムも作られている。行動要素の実行が時に失敗し、また他のエージェントが干渉するようなダイナミックな課題においては、何らかの状況でどのような行動をとるべきかをエージェントに指示するためにより完全な方策が必要であることがわかった。
発明者らの研究が主に焦点をあてているのは、学習済みの情報をできるだけ再利用することが可能になる方法を探求することである。発明者らは、行動要素を用いて、観察と実践とから学習する枠組を作成した。この枠組によれば、エージェントやロボットはどのようにマーブル迷路の課題を行なったり、エアホッケーをしたりするかを学習することができる。この枠組は、行為生成モジュールと、行動要素選択モジュールと、サブゴール生成モジュールと、観察学習モジュールと、実践学習モジュールと、を含む。このシステムの詳細は、特許文献1に示される。
「行為生成モジュール」はある環境内の複数の場所で用いられるように設計され、また同様の環境においても用いることができる。「行動要素選択モジュール」及び「サブゴール生成モジュール」は、いつ、どの行動要素を、どの引数と用いるべきかを学習するために、メモリベースのアプローチを利用する。「観察学習モジュール」は他者がある課題を行なうのを見て学習するのを支援する。これは、観察された行動を、選ばれた行動要素に分離する行動要素認識モジュールと、観察された環境状態で行なうべき行動要素の種類をエージェントに提供する行動要素選択モジュールとを含みうる。
観察された情報のみを用いる場合、エージェント又はロボットはその観察された情報に基づく固定された方策のみを有する。「実践学習モジュール」は課題を実行する間のロボットの性能を評価し、さまざまなアルゴリズムを用いてロボットの技量を向上させる。
行動要素とは、ある課題の小部分に対する解決策であって、それらを組合わせることによってその課題を完成することができるようなものである。ある課題の解決策は、多くの行動要素から構成されうる。例えば、エアホッケーの環境では、パックを打つ、パックを捕らえる、ゴールを守る等の行動要素があるだろう。多くの場合、一つの行動要素をさらにより小さい行動要素に分けることができる。現段階では、ある特定の課題に用いられる行動要素の候補は人が設計できる。
特開2004−163992
行動要素と、観察された情報とを用いるエージェント又はロボットは、与えられた課題と一組の行動要素とに対して、観察者と同様の動作をしようとする筈である。マーブル迷路ゲームを行なうための行動要素を選択する場合、エージェント又はロボットは環境を観察して「マーブルがこのボードのこの場所にあり、観察された速度でボードが観察された角度にあったとき、教師はどの行動要素を選択したか?」と問いかける。回答は、これらが観察された状態に最も近かったときに教師が行なった行動要素である。ここでは、「グローバル表現」という用語を、ボードの場所を含む状態について用いるが、これは、この状態がグローバルなボードの座標情報を含むからである。この種のグローバル表現は暗黙のうちにボードレイアウトと一般的な状況とを符号化する。この内容の暗黙の符号化のために、学習された行動要素の選択とサブゴール生成の方策とを、異なるレイアウトのボードで用いることはできない。特許文献1に開示された、グローバル表現に基づいて動作するエージェントは、固定された課題については観察と実践からうまく高速に学習することができると分かったが、類似の課題に対する一般化はうまくいかなかった。
従って、エージェント又はロボットは異なる環境で動作する際にその行動を変更する能力を備えていなければならない。言換えれば、始めに人が実行するのをエージェントが観察して初期トレーニングを得た後は、エージェントはトレーニング環境と異なる環境においても実行することを通して課題に対する技量を増大させるべきである。
従って、この発明の目的は、たとえ環境が変わっても動作する際にエージェントがその行動を適切に変更することを可能にするエージェントコントローラ及びプログラムを提供することである。
この発明の別の目的は、たとえ環境が変わっても動作する際にエージェントがその行動を変更してよりよい結果を得ることを可能にするエージェントコントローラ及びプログラムを提供することである。
この発明の第一の局面に従えば、エージェントコントローラは、課題を遂行する間に、ある環境において観察されうる一組のパラメータによって規定される状態空間内のエージェントの現在位置と、エージェントを制御するための予め定められた一組の行動要素とに基づいて、エージェントに課題を遂行させるよう制御する。一組のパラメータは環境において場所ごとに異なる一組のグローバルパラメータと、環境において場所に関わらず同じであり得る一組のローカルパラメータとに分割されている。エージェントコントローラは、課題に関連する経験をデータ点の形で記憶するための手段を含む。データ点の各々は、実行される行動要素の種類と、行動要素が実行される際のローカルパラメータの組の値と、行動要素に関連する引数の値と、行動要素の実行終了の際のローカルパラメータの組の値とを含む。エージェントコントローラはさらに、課題におけるエージェントの環境を観察するための手段を含む。観察するための手段は、観察された環境に基づいてローカルパラメータの組の値を計算する。エージェントコントローラはさらに、観察するための手段によって計算されたローカルパラメータの組と、記憶するための手段に記憶された経験とに基づいて、実行すべき行動要素の種類を決定するための手段と、決定するための手段によって決定された行動要素の種類に関連する引数の値を、決定するための手段によって決定された行動要素と同じ種類の行動要素を有する、記憶するための手段に記憶されたデータ点の引数値からの所定のカーネル回帰によって計算するための手段と、計算するための手段によって計算された引数値を用いて、決定するための手段によって決定された種類の、エージェントを制御するための行動要素を実行するための手段と、行動要素を実行するための手段によって実行された種類の行動要素の実行の結果を評価して、課題において期待される報酬が最大に近づくように、強化学習を用いてカーネル回帰におけるデータ点に割当てられる重みを更新するための手段とを含む。重みは、経験、ローカルパラメータの組、及びグローバルパラメータの組を用いて計算される。
計算するための手段は、状態空間におけるエージェントの現在位置と、状態空間内の、決定するための手段によって決定されたのと同じ種類の行動要素を有するデータ点の各々との距離を計算するための手段と、状態空間において、他のデータ点よりもエージェントの現在位置に近い予め定められた数のデータ点を選ぶための手段と、選ぶための手段によって選ばれたデータ点の引数値から所定のカーネル回帰により、決定するための手段によって決定された行動要素の種類に関連する引数値を計算するための手段と、を含んでもよい。
この発明の第二の局面に従ったコンピュータプログラムは、コンピュータ上で実行されると、上記エージェントコントローラのいずれかのすべての手段としてそのコンピュータを機能させる。
先行技術のロボットは、環境を観察して、「マーブルがこのボードのこの場所にあり、観察された速度でボードが観察された角度にあったとき、教師はどの行動要素を選択したか?」と問いかける。情報をより一般的な方法で用いることをゴールとするロボットは、「左手に壁があり、前方にコーナがあり、右手に穴があり、マーブルが所望の運動方向においてある速度を有し、ボードが、所望の方向へのマーブルの速度を増大させるように回転されているという状況にマーブルがあるとき、教師は何をしたか?」と問いかけるであろう。もしロボットが以前にこの状況で教師を観察し記録しており、その情報を適切に記憶していれば、この問合せに回答することが可能であろう。この種の表現を「ローカル表現」と呼ぶことにする。なぜなら、これらの表現は、典型的には、何かの対象物又はイベント、ここではマーブルにとって、空間的に局所的な特徴を表したものだからである。
グローバルな表現は、課題の状態空間内でも、場所ごとに異なる。ローカル表現は、異なる場所でも同じであろう。
この実施の形態はまた、マーブル迷路ゲームコントローラにも関連するものであって、特許文献1に開示された直接的な方策による学習において、ローカルな特徴を用いることに焦点を当てる。この実施の形態は、グローバル表現とローカル表現とをともに用いてどのようにより有効な一般化を行なうかを探索するものである。ローカル表現は新たなボードに技量を移転する助けとなり、グローバル表現は同じボードでの実践で技量を向上させる助けとなる。
[環境]
この発明の実施の形態は、現在の環境を視認して現在の状況を問合せ点としてパラメータ化するアルゴリズムを用いる。アルゴリズムは、環境の状態空間内の異なる場所のデータ点の内で、その状態空間の問合せ点に最も近いものを選択し、選ばれたデータ点に基づき実行すべき行動要素を決定し、決定された行為を実行する。その後アルゴリズムはその行為の結果を符号化するようなやり方で行動要素データベースを更新する。データ点は、学習過程で得られた特定された行動要素と関連のパラメータとを表し、データ点テーブルの形で記憶されるが、これについては後述する。このアルゴリズムはリアルタイムで実行され、データベースから検索された情報を用いて決定された行為を実行し、その結果に基づき、データベースに対して変更を加える。
この発明の実施の形態は、現在の環境を視認して現在の状況を問合せ点としてパラメータ化するアルゴリズムを用いる。アルゴリズムは、環境の状態空間内の異なる場所のデータ点の内で、その状態空間の問合せ点に最も近いものを選択し、選ばれたデータ点に基づき実行すべき行動要素を決定し、決定された行為を実行する。その後アルゴリズムはその行為の結果を符号化するようなやり方で行動要素データベースを更新する。データ点は、学習過程で得られた特定された行動要素と関連のパラメータとを表し、データ点テーブルの形で記憶されるが、これについては後述する。このアルゴリズムはリアルタイムで実行され、データベースから検索された情報を用いて決定された行為を実行し、その結果に基づき、データベースに対して変更を加える。
マーブル迷路の環境で行動要素を選ぶ課題を例としてこのアルゴリズムを説明する。マーブル迷路において行動要素を実行した場合の結果は、先に進むこと、及び穴に落ちることを含み、行動要素が完了した時点で観察できる。選ばれたデータ点により決定される行為を実行して、たとえばボールが穴に落ちるという望ましくない結果に終わった場合、何らかの方法でこれを示さなければならない。将来も同じ状況で同じデータ点を選べば、同じ行為を実行し同じ望ましくない結果となってしまう筈である。将来、エージェント自身が、同じ状況になってとるべき行為を決定しなければならないとき、同じデータ点を選んではならないのである。
ここで説明する実施の形態は、マーブル迷路を例にとったものであるが、ここで説明される方法とプログラムとはヒューマノイドロボット等の他のシステムにも容易に適用可能である。
この課題では、プレイヤーはプラットフォームを傾けて、穴などの障害物を避けつつマーブルをゴールに向けて転がす。ゴールへの経路はボード上に印刷されているので、目的はゴールへの経路を見出すことではなく、マーブルをゴール位置まで経路に沿って迅速に移動させる行為を行なうことである。エージェント(ロボット)は、人がボードを制御し、迷路のレイアウトを通してマーブルを動かす様子を観察する。その後エージェントは、ボードを制御して、異なるレイアウトで、マーブルを開始点からゴール場所まで動かす。
テストベッドとして、マーブル迷路の課題のハードウェア版とソフトウェア版とを作成した(図2)。さまざまなプレイヤーの成果を比較できるように、経過時間を測定した性能評価基準を作成した。マーブルが穴に落ちるか、10秒にわたって進まない場合は、マーブルは迷路中で先に進められ、プレイヤーにはさらに10秒のペナルティが課される。ここでは、人手で定義した行動要素のライブラリを用いて、課題を観察し、類似の課題を実践することから行動要素を選択しサブゴールを生成する学習に焦点をあてることができるようにした。
図1は、ハードウェアで実現されたマーブル迷路環境を概略的に示す。この環境は、2個のノブ14、16を用いて傾けることのできるマーブルゲームボード12を有するマーブル迷路ゲームボックス10と、この発明の実施の形態を実現するコンピュータシステム20と、ボックス10上に置かれボード12の方を向いて設けられ、ボード12のビデオ信号をコンピュータシステム20に与えるためのカメラ30と、コンピュータシステム20からのアクチュエータコマンドによって制御され、ボード12を傾けるためのアクチュエータ(モータ)32、34とを含む。図1には示さないが、ノブ14及び16の軸には2個のエンコーダがそれぞれ設けられて、システムの学習段階及び評価段階でノブ14及び16の角度を検知し、対応の信号をコンピュータシステム20に与える。
図2はソフトウェアのマーブルゲームボードとハードウェアのマーブルゲームボード12とを示す。図2を参照して、ボード12はマーブルボール70がボード12上を転がってぶつかったり落ちたりする壁72と穴74という形で設けられた障害物を持つ迷路を有する。ハードウェアのゲームのプレイヤーが行なうべきことは、2個のノブ14、16を用いてボード12を傾けることによって、ボール70を所定のコース線76に沿って転がすことである。ソフトウェアゲームの場合、仮想的なボード12はコンピュータのマウスで制御され、ボード12上を転がるボールの動きはシミュレートされる。仮想ゲームは、壁との衝突を、見た目上、多大なエネルギの損失を伴うものとして取り扱う。マーブルボールの動きは、ボード12を傾ける動き(又は傾き制御信号)に応答してシミュレートされ得る。
どちらの場合も、人がゲームを行なう際に、時間、ボード及びマーブルの位置が記録される。このシステムは、プレイヤーの動作を観察し、観察された動作中の行動要素を特定し、マーブルの位置及び速度、ノブ14及び16の動作角度等としてのボード12の位置、マーブル70の周囲のローカルな特徴、並びに関連のパラメータとともに、行動要素をデータ点として記憶する。ローカルな特徴とその表現の詳細は後述する。
人は、エンコーダに接続されたノブ14及び16を用いてハードウェア版のボードを制御する。エンコーダシステムによって生成されたモータコマンドをコンピュータが読み、モータに送る。マーブルの位置は、ニュートンラボのコグナクローム(Newtonlabs Cognacrome)(登録商標)を用いて得られる。こうして、コンピュータシステム20は人の動作を学習することができる。コンピュータシステム20はまた、それ自身の判断でプレイするときには、それ自身のコマンドを生成してモータ32及び34に送ることもできる。
[ハードウェア構成]
図3はこの実施の形態に係る方法のハードウェア版を実現するコンピュータシステムを例示する。図4はシステムのブロック図である。仮想版のゲームが、図3及び図4に示すようなコンピュータによって実現できる。
図3はこの実施の形態に係る方法のハードウェア版を実現するコンピュータシステムを例示する。図4はシステムのブロック図である。仮想版のゲームが、図3及び図4に示すようなコンピュータによって実現できる。
図3を参照して、この実施の形態を実現するコンピュータシステム20は、メモリポート52及びDVD(デジタル多用途ディスク)ドライブ50を有するコンピュータ40と、いずれもコンピュータ40に接続された、キーボード46と、マウス48と、モニタ42とを含む。
図4を参照して、コンピュータ40は、メモリポート52及びDVDドライブ50に加えて、CPU(中央処理装置)56と、CPU56、DVDドライブ50及びメモリポート52に接続されたバス66と、バス66とカメラ30とに接続されたビデオキャプチャボード68と、ブートアッププログラム等を記憶する読出専用メモリ(ROM)58と、CPU56に接続され、アプリケーションプログラム命令、システムプログラム、データ点テーブル及び行動要素のためのデータベースを記憶するランダムアクセスメモリ(RAM)60とを含む。CPU56はさらにインターフェース(I/F)を介してエンコーダ36及び38並びにモータ32及び34に接続される。
ここでは示さないが、コンピュータ40はさらに、ローカルエリアネットワーク(LAN)への接続を提供するネットワークアダプタボードを含んでもよい。
コンピュータシステム20をこの実施の形態のエージェントコントローラとして動作させるプログラムは、DVDドライブ50又はメモリポート52に挿入されるDVD62又はメモリ64に記憶されさらにハードディスク54に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを通じてコンピュータ40に送信され、ハードディスク54に記憶されてもよい。プログラムは実行の際にRAM60にロードされる。プログラムはDVD62、メモリ64、又はネットワークを介してRAM60に直接ロードされてもよい。
以下に説明するプログラムは、コンピュータ40をこの実施の形態のエージェントコントローラとして機能させるための幾つかの命令を含む。この方法を行なわせるのに必要な基本的機能の幾つかはコンピュータ40のオペレーティングシステム(OS)又はサードパーティのプログラム、若しくはコンピュータ40にインストールされたモジュールにより提供されるので、このプログラムはこの実施の形態の方法を実現するのに必要な機能全てを必ずしも含まなくてよい。コンピュータシステム20の動作は周知であるので、ここでは繰り返さない。
[基本的枠組]
図5はこの実施の形態に従ったシステム全体の枠組を示す。図5に示す通り、このシステムは、行動要素選択モジュール150と、サブゴール生成モジュール152と、行為生成モジュール154と、観察学習モジュール156と、実践学習モジュール158と、を含む。これらモジュールの組合せは特許文献1で用いたものと同様である。相違点は、これらのモジュールが環境のグローバル表現のみならずローカル表現も用いる点である。
図5はこの実施の形態に従ったシステム全体の枠組を示す。図5に示す通り、このシステムは、行動要素選択モジュール150と、サブゴール生成モジュール152と、行為生成モジュール154と、観察学習モジュール156と、実践学習モジュール158と、を含む。これらモジュールの組合せは特許文献1で用いたものと同様である。相違点は、これらのモジュールが環境のグローバル表現のみならずローカル表現も用いる点である。
[行動要素]
マーブル迷路ゲームの行動要素は、エージェントが課題を遂行するのに必要とするであろう技量をエージェントに授けるように設計される。以下の行動要素がこの実施の形態で用いられており、それらは図6から図10に示されている。
マーブル迷路ゲームの行動要素は、エージェントが課題を遂行するのに必要とするであろう技量をエージェントに授けるように設計される。以下の行動要素がこの実施の形態で用いられており、それらは図6から図10に示されている。
コーナへ進む:図6に示すように、マーブル70が壁に沿って転がり、別の壁72に当たると停止する。
コーナ:図7に示すように、マーブル70はコーナにあり、ボード12はマーブル70をコーナから動かすような位置に置かれる。
ガイド:図8に示すように、マーブル70は壁に触れずに移動する。
壁から離れる:図9に示すように、マーブル70が壁72に接するか、当たってから、壁を離れて動く。
壁から落ちる:図10に示すように、マーブル70が壁72に沿って転がり、端から落ちる。
[ローカル表現]
多くの可能な選択肢の中から、もしマーブルの場所にいてあたりを見回したとすれば見えるであろう特徴を記録した、マーブル迷路のローカル表現を設計した。マーブルがとるべきおおよその経路がボード上に印刷されており、これを利用して、マーブルがとり得る全ての場所の2D表を初期化し、各セルにゴールまでの距離を記録した。所望される移動方向を、近接するセルの値を観察することによって迷路のいずれかの点から計算した。
多くの可能な選択肢の中から、もしマーブルの場所にいてあたりを見回したとすれば見えるであろう特徴を記録した、マーブル迷路のローカル表現を設計した。マーブルがとるべきおおよその経路がボード上に印刷されており、これを利用して、マーブルがとり得る全ての場所の2D表を初期化し、各セルにゴールまでの距離を記録した。所望される移動方向を、近接するセルの値を観察することによって迷路のいずれかの点から計算した。
マーブルの移動方向は迷路の壁に対し平行と直交の4つの方向に離散化されている。すなわち、前進(所望の移動方向)、後退、左、右である。この実施の形態では、4方向の特徴とともに、所望の移動方向に対するマーブルの速度とボードの位置(ボードの傾き角度)とを用いた。図12は迷路内の様々な特徴の場所(穴、壁、コーナ、壁の端、及び壁の縁)を示す。
この実施の形態のエージェントは人によるボードの操作を観察し、その操作のための行動要素を特定し、特定した行動要素と、グローバル表現の形のボード及びマーブルの位置並びにマーブルの速度と、グローバル表現から計算されたローカルな特徴と、その関連の引数とを、データ点テーブルとして記憶する。この表はRAM60に維持されてもよい。観察された操作から行動要素を特定する方法はこの発明の一部を構成するものではないので、ここでは詳細に説明しない。
[システム構成]
図11はこの実施の形態に従ったマーブル迷路制御システム170の全体のシステム構成を示す図であって、これは図1に示したコンピュータシステム20で実現される。図11を参照して、マーブル迷路制御システム170は、マーブル迷路の構成を記述した情報を記憶するための迷路構成記憶部180と、ボード12に設置されたカメラ30及びエンコーダ36並びに38の出力を受けるように接続され、カメラ30及びエンコーダ36並びに38からの映像信号とエンコーダ信号とを受けてボード12上のマーブルの位置及びボード12の角度を出力するマーブル位置キャプチャモジュール182と、マーブル位置キャプチャモジュール182の出力を受けるように接続され、マーブル位置キャプチャモジュール182の出力を記憶部180に記憶された迷路構成と組合せてマーブル迷路ゲームの状態のグローバルな表現を出力するための組合せモジュール184とを含む。
図11はこの実施の形態に従ったマーブル迷路制御システム170の全体のシステム構成を示す図であって、これは図1に示したコンピュータシステム20で実現される。図11を参照して、マーブル迷路制御システム170は、マーブル迷路の構成を記述した情報を記憶するための迷路構成記憶部180と、ボード12に設置されたカメラ30及びエンコーダ36並びに38の出力を受けるように接続され、カメラ30及びエンコーダ36並びに38からの映像信号とエンコーダ信号とを受けてボード12上のマーブルの位置及びボード12の角度を出力するマーブル位置キャプチャモジュール182と、マーブル位置キャプチャモジュール182の出力を受けるように接続され、マーブル位置キャプチャモジュール182の出力を記憶部180に記憶された迷路構成と組合せてマーブル迷路ゲームの状態のグローバルな表現を出力するための組合せモジュール184とを含む。
マーブル迷路制御システム170はさらに、組合せモジュール184の出力を受けるように接続され組合せモジュール184から出力されるグローバル表現と記憶部180に記憶された迷路構成情報とに基づいてマーブル迷路ゲームの状態のローカル表現を生成するためのローカル表現生成モジュール186と、組合せモジュール184の出力を受けるように接続され、選択された行動要素の性能を観察しかつ評価するとともに、観察された性能を出力する観察モジュール188と、マーブル位置キャプチャモジュール182からのローカル表現と観察モジュール188からの選択された行動要素の観察された性能とを受けるように接続され、「強化学習」方法に従って、後述する行動要素データベースを更新するための更新モジュール190と、行動要素データベースを記憶するための行動要素データベース記憶部194とを含む。
行動要素データベースは、後述するデータ点テーブルを含む。
マーブル迷路制御システム170はさらに、マーブル迷路ゲームの現在の状態のローカル表現を受けるように接続され、これを行動要素データベース194に記憶されたデータ点と比較し、マーブル迷路ゲームの現在の状態に対し好適な種類の行動要素を選択する比較選択モジュール192と、比較選択モジュール192によって選択された種類の行動要素を受けるように接続され、選択された種類の行動要素に対する引数を生成してマーブルの好適な動きを達成するためのサブゴール生成モジュール196と、サブゴール生成モジュール196によって生成された引数とその種類の行動要素とを受けるように接続され、モータ32及び34を駆動するための駆動出力信号を生成するボードコントローラ198とを含む。
図13を参照して、迷路構成記憶部180に記憶された迷路構成情報200は、図12に示されたようなボード12の各穴の場所と直径とを特定する穴データ210と、ボード12の壁の各々の厚さと、中心線の開始場所及び終端場所とを特定する壁データ212と、迷路のスタート位置214及びゴール位置216、さらにスタート位置からゴール位置までの経路を特定する「ゴールへの経路」データ218とを含む。
図14及び図15は迷路の様々な場所での符号化を示す。迷路構成の各々は開始場所から終端場所への経路を含んでいる。この経路を用いて、前進方向を決定する所望の移動方向を計算する。符号化の際に、横方向、すなわち左右は、前進後退方向とは異なって扱われる。壁終端という特徴は、横方向のみについて計算される。もし2×マーブルの半径の距離以内で横方向に壁が見えた場合には、所望の運動方向におけるその壁に沿った特徴(コーナ、穴、又は壁終端)もまた記録される。ローカル表現は、所望の移動方向に関連したボード位置とボールの速度とともに、4方向での特徴を含む。
このローカル表現は、プレイヤーが課題を遂行するのを観察する間に、経験を記憶し、とられた行為を符号化するために用いられる。観察された行動要素の性能の各々について、ローカル状態情報が、実行された行動要素の種類、マーブルの動き、マーブルの速度及び行動要素終了時のボードの位置とともに記録される。
図16を参照して、この実施の形態のテーブル80の各データ点のエントリは、所望される移動方向を基準としたローカル座標フレームでのボード位置(Bx,By)及びマーブル速度(u,v)と、行動要素種類TYPEと、行動要素の動作を行なうのに必要とされる引数と、行動要素の開始からのマーブルの位置変化と、ローカル特徴F,L,B及びRと、を含む。マーブル速度とボード位置とは、行動要素の開始と行動要素の終了の各々について記憶される。これらのローカル特徴は、それぞれ前進(所望の移動方向)、左、後退及び右方向の特徴を示す。これらのローカル特徴は、後述するローカル表現中のローカル状態間の距離を計算するのに用いられる。
データ点はまた、グローバル状態によって指示することができる値を含むデータ構造:すなわち、マーブル位置(x,y)と、マーブル速度(uG,vG)と、ボード位置(BXG,BYG)とを含み、これらは全てボード12上のX−Y座標で表される。マーブル位置、マーブル速度及びボード位置は、後述するグローバル表現の距離の計算で用いられるベクトルを形成する。TYPEは上に挙げた5個の行動要素のうちの一つである。
テーブル80の構造はマーブル迷路ゲームでの単なる一例であって、この発明の方法を他の応用、例えばエアホッケーゲーム等に適用する場合には、これと異なっていても良い。
[計算上の振舞]
エージェントは、計算上の振舞にメモリベースの手法を用い、過去の経験を参照しその情報を用いて決定の指針とする。行動要素の種類は、最も近い隣接するものを用いて選択され、行動要素の引数はカーネル回帰を用いて生成される。エージェントの行動は、データ点がどのように選択され重み付けされるかによって定められる。
エージェントは、計算上の振舞にメモリベースの手法を用い、過去の経験を参照しその情報を用いて決定の指針とする。行動要素の種類は、最も近い隣接するものを用いて選択され、行動要素の引数はカーネル回帰を用いて生成される。エージェントの行動は、データ点がどのように選択され重み付けされるかによって定められる。
この実施の形態では、データ点は8個の入力次元を有する(マーブル速度(u,v)、ボード位置(Bx,By)、及び4個のローカル特徴F,L,B及びR)。各データ点はまた、グローバル環境状態によって指示された数を記憶するデータ構造(表)を含む。ここで目標とするところは、最適な解を見出すことではなく、観察された情報に対して良好な解を見出すことであるから、探訪すべきセルはごく一部である。従って、表は疎な配列として記憶されるだけで、セルが実際に生成されるのはセルの値が初めて更新されるときになってである。それまでは、各セルは初期化ステップで与えられた一定の値を持つものとみなされる。この表に記憶された値は次のセクションで説明する。
特許文献1で用いられるグローバル表現では、各データ点xjの問合せ点qからのユークリッド距離dは以下のように計算され、ここでベクトルx=(x1x2…xk)及びq(q1q2…qk)はそれぞれ状態空間におけるデータ点及び問合せ点の場所であり、重みベクトルw=(w1w2…wk)は各次元の重み付けを可能にする。
この実施の形態では、ローカル表現スキームについて距離も同様に計算された。従って、同じメモリベースのアルゴリズムを使用することができる。マーブル速度(u,v)、ボード位置(Bx,By)、及び4方向の特徴F,L,B及びRを用いて、距離の値が計算される。
この実施の形態では、2つの状況間での特徴の相違を表す値が、一致する特徴の数を比較することによって計算される。一致する特徴の数を可能な一致の数で割る。この実施の形態で用いられる表現では、合計4個の特徴がある。従って、特徴空間での相違は0.0、0.25、0.5、0.75又は1.0であり得る。ここで0.0は一致がないことを意味し、1.0は全ての方向の特徴が一致することを意味する。
問合せベクトルqを計算するために、エージェントは現在の所望の移動方向を計算し、全ての方向の特徴の位置を特定し、マーブルの速度(uG,vG)、及びボード位置(BxG,ByG)をローカルな基準に変換する。考慮されるデータ点の数は、データ点によって特定される行動要素の種類が、現在マーブルの置かれている状況に適用可能か否かを確認することで減じられる。例えば、もしデータ点が「コーナへ進む」行動要素を特定しており、現在の状況で該当するコーナがない場合は、このデータ点は考慮されない。
最も近いデータ点によって特定される行動要素が、現在の状況でどの種の行動要素を用いるべきかを決定する。その後エージェントは、ボールがどこに転がっていくか、また行動要素の完了時にその速度はどれくらいであるか、といったサブゴール情報を計算する。壁の終端及びコーナといった現在利用可能なローカル特徴の場所は、「壁から落ちる」行動要素及び「コーナへ進む」行動要素の終端場所を特定するのに用いられる。同じ種類の行動要素のうち、最も近いデータ点が、所望されるマーブル速度(u,v)及びボード位置角度(Bx,By)を含む他のサブゴール引数を計算するのに用いられる。多数のデータ点の結果が、以下のカーネル回帰によって組合される。
[実践による性能の向上]
この課題を実践しつつ学習するために、行動要素の選択とサブゴールの生成の両者でなされる最も近い隣接するものの参照で用いられる距離関数を変更するメカニズムを付加した。
この課題を実践しつつ学習するために、行動要素の選択とサブゴールの生成の両者でなされる最も近い隣接するものの参照で用いられる距離関数を変更するメカニズムを付加した。
値の関数、実際にはQ関数の推定値を用いて、現在の課題の状態である特定の行動要素を選んだ場合の帰結を表す。Q関数は、引数として現在の課題の状態sと行為とをとる。この場合、行為とは、記憶された点xiからの情報を用いると選択することである。グローバル状態sでデータ点xiを選ぶことは、この状態でとられる行為と直接関係しており、従って、Q(s,xi)はQの値を符号化する。この場合、報酬を最大化していることになり、この値Qを用いて距離のスケールファクタを計算する。
Q学習では、将来とりうる行為の結果を考慮に入れることによって、その値が更新される。Qの値は定数によって初期化され、その後、Q学習の修正版を用いて更新される。この詳細は、R.サットン及びA.バルト、強化学習:序論、MITプレス、1998年(R.Sutton and A. Barto, Reinforcement Learning: An Introduction. MIT Press, 1998)に記載されている。状態sで選ばれたデータ点xmの各々について、Qの値は各行動要素の実行の完了時に以下のように更新される。
rは行動要素が実行された後に観察される報酬である。
γはディスカウント率である。
maxQ(^s,^x)は新しい状態^sと、次のステップでデータ点^xを選択することから予想されうる将来の報酬である。(式中^はそれぞれ後続する文字の上に付される。)この値は以下で与えられる。
図17はこの実施の形態の方法を実現するためにコンピュータシステム20(図1)のCPU56によって実行されるメインプログラムの全体の制御構造を示す。図17を参照して、メインプログラムは、データポイントのセルの数が定数で初期化される初期化ステップ100と、カメラ30によってキャプチャされた像とエンコーダ36及び38からの信号出力とが評価され、環境状態が問合せ点として特定される環境状態視認ステップ102とを含む。
ステップ104では、問合せ点とデータ点との間の特徴の相違を現す値が、各データ点について整合する特徴の数を比較することによって計算され、整合する特徴の数が最大であると特定されたデータ点が特定される。その後ステップ106で、ステップ104で選択されたデータ点の行動要素の種類が、次に行なわれるべき行動要素として選ばれる。
次に、ステップ108で、問合せ点に最も近く選択された行動要素と同じ種類の行動要素を有する、予め定められた数のデータ点が現在の問合せ点に対して選ばれる。図18を参照して、問合せ点130と同じ種類の行動要素(濃い黒で示す)を有するデータ点の各々とのユークリッド距離が、4次元(マーブル速度(u,v)及びボード位置(Bx,By))を用いて計算され、このステップで、最も短い距離を有する予め定められた数のデータ点が選ばれる。図18では、問合せ点130の周囲の5個の点140、142、144、146及び148が選ばれる。図18は簡潔のため、多次元の状態空間を2次元の座標システムで簡略に表したものであることに注意されたい。
ステップ110で、ステップ108で選ばれた5個のデータ点140、142、144、146及び148が、選択された種類の行動要素を実行するための引数を計算するのに用いられる。この実施の形態では、選択された行動要素の種類のための引数はカーネル回帰によって計算される。
ステップ112で、ステップ110で計算された引数を用い、引数をそれぞれモータ32及び34のドライバソフトウェアに出力することにより、決定された種類の行為(行動要素)が行なわれる。ハードウェア版ではモータコマンドがコンピュータシステム20(図1)からモータ32及び34に出力され、仮想版ではボード12の動きがシミュレートされる。
ステップ114で、ハードウェア版ではカメラ30によってキャプチャされた像が視認され、エンコーダ信号がキャプチャされるので、報酬が決定され、ステップ112で行なわれた行為が評価される。仮想版では、マーブルの動きがシミュレートされ、結果が評価される。
ステップ116で、ステップ108で選ばれたデータ点のセルに関連した数が上述の式(1)により更新される。
上述の通り、この実施の形態の方法とプログラムは、環境状態空間において異なる場所からデータ点を選んだ結果が符号化されるようなやり方で行動要素データベースを更新する。プログラムはリアルタイムで実行され、行為を行なった結果に基づいてデータベースを変更する。更新されたデータベースを用いると、次にエージェントが同じ状況にあることを見出した場合には、その行動は前回とは異なったものとなり、その結果はより好ましいものとなるはずである。
行なわれるべき行動要素の種類及びそれに関連する引数が、システムの状態のローカル表現を用いて選択され計算されるため、この実施の形態に従ったエージェントは他の環境に対し一般化を行なうことができる。例えば、マーブル迷路ゲームでは、ボードの構成が変更された場合でも、観察と実践により迅速に学習することができる。
上で説明した通り、この発明に従ったエージェント又はロボットは異なる環境で動作する際にその行動を変更する能力を有する。言換えれば、エージェントが人の行為を観察して初期トレーニングを受けた後では、たとえトレーニング環境と異なる環境にあっても、エージェントは課題を遂行することによってその技量を向上させることができるはずである。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
10 マーブル迷路ゲームボックス
12 マーブルゲームボード
14及び16 ノブ
20 コンピュータシステム
30 カメラ
40 コンピュータ
32及び34 モータ
70 マーブル
72 壁
74 穴
76 コース線
80 データ点テーブル
130 問合せ点
140−148 データ点
170 マーブル迷路制御システム
12 マーブルゲームボード
14及び16 ノブ
20 コンピュータシステム
30 カメラ
40 コンピュータ
32及び34 モータ
70 マーブル
72 壁
74 穴
76 コース線
80 データ点テーブル
130 問合せ点
140−148 データ点
170 マーブル迷路制御システム
Claims (3)
- 課題を遂行する間に、ある環境において観察されうる一組のパラメータによって規定される状態空間内のエージェントの現在位置と、エージェントを制御するための予め定められた一組の行動要素とに基づいて、エージェントに課題を遂行させるよう制御するためのエージェントコントローラであって、前記一組のパラメータは環境において場所ごとに異なる一組のグローバルパラメータと、環境において場所に関わらず同じであり得る一組のローカルパラメータとに分割されており、前記エージェントコントローラは、
課題に関連する経験をデータ点の形で記憶するための手段を含み、前記データ点の各々は、実行される行動要素の種類と、行動要素が実行される際のローカルパラメータの組の値と、行動要素に関連する引数の値と、行動要素の実行終了の際のローカルパラメータの組の値とを含み、前記エージェントコントローラはさらに、
課題におけるエージェントの環境を観察するための手段を含み、前記観察するための手段は、観察された環境に基づいてローカルパラメータの組の値を計算し、
前記観察するための手段によって計算されたローカルパラメータの組と、前記記憶するための手段に記憶された経験とに基づいて、実行すべき行動要素の種類を決定するための手段と、
前記決定するための手段によって決定された行動要素の種類に関連する引数の値を、前記決定するための手段によって決定された行動要素と同じ種類の行動要素を有する、前記記憶するための手段に記憶されたデータ点の引数値からの所定のカーネル回帰によって計算するための手段と、
前記計算するための手段によって計算された引数値を用いて、前記決定するための手段によって決定された種類の、エージェントを制御するための行動要素を実行するための手段と、
前記行動要素を実行するための手段によって実行された種類の行動要素の実行の結果を評価して、前記課題において期待される報酬が最大に近づくように、強化学習を用いて前記カーネル回帰における前記データ点に割当てられる重みを更新するための手段とを含み、前記重みは、前記経験、前記ローカルパラメータの組、及び前記グローバルパラメータの組を用いて計算される、エージェントコントローラ。 - 前記計算するための手段は、
状態空間におけるエージェントの現在位置と、前記状態空間内の、前記決定するための手段によって決定されたのと同じ種類の行動要素を有するデータ点の各々との距離を計算するための手段と、
前記状態空間において、他のデータ点よりもエージェントの現在位置に近い予め定められた数のデータ点を選ぶための手段と、
前記選ぶための手段によって選ばれたデータ点の引数値から所定のカーネル回帰により、前記決定するための手段によって決定された行動要素の種類に関連する引数値を計算するための手段と、を含む、請求項1に記載のエージェントコントローラ。 - コンピュータ上で実行されると、請求項1または請求項2に記載の全ての手段としてコンピュータを動作させる、コンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006270789A JP2008090606A (ja) | 2006-10-02 | 2006-10-02 | エージェントコントローラ及びコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006270789A JP2008090606A (ja) | 2006-10-02 | 2006-10-02 | エージェントコントローラ及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008090606A true JP2008090606A (ja) | 2008-04-17 |
Family
ID=39374680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006270789A Pending JP2008090606A (ja) | 2006-10-02 | 2006-10-02 | エージェントコントローラ及びコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008090606A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009007668A (ja) * | 2007-05-29 | 2009-01-15 | Furukawa Electric Co Ltd:The | 電気電子部品用金属材料 |
CN103472840A (zh) * | 2013-09-16 | 2013-12-25 | 苏州工业园区职业技术学院 | 基于arm9四轮微电脑鼠探索控制器 |
JP2018022237A (ja) * | 2016-08-01 | 2018-02-08 | 日本電信電話株式会社 | 予測装置、予測方法及びプログラム |
CN114115347A (zh) * | 2021-11-25 | 2022-03-01 | 中北大学 | 多条闭合路径引导下空中多智能体分布式相位调控与目标跟踪方法 |
-
2006
- 2006-10-02 JP JP2006270789A patent/JP2008090606A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009007668A (ja) * | 2007-05-29 | 2009-01-15 | Furukawa Electric Co Ltd:The | 電気電子部品用金属材料 |
CN103472840A (zh) * | 2013-09-16 | 2013-12-25 | 苏州工业园区职业技术学院 | 基于arm9四轮微电脑鼠探索控制器 |
JP2018022237A (ja) * | 2016-08-01 | 2018-02-08 | 日本電信電話株式会社 | 予測装置、予測方法及びプログラム |
CN114115347A (zh) * | 2021-11-25 | 2022-03-01 | 中北大学 | 多条闭合路径引导下空中多智能体分布式相位调控与目标跟踪方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pinto et al. | Asymmetric actor critic for image-based robot learning | |
Hussein et al. | Imitation learning: A survey of learning methods | |
Cirio et al. | Kinematic evaluation of virtual walking trajectories | |
Hämäläinen et al. | Online motion synthesis using sequential monte carlo | |
Kim et al. | 1. soccer robotics | |
Zagal et al. | Combining simulation and reality in evolutionary robotics | |
Kucukyilmaz et al. | Intention recognition for dynamic role exchange in haptic collaboration | |
JP2023541149A (ja) | ロボット制御方法、装置、機器、及びプログラム | |
US20090058850A1 (en) | System and method for intuitive interactive navigational control in virtual environments | |
Kilinc et al. | Reinforcement learning for robotic manipulation using simulated locomotion demonstrations | |
JP2008000883A (ja) | ロボットの対話型挙動の制御 | |
Zhao et al. | Synthesizing diverse human motions in 3d indoor scenes | |
Wu et al. | Model-based behavioral cloning with future image similarity learning | |
US20090079745A1 (en) | System and method for intuitive interactive navigational control in virtual environments | |
JP2008090606A (ja) | エージェントコントローラ及びコンピュータプログラム | |
Bentivegna et al. | Learning similar tasks from observation and practice | |
Pavlov et al. | Run, skeleton, run: skeletal model in a physics-based simulation | |
Olmer et al. | Evolving realtime behavioral modules for a robot with GP | |
Vozar et al. | Development and analysis of an operator steering model for teleoperated mobile robots under constant and variable latencies | |
Edwards et al. | Cross-domain perceptual reward functions | |
Kargin et al. | A reinforcement learning approach for continuum robot control | |
US20090187529A1 (en) | Method of Generating Behavior for a Graphics Character and Robotics Devices | |
Bentivegna et al. | Using primitives in learning from observation | |
Blinov et al. | Deep q-learning algorithm for solving inverse kinematics of four-link manipulator | |
Dalla Libera et al. | A new paradigm of humanoid robot motion programming based on touch interpretation |