(57)【要約】【課題】バリエーションのある時系列データを生成する。【解決手段】空間的な配置構造が与えられた複数のノードから構成される入力ネットワークnet11、および出力ネットワークnet12を有する入出力関係モデルにおける入力ネットワークnet11のノードが、入力データに適合する度合いを表すスコアを求めるとともに、出力ネットワークnet12のノードが、出力データに適合する度合いを表すスコアを求める。そして、入力ネットワークnet11のノードの、入力データに対するスコアの分布である入力発火パターンと、出力ネットワークnet12のノードの、出力データに対するスコアの分布である出力発火パターンとに基づいて、入力発火パターンと出力発火パターンとを対応付ける対パターン対応情報を学習する。本発明は、例えば、ロボットなどに適用できる。【選択図】図３７
2007280056.tif 000002
【特許請求の範囲】
【請求項１】
時系列データの学習を行うデータ処理装置において、
空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記入力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記入力SOMを、自己組織的に更新する処理と、
前記出力SOMのノードが、時系列データである出力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記出力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記出力SOMを、自己組織的に更新する処理と
を行う認識学習処理手段と、
前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記出力データに対するスコアの分布である出力発火パターンとに基づいて、前記入力発火パターンと前記出力発火パターンとを対応付ける対パターン対応情報を学習する対パターン対応情報更新手段と
を備えるデータ処理装置。
【請求項２】
前記入力データから所定の時間単位の入力データを抽出するとともに、前記出力データから前記所定の時間単位の出力データを抽出する入出力データ抽出手段をさらに備え、
前記認識学習処理手段は、
前記入力SOMのノードが、所定の時間単位の入力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、所定の時間単位の入力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記入力SOMを、自己組織的に更新する処理と、
前記出力SOMのノードが、所定の時間単位の出力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、所定の時間単位の出力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記出力SOMを、自己組織的に更新する処理と
を行い、
前記対パターン対応情報更新手段は、
前記入力SOMのノードの、前記所定の時間単位の入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記所定の時間単位の入力データの時刻から一定の時間だけ遅れた前記所定の時間単位の出力データに対するスコアの分布である出力発火パターンとに基づいて、前記入力発火パターンと前記出力発火パターンとを対応付ける対パターン対応情報を学習する
請求項１に記載のデータ処理装置。
【請求項３】
前記所定の時間単位の出力データの少なくとも一部の時系列データと、前記所定の時間単位の出力データに対する前記出力発火パターンとに基づいて、前記少なくとも一部の時系列データと、前記出力発火パターンとを対応付ける対時系列対応情報を学習する生成学習処理手段をさらに備える
請求項２に記載のデータ処理装置。
【請求項４】
前記認識学習処理手段は、
前記入力SOMについて、１の所定の時間単位の入力データの直前の所定の時間単位の入力データに対する勝者ノードとの距離が所定の距離以内のノードである距離制限ノードの中から、前記１の所定の時間単位の入力データに対する勝者ノードを決定し、
前記出力SOMについて、１の所定の時間単位の出力データの直前の所定の時間単位の出力データに対する勝者ノードとの距離が所定の距離以内のノードである距離制限ノードの中から、前記１の所定の時間単位の出力データに対する勝者ノードを決定する
請求項２に記載のデータ処理装置。
【請求項５】
時系列データの学習を行うデータ処理装置のデータ処理方法において、
空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記入力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記入力SOMを、自己組織的に更新する処理と、
前記出力SOMのノードが、時系列データである出力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記出力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記出力SOMを、自己組織的に更新する処理と
を行い、
前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記出力データに対するスコアの分布である出力発火パターンとに基づいて、前記入力発火パターンと前記出力発火パターンとを対応付ける対パターン対応情報を学習する
ステップを含むデータ処理方法。
【請求項６】
時系列データの学習を行うデータ処理を、コンピュータに実行させるプログラムにおいて、
空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記入力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記入力SOMを、自己組織的に更新する処理と、
前記出力SOMのノードが、時系列データである出力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記出力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記出力SOMを、自己組織的に更新する処理と
を行い、
前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記出力データに対するスコアの分布である出力発火パターンとに基づいて、前記入力発火パターンと前記出力発火パターンとを対応付ける対パターン対応情報を学習する
ステップを含む前記データ処理を、コンピュータに実行させるプログラム。
【請求項７】
時系列データの処理を行うデータ処理装置において、
空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンを出力する認識手段と、
前記入力発火パターンと、前記出力SOMのノードの、時系列データである出力データに対するスコアの分布である出力発火パターンとを対応付ける対パターン対応情報に基づいて、前記入力発火パターンに対応する前記出力発火パターンを決定する出力発火パターン決定手段と
を備えるデータ処理装置。
【請求項８】
前記入力データから所定の時間単位の入力データを抽出する入力データ抽出手段をさらに備え、
前記認識手段は、前記入力SOMのノードが、所定の時間単位の入力データに適合する度合いを表すスコアを求め、前記入力SOMのノードの、所定の時間単位の入力データに対するスコアの分布である入力発火パターンを出力し、
前記対パターン対応情報は、前記入力SOMのノードの、前記所定の時間単位の入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記所定の時間単位の入力データの時刻から一定の時間だけ遅れた前記所定の時間単位の出力データに対するスコアの分布である出力発火パターンとを対応付ける情報である
請求項７に記載のデータ処理装置。
【請求項９】
前記所定の時間単位の出力データの少なくとも一部の時系列データと、前記所定の時間単位の出力データに対する前記出力発火パターンとを対応付ける対時系列対応情報に基づいて、前記出力発火パターンに対応する時系列データを生成する時系列生成手段をさらに備える
請求項８に記載のデータ処理装置。
【請求項１０】
時系列データの処理を行うデータ処理装置のデータ処理方法において、
空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンを出力し、
前記入力発火パターンと、前記出力SOMのノードの、時系列データである出力データに対するスコアの分布である出力発火パターンとを対応付ける対パターン対応情報に基づいて、前記入力発火パターンに対応する前記出力発火パターンを決定する
ステップを含むデータ処理方法。
【請求項１１】
時系列データの処理を行うデータ処理を、コンピュータに実行させるプログラムにおいて、
空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンを出力し、
前記入力発火パターンと、前記出力SOMのノードの、時系列データである出力データに対するスコアの分布である出力発火パターンとを対応付ける対パターン対応情報に基づいて、前記入力発火パターンに対応する前記出力発火パターンを決定する
ステップを含む前記データ処理を、コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、およびプログラムに関し、特に、例えば、バリエーションのある時系列データを生成することができるようにするデータ処理装置、データ処理方法、およびプログラムに関する。
【背景技術】
【０００２】
例えば、自律的にタスクを行うロボットの実現には、順モデルまたは逆モデルを利用することができる。
【０００３】
図１は、順モデルと逆モデルの概念を示している。
【０００４】
ある時系列データ（時系列のデータ）としての入力データに対して、他の時系列データとしての出力データを出力する制御対象が与えられ、制御対象に関する詳細な情報はわからないが（制御対象の内部がわからないが）、制御対象に与えられる入力データと、その入力データに対して制御対象から得られる出力データは観測することができることとする。
【０００５】
ここで、制御対象に与えられる入力データと、その入力データに対して制御対象から得られる出力データとは、観測することができれば、どのような物理量でも良い。また、制御対象は、入力データを与えることができ、かつ、その入力データに対して出力データを得ることができるものであれば、どのような対象（もの）でも良い。
【０００６】
従って、例えば、ボールや、楽器、自動車、ガスヒータその他の種々のものが、制御対象となり得る。即ち、例えば、ボールについては、入力データとしての力を加える（与える）ことで、その入力データに対して変化する出力データとしてのボールの位置や速度が得られる。また、例えば、自動車については、入力データとしてのハンドルや、アクセル、ブレーキなどの操作をする（与える）ことで、その入力データに対して変化する出力データとしての自動車の位置や速度を得ることができる。さらに、例えば、ガスヒータについては、入力データとしての火力を調整する操作をすることで、その入力データに対して変化する出力データとしての部屋の温度を得ることができる。
【０００７】
以上のように、制御対象に入力データを与え、それに対して出力データが得られる場合に、その制御対象をモデル化したもの（モデル）が順モデルである。
【０００８】
順モデルは、入力データを入力すると（入力データが与えられると）、その入力データに対して、制御対象から得られる出力データの推定値を出力する。従って、順モデルによれば、制御対象に対して、実際の入力データを与えなくても、その入力データに対して、制御対象から得られる出力データを推定することができる。
【０００９】
一方、制御対象から得られる出力データの目標値を決定し、その目標値となる出力データを得るために、制御対象に与えるべき入力データを推定することができるモデルが逆モデルである。順モデルは、入力データから出力データへの写像とみなすことができるが、その逆写像が逆モデルである。
【００１０】
ここで、逆モデルによって求められる、目標値となる出力データを得るために、制御対象に与えるべき入力データを、以下、適宜、制御データともいう。
【００１１】
以上のような順モデルや逆モデルは、上述したように、ロボット（の構成）に利用することができる。
【００１２】
即ち、いま、ロボットが、マイク（マイクロフォン）やカメラを備え、音声（音）データや画像データを入力することができ、かつ、スピーカやアクチュエータ（モータ）を備え、音声（音声データ）を出力し、また、モータデータ（モータ信号）にしたがってモータが駆動することにより、アームを動かすことができることとする。
【００１３】
かかるロボットにおいて、ある音声データや画像データなどの入力データに応じて、出力データとしての音声データを出力させ、また、所望のアームの動作をさせる出力データとしてのモータデータを出力させる場合、従来においては、音声認識装置や画像認識装置を用いて、ロボットに入力される音声データや画像データを認識した認識結果に応じて、どのような音声データを出力するべきか、あるいは、どのようなモータデータを出力するべきかを、あらかじめプログラミング（デザイン）しておくことが行われる。
【００１４】
これに対して、順モデルを利用すれば、図２に示すように、ある音声データや画像データに応じて、所望の音声データや、所望のアーム動作をさせるモータデータを出力するロボットを制御対象として想定し、その制御対象として想定したロボット（以下、適宜、想定ロボットと呼ぶ）の順モデルとして、実際のロボットを構成することが可能となる。即ち、想定ロボットに対する入力データと出力データの関係を、実際のロボットに学習させることができれば、想定ロボットの順モデルとしてのロボットを構成することができる。
【００１５】
具体的には、想定ロボットに入力する音声データや画像データなどの入力データと、想定ロボットが各入力データに対応して出力すべき音声データやモータデータなどの出力データとのセットをあらかじめ用意し、実際のロボットに与える。実際のロボットにおいて、外部から与えられた入力データと出力データのセット（以下、適宜、教示データという）だけを用いて、入力データに対応する出力データを推定する（出力する）想定ロボットの順モデルを求めることができれば、実際に入力される音声データや画像データなどの入力データに応じて、所望の音声データやモータデータなどの出力データを出力することが可能となる。
【００１６】
また、逆モデルを利用すれば、図３に示すように、ロボットのアームを制御対象として、その制御対象であるアームを制御するアーム制御器を構成することが可能となる。
【００１７】
即ち、いま、ロボットのアームが、入力データとしてのモータデータに応じて駆動するモータによって動き、その結果、アームの先端の位置が変化するとする。さらに、ロボットの重心を原点とし、ロボットの前方（正面）方向をx軸と、（ロボットから見て）右方向をｙ軸と、上方向をｚ軸と、それぞれする３次元座標系に基づき、その３次元座標系の(x,y,z)座標でアームの先端の位置を表すこととする。この場合、モータデータに応じてモータが駆動し、さらにアームの先端の位置が変化することで、アームの先端がある軌跡を描く。ここで、アームの先端が描く軌跡（先端位置軌跡）の座標のシーケンスを、先端位置軌跡データという。
【００１８】
アームが所望の先端位置軌跡を描くようにするには、つまり、出力データとしての所望の先端位置軌跡データを出力するようにするには、アームがそのような先端位置軌跡を描くようにモータを駆動するモータデータを、入力データとしてモータに与える必要がある。
【００１９】
いま、入力データとしてのモータデータと、そのモータデータがモータに与えられたときの出力データとしての先端位置軌跡データとのセットである教示データだけを用いて、出力データとしての、ある先端位置軌跡データを目標値として得ることができる入力データ（制御データ）としてのモータデータを推定するアームの逆モデルを求めることができれば、その逆モデルは、目標値である先端位置軌跡データに対して、対応するモータデータを決定するアーム制御器に利用することができる。
【００２０】
このようなアームの逆モデルとしてのアーム制御器によれば、ロボットに対して、入力データとしての先端位置軌跡データを入力すると、ロボットは、アーム制御器を用いることで、対応するモータデータ（制御データ）を決定することができる。そして、ロボットが、このモータデータにしたがってモータを駆動すれば、ロボットのアームは、入力データとしての先端位置軌跡データに対応した軌跡を描くように移動する。
【００２１】
以上のように、入力データと出力データとのセット（教示データ）だけを用いて、順モデルや逆モデルを求めることができれば、その順モデルや逆モデルを用いて、各入力データに応じた出力データを出力するロボットを、容易に構成することが可能となる。
【００２２】
以上のような順モデルや逆モデルを求める方法としては、線形システムを用いたモデル化がある。
【００２３】
線形システムを用いたモデル化では、例えば、図４に示すように、時刻tにおける、制御対象への入力データをu(t)とするとともに、出力データをy(t)として、出力データy(t)と入力データu(t)との関係、つまり制御対象を、例えば、式（１）および式（２）で与えられる線形システムとして近似する。
【００２４】
【数１】
2007280056.tif 000003
【００２５】
【数２】
2007280056.tif 000004
【００２６】
ここで、x(t)は、時刻tにおける線形システムの状態変数と呼ばれ、A, B, C は係数である。また、ここでは、説明を簡単にするために、入力データu(t)および出力データy(t)を１次元ベクトル（スカラ）とするとともに、状態変数x(t)をn次元ベクトルとすると（ここでは、nは２以上の整数値）、A,B,Cは、それぞれn×n行列、n×1行列、1×n行列で与えられる定数の行列となる。
【００２７】
線形システムを用いたモデル化では、観測することができる入力データu(t)と、その入力データu(t)が制御対象に与えられたときに観測される出力データy(t)との関係が、式（１）および式（２）を満たすように、行例A,B,Cを決定することで、制御対象の順モデルが得られる。
【００２８】
しかしながら、線形システムを用いたモデル化は、複雑な制御対象、即ち、例えば、非線形な特性を持つ制御対象をモデル化するには十分ではない。
【００２９】
即ち、現実の制御対象は複雑であり、非線形な特性を有することが少なくないが、かかる制御対象を、単純な線形システムとして近似してモデル化すると、順モデルが入力データに対して推定する出力データや、逆モデルが出力データに対して推定する入力データ（制御データ）の推定誤差が大になり、高精度の推定を行うことが困難となる。
【００３０】
そこで、非線形な特性を持つ制御対象に対する順モデルや逆モデルを得る方法としては、例えば、ニューラルネットワークを用いて、教示データ、即ち、制御対象に与えられる入力データと、その入力データが与えられたときに制御対象から観測される出力データとのセットを学習する方法がある。ここで、ニューラルネットワークとは、生体の神経細胞（ニューロン）を模擬した人工素子を相互接続して構成されるネットワークであり、外部から与えられる教示データの関係、つまり、入力データと出力データとの関係を学習することができる。
【００３１】
しかしながら、ニューラルネットワークによって、制御対象を適切にモデル化するには、制御対象の複雑性に応じて、ニューラルネットワークの規模を大にする必要がある。ニューラルネットワークの規模が大になると、学習に要する時間が飛躍的に増大し、また、安定した学習も難しくなる。このことは、入力データや出力データの次元数が大である場合も同様である。
【００３２】
一方、入力データと出力データとのセット（教示データ）だけを用いて、順モデルや逆モデルを求める場合には、教示データを用いて学習を行い、教示データが、幾つかのパターンのうちのいずれに該当するかを認識する必要がある。即ち、教示データとしての入力データや出力データのパターンを学習して認識する必要がある。
【００３３】
パターンを学習して認識を行う技術は、一般にパターン認識（pattern recognition）と呼ばれ、パターン認識における学習は、教師あり学習（supervised learning）と、教師なし学習（unsupervised learning）とに分けることができる。
【００３４】
教師あり学習とは、各パターンの学習データがどのクラスに属するかの情報（これを正解ラベルと呼ぶ）を与えて、各パターンごとに、そのパターンに属する学習データを学習する方法であり、ニューラルネットワークや、HMM（Hidden Markov Model）などを用いた学習方法が数多く提案されている。
【００３５】
ここで、図５は、教師あり学習の一例を示している。
【００３６】
教師あり学習では、学習に利用する学習データが、想定したカテゴリ（クラス）（例えば、各音素のカテゴリや、各音韻のカテゴリ、各単語のカテゴリなど）ごとに用意される。例えば、"A"，"B"，"C"という発声の音声データを学習する場合、"A"，"B"，"C"それぞれの多数の音声データが用意されることになる。
【００３７】
一方、学習に利用するモデル（各カテゴリの学習データを学習させるモデル）も、想定したカテゴリごとに用意される。ここで、モデルは、パラメータによって定義される。例えば、音声データの学習には、モデルとして、ＨＭＭなどが用いられるが、HMMは、ある状態から他の状態（元の状態を含む）に遷移する状態遷移確率や、HMMから出力される観測値の確率密度を表す出力確率密度関数などによって定義される。
【００３８】
教師あり学習では、各カテゴリ（クラス）のモデルの学習が、そのカテゴリの学習データのみを用いて行われる。即ち、図５では、カテゴリ"A"のモデルの学習は、カテゴリ"A"の学習データのみを用いて行われ、カテゴリ"B"のモデルの学習は、カテゴリ"B"の学習データのみを用いて行われる。同様に、カテゴリ"C"のモデルの学習も、カテゴリ"C"の学習データのみを用いて行われる。
【００３９】
教師あり学習においては、このように、各カテゴリの学習データを用いて、そのカテゴリのモデルの学習を行う必要があるため、カテゴリごとに、そのカテゴリの学習データを用意し、各カテゴリのモデルの学習に対して、そのカテゴリの学習データを与えて、カテゴリごとのモデルを得る。その結果、教師あり学習によれば、正解ラベルに基づき、クラスごとのテンプレート（正解ラベルが表すクラス（カテゴリ）のモデル）を得ることができる。
【００４０】
そして、認識時には、ある認識対象のデータに対し、その認識対象のデータに最も適合(match)するテンプレート（尤度が最も高いテンプレート、または距離や誤差が最小のテンプレート）が求められ、そのテンプレートの正解ラベルが、認識結果として出力される。
【００４１】
一方、教師なし学習は、各パターンの学習データに正解ラベルが与えられない状況で行われる学習であり、例えば、ニューラルネットなどを用いた学習方法があるが、正解ラベルが与えられないという点で、教師あり学習とは大きく異なる。
【００４２】
ところで、パターン認識は、そのパターン認識によって認識しようとする認識対象のデータ（信号）が観測される信号空間の量子化と見ることができる。特に、認識対象のデータがベクトルである場合のパターン認識は、ベクトル量子化（vector quantization）と呼ばれることがある。
【００４３】
ベクトル量子化の学習（コードブックの生成）では、認識対象のデータが観測される信号空間上に、クラスに対応する代表的なベクトル（これをセントロイドベクトルと呼ぶ）が配置される。
【００４４】
ベクトル量子化の教師なし学習として代表的な手法の一つに、K-平均法（K-means clustering method）がある。K-平均法は、初期状態として、セントロイドベクトルを適当に配置し、学習データとしてのベクトルを、最も距離の近いセントロイドベクトルに割り当て、各セントロイドベクトルに割り当てられた学習データの平均ベクトルによってセントロイドベクトルを更新することを繰り返す学習手法である。なお、セントロイドベクトルの集まりは、コードブックと呼ばれる。
【００４５】
ここで、多数の学習データを蓄積し、そのすべてを用いて学習を行う方法は、バッチ学習（batch learning）と呼ばれ、K-平均法は、バッチ学習に分類される。バッチ学習に対して、学習データを観測するたびに、その学習データを用いて学習を行い、パラメータ（セントロイドベクトルのコンポーネントや、HMMを定義する出力確率密度関数など）を少しずつ更新する学習は、オンライン学習（on-line learning）と呼ばれる。
【００４６】
オンライン学習としては、コホネン(T.Kohonen)の提案したSOM（self-organization map）による学習が知られている。SOMによる学習では、SOMの入力層と出力層の結合重みが、オンライン学習により少しずつ更新（修正）されていく。
【００４７】
即ち、SOMにおいて、出力層は、複数のノードを有し、出力層の各ノードには、重みベクトルが与えられる。この重みベクトルをセントロイドベクトルとした場合、ベクトル量子化における学習を行うことができる。
【００４８】
具体的には、SOMの出力層のノードにおいて、重みベクトルと、学習データとしてのベクトルとの距離が最も近いノードが、その学習データとしてのベクトルに最も適合する勝者ノードに決定され、その勝者ノードの重みベクトルが、学習データとしてのベクトルに近づくように更新される。さらに、勝者ノードの近傍のノードの重みベクトルも、学習データに少しだけ近づくように更新される。その結果、学習が進むにつれ、重みベクトルが類似したノードどうしは近くなるように、類似しないノードは遠くなるように、出力層の上に配置されていく。従って、出力層には、あたかも学習データに含まれるパターンに応じた地図が構成されていくことになる。このように、学習が進むにつれて、類似するノード（重みベクトルが類似するノード）どうしが近い位置に集まり、学習データに含まれるパターンに応じた地図が構成されていく学習は、自己組織的または自己組織化（self-organization）と呼ばれる。
【００４９】
ここで、K-平均法では、学習データに最も距離の近いベクトルのみが更新されることから、その更新方法はWTA(winner-take-all)と呼ばれる。一方、SOMによる学習では、学習データに最も距離の近いノード（勝者ノード）の重みベクトルだけでなく、勝者ノードの近傍のノードの重みベクトルも更新されるから、その更新方法はSMA(soft-max adaptation)と呼ばれる。WTAで学習を行うと学習結果が局所解に陥りやすいのに対して、SMAで学習を行うと、局所解に陥る問題を改善することができることが知られている。
【００５０】
なお、SOMに関しては、例えば、非特許文献１に記載されている。
【００５１】
【非特許文献１】T.コホネン、「自己組織化マップ」、シュプリンガー・フェアラーク東京
【発明の開示】
【発明が解決しようとする課題】
【００５２】
ところで、ロボットの実世界での振る舞い（行動）をより自然にするため、ロボット自身が自分の行動を通して認知行動の構造を獲得するための枠組みの研究が行われている。ここで、認知行動とは、例えば、ロボット等が、外部の状態（ロボット自身の状態も含む）を認知（認識）し、その認知結果に応じて行動をとることを意味する。
【００５３】
ロボットに認知行動を行わせるには、例えば、外部の状態を検知するセンサが出力するセンサデータに対して、ロボットを駆動するモータに供給されるモータデータとして、適切なモータデータを求める必要がある。
【００５４】
一般に、センサが出力するセンサデータと、モータに供給されるモータデータとは、いずれも連続的な時系列データである。また、実世界での認知行動を行うロボットでは、センサデータやモータデータとして、次元数の大きなデータを扱う必要がある。また、かかるロボットで扱うセンサデータやモータデータの振る舞いは複雑であり、線形システムでモデル化することは困難である。
【００５５】
そこで、センサデータやモータデータのような時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される時系列パターン記憶ネットワークによって、多次元のベクトルの時系列であるセンサデータやモータデータなどの時系列データを自己組織的に学習し、さらに、入力データとしての時系列データを学習した時系列パターン記憶ネットワークと、出力データとしての時系列データを学習した時系列パターン記憶ネットワークとのノードどうしを結合し、入力データに基づき、外部の状態を認知し、その認知結果に応じてロボットがとるべき行動に対応する出力データを生成する方法について、本件出願人は、先に提案している（例えば、特願2004-353382号）。
【００５６】
ここで、時系列パターン記憶ネットワークは、複数のノードから構成され、自己組織的な学習を行うことができる点で、従来のSOMと共通し、従って、SOMの範疇に含まれるので、SOMの一種であるということができる。但し、時系列パターン記憶ネットワークは、ノードが時系列パターンモデルを有し、その時系列パターンモデルによって記憶構造の中に、時系列パターンを保持することができる点で、従来のSOMとは異なる。
【００５７】
ところで、先に提案した方法では、入力データを用いて学習が行われる（入力データを学習する）時系列パターン記憶ネットワークを、入力ネットワークというとともに、出力データを用いて学習が行われる時系列パターン記憶ネットワークを、出力ネットワークということとすると、次のようにして、入力データに基づき、外部の状態を認知し、その認知結果に応じてロボットがとるべき行動に対応する出力データを生成している。
【００５８】
即ち、先に提案した方法では、入力ネットワークのノードが、入力データに適合する度合いを表すスコアが求められ、そのスコアが最も良いノードが、入力データに最も適合するノードである勝者ノードに決定される。さらに、その勝者ノードとの結合が最も強い出力ネットワークのノードが、生成ノードに決定され、その生成ノードを用いて、出力データが生成される。
【００５９】
ここで、先に提案した方法においては、入力データに対して勝者ノードを決定することが、認知行動の認知に相当し、出力データを生成することが、認知行動の行動に相当する。
【００６０】
以上のように、先に提案した方法では、勝者ノードとの結合が最も強い出力ネットワークのノードが、出力データの生成に用いられる生成ノードに決定されるので、生成ノードとなり得るノードの数は、多くても、出力ネットワークを構成するノードの数しかなく、バリエーションのある出力データである時系列データを生成すること、ひいては、ロボットが、バリエーションのある行動をとることが困難であった。
【００６１】
本発明は、このような状況に鑑みてなされたものであり、バリエーションのある時系列データを生成することができるようにするものである。
【課題を解決するための手段】
【００６２】
本発明の第１の側面のデータ処理装置は、時系列データの学習を行うデータ処理装置であり、空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記入力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記入力SOMを、自己組織的に更新する処理と、前記出力SOMのノードが、時系列データである出力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記出力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記出力SOMを、自己組織的に更新する処理とを行う認識学習処理手段と、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記出力データに対するスコアの分布である出力発火パターンとに基づいて、前記入力発火パターンと前記出力発火パターンとを対応付ける対パターン対応情報を学習する対パターン対応情報更新手段とを備える。
【００６３】
本発明の第１の側面のデータ処理方法、またはプログラムは、時系列データの学習を行うデータ処理装置のデータ処理方法、または時系列データの学習を行うデータ処理を、コンピュータに実行させるプログラムであり、空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記入力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記入力SOMを、自己組織的に更新する処理と、前記出力SOMのノードが、時系列データである出力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記出力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記出力SOMを、自己組織的に更新する処理とを行い、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記出力データに対するスコアの分布である出力発火パターンとに基づいて、前記入力発火パターンと前記出力発火パターンとを対応付ける対パターン対応情報を学習するステップを含む。
【００６４】
以上のような第１の側面においては、空間的な配置構造が与えられた複数のノードから構成される入力SOM、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記入力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記入力SOMを、自己組織的に更新する処理と、前記出力SOMのノードが、時系列データである出力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記出力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記出力SOMを、自己組織的に更新する処理とが行われる。さらに、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記出力データに対するスコアの分布である出力発火パターンとに基づいて、前記入力発火パターンと前記出力発火パターンとを対応付ける対パターン対応情報が学習される。
【００６５】
本発明の第２の側面のデータ処理装置は、時系列データの処理を行うデータ処理装置であり、空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンを出力する認識手段と、前記入力発火パターンと、前記出力SOMのノードの、時系列データである出力データに対するスコアの分布である出力発火パターンとを対応付ける対パターン対応情報に基づいて、前記入力発火パターンに対応する前記出力発火パターンを決定する出力発火パターン決定手段とを備える。
【００６６】
本発明の第２の側面のデータ処理方法、またはプログラムは、時系列データの処理を行うデータ処理装置のデータ処理方法、または時系列データの処理を行うデータ処理を、コンピュータに実行させるプログラムであり、空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンを出力し、前記入力発火パターンと、前記出力SOMのノードの、時系列データである出力データに対するスコアの分布である出力発火パターンとを対応付ける対パターン対応情報に基づいて、前記入力発火パターンに対応する前記出力発火パターンを決定するステップを含む。
【００６７】
以上のような第２の側面においては、空間的な配置構造が与えられた複数のノードから構成される入力SOM、および出力SOMを有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアが求められ、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンが出力される。そして、前記入力発火パターンと、前記出力SOMのノードの、時系列データである出力データに対するスコアの分布である出力発火パターンとを対応付ける対パターン対応情報に基づいて、前記入力発火パターンに対応する前記出力発火パターンが決定される。
【発明の効果】
【００６８】
本発明の第１および第２の側面によれば、バリエーションのある時系列データを生成することが可能となる。
【発明を実施するための最良の形態】
【００６９】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００７０】
本発明の第１の側面のデータ処理装置は、
時系列データの学習を行うデータ処理装置（例えば、図３９のデータ処理装置３０１）であり、
空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）（例えば、図３７の入力ネットワークnet11）、および出力SOM（例えば、図３７の出力ネットワークnet12）を有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記入力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記入力SOMを、自己組織的に更新する処理と、
前記出力SOMのノードが、時系列データである出力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記出力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記出力SOMを、自己組織的に更新する処理と
を行う認識学習処理手段（例えば、図３９の認識学習処理部２３２１）と、
前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記出力データに対するスコアの分布である出力発火パターンとに基づいて、前記入力発火パターンと前記出力発火パターンとを対応付ける対パターン対応情報を学習する対パターン対応情報更新手段（例えば、図３９の対パターン対応情報更新部２３３３）と
を備える。
【００７１】
第１の側面のデータ処理装置は、
前記入力データから所定の時間単位の入力データを抽出するとともに、前記出力データから前記所定の時間単位の出力データを抽出する入出力データ抽出手段（例えば、図３９のデータ抽出部３１２）をさらに備え、
前記認識学習処理手段は、
前記入力SOMのノードが、所定の時間単位の入力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、所定の時間単位の入力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記入力SOMを、自己組織的に更新する処理と、
前記出力SOMのノードが、所定の時間単位の出力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、所定の時間単位の出力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記出力SOMを、自己組織的に更新する処理と
を行い、
前記対パターン対応情報更新手段は、
前記入力SOMのノードの、前記所定の時間単位の入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記所定の時間単位の入力データの時刻から一定の時間だけ遅れた前記所定の時間単位の出力データに対するスコアの分布である出力発火パターンとに基づいて、前記入力発火パターンと前記出力発火パターンとを対応付ける対パターン対応情報を学習する。
【００７２】
第１の側面のデータ処理装置は、
前記所定の時間単位の出力データの少なくとも一部の時系列データと、前記所定の時間単位の出力データに対する前記出力発火パターンとに基づいて、前記少なくとも一部の時系列データと、前記出力発火パターンとを対応付ける対時系列対応情報を学習する生成学習処理手段（例えば、図３９の生成学習処理部２３２２）をさらに備える。
【００７３】
本発明の第１の側面のデータ処理方法、またはプログラムは、
時系列データの学習を行うデータ処理装置のデータ処理方法、または時系列データの学習を行うデータ処理を、コンピュータに実行させるプログラムであり、
空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）（例えば、図３７の入力ネットワークnet11）、および出力SOM（例えば、図３７の出力ネットワークnet12）を有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記入力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記入力SOMを、自己組織的に更新する処理と、
前記出力SOMのノードが、時系列データである出力データに適合する度合いを表すスコアを求め、前記スコアが最も良いノードを、前記出力データに最も適合するノードである勝者ノードに決定し、その勝者ノードに基づいて、前記出力SOMを、自己組織的に更新する処理と
を行い（例えば、図４０のステップＳ４２２）、
前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記出力データに対するスコアの分布である出力発火パターンとに基づいて、前記入力発火パターンと前記出力発火パターンとを対応付ける対パターン対応情報を学習する（例えば、図４０のステップＳ４２５）
ステップを含む。
【００７４】
本発明の第２の側面のデータ処理装置は、
時系列データの処理を行うデータ処理装置（例えば、図３９のデータ処理装置３０１）であり、
空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）（例えば、図３７の入力ネットワークnet11）、および出力SOM（例えば、図３７の出力ネットワークnet12）を有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンを出力する認識手段（例えば、図３９の認識部３１６）と、
前記入力発火パターンと、前記出力SOMのノードの、時系列データである出力データに対するスコアの分布である出力発火パターンとを対応付ける対パターン対応情報に基づいて、前記入力発火パターンに対応する前記出力発火パターンを決定する出力発火パターン決定手段（例えば、図３９の出力発火パターン決定部２３５１）と
を備える。
【００７５】
第２の側面のデータ処理装置は、
前記入力データから所定の時間単位の入力データを抽出する入力データ抽出手段（例えば、図３９のデータ抽出部３１５）をさらに備え、
前記認識手段は、前記入力SOMのノードが、所定の時間単位の入力データに適合する度合いを表すスコアを求め、前記入力SOMのノードの、所定の時間単位の入力データに対するスコアの分布である入力発火パターンを出力し、
前記対パターン対応情報は、前記入力SOMのノードの、前記所定の時間単位の入力データに対するスコアの分布である入力発火パターンと、前記出力SOMのノードの、前記所定の時間単位の入力データの時刻から一定の時間だけ遅れた前記所定の時間単位の出力データに対するスコアの分布である出力発火パターンとを対応付ける情報である。
【００７６】
第２の側面のデータ処理装置は、
前記所定の時間単位の出力データの少なくとも一部の時系列データと、前記所定の時間単位の出力データに対する前記出力発火パターンとを対応付ける対時系列対応情報に基づいて、前記出力発火パターンに対応する時系列データを生成する時系列生成手段（例えば、図３９の時系列生成部２３６１）をさらに備える。
【００７７】
本発明の第２の側面のデータ処理方法、またはプログラムは、
時系列データの処理を行うデータ処理装置のデータ処理方法、または時系列データの処理を行うデータ処理を、コンピュータに実行させるプログラムであり、
空間的な配置構造が与えられた複数のノードから構成される入力SOM（Self-Organization Map）（例えば、図３７の入力ネットワークnet11）、および出力SOM（例えば、図３７の出力ネットワークnet12）を有する入出力関係モデルにおける前記入力SOMのノードが、時系列データである入力データに適合する度合いを表すスコアを求め、前記入力SOMのノードの、前記入力データに対するスコアの分布である入力発火パターンを出力し（例えば、図４３のステップＳ４８２）、
前記入力発火パターンと、前記出力SOMのノードの、時系列データである出力データに対するスコアの分布である出力発火パターンとを対応付ける対パターン対応情報に基づいて、前記入力発火パターンに対応する前記出力発火パターンを決定する（例えば、図４３のステップＳ４８３）
ステップを含む。
【００７８】
以下、図面を参照して、本発明の実施の形態について説明するが、その前段階の準備として、時系列パターン記憶ネットワークについて説明する。
【００７９】
図６は、時系列パターン記憶ネットワークの例を模式的に示している。
【００８０】
時系列パターン記憶ネットワークは、時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークで、前述したように、SOMの一種である。時系列パターン記憶ネットワークは、そのネットワーク全体で、ノードの数だけの（クラス分けを行う）時系列パターンを記憶することができる。
【００８１】
図６においては、時系列パターン記憶ネットワークは、ノードN1乃至N6の６つのノードから構成されている。
【００８２】
時系列パターン記憶ネットワークを構成する各ノードNi（図６では、ｉ＝１，２，・・・，６）は、時系列パターンを表現する時系列パターンモデルを有する。また、ノードNiは、他のノードNj（図６では、ｊ＝１，２，・・・，６）と結合関係を持つことができる。この結合関係をリンクと呼ぶ。図６では、例えば、ノードN1は、ノードN2，N3と直接の結合関係を有している。また、例えば、ノードN3は、ノードN1，N2，N5，N6と直接の結合関係を有しており、従って、ノードN5とN6は、ノードN3を介して、ノードN1と間接的な結合関係を有している。なお、２つのノードNiとNjとの結合関係としては、その２つのノードNiとNjとの最短の結合関係を考えるものとする。
【００８３】
時系列パターン記憶ネットワークの学習（時系列パターン記憶ネットワークに時系列パターンを記憶させる学習）は、時系列データを、学習用の学習データとして行われるが、この学習データは、カテゴリの種類や、カテゴリの数が未知のもので、この点、時系列パターン記憶ネットワークの学習は、前述の図５で説明した教師あり学習と大きく異なる。また、時系列パターン記憶ネットワークの学習に用いられる学習データには、正解ラベルは付与されていない。このため、時系列パターン記憶ネットワークの学習には、前述の図５で説明した教師あり学習を適用することはできない。
【００８４】
このように、時系列パターン記憶ネットワークの学習には、教師あり学習を適用することができず、また、学習データは、そのカテゴリの種類も、カテゴリの数も未知である。そこで、時系列パターン記憶ネットワークの学習は、その全体（のノード）によって、学習データの特徴（時系列パターン）を適切に表現することができるように、自己組織的に行われる。
【００８５】
なお、時系列パターン記憶ネットワークの学習は、教師なし学習である。また、時系列パターン記憶ネットワークの学習は、ある１つのノードが、必ずしもある１つのカテゴリに対応するように行われるとは限らない。即ち、時系列パターン記憶ネットワークにおいては、１つのノードが１つのカテゴリに対応するように学習が行われる場合もあるし、複数のノードが１つのカテゴリに対応するように学習が行われる場合もある。さらに、１つのノードが複数のカテゴリに対応するように学習が行われる場合もある。従って、仮に、学習データが、明確にカテゴリ分けすることができないものであっても、時系列パターン記憶ネットワークによる学習は行うことができる。
【００８６】
次に、図７は、時系列パターン記憶ネットワークのノードNiの構成例を模式的に示している。
【００８７】
ノードNiは、時系列パターンを表現する時系列パターンモデル２１と、その時系列パターンモデル２１の学習に用いる学習データを記憶する学習データ記憶部２２とから構成される。
【００８８】
ここで、図７では、時系列パターンモデル２１として、状態確率遷移モデルの１つであるHMM（連続HMM）が採用されている。また、図７では、HMMは、自己ループと次状態（右隣の状態）への状態遷移だけを有するleft-to-right型の３状態S1，S2，S3を有するものとなっている。図７の時系列パターンモデル２１における○印は状態を表し、矢印は状態遷移を表している。なお、時系列パターンモデル２１としてのHMMは、left-to-right型や、３状態のもの等に限定されない。
【００８９】
時系列パターンモデル２１が、図７に示したようなHMMである場合、その時系列パターンモデル２１としてのHMMは、状態遷移確率と出力確率密度関数（HMMが離散HMMである場合には、スカラ量である離散的なシンボルが出力される確率）とで定義される。
【００９０】
状態遷移確率は、HMMにおいて、状態が遷移する確率で、図７の時系列パターンモデル２１における矢印で示した状態遷移それぞれに対して与えられる。出力確率密度関数は、状態遷移時に、HMMから観測される値の確率密度を表す。出力確率密度関数としては、例えば、混合正規分布などが採用される。これらのHMMのパラメータ（状態遷移確率と出力確率密度関数）は、例えば、Baum-Welch 法によって学習（推定）することができる。
【００９１】
ノードNiでは、学習データ記憶部２２に記憶された学習データの統計的な特性、即ち、学習データ記憶部２２に記憶された学習データの時系列パターンが、時系列パターンモデル２１において学習され、これにより、時系列パターンモデル２１と、学習データ記憶部２２に記憶された学習データとが、対応関係を持つことになる。
【００９２】
なお、時系列パターン記憶ネットワークの学習、ひいては、ノードNiの時系列パターンモデル２１の学習は、時系列パターン記憶ネットワークに対して、時系列データが与えられるごとに学習を行うオンライン学習によって行われる。従って、時系列パターン記憶ネットワークのパラメータ、つまり、ノードNiの時系列パターンモデル２１のパラメータ（時系列パターンモデル２１がHMMである場合には、上述したように、状態遷移確率と出力確率密度関数）は、時系列パターン記憶ネットワークに対して、時系列データが与えられるたびに、少しずつ更新される。
【００９３】
即ち、後述するように、時系列パターン記憶ネットワークの学習が進むにつれ、学習データ記憶部２２に記憶される学習データは、時系列パターン記憶ネットワークに与えられた時系列データによって更新され、これにより、少しずつ変化する。そして、その少しずつ変化する学習データによって、時系列パターンモデル２１の学習が行われることにより、その時系列パターンモデル２１のパラメータも、少しずつ変化していく。
【００９４】
次に、図８は、時系列パターン記憶ネットワークの他の例を模式的に示している。
【００９５】
図８では、時系列パターン記憶ネットワークは、９個のノードN1乃至N9で構成されており、この９個のノードN1乃至N9は、２次元的に配置されている。即ち、図８では、９個のノードN1乃至N9は、２次元平面上に、横×縦が３×３となるように配置されている。
【００９６】
さらに、図８では、２次元的に配置された９個のノードN1乃至N9の、横方向に隣接するノードどうしと、縦方向に隣接するノードどうしに対して、リンク（結合関係）が与えられている。なお、このようなリンクを与えることによって、時系列パターン記憶ネットワークを構成するノードには、空間的に、２次元的に配置される配置構造が与えられているということもできる。
【００９７】
時系列パターン記憶ネットワークでは、リンクによって与えられる空間的なノードの配置構造に基づき、その空間上でのある２つのノードどうしの距離を定義することができ、この２つのノードどうしの距離は、その２つのノードそれぞれが有する時系列パターンモデル２１が表現する時系列パターンのパターン間距離（時系列パターンどうしの類似性）として用いることができる。
【００９８】
なお、２つのノードどうしの距離によって表される時系列パターンのパターン間距離は、２つのノードの結合関係（リンク）に基づくパターン間距離ということができる。
【００９９】
２つのノードどうしの距離としては、例えば、その２つのノードどうしを結ぶ最短のパスを構成するリンクの数を採用することができる。この場合、あるノードに注目すると、その注目ノードとの直接のリンクを有するノード（図８では、注目ノードの横方向や縦方向に隣接するノード）は、注目ノードとの距離が最も近く、注目ノードとの直接のリンクを有するノードから先のリンクを辿っていくことで到達することができるノードは、到達するのに辿るリンクの数が多いほど、注目ノードとの距離が遠くなっていく。
【０１００】
なお、ノードに与えるリンクは、図６や図８に示したものに限定されるものではない。また、図６や図８に示したリンクは、ノードに対して、２次元的な配置構造を与えるが、リンクは、その他、１次元的な配置構造や３次元的な配置構造等を与えるリンクであっても良い。
【０１０１】
次に、図９は、時系列パターン記憶ネットワークを用いて、各種の処理を行うデータ処理装置の構成例を示している。
【０１０２】
信号入力部１には、後述する学習処理や認識処理の対象となるデータ（以下、処理対象データという）が入力される。ここで、処理対象データは、例えば、音や画像、LED(Light Emitting Diode)の明るさ、モータの回転角度や回転角速度などの観測値（外部から観測することができる値（信号））である。また、処理対象データは、例えば、図９のデータ処理装置が適用されるシステムの入力を受け付ける入力デバイス（センサ）が出力するデータであっても良いし、何らかの出力を行う出力デバイスに対して与えられるデータであっても良い。
【０１０３】
即ち、図９のデータ処理装置が、例えば、２足歩行ロボットその他のロボットに適用され、その２足歩行ロボットが、外部の状況に応じて、何らかの処理を行う場合には、信号入力部１は、外部の状況をセンシングするセンサで構成することができる。具体的には、信号入力部１は、例えば、マイク（マイクロフォン）やカメラなどで構成することができる。
【０１０４】
信号入力部１がマイクで構成される場合には、そのマイクに対して、外部で発生する音声（人間の音声の他、動物の鳴き声、物音、その他のあらゆる音を含む）が、２足歩行ロボット（データ処理装置が適用されているシステム）に対する入力データとして入力され、対応する音声データが、特徴抽出部２に供給される。また、信号入力部１がカメラで構成される場合には、そのカメラに対して、外部からの光が、２足歩行ロボットに対する入力データとして入力され、対応する画像データが、特徴抽出部２に供給される。
【０１０５】
また、２足歩行ロボットが、例えば、手や足に相当する部分を、アクチュエータとしてのモータによって動かすことができる場合には、信号入力部１は、そのモータの回転角度や回転速度を計測する計測装置（回転角度や回転速度をセンシングするセンサ）で構成することができる。なお、２足歩行ロボットの手や足に相当する部分を動かすモータは、そのモータを回転駆動させる電気信号としての駆動信号を与える他、手や足に相当する部分に外部から力を加えて動かすことによっても回転するが、計測装置では、そのいずれの回転によって生じた回転角度や回転速度であっても計測することができる。
【０１０６】
信号入力部１が計測装置で構成される場合には、その計測装置に対して、モータの回転角度や回転速度を表す信号が、２足歩行ロボットからの出力データとして入力されて計測され、その計測結果が、特徴抽出部２に供給される。
【０１０７】
なお、信号入力部１に入力される処理対象データは、時間的な変化が一定の定常的なデータ（定常信号）であっても良いし、時間的な変化が一定でない非定常なデータ（非定常信号）であっても良い。
【０１０８】
また、以下では、信号入力部１に対しては、例えば、時系列データの１つである音声が入力されるものとする。さらに、信号入力部１から特徴抽出部２に対しては、いわゆる音声区間の音声データだけが供給されるものとする。なお、音声区間の検出方法は、特に限定されるものではない。また、信号入力部１から特徴抽出部２に対して供給される音声データは、必ずしも、音声区間の長さである必要はなく、適切な長さに区切られていればよい。即ち、信号入力部１から特徴抽出部２に対して供給される音声データは、例えば、音素や音韻の単位であっても良いし、単語や文、ある句読点から次の句読点までであっても良い。
【０１０９】
ここで、信号入力部１から特徴抽出部２に対して供給される処理対象データは、音声データに限定されるものではなく、その区間も、特に限定されるものではない。即ち、信号入力部１から特徴抽出部２に対しては、最も良い方法で適当な長さに区切られた処理対象データが供給されれば良い。なお、信号入力部１から特徴抽出部２に対して供給される処理対象データ（の区間）は、一定であっても良いし、一定でなくても良い。
【０１１０】
特徴抽出部２は、信号入力部１からの処理対象データとしての時系列データである音声データから特徴量を抽出し、その結果得られる時系列データである時系列の特徴量を、認識部３と学習部４に供給する。即ち、特徴抽出部２は、信号入力部１からの音声データに対して一定時間間隔で周波数分析などの処理を施し、例えば、メルケプストラム係数（MFCC（Mel Frequency Cepstrum Coefficient））などの特徴量を抽出して、そのメルケプストラム係数の時系列データを、認識部３と学習部４に供給する。なお、特徴抽出部２から認識部３と学習部４に供給される時系列データも、外部から観測することができる観測値である。
【０１１１】
認識部３は、記憶部５に記憶された時系列パターン記憶ネットワークに基づき、特徴抽出部２から供給される時系列データを認識（認知）し、その認識結果を出力する。
【０１１２】
学習部４は、記憶部５に記憶された時系列パターン記憶ネットワークを、特徴抽出部２から供給される時系列データ（の観測値）に基づいて、自己組織的に更新する。即ち、学習部４は、特徴抽出部２から供給される時系列データに基づいて、記憶部５に記憶された時系列パターン記憶ネットワークのパラメータを更新する。なお、このパラメータの更新のことを学習と呼ぶ場合がある。
【０１１３】
学習部４では、正解ラベルの付与されていない時系列データを繰り返し与えると、その与えられた時系列データの中の特徴的なパターン（時系列パターン）を自己組織的に獲得していく教師なし学習が実行される。その結果、記憶部５の時系列パターン記憶ネットワークには、代表的な時系列パターンが効率的に記憶される。即ち、特徴抽出部２が認識部３と学習部４に供給する時系列データは、幾つかのパターン（時系列パターン）に分類することができ、学習部４では、時系列パターン記憶ネットワークに、時系列データの代表的な時系列パターンを記憶（獲得）させるための学習が行われる。
【０１１４】
記憶部５は、時系列パターン記憶ネットワークを記憶しており、この時系列パターン記憶ネットワーク（のパラメータ）は、学習部４によって適宜更新される。
【０１１５】
生成部６には、制御データが供給される。生成部６に供給される制御データは、記憶部５の時系列パターン記憶ネットワークが記憶している時系列パターンのうちのいずれかを表すもの（例えば、後述するノードラベル）で、生成部６は、記憶部５の時系列パターン記憶ネットワークに基づき、そこに供給される制御データが表す時系列パターンの時系列データを生成して出力する。
【０１１６】
次に、図１０は、図９の学習部４の構成例を示している。
【０１１７】
学習部４は、時系列データ記憶部３１と学習処理部３２とから構成される。
【０１１８】
時系列データ記憶部３１には、特徴抽出部２から、（１区間の）新たな時系列データとしての特徴量の系列が供給される。時系列データ記憶部３１は、特徴抽出部２からの新たな時系列データを、一時的に（学習処理部３２による新たな時系列データを用いた処理が終了するまで）記憶する。
【０１１９】
学習処理部３２は、記憶部５に記憶された時系列パターン記憶ネットワークを、時系列データ記憶部３１に記憶された新たな時系列データ（の観測値）に基づいて、自己組織的に更新する。
【０１２０】
次に、図１１は、図１０の学習処理部３２の構成例を示している。
【０１２１】
スコア計算部４１は、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、時系列データ記憶部３１に記憶された時系列データ（の観測値）に適合する度合いをスコアとして求め、勝者ノード決定部４２に供給する。即ち、ノードが有する時系列パターンモデル２１が、例えば、図７に示したようにHMMである場合には、スコア計算部４１は、ノードが有する時系列パターンモデル２１としてのHMMから、時系列データ記憶部３１に記憶された時系列データが観測される尤度を求め、そのノードのスコアとして、勝者ノード決定部４２に供給する。
【０１２２】
勝者ノード決定部４２は、記憶部５に記憶された時系列パターン記憶ネットワークにおいて、時系列データ記憶部３１に記憶された時系列データに最も適合するノードを求め、そのノードを、勝者ノードに決定する。
【０１２３】
即ち、勝者ノード決定部４２は、記憶部５に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部４１からのスコアが最も高いノードを勝者ノードとして決定する。そして、勝者ノード決定部４２は、勝者ノードを表す情報を、重み決定部４３に供給する。
【０１２４】
ここで、時系列パターン記憶ネットワークを構成するノードには、各ノードを識別するためのラベルであるノードラベルを付しておくことができる。そして、勝者ノードを表す情報、その他のノード表す情報としては、ノードラベルを採用することができる。なお、ノードラベルは、ノード自体を識別するラベルであり、正解が何であるかを表す正解ラベルとは、何ら関係がない。
【０１２５】
重み決定部４３は、勝者ノード決定部４２から供給されるノードラベルが表す勝者ノードに基づき、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、後述する更新重みを決定し、学習データ更新部４４に供給する。
【０１２６】
即ち、重み決定部４３は、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノード（勝者ノードを含む）の更新重みを、そのノードと、勝者ノードとのパターン間距離に基づいて決定し、学習データ更新部４４に供給する。
【０１２７】
ここで、ノードが有する時系列パターンモデル２１（図７）は、時系列データ記憶部３１（図１０）に記憶された新たな時系列データを用いて更新されるが、ノードの更新重みとは、そのノードが有する時系列パターンモデル２１の更新によって、その時系列パターンモデル２１が受ける新たな時系列データの影響の度合いを表す。従って、ノードの更新重みが０であれば、そのノードが有する時系列パターンモデル２１は、新たな時系列データの影響を受けない（更新されない）。
【０１２８】
学習データ更新部４４は、記憶部５に記憶された時系列パターン記憶ネットワークの各ノードが有する学習データ記憶部２２（図７）に記憶された学習データを更新する。
【０１２９】
即ち、学習データ更新部４４は、ノードが有する学習データ記憶部２２に既に記憶されている学習データと、時系列データ記憶部３１に記憶された時系列データとを、重み決定部４３からの、対応するノードの更新重みにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部２２に記憶させることで、その学習データ記憶部２２の記憶内容を更新する。
【０１３０】
学習データ更新部４４は、以上のように、学習データ記憶部２２（図７）に記憶された学習データを、更新重みにしたがって更新すると、その更新が終了した旨の終了通知を、モデル学習部４５に供給する。
【０１３１】
モデル学習部４５は、学習データ更新部４４から終了通知を受けると、その学習データ更新部４４による更新後の学習データ記憶部２２（図７）に記憶された学習データを用いて、時系列パターンに記憶ネットワークの各ノードが有する時系列パターンモデル２１の学習を行うことにより、その時系列パターンモデル２１を更新する。
【０１３２】
従って、モデル学習部４５による、ノードが有する時系列パターンモデル２１の更新は、そのノードが有する学習データ記憶部２２（図７）に記憶されていた学習データ（の一部）と、時系列データ記憶部３１に記憶された新たな時系列データとに基づいて行われる。なお、学習データ記憶部２２の記憶内容は、更新重みにしたがって更新されるから、モデル学習部４５による、時系列パターンモデル２１の更新は、更新重みに基づいて行われるということもできる。
【０１３３】
次に、図１２は、図１１の重み決定部４３において更新重みを決定する決定方法を示している。
【０１３４】
重み決定部４３は、例えば、図１２に示すような、勝者ノードとのパターン間距離dの増加に対して更新重みαが減少する関係を表す曲線（以下、距離／重み曲線という）にしたがって、ノードに対する更新重み（ノードの更新重み）αを決定する。距離／重み曲線によれば、勝者ノードとのパターン間距離dが近いノードほど、大きな更新重みαが決定され、パターン間距離dが遠いノードほど、小さな更新重みαが決定される。
【０１３５】
図１２の距離／重み曲線において、横軸（左から右方向）は、更新重みαを示しており、縦軸（上から下方向）は、パターン間距離dを示している。
【０１３６】
図１２では、縦軸に沿って、時系列パターン記憶ネットワークを構成する６つのノードN1乃至N6が、各ノードNiと勝者ノードとのパターン間距離dに対応する位置（縦軸の位置）に記載されている。
【０１３７】
図１２では、時系列パターン記憶ネットワークを構成する６つのノードN1乃至N6が、その順で、勝者ノードとのパターン間距離dが近くなっている。時系列パターン記憶ネットワークを構成する６つのノードN1乃至N6のうち、勝者ノードとのパターン間距離dが最も近いノード、即ち、勝者ノードとのパターン間距離dが０のノードであるノードN1は、勝者ノード（となっているノード）である。
【０１３８】
ここで、時系列パターン記憶ネットワークが、例えば、図８に示したような２次元的な配置構造を有し、勝者ノードが、例えば、ノードN6であった場合には、勝者ノードN6とノードN6との距離は最も（１番）近い０であり、ノードN6と勝者ノードN6とのパターン間距離dも０となる。また、勝者ノードN6と、ノードN3，N5、またはN9それぞれとの距離は２番目に近い１であり、ノードN3，N5、またはN9それぞれと勝者ノードN6とのパターン間距離dも１となる。さらに、勝者ノードN6と、ノードN2，N4、またはN8それぞれとの距離は３番目に近い２であり、ノードN2，N4、またはN8それぞれと勝者ノードN6とのパターン間距離dも２となる。また、勝者ノードN6と、ノードN1またはN7それぞれとの距離は最も遠い（４番目に近い）３であり、ノードN1またはN7それぞれと勝者ノードN6とのパターン間距離dも３となる。
【０１３９】
次に、更新重みαとパターン間距離dとの関係を表す、例えば、図１２に示したような距離／重み曲線は、例えば、式（３）によって与えられる。
【０１４０】
【数３】
2007280056.tif 000005
【０１４１】
ここで、式（３）において、定数Gは、勝者ノードの更新重みを表す定数であり、γは、減衰係数で、０＜γ＜１の範囲の定数である。また、変数Δは、時系列パターン記憶ネットワークを更新する更新方法として、前述したSMAを採用した場合の、勝者ノードの近傍のノード（勝者ノードとの距離が近いノード）の更新重みαを調整するための変数である。
【０１４２】
上述したように、勝者ノードとなっているノードのパターン間距離dとして、０が与えられ、以下、他のノードのパターン間距離dとして、勝者ノードとの距離にしたがって、１，２，・・・が与えられる場合、式（３）において、例えば、G=8，γ=0.5，Δ=1であれば、勝者ノードとなっているノードの更新重みαとして、８(=G)が求められる。以下、勝者ノードとの距離が大になるにしたがって、ノードの更新重みαとしては、４，２，１，・・・と小さくなる値が求められる。
【０１４３】
ここで、式（３）における減衰係数Δが大きな値である場合には、パターン間距離dの変化に対する更新重みαの変化は緩やかになり、逆に、減衰係数Δが０に近い値である場合には、パターン間距離dの変化に対する更新重みαの変化は急峻になる。
【０１４４】
従って、減衰係数Δを、例えば、上述した１から少しずつ０に近づけていくように調整すると、パターン間距離dの変化に対する更新重みαの変化は急峻になっていき、更新重みαは、パターン間距離dが大きくなるにしたがって、より小さい値となる。そして、減衰係数Δが０に近くなると、勝者ノード（となっているノード）以外のノードの更新重みαは、ほとんど０となり、この場合、時系列パターン記憶ネットワークを更新する更新方法として、前述したWTAを採用した場合と（ほぼ）等価となる。
【０１４５】
このように、減衰係数Δを調整することによって、時系列パターン記憶ネットワークを更新する更新方法としてSMAを採用した場合の、勝者ノードの近傍のノードの更新重みαを調整することができる。
【０１４６】
減衰係数△は、例えば、時系列パターン記憶ネットワークの更新（学習）の開始時は大きな値にし、時間の経過とともに、即ち、更新の回数が増加するにしたがって小さな値にくなるようにすることができる。この場合、時系列パターン記憶ネットワークの更新の開始時は、パターン間距離dの変化に対する更新重みαの変化が緩やかな距離／重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαが決定され、更新（学習）が進む（進行する）につれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく距離／重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαが決定される。
【０１４７】
即ち、この場合、勝者ノード（が有する時系列パターンモデル２１）の更新は、学習（更新）の進行にかかわらず、時系列データ記憶部３１（図１１）に記憶された新たな時系列データの影響を強く受けるように行われる。一方、勝者ノード以外のノード（が有する時系列パターンモデル２１）の更新は、学習の開始時は、比較的広い範囲のノード（勝者ノードとのパターン間距離dが小のノードから、ある程度大のノードまで）に亘って、新たな時系列データの影響を受けるように行われる。そして、学習が進行するにつれ、勝者ノード以外のノードの更新は、徐々に狭い範囲のノードについてのみ、新たな時系列データの影響を受けるように行われる。
【０１４８】
図１１の重み決定部４３は、以上のようにして、時系列パターン記憶ネットワークの各ノードの更新重みαを決定し、学習データ更新部４４では、各ノードが有する学習データ記憶部２２に記憶される学習データが、そのノードの更新重みαに基づいて更新される。
【０１４９】
次に、図１３を参照して、ノードが有する学習データ記憶部２２に記憶される学習データを更新する更新方法について説明する。
【０１５０】
いま、あるノードNiが有する学習データ記憶部２２には、学習データが既に記憶されており、ノードNiの時系列パターンモデル２１は、学習データ記憶部２２に既に記憶されている学習データを用いて学習が行われたものであるとする。
【０１５１】
学習データ更新部４４は、上述したように、ノードNiが有する学習データ記憶部２２に既に記憶されている学習データ（以下、適宜、旧学習データという）と、時系列データ記憶部３１（図１１）に記憶された新たな時系列データとを、重み決定部４３からのノードNiの更新重みαにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部２２に記憶させることで、その学習データ記憶部２２の記憶内容を、新たな学習データに更新する。
【０１５２】
即ち、学習データ更新部４４は、旧学習データに対して、新たな時系列データを追加することで、旧学習データと新たな時系列データとを混合した新たな学習データとするが、旧学習データに対する新たな時系列データの追加（旧学習データと新たな時系列データとの混合）は、ノードNiの更新重みαに対応する比にしたがって行われる。
【０１５３】
ここで、ノードNiの時系列パターンモデル２１（図７）の更新は、新たな学習データを用いた学習によって行われるため、新たな時系列データと旧学習データとを混合する比率を変えることによって、更新により時系列パターンモデル２１が受ける新たな時系列データの影響の度合い（強さ）を変えることができる。
【０１５４】
ノードNiにおいて、新たな時系列データと旧学習データとを混合する比率としては、ノードNiの更新重みαに対応した値が採用され、例えば、更新重みαが大であるほど、新たな時系列データの比率が大となる（旧学習データの比率が小となる）ような値とされる。
【０１５５】
具体的には、ノードNiの学習データ記憶部２２には、一定の数の時系列データ（学習データ）が記憶されるものとし、その一定の数をHとする。この場合、ノードNiの時系列パターンモデル２１の学習は、常に、H個の学習データ（時系列データ）を用いて行われる。
【０１５６】
学習データ記憶部２２に、常に、一定の数Hの学習データが記憶される場合、新たな時系列データと旧学習データとの混合によって得られる新たな学習データの個数は、H個である必要があり、そのような、新たな時系列データと旧学習データとの混合を、ノードNiの更新重みαに対応した比率で行う方法としては、新たな時系列データと旧学習データとを、比率α:H-αで混合する方法がある。
【０１５７】
新たな時系列データと旧学習データとを、比率α:H-αで混合する具体的な方法としては、図１３に示すように、H個の旧学習データのうちのH-α個の旧学習データに対して、α個の新たな時系列データを追加することにより、H個の新たな学習データを得る方法がある。
【０１５８】
この場合、学習データ記憶部２２に記憶される時系列データの数Hが、例えば、１００であり、ノードNiの更新重みαが、例えば、８であれば、学習データ記憶部２２の記憶内容は、１００個の旧学習データのうちの９２個の旧学習データに対して、８個の新たな時系列データを追加することによって得られる１００個の新たな学習データに更新される。
【０１５９】
H個の旧学習データのうちのH-α個の旧学習データに対する、α個の新たな時系列データの追加は、α個の新たな時系列データが得られるのを待って行う方法があるが、この方法では、１個の新たな時系列データが得られるごとに、学習データ記憶部２２の記憶内容を更新することができない。
【０１６０】
そこで、学習データ記憶部２２の記憶内容の更新は、１個の新たな時系列データが得られるごとに、その新たな時系列データをα個だけ、H-α個の旧学習データに追加することにより行うことができる。即ち、１個の新たな時系列データをコピーしてα個の新たな時系列データとし、そのα個の新たな時系列データを、H個の旧学習データから古い順にα個を除外して残ったH-α個の旧学習データに追加することにより、学習データ記憶部２２の記憶内容の更新を行う。これにより、１個の新たな時系列データが得られるごとに、学習データ記憶部２２の記憶内容を更新することができる。
【０１６１】
以上のように、学習データ記憶部２２の記憶内容の更新を行うことにより、学習データ記憶部２２には、常に、新しい順のＨ個の時系列データだけが、学習データとして保持されることになり、その学習データに占める新たな時系列データの割合（比率）は、更新重みαによって調整されることになる。
【０１６２】
次に、図１４のフローチャートを参照して、図９のデータ処理装置で行われる、時系列パターン記憶ネットワークを学習する学習処理について説明する。
【０１６３】
まず最初に、ステップＳ１において、学習部４（図１０）の学習処理部３２は、記憶部５に記憶された時系列パターン記憶ネットワークのパラメータ、即ち、時系列パターン記憶ネットワークの各ノードが有する時系列パターンモデル２１（図７）としての、例えばHMMのパラメータを初期化する初期化処理を行う。この初期化処理により、HMMのパラメータ（状態遷移確率と出力確率密度関数）として、適切な初期値が与えられる。なお、初期化処理において、HMMのパラメータにおいて、どのように初期値を与えるかは、特に限定されるものではない。
【０１６４】
その後、ステップＳ２において、１個の処理対象データ、即ち、例えば、１の音声区間の音声データが、信号入力部１に入力されると、信号入力部１は、その処理対象データを、特徴抽出部２に供給する。特徴抽出部２は、処理対象データから特徴量を抽出し、その特徴量の時系列データ（１個の新たな時系列データ）を、学習部４に供給する。
【０１６５】
学習部４（図１０）は、特徴抽出部２からの新たな時系列データを、時系列データ記憶部３１に一時記憶させ、以下、ステップＳ３乃至Ｓ７において、記憶部５に記憶された時系列パターン記憶ネットワークを、時系列データ記憶部３１に記憶された新たな時系列データ（の観測値）に基づいて、自己組織的に更新（学習）する。
【０１６６】
即ち、学習部４の学習処理部３２（図１１）では、ステップＳ３において、スコア計算部４１が、時系列データ記憶部３１に記憶された新たな時系列データを読み出し、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、新たな時系列データに適合する度合いを表すスコアを求める。
【０１６７】
具体的には、ノードが有する時系列パターンモデル２１（図７）が、例えばHMMである場合には、そのHMMから、新たな時系列データが観測される対数尤度が、スコアとして求められる。ここで、対数尤度の計算方法としては、例えば、ビタビアルゴリズム(Viterbi algorithm)を採用することができる。
【０１６８】
スコア計算部４１は、時系列パターン記憶ネットワークが有するすべてのノードについて、新たな時系列データに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部４２に供給する。
【０１６９】
勝者ノード決定部４２は、ステップＳ４において、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部４１からのスコアが最も高いノードを求め、そのノードを勝者ノードに決定する。そして、勝者ノード決定部４２は、勝者ノードを表す情報としてのノードラベルを、重み決定部４３に供給する。
【０１７０】
重み決定部４３は、ステップＳ５において、勝者ノード決定部４２からのノードラベルが表す勝者ノードを、いわば基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みを決定する。
【０１７１】
即ち、重み決定部４３は、図１２で説明したように、時系列パターン記憶ネットワークの更新（学習）が進むにつれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく、式（３）で表される距離／重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαを決定し、学習データ更新部４４に供給する。
【０１７２】
学習データ更新部４４は、ステップＳ６において、時系列パターン記憶ネットワークの各ノードが有する学習データ記憶部２２（図７）に記憶された学習データを、重み決定部４３からの、対応するノードの更新重みにしたがって更新する。即ち、学習データ更新部４４は、図１３で説明したように、時系列データ記憶部３１に記憶されている新たな時系列データと、ノードの学習データ記憶部２２に記憶されている旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合することにより、H個の新たな学習データを得て、そのH個の新たな学習データによって、学習データ記憶部２２の記憶内容を更新する。
【０１７３】
学習データ更新部４４は、時系列パターン記憶ネットワークのノードすべての学習データ記憶部２２（図７）の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部４５に供給する。
【０１７４】
モデル学習部４５は、学習データ更新部４４から終了通知を受けると、ステップＳ７において、時系列パターン記憶ネットワークのパラメータを更新する。
【０１７５】
即ち、モデル学習部４５は、時系列パターン記憶ネットワークの各ノードについて、学習データ更新部４４による更新後の学習データ記憶部２２に記憶された新たな学習データを用いて、時系列パターンモデル２１の学習を行うことにより、その時系列パターンモデル２１を更新する。
【０１７６】
具体的には、ノードが有する時系列パターンモデル２１が、例えばHMMである場合には、そのノードが有する学習データ記憶部２２に記憶された新たな学習データを用いて、HMMの学習が行われる。この学習では、例えば、HMMの現在の（旧学習データを用いた学習により得られた）状態遷移確率と出力確率密度関数を初期値とし、新たな学習データを用いて、Baum-Welch法により、新たな状態遷移確率と出力確率密度関数がそれぞれ求められる。そして、その新たな状態遷移確率と出力確率密度関数によって、HMMの状態遷移確率と出力確率密度関数がそれぞれ更新される。
【０１７７】
その後は、ステップＳ７からステップＳ２に戻り、次の処理対象データが、信号入力部１に入力されるのを待って、以下、同様の処理が繰り返される。
【０１７８】
図１４の学習処理によれば、１個の新たな時系列データが得られると、その新たな時系列データに対して、時系列パターン記憶ネットワークを構成するノードの中から、勝者ノードが決定される（ステップＳ４）。さらに、その勝者ノードを基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みが決定される（ステップＳ５）。そして、更新重みに基づいて、時系列パターン記憶ネットワークを構成する各ノードが有する時系列パターンモデル２１（図７）のパラメータが更新される。
【０１７９】
即ち、図１４の学習処理では、１個の新たな時系列データに対して、時系列パターン記憶ネットワークを構成するノードのパラメータの更新が１回行われ、以下、同様に、新たな時系列データが得られるたびに、ノードのパラメータの更新が繰り返されることにより、自己組織的に学習が行われる。
【０１８０】
そして、学習が十分に行われることにより、時系列パターン記憶ネットワークの各ノードが有する時系列パターンモデル２１は、ある時系列パターンを学習（獲得）する。時系列パターン記憶ネットワーク全体において学習される時系列パターンの数（種類）は、時系列パターン記憶ネットワークが有するノードの数と一致するので、時系列パターン記憶ネットワークが有するノードの数が、例えば１００である場合は、１００種類の時系列パターンが学習されることになる。この時系列パターンに基づき、認識部３（図９）では、時系列データ（処理対象データ）を認識する認識処理を行うことが可能となり、生成部６（図９）では、時系列データを生成する生成処理を行うことが可能となる。
【０１８１】
次に、図１５は、図９の認識部３の構成例を示している。
【０１８２】
認識部３には、図９で説明したように、特徴抽出部２から、（１個の）時系列データが供給され、この時系列データは、スコア計算部５１に供給される。
【０１８３】
スコア計算部５１は、学習処理部３２（図１１）のスコア計算部４１と同様に、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、特徴抽出部２からの時系列データ（の観測値）に適合する度合いを表すスコアを求め、勝者ノード決定部５２に供給する。
【０１８４】
勝者ノード決定部５２は、学習処理部３２（図１１）の勝者ノード決定部４２と同様に、記憶部５に記憶された時系列パターン記憶ネットワークにおいて、特徴抽出部２からの時系列データに最も適合するノードを求め、そのノードを、勝者ノードとして決定する。
【０１８５】
即ち、勝者ノード決定部５２は、記憶部５に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部５１からのスコアが最も高いノードを勝者ノードとして決定する。そして、勝者ノード決定部５２は、勝者ノードを表す情報としてのノードラベルを、出力部５３に供給する。
【０１８６】
出力部５３は、勝者ノード決定部５２からの勝者ノードを表すノードラベルを、特徴抽出部２からの特徴量の時系列データ、ひいては、その特徴量に対応する、信号入力部１に入力された処理対象データの認識結果として出力する。
【０１８７】
なお、認識部３のスコア計算部５１と、学習処理部３２（図１１）のスコア計算部４１とは、いずれか一方のスコア計算部で兼用することが可能である。認識部３の勝者ノード決定部５２と、学習処理部３２（図１１）の勝者ノード決定部４２についても、同様である。
【０１８８】
次に、図１６のフローチャートを参照して、図９のデータ処理装置で行われる、時系列データを認識する認識処理について説明する。
【０１８９】
ステップＳ２１において、１個の処理対象データ、即ち、例えば、１の音声区間の音声データ（時系列データ）が、信号入力部１に入力されると、信号入力部１は、その処理対象データを、特徴抽出部２に供給する。特徴抽出部２は、処理対象データである時系列データから特徴量を抽出し、その特徴量の時系列データを、認識部３に供給する。
【０１９０】
認識部３（図１５）では、ステップＳ２２において、スコア計算部５１が、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードが、特徴抽出部２からの時系列データに適合する度合いを表すスコアを求め、勝者ノード決定部５２に供給する。
【０１９１】
勝者ノード決定部５２は、ステップＳ２３において、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部５１からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部５２は、勝者ノードを表す情報としてのノードラベルを、出力部５３に供給する。
【０１９２】
出力部５３は、勝者ノード決定部５２からのノードラベルを、特徴抽出部２からの時系列データ（信号入力部１に入力された処理対象データ）の認識（認知）結果として出力し、処理を終了する。
【０１９３】
なお、出力部５３が出力するノードラベル（勝者ノードのノードラベル）は、例えば、制御データとして、生成部６に供給することができる。
【０１９４】
以上のような、時系列パターン記憶ネットワークを用いた認識処理によれば、その時系列パターン記憶ネットワークのノードの数に応じた細かさの認識結果を得ることができる。
【０１９５】
即ち、例えば、いま、時系列パターン記憶ネットワークの学習が、３つのカテゴリ"A"，"B"，"C"の発声それぞれにより得られた音声データを用いて行われたとする。
【０１９６】
時系列パターン記憶ネットワークの学習に用いられた３つのカテゴリ"A"，"B"，"C"の音声データが、多数の話者の発話を含む場合には、例えば、カテゴリ"A"の音声データであっても、発話速度や、イントネーション、話者の年齢、性別などの違いによって、様々なバリエーションの音声データが存在する。
【０１９７】
教師あり学習であれば、カテゴリ"A"，"B"，"C"の音声データを用いた学習は、カテゴリ"A"の音声データだけ、カテゴリ"B"の音声データだけ、カテゴリ"C"の音声データだけをそれぞれ用いて行われる。従って、各カテゴリの学習結果には、発話速度等の違いによるバリエーションは、生じ得ない。
【０１９８】
一方、時系列パターン記憶ネットワークの学習では、カテゴリ"A"，"B"，"C"の音声データが、それらを区別（分類）することなく用いられる。そして、時系列パターン記憶ネットワークでは、上述したように、その時系列パターン記憶ネットワークが有するノードの数だけの時系列パターンが学習される。
【０１９９】
従って、時系列パターン記憶ネットワークでは、例えば、それが有するノードの数が３より大であれば、１つのカテゴリ"A"の音声データであっても、そのカテゴリ"A"の音声データの中の、ある１つのバリエーション（の時系列パターン）が、ある１つのノードで学習され、他の１つのバリエーションが、他の１つのノードで学習されることがある。
【０２００】
そして、このように、複数のノードにおいて、カテゴリ"A"の音声データの様々なバリエーションが学習された場合、認識処理では、例えば、カテゴリ"A"の音声データが処理対象データとして入力されると、カテゴリ"A"の音声データが学習された複数のノードの中から、処理対象データに最も適合するノードが、勝者ノードとして決定され、その勝者ノードのノードラベルが、認識結果として出力される。
【０２０１】
即ち、時系列パターン記憶ネットワークを用いた認識処理では、処理対象データが、カテゴリ"A"，"B"，"C"のうちのいずれのカテゴリの音声データであるかが決定されるのではなく、時系列パターン記憶ネットワークが学習によって獲得した、そのノードの数だけの時系列パターンのうちのいずれに最も適合するか（類似するか）かが決定される。
【０２０２】
つまり、時系列パターン記憶ネットワークの学習では、時系列パターン記憶ネットワークが有するノードの数に応じた細かさで時系列パターンが獲得され、時系列パターン記憶ネットワークを用いた認識では、時系列パターン記憶ネットワークが有するノードの数に応じた細かさで、時系列データが分類（クラス分け）される。
【０２０３】
なお、（十分な）学習が行われた時系列パターン記憶ネットワークの各ノードに対し、そのノードが獲得した時系列パターンに応じて、適切に、カテゴリ"A"，"B"，"C"の正解ラベルを付与すれば、時系列パターン記憶ネットワークを用いた認識処理において、時系列データ（処理対象データ）が、カテゴリ"A"，"B"，"C"のうちのいずれのカテゴリの音声データであるかの認識結果を得ることができる。
【０２０４】
次に、図１７は、図９の生成部６の構成例を示している。
【０２０５】
生成部６には、図９で説明したように、制御データが供給される。生成部６に供給される制御データは、記憶部５の時系列パターン記憶ネットワークが記憶している時系列パターン、ひいては、時系列パターン記憶ネットワークを構成するノードのうちのいずれかを表すもので、例えば、ノードラベルである。
【０２０６】
生成部６に供給された制御データは、生成ノード決定部６１に供給される。生成ノード決定部６１は、記憶部５に記憶された時系列パターン記憶ネットワークにおいて、そこに供給される制御データが表すノードを、時系列データを生成するのに用いるノード（以下、適宜、生成ノードという）に決定し、その決定結果を、時系列生成部６２に供給する。
【０２０７】
即ち、生成ノード決定部６１は、そこに供給される制御データとしてのノードラベルが表すノードを、生成ノードに決定し、その決定結果を、時系列生成部６２に供給する。
【０２０８】
時系列生成部６２は、生成ノード決定部６１からの決定結果にしたがい、生成ノードが有する時系列パターンモデル２１（図７）に基づいて、時系列データを生成し、出力部６３に供給する。
【０２０９】
ここで、時系列パターンモデル２１が、例えば、HMMである場合には、時系列生成部６２は、生成ノードが有する時系列パターンモデル２１としてのHMMにおいて時系列データが観測される尤度を表す出力確率を最大にする時系列データを生成する。なお、HMMを用いた時系列データの生成については、例えば、動的特徴量を利用することで滑らかに変化する時系列データを生成する方法があり、時系列生成部６２では、その方法によって、時系列データを生成することができる。このような時系列データの生成方法は、例えば、K. Tokuda, T. Yoshimura, T. Masuko, T. Kobayashi, T. Kitamura,  "SPEECH PARAMETER GENERATION ALGORITHMS FOR HMM-BASED SPEECH SYNTHESIS",  Proc. of ICASSP 2000, vol.3, pp.1315-1318, June 2000に記載されている。
【０２１０】
なお、HMMを用いて時系列データを生成する方法としては、その他、例えば、HMMのパラメータを用いた確率的試行に基づく時系列データの生成を繰り返し行い、その平均をとることで、HMMから時系列データを生成する方法なども提案されており、その詳細については、例えば、稲邑哲也、谷江博昭、中村仁彦、「連続分布型隠れマルコフモデルを用いた時系列データのキーフレーム抽出とその復元」、日本機械学会ロボティクス・メカトロニクス講演会2003講演論文集、2P1-3F-C6，2003に記載されている。
【０２１１】
出力部６３は、時系列生成部６２からの時系列データを、処理対象データに相当する時系列データに変換して出力する。即ち、時系列生成部６２において生成される時系列データは、ノードが有する時系列パターンモデル２１の学習に用いられた特徴量の時系列データであり、出力部６３は、その特徴量の時系列データを、処理対象データ（に相当するデータ）に変換して出力する。
【０２１２】
具体的には、例えば、処理対象データが音声データであり、特徴抽出部２が、音声データからメルケプストラム係数を特徴量として抽出することとすると、メルケプストラムの時系列データが、時系列パターンモデル２１によって学習されるので、時系列生成部６２が生成ノードの時系列パターンモデル２１（図７）に基づいて生成する時系列データは、メルケプストラムの時系列データとなる。出力部６３は、時系列生成部６２において生成されるメルケプストラム（の時系列データ）を、処理対象データに相当する時系列データである音声データに変換する。
【０２１３】
なお、メルケプストラムの時系列データを音声データ（時領域の音声）に変換する方法としては、例えば、MLSAフィルタ（メル対数スペクトル近似フィルタ）と呼ばれる合成フィルタによって、メルケプストラムの時系列データをフィルタリングする方法がある。MLSAフィルタの詳細については、例えば、今井聖、住田一男、古市千恵子、「音声合成のためのメル対数スペクトル近似(MLSA)フィルタ」、電子情報通信学会論文誌（Ａ）、J66-A, 2, pp.122-129, 1983や、徳田恵一、小林隆夫、斉藤博徳、深田俊明、今井聖、「メルケプストラムをパラメータとする音声のスペクトル推定」、電子情報通信学会論文誌（Ａ）、J74-A, 8, pp.1240-1248, 1991に記載されている。
【０２１４】
次に、図１８のフローチャートを参照して、図９のデータ処理装置で行われる、時系列データ（処理対象データ）を生成する生成処理について説明する。
【０２１５】
ステップＳ３１では、制御データが、生成部６（図１７）に入力される。この制御データは、生成ノード決定部６１に供給される。生成ノード決定部６１は、記憶部５に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、制御データとしてのノードラベルが表すノードを、生成ノードに決定し、その決定結果を、時系列生成部６２に供給する。
【０２１６】
時系列生成部６２は、ステップＳ３３において、生成ノード決定部６１からの決定結果にしたがい、記憶部５に記憶された時系列パターン記憶ネットワークを構成するノードのうちの生成ノードが有する時系列パターンモデル２１（のパラメータ）に基づいて、時系列データを生成し、出力部６３に供給する。出力部６３は、ステップＳ３４において、時系列生成部６２からの時系列データを、処理対象データに相当する時系列データに変換して出力する。
【０２１７】
以上のような、時系列パターン記憶ネットワークを用いた生成処理によれば、その時系列パターン記憶ネットワークのノードの数に応じた（時系列パターンの）時系列データを生成することができる。
【０２１８】
以上のように、時系列パターンモデル２１を有する複数のノードから構成される時系列パターン記憶ネットワークを、時系列データに基づいて、自己組織的に更新するようにしたので、長さが一定の時系列データは勿論、長さが一定でない時系列データの教師なし学習、つまり、時系列データの、いわば自律的な学習を、容易に（実用的に）行うことができる。
【０２１９】
即ち、時系列パターン記憶ネットワークの各ノードは、時系列パターンモデル２１を有するから、時系列パターン記憶ネットワークの学習において、ノードの更新、つまり、そのノードが有する時系列パターンモデル２１の更新は、他のノードの更新に影響しない。従って、時系列パターン記憶ネットワークを構成するノードが１つ増えても、時系列パターン記憶ネットワークの学習に要する計算量は、単純には、１のノードの更新に要する計算量だけ増えるだけであり、時系列パターン記憶ネットワークの規模、つまり、時系列パターン記憶ネットワークを構成するノードの数を大にしても、時系列パターン記憶ネットワークの学習に要する計算量が飛躍的に増加することはない。従って、大規模な時系列パターン記憶ネットワークであっても、容易に、自己組織的に学習することができる。
【０２２０】
さらに、かかる時系列パターン記憶ネットワークの学習によれば、各ノードに、時系列データの統計的な特性を表す時系列パターンが記憶されるので、その時系列パターンを用いて、時系列データの認識や生成を、容易に行うことができる。
【０２２１】
なお、学習処理、認識処理、生成処理は、例えば、音声データ、画像データ、モータを駆動する信号（モータデータ）、その他の任意の時系列データを対象として行うことができる。具体的には、例えば、図９のデータ処理装置を自律型のロボットなどの自律システムに適用し、そのロボットの視覚や、聴覚、触覚に相当するセンサが出力する信号や、ロボットの手や足に相当する部分を駆動するモータを制御する信号、合成音を生成する装置や目に相当するLEDに対して与える信号等を、学習処理、認識処理、生成処理の対象とする時系列データとして採用することができる。
【０２２２】
また、本実施の形態では、ノードが有する時系列パターンモデル２１（図７）として、状態遷移確率モデルの１つであるHMMを採用することとしたが、時系列パターンモデル２１としては、他の状態遷移確率モデルを採用することが可能である。
【０２２３】
時系列パターンモデル２１として採用することができる他の状態遷移確率モデルとしては、例えば、ベイジアンネットワークがある。
【０２２４】
ベイジアンネットワークでは、変数間の依存関係をグラフ構造で表し、各ノードに条件付き確率を割り当てることでモデル化が行われるが、特に、時間軸に沿った状態遷移モデルを構築することで、時系列データをモデル化することが可能となる。
【０２２５】
なお、ベイジアンネットワークのグラフ構造の決定は、例えば、学習データの尤度とグラフ構造の複雑さとを考慮したモデルを選択することにより行われ、条件付き確率の推定には、例えば、最尤推定法やEM(Expectation Maximaization)アルゴリズムなどが利用される。ここで、ベイジアンネットワークの詳細については、例えば、本村陽一、「不確実性モデリングのための情報表現：ベイジアンネット」、２００１年、ベイジアンネットチュートリアルなどに記載されている。
【０２２６】
さらに、時系列パターンモデル２１（図７）としては、上述のように、HMMやベイジアンネットワークなどのような状態遷移確率モデルを採用することができる他、関数を近似するモデル（以下、適宜、関数近似モデルという）を採用することもできる。
【０２２７】
関数近似モデルは、時系列パターンを、関数f()を用い、例えば、微分方程式{x(t)}'=f(x(t))や、差分方程式x(t+1)=f(x(t))などで表現するモデルで、関数f()が、時系列パターンを特徴づける。なお、tは時間（時刻）（サンプル点）を表し、x(t)は、時刻tの時系列データのサンプル値、または時刻（０から）tまでに観測された時系列データを表す。また、{x(t)}'は、時系列データx(t)の時間tに関する１次微分を表す。
【０２２８】
学習データ（時系列データ）から、ある時系列パターンを表す（に対応する）関数f()を求めることを、時系列パターン関数近似と呼ぶと、時系列パターン関数近似の方法としては、例えば、多項式などを用いて関数 f() を表現し、その多項式の係数を、学習データから決定する方法や、ニューラルネットワークによって関数 f() を表現し、そのニューラルネットワークのパラメータを、学習データから決定する方法などがある。
【０２２９】
多項式で表現された関数f()の時系列パターン関数近似において、その多項式の係数の決定（推定）は、例えば、最急降下法などによって行うことができる。また、ニューラルネットワークによって表現された関数f()の時系列パターン関数近似において、そのニューラルネットワークのパラメータの決定は、例えば、バックプロパゲーション法によって行うことができる。ここで、バックプロパゲーション法では、ニューラルネットワークに入力と出力のデータを与え、その入力と出力のデータの関係を満たすように、ニューラルネットワークのパラメータの学習が行われる。
【０２３０】
例えば、時系列パターンモデル２１として、関数f()を用いた差分方程式x(t+1)=f(x(t))で時系列パターンを表現する関数近似モデルを採用する場合、入力層x(t)と出力層x(t+1)をつなぐ重み（中間層）が、ニューラルネットワークのパラメータであり、このパラメータが、学習データ（時系列データ）を用いて学習される。ニューラルネットワークのパラメータの学習は、初期値を適当に与えて、バックプロパゲーション法により行われる。なお、ニューラルネットワークとしては、例えば、リカレントニューラルネットワークを採用することができる。
【０２３１】
関数f()がニューラルネットワークによって表現される時系列パターンモデル２１を有するノードで構成される時系列パターン記憶ネットワークの学習等でも、上述のHMMを時系列パターンモデル２１として採用した場合と同様に、勝者ノードを決定する必要があり、勝者ノードの決定のためには、時系列パターン記憶ネットワークの各ノードの、新たな時系列データに対するスコアを計算する必要がある。
【０２３２】
このスコアとしては、例えば、新たな時系列データの観測値（実際の値）と、関数f()がニューラルネットワークによって表現される時系列パターンモデル２１から求められる、新たな時系列データの理論値との誤差（例えば、差の二乗和など）を採用することができる。この場合、スコアの値が最も小さいノードが、新たな時系列データに最も適合するノードである勝者ノードとして決定される。
【０２３３】
勝者ノードの決定後は、各ノードの更新重みを決定し、以下、上述のHMMを時系列パターンモデル２１として採用した場合と同様の手順で、各ノード（が有するニューラルネットワーク）のパラメータを更新することができる。
【０２３４】
なお、スコアが、例えば、尤度である場合は、スコアが大きいほど、良いスコアとなり、スコアが、例えば、誤差や距離である場合には、スコアが小さいほど、良いスコアとなる。
【０２３５】
次に、以上のような時系列パターン記憶ネットワークを適用した順モデルや逆モデルについて説明する。
【０２３６】
図１９は、時系列パターン記憶ネットワークが適用された順モデルまたは逆モデルとしての入出力関係モデルの構成例を模式的に示している。
【０２３７】
図１９において、入出力関係モデルは、２つの時系列パターン記憶ネットワークnetinおよびnetoutを有している。さらに、図１９の入出力関係モデルは、時系列パターン記憶ネットワークnetinの各ノードNi（i＝１，２，・・・，ノードの総数）と、時系列パターン記憶ネットワークnetoutの各ノードN'j（j＝１，２，・・・，ノードの総数）とが結合されている。
【０２３８】
ここで、図１９において、時系列パターン記憶ネットワークnetinのノードNiと、時系列パターン記憶ネットワークnetoutのノードN'jとの間の矢印が、そのノードNiとN'jとの結合を表している。
【０２３９】
なお、時系列パターン記憶ネットワークnetinおよびnetoutは、同一の数のノードと同一のリンク（リンクがない場合を含む）を有するものであっても良いし、異なる数のノードまたは異なるリンクを有するものであっても良い。また、時系列パターン記憶ネットワークnetinのノードNiが有する時系列パターンモデル２１（図７）と、時系列パターン記憶ネットワークnetoutのノードが有する時系列パターンモデル２１も、同一の時系列パターンモデルであっても良いし、異なる時系列パターンモデルであっても良い。
【０２４０】
次に、図２０は、入出力関係モデルを用いて、各種の処理を行うデータ処理装置の構成例を示している。
【０２４１】
図２０のデータ処理装置では、図１９の入出力関係モデルによって制御対象を順モデルまたは逆モデルにモデル化し、さらに、その順モデルまたは逆モデルとしての入出力関係モデルを用いて、制御対象から得られる出力データや、制御対象に与えるべき制御データ（入力データ）を推定する。
【０２４２】
即ち、図２０において、データ処理装置は、記憶部２１１、学習部２１２、および認識生成部２１３から構成されている。
【０２４３】
記憶部２１１は、例えば、図１９に示した入出力関係モデルなどを記憶する。
【０２４４】
学習部２１２には、モデル化しようとする制御対象に与えられる入力データ（の観測値）と、その入力データに対して制御対象から得られる出力データ（の観測値）とのセットである教示データが供給されるようになっている。ここで、教示データは、ある区間の時系列データ（ある時間に亘る時系列データ）である入力データと、その区間の時系列データに対して制御対象から得られる区間の他の時系列データである出力データとのセットである。
【０２４５】
学習部２１２は、そこに供給される教示データを用い、制御対象の順モデルまたは逆モデルとしての入出力関係モデルの学習を行う。
【０２４６】
即ち、学習部２１２は、学習処理部２２１と結合重み更新部２２２から構成される。
【０２４７】
学習処理部２２１は、図１１に示した学習処理部３２と同様に構成され、学習部２１２に供給される教示データのうちの入力データに基づいて、記憶部２１１に記憶された入出力関係モデル（図１９）における時系列パターン記憶ネットワークnetinを、図９のデータ処理装置における場合と同様に、自己組織的に更新する。また、学習処理部２２１は、学習部２１２に供給される教示データのうちの出力データ（教示データにおいて、入力データとセットになっている出力データ）に基づいて、記憶部２１１に記憶された入出力関係モデル（図１９）における時系列パターン記憶ネットワークnetoutを、図９のデータ処理装置における場合と同様に、自己組織的に更新する。
【０２４８】
さらに、学習処理部２２１は、時系列パターン記憶ネットワークnetinを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetinのノードNiのノードラベル（以下、適宜、入力ラベルという）と、時系列パターン記憶ネットワークnetoutを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetoutのノードN'jのノードラベル（以下、適宜、出力ラベルという）とをセットにしたラベルセットを、結合重み更新部２２２に供給する。
【０２４９】
結合重み更新部２２２は、学習処理部２２１から供給されるラベルセットに基づき、記憶部２１１に記憶された入出力関係モデル（図１９）における時系列パターン記憶ネットワークnetoutのノードNiと、時系列パターン記憶ネットワークnetoutのノードN'jとの結合関係を更新する。
【０２５０】
ここで、学習処理部２２１から結合重み更新部２２２に供給されるラベルセットは、入力ラベルと出力ラベルとのセットであり、入力ラベルは、教示データのうちの入力データに基づいて時系列パターン記憶ネットワークnetinを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetinのノードNiのノードラベルであるから、時系列パターン記憶ネットワークnetinにおいて、入力データに最も適合するノードNiのノードラベルである。
【０２５１】
同様に、出力ラベルは、教示データのうちの出力データに基づいて時系列パターン記憶ネットワークnetoutを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetoutのノードN'jのノードラベルであるから、時系列パターン記憶ネットワークnetoutにおいて、出力データに最も適合するノードN'jのノードラベルである。
【０２５２】
結合重み更新部２２２では、時系列パターン記憶ネットワークnetinのノードのうちの、教示データにおける入力データに最も適合するノードである勝者ノードNiと、時系列パターン記憶ネットワークnetoutの各ノードとの結合関係が更新されるとともに、時系列パターン記憶ネットワークnetoutのノードのうちの、教示データにおける出力データに最も適合するノードである勝者ノードN'jと、時系列パターン記憶ネットワークnetinの各ノードとの結合関係が更新される。
【０２５３】
ここで、入出力関係モデルにおける時系列パターン記憶ネットワークnetinのノードと、時系列パターン記憶ネットワークnetoutのノードとの間の結合関係は、その結合の度合いが強いほど、大きな値となる結合重みによって表されるようになっており、ノードどうしの結合関係の更新とは、結合重みの更新を意味する。結合重み更新部２２２によるノードどうしの結合関係の更新の方法についての詳細は、後述する。
【０２５４】
認識生成部２１３には、制御対象から得られる出力データを推定するための入力データ、または制御対象から得られる出力データをある目標値とするのに制御対象に与えるべき入力データ（制御データ）を推定するための出力データが供給される。
【０２５５】
そして、認識生成部２１３は、入力データが供給された場合は、記憶部２１１に記憶された入出力関係モデルにおける時系列パターン記憶ネットワークnetinにおいて、その入力データに最も適合する勝者ノードNiを決定し、その勝者ノードNiとの結合重みが最も強い、時系列パターン記憶ネットワークnetoutのノードを、その入力データに対する出力データの推定値としての時系列データを生成する生成ノードN'jに決定する。さらに、認識生成部２１３は、生成ノードN'jが有する時系列パターンモデル２１（図７）に基づいて、出力データ（の推定値）を生成して出力する。
【０２５６】
また、認識生成部２１３は、出力データが供給された場合は、記憶部２１１に記憶された入出力関係モデルにおける時系列パターン記憶ネットワークnetoutにおいて、その出力データに最も適合する勝者ノードN'jを決定し、その勝者ノードN'jとの結合重みが最も強い、時系列パターン記憶ネットワークnetinのノードを、その出力データが得られるときに制御対象に与えられる制御データ（入力データ）の推定値としての時系列データを生成する生成ノードNiに決定する。さらに、認識生成部２１３は、生成ノードNiが有する時系列パターンモデル２１（図７）に基づいて、制御データ（の推定値）を生成して出力する。
【０２５７】
即ち、認識生成部２１３は、スコア計算部２３１、勝者ノード決定部２３２、生成ノード決定部２３３、および時系列生成部２３４から構成される。
【０２５８】
なお、スコア計算部２３１、勝者ノード決定部２３２、生成ノード決定部２３３、および時系列生成部２３４は、認識生成部２１３に供給されたデータが、入力データであるのか、または出力データであるのかを認識することができるようになっているものとする。即ち、例えば、認識生成部２１３に対しては、そこに供給されるデータとは別に、あるいは、そこに供給されるデータとともに、そのデータが、入力データまたは出力データのうちのいずれであるのかを表す情報が供給されるようになっており、これにより、スコア計算部２３１、勝者ノード決定部２３２、生成ノード決定部２３３、および時系列生成部２３４は、認識生成部２１３に供給されたデータが、入力データであるのか、または出力データであるのかを認識する。
【０２５９】
スコア計算部２３１は、認識生成部２１３に供給されたデータに対して、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinの各ノードNi、または時系列パターン記憶ネットワークnetoutの各ノードN'jが適合する度合いであるスコアを、図１５の認識部３のスコア計算部５１における場合と同様にして計算し、勝者ノード決定部２３２に供給する。
【０２６０】
即ち、スコア計算部２３１は、認識生成部２１３に供給されたデータが入力データである場合、その入力データに対して、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinの各ノードNiのスコアを計算し、勝者ノード決定部２３２に供給する。また、スコア計算部２３１は、認識生成部２１３に供給されたデータが出力データである場合、その出力データに対して、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutの各ノードN'jのスコアを計算し、勝者ノード決定部２３２に供給する。
【０２６１】
勝者ノード決定部２３２は、図１５の認識部３の勝者ノード決定部５２における場合と同様に、スコア計算部２３１から供給されるスコアが最も高いノードを勝者ノードに決定し、その勝者ノードを表すノードラベルを、生成ノード決定部２３３に供給する。
【０２６２】
従って、認識生成部２１３に供給されたデータが入力データである場合、勝者ノード決定部２３２では、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードの中で、スコア計算部２３１から供給される、入力データに対するスコアが最も高いノードが、勝者ノードNiに決定され、その勝者ノードNiを表す入力ラベルが、生成ノード決定部２３３に供給される。また、認識生成部２１３に供給されたデータが出力データである場合、勝者ノード決定部２３２では、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードの中で、スコア計算部２３１から供給される、出力データに対するスコアが最も高いノードが、勝者ノードN'jに決定され、その勝者ノードN'jを表す出力ラベルが、生成ノード決定部２３３に供給される。
【０２６３】
なお、ここでは、最も高い（大きい）スコアが最も良いスコアであるとする。
【０２６４】
生成ノード決定部２３３は、勝者ノード決定部２３２から入力ラベルが供給された場合、即ち、認識生成部２１３に供給されたデータが入力データである場合、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードの中で、勝者ノード決定部２３２からの入力ラベルが表すノードNiとの結合重みが最も強い（最強の）ノードN'jを生成ノードとして決定し、その生成ノードN'jを表す出力ラベルを、時系列生成部２３４に供給する。また、生成ノード決定部２３３は、勝者ノード決定部２３２から出力ラベルが供給された場合、即ち、認識生成部２１３に供給されたデータが出力データである場合、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードの中で、勝者ノード決定部２３２からの出力ラベルが表すノードN'jとの結合重みが最も強い（最強の）ノードNiを生成ノードとして決定し、その生成ノードNiを表す入力ラベルを、時系列生成部２３４に供給する。
【０２６５】
時系列生成部２３４は、生成ノード決定部２３３から出力ラベルが供給された場合、即ち、認識生成部２１３に供給されたデータが入力データである場合、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードのうちの、生成ノード決定部２３３からの出力ラベルが表すノードN'jが有する時系列パターンモデル２１（図７）に基づいて、認識生成部２１３に供給された入力データに対する出力データの推定値としての時系列データを、例えば、図１７の生成部６の時系列生成部６２における場合と同様にして生成する。
【０２６６】
また、時系列生成部２３４は、生成ノード決定部２３３から入力ラベルが供給された場合、即ち、認識生成部２１３に供給されたデータが出力データである場合、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードのうちの、生成ノード決定部２３３からの入力ラベルが表すノードNiが有する時系列パターンモデル２１に基づいて、認識生成部２１３に供給された出力データに対する制御データ（入力データ）の推定値としての時系列データを、例えば、図１７の生成部６の時系列生成部６２における場合と同様にして生成する。
【０２６７】
次に、図２１のフローチャートを参照して、図２０のデータ処理装置で行われる、入出力関係モデルによる制御対象のモデル化、即ち、入出力関係モデルの学習について説明する。
【０２６８】
ステップＳ１０１において、入力データと出力データとのセットである教示データが、図２０のデータ処理装置に入力されると、その教示データは、学習部２１２の学習処理部２２１に供給される。
【０２６９】
学習処理部２２１は、ステップＳ１０２において、教示データのうちの入力データに基づいて、記憶部２１１に記憶された入出力関係モデル（図１９）における時系列パターン記憶ネットワークnetinを、自己組織的に更新し、ステップＳ１０３に進む。ステップＳ１０３では、学習処理部２２１は、教示データのうちの出力データに基づいて、記憶部２１１に記憶された入出力関係モデルにおける時系列パターン記憶ネットワークnetoutを、自己組織的に更新する。
【０２７０】
そして、学習処理部２２１は、時系列パターン記憶ネットワークnetinを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetinのノードNiの入力ラベルと、時系列パターン記憶ネットワークnetoutを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetoutのノードN'jの出力ラベルとのセットであるラベルセットを、結合重み更新部２２２に供給する。
【０２７１】
結合重み更新部２２２は、ステップＳ１０４において、学習処理部２２１から供給されるラベルセットに基づき、記憶部２１１に記憶された入出力関係モデル（図１９）における時系列パターン記憶ネットワークnetinの各ノードと、時系列パターン記憶ネットワークnetoutの各ノードとの結合重みを更新して、ステップＳ１０１に戻り、次の教示データが入力されるのを待って、以下、同様の処理が繰り返される。
【０２７２】
多数の教示データが入力され、ステップＳ１０１乃至Ｓ１０４の処理が繰り返されることにより、記憶部２１１に記憶された入出力関係モデルは、制御対象に対応する順モデルとなっていくとともに、逆モデルにもなっていく。
【０２７３】
なお、ステップＳ１０２とＳ１０３の処理は、並列して行うこともできるし、図２１の場合と逆順で行うこともできる。
【０２７４】
次に、図２２を参照して、結合重み更新部２２２（図２０）が、図２１のステップＳ１０４で行う結合重み（ノードどうしの結合関係）の更新について説明する。
【０２７５】
なお、以下、適宜、入出力関係モデルにおいて、入力データが与えられる時系列パターン記憶ネットワーク、つまり、入力データを用いて学習が行われ、入力データの時系列パターンを表現する時系列パターンモデル２１を有する複数のノードから構成される時系列パターン記憶ネットワーク（例えば、時系列パターン記憶ネットワークnetin）を、入力ネットワークといい、出力データが与えられる時系列パターン記憶ネットワーク、つまり、出力データを用いて学習が行われ、出力データの時系列パターンを表現する時系列パターンモデル２１を有する複数のノードから構成される時系列パターン記憶ネットワーク（例えば、時系列パターン記憶ネットワークnetout）を、出力ネットワークという。
【０２７６】
さらに、以下、適宜、入力ネットワークのノードを入力ノードといい、出力ネットワークのノードを出力ノードという。
【０２７７】
また、以下では、入出力関係モデルを、入力データを与えて出力データを推定する順モデルとして用いる場合についての説明をし、入出力関係モデルを、出力データ（目標値）を与えて入力データ（制御データ）を推定する逆モデルとして用いる場合についての説明は適宜省略する。
【０２７８】
図２２は、図１９に示したように、入力ネットワークnetinの入力ノードと、出力ネットワークnetoutの出力ノードとが結合している入出力関係モデルを示している。
【０２７９】
即ち、図２２左側では、入出力関係モデルは、入力ネットワークnetinと、出力ネットワークnetoutとを有し、入力ネットワークnetinの各入力ノードと、出力ネットワークnetoutの各出力ノードとが結合している。なお、図２２では、入力ネットワークnetin、および出力ネットワークnetoutのいずれも、８つのノードで構成されている。
【０２８０】
図２２左側では、入力ネットワークnetinの各入力ノードは、出力ネットワークnetoutのすべての出力ノードと結合しており（従って、出力ネットワークnetoutの各出力ノードも、入力ネットワークnetinのすべての入力ノードと結合している）、入力ネットワークnetinの入力ノードと、出力ネットワークnetoutの出力ノードとのすべての組み合わせについて、結合重みwが存在する。
【０２８１】
いま、ノードどうしが結合している２つの時系列パターン記憶ネットワークについて、そのうちの一方の時系列パターン記憶ネットワークのノードを各行に対応させるとともに、他方の時系列パターン記憶ネットワークのノードを各列に対応させ、第i行第j列の要素に、一方の時系列パターン記憶ネットワークのi番目のノードと、他方の時系列パターン記憶ネットワークのj番目のノードとの結合重みwを配置した行列を、結合重み行列MTXということとすると、結合重み更新部２２２（図２０）は、この結合重み行列MTXの各要素である結合重みwを更新する。
【０２８２】
図２２右側は、図２２左側の入出力関係モデルについての結合重み行列MTXを示している。
【０２８３】
図２２右側の結合重み行列MTXでは、入力ノードを各行に対応させるとともに、出力ノードを各列に対応させ、第i行第j列の要素に、i番目の入力ノードと、j番目の出力ノードとの結合重みwが配置されている。結合重み更新部２２２（図２０）は、この結合重み行列MTXの各要素である結合重みwを更新する。
【０２８４】
即ち、結合重み更新部２２２は、例えば、最初に電源がオンにされたとき等に、結合重み行列MTXにおけるすべての結合重みwを、例えば、初期値としての0に初期化する。そして、結合重み更新部２２２は、図２０のデータ処理装置に対して、教示データ、つまり、入力データと出力データとのセットが入力され、これにより、入力ネットワークnetinにおける勝者ノードを表す入力ラベルと、出力ネットワークnetoutにおける勝者ノードを表す出力ラベルとのラベルセットが、学習処理部２２１から与えられるたびに、それらの勝者ノードどうしの結合を、いわば中心として、結合重みを更新する。
【０２８５】
具体的には、結合重み更新部２２２は、例えば、式（４）にしたがって、結合重み行列MTXの結合重みwを更新する。
【０２８６】
【数４】
2007280056.tif 000006
【０２８７】
ここで、βは、結合重みwを更新する程度の表す学習率であり、0から1の範囲で与えられる。学習率βを小さくするほど、結合重みwは、あまり変化しなくなり、学習率βが0である場合には、結合重みwは変化しない。一方、学習率βを大きくするほど、結合重みwも、大きく変化し、学習率βが1である場合には、結合重みwは、更新の基準値△wに更新される。
【０２８８】
また、基準値△wは、例えば、式（５）で与えられる。
【０２８９】
【数５】
2007280056.tif 000007
【０２９０】
ここで、dは、式（３）における場合と同様に、勝者ノードとのパターン間距離を表し、勝者ノードとなっているノードについては、d=0である。従って、勝者ノード（となっているノード）については、基準値△wは1となり、勝者ノードからのパターン間距離dが大のノードほど、基準値△wは0に近づく。
【０２９１】
いま、学習処理部２２１（図２０）から結合重み更新部２２２に供給される入力ラベルが表す入力ノード、即ち、入力ネットワークnetinにおける勝者ノードを、入力ノードNiと表すとともに、学習処理部２２１（図２０）から結合重み更新部２２２に供給される出力ラベルが表す出力ノード、即ち、出力ネットワークnetoutにおける勝者ノードを、出力ノードN'jと表すと、結合重み更新部２２２（図２０）は、式（４）（および式（５））にしたがい、以下のように、結合重み行列MTXの結合重みwを更新する。
【０２９２】
即ち、結合重み更新部２２２は、出力ネットワークnetoutの各出力ノードについて、出力ネットワークnetoutにおける勝者ノードである出力ノードN'jとのパターン間距離dを用い、式（５）にしたがって、基準値△wを求め、さらに、その基準値△wを用い、式（４）にしたがって、入力ネットワークnetinの勝者ノードであるi番目の入力ノードNiとの結合重みwを更新する。
【０２９３】
これにより、入力ネットワークnetinの勝者ノードである入力ノードNiに対応する、結合重み行列MTXの第i行の（各列の）結合重みwが更新される。
【０２９４】
また、結合重み更新部２２２は、入力ネットワークnetinの各入力ノードについて、入力ネットワークnetinにおける勝者ノードである入力ノードNiとのパターン間距離dを用い、式（５）にしたがって、基準値△wを求め、さらに、その基準値△wを用い、式（４）にしたがって、出力ネットワークnetoutの勝者ノードであるj番目の出力ノードN'jとの結合重みwを更新する。
【０２９５】
これにより、出力ネットワークnetoutの勝者ノードである出力ノードN'jに対応する、結合重み行列MTXの第j列の（各行の）結合重みwが更新される。
【０２９６】
従って、入力ネットワークnetinの勝者ノードNiと、出力ネットワークnetoutの勝者ノードN'jとの結合重みが、結合の度合いを最も強めるように更新される。
【０２９７】
なお、入力ネットワークnetinの勝者ノードである入力ノードNiと、出力ネットワークnetoutの勝者ノードである出力ノードN'jとの結合重みwの更新は、出力ネットワークnetoutの各出力ノードについての、勝者ノードである入力ノードNiとの結合重みwの更新時か、または、入力ネットワークnetinの各入力ノードについての、勝者ノードである出力ノードN'jとの結合重みwの更新時のいずれか一方においてのみ行われる。
【０２９８】
以上のような結合重みw（結合重み行列MTX）の更新は、教示データとしての入力データと出力データとのセットが、図２０のデータ処理装置に対して入力されるたびに行われる。
【０２９９】
さらに、入出力関係モデルが有する入力ネットワークnetinの入力データに基づく学習、および出力ネットワークnetoutの出力データに基づく学習も、教示データとしての入力データと出力データとのセットが、図２０のデータ処理装置に対して入力されるたびに行われる。
【０３００】
そして、入力ネットワークnetin、および出力ネットワークnetoutの学習が進むと、入力ノードが有する時系列パターンモデル２１が、ある特定の時系列パターンを表現し、また、出力ノードが有する時系列パターンモデル２１も、他の特定の時系列パターンを表現するようになる。
【０３０１】
その結果、ある特定の時系列パターンの入力データと、他の特定の時系列パターンの出力データとの間に、何らかの関係性がある場合、そのような入力データと出力データとのセット（教示データ）が与えられると、入力ネットワークnetinにおいてある特定の時系列パターンを表現する時系列パターンモデル２１を有する入力ノードが勝者ノードとなるとともに、出力ネットワークnetoutにおいて他の特定の時系列パターンを表現する時系列パターンモデル２１を有する出力ノードが勝者ノードとなる。
【０３０２】
さらに、上述したように、入力ネットワークnetinの勝者ノードを、いわば中心として、入力ネットワークnetinの各入力ノードと、出力ネットワークnetoutの勝者ノードとの結合重みが更新されるとともに、出力ネットワークnetoutの勝者ノードを中心として、出力ネットワークnetoutの各出力ノードと、入力ネットワークnetinの勝者ノードとの結合重みが更新される。
【０３０３】
即ち、入力ネットワークnetinの各入力ノードと、出力ネットワークnetoutの勝者ノードとの結合重みは、入力ネットワークnetinの勝者ノードとのパターン間距離dが近い入力ノードほど強くなる（強化する）ように更新される。また、出力ネットワークnetoutの各出力ノードと、入力ネットワークnetinの勝者ノードとの結合重みは、出力ネットワークnetoutの勝者ノードとのパターン間距離dが近い出力ノードほど強くなるように更新される。
【０３０４】
逆に言えば、入力ネットワークnetinの各入力ノードと、出力ネットワークnetoutの勝者ノードとの結合重みは、入力ネットワークnetinの勝者ノードとのパターン間距離dが遠い入力ノードほど弱くなる（弱化する）ように更新される。また、出力ネットワークnetoutの各出力ノードと、入力ネットワークnetinの勝者ノードとの結合重みも、出力ネットワークnetoutの勝者ノードとのパターン間距離dが遠い出力ノードほど弱くなるように更新される。
【０３０５】
多数の教示データが与えられ、入力ネットワークnetin、および出力ネットワークnetoutの学習が進み、さらに、結合重みの更新が進むと、その結合重みによって、入力データ（の時系列パターン）と出力データ（の時系列パターン）とを関係付ける順モデルまたは逆モデルとしての入出力関係モデルを獲得することができる。
【０３０６】
そして、順モデルとしての入出力関係モデルによれば、ある入力データが与えられた場合に、入力ネットワークnetinにおいて、その入力データに最も適合する勝者ノードを決定することができ、その勝者ノードとの結合重みが最強の出力ネットワークnetoutの出力ノードを決定することができる。さらに、その出力ノード（が有する時系列パターンモデル２１）に基づき、時系列データを生成することで、与えられた入力データに対する出力データを推定することができる。
【０３０７】
また、逆モデルとしての入出力関係モデルによれば、ある出力データ（目標値）が与えられた場合に、出力ネットワークnetoutにおいて、その出力データに最も適合する勝者ノードを決定することができ、その勝者ノードとの結合重みが最強の入力ネットワークnetinの入力ノードを決定することができる。さらに、その入力ノード（が有する時系列パターンモデル２１）に基づき、時系列データを生成することで、与えられた出力データに対する制御データ（入力データ）を推定することができる。
【０３０８】
なお、入力ネットワークnetinのノードと出力ネットワークnetoutのノードとが結合されている入出力関係モデルについては、結合重み行列MTXは、入出力関係モデルの一部として、記憶部２１１（図２０）に記憶される。
【０３０９】
次に、図２３のフローチャートを参照して、順モデルまたは逆モデルとしての入出力関係モデルを用いて、入力データに対する出力データや、出力データに対する制御データ（入力データ）を推定する処理について説明する。
【０３１０】
まず、図２０のデータ処理装置において、入力データに対する出力データを推定する場合、ステップＳ１１１において、その入力データが、図２０のデータ処理装置に入力される。
【０３１１】
データ処理装置に入力された入力データは、認識生成部２１３のスコア計算部２３１に供給される。
【０３１２】
スコア計算部２３１は、ステップＳ１１２において、そこに供給された入力データに対して、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinの各ノードNiのスコアを計算し、勝者ノード決定部２３２に供給する。
【０３１３】
勝者ノード決定部２３２は、ステップＳ１１３において、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードの中で、スコア計算部２３１からのスコアが最も高いノードを、勝者ノードNiに決定し、その勝者ノードNiを表す入力ラベルを、生成ノード決定部２３３に供給する。
【０３１４】
生成ノード決定部２３３は、ステップＳ１１４において、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードの中で、勝者ノード決定部２３２からの入力ラベルが表すノードNiとの結合重みが最も強いノードN'jを生成ノードに決定し、その生成ノードN'jを表す出力ラベルを、時系列生成部２３４に供給する。
【０３１５】
時系列生成部２３４は、ステップＳ１１５において、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードのうちの、生成ノード決定部２３３からの出力ラベルが表すノードN'jが有する時系列パターンモデル２１（図７）に基づいて、認識生成部２１３に供給された入力データに対する出力データの推定値としての時系列データを生成して、ステップＳ１１６に進み、その時系列データを出力する。
【０３１６】
次に、図２０のデータ処理装置において、出力データに対する制御データ（入力データ）を推定する場合には、ステップＳ１１１において、その出力データが、図２０のデータ処理装置に入力される。
【０３１７】
データ処理装置に入力された出力データは、認識生成部２１３のスコア計算部２３１に供給される。
【０３１８】
スコア計算部２３１は、ステップＳ１１２において、そこに供給された出力データに対して、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutの各ノードN'jのスコアを計算し、勝者ノード決定部２３２に供給する。
【０３１９】
勝者ノード決定部２３２は、ステップＳ１１３において、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードの中で、スコア計算部２３１からのスコアが最も高いノードを、勝者ノードN'jに決定し、その勝者ノードN'jを表す出力ラベルを、生成ノード決定部２３３に供給する。
【０３２０】
生成ノード決定部２３３は、ステップＳ１１４において、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードの中で、勝者ノード決定部２３２からの出力ラベルが表すノードN'jとの結合重みが最も強いノードNiを生成ノードに決定し、その生成ノードNiを表す入力ラベルを、時系列生成部２３４に供給する。
【０３２１】
時系列生成部２３４は、ステップＳ１１５において、記憶部２１１に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードのうちの、生成ノード決定部２３３からの入力ラベルが表すノードNiが有する時系列パターンモデル２１に基づいて、認識生成部２１３に供給された出力データに対する制御データ（入力データ）の推定値としての時系列データを生成して、ステップＳ１１６に進み、その時系列データを出力する。
【０３２２】
以上のように、入力データと出力データとのセットを用いて、入出力関係モデルの学習を行い、制御対象を順モデルおよび逆モデルにモデル化して、制御対象を精度良く表現し、高精度に、出力データや制御データ（入力データ）を推定することが可能となる。
【０３２３】
ところで、上述したように、図２０のデータ処理装置においては、制御対象に与えられる、ある区間の時系列データ（ある時間に亘る時系列データ）である入力データと、その区間の時系列データに対して制御対象から観測される区間の他の時系列データである出力データとのセットを、教示データとして、学習部２１２に供給し、学習部２１２において、教示データを用い、制御対象の順モデルまたは逆モデルとしての入出力関係モデルの学習を行う。
【０３２４】
従って、例えば、制御対象をロボットとして、そのロボットに与える入力データとして、ロボットに呼びかける音声をセンサとしてのマイクで検知したセンサデータ（音声データ）の時系列を採用するとともに、ロボットに呼びかける音声に対して、ロボットが手をふるようにアームを動かす行動をとるためにモータに与えられるモータデータの時系列を採用して、入出力関係モデルの学習を行うと、学習部２１２（図２０）では、入出力関係モデルの入力ネットワークnetinの１以上のノード（が有する時系列パターンモデル２１）が、ロボットに呼びかける音声に対応するセンサデータとしての入力データの時系列パターンを表現するように、自己組織的な学習が行われるとともに、出力ネットワークnetoutの１以上のノード（が有する時系列パターンモデル２１）が、手をふる行動に対応するモータデータとしての出力データの時系列パターンを表現するように、自己組織的な学習が行われる。
【０３２５】
さらに、学習部２１２では、入出力関係モデルの入力ネットワークnetinの各ノードと、出力ネットワークnetoutの勝者ノードとの結合重みが、入力ネットワークnetinの勝者ノードとのパターン間距離dが近いノードほど強くなるように更新されるとともに、出力ネットワークnetoutの各出力ノードと、入力ネットワークnetinの勝者ノードとの結合重みが、出力ネットワークnetoutの勝者ノードとのパターン間距離dが近い出力ノードほど強くなるように更新される。
【０３２６】
その結果、入力ネットワークnetinのノードのうちの、ロボットに呼びかける音声に対応するセンサデータとしての入力データの時系列パターンを表現する（時系列パターンモデル２１を有する）１以上のノードと、出力ネットワークnetoutのノードのうちの、手をふる行動に対応するモータデータの時系列パターンを表現する（時系列パターンモデル２１を有する）１以上のノードとの結合重みは強くなる。
【０３２７】
その後、認識生成部２１３（図２０）に、ロボットに呼びかける音声に対応するセンサデータが、入力データとして与えられると、入出力関係モデルでは、その入力データに対して、入力ネットワークnetinのノードのうちの、ロボットに呼びかける音声に対応するセンサデータの時系列パターンを表現する、ある１つのノードが勝者ノードとなる。そして、認識生成部２１３では、その勝者ノードとの結合重みが最も強い、出力ネットワークnetoutのノード、即ち、いまの場合、出力ネットワークnetoutのノードのうちの、手をふる行動に対応するモータデータの時系列パターンを表現する、あるノードが、生成ノードに決定され、その生成ノードを用いて、出力データ、即ち、いまの場合、手をふる行動に対応するモータデータが生成されて出力される。
【０３２８】
図２０のデータ処理装置によれば、例えば、ロボットに、呼びかけの音声を与え、その音声に対して、手をふるようなアームの動きを与えると、上述のような学習が行われ、その結果、ロボットが、呼びかけの音声に対して、手をふる認知行動を行うようになる。
【０３２９】
しかしながら、図２０のデータ処理装置では、認知と行動とが、比較的短時間で繰り返されることで完成する、実時間性が要求されるタスクを、ロボットに行わせることが困難であることがある。
【０３３０】
即ち、例えば、ロボットが、目の前にあるボールを左右に転がすタスクを行う場合、ボールの状態を把握（認識）する認知と、ボールの状態に応じて適切にアームを動かす行動とを、ある短い所定の時間単位で繰り返し行う必要がある。いま、この繰り返しの単位である所定の時間を、フレームと呼ぶこととすると、時間軸上のあるフレームにおける、ボールの状態をセンサで検知したセンサデータと、そのフレームにおいてとらなければならないアームの動きに対応するモータデータとのセットを、教示データとして、図２０のデータ処理装置に与え、その教示データのうちのセンサデータの時系列パターンを表現する入力ノード（入力ネットワークnetinのノード）と、その教示データのうちのモータデータの時系列パターンを表現する出力ノード（出力ネットワークnetoutのノード）との結合重みを強くしても、ロボットは、目の前にあるボールを左右に転がすタスクを行うことができるようにはならない。
【０３３１】
なぜなら、あるフレームのセンサデータが与えられた時点で、そのフレームのモータデータによるアームの動きは、既に行われていなければならないからである。
【０３３２】
従って、ロボットが、目の前にあるボールを左右に転がすタスクを行うことができるようにするには、あるフレームを注目フレームとして注目すると、ボールの状態をセンサで検知したセンサデータのうちの、注目フレームのセンサデータの時系列パターンを表現する入力ノード（以下、適宜、センサデータに対応するノードともいう）と、ボールを左右に転がすアームの動きに対応するモータデータのうちの、注目フレームの時刻から一定の時間だけ遅れたフレームのモータデータの時系列パターンを表現する出力ノード（以下、適宜、モータデータに対応するノードともいう）との結合重みを強くするように、入出力関係モデルの学習を行う必要がある。
【０３３３】
即ち、注目フレームのセンサデータに対して、次のフレームのモータデータが生成されるように、入出力関係モデルの学習を行う必要がある。
【０３３４】
また、ロボットが次にとるべき行動は、現在の外部の状態としてのボールの状態だけでは決められないことがある。即ち、現在のボールの状態が、ある特定の状態であっても、ロボットが現在とっている行動（状態）によっては、次にとるべき行動が異なることがある。
【０３３５】
従って、注目フレームのセンサデータのみならず、モータデータをも考慮して、次のフレームのモータデータが生成されるように、入出力関係モデルの学習を行うことが望ましい。
【０３３６】
そこで、図２４は、実時間性が要求されるタスクを行うことが可能なロボットの構成例を示している。
【０３３７】
図２４において、ロボットは、データ処理装置３０１、センサ３０２、およびモータ駆動部３０３等から構成されている。
【０３３８】
データ処理装置３０１は、センサ３０２から供給される時系列のセンサデータと、モータ駆動部３０３から供給される時系列のモータデータとを用いて、入出力関係モデルの自己組織的な学習を行う。さらに、データ処理装置３０１は、センサ３０２から供給される時系列のセンサデータ、およびモータ駆動部３０３から供給されるモータデータに対して、時系列のセンサデータおよびモータデータを生成し、モータ駆動部３０３に供給する。
【０３３９】
センサ３０２は、カメラやマイク等であり、外部の状態を検知して、その外部の状態を表す時系列のセンサデータを、データ処理装置３０１に供給する。
【０３４０】
モータ駆動部３０３は、データ処理装置３０１から供給されるモータデータに応じて、例えば、ロボットのアーム等を動かすための図示せぬモータを駆動する。また、モータ駆動部３０３は、例えば、ロボットのアーム等が、外部から力が加えられることによって動かされた場合に、その動きをするために、モータ駆動部３０３に与えられるべきモータデータと同一のモータデータを生成し、データ処理部３０１に供給する。さらに、モータ駆動部３０３は、上述したように、データ処理装置３０１から供給されるモータデータに応じて、モータを駆動するとともに、必要に応じて、そのモータデータを、データ処理装置３０１に供給する（戻す）。
【０３４１】
図２４において、データ処理装置３０１は、記憶部３１１、データ抽出部３１２、学習処理部３１３、写像学習部３１４、データ抽出部３１５、認識部３１６、写像部３１７、および生成部３１８から構成されている。
【０３４２】
記憶部３１１は、入出力関係モデルを記憶している。
【０３４３】
ここで、図２５は、記憶部３１１が記憶している入出力関係モデルM1112を示している。
【０３４４】
入出力関係モデルM1112は、図１９や図２２に示した入出力関係モデルと同様に、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される時系列パターン記憶ネットワークである入力ネットワークnet11（入力SOM）と、出力ネットワークnet12（出力SOM）とを有する。
【０３４５】
そして、入出力関係モデルM1112では、入力ネットワークnet11の各ノードと、出力ネットワークのnet12の各ノードとが、結合重みによって結合されている。
【０３４６】
図２４に戻り、データ抽出部３１２には、センサ３０２が各時刻において出力するセンサデータと、モータ駆動部３０３が同一時刻において出力するモータデータとが供給される。
【０３４７】
データ抽出部３１２は、センサ３０２からのセンサデータとモータ駆動部３０３からのモータデータをコンポーネントとするベクトルの時系列を、入力データおよび出力データとして、入力データの時系列から、フレーム単位の入力データを順次抽出するとともに、出力データの時系列から、フレーム単位の出力データを順次抽出し、それらのフレーム単位の入力データと出力データを、学習処理部３１３に供給する。
【０３４８】
即ち、図２６は、図２４のデータ抽出部３１２が扱う入力データと出力データを示している。
【０３４９】
上述したように、データ抽出部３１２が扱う入力データと出力データは、いずれも、センサデータとモータデータをコンポーネントとするベクトルの時系列であり、同一の時系列データである。
【０３５０】
図２４で説明したように、データ抽出部３１２には、センサ３０２が各時刻において出力するセンサデータと、モータ駆動部３０３が同一時刻において出力するモータデータとが供給される。
【０３５１】
例えば、フレームの長さ（時間）をTと表すこととすると、データ抽出部３１２は、センサデータとモータデータを入力データとして、その入力データの時系列を、図２６に示すように、時間T単位に区切った、フレーム単位の入力データを抽出し、学習処理部３１３に供給する。
【０３５２】
また、データ抽出部３１２は、センサデータとモータデータを出力データとして、その出力データの時系列を、図２６に示すように、時間T単位に区切った、フレーム単位の出力データを抽出し、学習処理部３１３に供給する。
【０３５３】
ここで、以下、適宜、時刻tを先頭の時刻とし、時刻t+T-1を終わりの時刻とする時間Tのフレームを、時刻tのフレームという。センサデータとモータデータとをコンポーネントとするベクトルの時系列の、時刻tのベクトル（サンプル値）から、時刻t+t'（の直前）のベクトルまでを、IO[t,t+t']と表すこととすると、時刻tのフレームの入力データと出力データは、いずれも、IO[t,t+T-1]と表すことができる。
【０３５４】
なお、図２６では、入力データと出力データとが、完全に同一の時系列データであるとしたが、入力データと出力データとは、一部が同一の時系列データであっても良い。即ち、例えば、入力データが、センサデータとモータデータをコンポーネントとするベクトルの時系列であり、出力データが、モータデータ（さらには、センサデータ以外の時系列データ）をコンポーネントとするベクトルの時系列であっても良い。
【０３５５】
また、図２６では、入力データを（出力データについても同様）、単純に、時間T単位に区切って、フレーム単位の入力データを得るようにしたが、その他、例えば、時間T未満の時間だけずらしながら、時間Tの長さの入力データを抽出することにより、一部が重複したフレーム単位の入力データを抽出することも可能である。
【０３５６】
再び、図２４に戻り、学習処理部３１３は、認識学習処理部３２１から構成され、データ抽出部３１２から供給されるフレーム単位の入力データと出力データそれぞれを用いて、記憶部３１１に記憶された入出力関係モデルM1112（図２５）が有する入力ネットワークnet11と出力ネットワークnet12それぞれの自己組織的な学習を行う。
【０３５７】
即ち、認識学習処理部３２１は、図２０の学習処理部２２１と同様に、データ抽出部３１２から供給されるフレーム単位の入力データに基づいて、記憶部３１１に記憶された入出力関係モデルM1112（図２５）における入力ネットワークnet11を、自己組織的に更新する。
【０３５８】
具体的には、認識学習処理部３２１は、入出力関係モデルM1112における入力ネットワークnet11の各ノードについて、データ抽出部３１２からのフレーム単位の入力データに対するスコアを求め、入力ネットワークnet11のノードの中から、スコアの最も良いノードを、勝者ノード（以下、適宜、入力勝者ノードともいう）に決定する。さらに、認識学習処理部３２１は、データ抽出部３１２からのフレーム単位の入力データに対する入力勝者ノードに基づいて、入力ネットワークnet11を、自己組織的に更新する。
【０３５９】
また、認識学習処理部３２１は、フレーム単位の入力データに対して時系列に決定した入力勝者ノードを表すノードラベルである入力ラベルを、写像学習部３１４に、時系列に供給する。
【０３６０】
さらに、認識学習処理部３２１は、データ抽出部３１２から供給されるフレーム単位の出力データに基づいて、記憶部３１１に記憶された入出力関係モデルM1112（図２５）における出力ネットワークnet12を、自己組織的に更新する。
【０３６１】
具体的には、認識学習処理部３２１は、入出力関係モデルM1112における出力ネットワークnet12の各ノードについて、データ抽出部３１２からのフレーム単位の出力データに対するスコアを求め、出力ネットワークnet12のノードの中から、スコアの最も良いノードを、勝者ノード（以下、適宜、出力勝者ノードともいう）に決定する。さらに、認識学習処理部３２１は、データ抽出部３１２からのフレーム単位の出力データに対する出力勝者ノードに基づいて、出力ネットワークnet12を、自己組織的に更新する。
【０３６２】
また、認識学習処理部３２１は、フレーム単位の出力データに対して時系列に決定した出力勝者ノードを表すノードラベルである出力ラベルを、写像学習部３１４に、時系列に供給する。
【０３６３】
写像学習部３１４は、データバッファ３３１、読み出し部３３２、および結合重み更新部３３３から構成され、記憶部３１１に記憶された入出力関係モデルM1112における入力ネットワークnet11のフレーム単位の入力データに対する入力勝者ノードと、出力ネットワークnet12の各ノードとの結合重みを更新するとともに、出力ネットワークnet12の、フレーム単位の入力データの時刻から一定の時間だけ遅れたフレーム単位の出力データに対する出力勝者ノードと、入力ネットワークnet11の各ノードとの結合重みを更新する。
【０３６４】
即ち、データバッファ３３１は、認識学習処理部３２１から供給される時系列の入力ラベルと、認識学習処理部３２１から供給される時系列の出力ラベルとを一時記憶する。
【０３６５】
読み出し部３３２は、入力データのフレームを、順次、注目フレームとして、データバッファ３３１に記憶された入力ラベルのうちの、注目フレームの入力データに対する入力勝者ノードを表す入力ラベルと、データバッファ３３１に記憶された出力ラベルのうちの、注目フレームの時刻から一定の時間だけ遅れたフレームの出力データに対する出力勝者ノードを表す出力ラベルとを読み出して対応付け、その対応付けた入力ラベルと出力ラベルとのセットであるラベルセットを、結合重み更新部３３３に供給する。
【０３６６】
結合重み更新部３３３は、図２０の結合重み更新部２２２と同様に、図２２で説明したようにして、読み出し部３３２から供給されるラベルセットに基づき記憶部３１１に記憶された入出力関係モデルM1112（図２５）における入力ネットワークnet11のノードと、出力ネットワークnet12のノードとの結合関係を、ヘブ則等により更新する。
【０３６７】
即ち、結合重み更新部３３３は、入力ネットワークnet11の各入力ノードと、ラベルセットの出力ラベルが表す出力ネットワークnet12の出力勝者ノードとの結合重みを、ラベルセットの入力ラベルが表す入力ネットワークnet11の入力勝者ノードを中心として更新するとともに、出力ネットワークnet12の各出力ノードと、入力ネットワークnet11の勝者ノードとの結合重みを、出力ネットワークnet12の出力勝者ノードを中心として更新する。
【０３６８】
データ抽出部３１５には、センサ３０２が各時刻において出力するセンサデータと、モータ駆動部３０２が同一時刻において出力するモータデータとをコンポーネントとするベクトルの時系列が、入力データとして供給される。データ抽出部３１５は、データ抽出部３１２と同様に、入力データの時系列から、フレーム単位の入力データを順次抽出し、認識部３１６に供給する。
【０３６９】
認識部３１６は、スコア計算部３４１と勝者ノード決定部３４２とから構成される。
【０３７０】
また、図２４において、写像部３１７は、生成ノード決定部３５１から構成される。さらに、生成部３１８は、時系列生成部３６１から構成される。
【０３７１】
スコア計算部３４１、勝者ノード決定部３４２、生成ノード決定部３５１、時系列生成部３６１は、それぞれ、図２０のスコア計算部２３１、勝者ノード決定部２３２、生成ノード決定部２３３、時系列生成部２３４と同様の処理を行う。
【０３７２】
なお、時系列生成部３６１は、図２０の時系列生成部２３４と同様にして、出力データ（の推定値）を生成するが、この出力データは、センサデータとモータデータとをコンポーネントとするベクトルであり、そのうちのモータデータが、時系列生成部３６１からモータ駆動部３０３に供給される。
【０３７３】
次に、図２７を参照して、図２４の読み出し部３３２の処理について説明する。
【０３７４】
読み出し部３３２は、上述したように、入力データのフレームを、順次、注目フレームとして、データバッファ３３１に記憶された入力ラベルのうちの、注目フレームの入力データに対する入力勝者ノードを表す入力ラベルと、データバッファ３３１に記憶された出力ラベルのうちの、注目フレームの時刻から一定の時間だけ遅れたフレームの出力データに対する出力勝者ノードを表す出力ラベルとを対応付ける。
【０３７５】
即ち、注目フレームの時刻から一定の時間だけ遅れたフレームの出力データとして、例えば、フレームと同一の時間Tを採用することとすると、読み出し部３３２は、時刻tのフレームの入力データ(IO[t,t+T-1])に対する入力勝者ノードNtを表す入力ラベルと、注目フレームの時刻tから時間Tだけ遅れた時刻t+Tのフレームの出力データ(IO[t+T,t+2T-1])に対する出力勝者ノードN't+Tを表す出力ラベルとを対応付ける。
【０３７６】
但し、ここでは、入力データと出力データは、同一の時系列データ（センサデータとモータデータとをコンポーネントとするベクトルの時系列）である。
【０３７７】
次に、図２８のフローチャートを参照して、図２４のロボットが行う学習処理、即ち、入出力関係モデルM1112の学習処理について説明する。
【０３７８】
例えば、ロボットに、目の前にあるボールを左右に転がすタスクを学習させる場合、オペレータ（ロボットにタスクの学習をさせようとするユーザ）は、ロボットの前にボールをおき、ロボットのアームを持って、ボールを左右に転がすように、アームを動かす。
【０３７９】
この場合、センサ３０２において、左右に転がるボールの状態が検知され、その状態を表す時系列のセンサデータが、データ処理装置３０１のデータ抽出部３１２に供給される。
【０３８０】
また、モータ駆動部３０３では、オペレータが動かしているアームの動きに対応するモータデータが生成され、データ処理装置３０１のデータ抽出部３１２に供給される。
【０３８１】
データ抽出部３１２は、ステップＳ３０１において、センサ３０２からのセンサデータと、モータ駆動部３０３からのモータデータをコンポーネントとするベクトルの時系列（以下、適宜、センサモータデータという）を、入力データとして、その入力データの時系列から、フレーム単位の入力データを抽出し、学習処理部３１３の認識学習処理部３２１に供給するとともに、センサモータデータを出力データとして、その出力データの時系列から、フレーム単位の出力データを抽出し、学習処理部３１３の認識学習処理部３２１に供給して、ステップＳ３０２に進む。
【０３８２】
ステップＳ３０２では、学習処理部３１３の認識学習処理部３２１が、データ抽出部３１２からのフレーム単位の入力データと出力データを用いて、記憶部３１１に記憶された入出力関係モデルM1112（図２５）が有する入力ネットワークnet11と出力ネットワークnet12の自己組織的な学習を行う。
【０３８３】
即ち、ステップＳ３０２では、ステップＳ３０２1とＳ３０２2の処理が行われる。
【０３８４】
ステップＳ３０２1では、認識学習処理部３２１が、記憶部３１１に記憶された入出力関係モデルM1112における入力ネットワークnet11の各ノードについて、データ抽出部３１２からのフレーム単位の入力データに対するスコアを求め、入力ネットワークnet11のノードの中から、スコアの最も良いノードを、入力勝者ノードに決定する。さらに、認識学習処理部３２１は、データ抽出部３１２からのフレーム単位の入力データに対する入力勝者ノードに基づいて、入力ネットワークnet11を、自己組織的に更新し、入力勝者ノードを表す入力ラベルを、写像学習部３１４に供給する。
【０３８５】
ステップＳ３０２2では、認識学習処理部３２１が、記憶部３１１に記憶された入出力関係モデルM1112における出力ネットワークnet12の各ノードについて、データ抽出部３１２からのフレーム単位の出力データに対するスコアを求め、出力ネットワークnet12のノードの中から、スコアの最も良いノードを、出力勝者ノードに決定する。さらに、認識学習処理部３２１は、データ抽出部３１２からのフレーム単位の出力データに対する出力勝者ノードに基づいて、出力ネットワークnet12を、自己組織的に更新し、出力勝者ノードを表す出力ラベルを、写像学習部３１４に供給する。
【０３８６】
ステップＳ３０２の処理後は、ステップＳ３０３に進み、写像学習部３１４は、入力データのフレームのうちの、まだ注目フレームとしていないフレームを、注目フレームとして、認識学習処理部３２１からの、注目フレームの入力データに対する入力勝者ノードを表す入力ラベルと、認識学習処理部３２１からの、注目フレームから時間Tだけ遅れたフレームの出力データに対する出力勝者ノードを表す出力ラベルとを対応付ける。
【０３８７】
即ち、ステップＳ３０３では、写像学習部３１４のデータバッファ３３１において、認識学習処理部３２１からのフレーム単位の入力データに対する入力勝者ノードを表す入力ラベルと、フレーム単位の出力データに対する出力勝者ノードを表す出力ラベルとが一時記憶される。
【０３８８】
さらに、ステップＳ３０３では、写像学習部３１４の読み出し部３３２が、データバッファ３３１に記憶された入力ラベルのうちの、注目フレームの入力データに対する入力勝者ノードを表す入力ラベルと、データバッファ３３１に記憶された出力ラベルのうちの、注目フレームの時刻から時間Tだけ遅れたフレームの出力データに対する出力勝者ノードを表す出力ラベルとを読み出して対応付け、その対応付けた入力ラベルと出力ラベルとのセットであるラベルセットを、結合重み更新部３３３に供給する。
【０３８９】
そして、ステップＳ３０３からステップＳ３０４に進み、写像学習部３１４の結合重み更新部３３３が、読み出し部３３２から供給されるラベルセットに基づき、記憶部３１１に記憶された入出力関係モデルM1112（図２５）における入力ネットワークnet11のノードと、出力ネットワークnet12のノードとの結合関係を更新する。
【０３９０】
即ち、結合重み更新部３３３は、記憶部３１１に記憶された入出力関係モデルM1112における入力ネットワークnet11の各入力ノードと、ラベルセットの出力ラベルが表す出力ネットワークnet12の出力勝者ノードとの結合重みを、ラベルセットの入力ラベルが表す入力ネットワークnet11の入力勝者ノードを中心として更新するとともに、出力ネットワークnet12の各出力ノードと、入力ネットワークnet11の入力勝者ノードとの結合重みを、出力ネットワークnet12の出力勝者ノードを中心として更新する。
【０３９１】
以上のような入出力関係モデルM1112の学習処理によれば、入出力関係モデルM1112（図２５）が有する入力ネットワークnet11と出力ネットワークnet2との結合関係は、以下のように更新される。
【０３９２】
即ち、入力勝者ノードは、注目フレームの入力データに対する勝者ノードであり、出力勝者ノードは、注目フレームから時間Tだけ遅れたフレームの出力データに対する勝者ノードであるから、結合重み更新部３３３による結合重みの更新によれば、記憶部３１１に記憶された入出力関係モデルM1112において、注目フレームの入力データに対する入力ネットワークnet11の入力勝者ノードと、注目フレームから時間Tだけ遅れたフレームの出力データに対する出力ネットワークnet2の出力勝者ノードとの結合重みが、より強くなるように更新される。
【０３９３】
なお、図２８の学習処理は、入力データの先頭のフレームから終わりのフレームまでを、順次、注目フレームとして、ステップＳ３０２乃至Ｓ３０４の処理を繰り返し行うようにしてもよいし、入力データの先頭のフレームから終わりのフレームまでを、順次、注目フレームとして、ステップＳ３０２の処理を繰り返し行い、その後、再び、入力データの先頭のフレームから終わりのフレームまでを、順次、注目フレームとして、ステップＳ３０３およびＳ３０４の処理を繰り返し行うようにしても良い。
【０３９４】
次に、図２９のフローチャートを参照して、図２４のロボットが行う認知行動の処理、即ち、入出力関係モデルM1112を用いた時系列データの生成処理（認識生成処理）について説明する。
【０３９５】
例えば、図２８で説明したように、ロボットに、目の前にあるボールを左右に転がすタスクを学習させた後、ロボットの前にボールをおくと（さらに、必要に応じて、ボールを転がすと）、センサ３０２において、ボールの状態が検知され、その状態を表す時系列のセンサデータが、データ処理装置３０１のデータ抽出部３１５に供給される。
【０３９６】
さらに、データ処理装置３０１のデータ抽出部３１５には、モータ駆動部３０３からモータデータも供給される。
【０３９７】
データ抽出部３１５は、ステップＳ３２１において、センサ３０２からのセンサデータと、モータ駆動部３０３からのモータデータとをコンポーネントとするベクトルの時系列であるセンサモータデータを入力データとして、その入力データの時系列から、フレーム単位の入力データを抽出し、認識部３１６に供給して、ステップＳ３２２に進む。
【０３９８】
認識部３１６では、ステップＳ３２２において、スコア計算部３４１が、データ抽出部３１５からのフレーム単位の入力データを、順次、注目フレームの入力データとして、その注目フレームの入力データに対して、記憶部３１１に記憶された入出力関係モデルM1112を構成する入力ネットワークnet11の各ノードのスコアを計算し、勝者ノード決定部３４２に供給する。
【０３９９】
さらに、ステップＳ３２２では、勝者ノード決定部３４２が、記憶部３１１に記憶された入出力関係モデルM1112を構成する入力ネットワークnet11のノードの中で、スコア計算部３４１からのスコアが最も良いノードを、入力勝者ノードに決定し、その入力勝者ノードを表す入力ラベルを、写像部３１７に供給して、ステップＳ３２３に進む。
【０４００】
ステップＳ３２３では、写像部３１７の生成ノード決定部３５１が、記憶部３１１に記憶された入出力関係モデルM1112を構成する出力ネットワークnet12のノードの中で、勝者ノード決定部３４２からの入力ラベルが表すノード（入力勝者ノード）との結合重みが最も強いノードを生成ノードに決定し、その生成ノードを表す出力ラベルを、生成部３１８に供給して、ステップＳ３２４に進む。
【０４０１】
ステップＳ３２４では、生成部３１８の時系列生成部３６１が、記憶部３１１に記憶された入出力関係モデルM1112を構成する出力ネットワークnet12のノードのうちの、生成ノード決定部３５１からの出力ラベルが表す生成ノードが有する時系列パターンモデル２１（図７）に基づいて、注目フレームの入力データに対する出力データ（の推定値）としての、例えば、フレームの長さの時系列データを生成して出力する。
【０４０２】
この出力データとしての時系列データは、センサモータデータであり、そのセンサモータデータのうちのモータデータが、時系列生成部３６１からモータ駆動部３０３に供給され、モータ駆動部３０３が、時系列生成部３６１からのモータデータにしたがって、モータを駆動することにより、ロボットのアームが動かされる。
【０４０３】
以下、データ抽出部３１５から認識部３１６に対して供給されるフレーム単位の入力データについて、ステップＳ３２２乃至Ｓ３２４の処理が行われる。
【０４０４】
以上のように、図２４のロボットでは、入力ネットワークnet11のフレーム単位の入力データに対する入力勝者ノードと、出力ネットワークnet2の、フレーム単位の入力データの時刻から一定の時間だけ遅れたフレーム単位の出力データに対する出力勝者ノードとの結合重みを強めるように更新するので、例えば、目の前にあるボールを左右に転がすタスクのような実時間性が要求されるタスクを学習し、そのようなタスクを行うことができるようになる。
【０４０５】
即ち、上述したように図２８の学習処理によれば、記憶部３１１に記憶された入出力関係モデルM1112において、注目フレームの入力データに対する入力ネットワークnet11の入力勝者ノードと、注目フレームから一定の時間だけ遅れたフレームの出力データに対する出力ネットワークnet12の出力勝者ノードとの結合重みが、より強くなるように更新される。
【０４０６】
従って、図２９の認識生成処理では、入出力関係モデルM1112に、あるフレームFの入力データが与えられると、入出力関係モデルM1112では、入力ネットワークnet1のノードのうちの、フレームFの入力データに対応するノードが入力勝者ノードとなり、出力ネットワークnet2のノードのうちの、フレームFから一定の時間だけ遅れたフレームの出力データに対応するノードが、入力勝者ノードとの結合重みが最も強いノードとして、生成ノードに決定され、これにより、その生成ノードに基づき、フレームFから一定の時間だけ遅れたフレームの出力データに相当する時系列データが生成される。
【０４０７】
即ち、図２４のロボットでは、フレーム単位の入力データとしてのセンサモータデータ、つまり、外部の状態とロボット自身の状態に対して、フレーム単位の入力データから一定の時間だけ遅れたフレームの出力データとしてのセンサモータデータ、つまり、その後にとるべき行動に対応するモータデータと、その後に検知されるであろう外部の状態に対応するセンサデータとを得ることができるように、学習が行われるので、目の前にあるボールを左右に転がすタスクのような実時間性が要求されるタスクを学習し、そのようなタスクを行うことができるようになる。
【０４０８】
ここで、図２４のロボットの結合重み更新部３３３による結合重みの更新、即ち、入力ネットワークnet11のフレーム単位の入力データとしてのセンサモータデータに対する入力勝者ノードと、出力ネットワークnet12の、フレーム単位のセンサモータデータの時刻から一定の時間だけ遅れたフレーム単位の出力データとしてのセンサモータデータに対する出力勝者ノードとの結合重みを強めるように更新することは、フレーム単位のセンサモータデータと、そのフレーム単位のセンサモータデータの時刻から一定の時間だけ遅れたフレーム単位のセンサモータデータとを対応付けるように、入出力関係モデルM1112の学習を行うことになる。
【０４０９】
そして、認知行動時において、かかる学習が行われた入出力関係モデルM1112にフレーム単位のセンサモータデータが与えられると、入出力関係モデルM1112では、そのフレーム単位のセンサモータデータに対して、そのフレーム単位のセンサモータデータの時刻から一定の時間だけ遅れたフレーム単位のセンサモータデータ（の推定値）に対応するノードが、生成ノードとして求められることになるが、これは、あるフレームFのセンサモータデータから、生成ノードに対応するセンサモータデータ、つまり、フレームFの時刻から一定の時間だけ未来のフレームのセンサモータデータを予測している、ということができる。
【０４１０】
以上のように、図２４のロボットでは、フレーム単位の入力データとしてのセンサモータデータと、そのフレーム単位の入力データの時刻から一定の時間だけ遅れたフレーム単位の出力データとしてのセンサモータデータとを対応付けるように、入出力関係モデルM1112の学習を行う。
【０４１１】
このため、ロボットの認知行動（出力データの生成）時において、入力データであるセンサモータデータとして、入出力関係モデルM1112（図２５）の入力ネットワークnet11のいずれかのノードが表現する時系列パターンに合致する時系列パターンのセンサモータデータ（既知のセンサモータデータ）が入力される限りは、そのセンサモータデータに対して適切な出力データであるセンサモータデータが生成され、その結果、ロボットは、学習したタスクを再現することができる。
【０４１２】
さらに、図２４のロボットでは、入力データおよび出力データとして、いずれも、センサデータとモータデータとをコンポーネントとするベクトルであるセンサモータデータが採用され、フレーム単位の入力データとしてのセンサモータデータに対して、そのフレーム単位の入力データの時刻から一定の時間だけ遅れたフレーム単位の出力データとしてのセンサモータデータ、即ち、いわば、未来のセンサモータデータ（の推定値）が生成される。
【０４１３】
従って、図２４のロボットでは、フレーム単位の入力データとしてのセンサモータデータに基づき、現在の外部の状態と、ロボット自体の現在の行動の状態との両方を、いわば考慮して、そのフレーム単位の入力データの時刻から一定の時間だけ遅れたフレーム単位の出力データとしてのセンサモータデータの生成、つまり、一定の時間だけ未来の外部の状態の予測と、その未来の行動の決定が行われているということができ、高い安定性でタスクを行うことができる。
【０４１４】
具体的には、例えば、ボールを左右に転がすタスクにおいて、ボールの状態だけ、即ち、センサデータだけでは、行動を定めにくい場合（例えば、ボールを左右に転がすタスクにおいて、ボールが特定の状態にあるときに、アームを左から右に動かす行動をするケースと、右から左に動かすケースとが混在する場合）、センサデータにノイズが混入した場合（例えば、ボールを左右に転がすタスクにおいて、センサ３０２が、本来検知すべきボールの状態のみならず、ロボットのアームの状態も検知して、センサデータを出力した場合）には、センサデータだけに基づいて、一定の時間だけ遅れたモータデータを生成したのでは、ロボットの行動が不安定になるおそれがある。
【０４１５】
これに対して、センサモータデータ、つまり、センサデータとモータデータの両方に基づいて、一定の時間だけ遅れたセンサモータデータを生成する場合においては、その一定の時間だけ遅れたセンサモータデータには、現在の外部の状態のみならず、ロボット自体の現在の行動の状態も考慮されているので、安定した行動をとることが可能となる。
【０４１６】
なお、上述の場合には、注目フレームの時刻から一定の時間だけ遅れたフレームの出力データとして、注目フレームの時刻から、フレームと同一の時間Tだけ遅れたフレームの出力データを採用することとしたが、即ち、入力データの注目フレームと、その注目フレームに対応する出力データのフレームとの時間差（以下、適宜、入出力時間差という）として、時間Tを採用したが、入出力時間差は、時間Tに限られるものではなく、例えば、時間2Tや3T、0.5Tなどを採用することができる。
【０４１７】
また、入出力時間差としては、フレーム単位の入力データに対して勝者ノードを決定する処理に要する時間△を考慮した時間、即ち、例えば、時間T+△を採用することができる。
【０４１８】
以上のように、入力ネットワークnet11と出力ネットワークnet12とを有する入出力関係モデルM1112によれば、フレーム単位の入力データ（の時系列パターン）を、入力ネットワークnet11で学習するとともに、フレーム単位の出力データを、出力ネットワークnet12で学習し、さらに、フレーム単位の入力データと、入出力時間差だけ未来のフレームの出力データとの対応を、入力ネットワークnet11のノードと、出力ネットワークnet12のノードとの結合重みという形で学習することができ、これにより、ロボットにおいて、現在の状態（に対応する入力データ）に基づき、次にとるべき適切な行動（に対応する出力データ（の推定値）の生成）を行うという認知行動をとることができる。
【０４１９】
即ち、入出力関係モデルM1112を用いた認知行動では、図２９で説明したように、入力ネットワークnet11のノードのうちの、入力データに対するスコアが最も良いノードが、勝者ノードに決定される（ステップＳ３２２）。さらに、出力ネットワークnet12のノードのうちの、勝者ノードとの結合重みが最強のノードが、生成ノードに決定される（ステップＳ３２３）。そして、生成ノードを用いて、入力データの時刻から入出力時間差だけ未来の出力データ（の推定値）が生成される。
【０４２０】
従って、入出力関係モデルM1112を用いた認知行動は、図３０に示すように、入力データを内部表現に変換するプロセスPro1、入力データの内部表現から、未来の出力データの内部表現を予測するプロセスPro2、および予測された内部表現から出力データ（の推定値）を生成するプロセスPro3の３つのプロセスに分けることができる。
【０４２１】
即ち、入出力関係モデルM1112では、入力ネットワークnet11において、入力データが、その入力データに対するスコアが最も良いノード（勝者ノード）に抽象化され、そのノードを表すノードラベル（入力ラベル）という内部表現で表される。
【０４２２】
ここで、出力ネットワークnet12においても、同様に、出力データが、その出力データに対するスコアが最も良いノードに抽象化され、そのノードを表すノードラベルという内部表現で表される、ということができる。
【０４２３】
入力ネットワークnet11のノードの中から、入力データに対する勝者ノードを決定することは、入力データを内部表現に変換するプロセスPro1に相当する。
【０４２４】
また、勝者ノードの決定後は、その勝者ノードとの結合重みが最強の出力ネットワークnet12のノードが、入出力時間差だけ未来の出力データの生成に用いられる生成ノードに決定されるが、この生成ノードの決定は、入力データの内部表現から、未来の出力データの内部表現を予測するプロセスPro2に相当する。
【０４２５】
さらに、生成ノードの決定後は、その生成ノードを用いて出力データが生成されるが、この出力データの生成は、予測された内部表現から出力データを生成するプロセスPro3に相当する。
【０４２６】
ところで、図２４のロボットの認知行動では、入力データを内部表現に変換するプロセスPro1において、入力ネットワークnet11のすべてのノードについて、フレーム単位の入力データに対するスコアが計算され、そのスコアが最も良いノードが、そのフレーム単位の入力データに対する勝者ノードに決定される。
【０４２７】
従って、入力ネットワークnet11を構成するノードの数の増加に伴って、スコアの計算の処理の負担も増加する。
【０４２８】
そこで、例えば、図３１に示すように、時刻tのフレームの入力データに対する勝者ノードの決定後、次のフレームである、例えば、時刻t+1のフレームの入力データに対する勝者ノードNt+1の決定は、その時刻t+1のフレームの入力データの直前の時刻tのフレームの入力データに対する勝者ノードNtとの距離が所定の距離以内のノード（以下、適宜、距離制限ノードという）だけを対象にして行うことができる。
【０４２９】
この場合、時刻t+1のフレームの入力データに対するスコアの計算は、入力ネットワークnet11のすべてのノードではなく、時刻tのフレームの入力データに対する勝者ノードNtの近傍にある距離制限ノードだけを対象として行えば良いので、スコアの計算の処理の負担を軽減することができる。
【０４３０】
なお、２つのノードどうしの距離としては、例えば、上述したように、その２つのノードどうしを結ぶ最短のパスを構成するリンクの数を採用することができる。
【０４３１】
また、所定の距離を小にすると、スコアの計算の対象とするノードを少なくことができるが、勝者ノードとなるノードの自由度が損なわれる。一方、所定の距離を大にすると、勝者ノードとなるノードの制約が緩和されるが、スコアの計算の対象とするノードが多くなる。
【０４３２】
ここで、所定の距離は、例えば、時系列パターンネットワークのノードの数（総数）に基づいて設定（決定）することができる。また、所定の距離は、ユーザの操作に応じて設定することができる。
【０４３３】
図３２は、上述のように、勝者ノードの決定を、距離制限ノードだけを対象にして行うロボットの構成例を示している。
【０４３４】
なお、図中、図２４のロボットと対応する部分については、同一の符号を付してあり、以下では、その説明は、省略する。即ち、図３２のロボットは、認識学習処理部３２１、スコア計算部３４１、勝者ノード決定部３４２に代えて、それぞれ、認識学習処理部１３２１、スコア計算部１３４１、勝者ノード決定部１３４２が設けられている他は、図２４のロボットと同様に構成されている。
【０４３５】
即ち、認識学習処理部１３２１は、図２４の認識学習処理部３２１と同様に、データ抽出部３１２から供給されるフレーム単位の入力データと出力データに基づいて、記憶部３１１に記憶された入出力関係モデルM1112（図２５）における入力ネットワークnet11と出力ネットワークnet12を、自己組織的に更新するが、その際に行う勝者ノードの決定を、距離制限ノードを対象として行う。
【０４３６】
即ち、認識学習処理部１３２１は、入出力関係モデルM1112における入力ネットワークnet11のノードのうちの、前回のフレームの入力データに対する勝者ノードとの距離が所定の距離以内の距離制限ノードについて、データ抽出部３１２からの今回のフレームの入力データに対するスコアを求め、入力ネットワークnet11の距離制限ノードの中から、スコアの最も良いノードを、勝者ノード（入力勝者ノード）に決定し、その入力勝者ノードに基づいて、入力ネットワークnet11を、自己組織的に更新するとともに、入力勝者ノードを表すノードラベルである入力ラベルを、写像学習部３１４に供給する。
【０４３７】
さらに、認識学習処理部１３２１は、入出力関係モデルM1112における出力ネットワークnet12のノードのうちの、前回のフレームの出力データに対する勝者ノードとの距離が所定の距離以内の距離制限ノードについて、データ抽出部３１２からの今回のフレームの出力データに対するスコアを求め、出力ネットワークnet12の距離制限ノードの中から、スコアの最も良いノードを、勝者ノード（出力勝者ノード）に決定し、その出力勝者ノードに基づいて、出力ネットワークnet12を、自己組織的に更新するとともに、出力勝者ノードを表すノードラベルである出力ラベルを、写像学習部３１４に供給する。
【０４３８】
スコア計算部１３４１は、データ抽出部３１５からの今回のフレームの入力データを、注目フレームの入力データとして、その注目フレームの入力データに対して、記憶部３１１に記憶された入出力関係モデルM1112を構成する入力ネットワークnet11のノードのうちの、前回のフレームの入力データに対する勝者ノードとの距離が所定の距離以内の距離制限ノードについて、スコアを計算し、勝者ノード決定部１３４２に供給する。
【０４３９】
勝者ノード決定部１３４２は、記憶部３１１に記憶された入出力関係モデルM1112を構成する入力ネットワークnet11の距離制限ノードの中で、スコア計算部１３４１からのスコアが最も良いノードを、入力勝者ノードに決定し、その入力勝者ノードを表す入力ラベルを、写像部３１７に供給する。
【０４４０】
次に、図３３のフローチャートを参照して、図３２のロボットが行う学習処理、即ち、入出力関係モデルM1112の学習処理について説明する。
【０４４１】
例えば、ロボットに、目の前にあるボールを左右に転がすタスクを学習させる場合、オペレータは、ロボットの前にボールをおき、ロボットのアームを持って、ボールを左右に転がすように、アームを動かす。
【０４４２】
この場合、センサ３０２において、左右に転がるボールの状態が検知され、その状態を表す時系列のセンサデータが、データ処理装置３０１のデータ抽出部３１２に供給される。
【０４４３】
また、モータ駆動部３０３では、オペレータが動かしているアームの動きに対応するモータデータが生成され、データ処理装置３０１のデータ抽出部３１２に供給される。
【０４４４】
データ抽出部３１２は、ステップＳ３４１において、センサ３０２からのセンサデータと、モータ駆動部３０３からのモータデータをコンポーネントとするベクトルの時系列であるセンサモータデータを、入力データおよび出力データとして、入力データの時系列から、フレーム単位の入力データを抽出するとともに、出力データの時系列から、フレーム単位の出力データを抽出し、そのフレーム単位の入力データと出力データを、学習処理部３１３の認識学習処理部１３２１に供給して、ステップＳ３４２に進む。
【０４４５】
ステップＳ３４２では、学習処理部３１３が、データ抽出部３１２からのフレーム単位の入力データと出力データを用いて、記憶部３１１に記憶された入出力関係モデルM1112（図２５）が有する入力ネットワークnet11と出力ネットワークnet12の自己組織的な学習を行う。
【０４４６】
即ち、ステップＳ３４２では、ステップＳ３４２1とＳ３４２2の処理が行われる。
【０４４７】
ステップＳ３４２1では、認識学習処理部１３２１が、記憶部３１１に記憶された入出力関係モデルM1112における入力ネットワークnet11のノードのうちの、距離制限ノードについて、データ抽出部３１２からのフレーム単位の入力データに対するスコアを求め、入力ネットワークnet11の距離制限ノードの中から、スコアの最も良いノードを、入力勝者ノードに決定する。さらに、認識学習処理部１３２１は、データ抽出部３１２からのフレーム単位の入力データに対する入力勝者ノードに基づいて、入力ネットワークnet11を、自己組織的に更新し、入力勝者ノードを表す入力ラベルを、写像学習部３１４に供給する。
【０４４８】
ステップＳ３４２2では、認識学習処理部１３２１が、記憶部３１１に記憶された入出力関係モデルM1112における出力ネットワークnet12のノードのうちの、距離制限ノードについて、データ抽出部３１２からのフレーム単位の出力データに対するスコアを求め、出力ネットワークnet12の距離制限ノードの中から、スコアの最も良いノードを、出力勝者ノードに決定する。さらに、認識学習処理部１３２１は、データ抽出部３１２からのフレーム単位の出力データに対する出力勝者ノードに基づいて、出力ネットワークnet12を、自己組織的に更新し、出力勝者ノードを表す出力ラベルを、写像学習部３１４に供給する。
【０４４９】
ステップＳ３４２の処理後は、ステップＳ３４３，Ｓ３４４に順次進み、図２８のステップＳ３０３，Ｓ３０４とそれぞれ同様の処理が行われる。
【０４５０】
即ち、写像学習部３１４は、ステップＳ３０３において、入力データのフレームのうちの、まだ注目フレームとしていないフレームを、注目フレームとして、学習処理部３１３からの、注目フレームの入力データに対する入力勝者ノードを表す入力ラベルと、学習処理部３１３からの、注目フレームから入出力時間差だけ遅れたフレームの出力データに対する出力勝者ノードを表す出力ラベルとを対応付ける。
【０４５１】
具体的には、ステップＳ３４３では、写像学習部３１４のデータバッファ３３１において、学習処理部３１３からのフレーム単位の入力データに対する入力勝者ノードを表す入力ラベルと、フレーム単位の出力データに対する出力勝者ノードを表す出力ラベルとが一時記憶される。
【０４５２】
さらに、ステップＳ３４３では、写像学習部３１４の読み出し部３３２が、データバッファ３３１に記憶された入力ラベルのうちの、注目フレームの入力データに対する入力勝者ノードを表す入力ラベルと、データバッファ３３１に記憶された出力ラベルのうちの、注目フレームの時刻から入出力時間差だけ遅れたフレームの出力データに対する出力勝者ノードを表す出力ラベルとを読み出して対応付け、その対応付けた入力ラベルと出力ラベルとのセットであるラベルセットを、結合重み更新部３３３に供給する。
【０４５３】
そして、ステップＳ３４３からステップＳ３４４に進み、写像学習部３１４の結合重み更新部３３３が、読み出し部３３２から供給されるラベルセットに基づき、記憶部３１１に記憶された入出力関係モデルM1112（図２５）における入力ネットワークnet11のノードと、出力ネットワークnet12のノードとの結合関係を更新する。
【０４５４】
即ち、結合重み更新部３３３は、記憶部３１１に記憶された入出力関係モデルM1112における入力ネットワークnet11の各入力ノードと、ラベルセットの出力ラベルが表す出力ネットワークnet12の出力勝者ノードとの結合重みを、ラベルセットの入力ラベルが表す入力ネットワークnet11の入力勝者ノードを中心として更新するとともに、出力ネットワークnet12の各出力ノードと、入力ネットワークnet11の入力勝者ノードとの結合重みを、出力ネットワークnet12の出力勝者ノードを中心として更新する。
【０４５５】
以上のような入出力関係モデルM1112の学習処理によれば、図２８で説明した学習処理と同様に、記憶部３１１に記憶された入出力関係モデルM1112において、注目フレームの入力データに対する入力ネットワークnet11の入力勝者ノードと、注目フレームから入出力時間差だけ遅れたフレームの出力データに対する出力ネットワークnet2の出力勝者ノードとの結合重みが、より強くなるように更新される。
【０４５６】
次に、図３４のフローチャートを参照して、図３３のステップＳ３４２で行われる時系列パターン記憶ネットワーク（入出力関係モデルM1112（図２５）が有する入力ネットワークnet11と出力ネットワークnet12）の自己組織的な学習の処理について、さらに説明する。
【０４５７】
図３３のステップＳ３４２では、図３４に示すように、まず最初に、ステップＳ３６１において、認識学習処理部１３２１は、入出力関係モデルM1112における入力ネットワークnet11のノードのうちの、前回のフレームの入力データに対する勝者ノードとの距離が所定の距離以内のノードを、距離制限ノードとして求め、その距離制限ノードについて、データ抽出部３１２からの今回のフレームの入力データに対するスコアを求めて、ステップＳ３６２に進む。
【０４５８】
ステップＳ３６２では、認識学習処理部１３２１は、入力ネットワークnet11の距離制限ノードの中から、ステップＳ３６１で求めたスコアの最も良いノードを、勝者ノードに決定し、ステップＳ３６３に進む。ステップＳ３６３では、認識学習処理部１３２１は、ステップＳ３６２で決定された勝者ノードに基づいて、入力ネットワークnet11を、自己組織的に更新するとともに、勝者ノードを表すノードラベル（入力ラベル）を、写像学習部３１４に供給して、ステップＳ３６４に進む。
【０４５９】
ステップＳ３６４では、認識学習処理部１３２１は、ステップＳ３６２で決定された勝者ノードのノードラベルを記憶し、今回のフレームの入力データを用いた入力ネットワークnet11の学習の処理を終了する。
【０４６０】
なお、ステップＳ３６４で記憶されたノードラベルは、次のステップＳ３６１の処理、つまり、次のフレームの入力データを用いた入力ネットワークnet11の学習の処理において、距離制限ノードを求めるときに、前回のフレームの入力データに対する勝者ノードを認識するのに用いられる。
【０４６１】
また、図３４のフローチャートにしたがった処理は、今回のフレームの出力データを用いた出力ネットワークnet12の学習の処理としても行われる。
【０４６２】
次に、図３５のフローチャートを参照して、図３２のロボットが行う認知行動の処理、即ち、入出力関係モデルM1112を用いた時系列データの生成処理（認識生成処理）について説明する。
【０４６３】
例えば、図３３で説明したように、ロボットに、目の前にあるボールを左右に転がすタスクを学習させた後、ロボットの前にボールをおくと（さらに、必要に応じて、ボールを転がすと）、センサ３０２において、ボールの状態が検知され、その状態を表す時系列のセンサデータが、データ処理装置３０１のデータ抽出部３１５に供給される。
【０４６４】
さらに、データ処理装置３０１のデータ抽出部３１５には、モータ駆動部３０３からモータデータも供給される。
【０４６５】
データ抽出部３１５は、ステップＳ３８１において、センサ３０２からのセンサデータと、モータ駆動部３０３からのモータデータとをコンポーネントとするベクトルの時系列であるセンサモータデータを入力データとして、その入力データの時系列から、フレーム単位の入力データを抽出し、認識部３１６に供給して、ステップＳ３８２に進む。
【０４６６】
認識部３１６では、ステップＳ３８２において、スコア計算部１３４１が、データ抽出部３１５からのフレーム単位の入力データを、順次、注目フレームの入力データとして、その注目フレームの入力データに対し、記憶部３１１に記憶された入出力関係モデルM1112を構成する入力ネットワークnet11のノードのうちの距離制限ノードについて、スコアを計算し、勝者ノード決定部１３４２に供給する。
【０４６７】
さらに、ステップＳ３８２では、勝者ノード決定部１３４２が、記憶部３１１に記憶された入出力関係モデルM1112を構成する入力ネットワークnet11の距離制限ノードの中で、スコア計算部１３４１からのスコアが最も良いノードを、勝者ノードに決定し、その勝者ノードを表す入力ラベルを、写像部３１７に供給して、ステップＳ３８３に進む。
【０４６８】
ステップＳ３８３では、写像部３１７の生成ノード決定部３５１が、記憶部３１１に記憶された入出力関係モデルM1112を構成する出力ネットワークnet12のノードの中で、勝者ノード決定部１３４２からの入力ラベルが表すノード（勝者ノード）との結合重みが最も強いノードを生成ノードに決定し、その生成ノードを表す出力ラベルを、生成部３１８に供給して、ステップＳ３８４に進む。
【０４６９】
ステップＳ３８４では、生成部３１８の時系列生成部３６１が、記憶部３１１に記憶された入出力関係モデルM1112を構成する出力ネットワークnet12のノードのうちの、生成ノード決定部３５１からの出力ラベルが表す生成ノードが有する時系列パターンモデル２１（図７）に基づいて、注目フレームの入力データに対する出力データ（の推定値）としての、例えば、フレームの長さの時系列データを生成して出力する。
【０４７０】
この出力データとしての時系列データは、センサモータデータであり、そのセンサモータデータのうちのモータデータが、時系列生成部３６１からモータ駆動部３０３に供給され、モータ駆動部３０３が、時系列生成部３６１からのモータデータにしたがって、モータを駆動することにより、ロボットのアームが動かされる。
【０４７１】
以下、データ抽出部３１５から認識部３１６に対して供給されるフレーム単位の入力データについて、ステップＳ３８２乃至Ｓ３８４の処理が行われる。
【０４７２】
次に、図３６のフローチャートを参照して、図３５のステップＳ３８２で行われる勝者ノードの決定の処理について、さらに説明する。
【０４７３】
図３５のステップＳ３８２では、図３６に示すように、まず最初に、ステップＳ４０１において、スコア計算部１３４１は、入出力関係モデルM1112における入力ネットワークnet11のノードのうちの、前回のフレーム（注目フレームの直前のフレーム）の入力データに対する勝者ノードとの距離が所定の距離以内のノードを、距離制限ノードとして求める。さらに、スコア計算部１３４１は、距離制限ノードについて、データ抽出部３１５からの今回のフレーム（注目フレーム）の入力データに対するスコアを求め、勝者ノード決定部１３４２に供給して、ステップＳ４０２に進む。
【０４７４】
ステップＳ４０２では、勝者ノード決定部１３４２は、入力ネットワークnet11の距離制限ノードの中から、スコア計算部１３４１から供給されたスコアの最も良いノードを、勝者ノードに決定し、その勝者ノードを表すノードラベル（入力ラベル）を、写像部３１７とスコア計算部１３４１に供給して、ステップＳ４０３に進む。
【０４７５】
ステップＳ４０３では、スコア計算部１３４１は、勝者ノード決定部１３４２から供給されたステップＳ３６２で決定された勝者ノードのノードラベルを記憶し、勝者ノードの決定の処理を終了する。
【０４７６】
なお、ステップＳ４０３で記憶されたノードラベルは、次のステップＳ４０１の処理、つまり、次のフレームの入力データに対する勝者ノードの決定の処理において、距離制限ノードを求めるときに、前回のフレームの入力データに対する勝者ノードを認識するのに用いられる。
【０４７７】
上述したように、図３３の学習処理によれば、記憶部３１１に記憶された入出力関係モデルM1112において、注目フレームの入力データに対する入力ネットワークnet11の入力勝者ノードと、注目フレームから一定の時間だけ遅れたフレームの出力データに対する出力ネットワークnet12の出力勝者ノードとの結合重みが、より強くなるように更新される。
【０４７８】
従って、図３５の認識生成処理では、入出力関係モデルM1112に、あるフレームFの入力データが与えられると、入出力関係モデルM1112では、入力ネットワークnet11のノードのうちの、フレームFの入力データに対応するノードが入力勝者ノードとなり、出力ネットワークnet12のノードのうちの、フレームFから一定の時間だけ遅れたフレームの出力データに対応するノードが、入力勝者ノードとの結合重みが最も強いノードとして、生成ノードに決定され、これにより、その生成ノードに基づき、フレームFから一定の時間だけ遅れたフレームの出力データに相当する時系列データが生成される。
【０４７９】
即ち、図３２のロボットでも、図２４のロボット同様に、フレーム単位の入力データとしてのセンサモータデータ、つまり、外部の状態とロボット自身の状態に対して、フレーム単位の入力データから一定の時間だけ遅れたフレームの出力データとしてのセンサモータデータ、つまり、その後にとるべき行動に対応するモータデータと、その後に検知されるであろう外部の状態に対応するセンサデータとを得ることができるように、学習が行われるので、目の前にあるボールを左右に転がすタスクのような実時間性が要求されるタスクを学習し、そのようなタスクを行うことができるようになる。
【０４８０】
さらに、図３２のロボットでは、認識学習処理部１３２１や、スコア計算部１３４１において、距離制限ノードのみを対象として、スコアの計算が行われるので、スコアの計算の処理の負担を軽減することができる。
【０４８１】
なお、上述のような、距離制限ノードのみを対象としたスコアの計算は、図９のデータ処理装置や、図２０のデータ処理装置にも適用可能である。さらに、距離制限ノードのみを対象としたスコアの計算は、時系列パターン記憶ネットワークの他、ノードに、時系列パターンモデル２１ではなく、入力データとしてのベクトルと同一次元の重みベクトルを有する（ノードに重みベクトルが割り当てられた）SOMのスコアの計算にも適用することができる。
【０４８２】
次に、上述した図２４のロボットの認知行動では、入力データの内部表現から、未来の出力データの内部表現を予測するプロセスPro2において、あるフレームFの入力データに対する入力ネットワークnet11の勝者ノードとの結合重みが最強の出力ネットワークnet12のノードが、フレームFの時刻から入出力時間差だけ未来のフレームの出力データの生成に用いられる生成ノードに決定される。
【０４８３】
従って、図２４のロボットでは、未来の出力データの内部表現の予測のバリエーション、つまり、生成ノードとなり得るノードの数は、多くても、出力ネットワークnet12を構成するノードの数に限られる。その結果、プロセスPro2に注目すれば、入出力関係モデルM1112を用いて生成される出力データである時系列データ、ひいては、ロボットがとり得る行動のバリエーションは、出力ネットワークnet12を構成するノードの数に限られることになる。
【０４８４】
そこで、入力データの内部表現として、ノードラベルではなく、入力データに対する、入力ネットワークnet11のノードのスコアの分布である発火パターンを採用するとともに、出力データの内部表現としても、同様に、出力データに対する、出力ネットワークnet12のノードのスコアの分布である発火パターンを採用し、プロセスPro2では、図３７に示すように、あるフレームFの入力データの発火パターンから、フレームFの時刻から入出力時間差だけ未来のフレームの出力データの発火パターンを予測することとする。
【０４８５】
ここで、図３７上は、ノードラベルを内部表現として、フレームFの入力データに対する入力ネットワークnet11の勝者ノードのノードラベルから、フレームFの時刻から入出力時間差だけ未来のフレームの出力データのノード（生成ノード）のノードラベルを予測するプロセスPro2を示している。
【０４８６】
また、図３７下は、発火パターンを内部表現として、フレームFの入力データに対する入力ネットワークnet11のノードのスコアの分布である発火パターンから、フレームFの時刻から入出力時間差だけ未来のフレームの出力データに対する出力ネットワークnet12のノードのスコアの分布である発火パターンを予測するプロセスPro2を示している。
【０４８７】
図３７上のプロセスPro2では、フレームFの入力データに対する入力ネットワークnet11の勝者ノードから、その勝者ノードとの結合重みに基づき、その勝者ノードとの結合重みが最強の出力ネットワークnet12のノードが、フレームFの時刻から入出力時間差だけ未来のフレームの出力データの生成に用いられる生成ノードに決定される。即ち、フレームFの入力データに対する入力ネットワークnet11の勝者ノードのノードラベルから、結合重みに基づき、フレームFの時刻から入出力時間差だけ未来のフレームの出力データのノード（生成ノード）のノードラベルが予測される。
【０４８８】
従って、図３７上のプロセスPro2では、出力ネットワークnet12のノードの数がM個であるとすると、予測の結果は、多くても、M通りしか存在しない。
【０４８９】
一方、図３７上のプロセスPro2では、フレームFの入力データに対する入力ネットワークnet11のノードのスコアの分布である発火パターンから、フレームFの時刻から入出力時間差だけ未来のフレームの出力データに対する出力ネットワークnet12のノードのスコアの分布である発火パターンが予測される。
【０４９０】
いま、出力ネットワークnet12のノードの数がM個であり、スコアがKビットで表されるとすると、出力ネットワークnet12のノードのスコアの分布である発火パターンは、(2K)M通りだけ存在する。従って、図３７下のプロセスPro2では、予測の結果は、最大で、(2K)M通りだけ存在する。
【０４９１】
ところで、入力ネットワークnet11のノードのスコアの分布である発火パターンを、入力発火パターンといい、出力ネットワークnet12のノードのスコアの分布である発火パターンを、出力発火パターンということとすると、入力発火パターンから出力発火パターンを予測するには、入力発火パターンと出力発火パターンとを対応付ける（入力発火パターンから出力発火パターンへの写像を求める）必要がある。
【０４９２】
いま、入力発火パターンと出力発火パターンとを対応付ける情報を、対パターン対応情報ということとすると、対パターン対応情報は、例えば、SVR(Support Vector Regression)（サポートベクタ回帰）などの関数近似手法その他の手法によって求める（学習する）ことができる。
【０４９３】
ここで、SVRでは、複数であるn次元の値である入力ベクトルを引数として、１次元の値としての出力スカラ値を出力する、次式で表される実数値関数f():Rn→Rが推定される。
【０４９４】
【数６】
2007280056.tif 000008
【０４９５】
式（６）において、yは、出力スカラ値を表し、z∈Rnは、入力ベクトルを表す。また、K(,)は、カーネル関数を表し、bは、バイアス項と呼ばれるスカラ量である。さらに、Jは、サポートベクトルの数を表し、Ｓj∈ＲNは、J個のサポートベクトルのうちの、j番目のサポートベクトルを表す。
【０４９６】
SVRの学習においては、ある数Dの学習サンプルとしての出力スカラ値ydおよび入力ベクトルzdのセット（d=1,2,・・・,D）と、カーネル関数K(,)が与えられると、入力ベクトルzdから出力スカラ値ydへの写像を適切に行う関数f()を規定するパラメータsj,θj,bが求められる。なお、サポートベクタの数Jとしては、学習サンプルの数D以下の値が、SVRの学習の過程で求められる。
【０４９７】
SVRの学習は、バッチ学習で行われることが多いが、オンライン学習で行う方法も提案されている。SVRの学習をオンライン学習で行う方法としては、例えば、AOSVR(Acurate Online SVR)と呼ばれる方法がある。
【０４９８】
入力発火パターンと出力発火パターンとの対応付けを、SVRによって行う場合には、対パターン対応情報は、式（６）の関数f()を規定するパラメータsj,θj,bとなる。
【０４９９】
SVRによる対パターン対応情報の学習では、式（６）の関数f()が、出力ネットワークnet12のノードの数だけ用意される。いま、出力ネットワークnet12のノードの数がM個であり、そのうちのm番目（m=1,2,・・・,M）のノードに対応する関数f()を、fm()と表すこととすると、その関数fm()を規定するパラメータsj,θj,bとしての対パターン対応情報は、出力ネットワークnet12のm番目のノードのスコアを、学習サンプルとしての出力スカラ値yとするとともに、入力発火パターンに対応するベクトル、即ち、入力ネットワークnet11の各ノードのスコアをコンポーネントとするベクトルを、学習サンプルとしての入力ベクトルzとして求められる。
【０５００】
なお、SVRについては、例えば、「サポートベクターマシン入門」、共立出版、pp.149-159などに記載されている。
【０５０１】
次に、図２４のロボットの認知行動では、プロセスPro2で予測された内部表現から出力データを生成するプロセスPro3において、出力ネットワークnet12のノードのうちの１つのノードを生成ノードとして、その生成ノードを用いて出力データが生成される。
【０５０２】
従って、図２４のロボットでは、プロセスPro3に注目すれば、データ処理装置３０１において生成される出力データ（の予測値）、ひいては、ロボットがとり得る行動のバリエーションは、出力ネットワークnet12のノードの数に限られることになる。
【０５０３】
一方、図３７で説明したように、入力データの内部表現として、入力発火パターンを採用するとともに、出力データの内部表現として、出力発火パターンを採用し、プロセスPro2において、フレームFの入力データの発火パターン（入力発火パターン）から、フレームFの時刻から入出力時間差だけ未来のフレームの出力データの発火パターン（出力発火パターン）を予測する場合、プロセスPro2で予測された内部表現から出力データを生成するプロセスPro3では、図３８に示すように、出力ネットワークnet12の生成ノードとされたノードからではなく、プロセスPro2で予測された出力発火パターンから、出力データを生成する必要がある。
【０５０４】
ここで、図３８上は、ノードラベルを内部表現とし、フレームFの入力データに対する入力ネットワークnet11の勝者ノードとの結合重みが最強の出力ネットワークnet12のノードを生成ノードとして、その生成ノードから、出力データを生成するプロセスPro3を示している。
【０５０５】
また、図３８下は、発火パターンを内部表現として、出力発火パターンから、出力データを生成するプロセスPro3を示している。
【０５０６】
図３８上のプロセスPro3では、生成ノードが有する時系列パターンモデル２１（図７）が表現する時系列パターンの時系列データ（プロトタイプの時系列データ）が、出力データとして生成される。
【０５０７】
従って、図３８上のプロセスPro3では、出力ネットワークnet12のノードの数がM個であるとすると、出力データ（の推定値）として生成される時系列データは、多くても、M通りしか存在しない。
【０５０８】
一方、図３８上のプロセスPro3では、出力発火パターンから、出力データとしての時系列データが生成される。
【０５０９】
いま、出力ネットワークnet12のノードの数がM個であり、スコアがKビットで表されるとすると、出力ネットワークnet12のノードのスコアの分布である発火パターンは、(2K)M通りだけ存在する。従って、図３８下のプロセスPro3では、出力データとして、最大で、(2K)M通りの時系列データを生成することができる。
【０５１０】
ところで、出力発火パターンから出力データとしての時系列データを生成するには、出力発火パターンと出力データとしての時系列データを対応付ける（出力発火パターンから出力データとしての時系列データへの写像を求める）必要がある。
【０５１１】
いま、出力発火パターンと出力データとしての時系列データとを対応付ける情報を、対時系列対応情報ということとすると、対時系列対応情報は、例えば、上述した対パターン対応情報と同様に、SVRなどの関数近似手法その他の手法によって求める（学習する）ことができる。
【０５１２】
出力発火パターンと出力データとしての時系列データとの対応付けを、SVRによって行う場合には、対時系列対応情報は、式（６）の関数f()を規定するパラメータsj,θj,bとなる。
【０５１３】
SVRによる対時系列対応情報の学習では、式（６）の関数f()が、出力発火パターンから生成する出力データとしての時系列データのサンプル点の数だけ用意される。いま、出力発火パターンから生成する出力データとしての時系列データのサンプル点の数が、例えば、フレームの時間Tに等しく、先頭からi番目（i=1,2,・・・,T）のサンプル点の時系列データ（サンプル値）に対応する関数f()を、fi()と表すこととすると、その関数fi()を規定するパラメータsj,θj,bとしての対時系列対応情報は、i番目のサンプル点のサンプル値を、学習サンプルとしての出力スカラ値yとするとともに、出力発火パターンに対応するベクトル、即ち、出力ネットワークnet12の各ノードのスコアをコンポーネントとするベクトルを、学習サンプルとしての入力ベクトルzとして求められる。
【０５１４】
図３９は、上述したように、入力データおよび出力データの内部表現として、発火パターンを採用し、プロセスPro2において、入力発火パターンから出力発火パターンを予測するとともに、プロセスPro3において、出力発火パターンから出力データを生成するロボットの構成例を示している。
【０５１５】
なお、図中、図２４のロボットと対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０５１６】
図３９において、学習処理部３１３には、図２４の認識学習処理部３２１に代えて、認識学習処理部２３２１と生成学習処理部２３２２とが設けられている。
【０５１７】
認識学習処理部２３２１には、データ抽出部３１２からフレーム単位の入力データと出力データとが供給される。
【０５１８】
認識学習処理部２３２１は、図２４の認識学習処理部３２１と同様に、記憶部３１１に記憶された入出力関係モデルM1112における入力ネットワークnet11の各ノードについて、データ抽出部３１２からのフレーム単位の入力データに対するスコアを求め、入力ネットワークnet11のノードの中から、スコアの最も良いノードを、勝者ノード（入力勝者ノード）に決定する。そして、認識学習処理部２３２１は、データ抽出部３１２からのフレームの入力データに対する入力勝者ノードに基づいて、入力ネットワークnet11を、自己組織的に更新する。
【０５１９】
また、認識学習処理部２３２１は、入力ネットワークnet11の、フレーム単位の入力データに対するスコアの分布である入力発火パターン（を表す情報）を、写像学習部３１４のデータバッファ２３３１に時系列に供給する。
【０５２０】
さらに、認識学習処理部２３２１は、記憶部３１１に記憶された入出力関係モデルM1112における出力ネットワークnet12の各ノードについて、データ抽出部３１２からのフレーム単位の出力データに対するスコアを求め、出力ネットワークnet12のノードの中から、スコアの最も良いノードを、勝者ノード（出力勝者ノード）に決定する。そして、認識学習処理部２３２１は、データ抽出部３１２からのフレームの出力データに対する出力勝者ノードに基づいて、出力ネットワークnet12を、自己組織的に更新する。
【０５２１】
また、認識学習処理部２３２１は、出力ネットワークnet12の、フレーム単位の出力データに対するスコアの分布である出力発火パターン（を表す情報）を、生成学習処理部２３２２と、写像学習部３１４のデータバッファ２３３１とに時系列に供給する。
【０５２２】
生成学習処理部２３２２には、認識学習処理部２３２１からフレーム単位の出力データに対する出力発火パターンが供給される他、そのフレーム単位の出力データが、データ抽出部３１２から供給されるようになっている。
【０５２３】
生成学習処理部２３２２は、データ抽出部３１２からのフレーム単位の出力データと、認識学習処理部２３２１から供給される、そのフレーム単位の出力データに対する出力発火パターンとに基づき、フレーム単位の出力データと、そのフレーム単位の出力データに対する出力発火パターンとを対応付ける対時系列対応情報を、例えば、上述したSVRにより学習し、入出力関係モデルM1112の一部として、記憶部３１１に記憶させる。
【０５２４】
ここで、生成学習処理部２３２２で学習する対時系列対応情報は、あるフレームFの出力データの（時間）T個のサンプル値のすべてと、そのフレームFに対する出力発火パターンとを対応付ける情報であっても良いし、フレームFの出力データの一部のサンプル値と、そのフレームFに対する出力発火パターンとを対応付ける情報であっても良い。後述する時系列生成部２３６１では、出力発火パターンに対応付けられたサンプル値の数だけのサンプル値からなる出力データの推定値としての時系列データが、１フレームの入力データに対して生成される。
【０５２５】
写像学習部３１４には、図２４のデータバッファ３３１、読み出し部３３２、結合重み更新部３３３に代えて、それぞれデータバッファ２３３１、読み出し部２３３２、対パターン対応情報更新部２３３３が設けられている。
【０５２６】
データバッファ２３３１は、認識学習処理部２３２１から時系列に供給される入力発火パターンと出力発火パターンとを一時記憶する。
【０５２７】
読み出し部２３３２は、入力データのフレームを、順次、注目フレームとして、データバッファ２３３１に記憶された入力発火パターンのうちの、注目フレームの入力データに対する入力発火パターンと、データバッファ２３３１に記憶された出力発火パターンのうちの、注目フレームの時刻から入出力時間差だけ遅れた（未来の）フレームの出力データに対する出力発火パターンとを読み出して対応付け、その対応付けた入力発火パターンと出力発火パターンとのセットであるパターンセットを、対パターン対応情報更新部２３３３に供給する。
【０５２８】
対パターン対応情報更新部２３３３は、読み出し部２３３２からのパターンセットの入力発火パターンと、そのパターンセットの出力発火パターンとに基づき、それらの入力発火パターンと出力発火パターンとを対応付ける対パターン対応情報を、例えば、上述したSVRにより学習し、入出力関係モデルM1112の結合重みの代わりに、記憶部３１１に記憶させる。
【０５２９】
認識部３１６には、図２４の勝者ノード決定部３４２に代えて、入力発火パターン出力部２３４２が設けられている。
【０５３０】
入力発火パターン出力部２３４２には、スコア計算部３４１から、フレーム単位の入力データに対する入力ネットワークnet11の各ノードのスコアが供給されるようになっている。入力発火パターン出力部２３４２は、スコア計算部３４１から、あるフレームFの入力データに対する、入力ネットワークnet11の各ノードのスコアが供給されると、そのスコアの分布である入力発火パターンを構成して出力する。入力発火パターン出力部２３４２が出力する入力発火パターンは、写像部３１７の出力発火パターン決定部２３５１に供給される。
【０５３１】
写像部３１７には、図２４の生成ノード決定部３５１に代えて、出力発火パターン決定部２３５１が設けられている。
【０５３２】
出力発火パターン決定部２３５１は、記憶部３１１に記憶された対パターン対応情報に基づいて、入力発火パターン出力部２３４２から供給される入力発火パターンに対応する出力発火パターンを決定し、生成部３１８の時系列生成部２３６１に供給する。
【０５３３】
即ち、出力発火パターン決定部２３５１は、例えば、記憶部３１１に記憶された対パターン対応情報としての式（６）の関数f()を規定するパラメータsj,θj,bに基づき、入力発火パターン出力部２３４２から供給されるフレームFの入力データに対する入力発火パターンを引数として、式（６）の関数f()を演算することにより、フレームFの入力データに対する入力発火パターンから、そのフレームFから入出力時間差だけ未来のフレームの出力データ（の推定値）に対する出力発火パターンを予測し、生成部３１８の時系列生成部２３６１に供給する。
【０５３４】
生成部３１８には、図２４の時系列生成部３６１に代えて、時系列生成部２３６１が設けられている。
【０５３５】
時系列生成部２３６１は、記憶部３１１に記憶された対時系列対応情報に基づいて、出力発火パターン決定部２３５１から供給される出力発火パターンに対応する時系列データを、出力データ（の推定値）として生成し、モータ駆動部３０３に供給する。
【０５３６】
即ち、時系列生成部２３６１は、例えば、記憶部３１１に記憶された対時系列対応情報としての式（６）の関数f()を規定するパラメータsj,θj,bに基づき、出力発火パターン出力部２３５１から供給される、フレームFの入力データに対する入力発火パターンから予測された、フレームFから入出力時間差だけ未来のフレームの出力データに対する出力発火パターンを引数として、式（６）の関数f()を演算することにより、フレームFから入出力時間差だけ未来のフレームの出力データの一部または全部の推定値としての時系列データを生成し、モータ駆動部３０３に供給する。
【０５３７】
次に、図４０のフローチャートを参照して、図３９のロボットが行う学習処理、即ち、入出力関係モデルM1112の学習処理について説明する。
【０５３８】
例えば、ロボットに、目の前にあるボールを左右に転がすタスクを学習させる場合、オペレータは、ロボットの前にボールをおき、ロボットのアームを持って、ボールを左右に転がすように、アームを動かす。
【０５３９】
この場合、センサ３０２において、左右に転がるボールの状態が検知され、その状態を表す時系列のセンサデータが、データ処理装置３０１のデータ抽出部３１２に供給される。
【０５４０】
また、モータ駆動部３０３では、オペレータが動かしているアームの動きに対応するモータデータが生成され、データ処理装置３０１のデータ抽出部３１２に供給される。
【０５４１】
データ抽出部３１２は、ステップＳ４２１において、センサ３０２からのセンサデータと、モータ駆動部３０３からのモータデータをコンポーネントとするベクトルの時系列であるセンサモータデータを、入力データとして、その入力データの時系列から、フレーム単位の入力データを抽出し、学習処理部３１３の認識学習処理部３２１に供給するとともに、センサモータデータを出力データとして、その出力データの時系列から、フレーム単位の出力データを抽出し、認識学習処理部２３２１と生成学習処理部２３２２に供給して、ステップＳ４２２に進む。
【０５４２】
ステップＳ４２２では、認識学習処理部２３２１が、データ抽出部３１２からのフレーム単位の入力データと出力データを用いて、記憶部３１１に記憶された入出力関係モデルM1112（図２５）が有する入力ネットワークnet11と出力ネットワークnet12の自己組織的な学習を行う。
【０５４３】
即ち、ステップＳ４２２では、ステップＳ４２２1とＳ４２２2の処理が行われる。
【０５４４】
ステップＳ４２２1では、認識学習処理部２３２１が、記憶部３１１に記憶された入出力関係モデルM1112における入力ネットワークnet11の各ノードについて、データ抽出部３１２からのフレーム単位の入力データに対するスコアを求め、入力ネットワークnet11のノードの中から、スコアの最も良いノードを、入力勝者ノードに決定する。さらに、認識学習処理部２３２１は、データ抽出部３１２からのフレーム単位の入力データに対する入力勝者ノードに基づいて、入力ネットワークnet11を、自己組織的に更新し、入力ネットワークnet11の、フレーム単位の入力データに対するスコアの分布である入力発火パターンを、データバッファ２３３１に供給する。
【０５４５】
ステップＳ４２２2では、認識学習処理部２３２１が、記憶部３１１に記憶された入出力関係モデルM1112における出力ネットワークnet12の各ノードについて、データ抽出部３１２からのフレーム単位の出力データに対するスコアを求め、出力ネットワークnet12のノードの中から、スコアの最も良いノードを、出力勝者ノードに決定する。さらに、認識学習処理部２３２１は、データ抽出部３１２からのフレーム単位の出力データに対する出力勝者ノードに基づいて、出力ネットワークnet12を、自己組織的に更新し、出力ネットワークnet12の、フレーム単位の出力データに対するスコアの分布である出力発火パターンを、生成学習処理部２３２２と、写像学習部３１４とに供給する。
【０５４６】
ステップＳ４２２の処理後は、ステップＳ４２３に進み、生成学習処理部２３２２は、データ抽出部３１２から供給される出力データのフレームを注目フレームとして、その注目フレームの出力データと、認識学習処理部２３２１から供給される、その注目フレームの出力データに対する出力発火パターンとに基づき、注目フレームの出力データと、その注目フレームの出力データに対する出力発火パターンとを対応付ける対時系列対応情報を学習し、記憶部３１１に記憶させて、ステップＳ４２４に進む。
【０５４７】
ステップＳ４２４では、写像学習部３１４は、入力データのフレームのうちの、まだ注目フレームとしていないフレームを、注目フレームとして、認識学習処理部２３２１からの、注目フレームの入力データに対する入力発火パターンと、同じく認識学習処理部２３２１からの、注目フレームから入出力時間差だけ未来のフレームの出力データに対する出力発火パターンとを対応付ける。
【０５４８】
即ち、ステップＳ４２４では、写像学習部３１４のデータバッファ２３３１において、認識学習処理部２３２１からのフレーム単位の入力データに対する入力発火パターンと、フレーム単位の出力データに対する出力発火パターンとが一時記憶される。
【０５４９】
さらに、ステップＳ４２４では、写像学習部３１４の読み出し部２３３２が、データバッファ２３３１に記憶された入力発火パターンのうちの、注目フレームの入力データに対する入力発火パターンと、データバッファ２３３１に記憶された出力発火パターンのうちの、注目フレームの時刻から入出力時間差だけ未来のフレームの出力データに対する出力発火パターンとを読み出して、その入力発火パターンと出力発火パターンとのセットであるパターンセットを、対パターン対応情報更新部２３３３に供給する。
【０５５０】
そして、ステップＳ４２４からステップＳ４２５に進み、写像学習部３１４の対パターン対応情報更新部２３３３が、読み出し部２３３２から供給されるパターンセットに基づき、対パターン対応情報を学習し、記憶部３１１に記憶させる。
【０５５１】
なお、図４０の学習処理は、入力データの先頭のフレームから終わりのフレームまでを、順次、注目フレームとして、ステップＳ４２２乃至Ｓ４２５の処理を繰り返し行うようにしてもよいし、入力データの先頭のフレームから終わりのフレームまでを、順次、注目フレームとして、ステップＳ４２２およびＳ４２３の処理を繰り返し行い、その後、再び、入力データの先頭のフレームから終わりのフレームまでを、順次、注目フレームとして、ステップＳ４２４およびＳ４２５の処理を繰り返し行うようにしても良い。
【０５５２】
次に、図４１のフローチャートを参照して、対時系列対応情報の学習（更新）を、SVRにより行う場合の、図４０のステップＳ４２３の処理について、さらに説明する。
【０５５３】
なお、ここでは、データ抽出部３１２から生成学習処理部２３２２に供給される注目フレームの出力データのすべてのサンプル値と、認識学習処理部２３２１から供給される、注目フレームの出力データに対する出力発火パターンとを対応付ける対時系列対応情報を学習することとする。
【０５５４】
ステップＳ４４１において、生成学習処理部２３２２は、データ抽出部３１２から供給される注目フレームの出力データの先頭からのサンプル値の数をカウントする変数iを1に初期化し、ステップＳ４４２に進む。
【０５５５】
ステップＳ４４２では、生成学習処理部２３２２は、フレームの先頭からi番目（i=1,2,・・・,T）のサンプル値viに対応する式（６）の関数f()である関数fi()について、注目フレームのi番目のサンプル値viを、学習サンプルとしての出力スカラ値yとするとともに、注目フレームの出力データに対する出力発火パターンに対応するベクトル、即ち、注目フレームの出力データに対する出力ネットワークnet12の各ノードのスコアをコンポーネントとするベクトルを、学習サンプルとしての入力ベクトルzとして、関数fi()を規定するパラメータsj,θj,b（以下、適宜、SVRパラメータPiという）を学習（更新）して、ステップＳ４４３に進む。
【０５５６】
ステップＳ４４３では、生成学習処理部２３２２は、変数iがフレームの長さTに等しいかどうかを判定する。ステップＳ４４３において、変数iがフレームの長さTに等しくないと判定された場合、ステップＳ４４４に進み、生成学習処理部２３２２は、変数iを１だけインクリメントして、ステップＳ４４２に戻り、以下、同様の処理が繰り返される。
【０５５７】
また、ステップＳ４４３において、変数iがフレームの長さTに等しいと判定された場合、即ち、フレームのT個のサンプル点すべてについて、SVRパラメータPiが求められた場合、生成学習処理部２３２２は、そのSVRパラメータPiを、対時系列対応情報として、記憶部３１１に記憶させて、リターンする。
【０５５８】
次に、図４２のフローチャートを参照して、対パターン対応情報の学習（更新）を、SVRにより行う場合の、図４０のステップＳ４２５の処理について、さらに説明する。
【０５５９】
ステップＳ４６１において、対パターン対応情報更新部２３３３は、読み出し部２３３２から供給されるパターンセットの出力発火パターン、即ち、入力データのあるフレームを注目フレームとすると、その注目フレームから入出力時間差だけ未来のフレームの出力データに対する出力発火パターンを構成する、出力ネットワークnet12のノードのスコアの数をカウントする変数mを1に初期化し、ステップＳ４６２に進む。
【０５６０】
ステップＳ４６２では、対パターン対応情報更新部２３３３は、出力発火パターンのm番目（i=1,2,・・・,M）のスコアumに対応する式（６）の関数f()である関数fm()について、注目フレームから入出力時間差だけ未来のフレームの出力データに対する出力発火パターンのm番目（i=1,2,・・・,M）のスコアumを、学習サンプルとしての出力スカラ値yとするとともに、注目フレームの入力データに対する入力発火パターンに対応するベクトル、即ち、注目フレームの入力データに対する入力ネットワークnet11の各ノードのスコアをコンポーネントとするベクトルを、学習サンプルとしての入力ベクトルzとして、関数fm()を規定するパラメータsj,θj,b（以下、適宜、SVRパラメータQmという）を学習（更新）して、ステップＳ４６３に進む。
【０５６１】
ステップＳ４６３では、対パターン対応情報更新部２３３３は、変数mが、出力ネットワークnet12のノードの数Mに等しいかどうかを判定する。ステップＳ４６３において、変数mがノードの数Mに等しくないと判定された場合、ステップＳ４６４に進み、対パターン対応情報更新部２３３３は、変数mを１だけインクリメントして、ステップＳ４６２に戻り、以下、同様の処理が繰り返される。
【０５６２】
また、ステップＳ４６３において、変数mがノードの数Mに等しいと判定された場合、即ち、出力ネットワークnet12のノードすべてについて、SVRパラメータQmが求められた場合、対パターン対応情報更新部２３３３は、そのSVRパラメータQmを、対パターン対応情報として、記憶部３１１に記憶させて、リターンする。
【０５６３】
次に、図４３のフローチャートを参照して、図３９のロボットが行う認知行動の処理、即ち、入出力関係モデルM1112を用いた時系列データの生成処理（認識生成処理）について説明する。
【０５６４】
例えば、図４０で説明したように、ロボットに、目の前にあるボールを左右に転がすタスクを学習させた後、ロボットの前にボールをおくと（さらに、必要に応じて、ボールを転がすと）、センサ３０２において、ボールの状態が検知され、その状態を表す時系列のセンサデータが、データ処理装置３０１のデータ抽出部３１５に供給される。
【０５６５】
さらに、データ処理装置３０１のデータ抽出部３１５には、モータ駆動部３０３からモータデータも供給される。
【０５６６】
データ抽出部３１５は、ステップＳ４８１において、センサ３０２からのセンサデータと、モータ駆動部３０３からのモータデータとをコンポーネントとするベクトルの時系列であるセンサモータデータを入力データとして、その入力データの時系列から、フレーム単位の入力データを抽出し、認識部３１６のスコア計算部３４１に供給して、ステップＳ４８２に進む。
【０５６７】
認識部３１６では、ステップＳ４８２において、スコア計算部３４１が、データ抽出部３１５からのフレーム単位の入力データを、順次、注目フレームの入力データとして、その注目フレームの入力データに対して、記憶部３１１に記憶された入出力関係モデルM1112を構成する入力ネットワークnet11の各ノードのスコアを計算し、入力発火パターン出力部２３４２に供給する。
【０５６８】
さらに、ステップＳ４８２では、入力発火パターン出力部２３４２が、スコア計算部３４１からの、注目フレームの入力データに対する入力ネットワークnet11の各ノードのスコアを用いて、そのスコアの分布である入力発火パターンを構成し、出力発火パターン決定部２３５１に供給して、ステップＳ４８３に進む。
【０５６９】
ステップＳ４８３では、出力発火パターン決定部２３５１は、記憶部３１１に記憶された対パターン対応情報としての式（６）の関数f()を規定するSVRパラメータQmに基づき、入力発火パターン出力部２３４２からの注目フレームの入力データに対する入力発火パターンを引数zとして、式（６）の関数f()を演算することにより、注目フレームの入力データに対する入力発火パターンから、その注目フレームから入出力時間差だけ未来のフレームの出力データ（の推定値）に対する出力発火パターンを予測し、生成部３１８の時系列生成部２３６１に供給して、ステップＳ４８４に進む。
【０５７０】
ステップＳ４８４では、時系列生成部２３６１は、記憶部３１１に記憶された対時系列対応情報としての式（６）の関数f()を規定するSVRパラメータPiに基づき、出力発火パターン出力部２３５１からの出力発火パターンを引数zとして、式（６）の関数f()を演算することにより、注目フレームから入出力時間差だけ未来のフレームの出力データの推定値である時系列データを生成して出力する。
【０５７１】
この時系列データは、センサモータデータであり、そのセンサモータデータのうちのモータデータが、時系列生成部２３６１からモータ駆動部３０３に供給され、モータ駆動部３０３が、時系列生成部２３６１からのモータデータにしたがって、モータを駆動することにより、ロボットのアームが動かされる。
【０５７２】
以下、データ抽出部３１５から認識部３１６に対して供給されるフレーム単位の入力データについて、ステップＳ４８２乃至Ｓ４８４の処理が行われる。
【０５７３】
なお、上述のような、入力データの内部表現として、発火パターンを採用すること、および発火パターン（出力発火パターン）から時系列データ（出力データ）を生成することは、図９のデータ処理装置に適用可能である。
【０５７４】
また、上述のような、入力データおよび出力データの内部表現として、発火パターンを採用すること、入力発火パターンから出力発火パターンを予測すること、および予測された出力発火パターンから出力データを生成することは、図２０のデータ処理装置にも適用可能である。
【０５７５】
さらに、入力データおよび出力データの内部表現として、発火パターンを採用すること、入力発火パターンから出力発火パターンを予測すること、および予測された出力発火パターンから出力データを生成することは、時系列パターン記憶ネットワークの他、ノードに、時系列パターンモデル２１ではなく、入力データとしてのベクトルと同一次元の重みベクトルを有するSOMを対象として行うことが可能である。
【０５７６】
ところで、入力データや出力データなどの時系列データから、フレーム単位の時系列データを抽出し、そのフレーム単位の時系列データを用いて、時系列パターン記憶ネットワークなどのSOMの学習を行うと、類似する時系列パターンを表現するノードどうしは、近い位置に配置されていく。
【０５７７】
従って、時系列データにおいて、あるフレームFの時系列データの時系列パターンPFと、そのフレームFに時間的に近いフレームF'の時系列データの時系列パターンPF'とが、類似していない場合には、フレームFとF'とが時間的に近くても、そのフレームFの時系列データの時系列パターンPFを表現するノードと、フレームF'の時系列データの時系列パターンPF'を表現するノードとは、近い位置には配置されない。
【０５７８】
即ち、例えば、凹形状の時系列パターンと、凸形状の時系列パターンとが、比較的短い周期で繰り返される正弦波から、その周期より短い長さのフレーム単位で、時系列データを抽出し、そのフレーム単位の時系列データを用いて、時系列パターン記憶ネットワークの学習を行うと、凹形状の時系列パターンのフレームの時系列データと、凸形状の時系列パターンのフレームの時系列データとが、時間的に近くても、凹形状の時系列パターンと凸形状の時系列パターンとが類似していないため、凹形状の時系列パターンを表現するノードと、凸形状の時系列パターンを表現するノードとは、遠い位置（互いに離れた位置）に配置される。
【０５７９】
ここで、図４４は、凹形状の時系列パターンと、凸形状の時系列パターンとが、比較的短い周期で繰り返される正弦波から抽出したフレーム単位の時系列データを、フレーム単位の入力データとして、時系列パターン記憶ネットワークに与えたときに勝者ノードとなるノードの軌跡を求めた実験の実験結果を示している。
【０５８０】
なお、実験では、時系列パターン記憶ネットワークとして、横×縦が１０×１０個のノードを有する時系列パターン記憶ネットワークを採用し、ノードには、図８に示したような２次元的に配置される配置構造となるリンクを与えた。
【０５８１】
また、実験では、図４４上に示すように、時系列データとして、凹形状の時系列パターンと、凸形状の時系列パターンとが、比較的短い周期で繰り返される、式y=100sin(4t)で表される正弦波をサンプリングして得られる時系列データを用いた。サンプリングでは、正弦波の１周期、つまり、２πの区間から、314点のサンプル値を得た（0.01ごとのサンプリングを行った）。
【０５８２】
さらに、以上のようなサンプリングによって得られる正弦波の時系列データから、連続する40サンプル点のサンプル値を、10サンプル点ずつシフトしながら抽出し、その40サンプル点のサンプル値を、フレーム単位の入力データとして、時系列パターン記憶ネットワークの学習を行った。
【０５８３】
図４４下は、学習後の時系列パターン記憶ネットワークに、フレーム単位の入力データを与えて求めた、勝者ノード（白い部分）の軌跡を示している。
【０５８４】
図４４下に示すように、ある１のフレームの次のフレームの入力データに対する勝者ノードが、その１のフレームの入力データに対する勝者ノードから大きく離れたノードとなることがある。
【０５８５】
このように、あるフレームF1の入力データに対する勝者ノードNF1と、そのフレームF1の次のフレームF2の入力データに対する勝者ノードNF2とが大きく離れている場合、フレームF1の入力データに対する発火パターン（入力発火パターン）と、フレームF2の入力データに対する発火パターンとは、いわば時間的な連続性のない、大きく異なった発火パターンになる。
【０５８６】
上述したように、対パターン対応情報や対時系列対応情報の学習を、SVRなどの関数近似によって行う場合、学習に用いる学習サンプルとしての入力ベクトルzとなる発火パターンが、時間的な連続性のないものであると、近似の精度が劣化し、その結果、入力発火パターンから出力発火パターンを予測するときの予測精度や、予測された出力発火パターンから出力データとしての時系列データを生成するときの、その時系列データの精度が劣化する。
【０５８７】
そこで、あるフレームF1の入力データに対する勝者ノードNF1の決定後、そのフレームF1の次のフレームF2の入力データに対する勝者ノードNF2の決定は、上述したように、フレームF1の入力データに対する勝者ノードNF1との距離が所定の距離以内のノード（距離制限ノード）だけを対象にして行うことができる。これにより、入力発火パターンから出力発火パターンを予測するときの予測精度や、予測された出力発火パターンから出力データとしての時系列データを生成するときの、その時系列データの精度の劣化を防止することができる。
【０５８８】
なお、以上のことは、出力データについても同様である。
【０５８９】
ここで、図４５に、時系列データとして、４種類の正弦波を用い、勝者ノードの決定を、時系列パターン記憶ネットワークノードのうちの、距離制限ノードだけを対象に行った場合と、すべてのノードを対象に行った場合の、勝者ノードの軌跡を示す。
【０５９０】
なお、図４５では、図４４で説明したのと同一の１０×１０個のノードで構成される時系列パターン記憶ネットワークを用い、距離制限ノードとしては、直前のフレームの時系列データに対する勝者ノードからの距離が１以内のノード、つまり、直前のフレームの時系列データに対する勝者ノードと、その勝者ノードに隣接する８個のノードを採用している。
【０５９１】
図４５の左から１番目は、時系列データとしての４つの正弦波を示している。上から１番目は、式y=100sin(t)で表される正弦波であり、上から２番目は、式y=50sin(8t)-50で表される正弦波である。また、上から３番目は、式y=100sin(4t)で表される正弦波であり、上から４番目（下から１番目）は、式y=50sin(2t)+50で表される正弦波である。
【０５９２】
図４５の左から２番目は、４種類の正弦波それぞれについて、勝者ノードの決定を、時系列パターン記憶ネットワークのノードのうちの距離制限ノードだけを対象に行った場合の、勝者ノードの軌跡を示している。
【０５９３】
図４５の左から３番目（右から１番目）は、４種類の正弦波それぞれについて、勝者ノードの決定を、時系列パターン記憶ネットワークのノードのうちのすべてのノードを対象に行った場合の、勝者ノードの軌跡を示している。
【０５９４】
図４５から、勝者ノードの決定を、時系列パターン記憶ネットワークのノードのうちの距離制限ノードだけを対象に行った場合には、すべてのノードを対象に行った場合に比べて、勝者ノードが、局所的に集まり、ある時系列データ（フレーム単位の時系列データとする前の時系列データ）が有する時系列パターンが、局所的なノードで学習（獲得）されていることがわかる。
【０５９５】
なお、図４５によれば、時系列データから抽出したフレーム単位の時系列データに対する勝者ノードの軌跡により、時系列データを区別することができることがわかる。
【０５９６】
図４６は、上述したように、勝者ノードの決定を、時系列パターン記憶ネットワークノードのうちの距離制限ノードだけを対象に行い、かつ、入力データおよび出力データの内部表現として、発火パターンを採用し、入力発火パターンから出力発火パターンを予測するとともに、出力発火パターンから出力データを生成するロボットの構成例を示している。
【０５９７】
なお、図中、図２４または図３９のロボットと対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０５９８】
図４６において、学習処理部３１３には、図３９の認識学習処理部２３２１に代えて、認識学習処理部３３２１が設けられている。
【０５９９】
認識学習処理部３３２１には、データ抽出部３１２からフレーム単位の入力データと出力データとが供給される。
【０６００】
認識学習処理部３３２１は、図３９の認識学習処理部２３２１と同様の処理を行う。但し、図３９の認識学習処理部２３２１は、入力ネットワークnet11のノードの中から、データ抽出部３１２からのフレーム単位の入力データに対するスコアが最も良いノードを、入力勝者ノードに決定するとともに、出力ネットワークnet12のノードの中から、データ抽出部３１２からのフレーム単位の出力データに対するスコアが最も良いノードを、出力勝者ノードに決定するのに対して、認識学習処理部３３２１は、距離制限ノードの中から、フレーム単位の入力データに対するスコアが最も良いノードを、入力勝者ノードに決定するとともに、フレーム単位の出力データに対するスコアが最も良いノードを、出力勝者ノードに決定する。
【０６０１】
次に、図４７のフローチャートを参照して、図４６のロボットが行う学習処理、即ち、入出力関係モデルM1112の学習処理について説明する。
【０６０２】
例えば、ロボットに、目の前にあるボールを左右に転がすタスクを学習させる場合、オペレータは、ロボットの前にボールをおき、ロボットのアームを持って、ボールを左右に転がすように、アームを動かす。
【０６０３】
この場合、センサ３０２において、左右に転がるボールの状態が検知され、その状態を表す時系列のセンサデータが、データ処理装置３０１のデータ抽出部３１２に供給される。
【０６０４】
また、モータ駆動部３０３では、オペレータが動かしているアームの動きに対応するモータデータが生成され、データ処理装置３０１のデータ抽出部３１２に供給される。
【０６０５】
データ抽出部３１２は、ステップＳ５０１において、センサ３０２からのセンサデータと、モータ駆動部３０３からのモータデータをコンポーネントとするベクトルの時系列であるセンサモータデータを、入力データとして、その入力データの時系列から、フレーム単位の入力データを抽出し、学習処理部３１３の認識学習処理部３２１に供給するとともに、センサモータデータを出力データとして、その出力データの時系列から、フレーム単位の出力データを抽出し、認識学習処理部３３２１と生成学習処理部２３２２に供給して、ステップＳ５０２に進む。
【０６０６】
ステップＳ５０２では、認識学習処理部３３２１が、データ抽出部３１２からのフレーム単位の入力データと出力データを用いて、記憶部３１１に記憶された入出力関係モデルM1112（図２５）が有する入力ネットワークnet11と出力ネットワークnet12の自己組織的な学習を行う。
【０６０７】
即ち、ステップＳ５０２では、ステップＳ５０２1とＳ５０２2の処理が行われる。
【０６０８】
ステップＳ５０２1では、認識学習処理部３３２１が、記憶部３１１に記憶された入出力関係モデルM1112における入力ネットワークnet11の各ノードについて、データ抽出部３１２からのフレーム単位の入力データに対するスコアを求め、入力ネットワークnet11の距離制限ノードの中から、スコアの最も良いノードを、入力勝者ノードに決定する。さらに、認識学習処理部３３２１は、データ抽出部３１２からのフレーム単位の入力データに対する入力勝者ノードに基づいて、入力ネットワークnet11を、自己組織的に更新し、入力ネットワークnet11の、フレーム単位の入力データに対するスコアの分布である入力発火パターンを、データバッファ２３３１に供給する。
【０６０９】
ステップＳ５０２2では、認識学習処理部３３２１が、記憶部３１１に記憶された入出力関係モデルM1112における出力ネットワークnet12の各ノードについて、データ抽出部３１２からのフレーム単位の出力データに対するスコアを求め、出力ネットワークnet12の距離制限ノードの中から、スコアの最も良いノードを、出力勝者ノードに決定する。さらに、認識学習処理部３３２１は、データ抽出部３１２からのフレーム単位の出力データに対する出力勝者ノードに基づいて、出力ネットワークnet12を、自己組織的に更新し、出力ネットワークnet12の、フレーム単位の出力データに対するスコアの分布である出力発火パターンを、生成学習処理部２３２２と、写像学習部３１４とに供給する。
【０６１０】
ステップＳ５０２の処理後は、ステップＳ５０３，Ｓ５０４，Ｓ５０５に順次進み、図４０のステップＳ４２３，Ｓ４２４，Ｓ４２５とそれぞれ同様の処理が行われる。
【０６１１】
なお、図４６のロボットが行う認知行動の処理、即ち、入出力関係モデルM1112を用いた時系列データの生成処理（認識生成処理）は、図４３で説明した、図３９のロボットが行う認知行動の処理と同様であるため、その説明は、省略する。
【０６１２】
次に、図４８および図４９を参照して、図４６のロボットを用いて行った実験の実験結果について説明する。
【０６１３】
図４８は、入力発火パターンから、出力発火パターンを予測した実験の実験結果を示している。
【０６１４】
なお、図４８において、xy平面上の各位置は、時系列パターン記憶ネットワークのノードの位置を表し、z軸は、各ノードのスコアを表す。
【０６１５】
実験では、入力データおよび出力データとするセンサモータデータとして、式y=100sin(x)で表される時系列データを用い、その時系列データからフレーム単位の入力データと出力データを抽出し、そのフレーム単位の入力データと出力データを用いて、図４４で説明した時系列パターン記憶ネットワークを入力ネットワークnet11および出力ネットワークnet12として有する入出力関係モデルM1112の学習を行った。
【０６１６】
図４８の左から１番目は、入出力関係モデルM1112の学習に用いたフレーム単位の入力データのうちの、ある時刻tのフレームの入力データに対する入力発火パターンを表している。
【０６１７】
図４８の左から２番目は、図４８の左から１番目に示した、時刻tのフレームの入力データに対する入力発火パターンから予測した、未来の時刻t+1のフレームの出力データ（の推定値）に対する出力発火パターンを示している。
【０６１８】
図４８の左から３番目（右から１番目）は、入出力関係モデルM1112の学習に用いたフレーム単位の出力データのうちの、時刻t+1のフレームの出力データに対する実際の出力発火パターンを示している。
【０６１９】
図４８の左から２番目と３番目とを比較することにより、時刻tのフレームの入力データに対する入力発火パターンから、未来の時刻t+1のフレームの出力データ（の推定値）に対する出力発火パターンを精度良く予測することができていることが分かる。
【０６２０】
図４９は、出力発火パターンから、出力データ（の推定値）を生成した実験の実験結果を示している。
【０６２１】
実験では、入力データおよび出力データとするセンサモータデータとして、図４５に示した４つの正弦波の時系列データを用い、その時系列データからフレーム単位の入力データと出力データを抽出し、そのフレーム単位の入力データと出力データを用いて、図４４で説明した時系列パターン記憶ネットワークを入力ネットワークnet11および出力ネットワークnet12として有する入出力関係モデルM1112の学習を行った。
【０６２２】
また、実験では、式y=100sin(x)で表される時系列データからフレーム単位の時系列データを抽出し、そのフレーム単位の時系列データに対する出力ネットワークnet12の各ノードのスコアを求め、そのスコアに基づいて得られる勝者ノードを生成ノードとして、その生成ノードを用いて、時系列データを生成するとともに、スコアに基づいて得られる発火パターンを用いて、時系列データを生成した。
【０６２３】
図４９の上から１番目は、スコアを求めるのに用いた、式y=100sin(x)で表される時系列データを示している。
【０６２４】
図４９の上から２番目は、生成ノードを用いて生成された時系列データを示している。
【０６２５】
図４９の上から３番目（下から１番目）は、発火パターンを用いて生成された時系列データを示している。
【０６２６】
図４９から、発火パターンを用いた場合の方が、生成ノードを用いた場合に比較して滑らかな時系列データを得ることができることが分かる。
【０６２７】
次に、図４６のロボットにおいて、入出力関係モデルM1112の学習は、図４７で説明したように行われるが、その学習は、大きく、入出力関係モデルM1112が有する入力ネットワークnet11および出力ネットワークnet12の学習（ステップＳ５０２）、対時系列対応関係の学習（ステップＳ５０３）、並びに対パターン対応関係の学習（ステップＳ５０５）に分けることができる。
【０６２８】
入力ネットワークnet11および出力ネットワークnet12の学習、対時系列対応関係の学習、並びに対パターン対応関係の学習のすべては、バッチ学習とオンライン学習のいずれによっても行うことができ、従って、入出力関係モデルM1112の学習も、バッチ学習とオンライン学習のいずれによっても行うことができる。
【０６２９】
そこで、図５０のフローチャートを参照して、入出力関係モデルM1112の学習を、バッチ学習で行う場合について説明する。
【０６３０】
入出力関係モデルM1112の学習を、バッチ学習で行う場合には、入出力関係モデルM1112の学習に用いる多数のセンサモータデータがあらかじめ用意される。
【０６３１】
そして、ステップＳ１００１において、あらかじめ用意された多数のセンサモータデータをすべて用いて、入力ネットワークnet11および出力ネットワークnet12の学習が行われる。
【０６３２】
次に、ステップＳ１００２において、あらかじめ用意された多数のセンサモータデータすべてを再び用いて、対パターン対応関係の学習が行われる。
【０６３３】
そして、最後に、ステップＳ１００３において、あらかじめ用意された多数のセンサモータデータすべてを再び用いて、対時系列対応関係の学習が行われる。
【０６３４】
次に、図５１のフローチャートを参照して、入出力関係モデルM1112の学習を、オンライン学習で行う場合について説明する。
【０６３５】
入出力関係モデルM1112のオンライン学習は、入出力関係モデルM1112に用いるある長さのセンサモータデータが得られると開始される。
【０６３６】
即ち、まずステップＳ１０２１において、センサモータデータを入力データおよび出力データとして、その先頭から終わりの方向にフレームの先頭の時刻tをずらしながら、時刻tのフレームの入力データと、次の時刻t+1のフレームの出力データとが抽出される。
【０６３７】
そして、ステップＳ１０２２において、時刻tのフレームの入力データを用いて、入力ネットワークnet11の学習（更新）が行われるとともに、時刻t+1のフレームの出力データを用いて、出力ネットワークnet12の学習（更新）が行われる。
【０６３８】
次に、ステップＳ１０２３において、時刻tのフレームの入力データに対する入力発火パターンと、時刻t+1のフレームの出力データに対する出力発火パターンとを用いて、入力発火パターンと出力発火パターンを対応付ける対パターン対応情報の学習（更新）が行われる。
【０６３９】
その後、ステップＳ１０２４において、時刻t+1のフレームの出力データと、その出力データに対する出力発火パターンとを用いて、出力データと出力発火パターンを対応付ける対時系列対応情報の学習（更新）が行われる。
【０６４０】
そして、時刻tが更新され、センサモータデータとしての入力データおよび出力データからフレームを抽出することができなくなるまで、ステップＳ１０２１乃至Ｓ１０２４の処理が繰り返し行われる。
【０６４１】
なお、本実施の形態では、入出力関係モデルを、ノードに、時系列パターンモデル２１を有する時系列パターン記憶ネットワークを用いて構成するようにしたが、入出力関係モデルは、ノードに、時系列パターンモデル２１ではなく、入力データとしてのベクトルと同一次元の重みベクトルを有する（ノードに重みベクトルが割り当てられた）従来のSOMを用いて構成することもできる。
【０６４２】
入出力関係モデルを、従来のSOMを用いて構成する場合には、ノードは、そのノードが有する重みベクトルのコンポーネントをサンプル値とする固定長の時系列パターンを表現することになる。
【０６４３】
また、入出力関係モデルを、従来のSOMを用いて構成する場合には、ノードが有する重みベクトルの次元数（重みベクトルのコンポーネントの数）と、フレームの長さTとは一致させる必要があり、フレーム単位の時系列データに対するSOMのノードのスコアとしては、例えば、フレーム単位の時系列データを構成する各サンプル値をコンポーネントとするベクトルと、ノードが有する重みベクトルとの距離が用いられる。
【０６４４】
さらに、本実施の形態では、時系列パターン記憶ネットワークのすべてのノードのスコアの分布を、発火パターンとしたが、発火パターンとしては、すべてのノードのスコアの分布ではなく、距離制限ノードのスコアの分布を採用することができる。発火パターンとして、距離制限ノードのスコアの分布を採用する場合、距離制限ノード以外のノードのスコアを０とすることにより、時系列パターン記憶ネットワークのすべてのノードのスコアの分布を、発火パターンとする場合と同様に処理することができる。
【０６４５】
また、入出力関係モデルM1112が有する入力ネットワークnet11および出力ネットワークnet12は、図１９の入出力関係モデルが有する時系列パターン記憶ネットワークnetinおよびnetoutと同様に、ノードの数や、リンク、ノードが有する時系列パターンモデル２１が同一であっても良いし、異なっていても良い。
【０６４６】
さらに、入出力関係モデルM1112が有する入力ネットワークnet11と出力ネットワークnet12の学習を、フレーム単位のセンサモータデータを用いて行い、かつ、入力ネットワークnet11と出力ネットワークnet12として、同一の時系列パターン記憶ネットワークを採用する場合には、その入力ネットワークnet11および出力ネットワークnet12は、学習の結果が同一となるから、１つの時系列パターン記憶ネットワークで代用することができる。この場合、１つ分の時系列パターン記憶ネットワーク（入力ネットワークnet11または出力ネットワークnet12）を記憶するのに必要な記憶容量を節約することができる。
【０６４７】
次に、上述した一連の処理は、専用のハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータや、いわゆる組み込み型のコンピュータ等にインストールされる。
【０６４８】
そこで、図５２は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０６４９】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０１０５やROM１０１０３に予め記録しておくことができる。
【０６５０】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１０１１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体１０１１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０６５１】
なお、プログラムは、上述したようなリムーバブル記録媒体１０１１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部１０１０８で受信し、内蔵するハードディスク１０１０５にインストールすることができる。
【０６５２】
コンピュータは、CPU(Central Processing Unit)１０１０２を内蔵している。CPU１０１０２には、バス１０１０１を介して、入出力インタフェース１０１１０が接続されており、CPU１０１０２は、入出力インタフェース１０１１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１０１０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)１０１０３に格納されているプログラムを実行する。あるいは、また、CPU１０１０２は、ハードディスク１０１０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１０１０８で受信されてハードディスク１０１０５にインストールされたプログラム、またはドライブ１０１０９に装着されたリムーバブル記録媒体１０１１１から読み出されてハードディスク１０１０５にインストールされたプログラムを、RAM(Random Access Memory)１０１０４にロードして実行する。これにより、CPU１０１０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU１０１０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース１０１１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部１０１０６から出力、あるいは、通信部１０１０８から送信、さらには、ハードディスク１０１０５に記録等させる。
【０６５３】
なお、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０６５４】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０６５５】
ここで、モータデータには、モータを駆動するためのデータの他、広く、外部に働きかける装置、または刺激を与える装置を駆動するためのデータを含む。外部に働きかける装置または刺激を与える装置としては、モータの他、光を発することにより画像を表示するディスプレイや、音声を出力するスピーカ等があり、従って、モータデータには、モータを駆動するためのデータの他、ディスプレイに表示させる画像に対応する画像データや、スピーカから出力する音声に対応する音声データ等が含まれる。
【０６５６】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０６５７】
また、本発明は、ロボットの他、例えば、テレビジョン受像機やHDレコーダなどのAV(Audio Visual)機器、コンピュータ、その他の装置における、ユーザインタフェース（ヒューマンインタフェース）に適用することが可能である。
【図面の簡単な説明】
【０６５８】
【図１】制御対象と、順モデルおよび逆モデルとを説明するための図である。
【図２】制御対象としての想定ロボットと、その想定ロボットの順モデルとを示す図である。
【図３】制御対象としてのロボットのアームと、そのアームの逆モデルを利用したアーム制御器とを示す図である。
【図４】線形システムを用いたモデル化を説明するための図である。
【図５】教師あり学習の一例を説明するための図である。
【図６】時系列パターン記憶ネットワークの第１の構成例を示す図である。
【図７】ノードの構成例を示す図である。
【図８】時系列パターン記憶ネットワークの第２の構成例を示す図である。
【図９】時系列パターン記憶ネットワークを用いた処理を行うデータ処理装置の構成例を示すブロック図である。
【図１０】学習部４の構成例を示すブロック図である。
【図１１】学習処理部３２の構成例を示すブロック図である。
【図１２】更新重みを決定する決定方法を説明するための図である。
【図１３】学習データ記憶部２２に記憶させる学習データを更新する更新方法を説明するための図である。
【図１４】学習処理を説明するフローチャートである。
【図１５】認識部３の構成例を示すブロック図である。
【図１６】認識処理を説明するフローチャートである。
【図１７】生成部６の構成例を示すブロック図である。
【図１８】生成処理を説明するフローチャートである。
【図１９】入出力関係モデルの構成例を示す図である。
【図２０】入出力関係モデルを用いた処理を行うデータ処理装置の構成例を示すブロック図である。
【図２１】入出力関係モデルの学習を説明するフローチャートである。
【図２２】結合重み行列を示す図である。
【図２３】入出力関係モデルを用いて、出力データまたは制御データを推定する処理を説明するフローチャートである。
【図２４】入出力関係モデルを適用したロボットの第１の構成例を示すブロック図である。
【図２５】入出力関係モデルM1112を示す図である。
【図２６】データ抽出部３１２の処理を説明するための図である。
【図２７】読み出し部３３２の処理を説明するための図である。
【図２８】入出力関係モデルM1112の学習を説明するフローチャートである。
【図２９】入出力関係モデルM1112を用いて時系列データを生成する認識生成処理を説明するフローチャートである。
【図３０】入出力関係モデルM1112を用いた認知行動のプロセスPro1,Pro2,Pro3を説明するための図である。
【図３１】スコアの計算を距離制限ノードだけを対象に行うことを説明するための図である。
【図３２】入出力関係モデルを適用したロボットの第２の構成例を示すブロック図である。
【図３３】入出力関係モデルM1112の学習を説明するフローチャートである。
【図３４】時系列パターン記憶ネットワークの学習を説明するフローチャートである。
【図３５】入出力関係モデルM1112を用いて時系列データを生成する認識生成処理を説明するフローチャートである。
【図３６】勝者ノードの決定の処理を説明するフローチャートである。
【図３７】入力発火パターンから出力発火パターンを予測するプロセスPro2を説明するための図である。
【図３８】プロセスPro2で予測された出力発火パターンから、出力データを生成するプロセスPro3を説明するための図である。
【図３９】入出力関係モデルを適用したロボットの第３の構成例を示すブロック図である。
【図４０】入出力関係モデルM1112の学習を説明するフローチャートである。
【図４１】対時系列対応情報の学習の処理を説明するフローチャートである。
【図４２】対パターン対応情報の学習の処理を説明するフローチャートである。
【図４３】入出力関係モデルM1112を用いて時系列データを生成する認識生成処理を説明するフローチャートである。
【図４４】勝者ノードの軌跡を示す図である。
【図４５】勝者ノードの軌跡を示す図である。
【図４６】入出力関係モデルを適用したロボットの第４の構成例を示すブロック図である。
【図４７】入出力関係モデルM1112の学習を説明するフローチャートである。
【図４８】入力発火パターンから、出力発火パターンを予測した実験の実験結果を示す図である。
【図４９】出力発火パターンから、出力データ（の推定値）を生成した実験の実験結果を示す図である。
【図５０】入出力関係モデルM1112のバッチ学習を説明するフローチャートである。
【図５１】入出力関係モデルM1112のオンライン学習を説明するフローチャートである。
【図５２】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０６５９】
１  信号入力部，  ２  特徴抽出部，  ３  認識部，  ４  学習部，  ５  記憶部，  ６  生成部，  ２１  時系列パターンモデル，  ２２  学習データ記憶部，  ３１  時系列データ記憶部，  ３２  学習処理部，  ４１  スコア計算部，  ４２  勝者ノード決定部，  ４３  重み決定部，  ４４  学習データ更新部，  ４５  モデル学習部，  ５１  スコア計算部，  ５２  勝者ノード決定部，  ５３  出力部，  ６１  生成ノード決定部，  ６２  時系列決定部，  ６３  出力部，  ２１１  記憶部，  ２１２  学習部，  ２１３  認識生成部，  ２２１  学習処理部，  ２２２  結合重み更新部，  ２３１  スコア計算部，  ２３２  勝者ノード決定部，  ２３３  生成ノード決定部，  ２３４  時系列生成部，  ３０１  データ処理装置，  ３０２  センサ，  ３０３  モータ駆動部，  ３１１  記憶部，  ３１２  データ抽出部，  ３１３  学習処理部，  ３１４  写像学習部，  ３１５  データ抽出部，  ３１６  認識部，  ３１７  写像部，  ３１８  生成部，  ３２１  認識学習処理部，  ３３１  データバッファ，  ３３２  読み出し部，  ３３３  結合重み更新部，  ３４１  スコア計算部，  ３４２  勝者ノード決定部，  ３５１  生成ノード決定部，  ３６１  時系列生成部，  １３２１  認識学習処理部，  １３４１  スコア計算部，  １３４２  勝者ノード決定部，  ２３２１  認識学習処理部，  ２３２２  生成学習処理部，  ２３３１  データバッファ，  ２３３２  読み出し部，  ２３３３  対パターン対応情報更新部，  ２３４１  スコア計算部，  ２３４２  入力発火パターン出力部，  ２３５１  出力発火パターン決定部，  ２３６１  時系列生成部，  ３３２１  認識学習処理部，  １０１０１  バス，  １０１０２  CPU，  １０１０３  ROM，  １０１０４  RAM，  １０１０５  ハードディスク，  １０１０６  出力部，  １０１０７  入力部，  １０１０８  通信部，  １０１０９  ドライブ，  １０１１０  入出力インタフェース，  １０１１１  リムーバブル記録媒体
【図１】
2007280056.tif 000009
【図２】
2007280056.tif 000010
【図３】
2007280056.tif 000011
【図４】
2007280056.tif 000012
【図５】
2007280056.tif 000013
【図６】
2007280056.tif 000014
【図７】
2007280056.tif 000015
【図８】
2007280056.tif 000016
【図９】
2007280056.tif 000017
【図１０】
2007280056.tif 000018
【図１１】
2007280056.tif 000019
【図１２】
2007280056.tif 000020
【図１３】
2007280056.tif 000021
【図１４】
2007280056.tif 000022
【図１５】
2007280056.tif 000023
【図１６】
2007280056.tif 000024
【図１７】
2007280056.tif 000025
【図１８】
2007280056.tif 000026
【図１９】
2007280056.tif 000027
【図２０】
2007280056.tif 000028
【図２１】
2007280056.tif 000029
【図２２】
2007280056.tif 000030
【図２３】
2007280056.tif 000031
【図２４】
2007280056.tif 000032
【図２５】
2007280056.tif 000033
【図２６】
2007280056.tif 000034
【図２７】
2007280056.tif 000035
【図２８】
2007280056.tif 000036
【図２９】
2007280056.tif 000037
【図３０】
2007280056.tif 000038
【図３１】
2007280056.tif 000039
【図３２】
2007280056.tif 000040
【図３３】
2007280056.tif 000041
【図３４】
2007280056.tif 000042
【図３５】
2007280056.tif 000043
【図３６】
2007280056.tif 000044
【図３７】
2007280056.tif 000045
【図３８】
2007280056.tif 000046
【図３９】
2007280056.tif 000047
【図４０】
2007280056.tif 000048
【図４１】
2007280056.tif 000049
【図４２】
2007280056.tif 000050
【図４３】
2007280056.tif 000051
【図４４】
2007280056.tif 000052
【図４５】
2007280056.tif 000053
【図４６】
2007280056.tif 000054
【図４７】
2007280056.tif 000055
【図４８】
2007280056.tif 000056
【図４９】
2007280056.tif 000057
【図５０】
2007280056.tif 000058
【図５１】
2007280056.tif 000059
【図５２】
2007280056.tif 000060