説明

強化学習システム

【課題】エージェントが複雑な動作を伴うタスクを実行するための行動方策を学習することができる強化学習システムを提供する。
【解決手段】本発明の強化学習システム1によれば、環境から得られる第1報酬r1(t)に応じて定まる、第1学習器121による学習結果としての第1価値関数V1の時間微分である第1価値勾配関数dV1/dtの値が第2学習器122による学習、すなわち、第2報酬r2(t)の評価に際して活用され、第2報酬r2(t)に基づいてロボットRがタスクを実行するために採るべき行動方策が決定される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はエージェントがタスクを実行するための行動方策を学習するための強化学習システムに関する。
【背景技術】
【0002】
タスクに適した構造を獲得するまでの学習時間の短縮を図るため、外界の状態に基づいた複数の学習器のそれぞれによる学習結果からエージェントの行動方策を決定し、複数の行動方策の中から各学習器の学習性能に基づいて一の行動方策を選択する技術が提案されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−078516号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、前記先行技術によれば一の学習器による学習結果が活かされるだけなので、他の学習器による学習結果をも活かすことにより達成されうるような複雑な動作を伴うタスクをエージェントに実行させることは困難である。
【0005】
そこで、本発明は、エージェントが複雑な動作を伴うタスクを実行するための行動方策を学習することができる強化学習システムを提供することを解決課題とする。
【課題を解決するための手段】
【0006】
第1発明の強化学習システムは、エージェントがタスクを実行するための行動方策を学習するための強化学習システムであって、環境を表わす第1〜第n状態変数(n≧2)を認識する環境認識器と、前記環境認識器により認識された第j状態変数(j=1,2,‥n)に基づいて第j報酬を算出し、当該第j状態変数に基づき、第j価値関数にしたがって第j価値を算出し、前記第j価値および前記第j報酬に基づいて第j誤差を算出し、前記第j誤差に基づいて前記第j価値関数を適宜変更するn個の第j学習器と、前記n個の第j学習器により算出された前記第j報酬のうち一部または全部に基づいて前記エージェントが採るべき行動方策を決定する行動方策決定器とを備え、第i+1学習器(i=1,2,‥n−1)が第i状態変数に応じた第i報酬関数の値と、第i価値関数の時間微分である第i価値勾配関数の値とに基づいて第i+1報酬を算出することを特徴とする。
【0007】
第1発明の強化学習システムによれば、環境から得られる第i報酬に応じて定まる、第i学習器による学習結果としての第i価値関数の時間微分である第i価値勾配関数の値が、第i+1学習器による学習に際して活用されうる(i=1,2,‥,n−1)。なお、第i状態変数とはスカラーのほかベクトルをも包含する概念である。これにより、第n学習器による学習に際して直接的には第n−1学習器による学習結果が活用され、第n−2学習器以前の学習器による学習結果が間接的に活用されうる。すなわち、第n学習器による学習結果としての第n価値関数には、第1〜第n学習器のそれぞれの第1〜第n報酬関数により記述される学習方針のすべてが反映されうる。そして、第1〜第n報酬のうち一部または全部に基づいてエージェントが採るべき行動方策が決定される。したがって、複数の状態変数の変化態様により定義される複雑な動作を伴うタスクをエージェントに実行させるための行動方策が学習されうる。
【0008】
第2発明の強化学習システムは、第1発明の強化学習システムにおいて、前記第i+1学習器が、前記第i価値勾配関数が大きい負値であるほど前記第i+1報酬を低く評価することを特徴とする。
【0009】
第2発明の強化学習システムによれば、第i価値関数の値が時系列的に減少している場合、すなわち、エージェントの行動方策により定義される環境が第i学習器の学習方針に反している場合、第i+1学習器により第i+1報酬が低く評価される。これにより、環境が第i+1学習器の学習方針に合致している一方、第i学習器の学習方針に反している行動方策がエージェントの行動方策として採用される事態が回避されうる。すなわち、一部の状態変数の変化態様に鑑みて適当な行動方策であっても、残りの状態変数の変化態様に鑑みて著しく不適当な行動方策である場合、当該行動方策がエージェントの行動方策として採用される事態が回避されうる。したがって、複数の状態変数の変化態様により定義される複雑な動作を伴うタスクをエージェントに実行させるための行動方策が学習されうる。
【0010】
第3発明の強化学習システムは、第2発明の強化学習システムにおいて、前記第i+1学習器が、前記第i価値勾配関数が正値である場合、例外的に前記第i価値勾配関数の値とは無関係に前記第i+1報酬を評価することを特徴とする。
【0011】
第3発明の強化学習システムによれば、第i価値関数の値が時系列的に増加している場合、すなわち、エージェントの行動方策により定義される環境が第i学習器の学習方針に合致している場合、第i+1学習器により例外的に第i価値勾配関数の値とは無関係に第i+1報酬が評価される。これにより、環境が第i学習器の学習方針に合致しているという理由で第i+1報酬が過剰に高く評価され、第i+1学習器の学習方針に反している行動方策が図らずもエージェントの行動方策として採用される事態が回避されうる。すなわち、前の学習器による学習結果が後の学習器による学習に際して過剰に重視された結果、当該後の学習器の学習方針に反する行動方策が採用される事態が回避される。したがって、複数の状態変数の変化態様により定義される複雑な動作を伴うタスクをエージェントに実行させるための行動方策が学習されうる。
【図面の簡単な説明】
【0012】
【図1】本発明の強化学習システムの構成説明図
【図2】エージェントとしてのロボットの構成説明図
【図3】強化学習システムによる行動方策決定方法を示すフローチャート
【図4】エージェントの実行対象となるタスクに関する説明図
【図5】異なる報酬関数に関する説明図
【図6】価値関数およびその時間微分である価値勾配関数に関する説明図
【図7】決定された行動方策にしたがったタスクの実行に関する説明図
【発明を実施するための最良の形態】
【0013】
本発明の強化学習システムの実施形態について図面を用いて説明する。まず、強化学習システムの構成について説明する。図1に示されている強化学習システム1は、図2に示されているエージェントとしてのロボットRに搭載されている電子制御ユニット(CPU,ROM,RAM,I/O回路等により構成されている。)またはコンピュータにより構成されている。強化学習システム1を構成するコンピュータのCPUがメモリから強化学習プログラム(ソフトウェア)を読み出し、読み出した強化学習プログラムにしたがって後述する学習処理等、さまざまな処理を実行する。強化学習プログラムはCDやDVD等のソフトウェア記録媒体を通じてコンピュータにインストールされてもよいが、ロボットRからサーバに要求信号が送信されたことに応じて当該サーバによってネットワークや人工衛星を介して当該コンピュータにダウンロードされてもよい。
【0014】
強化学習システム1は環境認識器11と、第1学習器121と、第2学習器122と、行動方策決定器13とを備えている。
【0015】
環境認識器11はロボットRに搭載されている内部状態センサ群S1および外部状態センサ群S2からの出力信号に基づいて環境を表わす第1状態変数および第2状態変数を認識する。
【0016】
第1学習器121は環境認識器11により認識された第1状態変数(詳細は後述する。)に基づき、第1報酬関数r1にしたがって第1報酬r1(t)を算出する。第1学習器121は第1状態変数に基づき、第1価値関数V1にしたがって第1価値V1(t)を算出する。第1学習器121は第1価値V1(t)および第1報酬r1(t)に基づいて第1TD誤差(第1誤差)δ1(t)を算出する。第1学習器121は第1誤差δ1(t)に基づいて第1価値関数V1を適宜変更する。第1報酬関数r1は、手部B4の位置pをその運動エネルギーEを低く抑えながら目標位置p0に一致させるという学習方針にしたがって定義されている。
【0017】
第2学習器122は環境認識器11により認識された第2状態変数(詳細は後述する。)に応じた第2報酬関数r2の値と、第1価値関数V1の時間微分である第1価値勾配関数dV1/dtの値とに基づいて第2報酬r2(t)を算出する。第2学習器122は第2状態変数に基づき、第2価値関数V2にしたがって第2価値V2(t)を算出する。第2学習器122は第2価値V2(t)および第2報酬r2(t)に基づいて第2TD誤差(第2誤差)δ2(t)を算出する。第2学習器122は第2誤差δ2(t)に基づいて第2価値関数V2を適宜変更する。第2報酬関数r2は、手部B4の姿勢qを目標姿勢q0に一致させるという学習方針にしたがって定義されている。
【0018】
行動方策決定器13は環境認識器11による環境認識結果に基づき、第1出力関数にしたがって第1出力(詳細は後述する。)をロボット(エージェント)Rが採るべき行動方策の一部として決定する。第1出力関数は第1価値関数V1と同様に第1誤差δ1(t)に基づいて適宜変更される。行動方策決定器13は環境認識器11による環境認識結果に基づき、第2出力関数にしたがって第2出力(詳細は後述する。)をロボットRが採るべき行動方策の一部として決定する。第2出力関数は第2価値関数V2と同様に第2誤差δ2(t)に基づいて適宜変更される。第1出力および第2出力の合計がロボットRに与えられる。
【0019】
強化学習システム1は行動方策決定器13により決定された行動方策にしたがってアクチュエータ100の動作を制御することにより、ロボットRの行動を制御する。
【0020】
本発明の構成要素が情報を「認識する」とは、当該構成要素が情報をデータベースから検索すること、メモリ等の記憶装置から情報を読み取ること、センサ等の出力信号に基づき情報を測定、算定、推定、判定すること、測定等された情報をメモリに格納すること等、当該情報をさらなる情報処理のために準備または用意するために必要なあらゆる情報処理を実行することを意味する。
【0021】
ロボットRは脚式移動ロボットであり、人間と同様に基体B0と、基体B0の上部に設けられた頭部B1と、基体B0の上部左右両側から延設された左右の腕部B2と、腕部B2の先端部に設けられた手部B4と、基体B0の下部から下方に延設された左右の脚部B3と、脚部B3の先端部に取り付けられている足部B5とを備えている。
【0022】
ロボットRは、再表03/090978号公報や、再表03/090979号公報に開示されているように、アクチュエータから伝達される力によって、人間の肩関節、肘関節、手首関節、股関節、膝関節、足関節等の複数の関節に相当する複数の関節機構において腕部B2や脚部B3を屈伸運動させることができる。腕部B2は肩関節機構を介して基体B0に連結された第1腕リンクと、一端が第1腕リンクの端部に肘関節機構を介して連結され、他端が手首関節を介して手部B4の付根部に連結されている第2腕リンクとを備えている。脚部B3は股関節機構を介して基体B0に連結された第1脚リンクと、一端が第1脚リンクの端部に膝関節機構を介して連結され、他端が足関節を介して足部B5に連結されている第2脚リンクとを備えている。ロボットRは、左右の脚部B3のそれぞれの離床および着床の繰り返しを伴う動きによって自律的に移動することができる。
【0023】
ロボットRには内部状態センサ群S1および外部状態センサ群S2が搭載されている。内部状態センサ群S1にはロボットRの位置(重心位置)を測定するためのGPS測定装置または加速度センサのほか、基体B0の姿勢を測定するためのジャイロセンサ、各関節機構の屈曲角度等を測定するロータリーエンコーダ等が含まれている。外部状態センサ群S2にはロボットRの把持対象となるコップ等の物体を測定するための、頭部B1に搭載されているステレオイメージセンサや、基体B0に搭載されている赤外光を用いたアクティブ型距離センサ等が含まれる。
【0024】
前記構成の強化学習システム1の機能について説明する。強化学習システム1は、たとえば片方の腕部B2を動かして手部B4によりコップ等の対象物を把持するというタスクをロボットRに実行させるための最適な行動方策を学習するために用いられる。説明の簡単のため、図4に示されているように肩関節位置を原点OとするX−Y平面に腕部B2および手部B4の動きが束縛されるという束縛条件下で行動方策が学習されると仮定する。なお、ロボットRが採るべき行動方策は、シミュレーションまたはロボット(実機)Rを用いた実験により決定される。
【0025】
まず環境認識器11により環境が認識される(図3/STEP002)。具体的には、手部B4の2次元位置p(t)=(x(t),y(t))が第1状態変数として認識され、手部B4の姿勢q(t)が第2状態変数として認識される。
【0026】
手部B4の位置p(t)は、第1腕リンクの長さL1、第2腕リンクの長さL2および手部B4の長さL3と、肩関節角度q1(t)、肘関節角度q2(t)および手首関節角度q3(t)とに基づき、幾何学的関係にしたがって測定される(図4参照)。長さL1、L2およびL3を表わすデータはメモリにあらかじめ保存されている。肩関節角度q1(t)はロボットRを上方から見たときの前額面(x軸)に対する第1腕リンクがなす角度を意味する。肘関節角度q2(t)はロボットRを上方から見たときの第1腕リンクに対する第2腕リンクの屈曲角度を意味する。手首関節角度q3(t)はロボットRを上方から見たときの第2腕リンクに対する手部B4の屈曲角度を意味する。
【0027】
手部B4の姿勢q(t)は肩関節角度q1(t)、肘関節角度q2(t)および手首関節角度q3(t)が合計されることにより測定される(図4参照)。関節角度q1(t)、q2(t)およびq3(t)のそれぞれはロボットRの肩関節、肘関節および手首関節のそれぞれの部分に配置されているロータリーエンコーダ(内部状態センサ群S1を構成する。)のそれぞれの出力信号により測定されうる。
【0028】
手部B4の位置(先端部位置)p(t)は、頭部B1に搭載されているステレオイメージセンサ(外部状態センサ群S2を構成する。)により測定されてもよい。手部B4を変移させるための消費電力E(t)は関節角度q1(t)、q2(t)およびq3(t)の変化量に基づき、各関節用のアクチュエータの回転量および消費電力の関係を表わすデータテーブルまたは演算式にしたがって測定されうる。
【0029】
第1状態変数p(t)および第2状態変数q(t)は、第1学習器121および第2学習器122のそれぞれに入力される。共通の情報が入力されることにより、第1学習器121および第2学習器122の間での情報の照合が可能となる。第2状態変数q(t)は行動方策決定器13に入力される。
【0030】
続いて第1学習器121により第1状態変数p(t)に基づき、関係式(1)で表わされる第1報酬関数r1にしたがって第1報酬r1(t)が評価される(図3/STEP102)。
【0031】
1(t)=exp(−αp|p(t)−p02)−βE(t) ‥(1)
【0032】
ここで「p0」は手部B4の目標位置であり、「αp」および「β」は正の係数である。第1報酬関数r1(t)は図5(a)に示されているように手部B4の目標位置p0を頂点とし、手部B4の位置pがその目標位置p0から遠ざかるにつれて低くなる山のような形状である。関係式(1)右辺第1項から明らかなように手部B4の現在位置p(t)が目標位置p0に近いほど第1報酬r1(t)が高く評価される。関係式(1)右辺第2項から明らかなように運動エネルギーE(t)が小さいほど第1報酬r1(t)が高く評価される。運動エネルギーE(t)は、肩関節角度q1(t)、肘関節角度q2(t)および手首関節角度q3(t)の変化量に基づき、各関節用のアクチュエータの回転量および運動エネルギーの関係を表わすデータテーブルまたは演算式にしたがって算定されうる。
【0033】
また、第1学習器121により、第1状態変数p(t)に基づき、第1価値関数V1にしたがって第1価値V1(t)が算出される(図3/STEP104)。第1価値関数V1は第1報酬関数r1に基づき、データの出現頻度に重みを掛けるという考え方が現実に適っているNGNetにしたがって決定される(たとえば“Reinforcement Learning in Continuous Time and Space”Kenji Doya, Neural Computation, 12(1), 219-245(2000)参照)。なお、RBF、ニューラルネットまたはCMAC等、NGNetとは異なる公知手法にしたがって第1価値関数V1(t)が決定されてもよい。
【0034】
さらに、第1報酬r1(t)および第1価値V1(t)に基づき、関係式(2)にしたがって第1TD誤差δ1(t)が算出される(図3/STEP106)。
【0035】
δ1(t)=r1(t)+γ11(t+1)−V1(t)‥(2)
【0036】
ここで「γ1」は第1学習器121において採用されているBellman方程式における割引率を表わしている。第1TD誤差δ1(t)の大小によりエージェントRが先にとった行動方策の妥当性が評価される。前記のように第1TD誤差δ1(t)に基づき、第1価値関数V1および第1出力関数が適宜修正される。ロボットRが先にとった行動方策が予想通りであった場合には修正量は小さくなる一方、ロボットRが先にとった行動が予想通りではなかった場合には修正量は大きくなる傾向がある。
【0037】
さらに、行動方策決定器13により、環境認識器11による認識結果としての手部B4の姿勢(第2状態変数)q(t)に基づき、第1出力関数にしたがって第1出力がロボットRの行動方策として決定される(図3/STEP108)。具体的には、第1報酬r1(t)の積分値が最高になるようなロボットRの肩関節回りのトルクT1および肘関節回りのトルクT2が第1出力として決定される。
【0038】
次に第2学習器122により第2状態変数q(t)に応じた第2報酬関数の値と、第1価値勾配関数(第1価値関数V1の時間微分)dV1/dtの値とに基づき、関係式(3)にしたがって第2報酬r2が評価される(図3/STEP202)。
【0039】
2(t)=exp(−αq|q(t)−q02)+ηx・Y(−x),
x=dV1/dt,
Y(x)≡1(x≧0)または0(x<0) ‥(3)
【0040】
ここで「q0」は手部B4の目標姿勢q0であり、「αq」および「η」は正の係数である。
【0041】
関係式(3)右辺第1項は図5(b)に示されているように手部B4の目標姿勢q0を頂点とし、手部B4の姿勢qがその目標姿勢q0から遠ざかるにつれて低くなる山(単峰)の形状である。関係式(3)右辺第1項(第2学習器122に固有の第2報酬関数に相当する。)から明らかなように手部B4の現在姿勢q(t)が目標姿勢q0に近いほど第2報酬r2は高く評価される。
【0042】
関係式(3)右辺第2項の意義を考察するため、図6(a)に概念的に示されているように第1価値関数V1が定義されている状況について考える。手部B4の位置pがp1からp2まで図6(b)右矢印で表わされるように遷移した場合、図6(b)に示されているように第1価値勾配関数dV1/dtは目標位置p0の左側で正値を示し、目標位置p0の右側で負値を示すように定義される。
【0043】
一方、手部B4の位置pがp2からp1まで図6(c)左矢印で表わされるように遷移した場合、図6(c)に示されているように第1価値勾配関数dV1/dtは目標位置p0の左側で負値を示し、目標位置p0の右側で正値を示すように定義される。関係式(3)右辺第2項から明らかなように第1価値勾配関数dV1/dtの値が負側に大きくなるほど第2報酬r2(t)は低く評価される。
【0044】
さらに、関係式(3)右辺第2項にはステップ関数Y(−x)が含まれているので第1勾配関数(dV1/dt)の値が正である場合は「0」になる。これにより、たとえば、ロボットRの手部B4の位置p(t)が図6(b)右矢印で表わされているように遷移した場合、当該位置p(t)が第1価値勾配関数dV1/dtが正値を示す目標位置p0の左側にある状態では関係式(3)右辺第2項は第2報酬r2(t)の評価には寄与しない一方、当該位置p(t)が第1価値勾配関数dV1/dtが負値を示す目標位置p0の右側にある状態では関係式(3)右辺第2項は第2報酬r2(t)の評価を下げるのに寄与する。その寄与度は第1価値勾配関数dV1/dtが負側にどれだけ大きいかに依存している(図6(b)(c)下向き矢印の長さ参照)。
【0045】
また、ロボットRの手部B4の位置pが図6(c)左矢印で表わされているように遷移した場合、当該位置p(t)が第1価値勾配関数dV1/dtが正値を示す目標位置p0の右側にある状態では関係式(3)右辺第2項は第2報酬r2(t)の評価には寄与しない一方、当該位置p(t)が第1価値勾配関数dV1/dtが負値を示す目標位置p0の左側にある状態では関係式(3)右辺第2項は第2報酬r2(t)の評価を下げるのに寄与する。
【0046】
また、第2学習器122により、第2状態変数q(t)に基づき、第2価値関数V2にしたがって第2価値V2(t)が算出される(図3/STEP204)。第2価値関数V2は第2報酬関数r2に基づき、第1価値関数V1と同様にデータの出現頻度に重みを掛けるという考え方が現実に適っているNGNetにしたがって決定される。なお、RBF、ニューラルネットまたはCMAC等、NGNetとは異なる公知手法にしたがって第2価値関数V2(t)が決定されてもよい。
【0047】
さらに、第2報酬r2(t)および第2価値V2(t)に基づき、関係式(4)にしたがって第2TD誤差δ2(t)が算出される(図3/STEP206)。
【0048】
δ2(t)=r2(t)+γ22(t+1)−V2(t)‥(4)
【0049】
ここで「γ2」は第2学習器122において採用されているBellman方程式における割引率を表わしている。第2TD誤差δ2(t)の大小によりエージェントRが先にとった行動方策の妥当性が評価される。前記のように第2TD誤差δ2(t)に基づき、第2価値関数V2および第2出力関数が適宜修正される。ロボットRが先にとった行動方策が適当であった場合には修正量は小さくなる一方、ロボットRが先にとった行動が不適当であった場合には修正量は大きくなる傾向がある。
【0050】
さらに、行動方策決定器13により、環境認識器11による認識結果としての手部B4の姿勢(第2状態変数)q(t)に基づき、第2出力関数にしたがって第2出力がロボットRの行動方策として決定される(図3/STEP208)。具体的には、第2報酬r2(t)の積分値が最高になるようなロボットRの手首関節回りのトルクT3が第2出力として決定される。
【0051】
そして、行動方策決定器13により決定された行動方策にしたがってアクチュエータ100の動作が制御されることにより、ロボットRの行動、すなわち、腕部B2および手部B4の動作が制御される。具体的には、第1出力にしたがって肩関節回りのトルクT1および肘関節回りのトルクT2が制御され、第2出力にしたがって手首関節回りのトルクT3が制御される。これにより、たとえば、図7に矢印で示すように手部B4の位置p(t)が変化し、かつ、手部B4の姿勢q(t)が変化するようにロボットRの行動が制御される。
【0052】
前記機能を発揮する強化学習システム1によれば、環境から得られる第1報酬r1(t)に応じて定まる、第1学習器121による学習結果としての第1価値関数V1の時間微分である第1価値勾配関数dV1/dtの値が、第2学習器122による学習、すなわち、第2報酬r2(t)の評価に際して活用され(図3/STEP122,式(2)参照)、第2報酬r2(t)の積分値が最高になるような環境の変化態様がロボットRがタスクを実行するために採るべき行動方策として決定される(図3/STEP130,図7参照)。
【0053】
具体的には、第1価値関数V1(t)が時系列的に減少している場合(dV1(t)/dt<0の場合)、すなわち、ロボットRの行動方策により定義される環境が第1学習器121の学習方針に反している場合、第2学習器122により第2報酬r2(t)が低く評価される(関係式(3)右辺第2項参照)。これにより、環境が第2学習器122の学習方針(=手部B4の姿勢qを目標姿勢q0に一致させる)に合致している一方、第1学習器121の学習方針(=手部B4の位置pをその運動エネルギーEを低く抑えながら目標位置p0に一致させる)に反している行動方策がロボットRの行動方策として採用される事態が回避されうる。すなわち、手部B4の姿勢qを目標姿勢q0に一致させるためには適当な行動方策であっても、手部B4の位置pをその運動エネルギーEを低く抑えながら目標位置p0に一致させるためには著しく不適当な行動方策である場合、当該行動方策がロボットRの行動方策として採用される事態が回避されうる。
【0054】
さらに、第1価値関数V1(t)が時系列的に増加している場合(dV1(t)/dt>0の場合)、すなわち、ロボットRの行動方策(手部B4の位置p(t))により定義される環境が第1学習器121の学習方針に合致している場合、第2学習器122により例外的に第1価値勾配関数dV1(t)/dtの値とは無関係に第2報酬r2(t)が評価される(関係式(3)右辺第2項のステップ関数Y参照)。これにより、環境が第1学習器121の学習方針に合致しているという理由で第2報酬r2(t)が過剰に高く評価され、第2学習器122の学習方針に反している行動方策が図らずもロボットRの行動方策として採用される事態が回避されうる。すなわち、手部B4の位置pをその運動エネルギーEを低く抑えながら目標位置p0に一致させるためには適当な行動方策であっても、手部B4の姿勢qを目標姿勢q0に一致させるためには著しく不適当な行動方策である場合、当該行動方策がロボットRの行動方策として採用される事態が回避されうる。
【0055】
よって、複数の状態変数の変化態様により定義される、腕部B2および手部B4の複雑な動作を伴う対象物の把持というタスクをロボットRに実行させるために最適な行動方策が学習されうる。
【0056】
なお、前記実施形態とは逆に第1学習器121が手部B4の姿勢qを目標姿勢q0に一致させるという学習方針にしたがう学習器として定義され、第2学習器122が手部B4の位置pをその運動エネルギーEを低く抑えながら目標位置p0に一致させるという学習方針にしたがう学習器として定義されていてもよい。この場合、第1報酬r1(t)が関係式(5)にしたがって算出され、第2報酬r2(t)が関係式(6)にしたがって算出されることにより、前記実施形態と同様に複数の状態変数の変化態様により定義される腕部B2および手部B4の複雑な動作を伴う対象物の把持というタスクをロボットRに実行させるために最適な行動方策が学習されうる。
【0057】
1(t)=exp(−αq|q(t)−q02) ‥(5)
2(t)=exp(−αp|p(t)−p02)−βE(t)+ηx・Y(−x),
x=dV1(t)/dt ‥(6)
【0058】
さらに、強化学習システム1が3つ以上の学習器を備えていてもよい。たとえば、第1学習器121および第2学習器122に加えて、第2学習器122の第2価値関数V2の時間微分である第2価値勾配関数dV2/dtに基づいて第3報酬r3(t)を評価する第3学習器を備え、第3学習器の出力に基づいて行動方策の一部または全部が決定されてもよい。これにより、第3学習器による学習に際して直接的には第2学習器122による学習結果が活用され、第1学習器121による学習結果が間接的に活用されうる。すなわち、第3学習器による学習結果としての第3報酬には、第1学習器121および第2学習器122のそれぞれの第1報酬関数r1および第2報酬関数r2により記述される学習方針のすべてが反映されうる。したがって、複数の状態変数の変化態様により定義される複雑な動作を伴うタスクをロボットRに実行させるための行動方策が学習されうる。なお、第i+1価値関数Vi+1(i=1,2,‥)も第1価値関数V1と同様にNGNet、RBF、ニューラルネットまたはCMAC等、公知手法にしたがって決定されうる。
【0059】
また、ロボットRにタスクを実行させるための行動方策が学習されたが、そのほか、エージェントとしての人間に物品の製作、目的位置への移動または着衣等のタスクを実行させるために行動方策が学習されてもよい。
【0060】
前記実施形態では第1出力関数にしたがって第1出力(肩関節回りのトルクT1および肘関節回りのトルクT2)がロボットRの行動方策の一部として決定され、第2出力関数にしたがって第2出力(手首関節回りのトルクT3)がロボットRの行動方策の残り部分として決定された。そのほか、環境認識器11による認識結果に加えて、第1出力関数にしたがって決定された第1出力に基づき、第2出力関数にしたがって各関節回りのトルクT1、T2およびT3がロボットRの行動方策として決定されてもよい。
【符号の説明】
【0061】
1‥強化学習システム、11‥環境状態認識器、121・・第1学習器、122‥第2学習器、13‥行動方策決定器、R‥ロボット(エージェント)

