(57)【要約】【課題】対象とするタスクを自らが選択して、次々と能力を伸長させていくことができる自律エージェントの学習を実現することができるようにする。【解決手段】  エージェントの行動制御の構成要素である予測部３１、計画部３３、制御部３４の働きと、心理学的知見における内発的動機の分類が似通っている事に着眼し、それぞれの構成要素の能力向上（誤差の減少）を、内発的動機の実装であると捉る。タスクの選択に、これらの能力向上の進捗を利用することでタスクの継続を判断している点にはフロー理論の知見を取り込んでいる。本発明は、自律エージェントに適用できる。【選択図】図１
2006268812.tif 000002
【特許請求の範囲】
【請求項１】
環境の状態を知覚し、その知覚した内容に基づいて、行動を選択することができる機器の学習を制御する学習制御装置において、
前記行動と前記環境の状態の変化を学習し、これを基に、所定の行動に対する前記環境の状態の変化を予測する予測手段と、
前記行動における目標状態を設定する目標状態付与手段と、
前記予測手段による予測に基づいて、現在の状態から前記目標状態付与手段により設定された前記目標状態に達するまでの行動シーケンスを計画する計画手段と、
前記計画手段により計画された前記行動シーケンスに対して、前記行動を制御するとともに、前記行動における入出力関係を学習する制御手段と
を備え、
前記予測手段は、学習に基づいた予測の精度に関する第１の情報を算出して前記目標状態付与手段に供給し、
前記計画手段は、前記制御手段により制御された前記行動シーケンスに基づく前記行動が前記目標状態に近づいたか否かを示す指標に対応する第２の情報を算出して前記目標状態付与手段に供給し、
前記制御手段は、前記入出力関係の学習の進捗に関する第３の情報を算出して前記目標状態付与手段に供給し、
前記目標状態付与手段は、前記第１の情報、前記第２の情報、および、前記第３の情報に基づいて、前記目標状態を設定する
ことを特徴とする学習制御装置。
【請求項２】
前記目標状態付与手段は、前記第１の情報、第２の情報、および、第３の情報に基づいて、前記予測手段による前記予測の精度、前記計画手段による前記指標、および、前記制御手段による学習の進捗のうちのいずれも向上していない場合、前記目標状態を変更する
ことを特徴とする請求項１に記載の学習制御装置。
【請求項３】
前記目標状態付与手段は、前記第１の情報、第２の情報、および、第３の情報に基づいて、前記予測手段による前記予測の精度、前記計画手段による前記指標、および、前記制御手段による学習の進捗が全て十分であると判断した場合、前記目標状態を変更する
ことを特徴とする請求項１に記載の学習制御装置。
【請求項４】
前記目標状態付与手段は、前記環境の状態を示す変数のうちの少なくとも１つを選択し、選択された前記変数において、所定の数値条件を設定し、前記環境の状態において、選択された前記変数が前記所定の数値条件を満たさない場合、選択された前記変数が前記所定の数値条件を満たす前記目標状態を設定する
ことを特徴とする請求項１に記載の学習制御装置。
【請求項５】
前記計画手段は、前記予測手段による予測に基づいて前記行動シーケンスを計画することができなかった場合、前記目標状態付与手段に対して、前記行動シーケンスを計画することができなかったことを通知し、
前記目標状態付与手段は、前記計画手段から前記行動シーケンスを計画することができなかったことの通知を受けた場合、前記目標状態を変更する
ことを特徴とする請求項１に記載の学習制御装置。
【請求項６】
前記制御手段は、前記計画手段により計画された前記行動シーケンスに基づいた前記行動により前記目標状態に到達した場合、前記行動における入出力関係を学習する
ことを特徴とする請求項１に記載の学習制御装置。
【請求項７】
前記制御手段は、前記計画手段により計画された前記行動シーケンスに基づいた前記行動により前記目標状態に到達しなかった場合、到達した状態を前記目標状態に置き換えて、前記行動における入出力関係を更に学習する
ことを特徴とする請求項６に記載の学習制御装置。
【請求項８】
前記計画手段は、前記目標状態付与手段により設定された前記目標状態を示す第１の変数と相関性の高い第２の変数を選択し、選択された前記第２の変数を制御することにより前記目標状態に達することができる前記行動シーケンスを計画する
ことを特徴とする請求項１に記載の学習制御装置。
【請求項９】
環境の状態を知覚し、その知覚した内容に基づいて、行動を選択することができる機器の学習を制御する学習制御装置の学習制御方法において、
前記行動と前記環境の状態の変化を学習する予測学習ステップと、
前記行動における目標状態を設定する目標状態付与ステップと、
前記予測学習ステップの処理による学習に基づいた予測を利用して、現在の状態から前記目標状態付与ステップの処理により設定された前記目標状態に達するまでの行動シーケンスを計画する計画ステップと、
前記計画ステップの処理により計画された前記行動シーケンスに対して、前記行動を制御する行動制御ステップと、
前記行動制御ステップの処理により制御される前記行動と対応する前記環境との入出力関係を学習する制御学習ステップと、
前記予測学習ステップの処理による学習に基づいた予測の精度に関する第１の情報、前記制御ステップの処理により制御された前記行動シーケンスに基づく前記行動が前記目標状態に近づいたか否かを示す指標に対応する第２の情報、および、前記入出力関係の学習の進捗に関する第３の情報を算出する算出ステップと、
前記算出ステップの処理により算出された前記第１の情報、前記第２の情報、および、前記第３の情報に基づいて、前記目標状態を再設定するか否かを判断する判断ステップと
を含むことを特徴とする学習制御方法。
【請求項１０】
環境の状態を知覚し、その知覚した内容に基づいて、行動を選択することができる機器の学習を制御する処理をコンピュータに実行させるためのプログラムであって、
前記行動と前記環境の状態の変化を学習する予測学習ステップと、
前記行動における目標状態を設定する目標状態付与ステップと、
前記予測学習ステップの処理による学習に基づいた予測を利用して、現在の状態から前記目標状態付与ステップの処理により設定された前記目標状態に達するまでの行動シーケンスを計画する計画ステップと、
前記計画ステップの処理により計画された前記行動シーケンスに対して、前記行動を制御する行動制御ステップと、
前記行動制御ステップの処理により制御される前記行動と対応する前記環境との入出力関係を学習する制御学習ステップと、
前記予測学習ステップの処理による学習に基づいた予測の精度に関する第１の情報、前記制御ステップの処理により制御された前記行動シーケンスに基づく前記行動が前記目標状態に近づいたか否かを示す指標に対応する第２の情報、および、前記入出力関係の学習の進捗に関する第３の情報を算出する算出ステップと、
前記算出ステップの処理により算出された前記第１の情報、前記第２の情報、および、前記第３の情報に基づいて、前記目標状態を再設定するか否かを判断する判断ステップと
を含むことを特徴とする処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習制御装置および学習制御方法、並びに、プログラムに関し、特に、自律行動をするエージェントにおいて、対象とするタスクを自らが選択して、目標状態に到達するための計画とその実行により学習し、次々と能力を伸長させていくことができるようにする学習制御装置および学習制御方法、並びに、プログラムに関する。
【背景技術】
【０００２】
従来の行動学習手法において、学習器の入出力変数は、解くべきタスクや期待する動作を考慮して人間により選択されていた（例えば、非特許文献１および非特許文献２）。
【０００３】
【非特許文献１】「強化学習」Richard S.Sutton, Andrew G. Barto. 三上貞芳  皆川雅章訳、  ２０００．１２．２０  第１版  森北出版（株）
【０００４】
【非特許文献２】J. Tani： Model-based learning for mobile robot navigation from the dynamical systems perspective    IEEE Trans. on Systems, Man, and Cybernetics Part B： Cybernetics, Vol.26, No.3, pp.421-436, 1996.）。
【０００５】
一方、多自由度の自律ロボットを考えると、設計時にタスクを決定して入出力変数を決めることは、ロボットの学習可能な能力を設計時に限定することになってしまう。特に、ゴールとなる報酬関数を人間の手で与えてしまうと、エージェントはその問題を解く事しかできなくなってしまう。このことから、従来手法は、Open-endedな自律型ロボットの構築において決定的な問題をはらんでいるといえる。
【０００６】
例えば、目標とする報酬関数に達成が困難なものを選択することにより、自律型エージェントに、達成困難な目標に向かって学習改善しつづけさせるというシナリオを考えることもできる。しかし、現在の強化学習の手法では、報酬を一回も与えられることなく、目標に近づくための学習を継続させていくことはできない。
【０００７】
このような問題を解決するために、例えば、最終的な目標とする報酬関数以外に、サブゴールを設定し、階層的な構造を与え、下位のモジュールには与えられたサブゴールを解くことを目的として制御器を学習させ、上位のモジュールにはゴールを達成するためのサブゴールの切り替え制御則を同様に強化学習により学習させる手法などが提案されている（例えば、非特許文献３）。
【０００８】
【非特許文献３】Morimoto, J., Doya, K.： Acquisition of stand-up behavior by a real robot using hierarchical reinforcement learning.  Robotics and Autonomous Systems, 36, 37-51 (2001).）。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した非特許文献３に記載されている手法においても、サブゴールの設定は、依然としてタスクに依存しており、特定のタスクのための学習機械の域を出ない。
【００１０】
ところで、人間の行動を分析し、心の働きを探る心理学の知見においては、自己保存や自己繁殖といった外発的な動機では説明できない行動は、内発的動機に基づく行動として分類されている。内発的動機に基づく行動としては、例えば、優秀な画家が寝食を忘れて傑作となる絵画を完成させる行動や、ロッククライマーが自らの生命の危険を顧みず困難な岩壁に挑む行動のような、一見自己の生存と相反する行動が挙げられる。
【００１１】
内発的動機には、好奇動機、操作動機、達成動機、感性動機などの分類があり、それぞれ、未体験の事象に対する探求欲求、物体を自在に操作することにより得られる満足、設定した目標を達成することによって得られる快感、今までと違う変化の大きい刺激に対する欲求、などと説明されている。
【００１２】
また、ミハイ・チクセントミハイが提唱するフロー理論では、自身のスキル（能力）と目標の困難さの釣り合う明快なタスクにおいて、自己の能力の伸長が即座にフィードバックされているとフローが発生し、そのタスクに対してのめり込むようになると述べられている（「楽しみの社会学」  M.チクセントミハイ、今村浩明訳  新思索社（”Beyond Boredom and Anxiety; Experiencing flow in work and play”, Mihaly Csikszentmihalyi. 1975.）。
【００１３】
こうした心理学による動機の分類や構造は、特定のタスクに対するものではなく、人間の持つ普遍的な行動原理を説明しようと試みているものである。そこで、自律エージェントの学習に、このような心理学的な行動則を取り入れることにより、自律エージェントが、人間に設定された特定のタスクを解くのみならず、自ら選択した様々なタスクを解き、これを学習することができるようになるのではないかと考えることができる。
【００１４】
本発明はこのような状況に鑑みてなされたものであり、心理学の知見を取り入れることにより、特定のタスクを解くのではなく、対象とするタスクを自らが選択して、学習し、次々と能力を伸長させていくことができる自律エージェントを実現することができるようにするものである。
【課題を解決するための手段】
【００１５】
本発明の学習制御装置は、行動と環境の状態の変化を学習し、これを基に、所定の行動に対する環境の状態の変化を予測する予測手段と、行動における目標状態を設定する目標状態付与手段と、予測手段による予測に基づいて、現在の状態から目標状態付与手段により設定された目標状態に達するまでの行動シーケンスを計画する計画手段と、計画手段により計画された行動シーケンスに対して、行動を制御するとともに、行動における入出力関係を学習する制御手段とを備え、予測手段は、学習に基づいた予測の精度に関する第１の情報を算出して目標状態付与手段に供給し、計画手段は、制御手段により制御された行動シーケンスに基づく行動が目標状態に近づいたか否かを示す指標に対応する第２の情報を算出して目標状態付与手段に供給し、制御手段は、入出力関係の学習の進捗に関する第３の情報を算出して目標状態付与手段に供給し、目標状態付与手段は、第１の情報、第２の情報、および、第３の情報に基づいて、目標状態を設定することを特徴とする。
【００１６】
目標状態付与手段には、第１の情報、第２の情報、および、第３の情報に基づいて、予測手段による予測の精度、計画手段による指標、および、制御手段による学習の進捗のうちのいずれも向上していない場合、目標状態を変更させるようにすることができる。
【００１７】
目標状態付与手段には、第１の情報、第２の情報、および、第３の情報に基づいて、予測手段による予測の精度、計画手段による指標、および、制御手段による学習の進捗が全て十分であると判断した場合、目標状態を変更させるようにすることができる。
【００１８】
目標状態付与手段には、環境の状態を示す変数のうちの少なくとも１つを選択し、選択された変数において、所定の数値条件を設定させるようにすることができ、環境の状態において、選択された変数が所定の数値条件を満たさない場合、選択された変数が所定の数値条件を満たす目標状態を設定させるようにすることができる。
【００１９】
計画手段には、予測手段による予測に基づいて行動シーケンスを計画することができなかった場合、目標状態付与手段に対して、行動シーケンスを計画することができなかったことを通知させるようにすることができ、目標状態付与手段には、計画手段から行動シーケンスを計画することができなかったことの通知を受けた場合、目標状態を変更させるようにすることができる。
【００２０】
制御手段には、計画手段により計画された行動シーケンスに基づいた行動により目標状態に到達した場合、行動における入出力関係を学習させるようにすることができる。
【００２１】
制御手段には、計画手段により計画された行動シーケンスに基づいた行動により目標状態に到達しなかった場合、到達した状態を目標状態に置き換えて、行動における入出力関係を更に学習させるようにすることができる。
【００２２】
計画手段には、目標状態付与手段により設定された目標状態を示す第１の変数と相関性の高い第２の変数を選択し、選択された第２の変数を制御することにより目標状態に達することができる行動シーケンスを計画させるようにすることができる。
【００２３】
本発明の学習制御方法は、行動と環境の状態の変化を学習する予測学習ステップと、行動における目標状態を設定する目標状態付与ステップと、予測学習ステップの処理による学習に基づいた予測を利用して、現在の状態から目標状態付与ステップの処理により設定された目標状態に達するまでの行動シーケンスを計画する計画ステップと、計画ステップの処理により計画された行動シーケンスに対して、行動を制御する行動制御ステップと、行動制御ステップの処理により制御される行動と対応する環境との入出力関係を学習する制御学習ステップと、予測学習ステップの処理による学習に基づいた予測の精度に関する第１の情報、制御ステップの処理により制御された行動シーケンスに基づく行動が目標状態に近づいたか否かを示す指標に対応する第２の情報、および、入出力関係の学習の進捗に関する第３の情報を算出する算出ステップと、算出ステップの処理により算出された第１の情報、第２の情報、および、第３の情報に基づいて、目標状態を再設定するか否かを判断する判断ステップとを含むことを特徴とする。
【００２４】
本発明のプログラムは、行動と環境の状態の変化を学習する予測学習ステップと、行動における目標状態を設定する目標状態付与ステップと、予測学習ステップの処理による学習に基づいた予測を利用して、現在の状態から目標状態付与ステップの処理により設定された目標状態に達するまでの行動シーケンスを計画する計画ステップと、計画ステップの処理により計画された行動シーケンスに対して、行動を制御する行動制御ステップと、行動制御ステップの処理により制御される行動と対応する環境との入出力関係を学習する制御学習ステップと、予測学習ステップの処理による学習に基づいた予測の精度に関する第１の情報、制御ステップの処理により制御された行動シーケンスに基づく行動が目標状態に近づいたか否かを示す指標に対応する第２の情報、および、入出力関係の学習の進捗に関する第３の情報を算出する算出ステップと、算出ステップの処理により算出された第１の情報、第２の情報、および、第３の情報に基づいて、目標状態を再設定するか否かを判断する判断ステップとを含むことを特徴とする処理をコンピュータに実行させる。
【００２５】
本発明の学習制御装置、および、学習制御方法、並びに、プログラムにおいては、行動と環境の状態の変化が学習され、学習結果に基づいて行動と環境の状態の変化が予測され、行動における目標状態が設定され、予測を利用して、現在の状態から目標状態に達するまでの行動シーケンスが計画され、計画された行動シーケンスに対して、行動が制御され、行動と対応する環境との入出力関係が学習され、予測学習に基づいた予測の精度に関する第１の情報、行動シーケンスに基づく行動が目標状態に近づいたか否かを示す指標に対応する第２の情報、および、入出力関係の学習の進捗に関する第３の情報が算出され、第１の情報、第２の情報、および、第３の情報に基づいて、目標状態を再設定するか否かが判断される。
【発明の効果】
【００２６】
本発明によれば、行動を制御するための学習を行うことができ、特に、対象とするタスクを自らが選択して、学習を停滞させることなく、能力を伸長させていくことができる。
【発明を実施するための最良の形態】
【００２７】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２８】
更に、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２９】
請求項１に記載の学習制御装置（例えば、図６のコントローラ１５１）は、環境の状態を知覚し、その知覚した内容に基づいて、行動を選択することができる機器の学習を制御する学習制御装置であって、行動と環境の状態の変化を学習し、これを基に、所定の行動に対する環境の状態の変化を予測する予測手段（例えば、図１の予測部３１）と、行動における目標状態を設定する目標状態付与手段（例えば、図２の評価部３２）と、予測手段による予測に基づいて、現在の状態から目標状態付与手段により設定された目標状態に達するまでの行動シーケンスを計画する計画手段（例えば、図１の計画部３３）と、計画手段により計画された行動シーケンスに対して、行動を制御するとともに、行動における入出力関係を学習する制御手段（例えば、図１の制御部３４）とを備え、予測手段は、学習に基づいた予測の精度に関する第１の情報（例えば、予測誤差）を算出して目標状態付与手段に供給し、計画手段は、制御手段により制御された行動シーケンスに基づく行動が目標状態に近づいたか否かを示す指標に対応する第２の情報（例えば、目標達成度または計画誤差）を算出して目標状態付与手段に供給し、制御手段は、入出力関係の学習の進捗に関する第３の情報（例えば、制御誤差）を算出して目標状態付与手段に供給し、目標状態付与手段は、第１の情報、第２の情報、および、第３の情報に基づいて、目標状態を設定することを特徴とする。
【００３０】
目標状態付与手段は、第１の情報、第２の情報、および、第３の情報に基づいて、予測手段による予測の精度、計画手段による指標、および、制御手段による学習の進捗のうちのいずれも向上していない（例えば、フロー理論における「不安」の状態）場合、目標状態を変更することができる。
【００３１】
目標状態付与手段は、第１の情報、第２の情報、および、第３の情報に基づいて、予測手段による予測の精度、計画手段による指標、および、制御手段による学習の進捗が全て十分である（例えば、フロー理論における「退屈」の状態）と判断した場合、目標状態を変更することができる。
【００３２】
目標状態付与手段は、環境の状態を示す変数のうちの少なくとも１つを選択し、選択された変数（例えば、エネルギーまたは乳酸量）において、所定の数値条件（例えば、「快」として設定される数値）を設定し、環境の状態において、選択された変数が所定の数値条件を満たさない場合、選択された変数が所定の数値条件を満たす目標状態を設定することができる。
【００３３】
計画手段は、予測手段による予測に基づいて行動シーケンスを計画することができなかった場合、目標状態付与手段に対して、行動シーケンスを計画することができなかったことを通知することができ、目標状態付与手段は、計画手段から行動シーケンスを計画することができなかったことの通知を受けた場合、目標状態を変更することができる。
【００３４】
制御手段は、計画手段により計画された行動シーケンスに基づいた行動により目標状態に到達した場合、行動における入出力関係を学習することができる。
【００３５】
制御手段は、計画手段により計画された行動シーケンスに基づいた行動により目標状態に到達しなかった場合、到達した状態を目標状態に置き換えて、行動における入出力関係を更に学習することができる。
【００３６】
計画手段は、目標状態付与手段により設定された目標状態を示す第１の変数と相関性の高い第２の変数を選択し、選択された第２の変数を制御することにより目標状態に達することができる行動シーケンスを計画することができる。
【００３７】
請求項９に記載の学習制御方法は、環境の状態を知覚し、その知覚した内容に基づいて、行動を選択することができる機器の学習を制御する学習制御装置の学習制御方法であって、行動と環境の状態の変化を学習する予測学習ステップ（例えば、図２８のステップＳ９の処理、図３１のステップＳ３７の処理、または、図３２のステップＳ６９の処理）と、行動における目標状態を設定する目標状態付与ステップ（例えば、図２８のステップＳ４の処理、図３１のステップＳ３３の処理、もしくは、図３２のステップＳ６４またはステップＳ６５の処理）と、予測学習ステップの処理による学習に基づいた予測を利用して、現在の状態から目標状態付与ステップの処理により設定された目標状態に達するまでの行動シーケンスを計画する計画ステップ（例えば、図２８のステップＳ５の処理、図３１のステップＳ３４の処理、または、図３２のステップＳ６６の処理）と、計画ステップの処理により計画された行動シーケンスに対して、行動を制御する行動制御ステップ（例えば、図２８のステップＳ７の処理、図３１のステップＳ３５の処理、または、図３２のステップＳ６７の処理）と、行動制御ステップの処理により制御される行動と対応する環境との入出力関係を学習する制御学習ステップ（例えば、図２８のステップＳ１２の処理、図３１のステップＳ３９の処理、または、図３２のステップＳ７１の処理）と、予測学習ステップの処理による学習に基づいた予測の精度に関する第１の情報（例えば、予測誤差）、制御ステップの処理により制御された行動シーケンスに基づく行動が目標状態に近づいたか否かを示す指標に対応する第２の情報（例えば、目標達成度または計画誤差）、および、入出力関係の学習の進捗に関する第３の情報（例えば、制御誤差）を算出する算出ステップ（例えば、図２８のステップＳ１３の処理、図３１のステップＳ４０の処理、または、図３２のステップＳ７２の処理）と、算出ステップの処理により算出された第１の情報、第２の情報、および、第３の情報に基づいて、目標状態を再設定するか否かを判断する判断ステップ（例えば、図２８のステップＳ１４の処理、図３１のステップＳ４１の処理、または、図３２のステップＳ７５の処理）とを含むことを特徴とする。
【００３８】
また、請求項１０に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項９に記載の行動制御方法と同様である。
【００３９】
以下、図を参照して、本発明の実施の形態について説明する。
【００４０】
古典的なロボティクスや人工知能の分野では、移動ロボットや関節型ロボットの、全体または一部の移動、動作などにおける経路や軌道生成などにヒューリスティクス探索を用いて、現状態から目標状態まで行動の選択肢を考慮しながら探索することで解を得る方法が成功を収めている。この分野では、ロボットの移動モデルや関節の運動学、動力学を事前に正確に知ることができているという有利な点があるが、ロボットの姿勢などを考慮した非常に大きな状態空間（＝作業空間）の中でも効率的に解を求めることができる計算手法が発達している。
【００４１】
また、近年、パターン認識の分野では、サポートベクタマシン（ＳＶＭ）やAdaBoostといった高い汎化能力を持った学習機械のアルゴリズムが多く提案されている。これらの学習機械は、例えば、画像や音声といった大きな次元の入力を扱うことに長けており、ニューラルネットワークなどを使った既存のパターン学習の応用として置き換えられて用いられている。
【００４２】
本発明においては、次元の呪いから開放されるために、ＳＶＭ（Support Vector Machine）などのパターン学習器を予測や制御の学習に用いて、ヒューリスティクス探索を使って広大な状態空間を効率的に探索することにより、目標とする行動シーケンスを生成することを目指している。また、こうした一連の流れは、上述した人間の思考形態を参考にしているために、外から人間が見てもその行動を理解しやすく、現実的な時間で解に到達できるものとなる。
【００４３】
一般的に、「エージェント」とは、環境の状態を知覚（例えば、センシング）し、その知覚した内容に基づいて、行動を選択することができる自律的主体のことである。
【００４４】
本発明の一実施の形態における自律エージェントの行動を制御するための、自律行動制御モデルの基本構成を図１に示す。本手法は大きく分けて、予測部（FwdModel）３１、評価部（Evaluator）３２、制御部（Controller）３３、および、計画部（Planner）３４の４つのモジュールから構成されている。また、図中の（Ｅｎｖ．）は、環境（Environment）を示す。
【００４５】
本発明の一実施の形態においては、特に、エージェントの行動制御の構成要素である予測部３１、計画部３３、制御部３４の働きと内発的動機の分類が似通っている事に着眼し、それぞれの構成要素の能力向上（誤差の減少）を、内発的動機の実装であると捉えている。また、タスクの選択において、これらの能力向上の進捗を利用することでタスクを継続するべきか否かを判断している点には、フロー理論の知見を取り込んでいる。
【００４６】
これにより、既存の強化学習では、自律エージェントに特定のタスクが与えられていたのに対して、自律エージェント自体が、自分の能力に見合ったタスクを自ら見つけ出して実行することができるようになっている。自律エージェントは、タスクを達成した後にも、この活動を継続することはできるので、新たに獲得した能力（学習が進んだ制御部３４）を使うことで、今までは解けなかった、より高次のタスク設定を行うことができる。こうして、自律エージェントは、制御部３４の階層的な構造を学習することが可能なようになされている。
【００４７】
予測部３１は、自律エージェントが時刻ｔに取ったアクションａtと時刻ｔのセンサ入力Ｓt（自律エージェントのおかれている環境）から時刻ｔ＋１のセンサ入力Ｓt+1が取る値を常に予測学習している。換言すれば、予測部３１は、環境を教師とした予測学習を行っている。予測部３１は、学習に、統計学習による関数近似器を使う。
【００４８】
評価部３２は、予測部３１による予測のエラー、計画部３３による計画のエラー、制御部３４による行動の制御のエラーを観測し、それをもとに、自律エージェントが達成するべきセンサ状態空間上の達成状態を設定し、目標とする達成状態（以下、目標状態とも称する）を計画部３３に与える。
【００４９】
計画部３３は、現在の状態から、評価部３２により与えられた目標状態に達するまでの行動シーケンスをプラン（計画）する。このプランには、予測部３１を使って、選択したアクションを行った場合の状態の遷移を予測し、その先でまたアクション選択を行う探索方法を取る。目標までのプランが生成できた場合には、その行動シーケンス、すなわち、１つまたは複数のアクションが順に実行される。
【００５０】
制御部３４は、計画部３３による計画と環境とを教師とした学習を実行し、自律エージェントのアクションを制御する。自律エージェントのアクションが成功した場合、制御部３４は、その入出力関係、すなわち、与えられた目標に対して実行された成功シーケンスにおける自律エージェントの環境を示すセンサ入力と、それに対して実行されたアクションを学習する。
【００５１】
すなわち、実行されたプランが成功した場合には、制御部３４により、目標状態を固定入力として、観測した状態と選択したアクションの入出力関係が学習される。これにより、制御部３４は、計画部３３が時間を掛けて生成したプランをパターンとして覚えることができ、学習を積み重ねることにより、目標を与えられることで自動的にアクションを生成することができる機能を有するようになる。
【００５２】
また、制御部３４は、これらの学習に、統計学習による関数近似器を使う。
【００５３】
予測部３１と制御部３４の学習が十分に進むと、図２に示されるように、目標状態を一つのアクションとして階層化することができる。そうして階層化された上位のレイヤでは、下位のレイヤの目標状態をアクションとして、計画部３３が、異なる目標状態の実現シーケンスを生成して新たな予測部４１と制御部４２を構成することができ、次々と、より高次の複雑な対象を制御することができる。
【００５４】
図１および図２を用いて説明した行動制御モデルによる環境のセンシングと行動の制御の具体例について説明するために、自律エージェントの一例として、一つの関節を持ち、そこにトルクを掛けることで回転するリンクを有する、単純なロボットを考える。図３に自律エージェント１０１の構成例を示す。
【００５５】
この自律エージェント１０１の出力は、関節に与えるトルク(τ)である。また、この自律エージェント１０１への入力として、現在の角度(θ)および角速度(ω)を観測することができる。また、この環境には重力(θ＝０°となる方向)も存在し、トルクは重力に比して弱いために、一定方向に最大トルクを与えても、自律エージェント１０１は、自身を真上(θ＝π（１８０°）)に持ち上げることはできない。
【００５６】
また、図３に示される自律エージェント１０１を拡張して、内部状態を有するようにすることができる。例えば、自律エージェント１０１の内部状態として、エネルギーと乳酸の２つのパラメータを与えることができる。エネルギーは、与えたトルク量に比例して減少していく。自律エージェント１０１がある位置（θE）に行くと、エネルギーは補充されて増加される。乳酸は、消費したエネルギーに比例して増大し、定常的に僅かずつ分解されて減少していく。エネルギーが無くなるか、または、乳酸が最大になると、自律エージェント１０１はトルクを出すことができなくなる。
【００５７】
内部状態を持つ自律エージェント１０１と、エネルギーの補給地（エサ）を表したのが図４である。図４においては、自律エージェント１０１の内部状態として、エネルギー（Ｅ）１１２と乳酸量（Ｌ）１１３が与えられ、餌１１１は、ある位置（θE）に設けられているものとする。
【００５８】
本発明では、このような仮想的な単純化されたエージェントについて実施例を述べるが、外界に対してアクションし、外界をセンシングできるようなエージェントであれば、本発明は、どのようなものに対しても、適応可能な手法である。
【００５９】
図４を用いて説明した自律エージェント１０１において、計画に基づいてトルクを与えられて行動するとともに、環境を取得するための構成例を図５に示す。
【００６０】
自律エージェント１０１は、所定の長さのアーム１３１を有し、アーム１３１は、ＤＣモータ１３２により回転駆動される。すなわち、上述したトルクは、ＤＣモータ１３２の回転トルクに対応する。アーム１３１の回転角は、ポテンションメータ１３３により測定される。また、アーム１３１には、例えば、その先端部分に、所定の重さの錘が備え付けられるようにしても良い
【００６１】
アーム１３１は、上述したように、ＤＣモータ１３２により発生される１方向の最大トルクだけでは、真上（θ＝１８０°）に持ち上げられることはない。すなわち、アーム１３１は、所定の角度にあるアーム１３１に重力によって与えられる加速度と、ＤＣモータ１３２によりアーム１３１に与えられるトルクとが所定の条件を満たした場合に、真上に持ち上げられる。
【００６２】
ポテンションメータ１３３は、例えば、可変抵抗によって構成されており、アーム１３１の角度により、その抵抗値が変わるため、アーム１３１の角度を検出することができる。
【００６３】
また、アーム１３１の先端部には、遮光部１３４が設けられ、餌１１１に対応する位置に設けられているフォトセンサ１３５の位置に遮光部１３４が到達して速度０となった場合（すなわち、θ＝π，ω＝０）、フォトセンサ１３５には外部からの光が照射されない。すなわち、フォトセンサ１３５が外部からの光を検知しない場合は、自律エージェント１０１が餌１１１に到達した場合に対応する。
【００６４】
図６は、図５を用いて説明したアーム１３１を有する自律エージェント１０１を制御するコントロールユニット１４１−１の構成例を示すブロック図である。
【００６５】
コントローラ１５１は、モータドライバ１５２を制御し、ＤＣモータ１３２を駆動させることにより、アーム１３１を動作させる。そして、コントローラ１５１は、ポテンションメータ１３３からの入力により、アーム１３１の現在の角度(θ)を観測し、これから角速度(ω)を検出するとともに、フォトセンサ１３５からの入力を基に、自律エージェント１０１がある位置（θE）に存在する餌１１１を取得したか否かを検出することができる。コントローラ１５１は、行動、すなわち、アーム１３１の動作と周囲の環境とを学習するとともに、これらを基に、行動を計画する。行動の計画の詳細については後述する。そして、コントローラ１５１は、計画された行動に基づいてモータドライバ１５２を制御し、ＤＣモータ１３２を駆動させることにより、アーム１３１に計画された行動を実行させる。
【００６６】
ＤＣモータ１３２の駆動により電源１４２から供給されて消費される電力量は、電力計１５３により計測され、コントローラ１５１に計測結果が供給される。コントローラ１５１は、与えたトルク量に比例して減少していくエネルギー、および、消費したエネルギーに比例して増大するとともに、定常的に僅かずつ分解されて減少していく乳酸を、電力計１５３から供給される消費電力量の計測値を基に算出することができる。
【００６７】
すなわち、図４のエネルギーおよび乳酸量は、電力計１５３から供給される消費電力と、フォトセンサ１３５から得られるセンサ入力を基に、コントローラ１５１によって計算される。
【００６８】
また、コントローラ１５１には、必要に応じて、ドライブ１５４も接続されており、ドライブ１５４には、例えば、磁気ディスク、光ディスク、光磁気ディスク、または、半導体メモリなどのリムーバブルメディア１４３が装着され、コントローラ１５１と情報を授受できるようになされている。
【００６９】
また、自律エージェント１０１が餌１１１を取得したか否かの検出には、フォトセンサ１３５を用いる以外の方法を用いるようにしてもよい。フォトセンサ１３５を用いる以外の例について、図７を用いて説明する。
【００７０】
例えば、図７に示されるように、自律エージェント１０１のアーム１３１の先端に、導電部１６１を備え、導電部１６１を電線１６２により接地させる。そして、餌１１１の位置に対応する位置に設置されている導電端子１６３に、アーム１３１の電導部６１が接した場合、コントロールユニット１４１−２に設けられているスイッチング素子１７１が通電される。スイッチング素子１７１は、コントローラ１５１と接続されており、コントローラ１５１は、スイッチング素子１７１のスイッチング、すなわち、アーム１３１が餌１１１に到達したことを検出することができる。
【００７１】
すなわち、図１および図２を用いて説明した自律行動制御モデルは、図６または図７のコントローラ１５１が有する機能を示す機能構成である。
【００７２】
次に、図１および図２を用いて説明した自律行動制御モデルの予測部３１の学習について説明する。
【００７３】
予測部３１の学習には、統計学習による関数近似器が用いられ、関数近似器として、例えば、”「Support Vector Machine（ＳＶＭ)」”Advances in Kernel Methods Support Vector Learning”, The MIT Press, 1997.”に記載されている、ＳＶＲ（Support Vector Regression）が用いられる。
【００７４】
ＳＶＭの一つのクラスとして回帰推定を行うＳＶＲがある。ＳＶＭは、分類問題を解く学習アルゴリズムとして提案された機械学習である。分類問題を解く際、ＳＶＭは学習データから分類にとって重要となるデータ（サポートベクターと称される）を抽出し、これに基づき判別面を構成する。この特性を回帰問題にも適用したのがＳＶＲである。
【００７５】
図４を用いて説明した自律エージェント１０１では、観測される状態変数はＳ＝（θ，ω，Ｅ，Ｌ）で示され、自身の取れるアクションは、Ａ＝（τ）で示される。したがって、予測部３１の予測学習では、時刻ｔのこれらの変数から、時刻ｔ＋１のそれぞれの変数を予測する以下の式（１）乃至式（４）に示される差分方程式の関数を推定する。すなわち、予測部３１による予測は、時刻ｔ＋１のそれぞれの変数を直接予測するのではなく、これらの変数の変化値（Δθ，Δω，ΔＥ，ΔＬ）を予測するものである。
【００７６】
【数１】
2006268812.tif 000003
【００７７】
【数２】
2006268812.tif 000004
【００７８】
【数３】
2006268812.tif 000005
【００７９】
【数４】
2006268812.tif 000006
【００８０】
実際には、予測部３１は、各時刻ｔにおいて、現在の変数を教師信号として、一つ前の時刻ｔ−１に観測および実行された変数を入力とした関数学習を行う。このように、予測部３１は、各時刻において学習サンプルを与えられて学習を続ける。したがって、予測部３１の予測は、始めのうちにエラーが大きくても、長い時間を経て複数の経験を得ることで、関数近似の精度を向上させることができ、予測のエラーを減少することができる。
【００８１】
また、ニューラルネットワーク等では、同様にして逐次サンプルを与えることによって漸近的に推定を行うことができるが、ここでは、汎化能力が高く、収束時間も短いＳＶＲを用いるものとする。ＳＶＲは通常バッチ型の学習機械であるが、その逐次学習のアルゴリズムとして、例えば、”Junshui Ma and James Theiler and Simon Perkins,  ”Accurate on-line support vector regression”,   Neural Computation, vol.15,11, pp2683-2703, 2003, MIT Press.”に記載されている、ＡＯＳＶＲ（Accurate Online Support Vector Regression）が提案されており、予測部３１においては、これが利用されるものとすることができる。また、ＳＶＲのカーネルとしてはガウスカーネルを用いるようにすることができる。
【００８２】
次に、計画部３３によるプランニングについて説明する。
【００８３】
計画部３３によるプランニングに必要な目標状態は、評価部３２によって与えられる。例えば、ここでは、θｄ＝π（すなわち、最も上に振りあがった状態であるθ＝１８０°）が目標状態として与えられるものとする。計画部３３は、現在の状態Ｓ０から目標状態に達するまでにアクションとして与えられるトルクシーケンスを探索によって生成する。
【００８４】
計画部３３が実行する探索においては、ヒューリスティクス探索の手法が用いられ、例えば、”J.Pearl, ”Heuristics： Intelligent Search Sttategies for Computer Problem Solving”,   Addison-Wesley, 1985.”に記載されている、Ａ＊サーチ（Ａ＊探索）のアルゴリズムを使って、自律エージェント１０１のアクションが求められるものとする。
【００８５】
以下にＡ＊サーチのアルゴリズムについて、簡単に説明する。
【００８６】
（ａ）まず、現在の状態から取り得る全てのアクションを取った場合の次状態を求め、その状態を新たなノードとして現ノードからリンクを張る（ここでは、次の状態を求めるために予測部３１を使う）。
【００８７】
（ｂ）次の状態、すなわち、（ａ）においてリンクを張った先が、既に到達した他の状態と等しければ（もしくは近ければ）、そのノードまでの到達コスト（ここでは、例えば、到達にかかる時間ステップ）を比較する。
【００８８】
（ｃ）比較した結果、コストの低い方を残し、高い方を棄てる。
【００８９】
（ｄ）次の状態において、新しくノードが生成された場合、すなわち、（ａ）においてリンクを張った先が既に到達した他の状態と異なっていたり、（ｃ）において、（ａ）でリンクを張った先がコストの低いほうとして残された場合は、それぞれの新しいノードにおいて、次の式（５）の評価関数を計算し、候補ノードに加える。
【００９０】
【数５】
2006268812.tif 000007
【００９１】
式（５）において、g(n)は、スタートノードから現在のノードまでの経路コストを示し、h(n)は、現在のノードからゴールノードまでの経路の見積りコスト（ここでは状態空間での目標までの距離を用いる）を示し、αは、重み係数（上記２つのコストの配分）を示している。
【００９２】
（ｅ）全ての候補ノードの中から評価関数の最も低いものを選んで現ノードとする。
【００９３】
（ｆ）（ｅ）において現ノードとして選択されたノードは候補ノードからはずす。
【００９４】
（ｇ）ゴール状態に等しく（もしくは十分近く）なるまで、上述した（ａ）乃至（ｆ）の操作を繰り返す。
【００９５】
計画部３３によるプランニングを基に、制御部３４は、行動、すなわち、行動シーケンスに基づいたアクションの実行を制御する。計画部３３によるプランニングと制御部３４による計画の実行（行動）の反復によって、自律エージェント１０１は、目標状態にたどり着くことができる。
【００９６】
計画部３３によるプランニングを基に、制御部３４は、行動、すなわち、行動シーケンスに基づいたアクションの実行を制御する。計画部３３によるプランニングと制御部３４による計画の実行（行動）の反復によって、自律エージェント１０１は、目標状態にたどり着くことができる。計画部３３によるプランニングと計画部３３による実行の反復について、図８乃至図１０を用いて説明する。
【００９７】
図８および図９においては、状態空間１４１において、縦軸を速度ω、横軸を位置θとし、スタート位置１５１を、実空間においてアーム１３１の向きが真下（θ＝０（０°））で速度０の位置（縦軸、横軸ともに０となる位置）としている。また、ゴール位置１５２は、実空間においてアーム１３１の向きが真上（θ＝π（１８０°））で速度０の位置であり、図中黒丸印で示されている。なお、状態空間１４１において、π＝−πであることは言うまでもなく、図中の黒丸印は、状態空間１４１の右側のみに示されているが、θ＝−π，ω＝０もゴール位置１５２に等しい。
【００９８】
更に、図８および図９においては、演算済みのノードが白丸（○）印で、候補経路が実線で、候補のノード、すなわち、経路の先端がバツ（×）印で示されている。
【００９９】
初期状態Ｓ０として、下に静止している状態（θ＝０，ω＝０）が与えられた場合、正確な（充分に学習された）予測部３１を用いて探索を実行すると、図８に示されるように、スタート位置１５１からゴール位置１５２に向かって経路が探索され、図９のように（θ，ω）空間で、ノードが広がっていき、十分に時間を掛けて探索すると、図９Ｅに示されるように、目標状態にたどり着くことができる。
【０１００】
図８に示されるように、まず、スタート位置１５１から探索が始まり、演算済みノードを基に、候補経路が算出され、それぞれの経路の先端が候補のノードとなり、候補のノードのうち、評価関数の最も低いものが現ノードとされる。
【０１０１】
すなわち、計画部３３は、上述したＡ＊サーチのアルゴリズムに基づいて、現在の状態（現ノード）から取り得る全てのアクションを取った場合の次状態を求め、その状態を新たなノードとして現ノードからリンクを張り、リンク先が既に到達した他の状態と等しい、または、近ければ、そのノードまでの到達コストを比較して、コストの低い方を残し、高い方を棄てる。このようにして、新しくノードが生成された場合、計画部３３は、新しいノードについて、上述した式（５）の評価関数を計算し、候補ノードに加える（前の候補ノードは残る）。そして、計画部３３は、全ての候補ノードの中から評価関数の最も低いもの、すなわち、一番確からしい経路を選んで次の現ノードとし、現ノードとして選択されたノードは候補ノードから外し、更に、新たな現ノードにおいて取り得る全てのアクションをとった場合の次状態を求める。
【０１０２】
そして、このようにして探索を繰り返すことにより、候補ノードのうちのいずれかが、ゴール状態に等しく、または、十分近くなったら、Ａ＊サーチのアルゴリズムに基づいた探索が終了され、計画が決まる。
【０１０３】
図９Ａ乃至図９Ｅは、計画を決めるまでの探索処理におけるノードの広がりと時間との関係を示す図である。図９Ａは、試行が開始されてから十分な時間がたっていない状態であり、図９Ｂ，図９Ｃ，図９Ｄと、時間の経過にしたがって、（θ，ω）空間で、ノードが広がっていき、探索に十分な時間を掛けることにより、図９Ｅに示されるように、目標状態であるゴール位置１５２にたどり着く行動シーケンスを求めることができる。
【０１０４】
図９に示されるようなプランは、状態遷移のモデルが正確な場合には問題がなく正解シーケンスを得ることができるが、まだ状態遷移の正確なモデルが得られておらず、状態の遷移が予測部３１によって学習されている状態である（予測部３１の学習が不十分である）場合、計画部３３は、予測部３１による誤った予測によって、誤ったシーケンスを生成してしまう。
【０１０５】
この自律エージェント１０１では、誤った予測によって作成されたプランをとりあえず実行する。この結果、自律エージェント１０１は、予測しなかったような状態へ遷移してしまうかもしれないが、予測部３１は、この実行結果も学習する。すなわち、予測部３１により、今まで経験していなかった入出力関係（現在の環境とアクションに対する次の時刻の環境の予測）が学習されるので、学習が進むにつれ、予測の誤りが修正される。これにより、計画部３３において自律エージェント１０１の行動が再度プランニングされた場合、以前の誤った予測によって作成されたプランとは異なるプランの生成結果を得ることができる。
【０１０６】
また、予測部３１においては、統計学習による関数近似器が用いられているので、学習が進むことにより、学習された入力に対する出力の予測のみならず、学習された入力の近傍の入力に対する出力の予測も改善される。
【０１０７】
また、プランを実行しても目標状態に達成しなかった場合、自律エージェント１０１自身の現状態は、初期状態から変化してしまうので、その状態から目標状態に向けて、学習が進んだ予測部３１の予測を基に次の行動シーケンス計画され、計画された行動シーケンスが実行される。このようにして、プランと実行が繰り返されていくうちに、次第に予測部３１による予測が正確になるので、計画部３３において、目標状態にたどり着くような行動シーケンスを得ることができるようになる。
【０１０８】
図１０に、（θ，ω）空間で、プランを実行する度に、プランと実行結果の誤差が減少してゆき、最終的（図１０においては５回目）には目標到達シーケンスを実行することができる例を示す。
【０１０９】
図１０においては、図８および図９と同様に、縦軸を速度ω、横軸を位置θとして、計画された行動シーケンスと実際の行動（実行）がプロットされている。計画された行動シーケンスが点線で示される軌跡で、実行が実線で示される軌跡で、それぞれ示されているとともに、計画を示す点線の先端部分（図中、「：：」が示されている位置）が目標位置（Ｇｏａｌ）となる。
【０１１０】
図１０Ａに示される試行１回目（Trial１）においては、計画と実行にずれが生じている。
【０１１１】
計画を実行して、成功しない、すなわち、目標位置に到達しなかった場合、試行１回目の終了状態から、再度目標に向かって計画が定められ、２回目の試行が実行される。
【０１１２】
図１０Ｂに示される試行２回目（Trial２）、図１０Ｃに示される試行３回目（Trial３）、および、図１０Ｄに示される試行４回目（Trial４）においても、計画と実行にはずれが生じている。しかしながら、これらの実行のたび、その結果を学習した予測部３１による予測精度が向上するため、計画と実行の差が減少していく。このようにして、各試行の終了状態から、再度目標に向かって計画が繰り返される。
【０１１３】
そして、図１０Ｅに示される試行５回目（Trial５）において、ほぼエラーがなくなり、成功シーケンスを得ることができている。
【０１１４】
このようにして、計画と実行が繰り返されることにより、予測部３１の学習が進んで、予測精度が向上する。これにより、計画部３３は、目標状態に到達することができる行動シーケンスを計画することができる。
【０１１５】
次に、制御部３４の学習について説明する。
【０１１６】
制御部３４の学習には、統計学習による関数近似器が用いられ、関数近似器として、例えば、上述したＳＶＲが用いられる。制御部３４は、成功のシーケンスが実行された場合、初期状態から目標状態に至るまでの各状態とその状態で実行したアクションの関係を、次の式（６）に示される関数として学習する。
【０１１７】
【数６】
2006268812.tif 000008
【０１１８】
図１１に、状態０から状態ｎにおいて、式（６）において実際に用いるデータの関係を表す。
【０１１９】
制御部３４は、図１１においてそれぞれ四角で囲まれた対（目標状態を固定入力とした入出力）を学習することにより、時刻ｔに観測した状態から次の時刻ｔ＋１に実行するべきアクションａt+1を決定することができるようになる。
【０１２０】
制御部３４の学習には、統計学習による関数近似器が用いられているので、成功シーケンスを学習することにより、それ以降の行動の制御において、学習された経路の近傍の行動も改善することができる。
【０１２１】
すなわち、自律エージェント１０１は、制御部３４に複数の成功シーケンス（成功体験）を繰り返し学習させることによって、次第にどの状態からでも目標状態へ向かうことのできるような制御器（制御部３４が実行するべき制御）を獲得することができる。
【０１２２】
例えば、具体的には、目標状態としてアーム１３１が振り上がった状態（θ＝π（１８０°），ω＝０）が与えられた場合、図１２に示されるように、複数の状態から目標状態までの成功シーケンスが学習サンプルとして次々と与えられていくと、制御部３４において、次第に、図１３の相図のような任意の状態から目標状態へ向かう構造、すなわち、いずれの位置からでも目標状態に到達することが可能な成功シーケンスの集合が学習される。
【０１２３】
なお、図１２および図１３においても、状態空間において、π＝−πであることは言うまでもない。
【０１２４】
この自律エージェントの場合、この関数は具体的には次の式（７）に示されるような関数となっており、時刻ｔに観測された（θ，ω）を使って、次時刻ｔ＋１のトルク出力を求めることにより、振り上がりシーケンスを生成することができるようになされている。
【０１２５】
【数７】
2006268812.tif 000009
【０１２６】
また、制御部３４が、上述した場合と同様の学習を、目標状態をパラメータとした次の式（８）に示される関数として学習した場合（目標状態と環境を入力とし、アクションを出力とした入出力を学習した場合）には、任意の状態から任意の目標状態に制御することができる制御ｇを獲得することができる。この場合には、評価部３２が生成する目標状態を次々と変更して、それに向かってプランの作成および作成されたプランの実行が繰り返して行われることにより、様々な目標状態に対する成功シーケンスが体験される。これにより、任意の状態から任意の目標状態に到達するための行動を制御することができる制御器（制御部３４が実行するべき制御）が獲得される。
【０１２７】
【数８】
2006268812.tif 000010
【０１２８】
以上説明した様に、本発明が適用された場合、評価部３２が目標となる状態を与えることで、予測部３１がエージェントの入出力関係を逐次学習し、計画部３３が予測部３１の予測を利用して、目標状態までの特定経路を探索して行動シーケンスを計画し、制御部３４の制御により、計画が実行される。そして、計画が成功して、目標状態に到達した場合、制御部３４がその経路パターン（成功シーケンス）を学習するようになされている。そして、このような学習が繰り返されることにより、自律エージェント１０１は、任意の状態から自動的に目標に到達できるような制御部３４を獲得することができるようになされている。
【０１２９】
換言すれば、予測部３１は、自分自身の取ったアクションと環境の変化（センサ入力の変化）の関係を常に学習しており、誤った計画でも実行されることによって予測部３１の予測精度が改善されていく。計画部３３は、現在の自分の状態から目標状態までを予測部３１の予測をリハースすることにより計画をたてる。そして、制御部３４は、計画された行動シーケンスを構成するアクションの実行を制御するとともに、実際に計画した行動シーケンスが成功した場合、その入出力関係を学習する。また、予測部３１の予測学習と制御部３４の制御学習には、統計学習による関数近似器（例えば、Support Vector Regression）が用いられる。また、計画部３３においては、ヒューリスティクス探索の手法（例えばＡ＊サーチ）が用いられて、行動シーケンスが生成される。
【０１３０】
すなわち、予測部３１は、大規模サンプルや、大次元入力の学習に耐える関数近似器の能力を利用することにより、次元に呪われることなく、予測学習を行うことができる。また、未熟な予測部３１で生成したプランにより、誤ったプランが実行されることでも、予測部３１は不得手な状態空間を経験し、予測性能を向上させることができる。
【０１３１】
また、計画部３３がヒューリスティクス探索の手法を用いることにより、入力の次元が増えて状態空間が大きくなっても、Ｑ学習や動的計画法を用いた場合と比較して、探索の組合せが爆発してしまうことを抑制することができる。
【０１３２】
また、成功シーケンスの学習が繰り返されることにより、制御部３４を汎化することが可能である。
【０１３３】
更に、本発明が適用された場合、目標状態を連続量のパラメータとした制御の学習を行うことが可能である。これにより、任意の状態から任意の目標状態に到達するための行動を制御することができる制御器（制御部３４が実行するべき制御）を獲得することができる。更に、本発明においては、人間の思考形態にあった学習を行うことができ、その結果、人間に理解しやすい行動パターンを生成することができる。
【０１３４】
このようにして、本発明においては、次元の呪いから開放されるために、ＳＶＭなどのパターン学習器を予測部３１や制御部３４の学習に用いて、ヒューリスティクス探索を使って広大な状態空間を効率的に探索することにより、目標とする行動シーケンスを自律的に生成することができる。また、こうした一連の流れは、上述した人間の思考形態を参考にしているために、外から人間が見てもその行動を理解しやすく、現実的な時間で解に到達できるものとなる。
【０１３５】
上述したように、目標状態の設定と、観測可能な環境の変数、または、行動を制御するための変数として選択される次元が適当である場合、予測部３１による予測学習が進むことにより、計画部３３は目標状態に到達することができる行動シーケンスをプランすることができるようになり、制御部３４は、成功シーケンスを学習することができる。
【０１３６】
しかしながら、自律エージェントの制御において、観測可能な環境の変数の次元が多い場合や、行動を制御するための変数の次元が多い場合、入出力としていずれの次元を選択するか、また、目標状態をどのようにして設定するかによって、学習が著しく進捗するときと、進捗しないときがある。すなわち、予測部３１が学習する入出力関係、または、計画部３３のプランに用いられる入出力関係、もしくは、評価部３２による目標状態の設定によって、例えば、目標到達までの過程が複雑すぎたり、現在の状態からでは目標状態が遠く、直接目標状態に到達することができる行動シーケンスを計画することが困難である場合や、選択された入出力関係に相関性がない、または、相関性が薄い場合などにおいては、現在の状態から目標状態に到達するための行動シーケンスをプランすることが困難となり、学習は進捗せず、自律エージェントは成功シーケンスを得て成長することができない。
【０１３７】
このような場合、自律エージェントは、計画部３３により、現在の状態から目標状態に到達するための行動シーケンスをプランすることができたか否かを判断し、必要に応じて、タスク(変数)またはアクションを変更する。
【０１３８】
また、評価部３２は、予測部３１、計画部３３、および、制御部３４から、それぞれ、予測誤差、計画誤差、制御誤差を取得し、予測、計画、制御が、それぞれ向上しているか否かを判断し、その結果、必要に応じて、目標状態を再設定するようになされている。目標状態が再設定されることにより、制御部３４による制御を階層化することが可能となる。
【０１３９】
予測誤差、計画誤差、制御誤差の詳細については、後述する。
【０１４０】
自律エージェントが目標設定を行い、強化学習を行うことによって制御部３４を階層化させていく手順について、図１４乃至図２４を用いて説明する。
【０１４１】
自律エージェントは、図１４に示されるように、環境として観測できる多次元の変数を有し、制御できる多次元の変数を有することができる。
【０１４２】
まず、評価部３２は、多次元の入力次元のうち特定の次元に着目する。この次元の選択指針としては、例えば、制御可能性を重視して、予測誤差の累積が少ないものを選択するようにしてもよいし、予測性能向上を重視して、予測誤差の累積が大きいものを選択してもよいし、ランダムに選択するようにしてもよい。
【０１４３】
次に、評価部３２は、選択した次元の中で目標となる状態を設定し、その目標状態を計画部３３と制御部３４−１に供給する。目標状態の設定指針としては、例えば、これまでの経験により積み上げられた学習成果を重視して、今までに経験した回数の多い状態を選択してもよいし、状態空間においてこれまでに経験していない部分を探索する必要性を重視して、今までに経験した回数の少ない状態を選択してもよいし、ランダムに選択するようにしてもよい。
【０１４４】
計画部３３は、実行可能なアクション（出力の次元）から特定の次元を選択する。アクションの選択指針としては、例えば、入力に選択された変数との相関を重視して、選択入力次元との相関が高いものを選択するようにしても良いし、ランダムに選択するようにしてもよい。
【０１４５】
計画部３３は、評価部３２により指示された目標状態に向かって、予測部３１−１による予測を利用し、選択したアクションによって、現在の状態から目標状態まで、リハースしながら探索を行う。
【０１４６】
このとき、適切なアクション次元が選択されていれば、目標状態までの解が存在するので、計画部３３により行動シーケンスが生成され、制御部３４−１の制御により実行される。そして、適切な目標状態が設定され、適切なアクション次元が選択されていれば、予測学習が進むことにより、成功シーケンスが得られ、制御部３４−１は、成功シーケンスにおける入出力関係を学習する。
【０１４７】
このように、選択した入力次元、目標状態、アクション次元の選択が適切だった場合、制御部３４−１が成功体験を学習し、性能が向上される。
【０１４８】
これに対して、設定された目標や選択したアクション次元が適切ではなく、目標に到達または近づくような行動シーケンスが計画できない場合について、図１５乃至図１７を用いて説明する。
【０１４９】
計画部３３が実行する行動シーケンスの計画に対する評価について、図１５を用いて説明する。図１５において、横軸は時間であり、縦軸は、状態空間における目標状態との相対位置を示す。Ｘgoalは、評価部３２によって与えられた目標状態を示し、Ｘplanは、計画部３３によって計画された目標状態までの行動シーケンスを示す。
【０１５０】
図１５Ａに示されるように、Ｘplanが時間の経過にしたがって、Ｘgoalから遠ざかるような場合、設定された目標や選択したアクション次元が適切ではなく、目標に到達または近づくような行動シーケンスが計画できないと判断される。
【０１５１】
また、計画部３３による目標状態までの探索が、目標状態に近づくまでの見込み時間の制限なく行われてしまっては、効率的に学習を進めることができない。すなわち、目標状態に到達するまでに非常に時間がかかってしまう、達成が非常に困難な行動シーケンスしか作成できない場合は、アクション次元を変更するなどの方法を取ったほうが、自律エージェントの学習は効率的に進む可能性がある。
【０１５２】
そこで、計画部３３は、例えば、図１５Ｂに示されるように、ＸgoalとＸ（ｔ）planの差の絶対値を積算し、その値が所定の値以上になった場合は、与えられた目標状態に到達するための行動シーケンスを生成することができないと判断するようにしてもよい。また、計画部３３は、例えば、図１５Ｃに示されるように、ＸgoalとＸplanの差の最小値が所定の数値以上である場合、与えられた目標状態に到達するための行動シーケンスを生成することができないと判断するようにしてもよい。さらに、計画部３３は、例えば、図１５Ｄに示されるように、Ｘ（ｔ）planがＸgoalに到達するまでの見込み時間が所定の値以上である場合、与えられた目標状態に到達するための行動シーケンスを生成することができないと判断するようにしてもよい。
【０１５３】
これらの判断基準により、与えられた目標状態に到達するための行動シーケンスを生成することができるか否かが判断されるが、与えられた目標状態に到達するための行動シーケンスを生成することができないと判断された場合であっても、ここでは、行動シーケンスを生成することができない原因が、設定された目標が不適切であることか、選択したアクション次元が不適切であることかは、判別することができない。
【０１５４】
計画部３３は、評価部３２により選択された入力次元において、例えば、図１５を用いて説明した様な各種条件を基にして、与えられた目標状態に到達するための行動シーケンスを生成することができるか否かを判断する。与えられた目標状態に到達するための行動シーケンスを生成することができないと判断された場合、計画部３３は、行動シーケンスを生成することができないことを評価部３２に報告するとともに、図１６に示されるように、選択したアクション次元を放棄して、複数のアクション次元から、再度、アクション次元を選択し直す。
【０１５５】
アクション次元が選択し直された場合には、目標状態と、それを実現するアクションの関係が変わるので、図１７に示されるように、新たな目標状態とアクションに対応する予測部３１−２による予測結果を用いて、計画部３３により行動シーケンスが生成され、新たな目標状態とアクションに対応する制御部３４−２により、行動シーケンスの実行が制御される。そして、成功シーケンスを得ることができた場合、制御部３４−２は、成功シーケンスを学習することができる。
【０１５６】
このようにして、目標状態と、それを実現するアクションの関係ごとに、複数の予測部３１と制御部３４が構成される。
【０１５７】
次に、プランが生成されて実行されている状態における評価部３２のタスク進捗の監視機能の例について、図１８乃至図２０を用いて説明する。
【０１５８】
図１８を用いて、評価部３２がタスク進捗を監視するために、予測部３１、計画部３３、および、制御部３４から供給される誤差情報の例について説明する。
【０１５９】
計画部３３により計画された行動シーケンスが制御部３４の制御において実行されることにより、予測部３１は、新たに経験した出入力関係を学習するとともに、自身の予測と実行結果とを比較することができる。そして、予測部３１は、その比較結果を予測誤差（推定誤差）として評価部３２に供給する。
【０１６０】
計画部３３は、今回計画された行動シーケンスにより目標状態にどれだけ近づくことができたかを表す計画の達成度を算出し、目標誤差として評価部３２に供給する。
【０１６１】
制御部３４は、行動シーケンスの実行結果の観測値と、自らの出力(アクション)を用いて、制御能力の評価に用いるための評価用行動シーケンスを生成することができる。換言すれば、制御部３４は、予測部３１の予測を基に、計画部３３と同様にして、評価用行動シーケンスを生成することができる。制御部３４は、生成した評価用行動シーケンスを、計画部３３により計画された行動シーケンスと比較することにより制御誤差（計画−実行誤差）を求めることができ、求めた制御誤差を評価部３２に供給する。
【０１６２】
評価部３２は、タスクの実行に際して、各モジュールから予測誤差（推定誤差）、目標誤差、および、制御誤差（計画−実行誤差）の、各種誤差信号を受け取ることができる。図１９に示されるように、これらの誤差信号のうちの予測誤差（推定誤差）は、心理学の内発的動機のうちの好奇動機に対応し、目標誤差は、心理学の内発的動機のうちの達成動機に対応し、制御誤差（計画−実行誤差）は、心理学の内発的動機のうちの操作動機に対応する。すなわち、評価部３２が実行するタスクの設定は、人間が内発的動機に基づいて行動を制する場合と同様にして、好奇動機、達成動機、操作動機を満たすように行われる。
【０１６３】
図２０に、計画部３３により計画された行動シーケンスが実行された場合に、それぞれの誤差を求めるために得られるデータを示す。
【０１６４】
図２０において、横軸は時間であり、縦軸は、状態空間における目標状態との相対位置を示す。Ｘgoalは、評価部３２によって与えられた目標状態を示し、Ｘplanは、計画部３３によって計画された目標状態までの行動シーケンスを示し、Ｘctrlは、予測部３１の予測を用いて制御部３４がリハースすることにより得られる評価用行動シーケンスを示し、Ｘrealは、計画部３３によって計画された行動シーケンスを実際に実行してみた結果を示している。
【０１６５】
制御部３４による制御精度を評価するための指標としては、例えば、ＸplanとＸctrlとの差の積算値を用いることができ、予測部３１による予測精度を評価するための指標としては、例えば、ＸrealとＸplanとの差の積算値を用いることができる。また、タスクによって、行動シーケンスが終了するまでにかかる時間が長くなるため、これらの評価指標値を時間で除算して得られる単位時間当たりの平均精度は、タスクに対する依存度が低い値となる。
【０１６６】
予測部３１、計画部３２、および、制御部３４は、計画された行動シーケンスの試行に対して、さまざまな方法で指標を算出することができるが、例えば、以下の式（９）乃至式（１１）に示されるような指標を生成することができる。
【０１６７】
制御部３４の成熟度を示す指標（評価値）であるスキルＥctrlは、次の式（９）で示される。
【０１６８】
【数９】
2006268812.tif 000011
【０１６９】
これは、計画部３３によりプランされる行動シーケンスと、制御部３４により生成される評価用行動シーケンスの誤差に相当する。制御部３４が十分に成功シーケンスを得て学習している場合、行動シーケンスと同等の評価用行動シーケンスを生成することができるようになる。すなわち、制御部３４の成熟度は、自律エージェントの学習により向上する「スキル」に対応する。
【０１７０】
なお、制御部３４は、自律エージェントの学習により向上する「スキル」に対応する数値を、他の方法によって算出するようにしても良い。
【０１７１】
計画部３３により計画される行動シーケンスが、自律エージェントを目標状態に導いている度合いを示す指標（評価値）である計画達成度Ｄplanは、次の式（１０）で示される。
【０１７２】
【数１０】
2006268812.tif 000012
【０１７３】
ここでは、計画部３３によりプランされる行動シーケンスの実行結果が、ゴール状態Ｘgoalに最も近づいた時の距離によって、計画の達成度を評価するようになされている。
【０１７４】
なお、計画部３３は、計画部３３によりプランされる行動シーケンスの実行結果とコール状態との関係（実行状態とゴール状態とが合致した、または、近づいているか、あるいは、到達することが困難であるか）に対応する数値を、他の方法によって算出するようにしても良い。
【０１７５】
また、予測部３１の予測精度を示す指標（評価値）である予測誤差Ｅpredは、次の式（１１）で示される。
【０１７６】
【数１１】
2006268812.tif 000013
【０１７７】
ここでは、予測誤差は、予測に基づいて立てた計画と、計画の実行結果との誤差になっている。予測部３１が充分学習をつむことにより、予測誤差は減少していく。すなわち、予測誤差の現象は、自律エージェントの学習により蓄積される「知識」に対応する。
【０１７８】
なお、予測部３１は、自律エージェントの学習により向上する「知識」に対応する数値を、他の方法によって算出するようにしても良い。
【０１７９】
行動シーケンスの試行後、上述した指標を取得した評価部３２は、それぞれの指標の評価を前回の指標と比較し、評価する。
【０１８０】
評価部３２は、予測部３１、計画部３２、および、制御部３４が算出する誤差信号の進捗を常に監視し、誤差が減少方向にあるか否かを検出している。もし、いずれかの誤差が時間推移、すなわち、行動シーケンスの計画とその試行の回数を重ねるとともに減少している場合、評価部３２は、今回のタスクによって性能向上がはかられていると判断し、この目標状態を維持（ゴールを継続）し、タスクを継続させる。
【０１８１】
評価部３２は、今回のタスクによって性能向上がはかられていないと判断した場合、タスクを中止して、図２１に示されるように、入力次元を再度選択し、目標状態を決める。
【０１８２】
入力次元が選択し直された場合には、目標状態と、それを実現するアクションの関係が変わるので、図２２に示されるように、新たな入力状態と目標状態に対応する予測部３１−２による予測結果を用いて、計画部３３により行動シーケンスが生成され、新たな入力状態と目標状態に対応する制御部３４−２により、行動シーケンスの実行が制御される。そして、成功シーケンスを得ることができた場合、制御部３４−２は、成功シーケンスを学習することができる。
【０１８３】
このようにして、入力状態と目標状態との関係ごとに、複数の予測部３１と制御部３４が構成される。
【０１８４】
次に、図２０を用いて説明した、計画部３３により計画された行動シーケンスが実行された場合に得られる指標と、タスクを継続させるか否かの判断の具体例について説明する。
【０１８５】
計画部３３により計画された行動シーケンスが実行されることにより、自律エージェントの状態がゴール状態に到達した場合、評価部３２は、スキルＥctrlを検出し、スキルＥctrlの値が前回の試行より向上していれば、タスクを引き続き行うために新しいゴール（目標状態）を設定して、次の試行に進む。
【０１８６】
計画部３３により計画された行動シーケンスが実行されることにより、自律エージェントの状態がゴールに達しなかった場合、評価部３２は、計画達成度Ｄplanを検出し、計画達成度Ｄplanが向上する、すなわち、計画部３３により計画される行動シーケンスを実行することにより、自律エージェントの状態とゴール状態との距離が近づいていれば、そのままのゴール設定において成功シーケンスを得られる可能性があるので、同じゴール設定でタスクを継続して、次の試行に進む。
【０１８７】
計画部３３により計画された行動シーケンスが実行されることにより、自律エージェントの状態がゴール状態に達してなく、更に、ゴール状態にも近づいていない場合、評価部３２は、予測誤差Ｅpredを検出し、予測誤差Ｅpredが改善しているならば、予測部３１の学習の継続によりゴール状態に近づくことが可能な行動シーケンスを計画することができるようになる可能性があるので、同一のゴール設定でタスクを継続して、次の試行に進む。
【０１８８】
計画部３３により計画された行動シーケンスが実行されることにより、上述したいずれの状態にも合致していない場合、このタスクを継続することによる能力の向上は見込めないため、評価部３２は、タスクの選択をし直す。
【０１８９】
計画部３３は、予測部３１を利用するために予測部３１の性能に依存し、制御部３４は、計画部３３が立てる実行シーケンスを学習するために計画部３３に依存する。計画部３３自体には特に学習する機能はないが、問題設定の難しさに達成度は依存する。
【０１９０】
従って、通常は、図２３に示されるように、予測、計画、制御のすべてにおいて成熟していない経験不足の段階から、予測精度は向上したが、計画能力と制御精度が未熟であるため、設定される問題が難しい（目標状態の選択が適当ではない）段階に推移する。更に、その状態から、試行を繰り返すことにより、次に、計画能力が向上する。すなわち、計画能力が向上したが、制御精度が成熟していないスキル不足の段階を経て、制御部３４の学習が進み、いかなるタスクにも対応し、問題を解決することができる「スキル」をつんだ制御部３４を得ることができる。このような進捗に対して、予測部３１、計画部３３、または、制御部３４のいずれにおいても進捗も無かった場合には、図２３に示されるいずれかの段階で成長（学習の進捗）がストップしてしまっているので、評価部３２は、タスクを変更する必要がある。
【０１９１】
このように、評価部３２には、目標入力次元を選択する機能とともに、目標状態を決定する機能がある。設定された１つの目標状態に対して上述した学習が順調に推移した場合、目標入力次元を維持したまま、目標状態を変更し、予測部３１および制御部３４に、同じ次元の、違う状態達成を学習させることができる。これにより、制御部３４は次元の状態量をパラメータとする制御を行うことができるようになる。
【０１９２】
このようにして学習が継続されることにより、自律エージェントにおいては、図１７または図２２を用いて説明した様に、ある特定の次元の目標状態を実現することができる制御部３４が複数生成されるとともに、対応する予測部３１も複数生成される。すなわち、図２４に示されるように、十分な経験を得ることができた、換言すれば、「征服した」次元ごとに、制御部３４と予測部３１の組が複数生成される。
【０１９３】
そして、上述した処理の中で計画部３３により選択されるアクション次元の候補として、自律エージェントが有する機能である既存のアクションのみならず、新たに獲得した制御部３４への出力を加えることができる。計画部３３により新たに獲得した制御部３４への出力がアクション次元として選択されることにより、制御部３４の階層構造（図２に示される制御部３４に対する制御部４２の関係）が構築される。この制御部３４にアクションを与えると、対応する下位レベルの制御部４２のアクションが生成される。
【０１９４】
また、制御部３４の下位レベルの制御部４２へのアクションに対する環境の変化は、新しい出入力関係の予測部４１として学習されることになる。従って、図２に示されるように、上位レイヤでは、下位の制御部４２の目標状態をアクションとする予測部３１および制御部３４の学習が行われる。
【０１９５】
ここで、図４を用いて説明した、単振り子動作を行うアーム１３１を有する自律エージェント１０１の入出力変数の関係を図２５に示す。
【０１９６】
観測される角度θや角速度ωは、アクションとしてトルクτを与えることで変化させることができ、乳酸Ｌの変化も、トルクτとの関連性が強い。しかしながら、エネルギーＥは、単純にトルクτを変化させても上昇することはなく、実際には、アーム１３１の角度θが特定の角度にならないと補充されない。このため、このような自律エージェント１０１において、やみくもにエネルギーの上昇を目標として、アクション次元をトルクτとし、行動シーケンスを探索しても、目標状態に到達することは困難である。
【０１９７】
以下に、単振り子動作を行うアーム１３１を有する自律エージェント１０１が上述した処理を実行した場合について説明する。
【０１９８】
まず、評価部３２は、目標入力次元を選択する。ここでは、エネルギーＥ（範囲は0.0〜1.0）が入力次元として選択されたものとする。
【０１９９】
次に、評価部３２は、エネルギーＥの目標状態の１つとして、エネルギーＥを0.8にすることを選択する。
【０２００】
計画部３３は、評価部３２により選択された目標状態に対して、自律エージェント１０１の唯一のアクション次元であるトルクτをアクション次元として選択し、予測部３１を用いて行動シーケンスを計画する。まだ充分な学習がなされていない予測部３１においては、でたらめなプランによってエネルギーＥが目標状態に上昇する解を得るので、制御部３４は、この行動シーケンスの実行を制御する。エネルギーＥを上昇させるには、アーム１３１が真上（θ＝π）に振りあがり餌１１１に到達して静止（ω＝０）しなくてはならないが、未熟な予測部３１を用いて計画された行動シーケンスにより、アーム１３１が偶発的に振り上がり、バランスを取ることはほとんど有り得ない。すなわち、この計画に対する実行は、目標状態（餌１１１）に到達することはできずに失敗する。
【０２０１】
失敗の経験によって、予測部３１は学習し、予測能力を向上させる。換言すれば、予測部３１は、トルクτとエネルギーＥは関係がないことを学習する。また、偶発的にアーム１３１が真上に振り上がって餌１１１に到達し、エネルギーＥが上昇するという経験を得たとしても、その経験を基にした予測により計画された行動シーケンスにより目標状態に到達できないことをその後に学習することにより、その時のトルクτとエネルギーＥの関係は実際には正しくないことが学習される。
【０２０２】
したがって、暫くこのタスクが繰り返されると、計画部３３は、トルクτによりエネルギーＥを上昇させるような行動シーケンスを計画することができないと判断する。計画部３３による計画能力が向上しないことは、評価部３２に報告される。これは、フロー理論でいうところの「不安」の領域に対応する。
【０２０３】
フロー理論によれば、人間は、習熟度と挑戦が釣り合っている時（フロー状態）に、その行為自体を目的として行動するようになるとされている。すなわち、フロー理論では、自身のスキル（能力）と目標の困難さが釣り合うタスクにおいて、自己の能力が伸長され、人間は、そのタスクに対してのめり込むようになると述べられている。これは、あまりにも達成困難な目標を設定しても、スキルは伸びず、一方、あまりにも達成が容易な目標を設定しても、スキルが伸びないことに対応する。このようなスキルの向上状態は、自律エージェントにおける知能モデルのゴール設定問題においても適用することができる。
【０２０４】
例えば、学習により自律エージェントの能力を向上させるにあたって、スキルが向上したらゴールを難しくする、複数ゴールを設定して適度なプランを選ぶ、難しいプランの途中までを適度なプランとして抜き出す、などの、目標状態の設定問題において、フロー理論を利用することが可能である。実際には、フロー理論を自律エージェントの能力を効率よく向上させることができる目標状態の設定に適用させるために、挑戦の度合いを正規化し、フローの範囲を規定するのは難しいことから、評価部３２は、例えば、図２６に示されるように、スキル（制御部３４の成熟度）と挑戦との関係において、スキルが低いのに、挑戦の度合いが高い状態を、問題が難しすぎて「不安」である状態とし、スキルに対して、挑戦の度合いが低い状態を、スキルが十分で「退屈」である状態であるとして、これらの状態を検出する。評価部３２は、学習の過程において、「不安」「退屈」の状態を検知して、その行為（タスク）を中止させるようにすることができる。
【０２０５】
評価部３２は、計画部３３から、「不安」状態であることの通知を受けた場合、新しい入力次元を選択し、選択した入力次元における目標状態を設定する。ここでは、新しい入力次元として、角度θが選択され、角度θの所定の値が目標状態として設定されたものとする。
【０２０６】
既に、幾つかの行動シーケンスの計画と実行が行われているので、角度θに対応する予測部３１は、状態空間のうち、過去の試行によって経験された範囲においては、それなりの予測性能を示すことが期待される。したがって、評価部３２が設定する目標状態によっては、精度の良い行動シーケンスが計画されるので、成功シーケンスが得られることも有り得る。
【０２０７】
また、評価部３２が、角速度ω、乳酸Ｌを入力次元として選択した場合においても、これらの入力次元は、角度θと同様に、トルクτをアクションとすることによって、直接的に予測し、値を操作することが可能である。すなわち、角度θ、角速度ω、乳酸Ｌの３つの次元が入力次元として選択された場合には、自律エージェントの学習が集中的に行われるが、エネルギーＥが入力次元として選択された場合には、学習が進捗せず、すぐにタスクが中断されるという事が繰り返される。
【０２０８】
このようにして学習が繰り返されていくうちに、角度θ、角速度ω、乳酸Ｌの３つの入力次元のうちの乳酸Ｌに関しては、トルクτを加えれば上昇し、トルクτを０にすれば減少するという単純な関係があるために、すぐに、スキルが向上してしまう。以後、乳酸を入力次元として選択した場合には、これ以上に学習が進捗することはない（図２６における「退屈」の状態）のでタスクはすぐに中断されてしまう。すなわち、目標乳酸値を与えるだけで、計画部３３による計画を行うことなく、制御部３４によって適切なアクション（トルクτの値）を選択することができるようになる（入力次元を乳酸Ｌとした制御部３４が充分なスキルを得る）ので、入力次元を乳酸Ｌとする学習は終了される。
【０２０９】
したがって、自律エージェントは、残る角度θ、角速度ωの２つの次元を入力次元として集中的に選択して学習することになり、学習が繰り返されることにより、同様にして、図２６における「退屈」の状態となり、目標角度θを与えるだけで、計画部３３による計画を行うことなく、制御部３４によって適切なアクション（トルクτの値）を選択することができるようになり（入力次元を角度θとした制御部３４が充分なスキルを得る）、目標角速度ωを与えるだけで、計画部３３による計画を行うことなく、制御部３４によって適切なアクション（トルクτの値）を選択することができるようになる（入力次元を角速度ωとした制御部３４が充分なスキルを得る）。
【０２１０】
そして、入力次元を角度θとした制御部３４が充分なスキルを得た後、エネルギーＥが目標入力次元として選択された場合、計画部３３は、制御次元として角度θを選択することができる。すなわち、入力次元をエネルギーＥとする制御部３３が、下位レベルの制御部４２として、入力次元を角度θとした学習済みの制御部を選択することができる。エネルギーＥと角度θには因果関係が存在するので、今までの試行において、エネルギーＥが上昇した経験があると、その時の経験を基に、エネルギーＥを上昇させるための角度θを予測することができる。
【０２１１】
計画部３３は、この予測に基づいて、入力次元を角度θとした下位レベルの制御部４２に対して、エネルギーＥを上昇させるための角度θ＝πをアクションとして出力するような行動シーケンスを計画し、上位レベルの制御部３４に実行させる。
【０２１２】
このタスクが継続されることで、目標とするエネルギー状態を実現するために角度指示値を出力することができる、入力次元をエネルギーＥとした制御部３４が、充分なスキルを得ることができる。
【０２１３】
このようにして、自律エージェントは、環境に潜む関連性によって必然的に自分の獲得できるものから学習する傾向を有し、獲得した能力を利用して、１対１の入出力関係だけからでは予測または制御が困難な目標状態に到達するためのスキルを有する制御部３４を獲得することができる。
【０２１４】
以上においては、自律エージェントが、内発的動機を利用することにより、様々な変数を制御することができるように学習を進めてスキルを向上させることができることを示したが、自律エージェントには、更に、自己の保存のために人間が生来備えている外発的動機に対応する機能と、上述した内発的動機とを組み合わせることで、生命維持活動をしながら能力を向上させるようにすることも可能である。
【０２１５】
図２７に、外発的動機の組合せの例を示す。
【０２１６】
自律エージェントは、特定の関数（例えば、エネルギーＥと乳酸Ｌなど）に、ホメオスタシス関数を設定することができる。ホメオスタシスとは、生物において、ストレスになりうる外界の環境の変化に対して、生体を安定した恒常的状態に保とうとする仕組みである。例えば、図４を用いて説明した、単振り子動作を行うアーム１３１を有する自律エージェント１０１の例では、ホメオスタシス関数として、エネルギー：１−Ｅが大きい場合は不快、小さい場合は快であると設定し、乳酸量Ｌが大きい場合は不快、小さい場合は快であると設定することができる。
【０２１７】
このようにして、外発的動機として、エネルギー量を高い状態にすると快となる信号と乳酸量が多いと不快となる信号が予め定義されるようにすることにより、自律エージェントに、生命維持活動をしながら能力を向上させることができる機能を実現させることができる。このようにして、外発的動機に対応する機能を発揮させるために必要な内部状態を設定し、その目標状態を生得的に与えることは、自律エージェントの設計における外発的動機の設定ということができる。
【０２１８】
すなわち、自律エージェントは、外発的動機によって与えられる「望むような状態」に状態量を制御しつつ、状態量の操作方法を内発的動機を利用して獲得することができる。
【０２１９】
例えば、単振り子動作を行うアーム１３１を有する自律エージェント１０１の例において、エネルギー量が所定の値以上であり、乳酸量が所定の値以下である状態を「望むような状態」として（すなわち、上述したホメオスタシス関数を設定して）、この状態が継続されるように制御させるようにすることができるとともに、内発的動機を利用して、学習が進められ、その結果、「望むような状態」を継続するための状態の操作能力も向上させるようにすることができる。
【０２２０】
すなわち、評価部３２が目標入力次元を選択する際に、外発的動機に対応する状態量（単振り子動作を行うアーム１３１を有する自律エージェント１０１の例では、エネルギー量と乳酸量）が、予め定められている状態（例えば、エネルギー量が所定の値以上であり、乳酸量が所定の値以下である状態）から外れていないかを確認して、外れている場合には、高い確率で、ホメオスタシス関数に対応する目標状態の変数を入力次元として選択するようにする。なお、外発的動機に対応する状態量が、予め定められている状態である場合には、内的動機を基に目標入力次元が選択される。
【０２２１】
これは、ホメオスタシス関数の出力を、外発的動機を基にした制御状態の発現確率とリンクさせるものであり、不快度が増大した場合、高い確率で、ホメオスタシス関数に対応する目標状態の変数が入力次元として選択される。
【０２２２】
外発的動機と内発的動機の確率的な選択には、例えば、次の式（１２）で表されるソフトマックスセレクション（ソフトマックス選択）の機構が利用可能である。
【０２２３】
【数１２】
2006268812.tif 000014
【０２２４】
ソフトマックスセレクションは、価値に基づいて確率的に行動を選択する方法である。この方法は、Boltzmann分布あるいはGibbs分布を利用したものであり、式（１２）におけるパラメータτは、温度（temperature ）と称される正の定数である。Gibbs分布を用いたソフトマックスセレクションは、温度パラメータが小さいほど、常に一番コストが低い行為を選択するグリーディ選択方式に近づき、温度パラメータが大きいほど、一様なランダム選択に近づく。
【０２２５】
式（１２）において、Ｐt（i）はi番目の動機を選択する確率を示す。また、ｖt（i）は、時刻ｔのi番目の動機の優先度を示し、外発的動機では対応する状態量の大きさで決まる。ｖt（i）は、例えば、エネルギー量が小さいときに、エネルギー量の優先度が高くなるように、次の式（１３）に示されるようにすることができる。
【０２２６】
【数１３】
2006268812.tif 000015
【０２２７】
外発的動機に関連する目標状態の変数が入力次元として選択された場合、評価部３２が目標状態を設定する際には、生得的に与えられた好ましい状態（「望むような状態」に含まれる、最も好ましい状態）を目標状態として、計画部３３に与えるものとする。
【０２２８】
単振り子動作を行うアーム１３１を有する自律エージェント１０１の例において、上述したように、ホメオスタシス関数として、エネルギー：１−Ｅが大きい場合は不快、小さい場合は快であると設定し、乳酸量Ｌが大きい場合は不快、小さい場合は快であると設定した場合では、評価部３２は、例えば、ホメオスタシス関数＝０．０（快状態）を好ましい状態として、目標状態に設定されるようにすることができる。
【０２２９】
計画部３３に与えられた、「好ましい状態」に対応する目標状態に到達する行動シーケンスがすぐに計画され、実現されるのであれば、上述したように、このタスクは「退屈」の領域に入るため、選択されなくなる。
【０２３０】
目標状態に到達する行動シーケンスが計画できない、または、計画しても達成できない場合、すなわち、上述した「不安」の領域となる場合には、このままの状態で試行を繰り返しても能力は向上しないので、評価部３２は、このタスクを諦めて、内発的動機により違う行動を取る。これは、例えば、いくらお腹が減っても、どうしようも無ければ違う行動を取った方が偶発的にエサにめぐり合える可能性があるので有利であるという状況と同義である。
【０２３１】
以上のような構成を採用し、各動作を行わせることにより、以下のような作用効果が得られる。
【０２３２】
（１）自律エージェントは、タスクに関する事前知識なしで、自己の能力を改善するための学習を行うことができる。つまり、このような構成を有する自律エージェントは、どんなタスクも柔軟にこなす可能性がある。
【０２３３】
（２）自律エージェントは、人がゴールや評価関数の設定や状態変数の選択をすることなく、単独で学習することができる。
【０２３４】
（３）自律エージェントは、複雑な問題を、簡単な問題をサブゴールとしてそれを組み上げることによって、解くことができる。
【０２３５】
（４）自律エージェントは、知識（予測部３１）やスキル（制御部３４）をどんどん獲得することができる。
【０２３６】
次に、図２８のフローチャートを参照して、本発明を適用した自律エージェントが実行する第１の処理について説明する。
【０２３７】
ステップＳ１において、評価部３１は、タスクを選択する。すなわち、評価部３１は、多くの変数の中から、目標状態として設定する変数（目標入力次元）を選択する。
【０２３８】
ステップＳ２において、計画部３３は、選択されたタスクに、まだ選択されていないアクションが残っているか否かを判断する。ステップＳ２において、選択されたタスクに、まだ選択されていないアクションが残っていないと判断された場合、処理は、ステップＳ１に戻り、新たなタスクが選択されて、それ以降の処理が繰り返される。
【０２３９】
ステップＳ２において、選択されたタスクに、まだ選択されていないアクションが残っていると判断された場合、ステップＳ３において、計画部３３は、まだ選択されていないアクションから、アクションを選択する。
【０２４０】
ステップＳ４において、評価部３２は、選択されたタスクを基に、目標状態を設定し、計画部３３に目標状態を指示する。
【０２４１】
ステップＳ５において、計画部３３は、予測部３１により予測される、上述した式（１）乃至式（４）における時刻ｔの変数から、時刻ｔ＋１のそれぞれの変数を予測する差分方程式の関数を基に、評価部３２に指示された目標に到達するための行動シーケンスを計画し、行動シーケンスを制御部３４に供給する。
【０２４２】
具体的には、計画部３３は、図８および図９を用いて説明した様にして、上述したＡ＊サーチのアルゴリズムに基づいて、現在の状態から取り得る全てのアクションを取った場合の次状態を求め、その状態を新たなノードとして現ノードからリンクを張り、リンク先が既に到達した他の状態と等しい、または、近ければ、そのノードまでの到達コストを比較して、コストの低い方を残し、高い方を棄てる。このようにして、新しくノードが生成された場合、上述した式（５）の評価関数を計算し、候補ノードに加える（前の候補ノードは残る）。そして、全ての候補ノードの中から評価関数の最も低いもの、すなわち、一番確からしい経路を選んで現ノードとし、選択されたノードは候補ノードからはずす。
【０２４３】
そして、タスクの選択やアクションの選択が不適当でなければ、このようにして探索を繰り返すことにより、候補ノードのうちのいずれかが、ゴール状態に等しく、または、十分近くなった場合、Ａ＊サーチのアルゴリズムに基づいた探索が終了され、計画が決まる。
【０２４４】
ステップＳ６において、計画部３３は、目標に到達することができる計画を生成することができたか否かを判断する。ステップＳ６において、目標に到達することができる計画を生成することができなかったと判断された場合、処理は、ステップＳ２に戻り、それ以降の処理が繰り返される。すなわち、ステップＳ２において異なるアクションが選択されるか、異なるアクションが残っていない場合は、ステップＳ１において異なるタスクが選択されて、目標状態が再度設定され、目標に到達することができる計画を生成することができるまで、ステップＳ１乃至ステップＳ６の処理が繰り返される。
【０２４５】
ステップＳ６において、目標に到達することができる計画を生成することができたと判断された場合、ステップＳ７において、制御部３４は、計画部３３により計画された行動シーケンスの実行を開始する。具体的には、制御部３４は、自律エージェント１０１が、図５を用いて説明した様なアーム１３１を有していた場合、計画部３３により計画された行動シーケンスに基づいて、アーム１３１に所望の方向にトルクをかけて回転駆動させるＤＣモータ１３２を駆動させるためにモータドライバ１５２を制御する。行動シーケンスは、１つまたは複数のアクションにより構成される。
【０２４６】
ステップＳ８において、予測部３１は、ステップＳ７において計画が実行されることにより変化した環境を示す情報（実行されたアクションａtに対して変化した環境ｓt）を取得して記録する。具体的には、例えば、自律エージェント１０１が、図５を用いて説明した様なアーム１３１を有していた場合、予測部３１は、ポテンションメータ１３３からの信号により、アーム１３１の角度(θ)を観測し、これから角速度(ω)を検出し、これらの値を記録するとともに、電力計５３から供給される消費電力値を基に、図４を用いて説明したエネルギーＥおよび乳酸量Ｌの変化量を算出して記録する。また、計画部３３は、フォトセンサ１３５からの入力により、ある位置（θE）に存在する餌１１１を取得したか否かを検出することができる。
【０２４７】
ステップＳ９において、予測部３１は、行動と環境の状態の変化を学習する。具体的には、予測部３１は、制御部３４の制御により実行されるアクションに対応して、環境の状態の変化、すなわち、式（１）乃至式（４）を用いて説明した差分方程式に示される、入力に対する出力を学習する。
【０２４８】
ステップＳ１０において、制御部３４は、計画部３３により計画された行動シーケンスの実行が終了したか、すなわち、１つの行動シーケンスに含まれる全てのアクションが実行されたか否かを判断する。ステップＳ１０において、行動シーケンスの実行が終了していないと判断された場合、処理は、ステップＳ８に戻り、それ以降の処理が繰り返される。
【０２４９】
ステップＳ１０において、行動シーケンスの実行が終了したと判断された場合、ステップＳ１１において、制御部３４は、目標は達成されたか否かを判断する。具体的には、例えば、自律エージェント１０１が、図５を用いて説明した様なアーム１３１を有していた場合、制御部３４は、アーム１３１が餌１１１に対応する位置で静止したか（アーム１３１の先端が図３のフォトセンサ１３５または図５の導電端子１６３の位置に到達して静止したか）否かを判断する。
【０２５０】
ステップＳ１１において、目標は達成された、すなわち、計画が成功したと判断された場合、ステップＳ１２において、制御部３４は、成功シーケンスを学習する。
【０２５１】
ステップＳ１１において、目標は達成されていないと判断された場合、または、ステップＳ１２の処理の終了後、ステップＳ１３において、予測部３１は予測誤差を、制御部３４は制御誤差を、計画部３３は計画誤差をそれぞれ算出し、評価部３２に供給する。
【０２５２】
例えば、予測部３１、計画部３３、および、制御部３４から供給される誤差情報としては、上述した式（９）乃至式（１１）で示される指標を用いることができる。
【０２５３】
ステップＳ１４において、評価部３２は、予測部３１から供給された予測誤差、制御部３４から供給された制御誤差、および、計画部３３から供給された計画誤差をもとに、能力が向上したか否か、すなわち、予測部３１、計画部３３、および、制御部３４から供給される誤差情報におけるいずれかの誤差が減少したか否かを判断する。ステップＳ１４において、能力が向上しないと判断された場合、そのタスクをそれ以上繰り返しても能力は向上しないと判断し、処理は、ステップＳ１に戻り、新たなタスクが選択されて、それ以降の処理が繰り返される。
【０２５４】
ステップＳ１４において、能力が向上したと判断された場合、ステップＳ１５において、ステップＳ７において実行が開始された行動シーケンスによって目標は達成されたか否かを判断（すなわち、ステップＳ１１と同一の判断）する。
【０２５５】
ステップＳ１５において、目標が達成されたと判断された場合、処理は、ステップＳ４に戻り、それ以降の処理が繰り返される。すなわち、１つの目標状態に対して上記の学習が順調に推移した場合には、目標入力次元を維持したまま、目標状態を変更し、同じ次元の、違う状態達成を学習させることができる。これにより、制御部３３は次元の状態量をパラメータとする制御を行うことができるようになる。
【０２５６】
ステップＳ１５において、目標が達成されなかったと判断された場合、処理は、ステップＳ５に戻り、それ以降の処理が繰り返される。すなわち、すなわち、目標が達成されなかった場合、計画部３３は、予測部３１の予測に基づいて再度行動シーケンスを計画する。予測部３１は、失敗した計画を実行した場合の入出力を学習しているので、計画部３３において予測部３１の予測を基に次に生成される計画は、同一の目標に対する計画であっても、以前の計画とは異なるものとなり、成功により近い計画が生成される。したがって、目標が達成されるまで、ステップＳ２乃至ステップＳ１０の処理が繰り返されることにより、予測部３１の学習が進み、図１０を用いて説明した様にして、成功シーケンスを得ることが可能となる。
【０２５７】
このような処理により、自律エージェントにおいては、人がゴールや評価関数の設定や状態変数の選択をすることなく、予測部３１および制御部３４の学習が進み、最終的には、制御部３４が十分に成功シーケンスを得て、行動シーケンスと同等の評価用行動シーケンスを生成することができる機能を有する制御器（制御部３４が実行するべき制御）を獲得することができる。
【０２５８】
また、制御部３４は、成功シーケンスを学習する以外に、失敗したシーケンスであっても、その到達した状態を目標状態に置き換えて、実行された行動シーケンスを学習することができるようにしても良い。
【０２５９】
すなわち、制御部３４には、成功シーケンスが得られずに失敗シーケンスが得られた場合にも、失敗シーケンスの結果を用いて式（６）または式（８）の関数ｇを学習させるようにすることができる。具体的には、制御部３４は、図２９に示すように、失敗シーケンスの結果として到達してしまった状態を、「真の目標値ｓd」とは別に「仮の目標値Ｓ’d」として、当初から仮の目標値Ｓ’dへの状態遷移を計画していたと仮定し、失敗シーケンスから得た時刻ｔの状態Ｓt、仮の目標状態Ｓ’d、行動ａt+1（ｔ＝１，２，・・・，Ｔ）を教師として、得られる関数ｇを教師ありで学習する。
【０２６０】
また、さらに、仮の目標値Ｓ’dの考え方を一般化すると、シーケンスの最終到着状態だけでなく、シーケンスの途中の任意の地点を仮の目標値と捉えることができる。それら経過途中の仮の目標値から、それ以前の状態および行動シーケンスを教師とすれば、通過した全ての状態を目標値にした経験強化学習が可能となる。
【０２６１】
このようにすることにより、自律エージェントは、これまで目標値としたことがない状態を目標に定めたときも、適切に制御できる可能性を向上させることができる。また、成功シーケンスだけを用いて学習していた場合と比較して、結果として、学習の速度をあげることが可能となる。
【０２６２】
また、上述した処理においては、評価部３２は、アクションの選択を、取り得る全てのアクションの中から選択するようになされており、試行の過程において、フロー理論などによって、学習の継続が選択されるものが集中的に選択されるようになされているとして説明した。これに対して、評価部３２は、それぞれの変数の相関や因果関係を基にアクションを選択することができるようにしても良い。
【０２６３】
図３０は、図４を用いて説明した自律エージェント１０１における変数間の因果関係を因果ダイアグラムで表したものである。
【０２６４】
変数間の定性的な因果関係を発見することは、例えば、人間がある対象の変動を予測しようとしたときに、その対象が何を原因に変動しているのかを突き止めようとすることに相当する。実際に人間は、無限に考えられる世界の構成要素の中からいくつかの事象を取り上げ、その中から予測対象の原因を理解（発見）することができる。このとき用いることができる情報は、環境を観察することで得られる事象（変数）の時系列情報である。
【０２６５】
因果関係に関する情報を用いていない場合、上述した式（１）乃至式（４）に示されるように、全ての変数が予測部３１の入力として取り扱われてきた。
【０２６６】
そこで、関数ｆの入力になる変数を取捨選択することを考える。このための１つの方法として、入力となる変数の組み合わせを仮説として複数生成し、その中から最も予測誤差の少ない仮説を選択する方法を考える。例えば、角度θを予測する仮説として、次式（１４）に示す関数が考えられる。
【０２６７】
【数１４】
2006268812.tif 000016
【０２６８】
式（１４）は考えられる仮説の一部である。式（１４）の場合、変数の数が５であるため、１２１通りの組み合わせが考えられる。
【０２６９】
入力変数を１つも取らないものから全ての変数を入力とするものまで、全ての組み合わせを数え上げると、５変数の場合は１２１通りの組み合わせが考えられる。このままでは、変数の数が増えるに従って組み合わせの数が爆発的に増加してしまうため、組み合わせ数の上限を決めたりするなどの工夫が必要となる。
【０２７０】
次に、これら仮説に対して同一の訓練サンプルを与えて関数近似を行う。関数近似の方法にはどのような方法を使っても良い。ここでは、Support Vector Regression（以下、SVRと略記する）を用いて学習を行う。SVRは、常に大域解が得られることが保障されており、一般的によく用いられている誤差逆伝播法に基づいたニューラルネットワークよりも安心して利用できる点が強みである。
【０２７１】
SVRを利用した学習によって、各仮説ごとに関数ｆの構造が求められる。次に、各仮説がどれだけ良い予測を行うかを、訓練サンプルとは別の評価サンプルを用いて評価する。この手法は、予測性能に対応する凡化誤差を求めるものであり、cross validationと称される。ここでは、他のどんな評価基準を用いても良いが、訓練誤差ではなく凡化誤差を求めることができる手法でなければならない。最も評価の高い仮説が選択され、十分学習が進捗した場合、正しい因果関係を得ることができる。
【０２７２】
例えば、ある変数の値を任意の値に変化させたいとする。しかしながら、その変数には直接介入することができないような場合、それ以外の変数への介入によって、間接的に介入することを考える。例えば、人間は念じるだけでは物（例えば椅子など）の位置を変化させることはできないが、自分の筋肉を収縮させることは可能である。直接には筋肉の収縮を操ることで、結果として自分の体を操り、最終的に物の位置を変化させることが可能である。
【０２７３】
これを、自律エージェントに置き換える。自律エージェントが直接操作可能な変数は、トルクτである。エネルギーＥが減ってしまったとしても、トルクτを操作することにより、直接的にエネルギーＥを補給することはできない。したがって、自律エージェントは、トルクτを変化させることで、間接的にエネルギーＥの値を上昇させることを考えなければならない。すなわち、図３０に示される因果関係が検出されている場合、自律エージェントは、トルクτを操作することにより、直接的にエネルギーＥを補給することはできないということを学習するまでに必要な試行を繰り返すことなく、エネルギーＥを補給するために、トルクτによって角度θを制御すればよい（上述した下位レベルの制御部４２を利用する）ことを認識することができる。
【０２７４】
アクションの選択を、それぞれの変数の相関や因果関係を基に選択するようにすることにより、例えば、図２８のフローチャートを用いて説明した処理のように、目標に到達する行動シーケンスが生成できない状況が発生してしまうことを防止することができる。
【０２７５】
次に、図３１のフローチャートを参照して、アクションの選択を、変数の相関や因果関係を基に選択することができる自律エージェントが実行する第２の処理について説明する。
【０２７６】
ステップＳ３１において、評価部３１は、タスクを選択する。すなわち、評価部３１は、多くの変数の中から、目標状態として設定する変数（目標入力次元）を選択する。
【０２７７】
ステップＳ３２において、計画部３３は、例えば、図３０を用いて説明した変数間の因果関係に対応する各種条件を基に、アクションを選択する。
【０２７８】
ステップＳ３３において、評価部３２は、選択されたタスクを基に、目標状態を設定し、計画部３３に目標状態を指示する。
【０２７９】
ステップＳ３４において、計画部３３は、予測部３１により予測される、上述した式（１）乃至式（４）における時刻ｔの変数から、時刻ｔ＋１のそれぞれの変数を予測する差分方程式の関数を基に、評価部３２に指示された目標に到達するための行動シーケンスを計画し、行動シーケンスを制御部３４に供給する。
【０２８０】
具体的には、計画部３３は、図８および図９を用いて説明した様にして、上述したＡ＊サーチのアルゴリズムに基づいて、行動シーケンスを計画するための探索を行う。そして、探索を繰り返すことにより、候補ノードのうちのいずれかが、ゴール状態に等しく、または、十分近くなった場合、Ａ＊サーチのアルゴリズムに基づいた探索が終了され、計画が決まる。
【０２８１】
ステップＳ３５乃至ステップＳ３８において、図２８のステップＳ７乃至ステップＳ１０と基本的に同様の処理が繰り返される。すなわち、制御部３４は、計画部３３により計画された行動シーケンスの実行を開始する。そして、予測部３１は、ステップＳ３５において計画が実行されることにより変化した環境を示す情報（実行されたアクションａtに対して変化した環境ｓt）を取得して記録する。そして、予測部３１は、行動と環境の状態の変化を学習する。次に、制御部３４は、計画部３３により計画された行動シーケンスの実行が終了したか、すなわち、１つの行動シーケンスに含まれる全てのアクションが実行されたか否かを判断し、行動シーケンスの実行が終了していないと判断された場合、処理は、ステップＳ３６に戻り、それ以降の処理が繰り返される。
【０２８２】
ステップＳ３８において、行動シーケンスの実行が終了したと判断された場合、ステップＳ３９において、制御部３４は、図２９を用いて説明した様に、目標状態に到達したか否かにかかわらず、到達した状態を目標状態に置き換えて、行動シーケンスを学習する。
【０２８３】
ステップＳ４０乃至ステップＳ４２において、図２８のステップＳ１３乃至ステップＳ１５と基本的に同様の処理が実行される。すなわち、予測部３１は予測誤差を、制御部３４は制御誤差を、計画部３３は計画誤差をそれぞれ算出し、評価部３２に供給する。評価部３２は、予測部３１から供給された予測誤差、制御部３４から供給された制御誤差、および、計画部３３から供給された計画誤差をもとに、能力が向上したか否かを判断して、能力が向上しないと判断された場合、そのタスクをそれ以上繰り返しても能力は向上しないと判断し、処理は、ステップＳ３１に戻り、新たなタスクが選択されて、それ以降の処理が繰り返される。また、能力が向上したと判断された場合、実行された行動シーケンスによって目標は達成されたか否かが判断される。
【０２８４】
目標が達成されたと判断された場合、処理は、ステップＳ３３に戻り、それ以降の処理が繰り返される。また、目標が達成されなかったと判断された場合、処理は、ステップＳ３４に戻り、それ以降の処理が繰り返される。
【０２８５】
このような処理により、自律エージェントにおいては、人がゴールや評価関数の設定や状態変数の選択をすることなく、変数の因果関係を基に、効率よくアクションを選択して、予測部３１および制御部３４の学習を進捗させることができる。また、更に、自律エージェントにおいては、成功シーケンスが得られない場合であっても、到達した状態を目標状態に置き換えることにより、制御部３４の学習の進捗を促進させることができる。
【０２８６】
自律エージェントは、最終的には、制御部３４が十分に成功シーケンスを得て、行動シーケンスと同等の評価用行動シーケンスを生成することができる機能を有する制御器（制御部３４が実行するべき制御）を獲得することができる。
【０２８７】
次に、図３２のフローチャートを参照して、外発的動機を基に行動を制御することができるようになされている自律エージェントが実行する第３の処理について説明する。
【０２８８】
ステップＳ６１において、評価部３１は、タスクを選択する。すなわち、評価部３１は、多くの変数の中から、目標状態として設定する変数（目標入力次元）を選択する。
【０２８９】
ステップＳ６２において、計画部３３は、上述した変数間の因果関係に対応する各種条件を基に、アクションを選択する。
【０２９０】
ステップＳ６３において、評価部３２は、外発的動機が設定されているか否かを判断する。
【０２９１】
ステップＳ６３において、外発的動機が設定されていると判断された場合、ステップＳ６４において、評価部３２は、生得目標状態、すなわち、上述したホメオスタシス関数に基づいた目標状態を設定する。
【０２９２】
ステップＳ６３において、外発的動機が設定されていないと判断された場合、ステップＳ６５において、評価部３２は、ランダムに目標状態を設定する。
【０２９３】
ステップＳ６４またはステップＳ６５の処理の終了後、ステップＳ６６乃至ステップＳ７２において、図３１のステップＳ３４乃至ステップＳ４０と基本的に同様の処理が実行される。
【０２９４】
すなわち、計画部３３は、予測部３１により予測される差分方程式の関数を基に、評価部３２に指示された目標に到達するための行動シーケンスを計画し、行動シーケンスを制御部３４に供給する。制御部３４は、計画部３３により計画された行動シーケンスの実行を開始する。そして、予測部３１は、ステップＳ３５において計画が実行されることにより変化した環境を示す情報（実行されたアクションａtに対して変化した環境ｓt）を取得して記録する。そして、予測部３１は、行動と環境の状態の変化を学習する。次に、制御部３４は、計画部３３により計画された行動シーケンスの実行が終了したか、すなわち、１つの行動シーケンスに含まれる全てのアクションが実行されたか否かを判断し、行動シーケンスの実行が終了していないと判断された場合、処理は、ステップＳ６８に戻り、それ以降の処理が繰り返される。行動シーケンスの実行が終了したと判断された場合、制御部３４は、図２９を用いて説明した様に、目標状態に到達したか否かにかかわらず、到達した状態を目標状態に置き換えて、行動シーケンスを学習する。そして、予測部３１は予測誤差を、制御部３４は制御誤差を、計画部３３は計画誤差をそれぞれ算出し、評価部３２に供給する。
【０２９５】
ステップＳ７３において、評価部３２は、外発的動機の優先度は高いか否かを判断する。変数の選択に外発的動機を用いるか内発的動機を用いるかは、上述したように、式（１２）に示されるソフトマックスセレクションの機構を基に選択することが可能であり、そのとき、時刻ｔのi番目の動機の優先度を示すｖt（i）を、式（１３）に示されるように設定した場合、外発的動機として設定されたホメオスタシス関数による値が、「不快」の状態になると、外発的動機の優先度は高くなる。
【０２９６】
ステップＳ７３において、外発的動機の優先度が高いと判断された場合、ステップＳ７４において、評価部３２は、ホメオスタシス関数として設定された変数が、「不快」の状態から「快」の状態（好ましい状態）となるように、入出力の変数を選択して設定し、処理は、ステップＳ６２に戻り、選択された変数において、それ以降の処理が繰り返される。
【０２９７】
ステップＳ７３において、外発的動機の優先度が高くないと判断された場合、ステップＳ７５およびステップＳ７６において、図３１のステップＳ４１およびステップＳ４２と基本的に同様の処理が実行される。すなわち、評価部３２は、予測部３１から供給された予測誤差、制御部３４から供給された制御誤差、および、計画部３３から供給された計画誤差をもとに、能力が向上したか否かを判断して、能力が向上しないと判断された場合、そのタスクをそれ以上繰り返しても能力は向上しないと判断し、処理は、ステップＳ６１に戻り、新たなタスクが選択されて、それ以降の処理が繰り返される。また、能力が向上したと判断された場合、実行された行動シーケンスによって目標は達成されたか否かが判断される。目標が達成されたと判断された場合、処理は、ステップＳ６３に戻り、それ以降の処理が繰り返される。また、目標が達成されなかったと判断された場合、処理は、ステップＳ６６に戻り、それ以降の処理が繰り返される。
【０２９８】
このような処理により、自律エージェントにおいては、人がゴールや評価関数の設定や状態変数の選択をすることなく、変数の因果関係を基に、効率よくアクションを選択して、予測部３１および制御部３４の学習を進捗させることができるとともに、外発的動機を用いて、生存状態を維持しつつ、学習を継続していくことが可能となる。また、更に、自律エージェントにおいては、成功シーケンスが得られない場合であっても、到達した状態を目標状態に置き換えることにより、制御部３４の学習の進捗を促進させることができる。
【０２９９】
自律エージェントは、最終的には、制御部３４が十分に成功シーケンスを得て、行動シーケンスと同等の評価用行動シーケンスを生成することができる機能を有する制御器（制御部３４が実行するべき制御）を獲得することができる。
【０３００】
すなわち、本発明が適用される場合、人がゴールや評価関数の設定や状態変数の選択をすることなく、評価部３２が目標となる状態を適正に設定することができ、予測部３１がエージェントの入出力関係を逐次学習し、計画部３３が予測部３１の予測を利用して、目標状態までの特定経路を探索し、制御部３４がその経路パターンを学習するようになされている。そして、任意の状態から自動的に目標に到達できるような制御部３４をエージェントが自ら試行錯誤を重ねて獲得することができるようになされている。
【０３０１】
換言すれば、予測部３１は、自分の取ったアクションと環境の変化（センサ）の関係を常に学習しており、計画部３３は、現在の自分の状態から目標状態までを予測部３１をリハースすることにより計画をたてる。そして、制御部３４は、計画された行動の実行を制御するとともに、その入出力関係を学習する。誤った計画でも実行されることによって予測部３１が改善されていく。また、予測学習と制御学習には統計学習による関数近似器（例えば、Support Vector Regression）が用いられる。また、計画部３３においては、ヒューリスティクス探索の手法（例えばＡ＊サーチ）が用いられる。
【０３０２】
これにより、大規模サンプル、大次元入力の学習に耐える関数近似器の能力を使うことにより、次元に呪われることなく、予測学習を行うことができる。また、未熟な予測部３１で生成したプランにより、誤ったプランが実行されることで予測部３１が不得手な状態空間を経験し、予測部３１の性能を向上させることができる。
【０３０３】
また、ヒューリスティクス探索の手法を使うことで、入力の次元が増えて状態空間が大きくなっても、Ｑ学習や動的計画法のように探索の組み合わせが爆発することがない。また、成功シーケンスの学習により、制御部３４が汎化される。
【０３０４】
また、目標状態を連続量のパラメータとした制御の学習が行われる。更に、人間の思考形態にあった学習を行うことができ、人間に理解しやすい行動パターンを生成することができる。
【０３０５】
これらに加えて、本発明が適用される場合、自律エージェントは、タスクに関する事前知識なしで、自己の能力を改善するための学習を行うことができる。つまり、このような構成を有する自律エージェントは、どんなタスクも柔軟にこなす可能性がある。
【０３０６】
本発明を適用した自律エージェントは、人がゴールや評価関数の設定や状態変数の選択をすることなく、単独で学習することができるとともに、複雑な問題を解くために、簡単な問題をサブゴールとして組み上げることができ、複雑な問題を解くための知識（予測部３１）やスキル（制御部３４）を獲得することができる。
【０３０７】
また、本発明を適用した自律エージェントは、外発的動機を用いて、生存状態を維持しつつ、学習を継続していくことができる。
【０３０８】
更に、本発明を適用した自律エージェントは、図２９を用いて説明した仮の目標値を設定することにより、成功シーケンスを得られない場合においても、制御を学習することができ、図３０を用いて説明した様な変数の相関関係を求めることにより、効率よく学習を進捗させることが可能なアクション次元を優先的に選択することが可能となる。
【０３０９】
上述した一連の処理は、ソフトウェアにより実行することができ、また、同様の機能を有するハードウェアにより実現することも可能である。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０３１０】
この記録媒体は、図６に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク（ＭＤ(Mini-Disk)（商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア１４３などにより構成される。
【０３１１】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０３１２】
【図１】自律行動制御モデルの基本構成例を示す図である。
【図２】階層化の例を示す図である。
【図３】自律エージェントの例を示す図である。
【図４】内部状態を持つ自律エージェントの例を示す図である。
【図５】図２の自律エージェントの構成例について説明するための図である。
【図６】図３のアームを有する自律エージェントを制御する制御部の構成例について説明するための図である。
【図７】図３のアームを有する自律エージェントを制御する制御部の異なる構成例について説明するための図である。
【図８】プランニングと実行の反復について説明するための図である。
【図９】プランニングと実行の反復について説明するための図である。
【図１０】プランと実行を繰り返しにより目標状態にたどり着くようなシーケンスを得ることについて説明するための図である。
【図１１】初期状態から目標状態に至るまでの各状態とその状態で実行したアクションの関係を関数として学習する場合のデータの関係を示す図である。
【図１２】学習サンプルとして与えられる複数の状態から目標状態までの成功シーケンスを示す図である。
【図１３】任意の状態から目標状態へ向かう構造を示す図である。
【図１４】実行フローの例を示す図である。
【図１５】プランの評価について示す図である。
【図１６】実行フローの他の例を示す図である。
【図１７】実行フローのさらに他の例を示す図である。
【図１８】実行フローの例を示す図である。
【図１９】内発的動機の実装の例を示す図である。
【図２０】タスクによって得られるデータの例を示す図である。
【図２１】実行フローの他の例を示す図である。
【図２２】実行フローのさらに他の例を示す図である。
【図２３】モジュールの成長段階の例を示す図である。
【図２４】制御部３４の生成の例を示す図である。
【図２５】単振り子エージェントにおける実現イメージを示す図である。
【図２６】フロー理論について示す図である。
【図２７】外発的動機との組合せを示す図である。
【図２８】第１の処理について説明するためのフローチャートである。
【図２９】真の目標値と仮の目標値について説明するための図である。
【図３０】自律エージェントにおける因果ダイアグラムについて説明するための図である。
【図３１】第２の処理について説明するためのフローチャートである。
【図３２】第３の処理について説明するためのフローチャートである。
【符号の説明】
【０３１３】
３１  予測部，  ３２  評価部，  ３３  計画部３３  制御部，  ４１  予測部，  ４２  制御部，  １０１  自律エージェント，  １１１  餌，  １１２  エネルギー，  １１３  乳酸量，  ２０１  状態空間，  ２１１  スタート位置，  ２１２  ゴール位置
【図１】
2006268812.tif 000017
【図２】
2006268812.tif 000018
【図３】
2006268812.tif 000019
【図４】
2006268812.tif 000020
【図５】
2006268812.tif 000021
【図６】
2006268812.tif 000022
【図７】
2006268812.tif 000023
【図８】
2006268812.tif 000024
【図９】
2006268812.tif 000025
【図１０】
2006268812.tif 000026
【図１１】
2006268812.tif 000027
【図１２】
2006268812.tif 000028
【図１３】
2006268812.tif 000029
【図１４】
2006268812.tif 000030
【図１５】
2006268812.tif 000031
【図１６】
2006268812.tif 000032
【図１７】
2006268812.tif 000033
【図１８】
2006268812.tif 000034
【図１９】
2006268812.tif 000035
【図２０】
2006268812.tif 000036
【図２１】
2006268812.tif 000037
【図２２】
2006268812.tif 000038
【図２３】
2006268812.tif 000039
【図２４】
2006268812.tif 000040
【図２５】
2006268812.tif 000041
【図２６】
2006268812.tif 000042
【図２７】
2006268812.tif 000043
【図２８】
2006268812.tif 000044
【図２９】
2006268812.tif 000045
【図３０】
2006268812.tif 000046
【図３１】
2006268812.tif 000047
【図３２】
2006268812.tif 000048