"画像の前景の位置に対応するニューロンである位置ノードからなる前景層と、画像の背景に対応するニューロンである背景ノードからなる背景層と、前記背景に前記前景が重畳されている画像の画素に対応するニューロンである画素ノードからなる画像層とを有し、前記位置ノード、前記背景ノード、及び、前記画素ノードが、相互に接続されているニューラルネットワークである見え/位置認識ネットワークの学習を、前記位置ノードと画素ノードとの間の結合加重である第1の重み、前記位置ノードと背景ノードとの間の結合加重である第2の重み、及び、前記背景ノードと画素ノードとの間の結合加重である第3の重みを拘束し、学習用の画像を用いて行うネットワーク学習部を備え、前記位置ノードは、入力値として入力される、前記前景の位置を表す位置情報に対応する値を出力し、前記背景ノードは、前記位置ノードの出力の重み付け加算を含む演算によって得られる値を出力し、前記画素ノードは、前記位置ノードの出力の重み付け加算、及び、前記背景ノードの出力の重み付け加算を含む演算によって得られる値を出力する情報処理装置。前記ネットワーク学習部は、任意の2つの位置ノードについて、前記2つの位置ノードのうちの一方の位置ノードに対応する位置から所定の位置関係の位置にある画素に対応する画素ノードと前記一方の位置ノードとの間の第1の重みと、前記2つの位置ノードのうちの他方の位置ノードに対応する位置から前記所定の位置関係の位置にある画素に対応する画素ノードと前記他方の位置ノードとの間の第1の重みとが、同一の値になるように、前記第1の重みを拘束し、各位置ノードについて、前記位置ノードに対応する位置を基準とする所定の範囲内の背景に対応する背景ノードと前記位置ノードとの間の第2の重みを、前記背景ノードの発火を抑制する固定値に拘束して、前記見え/位置認識ネットワークの学習を行う請求項1に記載の情報処理装置。前記ネットワーク学習部は、さらに、各背景ノードについて、前記背景ノードに対応する背景の画素以外の画素に対応する画素ノードとの間の第3の重みを0に拘束して、前記見え/位置認識ネットワークの学習を行う請求項2に記載の情報処理装置。前記ネットワーク学習部は、前記見え/位置認識ネットワークの前記画素ノードから出力される値を画素値とする画像である予測画像の、前記学習用の画像に対する誤差を小さくするように、前記見え/位置認識ネットワークの学習を行う請求項3に記載の情報処理装置。物体を動かす運動指令に従って動く物体を前景として含む画像の系列に対する前記予測画像の誤差を小さくする、前記見え/位置認識ネットワークの前記位置ノードの入力値となる前記位置情報の系列と、前記運動指令の系列とを用いて、MTRNNの学習を行うMTRNN学習部と、前記運動指令の系列と前記画像の系列とを含む、前記運動指令に従って動く物体の識別に用いる識別用データに含まれる前記運動指令の系列の入力に対して、前記MTRNNから出力される位置情報の予測値の系列の誤差に基づいて、前記識別用データに含まれる前記画像の中の前景が、前記識別用データに含まれる運動指令に従って動く物体であるかどうかを識別する識別部とをさらに備える請求項4に記載の情報処理装置。前記MTRNN学習部は、前記位置ノードの入力値のうちの最大の入力値の位置ノードの周辺の位置ノードの入力値と、前記最大の入力値とが所定の関係になるように前記入力値を補正した、補正後の位置ノードの入力値を、前記位置情報として用いて、前記MTRNNの学習を行う請求項5に記載の情報処理装置。前記MTRNNは、前記位置情報が入出力されるニューロンからなる位置入出力層と、前記運動指令が入出力されるニューロンからなる運動指令入出力層と、前記位置入出力層、及び、前記運動指令入出力層のそれぞれと接続される、所定の時定数で記憶値が更新されるニューロンからなる第1のコンテキスト層と、前記第1のコンテキスト層と接続される、前記所定の時定数よりも大の時定数で記憶値が更新されるニューロンからなる第2のコンテキスト層とを有する請求項5に記載の情報処理装置。前記見え/位置認識ネットワークは、前記背景ノード、及び、前記画素ノードのそれぞれと接続される複数の前景層を有する請求項5に記載の情報処理装置。画像の前景の位置に対応するニューロンである位置ノードからなる前景層と、画像の背景に対応するニューロンである背景ノードからなる背景層と、前記背景に前記前景が重畳されている画像の画素に対応するニューロンである画素ノードからなる画像層とを有し、前記位置ノード、前記背景ノード、及び、前記画素ノードが、相互に接続されているニューラルネットワークである見え/位置認識ネットワークの学習を、前記位置ノードと画素ノードとの間の結合加重である第1の重み、前記位置ノードと背景ノードとの間の結合加重である第2の重み、及び、前記背景ノードと画素ノードとの間の結合加重である第3の重みを拘束し、学習用の画像を用いて行うステップを含み、前記位置ノードは、入力値として入力される、前記前景の位置を表す位置情報に対応する値を出力し、前記背景ノードは、前記位置ノードの出力の重み付け加算を含む演算によって得られる値を出力し、前記画素ノードは、前記位置ノードの出力の重み付け加算、及び、前記背景ノードの出力の重み付け加算を含む演算によって得られる値を出力する情報処理方法。画像の前景の位置に対応するニューロンである位置ノードからなる前景層と、画像の背景に対応するニューロンである背景ノードからなる背景層と、前記背景に前記前景が重畳されている画像の画素に対応するニューロンである画素ノードからなる画像層とを有し、前記位置ノード、前記背景ノード、及び、前記画素ノードが、相互に接続されているニューラルネットワークである見え/位置認識ネットワークの学習を、前記位置ノードと画素ノードとの間の結合加重である第1の重み、前記位置ノードと背景ノードとの間の結合加重である第2の重み、及び、前記背景ノードと画素ノードとの間の結合加重である第3の重みを拘束し、学習用の画像を用いて行うネットワーク学習部として、コンピュータを機能させるためのプログラムであり、前記位置ノードは、入力値として入力される、前記前景の位置を表す位置情報に対応する値を出力し、前記背景ノードは、前記位置ノードの出力の重み付け加算を含む演算によって得られる値を出力し、前記画素ノードは、前記位置ノードの出力の重み付け加算、及び、前記背景ノードの出力の重み付け加算を含む演算によって得られる値を出力するプログラム。ところで、エージェントにおいて、エージェントが観察することができる画像、すなわち、カメラで撮影された画像から、物体の位置情報を得るには、画像の中の、位置情報を得ようとする物体を認識する必要があり、そのためには、その物体の学習を行う必要がある。画像の中の物体を学習するには、画像の中から、その物体が映っている部分である前景を抽出する必要がある。画像の中から、ある物体が映っている前景を抽出する方法としては、物体に、その物体を特定するためのマーキングを行っておき、マーキングを含む閉領域を、前景として抽出する方法や、物体が動くことを前提として、フレーム間差分に基づき、画像の中の動いている閉領域を、前景として抽出する方法がある。しかしながら、物体にマーキングを行うことや、画像から閉領域を抽出することは面倒である。なお、前景の抽出するその他の方法としては、事前に、何らかの方法で背景を取得しておき、画像から、背景との差分が大きい領域を前景として抽出する方法や、人の顔や既知の物体等の特定の前景の認識専用に学習を行った認識器を用いて、画像中の前景を認識する方法があるが、事前に背景を取得しておくことや、認識器の学習を行うことは、やはり、面倒である。本技術は、このような状況に鑑みてなされたものであり、ロボット等の、アクションを行うことが可能なエージェントがアクションを行う環境中の物体等の学習を、容易に行うことができるようにするものである。本技術の一側面の情報処理装置、又は、プログラムは、画像の前景の位置に対応するニューロンである位置ノードからなる前景層と、画像の背景に対応するニューロンである背景ノードからなる背景層と、前記背景に前記前景が重畳されている画像の画素に対応するニューロンである画素ノードからなる画像層とを有し、前記位置ノード、前記背景ノード、及び、前記画素ノードが、相互に接続されているニューラルネットワークである見え/位置認識ネットワークの学習を、前記位置ノードと画素ノードとの間の結合加重である第1の重み、前記位置ノードと背景ノードとの間の結合加重である第2の重み、及び、前記背景ノードと画素ノードとの間の結合加重である第3の重みを拘束し、学習用の画像を用いて行うネットワーク学習部を備え、前記位置ノードは、入力値として入力される、前記前景の位置を表す位置情報に対応する値を出力し、前記背景ノードは、前記位置ノードの出力の重み付け加算を含む演算によって得られる値を出力し、前記画素ノードは、前記位置ノードの出力の重み付け加算、及び、前記背景ノードの出力の重み付け加算を含む演算によって得られる値を出力する情報処理装置、又は、情報処理装置として、コンピュータを機能させるためのプログラムである。本技術の一側面の情報処理方法は、画像の前景の位置に対応するニューロンである位置ノードからなる前景層と、画像の背景に対応するニューロンである背景ノードからなる背景層と、前記背景に前記前景が重畳されている画像の画素に対応するニューロンである画素ノードからなる画像層とを有し、前記位置ノード、前記背景ノード、及び、前記画素ノードが、相互に接続されているニューラルネットワークである見え/位置認識ネットワークの学習を、前記位置ノードと画素ノードとの間の結合加重である第1の重み、前記位置ノードと背景ノードとの間の結合加重である第2の重み、及び、前記背景ノードと画素ノードとの間の結合加重である第3の重みを拘束し、学習用の画像を用いて行うステップを含み、前記位置ノードは、入力値として入力される、前記前景の位置を表す位置情報に対応する値を出力し、前記背景ノードは、前記位置ノードの出力の重み付け加算を含む演算によって得られる値を出力し、前記画素ノードは、前記位置ノードの出力の重み付け加算、及び、前記背景ノードの出力の重み付け加算を含む演算によって得られる値を出力する情報処理方法である。以上のような一側面においては、画像の前景の位置に対応するニューロンである位置ノードからなる前景層と、画像の背景に対応するニューロンである背景ノードからなる背景層と、前記背景に前記前景が重畳されている画像の画素に対応するニューロンである画素ノードからなる画像層とを有し、前記位置ノード、前記背景ノード、及び、前記画素ノードが、相互に接続されているニューラルネットワークである見え/位置認識ネットワークの学習が、学習用の画像を用いて行われる。見え/位置認識ネットワークの学習では、前記位置ノードと画素ノードとの間の結合加重である第1の重み、前記位置ノードと背景ノードとの間の結合加重である第2の重み、及び、前記背景ノードと画素ノードとの間の結合加重である第3の重みが拘束される。見え/位置認識ネットワークにおいて、前記位置ノードは、入力値として入力される、前記前景の位置を表す位置情報に対応する値を出力し、前記背景ノードは、前記位置ノードの出力の重み付け加算を含む演算によって得られる値を出力し、前記画素ノードは、前記位置ノードの出力の重み付け加算、及び、前記背景ノードの出力の重み付け加算を含む演算によって得られる値を出力する。なお、情報処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。本技術の一側面によれば、エージェントがアクションを行う環境中の物体等の学習を、容易に行うことができる。[本技術を適用したエージェントの一実施の形態]図1は、本技術を適用したエージェントの一実施の形態の概要を説明する図である。図1において、エージェントは、そのエージェントの身体を動かす運動指令を発し、エージェントの身体は、そのエージェントが発する運動指令に従って動く。例えば、エージェントの身体であるハンドは、そのエージェントが発する運動指令に従って動く。エージェントは、そのエージェントの身体であるハンドがおかれている環境を、視覚を通じて知覚し、すなわち、カメラで撮影し、その結果得られる画像を用いて、エージェントがおかれている環境を学習する。図1では、他の物体と接触することによって動く非身体の物体エージェントの身体ではない物体が存在するテーブルに、エージェントのハンドがおかれている。エージェントは、運動指令を発することにより、そのハンドを動かしながら、エージェントがおかれている環境を、カメラで撮影し、エージェントがおかれている環境の画像を獲得する。図1において、エージェントが獲得する画像には、背景としてのテーブルの他、前景としての物体であるハンド及び非身体が映るが、エージェントは、環境中のテーブル、ハンド、及び、非身体について、事前知識を有していない。また、エージェントがハンドを動かしたときに、ハンドが、テーブル上の非身体と接触すると、非身体は、ハンドの動きに応じて動くことがある。エージェントは、運動指令に従って動くハンド、及び、そのハンドが接触したときに動くことがある非身体、並びに、それらのハンドと非身体がおかれたテーブルが映る画像を用いて、その画像の前景である物体ハンド及び非身体、並びに、背景であるテーブルの学習を行い、前景及び背景それぞれの見えを獲得する。さらに、エージェントは、運動指令の系列と、その運動指令に従って動くハンドが映る画像とを用いて、画像に映る各物体が、運動指令に従って動くハンドであるかどうかを識別する。なお、非身体の物体としては、運動指令に従って動くハンドが接触しない限り動かない物体を採用することもできるし、ハンドが接触していなくても、エージェントの運動指令に関係なく動く物体例えば、他のエージェントのハンド等を採用することができる。また、非身体の物体として、エージェントの運動指令に関係なく動く物体を採用する場合、その非身体の物体が、運動指令に従って動くハンドと接触したときに、その接触によって、非身体の物体が動くという設定を採用することもできるし、ハンドと接触しても、その接触によっては、非身体の物体は動かないという設定を採用することもできる。図2は、本技術を適用したエージェントの一実施の形態の構成例を示すブロック図である。図2において、エージェントは、カメラ11、アクション制御部12、駆動部13、データ記憶部14、ネットワーク記憶部15、学習部16、認識生成部19、及び、識別部20を有する。カメラ11は、エージェントの視覚としての役割を有し、エージェントがおかれた環境を所定のフレームレートで撮影し、その結果得られる画像エージェントが観測することができる観測値を、データ記憶部14に供給する。アクション制御部12は、エージェントのハンド等の身体を動かす制御信号としての運動指令を発し、駆動部13、及び、データ記憶部14に供給する。駆動部13は、エージェントのハンド等の身体を駆動するアクチュエータであり、アクション制御部12からの運動指令に従って駆動する。駆動部13が運動指令に従って駆動することにより、エージェントのハンド等の身体が動く。なお、以下では、アクション制御部12は、例えば、エージェントのハンドを動かす運動指令を発することとする。データ記憶部14は、カメラ11から供給される画像、及び、アクション制御部12から供給される運動指令を、時系列に記憶する。なお、データ記憶部14では、カメラ11から供給される画像と、アクション制御部12から供給される運動指令とが対応付けて記憶される。すなわち、データ記憶部14では、例えば、アクション制御部12から供給される運動指令と、その運動指令に従って動いた直後のハンドを含む環境が撮影された画像とが対応付けて記憶される。ネットワーク記憶部15は、人の脳の一部を模した内部モデルとして、ニューロンを模したモデルが接続されたネットワークを記憶する。ここで、本実施の形態において、ネットワーク記憶部15に記憶されたネットワークは、エージェントが、そのエージェントの身体であるハンドを識別するためのネットワークであり、以下、識別ネットワークともいう。ネットワーク記憶部15には、見え/位置認識ネットワークと、MTRNNとが、識別ネットワークとして記憶される。識別ネットワークとしての見え/位置認識ネットワークは、画像のみを用いた学習により、その画像の前景及び背景のそれぞれの見えを獲得する。学習済みの見え/位置認識ネットワークによれば、画像から、その画像の前景の位置を認識することができ、また、前景の位置を与えることにより、その位置に前景がある画像の予測値を生成することができる。識別ネットワークとしてのMTRNNは、運動指令と、その運動指令に従って動く物体としての、例えば、エージェントのハンドが少なくとも映った画像上の、そのハンドの位置を表す位置情報とを用いた学習により、運動指令とハンドの位置ハンドの位置の軌跡動きとの関係を獲得する。学習済みのMTRNNによれば、運動指令の系列から、その運動指令の系列に従って動く物体としてのハンドの位置情報の予測値の系列を生成することや、ハンドの位置情報の系列から、そのような位置情報の系列を描くようにハンドを動かす運動指令の予測値の系列を生成すること等ができる。学習部16は、データ記憶部14に記憶された画像や運動指令を、識別ネットワークの学習用のデータ学習用データとして用いて、ネットワーク記憶部15に記憶された識別ネットワークの学習を行う。すなわち、学習部16は、ネットワーク学習部17とMTRNN学習部18とを有する。ネットワーク学習部17は、データ記憶部14に記憶された画像を用いて、ネットワーク記憶部15に記憶された見え/位置認識ネットワークの学習を行う。MTRNN学習部18は、データ記憶部14に記憶された画像から認識される、その画像の前景の位置情報、及び、運動指令を用いて、ネットワーク記憶部15に記憶されたMTRNNの学習を行う。ここで、MTRNN学習部18でのMTRNNの学習に用いられる画像の前景の位置情報は、その画像を、見え/位置認識ネットワークに与えて認識される。認識生成部19は、ネットワーク記憶部15に記憶された識別ネットワークとしてのMTRNNを用いて、データ記憶部14に記憶された運動指令を認識する認識処理や、データ記憶部14に記憶された運動指令から、その運動指令に従って動く物体の位置情報の予測値を生成する生成処理を行う。また、認識生成部19は、ネットワーク記憶部15に記憶された識別ネットワークとしての見え/位置認識ネットワークを用いて、データ記憶部14に記憶された画像から、その画像の前景の位置情報を認識する認識処理以下、前景位置認識処理ともいうを行う。認識生成部19は、MTRNNを用いた生成処理により得られる前景としての物体の位置情報の予測値、及び、見え/位置認識ネットワークを用いた前景位置認識処理により得られる前景の位置情報を、識別部20に供給する。識別部20は、見え/位置認識ネットワークを用いた前景位置認識処理により得られる前景の位置情報を真値として、MTRNNを用いた生成処理により得られる前景としての物体の位置情報の予測値の予測誤差を求め、その予測誤差に基づいて、カメラ11で撮影された画像の各前景が、運動指令に従って動く物体であるかどうかを識別する。なお、アクション制御部12は、ネットワーク記憶部15に記憶された識別ネットワークの学習が行われ、識別部20において、カメラ11で撮影された画像中の前景が認識されるまでは、例えば、あらかじめ決められた生得的なルールに従って、運動指令を発することができる。また、カメラ11で撮影された画像中の前景が認識された後、その前景が運動指令に従って動く物体であるかどうか、すなわち、ここでは、エージェントのハンドであるかどうかの識別が行われるまでは、例えば、とりあえず、前景が、エージェントのハンドであると仮定して、運動指令を発することができる。識別ネットワークの学習が行われ、識別部20において、カメラ11で撮影された画像の前景がハンドであるかどうかの識別が行われると、人が自分の手を見て、自分の手であることを知覚するのと同様に、エージェントでは、カメラ11で撮影された画像に映るハンドの状態を認識することができるので、アクション制御部12では、ハンドを、現在の状態から所望の状態にする動きの運動指令を発することが可能となる。[見え/位置認識ネットワーク]以下、ネットワーク記憶部15に記憶された識別ネットワークとしての見え/位置認識ネットワークについて説明する。図2で説明したように、見え/位置認識ネットワークは、画像を用いた学習により、その画像の前景及び背景のそれぞれの見えを獲得する。図3は、見え/位置認識ネットワークの学習に用いられる画像、すなわち、図2のカメラ11で撮影される画像の背景及び前景の例を示す図である。図3Aは、背景の例を示す図である。図3Aにおいて、背景は、横×縦が10×10画素で構成される。図3Bは、前景の例を示す図である。図3Bにおいて、前景は、横×縦が3×3画素で構成される。以下では、説明を簡単にするため、カメラ11で撮影される画像は、図3Aに示したような10×10画素の背景に、図3Bに示したような3×3画素の前景が重畳された、グレースケールの10×10画素の画像であることとする。なお、図3Bには、2つの前景を示してあるが、カメラ11で撮影される画像には、図3Bに示したような前景が、1又は2以上存在していることとする。また、前景は、その全体が見えるように、背景に重畳されていることとする。したがって、10×10画素の画像上において、3×3画素の前景が取り得る位置は、8×8=64通りとなる。さらに、画像に、複数の前景が存在する場合には、前景は、その全体が見えなければならないので、他の前景と重なっていることはない。図4は、見え/位置認識ネットワークの例を示す図である。すなわち、図4は、カメラ11図2において、図3で説明したような10×10画素の背景に、3×3画素の1つの前景が重畳された画像が撮影される場合の見え/位置認識ネットワークの例を示している。見え/位置認識ネットワークは、前景層、背景層、及び、画像層から構成され、その前景層、背景層、及び、画像層のニューロンが相互に接続されているニューラルネットワークである。前景層は、画像の前景の位置に対応するニューロンである位置ノードからなる。10×10画素の画像において、3×3画素の前景は、x方向水平横方向、及び、y方向垂直縦方向のそれぞれに、8箇所の位置に配置し得る。そのため、前景層は、x方向、及び、y方向のそれぞれに、8箇所ずつの、合計で、64箇所の位置に対応する64=8×8個の位置ノードを有する。背景層は、画像の背景に対応するニューロンである背景ノードからなる。10×10画素の画像の背景は、10×10画素で構成されるので、背景層は、x方向、及び、y方向のそれぞれに、10画素ずつの、合計で、100画素に対応する100=10×10個の背景ノードを有する。画像層は、10×10画素の背景に3×3画素の前景が重畳されている10×10画素の画像の画素に対応するニューロンである画素ノードからなる。そして、画像層は、背景層と同様に、x方向、及び、y方向のそれぞれに、10画素ずつの、合計で、100画素に対応する100=10×10個の画素ノードを有する。見え/位置認識ネットワークにおいて、前景層の位置ノード、背景層の背景ノード、及び、画像層の画素ノードは、相互に接続されている。ここで、以下、適宜、位置ノード、背景ノード、及び、画素ノードを、特に区別することなく、単に、ノードともいう。また、図4では後述する図でも同様、図が煩雑になるのを避けるため、ノードどうしの接続については、一部のノードどうしの接続のみを、矢印で図示してある。以下では、位置ノードと画素ノードとの間の結合加重である重み第1の重みをw1と、位置ノードと背景ノードとの間の結合加重である重み第2の重みをw2と、背景ノードと画素ノードとの間の結合加重である重み第3の重みをw3と、それぞれ表すこととする。前景層において、左上から水平方向右方向に、x番目で、垂直方向下方向に、y番目の位置にある位置ノードは、画像において、左上から水平方向に、x1番目で、垂直方向にy1番目の画素を中心とする3×3画素の範囲に重畳されている前景の位置に対応する。したがって、図4において、前景層の、左上から水平方向に2番目で、垂直方向に2番目の位置にある位置ノード図中、斜線を付してある位置ノードは、左上から水平方向に3=21番目で、垂直方向に3=21番目の画素を中心とする3×3画素図中、影を付してある画素ノードに対応する画素の範囲に前景が存在する場合の、その前景の位置を表す。ここで、以下では、前景の中心重心の位置を、前景の位置とすることとする。この場合、位置ノードは、画像上の位置に対応する位置を表す。以下、説明を簡単にするため、x及びy方向のうちの一方向である、例えば、x方向だけに注目して、見え/位置認識ネットワークの説明を行う。図5は、x方向だけに注目した図4の見え/位置認識ネットワークを示す図である。図5において、piは、左からi番目の位置ノードを、bkは、左からk番目の背景ノードを、vkは、左からk番目の画素ノードを、それぞれ表す。また、w1ikは、位置ノードpiと画素ノードvkとの間の重みを、w2ikは、位置ノードpiと背景ノードbkとの間の重みを、w3kkは、背景ノードbkと画素ノードvkとの間の重みを、それぞれ表す。図5では後述する図6でも同様、図4の見え/位置認識ネットワークのx方向だけに注目しているので、前景層は、x方向の8個の位置ノードp1ないしp8で、背景層は、x方向の10個の背景ノードb1ないしb10で、画像層は、x方向の10個の画素ノードv1ないしvb10で、それぞれ構成される。位置ノードpi、背景ノードbk、及び、画素ノードvkの各ノードは、そのノードへの入力に、対応する結合加重である重み入力が与えられるノードと、その入力を出力するノードとの間の重みを乗算して加算する重み付け加算を含む演算を行い、その演算によって得られる値を、ノードの出力値として出力する。重み付け加算を含む演算としては、重み付け加算の結果得られる重み付け加算値を引数とする所定の関数の演算等を採用することができる。重み付け加算値を引数とする所定の関数としては、例えば、シグモイド関数やハイパブリックタンジェントtanh、その他、fx等の微分可能な関数fを採用することができる。なお、見え/位置認識ネットワークのノードは、RNNのように、出力値をコンテキストとして記憶するノードニューロンでなくてもよい。見え/位置認識ネットワークにおいて、位置ノードpiには、外部ネットワーク学習部17から前景の位置を表す位置情報が入力値として入力され、重み付け加算が行われる。ここで、位置ノードpiには、1つの位置情報位置ノードpiに対応する位置に前景が存在する可能性を表す情報のみが入力され、その位置情報の入力に対する重みは存在しない重みは1とされる。したがって、位置ノードpiで求められる重み付け加算値は、その位置ノードpiに入力される位置情報としての値そのものとなる。位置ノードpiは、重み付け加算値、すなわち、ここでは、位置ノードpiに入力される入力値そのものを引数とする所定の関数を演算し、その結果得られる演算値入力値としての位置情報に対応する値を、位置ノードpiの出力値として出力する。背景ノードbkは、位置ノードpiの出力値と重みw2とを乗算して加算する重み付け加算を行う。さらに、背景ノードbkは、重み付け加算の結果得られる重み付け加算値を引数とする所定の関数を演算し、その結果得られる演算値を、背景ノードbkの出力値として出力する。画素ノードvkは、位置ノードpiの出力値と重みw1とを乗算して加算する重み付け加算、及び、背景ノードbkの出力値と重みw3とを乗算して加算する重み付け加算を行う。さらに、画素ノードvkは、重み付け加算の結果得られる重み付け加算値を引数とする所定の関数を演算し、その結果得られる演算値を、画素ノードvkの出力値として出力する。見え/位置認識ネットワークにおいて、重みw1,w2,及び、w3は、所定値、又は、所定の条件に従って拘束される。すなわち、重みw1の拘束としては、任意の2つの位置ノードpiとpiについて、一方の位置ノードpiに対応する位置から所定の位置関係Cの位置にある画像内の画素に対応する画素ノードvkと一方の位置ノードpiの間の重みw1ikと、他方の位置ノードpiに対応する位置から同一の位置関係Cにある画像内の画素に対応する画素ノードvkと他方の位置ノードpiの間の重みw1ikとは、同一の値に拘束され、したがって、重みw1ikとw1ikとは、等しくなる。例えば、図5では、任意の2つの位置ノードpiとpiについて、重みw1iiとw1iiは同一の値に拘束され、重みw1ii1とw1ii1も同一の値に拘束され、重みw1ii2とw1ii2も同一の値に拘束される。具体的には、例えば、図5において、位置ノードp1と、その位置ノードp1に対応する位置画素ノードv2に対応する画素の位置から所定の位置関係Cとしての、例えば、1画素だけ左の位置にある画像内の画素に対応する画素ノードv1との間の重みw111と、位置ノードp2と、その位置ノードp2に対応する位置画素ノードv3に対応する画素の位置から同一の位置関係Cとしての1画素だけ左の位置にある画像内の画素に対応する画素ノードv2との間の重みw122とは、同一の値に拘束される。なお、位置ノードpiは、すべての画素ノードv1,v2,,v10との間に重みw1を有するが、ここでは、説明を簡単にするため、位置ノードpiに対応する位置に、前景が存在する場合に、その前景を構成する画素に対応する画素ノード以外の画素ノードと、位置ノードpiとの間の重みw1は、0である0に拘束されることとする。すなわち、例えば、位置ノードp2については、位置ノードp2に対応する位置に、3×3画素の前景が存在する場合には、その前景を構成する画素に対応する画素ノードは、画素ノードv2,v3、及び、v4であるから、画素ノードv2,v3、及び、v4以外の画素ノードであるv1,v5ないしv10それぞれと、位置ノードp2との間の重みw121,w125ないしw1210は、0であることとする。ここで、図5では後述する図でも同様、重みが0のノードどうしの接続を表す線の図示を、適宜省略してある。重みw2の拘束としては、各位置ノードpiについて、位置ノードpiに対応する位置を基準とする所定の範囲R内の背景に対応する背景ノードbkと位置ノードpiとの間の重みw2ikは、背景ノードbkの発火を抑制する固定値としての、例えば、1に拘束される。背景ノードbkの発火を抑制する固定値は、背景ノードbkにおいて、その背景ノードbkへの入力を用いて行われる後述する演算によって異なる設定される。所定の範囲Rとしては、例えば、前景のサイズ以上が採用される。したがって、例えば、位置ノードp8については、その位置ノードp8に対応する位置を基準中心とする所定の範囲Rとしての3画素の範囲内の背景ノードb8b9b10との間の重みw288,w289,w2810は、1に固定される。また、重みw2の拘束としては、各位置ノードpiについて、位置ノードpiに対応する位置を基準とする所定の範囲R外の背景に対応する背景ノードbkとの間の重みw2ikは、0に固定される。したがって、例えば、位置ノードp8については、その位置ノードp8に対応する位置を基準とする所定の範囲Rとしての3画素の範囲外の背景ノードb1ないしb7それぞれとの間の重みw281ないしw287は、0に固定される。重みw3の拘束としては、各背景ノードbkについて、背景ノードbkに対応する背景の画素背景が映る画素以外の画素に対応する画素ノードvkk≠kとの間の重みw3kkは、0に固定される。なお、重みw3については、その他、例えば、背景ノードbkと、その背景ノードbkに対応する背景の画素、及び、その背景の画素の周辺の画素を含む複数の画素以外の画素に対応する画素ノードvkとの間の重みw3を、0に固定することができる。また、重みw3については、拘束なしとすることができる。ネットワーク学習部17図2は、以上のように、重みw1,w2、及び、w3を拘束し、データ記憶部14に記憶された画像を、学習用データとして用いて、見え/位置認識ネットワークの学習を、例えば、BP法に従って行う。図6は、見え/位置認識ネットワークの情報伝達を説明する図である。見え/位置認識ネットワークでは、図5及び図6において、上から下方向への情報伝達、すなわち、位置ノードから、背景ノード及び画素ノードへの情報伝達と、背景ノードから画素ノードへの情報伝達とが行われる。見え/位置認識ネットワークの学習においては、ネットワーク学習部17は、学習用データとしての画像を、画像層に与えるとともに、前景層に、8×8個の位置情報の初期値を与える。ここで、位置情報の初期値としては、例えば、ランダムな値や、任意の固定値等を採用することができる。前景層では、8×8個の各位置情報が、その位置情報に対応する位置ノードpiに入力値として入力される。位置ノードpiは、その位置ノードpiへの入力値の重み付け加算を行い、その重み付け加算の結果得られる重み付け加算値を引数とする所定の関数の演算を行う。そして、位置ノードpiは、所定の関数の演算を、位置ノードpiの出力値として出力する。図5で説明したように、位置ノードpiで求められる重み付け加算値は、その位置ノードpiへの入力値である位置情報そのものとなる。位置ノードpiは、所定の関数fとして、例えば、fexp/Σexpを採用し、重み付け加算値yiを引数とする関数fを演算して、その結果得られる演算値fを、出力値として出力する。なお、式fexp/Σexpにおいて、expは、ネイピア数を底とする指数関数を表す。また、Σは、yjのインデクスjを、1から、位置ノードpiの数本実施の形態では、8×8個までの整数に代えてのサメーションを表す。したがって、関数fは、expを正規化する関数である。ここで、位置ノードpiの出力値を、以下、適宜、piとも記載する。位置ノードpiの入力値である位置情報、さらには、その位置情報に対応する、位置ノードpiの出力値、つまり、位置ノードpiの発火の程度は、その位置ノードpiに対応する位置に、前景が存在することの可能性程度を表す。本実施の形態では、位置情報は、例えば、0ないし1の範囲の値で、値が大であるほど、前景が存在することの可能性が高いことを表すこととする。位置ノードpiの出力値は、各背景ノード及び各画素ノードに入力される。背景ノードbkについては、図5で説明したように、背景ノードと位置ノードとの間の重みw2が拘束されているため、実質的に、位置ノードpk2,pk1、及び、pkの出力値だけが入力される。背景ノードbkは、その背景ノードbkへの入力の重み付け加算を行い、その重み付け加算の結果得られる重み付け加算値を引数とする所定の関数の演算を行う。そして、背景ノードbkは、所定の関数の演算を、背景ノードbkの出力値として出力する。ここで、上述したように、背景ノードpiには、位置ノードpk2,pk1、及び、pkそれぞれの出力値だけが入力される。したがって、背景ノードbkで得られる重み付け加算値は、位置ノードpk2,pk1、及び、pkの出力値それぞれに、対応する重みw2k2k,w2k1k、及び、w2kkそれぞれを乗算した乗算値の総和w2k2kpk2w2k1kpk1w2kkpkとなる。なお、図5で説明したように、重みw2ii,w2ii1、及び、w2ii2は、1に固定拘束される。したがって、重みw2k2k,w2k1k、及び、w2kkも、1に固定されるため、背景ノードbkで得られる重み付け加算値は、w2k2kpk2w2k1kpk1w2kkpk=-となる。例えば、背景ノードb3の重み付け加算値は、-として、例えば、f1xを採用し、重み付け加算値-を引数xとする関数fを演算して、その結果得られる演算値1-を、出力値として出力する。ここで、位置ノードpiは、画像中の前景の位置に対応するので、図6において、8個の位置ノードp1ないしp8のうちの、画像層に与えられる画像に存在する前景ここでは、1つの前景の位置を表す位置ノードpiの入力値だけが、例えば、1になり位置ノードpiが最も発火し、他の位置ノードの入力値は、例えば、0になるのが、理想的である。そこで、ここでは、8個の位置ノードp1ないしp8のうちの、画像層に与えられる画像に存在する前景の位置を表す位置ノードpiの入力値だけが1になり、他の位置ノードの入力値が0になっていると仮定する。さらに、以下では、説明を簡単にするため、位置ノードpiの入力値と出力値とが等しい、すなわち、位置ノードpiが入力値をそのまま出力値として出力することとする。この場合、背景ノードbkの出力値1-を求めるのに用いられる位置ノードの3つの出力値pk2,pk1、及び、pkについては、その3つの出力値pk2,pk1、及び、pkのすべてが0であるケースと、3つの出力値pk2,pk1、及び、pkのうちの1つだけが1で、他の2つが0であるケースとがある。3つの出力値pk2,pk1、及び、pkのすべてが0である場合、背景ノードbkの出力値1-は、1になり、3つの出力値pk2,pk1、及び、pkのうちの1つだけが1である場合他の2つが0である場合、背景ノードbkの出力値1-は、0になる。背景ノードbkの出力値は、各画素ノードに入力される。画素ノードvkについては、図5で説明したように、画素ノードと位置ノードとの間の重みw1、及び、画素ノードと背景ノードとの重みw3が拘束されているため、実質的に、位置ノードpk2,pk1、及び、pkそれぞれの出力値、並びに、背景ノードbkの出力値だけが入力される。画素ノードvkは、その画素ノードvkへの入力の重み付け加算を行い、その重み付け加算の結果得られる重み付け加算値を引数とする所定の関数の演算を行う。そして、画素ノードvkは、所定の関数の演算を、画素ノードvkの出力値として出力する。ここで、上述したように、画素ノードvkには、位置ノードpk2,pk1、及び、pkそれぞれの出力値、並びに、背景ノードbkの出力値だけが入力される。したがって、画素ノードvkで得られる重み付け加算値は、w1k2kpk2w1k1kpk1w1kkpkw3kkbkとなる。画素ノードvkは、重み付け加算値を引数とする所定の関数としての、例えば、ハイパブリックタンジェントtanhを演算し、その結果得られる演算値を、出力値として出力する。画素ノードvkの出力値を画素値とする画像は、見え/位置認識ネットワークにおいて、前景層に入力値として与えられた位置情報から予測された、その位置情報が表す位置に前景が存在する画像であり、以下、予測画像ともいう。ネットワーク学習部17図2では、予測画像の、学習用データとしての画像以下、学習用画像ともいうに対する誤差を小さくする重みw1ik,w3kk、及び、前景層に与える入力値位置ノードpiの入力値としての位置情報が、BP法により求められる。なお、重みw2ikは、図5で説明したように、1又は0に固定されているので、求める必要はない既に求められている。BP法によれば、予測画像の画素値としての画素ノードvkの出力値の、学習用画像の、対応する画素値に対する誤差が求められ、その誤差を逆伝播して、誤差を小さくする重みw1ik,w3kk、及び、位置ノードpiの入力値としての位置情報が求められる。なお、通常のニューラルネットワークを学習するときのBP法では、誤差を逆伝播して、誤差を小さくするように、重みが更新されるが、見え/位置認識ネットワークの学習では、重みw1ik及びw3kkの他、位置ノードpiの入力値としての位置情報も、誤差を小さくするように更新される。位置ノードpiの入力値としての位置情報の更新は、重みw1ik及びw3kkの更新と同様にして行われる位置情報の更新量は、BP法での重みw1ik及びw3kkの更新の方法と同様に決定される。ここで、上述したように、位置ノードの3つの出力値pk2,pk1、及び、pkについては、その3つの出力値pk2,pk1、及び、pkのすべてが0であるケースと、3つの出力値pk2,pk1、及び、pkのうちの1つだけが1で、他の2つが0であるケースとがある。いま、説明を簡単にするため、画素ノードvkが、その画素ノードvkへの入力の重み付け加算値を、そのまま、画素ノードvkの出力値として出力することとすると、3つの出力値pk2,pk1、及び、pkのうちの1つとしての、例えば、出力値pkだけが1で、他の2つの出力値pk2及びpk1が0である場合、画素ノードvkの出力値は、w1k2kpk2w1k1kpk1w1kkpkw3kkbk=w1kkw3kkbkとなる。なお、3つの出力値pk2,pk1、及び、pkのうちの1つだけが1である場合他の2つが0である場合、上述したように、背景ノードbkの出力値1-は、0になる。したがって、結局、画素ノードvkの出力値w1kkw3kkbkは、w1kkになる。ここでは、3つの出力値pk2,pk1、及び、pkのうちの、出力値pkだけが1で、他の2つの出力値pk2及びpk1が0であることとしたが、出力値pk1だけが1である場合には、画素ノードvkの出力値は、w1k1kになり、出力値pk2だけが1である場合には、画素ノードvkの出力値は、w1k2kになる。一方、3つの出力値pk2,pk1、及び、pkのすべてが0である場合、画素ノードv3の出力値は、w1k2kpk2w1k1kpk1w1kkpkw3kkbk=w3kkbkとなる。なお、3つの出力値pk2,pk1、及び、pkのすべてが0である場合、上述したように、背景ノードbkの出力値1-は、1になる。したがって、結局、画素ノードvkの出力値w3kkbkは、w3kkになる。上述したように、見え/位置認識ネットワークの学習では、予測画像の、学習用画像に対する誤差を小さくする重みw1ik,w3kk、及び、位置ノードpiの入力値としての位置情報が、BP法により求められるが、予測画像の、学習用画像に対する誤差を小さくする重みw1ik及びw3kkとしては、それぞれ、学習用画像の前景及び背景の見えが反映された重みw1ik及びw3kkが求められる。また、予測画像の、学習用画像に対する誤差を小さくする位置情報以下、誤差最小化位置情報ともいうとしては、学習用画像の前景の位置を表す位置情報が求められる。いま、例えば、学習用画像の、画素ノードv3v4v5に対応する画素に、物体前景が映っており、そのような学習用画像の前景の位置を表す位置情報が、前景層に与えられたとする。すなわち、画素ノードv3v4v5に対応する画素に、物体前景が映っている学習用画像について、理想的に、画素ノードv3v4v5に対応する画素でなる範囲Rの中心の位置に対応する位置ノードp3に、値が1の位置情報が入力値として入力され、他の位置ノードp1p2、及び、p4ないしp8に、値が0の位置情報が入力値として入力されたとする。この場合、画素ノードv3v4v5に対応する画素でなる範囲Rの中心の位置に対応する位置ノードp3の出力値が1になり、他の位置ノードp1p2、及び、p4ないしp8の出力値が0になる。その結果、背景ノードb3b4b5の出力値は、0になり、他の背景ノードb1b2b6ないしb10の出力値は、1になる。出力値が1の背景ノードb1b2b6b7b8b9b10に対応する画素ノードv1v2v6v7v8v9v10の出力値それぞれは、上述したようにして、重みであるw311,w322,w366,w377,w388,w399,w31010になる。また、出力値が0の背景ノードb3b4b5に対応する画素ノードv3v4v5の出力値それぞれは、上述したようにして、重みであるw133,w134,w135になる。いまの場合、学習用画像において、画素ノードv3v4v5に対応する画素には、前景が映っており、他の画素ノードv1v2v6v7v8v9v10に対応する画素には、背景が映っている。ネットワーク学習部17図2では、画素ノードvkの出力値を画素値とする予測画像の、学習用画像に対する誤差を小さくする重みw1ik,w3kkが、BP法により求められるので、重みw133,w134,w135には、前景物体が反映され、重みw311,w322,w366,w377,w388,w399,w31010には、背景が反映される。すなわち、見え/位置認識ネットワークの学習では、重みw133,w134,w135において、前景が映る、画素ノードv3v4v5に対応する画素の画素値が、それぞれ獲得され、重みw311,w322,w366,w377,w388,w399,w31010において、背景が映る、画素ノードv1v2v6v7v8v9v10に対応する画素の画素値が、それぞれ獲得される。また、以上のように、学習用画像の前景の位置を表す位置情報が、前景層に与えられること、すなわち、画素ノードv3v4v5に対応する画素に、物体前景が映っている学習用画像について、理想的に、画素ノードv3v4v5に対応する画素でなる範囲Rの中心の位置に対応する位置ノードp3に、値が1の位置情報が入力され、他の位置ノードp1p2、及び、p4ないしp8に、値が0の位置情報が入力されることを前提として、予測画像の、学習用画像に対する誤差を小さくすることにより、重みw133,w134,w135には、前景物体が反映され、重みw311,w322,w366,w377,w388,w399,w31010には、背景が反映される。したがって、予測画像の、学習用画像に対する誤差を小さくすることにより、前景が反映された重みw133,w134,w135、及び、背景が反映された重みw311,w322,w366,w377,w388,w399,w31010が求められるには、前景層に与えられる位置情報が、学習用画像の前景の位置を表す位置情報になっていること、すなわち、いまの場合、学習用画像の前景の位置に対応する位置ノードp3に入力される入力値としての位置情報が1で、他の位置ノードp1p2、及び、p4ないしp8に入力される入力値としての位置情報が0になっていることが必要である。以上から、BP法によって、予測画像の、学習用画像に対する誤差を小さくするように、重みw1ik及びw3kk、及び、位置ノードpiの入力値としての位置情報を更新していくことにより、重みw1ik及びw3kkは、学習用画像の前景及び背景を反映した値になり、位置情報は、学習用画像の前景の位置を表す値になる。重みw1ないしw3は、図5で説明したように拘束されるため、様々な位置に前景が映っている画像前景及び背景の見えが同一の画像を、学習用画像として用いて、見え/位置認識ネットワークの学習を行うことにより、重みw1ikにおいて、前景の見えが獲得され、重みw3kkにおいて、背景の見えが獲得される。なお、重みw1については、図5で説明したように、ある位置ノードpiに対応する位置から所定の位置関係Cの位置にある画像内の画素に対応する画素ノードvicと位置ノードpiの間の重みw1iiCと、他の位置ノードpiに対応する位置から同一の位置関係Cにある画像内の画素に対応する画素ノードviCと位置ノードpiの間の重みw1iiCとは、同一の値に拘束されるため、前景層の位置ノードそれぞれと画素ノードの間の重みw1では、同一の前景の見えが獲得される任意の位置ノードpiと画素ノードの間の重みw1と、他の任意の位置ノードpiと画素ノードの間の重みw1とで、同一の前景の見えが獲得される。以上のように、重みw1ikにおいて、前景の見えが獲得され、重みw3kkにおいて、背景の見えが獲得された学習済みの見え/位置認識ネットワークにおいて、位置ノードp1ないしp8のうちの1つである、例えば、位置ノードp3だけを発火させると、すなわち、位置ノードp3に入力される位置情報のみを1とし、他の位置ノードp1p2、及び、p4ないしp8に入力される位置情報を0とすると位置ノードp3のみの出力値が1になると、発火した位置ノードp3に対応する位置を中心とする前景の範囲R内の画素に対応する画素ノードv3v4v5には、発火した位置ノードp3から、前景の見えを獲得した重みw133,w134,w135が伝達される。一方、背景層では、発火した位置ノードp3に対応する位置を中心とする前景の範囲R内の画素背景に対応する背景ノードb3b4b5の発火が抑制される。すなわち、背景ノードb3b4b5の出力値は0になる。背景ノードb3b4b5の出力値が0である場合、背景ノードb3b4b5からは、それぞれ、対応する画素ノードv3v4v5に対して、背景の見えを獲得した重みw333,w344,w355が伝達されない。以上から、前景の範囲R内の画素に対応する画素ノードv3v4v5には、重みw133,w134,w135において見えが獲得された前景が現れる。また、位置ノードp3のみが発火した場合、前景層から、発火した位置ノードp3に対応する位置を中心とする前景の範囲R内の画素以外の画素に対応する画素ノードv1v2、及び、v6ないしv10への情報伝達は、抑制される。一方、背景層では、発火した位置ノードp3に対応する位置を中心とする前景の範囲R内の画素背景に対応する背景ノードb3b4b5の発火は抑制されるが、その他の背景ノードb1b2、及び、b6ないしb10は発火する。すなわち、背景ノードb1b2、及び、b6ないしb10の出力値は1になる。背景ノードb1b2、及び、b6ないしb10の出力値が1である場合、背景ノードb1b2、及び、b6ないしb10からは、それぞれ、対応する画素ノードv1v2、及び、v6ないしv10に対して、背景の見えを獲得した重みw311,w322、及び、w366ないしw31010が伝達される。以上から、前景の範囲R外の画素に対応する画素ノードv1v2、及び、v6ないしv10には、重みw311,w322、及び、w366ないしw31010において見えが獲得された背景が現れる。したがって、学習済みの見え/位置認識ネットワークでは、前景層に、前景の位置情報を与えると、画像層から、重みw1で見えが獲得された前景を、重みw3で見えが獲得された背景の、前景層に与えた位置情報が表す位置に重畳した画像、すなわち、前景層に与えられた位置情報が表す位置に前景が存在する画像を予測した予測画像を得ることができる。また、学習済みの見え/位置認識ネットワークによれば、重みw1ないしw3を、学習で得られた値に固定して、前景層に位置情報を与えることにより画像層から得られる予測画像の、見え/位置認識ネットワークに入力される画像入力画像に対する誤差を小さくする位置情報を採用した。図9は、シミュレーションで用いる学習用画像の例を示す図である。図9の学習用画像は、図3で説明したように、3×3画素の前景が、10×10画素の背景に重畳されたグレースケールの画像であり、前景として、2つの物体であるハンドと非身体とが映っている。図10は、シミュレーションで用いる学習用画像の構成要素の例を示す図である。学習用画像は、背景と、2つの前景1及び2とから構成される。シミュレーションでは、背景上の様々な位置に、2つの前景1及び2が、重ならないように配置された80枚の画像を、学習用画像として用いて、図7に示した2つの前景層1及び2が設けられている見え/位置認識ネットワークの学習を行った。ここで、学習用画像において、前景1及び2のうちの一方はハンドで、他方は非身体である。ハンドは、図8に示した運動指令としての速度ベクトルに従って動き、非身体は、ハンドと接触することによって動くことがある。図11は、見え/位置認識ネットワークのシミュレーションの結果を示す図である。すなわち、図11は、学習用画像を構成する背景と2つの前景、及び、図7の見え/位置認識ネットワークの学習結果としての、見え/位置認識ネットワークが学習用画像を用いた学習により獲得した背景と2つの前景の見えを示している。図7の見え/位置認識ネットワークの学習結果では、各背景ノードと、その背景ノードに対応する背景の画素に対応する画素ノードとの間の重みw3において、学習用画像の背景の見えが獲得されている。また、図7の見え/位置認識ネットワークの学習結果では、前景層1又は2の任意の1つの位置ノードと、その位置ノードに対応する位置を中心とする3×3の9箇所の位置にある画素に対応する9つの画素ノードとの間の重みw1又はw1において、学習用画像の前景1又は2の見えが、それぞれ獲得されている。以上のように、見え/位置認識ネットワークによれば、学習用画像から、背景と、1以上の前景それぞれとを分離して獲得することができる。そして、見え/位置認識ネットワークによれば、学習用画像と同一の見えの背景及び前景を有する画像上の前景の位置を認識することができる。[MTRNN]次に、ネットワーク記憶部15に記憶された識別ネットワークとしてのMTRNNについて説明する。MTRNNは、内部状態としてのコンテキストを記憶するノード群として、コンテキストの更新が異なる時定数で行われるノード群を有するRNNであり、MTRNNそれ自体については、例えば、YYamashitaandJTaniEmergenceofFunctionalHierarchyinaMultipleTimescaleNeuralNetworkModelaHumanoidRobotExperimentPLoSComputBiolvol42008に記載されている。図12は、識別ネットワークとしてのMTRNNの構成例を示す図である。図12において、MTRNNは、運動指令Vx入出力層、運動指令Vy入出力層、物体位置入出力層、Cf層第1のコンテキスト層、及び、Cs層第2のコンテキスト層を有する。図12において、運動指令Vx入出力層、運動指令Vy入出力層、及び、物体位置入出力層は、いずれも、Cf層と双方向に接続されている。Cf層は、運動指令Vx入出力層、運動指令Vy入出力層、及び、物体位置入出力層の他、Cs層とも双方向に接続されている。図13は、図12のMTRNNのより詳細な構成例を示す図である。なお、運動指令Vx入出力層、及び、運動指令Vy入出力層には、それぞれ、運動指令としての速度ベクトルのx成分Vx、及び、y成分Vyが入出力されるが、以下、適宜、運動指令Vx入出力層、及び、運動指令Vy入出力層をまとめて、運動指令入出力層ともいう。図13において、MTRNNの運動指令入出力層、物体位置入出力層、Cf層、及び、Cs層は、いずれも、1個以上のノードからなる。運動指令入出力層、及び、物体位置入出力層のそれぞれのノードは、Cf層のノードと双方向に接続されており、Cf層のノードは、さらに、Cs層のノードと双方向に接続されている。また、Cf層、及び、Cs層のそれぞれのノードは、同一の層のノードとも接続されている。MTRNNの運動指令入出力層、物体位置入出力層、Cf層、及び、Cs層を構成するノードは、コンテキストループを有し、コンテキストを記憶内部状態を更新するニューロンである。すなわち、時刻tのノードの記憶値を、yと、時刻tのノードへの入力を、xと、時定数を、Tと、それぞれ表すこととすると、MTRNNの運動指令入出力層、物体位置入出力層、Cf層、及び、Cs層それぞれを構成するノードは、時刻tにおいて更新されたノードの内部状態を記憶値yとして記憶する。そして、ノードは、記憶値yを、必要な他のノードに出力するとともに、コンテキストループを介して、ノード自身自己にフィードバックし、時刻t1において、ノードの記憶値yを、式y=y1Tfに従って更新する。ここで、式y=y1Tfにおいて、fは、例えば、シグモイド関数やハイパブリックタンジェントtanh等の微分可能な所定の関数である。また、式y=y1Tfにおいて、xiは、時刻tにおけるノードへの入力記憶値yがノードにフィードバックされるときの、そのノードへの入力のうちのi番目の入力を表し、wiは、入力xiを出力したノードとの間の重み結合加重を表す。さらに、Σは、インデクスiを、1から、ノードへの入力の総数Nまでの範囲の整数に変えてのサメーションを表す。運動指令入出力層のノードについては、外部から与えられる運動指令や、Cf層のノードの出力式y=y1Tfに従って更新された記憶値が、ノードへの入力xiとなる。物体位置入出力層のノードについては、外部から与えられる位置情報や、Cf層のノードの出力記憶値が、ノードへの入力xiとなる。Cf層のノードについては、Cf層の他のノードの出力や、運動指令入出力層のノードの出力、物体位置入出力層のノードの出力、Cs層のノードの出力が、ノードへの入力xiとなる。Cs層のノードについては、Cs層の他のノードの出力や、Cf層のノードの出力が、ノードへの入力xiとなる。式y=y1Tfによれば、時定数Tによって、ノードの記憶値yに対して、過去の記憶値yを影響させる程度を調整することができる。すなわち、時定数Tとしては、1以上の値を設定することができる。時定数Tが大であれば、過去の記憶値yが、ノードの記憶値yに大きく影響し、その結果、ノードの記憶値yは、過去の記憶値yを、長期間、いわば引きずっているかのように、緩やかに変化する。一方、時定数Tが小であるほど、ノードの記憶値yが過去の記憶値yから受ける影響は小さくなり、ノードへの入力xiに影響され易くなる。なお、時定数Tが1である場合、ノードでは、コンテキストループがないNNと同様に、ノードへの入力xiを用いて、過去の記憶値yの影響のない記憶値yが求められる。運動指令入出力層は、例えば、2個のノードを有し、時定数Tとして、例えば、2が設定されている。MTRNNの内部では、運動指令入出力層のノードは、Cf層のノードとの間で、情報伝達を行う。MTRNNの外部との間では、運動指令入出力層のノードには、運動指令としての速度ベクトルのx成分Vx、及び、y成分Vyが入出力される。物体位置入出力層は、見え/位置認識ネットワーク図4の前景層を構成する位置ノードの数と同一の8×8=64個のノードを有し、時定数Tとして、例えば、1が設定されている。MTRNNの内部では、物体位置入出力層のノードは、Cf層のノードとの間で、情報伝達を行う。MTRNNの外部との間では、物体位置入出力層のノードには、見え/位置認識ネットワークの前景層の8×8個の位置ノードに入出力されるのと同様の8×8個の位置情報が入出力される。Cf層は、例えば、10ないし80程度の範囲内の値である10個程度のノードを有し、時定数Tとして、例えば、4が設定されている。Cf層のノードは、運動指令入出力層、物体位置入出力層、及び、Cs層のそれぞれのノード、並びに、Cf層の他のノードとの間で、情報伝達を行う。Cs層は、例えば、4ないし32程度の範囲内の値である16個程度のノードを有し、時定数Tとして、Cf層の時定数より大の、例えば、70が設定されている。Cs層のノードは、Cf層のノード、及び、Cs層の他のノードとの間で、情報伝達を行う。ここで、Cf層の時定数Tは、4であり、したがって、Cf層のノードの記憶値yは、過去の記憶値yの影響を受けて、ある程度ゆっくり変化する。また、時定数Tが、Cf層よりも大きい70であるCs層のノードの記憶値yは、過去の記憶値yの影響を大きく受けて、極めてゆっくり変化する。MTRNNは、Cf層及びCs層それぞれのノードのような、記憶値yの変化の速さ時間軸が異なるノード群を有している。ここで、MTRNNでは、図13において、下から上方向への情報伝達運動指令入出力層や物体位置入出力層から、Cf層、さらには、Cs層への情報伝達と、上から下方向への情報伝達Cs層から、Cf層、さらには、運動指令入出力層や物体位置入出力層への情報伝達とを行うことができる。MTRNNの情報伝達のうちの、下から上方向への情報伝達を、上り伝達ともいい、上から下方向への情報伝達を、下り伝達ともいう。図14は、MTRNNの学習、及び、MTRNNを用いた認識と生成の処理を説明する図である。すなわち、図14Aは、MTRNNの学習を、図14Bは、MTRNNを用いた認識を、図14Cは、MTRNNを用いた生成を、それぞれ説明する図である。まず、図14Aを参照して、MTRNNの学習を説明する。MTRNNの学習では、MTRNNのノードの記憶値yを更新する式y=y1Tfにおける重みwi、つまり、MTRNNの、接続されているノードどうしの間の重みと、Cs層のノードの記憶値コンテキストの初期値が求められる。MTRNN学習部18図2は、データ記憶部14に対応付けられて記憶された運動指令と画像とのセットの系列を、MTRNNの学習用データとして用いて、MTRNNの学習を行う。なお、MTRNNの学習用データとしての画像は、見え/位置認識ネットワーク図4の学習に用いられる学習用画像と同一の背景と前景を有する画像であることとする。MTRNN学習部18は、学習用画像データとしての運動指令と画像とのセットの系列のうちの画像の系列を、見え/位置認識ネットワークに入力し、見え/位置認識ネットワークにおいて、そこに入力された画像の系列の各画像入力画像について、前景の位置の認識結果として得られる、前景層を構成する8×8個の位置ノードの入力値位置ノードに位置情報を入力することにより画素ノードから出力される出力値を画素値とする予測画像の、入力画像に対する誤差を小さくする位置情報を求める。ここで、以上のようにして見え/位置認識ネットワークで得られる位置情報は、エージェントにおいて、運動指令が発せられたとき直後の、画像に映る物体の位置を表す。MTRNN学習部18は、MTRNNの学習用データとしての運動指令の系列の各運動指令について、その運動指令と、その運動指令に対応付けられた画像から得られた前景の位置の認識結果としての位置情報とを対応付け、MTRNNの学習用データに含める。そして、MTRNN学習部18は、MTRNNの学習用データを用いて、MTRNNの学習を、例えば、RNNの学習アルゴリズムの1つであるBPTT法に従って行う。すなわち、MTRNN学習部18は、MTRNNの学習用データとしての各時刻tの運動指令を、運動指令入出力層のノードに与える入力するとともに、その運動指令に対応付けられた位置情報を、物体位置入出力層のノードに与える。MTRNNでは、上り伝達が行われ、その後、下り伝達が行われ、その結果、運動指令入出力層のノードには、次の時刻t1の運動指令の予測値が記憶され、位置情報入出力層のノードには、次の時刻t1の位置情報の予測値が記憶される。そして、MTRNN学習部18では、時刻t1の運動指令の予測値の予測誤差、及び、時刻t1の位置情報の予測値の予測誤差を、例えば、所定の閾値以下等の小さい値にする重みwiと、Cs層のノードの記憶値コンテキストの初期値が求められる。なお、Cs層のノードの記憶値コンテキストの初期値としては、例えば、0が用いられる。また、MTRNNの学習開始直後においては、MTRNNのノードの記憶値が、適切な値になっていないため、MTRNN学習部18では、MTRNNの学習開始直後の、例えば、4時刻等の数時刻で得られる運動指令及び位置情報の予測値は、重みwiと、Cs層のノードの記憶値の初期値を求めるのに用いられない無視される。図14Bを参照して、学習済みのMTRNNを用いた認識を説明する。MTRNNを用いた認識では、例えば、運動指令が認識される。認識生成部19図2は、データ記憶部14に対応付けられて記憶された運動指令と画像とのセットの系列から、運動指令の系列を取り出し、その運動指令の系列を、認識対象として、認識対象の運動指令以下、対象運動指令ともいうの系列の認識を、例えば、BPTT法を利用して行う。すなわち、認識生成部19は、各時刻tの対象運動指令を、運動指令入出力層のノードに与える。MTRNNでは、上り伝達が行われ、その後、下り伝達が行われ、その結果、運動指令入出力層のノードには、次の時刻t1の対象運動指令の予測値が記憶される。そして、認識生成部19では、学習により得られたMTRNNの重みwiを固定した状態で、時刻t1の対象運動指令の予測値の予測誤差を、例えば、所定の閾値以下等の小さい値にするCs層のノードの記憶値コンテキストの初期値が求められる。対象運動指令の予測値の予測誤差を小さくする、Cs層のノードの記憶値コンテキストの初期値が、対象運動指令の系列の認識結果であり、以下、固有初期値ともいう。図14Cを参照して、学習済みのMTRNNを用いた生成を説明する。MTRNNを用いた生成では、例えば、ある運動指令が発せられたときの、その運動指令に従って動く物体ここでは、エージェントのハンドの位置を表す位置情報の予測値が生成される。認識生成部19図2は、対象運動指令の認識の結果得られた固有初期値を、MTRNNのCs層のノードの初期値以下、Cs初期値ともいうとして与えるノードの記憶値とする。MTRNNでは、下り伝達が行われ、その結果、物体位置入出力層のノードでは、対象運動指令が発せられたときの、その対象運動指令に従って動く物体の位置情報の予測値が記憶されて出力される。図15は、本件発明者が行った、図14のMTRNNについて行ったシミュレーションの結果を示す図である。MTRNNのシミュレーションでは、180パターンのMTRNNの学習用データとして、180パターンの運動指令の系列と、各運動指令に従って動いた物体の位置情報の系列とを用意し、MTRNNの学習を行った。学習用データとしての位置情報は、MTRNNの物体位置入出力層の8×8=64個のノード及び見え/位置認識ネットワークの前景層の8×8=64個の位置ノードの記憶値に相当する8×8個の値であり、例えば、位置情報としての64=8×8個の値のうちの、物体が存在する位置に対応する値だけが1になっており、残りの63個の値は0になっている。シミュレーションでは、以上のようなMTRNNの学習用データの他、その学習用データの位置情報を補正した補正位置情報を、補正前の位置情報に代えて含む学習用データ以下、補正学習用データともいうを用意し、学習用データと、補正学習用データとのそれぞれを用いて、同一構成の別個のMTRNNの学習を行った。以下、補正がされていない学習用データを用いて学習が行われたMTRNNを、補正なしMTRNNともいい、補正学習用データを用いて学習が行われたMTRNNを、補正ありMTRNNともいう。位置情報の補正は、8×8個の値のうちの、最大値が、その最大値の位置に隣接する位置の値である隣接値の20倍の値になるように、最大値と隣接値を調整する。8×8個の値のうちの、最大値に隣接しない値は0とする。8×8個の値の総和を、10にする。という3つのルールR1,R2、及び、R3に従って行った。なお、隣接値としては、最も多い場合で、最大値の上、下、左、右、左上、左下、右上、及び、右下に隣接する位置の8個の値が存在し、最も少ない場合で、8×8個の位置の四隅のいずれかの位置の値が最大値であるときで、3個の値が存在する。例えば、隣接値として、最大値の上、下、左、右、左上、左下、右上、及び、右下に隣接する位置の8個の値が存在する場合、最大値の補正後の値をxとすると、ルールR1,R2、及び、R3によれば、式x820x=10を解くことにより、位置情報としての8×8個の値のうちの、最大値は、x=0714に、8個の隣接値は、x20=0036に、残りの値は、0に、それぞれ補正される。ここで、上述の場合には、ルールR1において、補正後の最大値と隣接値との関係が、最大値が隣接値の20倍の値となる関係になるように、最大値と隣接値を調整する補正を行うこととしたが、補正後の最大値と隣接値との関係は、そのような関係に限定されるものではない。図6で説明したように、位置情報としての8×8個の値については、物体が存在する位置の値だけが1になり最も発火し、他の位置の値が0になるのが理想的であるが、位置情報の補正としては、そのような理想的な位置情報としての8×8個の値が得られた場合であっても、発火している位置に隣接する位置等の、発火している位置の周辺の位置を、いわば僅かに発火させる補正以下、なまし補正ともいうを採用することができる。シミュレーションでは、MTRNNの学習後、その学習によって得られた補正なしMTRNN、及び、補正ありMTRNNそれぞれに、学習用データとは異なる20パターンの運動指令の系列を与えて、運動指令の系列の認識図14Bを行い、その後、認識によって得られる固有初期値を、補正なしMTRNN、及び、補正ありMTRNNそれぞれのCs初期値として用いて、認識の対象となった運動指令対象運動指令の系列に対して、その対象運動指令の系列に従って動く物体の位置情報の予測値を生成した。さらに、シミュレーションでは、20パターンの対象運動指令の系列に対して得られた位置情報の予測値の予測誤差を求めた。シミュレーションで求めた位置情報の予測値の予測誤差は、位置情報の予測値としての8×8個の値のうちの最大値の位置最も発火している位置と、対象運動指令に従って動く物体の実際の位置真値との距離である。図15は、シミュレーションにおいて、補正なしMTRNN、及び、補正ありMTRNNのそれぞれを用いて得られた位置情報の予測値の予測誤差の平均値平均距離と、標準偏差とを示している。図15によれば、学習用データとしての位置情報のなまし補正を行って、MTRNNの学習に用いた方が、位置情報のなまし補正を行わない場合に比較して、予測誤差を低減することができることを確認することができる。以上においては、画像に、前景が1つだけ含まれることを前提としたが、画像に含まれる前景の数は、1つではなく、複数であってもよい。さらに、画像に複数の前景となる物体が含まれる場合には、その複数の物体としては、運動指令に従って動く物体と、運動指令に従って動く物体ではない物体とが混在していてもよい。図16は、背景に、2つの前景1及び2が重畳されている画像に対処するMTRNNの例を示す図である。図16において、MTRNNは、運動指令入出力層、第1物体位置入出力層、第2物体位置入出力層、Cf1層、Cf2層、及び、Cs層を有する。図16において、運動指令入出力層、及び、第1物体位置入出力層は、いずれも、Cf1層と双方向に接続されている。さらに、運動指令入出力層、及び、第2物体位置入出力層は、いずれも、Cf2層と双方向に接続されている。Cf1層は、運動指令入出力層、及び、第1の物体位置入出力層の他、Cs層とも双方向に接続されており、Cf2層は、運動指令入出力層、及び、第2の物体位置入出力層の他、Cs層とも双方向に接続されている。図16において、MTRNNの運動指令入出力層、第1物体位置入出力層、第2物体位置入出力層、Cf1層、Cf2層、及び、Cs層は、いずれも、1個以上のノードからなる。運動指令入出力層、及び、第1物体位置入出力層のそれぞれのノードは、Cf1層のノードと双方向に接続されており、Cf1層のノードは、さらに、Cs層のノードと双方向に接続されている。また、運動指令入出力層、及び、第2物体位置入出力層のそれぞれのノードは、Cf2層のノードと双方向に接続されており、Cf2層のノードは、さらに、Cs層のノードと双方向に接続されている。Cf1層、Cf2層、及び、Cs層のそれぞれのノードは、同一の層のノードとも接続されている。なお、運動指令入出力層、第1物体位置入出力層、第2物体位置入出力層、Cf1層、Cf2層、及び、Cs層を構成するノードは、図13で説明した場合と同様に、コンテキストループを有し、コンテキストを記憶内部状態を更新するニューロンであり、記憶値yを、式y=y1Tfに従って更新する。図16では、運動指令入出力層のノードについては、外部から与えられる運動指令や、Cf1層のノードの出力式y=y1Tfに従って更新された記憶値、Cf1層のノードの出力が、ノードへの入力xiとなる。第1物体位置入出力層のノードについては、外部から与えられる前景1及び2のうちの一方の位置情報や、Cf1層のノードの出力記憶値が、ノードへの入力xiとなる。第2物体位置入出力層のノードについては、外部から与えられる前景1及び2のうちの他方の位置情報や、Cf2層のノードの出力記憶値が、ノードへの入力xiとなる。Cf1層のノードについては、Cf1層の他のノードの出力や、運動指令入出力層のノードの出力、第1物体位置入出力層のノードの出力が、ノードへの入力xiとなる。Cf2層のノードについては、Cf2層の他のノードの出力や、運動指令入出力層のノードの出力、第2物体位置入出力層のノードの出力が、ノードへの入力xiとなる。Cs層のノードについては、Cs層の他のノードの出力や、Cf1層のノードの出力、Cf2層のノードの出力が、ノードへの入力xiとなる。運動指令入出力層は、図13の場合と同様に、2個のノードを有し、時定数Tとして、例えば、2が設定されている。MTRNNの内部では、運動指令入出力層のノードは、Cf1層、及び、Cf2層のそれぞれのノードとの間で、情報伝達を行う。MTRNNの外部との間では、運動指令入出力層のノードには、運動指令としての速度ベクトルのx成分Vx、及び、y成分Vyが入出力される。第1物体位置入出力層、及び、第2物体位置入出力層は、見え/位置認識ネットワーク図4、図7の前景層を構成する位置ノードの数と同一の8×8=64個のノードを有し、時定数Tとして、例えば、1が設定されている。MTRNNの内部では、第1物体位置入出力層のノードは、Cf1層のノードとの間で、情報伝達を行い、第2物体位置入出力層のノードは、Cf2層のノードとの間で、情報伝達を行う。MTRNNの外部との間では、第1物体位置入出力層のノードには、前景1及び2のうちの一方の位置情報としての8×8個の値が入出力され、第2物体位置入出力層のノードには、前景1及び2のうちの他方の位置情報としての8×8個の値が入出力される。Cf1層及びCf2層は、図13のCf層と同様に、10ないし80程度の範囲内の値である10個程度のノードを有し、時定数Tとして、例えば、4が設定されている。Cf1層のノードは、運動指令入出力層、第1物体位置入出力層、及び、Cs層のそれぞれのノード、並びに、Cf1層の他のノードとの間で、情報伝達を行い、Cf2層のノードは、運動指令入出力層、第2物体位置入出力層、及び、Cs層のそれぞれのノード、並びに、Cf2層の他のノードとの間で、情報伝達を行う。Cs層は、図13の場合と同様に、4ないし32程度の範囲内の値である16個程度のノードを有し、時定数Tとして、Cf1層及びCf2層の時定数より大の、例えば、70が設定されている。MTRNNの内部では、Cs層のノードは、Cf層のノード、及び、Cs層の他のノードとの間で、情報伝達を行う。図16のMTRNNによれば、運動指令の系列と、その運動指令に従って動く物体としての前景、及び、運動指令に従って動く物体以外の物体としての前景との2つの前景1及び2それぞれの位置情報の系列とが与えられた場合に、運動指令の系列に従って動く物体の位置情報の系列、ひいては、前景1及び2のうちのいずれが、運動指令の系列に従って動く物体であるかを識別する識別処理を行うことができる。すなわち、例えば、運動指令の系列と、その運動指令に従って動く物体としての前景、及び、運動指令に従って動く物体以外の物体としての前景との2つの前景1及び2を含む画像から得られる、前景1及び2それぞれの位置情報の系列とを、学習用データとして用意し、その学習用データを用いて、図16のMTRNNの学習図14Aを行う。さらに、運動指令の系列と、その運動指令に従って動く物体としての前景、及び、運動指令に従って動く物体以外の物体としての前景との2つの前景1及び2を含む画像から得られる、前景1及び2それぞれの位置情報の系列とを、前景1及び2のうちのいずれが、運動指令の系列に従って動く物体であるかを識別するための識別用データとして用意し、識別用データとしての運動指令の系列を、図16のMTRNNに与えて、認識図14B、及び、生成図14Cを行う。識別用データとしての運動指令の系列をMTRNNに与えて行われる認識、及び、生成の処理によれば、第1物体位置入出力層のノードから、前景1の位置情報の予測値第1物体位置入出力層のノードの記憶値が得られるとともに、第2物体位置入出力層のノードから、前景2の位置情報の予測値第2物体位置入出力層のノードの記憶値が得られる。前景1及び2それぞれの位置情報の予測値が得られた後は、その前景1の位置情報の予測値の、識別用データとしての前景1の位置情報に対する予測誤差、及び、前景2の位置情報の予測値の、識別用データとしての前景2の位置情報に対する予測誤差を求めることにより、それらの予測誤差に基づいて、前景1及び2のうちのいずれが、運動指令の系列に従って動く物体であるかを識別することができる。すなわち、前景1及び2のうちの、位置情報の予測値の予測誤差が小さい方を、運動指令の系列に従って動く物体であると識別することができる。以下、ネットワーク記憶部15に、背景に2つの前景1及び2が重畳されている画像に対処可能な図7の見え/位置認識ネットワークと、図16のMTRNNとが、識別ネットワークとして記憶されていることとして、図2のエージェントが行う処理を説明する。[学習処理]図17は、ネットワーク記憶部15に記憶された識別ネットワークの学習を行う学習処理を説明するフローチャートである。ここで、図1で説明したように、エージェントのハンドは、非身体エージェントの身体ではない物体が置いてあるテーブル上に置かれており、エージェントは、アクション制御部12図2が発する運動指令に従って、ハンドを動かしながら、テーブルを背景とし、かつ、非身体及びハンドを前景とする画像を、カメラ11で撮影する。エージェントにおいて、カメラ11で撮影された画像と、アクション制御部12が発する運動指令とは、対応付けられて、データ記憶部14に記憶される。ステップS11では、学習部16が、データ記憶部14に対応付けて記憶された運動指令と画像とのセットの系列を読み出すことにより、その運動指令と画像とのセットの系列を、学習用データとして取得して、処理は、ステップS12に進む。ステップS12では、ネットワーク学習部17は、ネットワーク記憶部15に記憶された識別ネットワークとしての見え/位置認識ネットワークの重みを、図5で説明したように拘束し、学習用データとしての画像を、見え/位置認識ネットワークに与えて、見え/位置認識ネットワークの学習を、BP法に従って行う。ネットワーク学習部17は、見え/位置認識ネットワークの学習によって、見え/位置認識ネットワークの重みを求め、見え/位置認識ネットワークの学習結果として、ネットワーク記憶部16に記憶させて、処理は、ステップS12からステップS13に進む。なお、ここでは、見え/位置認識ネットワークは、2つの前景層1及び2を有しているので、ステップS12の見え/位置認識ネットワークの学習では、図7に示したように、前景層1の位置ノードと画像層の画素ノードとの間の重みw1、前景層2の位置ノードと画像層の画素ノードとの間の重みw1、前景層1の位置ノードと背景層の背景ノードとの間の重みw2、前景層2の位置ノードと背景層の背景ノードとの間の重みw2、及び、背景層の背景ノードと画像層の画素ノードとの間の重みw3が求められる。但し、前景層1の位置ノードと背景層の背景ノードとの間の重みw2については、図5で説明したように、値が、0又は1の固定値に拘束されるので、学習結果としての重みw2としては、その固定値がそのまま採用される。前景層2の位置ノードと背景層の背景ノードとの間の重みw2についても、同様である。ステップS13では、MTRNN学習部18は、学習用データとしての画像の系列を、ネットワーク記憶部15に記憶された学習済みの見え/位置認識ネットワークに入力し、これにより、学習用データとしての画像に映る2つの前景1及び2となっている物体の位置情報の系列を求めて、処理は、ステップS14に進む。すなわち、MTRNN学習部18は、見え/位置認識ネットワークの前景層1に位置情報1を与えるとともに、前景層2に、位置情報2を与え、その位置情報1及び2に対して、画像層から出力される予測画像の、学習用データとしての画像に対する誤差を求める。そして、MTRNN学習部18は、見え/位置認識ネットワークの重みw1ないしw3を固定したまま、予測画像の誤差を小さくする位置情報1及び2を、BP法により求める。なお、ここでは、説明を簡単にするため、例えば、位置情報1が、前景1の位置情報であり、位置情報2が、前景2の位置情報であることとする。以上のようにして、学習用データとしての画像について、見え/位置認識ネットワークで得られる位置情報1及び2は、その位置情報1及び2が得られた画像、及び、その画像とセットになっている運動指令とセットにされ、学習用データに含められる。ステップS14では、MTRNN学習部18は、ステップS13で求められた学習用データとしての位置情報1及び2のそれぞれを、図15で説明したルールR1ないしR3に従って補正するなまし補正を行って、処理は、ステップS15に進む。ステップS15では、MTRNN学習部18は、ネットワーク記憶部15に記憶された識別ネットワークとしてのMTRNNに、学習用データとしての運動指令と、なまし補正後の位置情報1及び2とのセットの系列を与えて、MTRNNの学習を、BPTT法に従って行う。MTRNN学習部18は、MTRNNの学習によって、MTRNNの重みwi、及び、Cs層のノードの記憶値コンテキストの初期値を求め、MTRNNの学習結果として、ネットワーク記憶部16に記憶させて、処理は終了する。なお、図17の識別ネットワークの学習処理では、見え/位置認識ネットワークの学習を終了してから、MTRNNの学習を行うこととしたが、見え/位置認識ネットワークの学習と、MTRNNの学習とは、並行して行うことができる。識別ネットワークの学習処理において、見え/位置認識ネットワークの学習と、MTRNNの学習とを並行して行う場合には、ネットワーク学習部17は、学習用データとしての時刻tの画像を、見え/位置認識ネットワークに入力し、時刻tの画像の前景の位置情報を求める前景の位置を認識する。その後、MTRNN学習部18は、MTRNNに、学習用データとしての時刻tの運動指令と、見え/位置認識ネットワークで得られた時刻tの位置情報とを与え、次の時刻t1の運動指令の予測値の予測誤差を小さくするMTRNNの重みとCs層のノードの記憶値コンテキストの初期値とを、BPTT法に従って求める。さらに、MTRNN学習部18は、MTRNNの重みとCs層のノードの記憶値の初期値を、BPTT法に従って求めた値に固定し、MTRNNに、学習用データとしての時刻tの運動指令と、見え/位置認識ネットワークで得られた時刻tの位置情報とを与えて、時刻t1の位置情報の予測値を求める。ネットワーク学習部17は、時刻t1の位置情報の予測値を、見え/位置認識ネットワークの位置ノードに入力値として与えて、時刻t1の画像の予測値予測画像を生成し、その時刻t1の画像の予測値の予測誤差を小さくする見え/位置認識ネットワークの重み値が固定値に拘束されている重み以外の重みを、BP法により求める。ネットワーク学習部17、及び、MTRNN学習部18では、例えば、ネットワーク学習部17で求められる時刻t1の画像の予測値の予測誤差、及び、MTRNN学習部18で求められる時刻t1の運動指令の予測値の予測誤差が収束等するまで、同様の処理が繰り返され、これにより、見え/位置認識ネットワークの学習と、MTRNNの学習とが並行して行われる。[識別処理]図18は、エージェント図2において、ネットワーク記憶部15に記憶された識別ネットワークを用いて、画像に含まれる2つの前景1及び2のうちのいずれが、運動指令の系列に従って動く物体であるかを識別する識別処理を説明するフローチャートである。ここで、図17で説明したように、エージェント図2では、アクション制御部12が発する運動指令に従って、ハンドを動かしながら、テーブルを背景とし、かつ、非身体及びハンドを前景とする画像が、カメラ11で撮影されている。そして、カメラ11で撮影された画像と、アクション制御部12が発する運動指令とは、対応付けられて、データ記憶部14に記憶されている。ステップS21では、認識生成部19が、データ記憶部14に対応付けて記憶された運動指令と画像とのセットの系列を読み出すことにより、その運動指令と画像とのセットの系列を、運動指令に従って動く物体である身体ここでは、ハンドを識別する対象の識別用データとして取得して、処理は、ステップS22に進む。ここで、識別用データとして取得する運動指令と画像とのセットの系列は、学習用データとしての運動指令と画像とのセットの系列と全部、又は、一部が一致する系列であっても良いし、学習用データとしての運動指令と画像とのセットの系列とは別の系列であってもよい。ステップS22では、認識生成部19は、ネットワーク記憶部15に記憶された識別ネットワークとしての見え/位置認識ネットワークに、識別用データとしての画像の系列を入力し、図17のステップS13と同様にして、識別用データとしての画像に映る2つの前景1及び2となっている物体それぞれの位置情報1及び2の系列を求める。さらに、認識生成部19は、8×8個の値の位置情報1のうちの最大値の位置を、前景1の位置の真値として求めるとともに、8×8個の値の位置情報2のうちの最大値の位置を、前景2の位置の真値として求め、識別部20に供給して、処理は、ステップS22からステップS23に進む。ステップS23では、MTRNNを用いた認識図14Bが行われる。すなわち、ステップS23では、認識生成部19は、識別用データとしての運動指令の系列を、認識対象として、その認識対象の運動指令対象運動指令の系列を、ネットワーク記憶部15に記憶された識別ネットワークとしてのMTRNNに与えることにより、対象運動指令の系列の認識を、例えば、BPTT法を利用して行って、処理は、ステップS24に進む。具体的には、認識生成部19は、各時刻tの対象運動指令を、MTRNNに与えることにより、次の時刻t1の対象運動指令の予測値を求め、MTRNNの重みwiを固定した状態で、時刻t1の対象運動指令の予測値の予測誤差を小さくするCs層のノードの記憶値コンテキストの初期値である固有初期値を、対象運動指令の系列の認識結果として求める。ステップS24では、認識生成部19は、対象運動指令の認識の結果得られた固有初期値を、MTRNNのCs初期値として与えて、MTRNNを用いた生成図14Cを行うことにより、MTRNNの第1物体位置入出力層のノードの出力値を、前景1及び2のうちの一方の位置情報の予測値として求めるとともに、MTRNNの第2物体位置入出力層のノードの出力値を、前景1及び2のうちの他方の位置情報の予測値として求め、識別部20に供給して、処理は、ステップS25に進む。なお、ここでは、説明を簡単にするため、例えば、第1物体位置入出力層のノードの出力値が、前景1及び2のうちの前景1の位置情報1の予測値とされ、MTRNNの第2物体位置入出力層のノードの出力値が、前景1及び2のうちの前景2の位置情報2の予測値とされることとする。ステップS25では、識別部20は、認識生成部19からステップS24で供給される前景1の位置情報1の予測値、及び、前景2の位置情報1の予測値、並びに、認識生成部19からステップS22で供給される前景1の位置の真値、及び、前景2の位置の真値を用いて、前景1の位置情報1の予測値の予測誤差、及び、前景2の位置情報1の予測値の予測誤差を求めて、処理は、ステップS26に進む。すなわち、識別部20は、前景1の位置情報1の予測値である8×8の値のうちの最大値の位置と、前景1の位置の真値との間の距離を、前景1の位置情報1の予測値の予測誤差として求める。前景2の位置情報2の予測値の予測誤差も、同様にして求められる。ステップS26では、識別部20は、前景1の位置情報1の予測値の予測誤差、及び、前景2の位置情報1の予測値の予測誤差に基づき、識別用データとしての画像に映る2つの前景1及び2のうちのいずれが、識別用データとしての運動指令の系列に従って動く物体であるかを識別し、処理を終了する。ここで、識別ネットワークとしてのMTRNNは、学習用データを用いた学習によって、その学習用データとしての運動指令と、その運動指令に従って動く物体である、例えば、ハンドの位置ハンドの位置の軌跡動きとの関係を獲得する。したがって、前景1及び2のうちの一方が、運動指令に従って動く身体であるハンドであり、他方が、非身体である場合には、MTRNNを用いて得られる前景1の位置情報1の予測値、及び、前景2の位置情報2の予測値については、運動指令に従って動くハンドの位置情報の予測値の方が、非身体の位置情報の予測値よりも、予測誤差が小さくなる正解である可能性が高い。そこで、識別部20は、識別用データとしての画像に映る2つの前景1及び2のうちの、位置情報の予測誤差が小さい方を、識別用データとしての運動指令の系列に従って動く物体であると識別する。図19は、本件発明者が行った、図17の学習処理、及び、図18の識別処理のシミュレーションの結果を示す図である。シミュレーションでは、380パターンの学習用データとして、380パターンの運動指令の系列と、各運動指令に従って動く身体としてのハンドと非身体を前景とする画像の系列とを用意し、図17の学習処理を行った。さらに、シミュレーションでは、図17の学習処理の終了後、その学習処理によって得られた識別ネットワークとしての見え/位置認識ネットワーク及びMTRNNに、学習用データとは異なる20パターンの運動指令の系列と、各運動指令に従って動く身体としてのハンドと非身体を前景とする画像の系列とを、識別用データとして与えて、図18の識別処理を行った。図19は、識別処理において得られた、ハンド及び非身体それぞれの位置情報の予測値の予測誤差の平均値平均距離と、標準偏差とを示している。図19では、ハンドの位置情報の予測値の予測誤差の平均値は、114で、非身体の位置情報の予測値の予測誤差の平均値は、241であるから、予測精度を、例えば、予測誤差の平均値の逆数で表すこととすると、識別ネットワークによれば、運動指令に従って動く身体としてのハンドについては、非身体よりも、約211=241/114倍だけ高い予測精度で、位置情報を予測することができる。したがって、識別ネットワークを用いて得られる、2つの前景のうちの、位置情報の予測値の予測誤差が小さい方の前景を、運動指令に従って動く身体であると識別することができる。なお、画像に含まれる前景の数が、1つだけである場合には、識別ネットワークによれば、例えば、位置情報の予測値の予測誤差が、所定の閾値より大であるときに、前景が身体でない非身体であると識別することができ、所定の閾値より大でないときに、前景が身体であると識別することができる。また、画像に含まれる前景の数が、複数である場合には、識別ネットワークによれば、例えば、位置情報の予測値の予測誤差が、単に最小の前景を、身体であると識別することもできるし、位置情報の予測値の予測誤差が、最小であり、かつ、閾値以下である前景を、身体であると識別することもできる。位置情報の予測値の予測誤差が、最小であり、かつ、閾値以下である前景を、身体であると識別する場合において、位置情報の予測値の予測誤差が、閾値以下になっている前景が存在しないときには、すべての前景が非身体であると識別される。[本技術を適用したコンピュータの説明]次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。そこで、図20は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。あるいはまた、プログラムは、リムーバブル記録媒体111に格納記録しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CDROM,MOディスク,DVD、磁気ディスク、半導体メモリ等がある。なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。コンピュータは、CPU102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM104にロードして実行する。これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCDやスピーカ等で構成される。ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理例えば、並列処理あるいはオブジェクトによる処理も含む。また、プログラムは、1のコンピュータプロセッサにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。さらに、本明細書において、システムとは、複数の構成要素装置、モジュール部品等の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。なお、本技術は、以下のような構成をとることができる。[1]画像の前景の位置に対応するニューロンである位置ノードからなる前景層と、画像の背景に対応するニューロンである背景ノードからなる背景層と、前記背景に前記前景が重畳されている画像の画素に対応するニューロンである画素ノードからなる画像層とを有し、前記位置ノード、前記背景ノード、及び、前記画素ノードが、相互に接続されているニューラルネットワークである見え/位置認識ネットワークの学習を、前記位置ノードと画素ノードとの間の結合加重である第1の重み、前記位置ノードと背景ノードとの間の結合加重である第2の重み、及び、前記背景ノードと画素ノードとの間の結合加重である第3の重みを拘束し、学習用の画像を用いて行うネットワーク学習部を備え、前記位置ノードは、入力値として入力される、前記前景の位置を表す位置情報に対応する値を出力し、前記背景ノードは、前記位置ノードの出力の重み付け加算を含む演算によって得られる値を出力し、前記画素ノードは、前記位置ノードの出力の重み付け加算、及び、前記背景ノードの出力の重み付け加算を含む演算によって得られる値を出力する情報処理装置。[2]前記ネットワーク学習部は、任意の2つの位置ノードについて、前記2つの位置ノードのうちの一方の位置ノードに対応する位置から所定の位置関係の位置にある画素に対応する画素ノードと前記一方の位置ノードとの間の第1の重みと、前記2つの位置ノードのうちの他方の位置ノードに対応する位置から前記所定の位置関係の位置にある画素に対応する画素ノードと前記他方の位置ノードとの間の第1の重みとが、同一の値になるように、前記第1の重みを拘束し、各位置ノードについて、前記位置ノードに対応する位置を基準とする所定の範囲内の背景に対応する背景ノードと前記位置ノードとの間の第2の重みを、前記背景ノードの発火を抑制する固定値に拘束して、前記見え/位置認識ネットワークの学習を行う[1]に記載の情報処理装置。[3]前記ネットワーク学習部は、さらに、各背景ノードについて、前記背景ノードに対応する背景の画素以外の画素に対応する画素ノードとの間の第3の重みを0に拘束して、前記見え/位置認識ネットワークの学習を行う[2]に記載の情報処理装置。[4]前記ネットワーク学習部は、前記見え/位置認識ネットワークの前記画素ノードから出力される値を画素値とする画像である予測画像の、前記学習用の画像に対する誤差を小さくするように、前記見え/位置認識ネットワークの学習を行う[1]ないし[3]のいずれかに記載の情報処理装置。[5]物体を動かす運動指令に従って動く物体を前景として含む画像の系列に対する前記予測画像の誤差を小さくする、前記見え/位置認識ネットワークの前記位置ノードの入力値となる前記位置情報の系列と、前記運動指令の系列とを用いて、MTRNNの学習を行うMTRNN学習部と、前記運動指令の系列と前記画像の系列とを含む、前記運動指令に従って動く物体の識別に用いる識別用データに含まれる前記運動指令の系列の入力に対して、前記MTRNNから出力される位置情報の予測値の系列の誤差に基づいて、前記識別用データに含まれる前記画像の中の前景が、前記識別用データに含まれる運動指令に従って動く物体であるかどうかを識別する識別部とをさらに備える[4]に記載の情報処理装置。[6]前記MTRNN学習部は、前記位置ノードの入力値のうちの最大の入力値の位置ノードの周辺の位置ノードの入力値と、前記最大の入力値とが所定の関係になるように前記入力値を補正した、補正後の位置ノードの入力値を、前記位置情報として用いて、前記MTRNNの学習を行う[5]に記載の情報処理装置。[7]前記MTRNNは、前記位置情報が入出力されるニューロンからなる位置入出力層と、前記運動指令が入出力されるニューロンからなる運動指令入出力層と、前記位置入出力層、及び、前記運動指令入出力層のそれぞれと接続される、所定の時定数で記憶値が更新されるニューロンからなる第1のコンテキスト層と、前記第1のコンテキスト層と接続される、前記所定の時定数よりも大の時定数で記憶値が更新されるニューロンからなる第2のコンテキスト層とを有する[5]又は[6]に記載の情報処理装置。[8]前記見え/位置認識ネットワークは、前記背景ノード、及び、前記画素ノードのそれぞれと接続される複数の前景層を有する[1]ないし[7]のいずれかに記載の情報処理装置。[9]画像の前景の位置に対応するニューロンである位置ノードからなる前景層と、画像の背景に対応するニューロンである背景ノードからなる背景層と、前記背景に前記前景が重畳されている画像の画素に対応するニューロンである画素ノードからなる画像層とを有し、前記位置ノード、前記背景ノード、及び、前記画素ノードが、相互に接続されているニューラルネットワークである見え/位置認識ネットワークの学習を、前記位置ノードと画素ノードとの間の結合加重である第1の重み、前記位置ノードと背景ノードとの間の結合加重である第2の重み、及び、前記背景ノードと画素ノードとの間の結合加重である第3の重みを拘束し、学習用の画像を用いて行うステップを含み、前記位置ノードは、入力値として入力される、前記前景の位置を表す位置情報に対応する値を出力し、前記背景ノードは、前記位置ノードの出力の重み付け加算を含む演算によって得られる値を出力し、前記画素ノードは、前記位置ノードの出力の重み付け加算、及び、前記背景ノードの出力の重み付け加算を含む演算によって得られる値を出力する情報処理方法。[10]画像の前景の位置に対応するニューロンである位置ノードからなる前景層と、画像の背景に対応するニューロンである背景ノードからなる背景層と、前記背景に前記前景が重畳されている画像の画素に対応するニューロンである画素ノードからなる画像層とを有し、前記位置ノード、前記背景ノード、及び、前記画素ノードが、相互に接続されているニューラルネットワークである見え/位置認識ネットワークの学習を、前記位置ノードと画素ノードとの間の結合加重である第1の重み、前記位置ノードと背景ノードとの間の結合加重である第2の重み、及び、前記背景ノードと画素ノードとの間の結合加重である第3の重みを拘束し、学習用の画像を用いて行うネットワーク学習部として、コンピュータを機能させるためのプログラムであり、前記位置ノードは、入力値として入力される、前記前景の位置を表す位置情報に対応する値を出力し、前記背景ノードは、前記位置ノードの出力の重み付け加算を含む演算によって得られる値を出力し、前記画素ノードは、前記位置ノードの出力の重み付け加算、及び、前記背景ノードの出力の重み付け加算を含む演算によって得られる値を出力するプログラム。"