【特許請求の範囲】
【請求項1】
エージェントがタスクを実行するための行動方策を学習するための強化学習システムであって、
環境を表わす第1〜第n状態変数(n≧2)を認識する環境認識器と、
前記環境認識器により認識された第j状態変数(j=1,2,‥n)に基づいて第j報酬を算出し、当該第j状態変数に基づき、第j価値関数にしたがって第j価値を算出し、前記第j価値および前記第j報酬に基づいて第j誤差を算出し、前記第j誤差に基づいて前記第j価値関数を適宜変更するn個の第j学習器と、
前記n個の第j学習器により算出された前記第j報酬のうち一部または全部に基づいて前記エージェントが採るべき行動方策を決定する行動方策決定器とを備え、
第i+1学習器(i=1,2,‥n−1)が第i状態変数に応じた第i報酬関数の値と、第i価値関数の時間微分である第i価値勾配関数の値とに基づいて第i+1報酬を算出することを特徴とする強化学習システム。
【請求項2】
請求項1記載の強化学習システムにおいて、
前記第i+1学習器が、前記第i価値勾配関数が大きい負値であるほど前記第i+1報酬を低く評価することを特徴とする強化学習システム。
【請求項3】
請求項2記載の強化学習システムにおいて、
前記第i+1学習器が、前記第i価値勾配関数が正値である場合、例外的に前記第i価値勾配関数の値とは無関係に前記第i+1報酬を評価することを特徴とする強化学習システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate