JP2006285899A - 学習装置および学習方法、生成装置および生成方法、並びにプログラム - Google Patents

学習装置および学習方法、生成装置および生成方法、並びにプログラム Download PDF

Info

Publication number
JP2006285899A
JP2006285899A JP2005108478A JP2005108478A JP2006285899A JP 2006285899 A JP2006285899 A JP 2006285899A JP 2005108478 A JP2005108478 A JP 2005108478A JP 2005108478 A JP2005108478 A JP 2005108478A JP 2006285899 A JP2006285899 A JP 2006285899A
Authority
JP
Japan
Prior art keywords
time
node
data
series
series pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005108478A
Other languages
English (en)
Inventor
Kazumi Aoyama
一美 青山
Katsuki Minamino
活樹 南野
Hideki Shimomura
秀樹 下村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005108478A priority Critical patent/JP2006285899A/ja
Priority to US11/396,836 priority patent/US7346595B2/en
Publication of JP2006285899A publication Critical patent/JP2006285899A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process

Abstract

【課題】時系列データである入力データと出力データとの関係の学習を、容易に行う。
【解決手段】時系列パターンを表現する時系列パターンモデルを有する複数のノードで構成される入力ネットワークnetin1,netin2と出力ネットワークnetout1,netout2とのノードどうしが結合されている入出力関係モデルにおける入力ネットワークnetin1,netin2それぞれを、入力データに基づいて、自己組織的に更新するとともに、出力ネットワークnetout1,netout2それぞれを、出力データに基づいて、自己組織的に更新し、入力ネットワークnetin1,netin2のノードのうちの勝者ノードと、出力ネットワークnetout1,netout2の各ノードとの結合関係を更新するとともに、出力ネットワークnetout1,netout2のノードのうちの勝者ノードと、入力ネットワークnetin1,netin2の各ノードとの結合関係を更新する。本発明は、例えば、ロボットなどに適用できる。
【選択図】図26

Description

本発明は、学習装置および学習方法、生成装置および生成方法、並びにプログラムに関し、特に、例えば、音声のような時系列のデータである時系列データの入力と出力を観測することができる制御対象について、高精度の順モデルや逆モデルを、容易に獲得すること等ができるようにする学習装置および学習方法、生成装置および生成方法、並びにプログラムに関する。
図1は、順モデルと逆モデルの概念を示している。
ある時系列データ(時系列のデータ)としての入力データに対して、他の時系列データとしての出力データを出力する制御対象が与えられ、制御対象に関する詳細な情報はわからないが(制御対象の内部がわからないが)、制御対象に与えられる入力データと、その入力データに対して制御対象から得られる出力データは観測することができることとする。
ここで、制御対象に与えられる入力データと、その入力データに対して制御対象から得られる出力データとは、観測することができれば、どのような物理量でも良い。また、制御対象は、入力データを与えることができ、かつ、その入力データに対して出力データを得ることができるものであれば、どのような対象(もの)でも良い。
従って、例えば、ボールや、楽器、自動車、ガスヒータその他の種々のものが、制御対象となり得る。即ち、例えば、ボールについては、入力データとしての力を加える(与える)ことで、その入力データに対して変化する出力データとしてのボールの位置や速度が得られる。また、例えば、自動車については、入力データとしてのハンドルや、アクセル、ブレーキなどの操作をする(与える)ことで、その入力データに対して変化する出力データとしての自動車の位置や速度を得ることができる。さらに、例えば、ガスヒータについては、入力データとしての火力を調整する操作をすることで、その入力データに対して変化する出力データとしての部屋の温度を得ることができる。
以上のように、制御対象に入力データを与え、それに対して出力データが得られる場合に、その制御対象をモデル化したもの(モデル)が順モデルである。
順モデルは、入力データを入力すると(入力データが与えられると)、その入力データに対して、制御対象から得られる出力データの推定値を出力する。従って、順モデルによれば、制御対象に対して、実際の入力データを与えなくても、その入力データに対して、制御対象から得られる出力データを推定することができる。
一方、制御対象から得られる出力データの目標値を決定し、その目標値となる出力データを得るために、制御対象に与えるべき入力データを推定することができるモデルが逆モデルである。順モデルは、入力データから出力データへの写像とみなすことができるが、その逆写像が逆モデルである。
ここで、逆モデルによって求められる、目標値となる出力データを得るために、制御対象に与えるべき入力データを、以下、適宜、制御データともいう。
以上のような順モデルや逆モデルは、例えば、ロボット(の構成)に利用することができる。
即ち、いま、ロボットが、マイク(マイクロフォン)やカメラを備え、音声(音)データや画像データを入力することができ、かつ、スピーカやアクチュエータ(モータ)を備え、音声(音声データ)を出力し、また、モータデータ(モータ信号)にしたがってモータが駆動することにより、アームを動かすことができることとする。
かかるロボットにおいて、ある音声データや画像データなどの入力データに応じて、出力データとしての音声データを出力させ、また、所望のアームの動作をさせる出力データとしてのモータデータを出力させる場合、従来においては、音声認識装置や画像認識装置を用いて、ロボットに入力される音声データや画像データを認識した認識結果に応じて、どのような音声データを出力するべきか、あるいは、どのようなモータデータを出力するべきかを、あらかじめプログラミング(デザイン)しておくことが行われる。
これに対して、順モデルを利用すれば、図2に示すように、ある音声データや画像データに応じて、所望の音声データや、所望のアーム動作をさせるモータデータを出力するロボットを制御対象として想定し、その制御対象として想定したロボット(以下、適宜、想定ロボットと呼ぶ)の順モデルとして、実際のロボットを構成することが可能となる。即ち、想定ロボットに対する入力データと出力データの関係を、実際のロボットに学習させることができれば、想定ロボットの順モデルとしてのロボットを構成することができる。
具体的には、想定ロボットに入力する音声データや画像データなどの入力データと、想定ロボットが各入力データに対応して出力すべき音声データやモータデータなどの出力データとのセットをあらかじめ用意し、実際のロボットに与える。実際のロボットにおいて、外部から与えられた入力データと出力データのセット(以下、適宜、教示データという)だけを用いて、入力データに対応する出力データを推定する(出力する)、想定ロボットの順モデルを求めることができれば、実際に入力される音声データや画像データなどの入力データに応じて、所望の音声データやモータデータなどの出力データを出力することが可能となる。
また、逆モデルを利用すれば、図3に示すように、ロボットのアームを制御対象として、その制御対象であるアームを制御するアーム制御器を構成することが可能となる。
即ち、いま、ロボットのアームが、入力データとしてのモータデータに応じて駆動するモータによって動き、その結果、アームの先端の位置が変化するとする。さらに、ロボットの重心を原点とし、ロボットの前方(正面)方向をx軸と、(ロボットから見て)右方向をy軸と、上方向をz軸と、それぞれする3次元座標系に基づき、その3次元座標系の(x,y,z)座標でアームの先端の位置を表すこととする。この場合、モータデータに応じてモータが駆動し、さらにアームの先端の位置が変化することで、アームの先端がある軌跡を描く。ここで、アームの先端が描く軌跡(先端位置軌跡)の座標のシーケンスを、先端位置軌跡データという。
アームが所望の先端位置軌跡を描くようにするには、つまり、出力データとしての所望の先端位置軌跡データを出力するようにするには、アームがそのような先端位置軌跡を描くようにモータを駆動するモータデータを、入力データとしてモータに与える必要がある。
いま、入力データとしてのモータデータと、そのモータデータがモータに与えられたときの出力データとしての先端位置軌跡データとのセットである教示データだけを用いて、出力データとしての、ある先端位置軌跡データを目標値として得ることができる入力データ(制御データ)としてのモータデータを推定する、アームの逆モデルを求めることができれば、その逆モデルは、目標値である先端位置軌跡データに対して、対応するモータデータを決定するアーム制御器に利用することができる。
このようなアームの逆モデルとしてのアーム制御器によれば、ロボットに対して、入力データとしての先端位置軌跡データを入力すると、ロボットは、アーム制御器を用いることで、対応するモータデータ(制御データ)を決定することができる。そして、ロボットが、このモータデータにしたがってモータを駆動すれば、ロボットのアームは、入力データとしての先端位置軌跡データに対応した軌跡を描くように移動する。
以上のように、入力データと出力データとのセット(教示データ)だけを用いて、順モデルや逆モデルを求めることができれば、その順モデルや逆モデルを用いて、各入力データに応じた出力データを出力するロボットを、容易に構成することが可能となる。
ところで、制御対象の順モデルや逆モデルを求める方法としては、線形システムを用いたモデル化がある。
線形システムを用いたモデル化では、例えば、図4に示すように、時刻tにおける、制御対象への入力データをu(t)とするとともに、出力データをy(t)として、出力データy(t)と入力データu(t)との関係、つまり制御対象を、例えば、式(1)および式(2)で与えられる線形システムとして近似する。
Figure 2006285899
・・・(1)
Figure 2006285899
・・・(2)
ここで、x(t)は、時刻tにおける線形システムの状態変数と呼ばれ、A, B, C は係数である。また、ここでは、説明を簡単にするために、入力データu(t)および出力データy(t)を1次元ベクトル(スカラ)とするとともに、状態変数x(t)をn次元ベクトルとすると(ここでは、nは2以上の整数値)、A,B,Cは、それぞれn×n行列、n×1行列、1×n行列で与えられる定数の行列となる。
線形システムを用いたモデル化では、観測することができる入力データu(t)と、その入力データu(t)が制御対象に与えられたときに観測される出力データy(t)との関係が、式(1)および式(2)を満たすように、行例A,B,Cを決定することで、制御対象の順モデルが得られる。
しかしながら、線形システムを用いたモデル化は、複雑な制御対象、即ち、例えば、非線形な特性を持つ制御対象をモデル化するには十分ではない。
即ち、現実の制御対象は複雑であり、非線形な特性を有することが少なくないが、かかる制御対象を、単純な線形システムとして近似してモデル化すると、順モデルが入力データに対して推定する出力データや、逆モデルが出力データに対して推定する入力データ(制御データ)の推定誤差が大になり、高精度の推定を行うことが困難となる。
そこで、非線形な特性を持つ制御対象に対する順モデルや逆モデルを得る方法としては、例えば、ニューラルネットワークを用いて、教示データ、即ち、制御対象に与えられる入力データと、その入力データが与えられたときに制御対象から観測される出力データとのセットを学習する方法がある。ここで、ニューラルネットワークとは、生体の神経細胞(ニューロン)を模擬した人工素子を相互接続して構成されるネットワークであり、外部から与えられる教示データの関係、つまり、入力データと出力データとの関係を学習することができる。
しかしながら、ニューラルネットワークによって、制御対象を適切にモデル化するには、制御対象の複雑性に応じて、ニューラルネットワークの規模を大にする必要がある。ニューラルネットワークの規模が大になると、学習に要する時間が飛躍的に増大し、また、安定した学習も難しくなる。このことは、入力データや出力データの次元数が大である場合も同様である。
一方、入力データと出力データとのセット(教示データ)だけを用いて、順モデルや逆モデルを求める場合には、教示データを用いて学習を行い、教示データが、幾つかのパターンのうちのいずれに該当するかを認識する必要がある。即ち、教示データとしての入力データや出力データのパターンを学習して認識する必要がある。
パターンを学習して認識を行う技術は、一般にパターン認識(pattern recognition)と呼ばれ、パターン認識における学習は、教師あり学習(supervised learning)と、教師なし学習(unsupervised learning)とに分けることができる。
教師あり学習とは、各パターンの学習データがどのクラスに属するかの情報(これを正解ラベルと呼ぶ)を与えて、各パターンごとに、そのパターンに属する学習データを学習する方法であり、ニューラルネットワークや、HMM(Hidden Markov Model)などを用いた学習方法が数多く提案されている。
ここで、図5は、従来の教師あり学習の一例を示している。
教師あり学習では、学習に利用する学習データが、想定したカテゴリ(クラス)(例えば、各音素のカテゴリや、各音韻のカテゴリ、各単語のカテゴリなど)ごとに用意される。例えば、"A","B","C"という発声の音声データを学習する場合、"A","B","C"それぞれの多数の音声データが用意されることになる。
一方、学習に利用するモデル(各カテゴリの学習データを学習させるモデル)も、想定したカテゴリごとに用意される。ここで、モデルは、パラメータによって定義される。例えば、音声データの学習には、モデルとして、HMMなどが用いられるが、HMMは、ある状態から他の状態(元の状態を含む)に遷移する状態遷移確率や、HMMから出力される観測値の確率密度を表す出力確率密度関数などによって定義される。
教師あり学習では、各カテゴリ(クラス)のモデルの学習が、そのカテゴリの学習データのみを用いて行われる。即ち、図5では、カテゴリ"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の出力層のノードにおいて、結合重みとしてのベクトルと、学習データとしてのベクトルとの距離が最も近いノードが、その学習データとしてのベクトルに最も適合する勝者ノードに決定され、その勝者ノードの結合重みとしてのベクトルが、学習データとしてのベクトルに近づくように更新される。さらに、勝者ノードの近傍のノードの結合重みも、学習データに少しだけ近づくように更新される。その結果、学習が進むにつれ、結合重みとしてのベクトルが類似したノードどうしは近くなるように、類似しないノードは遠くなるように、出力層の上に配置されていく。従って、出力層には、あたかも学習データに含まれるパターンに応じた地図が構成されていくことになる。このように、学習が進むにつれて、類似するノード(結合重みとしてのベクトルが類似するノード)どうしが近い位置に学習データに含まれるパターンに応じた地図が構成が構成されていく学習は、自己組織的または自己組織化(self-organization)と呼ばれる。
ここで、上述のような学習の結果として得られる結合重みのベクトルは、信号空間に配置されるセントロイドベクトルと見ることができる。K-平均法では、学習データに最も距離の近いベクトルのみが更新されることから、その更新方法はWTA(winner-take-all)と呼ばれる。一方、SOMによる学習では、学習データに最も距離の近いノード(勝者ノード)の結合重みだけでなく、勝者ノードの近傍のノードの結合重みも更新されるから、その更新方法はSMA(soft-max adaptation)と呼ばれる。WTAで学習を行うと学習結果が局所解に陥りやすいのに対して、SMAで学習を行うと、局所解に陥る問題を改善することができることが知られている。
なお、SOMに関しては、例えば、非特許文献1に記載されている。
ところで、上述のSOM は、いわば静的な信号パターンであるベクトル、つまり一定の長さのデータを対象とした教師なし学習を提供する。従って、音声データのような時系列のデータ(時系列データ)、つまり長さが不定の、いわば動的な信号パターンに対しては、SOM を、そのまま適用することはできない。
また、連続するベクトルの系列を連結し(連続するベクトルの要素を、1つのベクトルの要素とし)、高次元のベクトルを定義することで、時系列データとしての時系列のベクトルを、静的な信号パターンとして扱う方法が提案されているが、この方法も、音声データのように長さが固定されていない(不定の)時系列データに対しては、そのまま通用することはできない。
一方、時系列データのパターン認識、即ち、例えば、音声データの認識(音声認識)で広く利用されている技術の1つに、HMMを用いるHMM法がある(例えば、非特許文献2参照)。
HMMは、状態遷移を有する確率モデルである状態遷移確率モデルの1つであり、上述したように、状態遷移確率と、各状態における出力確率密度関数で定義され、HMM法では、学習すべき時系列データの統計的な特性がHMMによってモデル化される。なお、HMMを定義する出力確率密度関数としては、例えば混合正規分布などが用いられる。また、HMMの学習、即ち、HMMのパラメータ(HMMを定義する状態遷移確率と出力確率密度関数)の推定の方法としては、Baum-Welch 法が広く使われている。
HMM法は、現在実用化されている孤立単語音声認識から大語彙連続音声認識にまで幅広く適用されているが、HMMの学習は、通常、教師あり学習であり、図5で説明したように、正解ラベルの付与された学習データを用いて行われる。即ち、例えば、ある単語を認識するHMMの学習は、その単語に対応する学習データ(その単語の発話によって得られる音声データ)を用いて行われる。
このように、HMMの学習は、通常、教師あり学習であり、正解ラベルの付与されていない学習データが与えられた場合にHMMの学習を行うこと、つまり、HMMの教師なし学習は、非常に難しい問題となる。
T.コホネン、「自己組織化マップ」、シュプリンガー・フェアラーク東京 Laurence Rabiner, Biing-Hwang Juang 共著、「音声認識の基礎(上・下)」、NTTアドバンステクノロジ株式会社
以上のように、従来においては、SOMのような静的なパターンの教師なし学習や、HMMのような動的な時系列データの教師あり学習を実現する方法は提供されていたが、どちらも動的な時系列データの教師なし学習を実現するには不十分であった。
このため、入力データや出力データが時系列データである場合に、その入力データと出力データそれぞれの教師なし学習を行い、さらに、入力データと出力データとの関係を学習して、順モデルや逆モデルを得ることが困難であった。
本発明は、このような状況に鑑みてなされたものであり、時系列データの教師なし学習、さらには、時系列データである入力データと出力データとの関係の学習を、容易に行うことができるようにするものである。
本発明の第1の学習装置、第1の学習方法、および第1のプログラムは、所定の制御対象に入力される入力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、所定の制御対象が入力データに対して出力する出力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークとを有し、入力時系列パターン記憶ネットワークのノードと、出力時系列パターン記憶ネットワークのノードとが結合されている結合モデルにおける複数の入力時系列パターン記憶ネットワークそれぞれを、入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む入力データの、対応するチャネルのサブ入力データに基づいて、自己組織的に更新するとともに、複数の出力時系列パターン記憶ネットワークそれぞれを、出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む出力データの、対応するチャネルのサブ出力データに基づいて、自己組織的に更新する学習手段/ステップと、入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルのサブ入力データに最も適合するノードである入力勝者ノードと、出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルのサブ出力データに最も適合するノードである出力勝者ノードと、入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新手段/ステップとを含むことを特徴とする。
この第1の学習装置、第1の学習方法、および第1のプログラムにおいては、結合モデルにおける複数の入力時系列パターン記憶ネットワークそれぞれが、入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む入力データの、対応するチャネルのサブ入力データに基づいて、自己組織的に更新されるとともに、複数の出力時系列パターン記憶ネットワークそれぞれが、出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む出力データの、対応するチャネルのサブ出力データに基づいて、自己組織的に更新される。そして、入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルのサブ入力データに最も適合するノードである入力勝者ノードと、出力時系列パターン記憶ネットワークの各ノードとの結合関係が更新されるとともに、出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルのサブ出力データに最も適合するノードである出力勝者ノードと、入力時系列パターン記憶ネットワークの各ノードとの結合関係が更新される。
なお、結合モデルは、所定の制御対象に入力される入力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、所定の制御対象が入力データに対して出力する出力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークとを有し、入力時系列パターン記憶ネットワークのノードと、出力時系列パターン記憶ネットワークのノードとは結合されている。
本発明の第2の学習装置、第2の学習方法、および第2のプログラムは、所定の制御対象に入力される入力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の入力時系列パターン記憶ネットワークと、所定の制御対象が入力データに対して出力する出力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークとを有し、入力時系列パターン記憶ネットワークのノードと、出力時系列パターン記憶ネットワークのノードとが結合されている結合モデルにおける1の入力時系列パターン記憶ネットワークを、入力データに基づいて、自己組織的に更新するとともに、複数の出力時系列パターン記憶ネットワークそれぞれを、出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む出力データの、対応するチャネルのサブ出力データに基づいて、自己組織的に更新する学習手段/ステップと、入力時系列パターン記憶ネットワークのノードのうちの、入力データに最も適合するノードである入力勝者ノードと、出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルのサブ出力データに最も適合するノードである出力勝者ノードと、入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新手段/ステップとを含むことを特徴とする。
この第2の学習装置、第2の学習方法、および第2のプログラムにおいては、結合モデルにおける1の入力時系列パターン記憶ネットワークが、入力データに基づいて、自己組織的に更新されるとともに、複数の出力時系列パターン記憶ネットワークそれぞれが、出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む出力データの、対応するチャネルのサブ出力データに基づいて、自己組織的に更新される。そして、入力時系列パターン記憶ネットワークのノードのうちの、入力データに最も適合するノードである入力勝者ノードと、出力時系列パターン記憶ネットワークの各ノードとの結合関係が更新されるとともに、出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルのサブ出力データに最も適合するノードである出力勝者ノードと、入力時系列パターン記憶ネットワークの各ノードとの結合関係が更新される。
なお、結合モデルは、所定の制御対象に入力される入力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の入力時系列パターン記憶ネットワークと、所定の制御対象が入力データに対して出力する出力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークとを有し、入力時系列パターン記憶ネットワークのノードと、出力時系列パターン記憶ネットワークのノードとは結合されている。
本発明の第3の学習装置、第3の学習方法、および第3のプログラムは、所定の制御対象に入力される入力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、所定の制御対象が入力データに対して出力する出力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の出力時系列パターン記憶ネットワークとを有し、入力時系列パターン記憶ネットワークのノードと、出力時系列パターン記憶ネットワークのノードとが結合されている結合モデルにおける複数の入力時系列パターン記憶ネットワークそれぞれを、入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む入力データの、対応するチャネルのサブ入力データに基づいて、自己組織的に更新するとともに、1の出力時系列パターン記憶ネットワークを、出力データに基づいて、自己組織的に更新する学習手段/ステップと、入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルのサブ入力データに最も適合するノードである入力勝者ノードと、出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、出力時系列パターン記憶ネットワークのノードのうちの、出力データに最も適合するノードである出力勝者ノードと、入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新手段/ステップと含むことを特徴とする。
この本発明の第3の学習装置、第3の学習方法、および第3のプログラムにおいては、結合モデルにおける複数の入力時系列パターン記憶ネットワークそれぞれが、入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む入力データの、対応するチャネルのサブ入力データに基づいて、自己組織的に更新されるとともに、1の出力時系列パターン記憶ネットワークが、出力データに基づいて、自己組織的に更新される。そして、入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルのサブ入力データに最も適合するノードである入力勝者ノードと、出力時系列パターン記憶ネットワークの各ノードとの結合関係が更新されるとともに、出力時系列パターン記憶ネットワークのノードのうちの、出力データに最も適合するノードである出力勝者ノードと、入力時系列パターン記憶ネットワークの各ノードとの結合関係が更新される。
なお、結合モデルは、所定の制御対象に入力される入力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、所定の制御対象が入力データに対して出力する出力データとしての時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の出力時系列パターン記憶ネットワークとを有し、入力時系列パターン記憶ネットワークのノードと、出力時系列パターン記憶ネットワークのノードとは結合されている。
本発明の第1の生成装置、第1の生成方法、および第4のプログラムは、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークとを有し、第1の時系列パターン記憶ネットワークのノードと、第2の時系列パターン記憶ネットワークのノードとが結合されている結合モデルにおける複数の第1の時系列パターン記憶ネットワークそれぞれについて、第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定手段/ステップと、第2の時系列パターン記憶ネットワークのノードの中から、勝者ノードとの結合が最強のノードを、他の時系列データを生成する生成ノードとして決定する生成ノード決定手段/ステップと、生成ノードが有する時系列パターンモデルに基づいて、他の時系列データを生成する生成手段/ステップとを含むことを特徴とする。
この第1の生成装置、第1の生成方法、および第4のプログラムにおいては、結合モデルにおける複数の第1の時系列パターン記憶ネットワークそれぞれについて、第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードが決定され、第2の時系列パターン記憶ネットワークのノードの中から、勝者ノードとの結合が最強のノードが、他の時系列データを生成する生成ノードとして決定される。そして、生成ノードが有する時系列パターンモデルに基づいて、他の時系列データが生成される。
なお、結合モデルは、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークとを有し、第1の時系列パターン記憶ネットワークのノードと、第2の時系列パターン記憶ネットワークのノードとは結合されている。
本発明の第2の生成装置、第2の生成方法、および第5のプログラムは、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第1の時系列パターン記憶ネットワークと、他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークとを有し、第1の時系列パターン記憶ネットワークのノードと、第2の時系列パターン記憶ネットワークのノードとが結合されている結合モデルにおける1の第1の時系列パターン記憶ネットワークについて、時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定手段/ステップと、第2の時系列パターン記憶ネットワークのノードの中から、勝者ノードとの結合が最強のノードを、他の時系列データを生成する生成ノードとして決定する生成ノード決定手段/ステップと、生成ノードが有する時系列パターンモデルに基づいて、他の時系列データを生成する生成手段/ステップとを含むことを特徴とする。
この本発明の第2の生成装置、第2の生成方法、および第5のプログラムにおいては、結合モデルにおける1の第1の時系列パターン記憶ネットワークについて、時系列データに最も適合するノードである勝者ノードが決定され、第2の時系列パターン記憶ネットワークのノードの中から、勝者ノードとの結合が最強のノードが、他の時系列データを生成する生成ノードとして決定される。そして、生成ノードが有する時系列パターンモデルに基づいて、他の時系列データが生成される。
なお、結合モデルは、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第1の時系列パターン記憶ネットワークと、他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークとを有し、第1の時系列パターン記憶ネットワークのノードと、第2の時系列パターン記憶ネットワークのノードとは結合されている。
本発明の第3の生成装置、第3の生成方法、および第6のプログラムは、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第2の時系列パターン記憶ネットワークとを有し、第1の時系列パターン記憶ネットワークのノードと、第2の時系列パターン記憶ネットワークのノードとが結合されている結合モデルにおける複数の第1の時系列パターン記憶ネットワークそれぞれについて、第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定手段/ステップと、第2の時系列パターン記憶ネットワークのノードの中から、勝者ノードとの結合が最強のノードを、他の時系列データを生成する生成ノードとして決定する生成ノード決定手段/ステップと、生成ノードが有する時系列パターンモデルに基づいて、他の時系列データを生成する生成手段/ステップとを含むことを特徴とする。
この第3の生成装置、第3の生成方法、および第6のプログラムにおいては、結合モデルにおける複数の第1の時系列パターン記憶ネットワークそれぞれについて、第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードが決定され、第2の時系列パターン記憶ネットワークのノードの中から、勝者ノードとの結合が最強のノードが、他の時系列データを生成する生成ノードとして決定される。そして、生成ノードが有する時系列パターンモデルに基づいて、他の時系列データが生成される。
なお、結合モデルは、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第2の時系列パターン記憶ネットワークとを有し、第1の時系列パターン記憶ネットワークのノードと、第2の時系列パターン記憶ネットワークのノードとは結合されている。
本発明によれば、時系列データの教師なし学習、さらには、時系列データである入力データと出力データとの関係の学習を、容易に行うことが可能となる。
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の学習装置は、
時系列のデータである時系列データに基づき、学習を行う学習装置(例えば、図21の学習部212)において、
所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、
前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークと
を有し、
前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける複数の前記入力時系列パターン記憶ネットワークそれぞれを、前記入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む前記入力データの、対応するチャネルの前記サブ入力データに基づいて、自己組織的に更新するとともに、複数の前記出力時系列パターン記憶ネットワークそれぞれを、前記出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む前記出力データの、対応するチャネルの前記サブ出力データに基づいて、自己組織的に更新する学習手段(例えば、図21の学習処理部221)と、
前記入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新手段(例えば、図21の結合重み更新部222)と
を備えることを特徴とする。
請求項10に記載の学習方法は、
時系列のデータである時系列データに基づき、学習を行う学習方法において、
所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、
前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークと
を有し、
前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける複数の前記入力時系列パターン記憶ネットワークそれぞれを、前記入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む前記入力データの、対応するチャネルの前記サブ入力データに基づいて、自己組織的に更新するとともに、複数の前記出力時系列パターン記憶ネットワークそれぞれを、前記出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む前記出力データの、対応するチャネルの前記サブ出力データに基づいて、自己組織的に更新する学習ステップ(例えば、図28のステップS123およびS124)と、
前記入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新ステップ(例えば、図28のステップS126)と
を含むことを特徴とする。
請求項11に記載のプログラムの各ステップが対応する具体例は、請求項10に記載の学習方法の各ステップが対応する具体例と同様である。
請求項12に記載の学習装置は、
時系列のデータである時系列データに基づき、学習を行う学習装置(例えば、図21の学習部212)において、
所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の入力時系列パターン記憶ネットワークと、
前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークと
を有し、
前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける1の前記入力時系列パターン記憶ネットワークを、前記入力データに基づいて、自己組織的に更新するとともに、複数の前記出力時系列パターン記憶ネットワークそれぞれを、前記出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む前記出力データの、対応するチャネルの前記サブ出力データに基づいて、自己組織的に更新する学習手段(例えば、図21の学習処理部221)と、
前記入力時系列パターン記憶ネットワークのノードのうちの、前記入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新手段(例えば、図21の結合重み更新部222)と
を備えることを特徴とする。
請求項15に記載の学習方法は、
時系列のデータである時系列データに基づき、学習を行う学習方法において、
所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の入力時系列パターン記憶ネットワークと、
前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークと
を有し、
前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける1の前記入力時系列パターン記憶ネットワークを、前記入力データに基づいて、自己組織的に更新するとともに、複数の前記出力時系列パターン記憶ネットワークそれぞれを、前記出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む前記出力データの、対応するチャネルの前記サブ出力データに基づいて、自己組織的に更新する学習ステップ(例えば、図28のステップS123およびS124)と、
前記入力時系列パターン記憶ネットワークのノードのうちの、前記入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新ステップ(例えば、図28のステップS126)と
を含むことを特徴とする。
請求項16に記載のプログラムの各ステップが対応する具体例は、請求項15に記載の学習方法の各ステップが対応する具体例と同様である。
請求項17に記載の学習装置は、
時系列のデータである時系列データに基づき、学習を行う学習装置(例えば、図21の学習部212)において、
所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、
前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の出力時系列パターン記憶ネットワークと
を有し、
前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける複数の前記入力時系列パターン記憶ネットワークそれぞれを、前記入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む前記入力データの、対応するチャネルの前記サブ入力データに基づいて、自己組織的に更新するとともに、1の前記出力時系列パターン記憶ネットワークを、前記出力データに基づいて、自己組織的に更新する学習手段(例えば、図21の学習処理部221)と、
前記入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、前記出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新手段(例えば、図21の結合重み更新部222)と
を備えることを特徴とする。
請求項20に記載の学習方法は、
時系列のデータである時系列データに基づき、学習を行う学習方法において、
所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、
前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の出力時系列パターン記憶ネットワークと
を有し、
前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける複数の前記入力時系列パターン記憶ネットワークそれぞれを、前記入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む前記入力データの、対応するチャネルの前記サブ入力データに基づいて、自己組織的に更新するとともに、1の前記出力時系列パターン記憶ネットワークを、前記出力データに基づいて、自己組織的に更新する学習ステップ(例えば、図28のステップS123およびS124)と、
前記入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、前記出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新ステップ(例えば、図28のステップS126)と
を含むことを特徴とする。
請求項21に記載のプログラムの各ステップが対応する具体例は、請求項20に記載の学習方法の各ステップが対応する具体例と同様である。
請求項22に記載の生成装置は、
時系列のデータである時系列データに対して、他の時系列データを生成する生成装置(例えば、図21の認識生成部213)において、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、
前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークと
を有し、
前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける複数の前記第1の時系列パターン記憶ネットワークそれぞれについて、前記第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む前記時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図21の勝者ノード決定部232)と、
前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定手段(例えば、図21の生成ノード決定部233)と、
前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成手段(例えば、図21の時系列生成部234)と
を備えることを特徴とする。
請求項32に記載の生成方法は、
時系列のデータである時系列データに対して、他の時系列データを生成する生成方法において、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、
前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークと
を有し、
前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける複数の前記第1の時系列パターン記憶ネットワークそれぞれについて、前記第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む前記時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定ステップ(例えば、図29のステップS134)と、
前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定ステップ(例えば、図29のステップS136)と、
前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成ステップ(例えば、図29のステップS137)と
を含むことを特徴とする。
請求項33に記載のプログラムの各ステップが対応する具体例は、請求項32に記載の生成方法の各ステップが対応する具体例と同様である。
請求項34に記載の生成装置は、
時系列のデータである時系列データに対して、他の時系列データを生成する生成装置(例えば、図21の認識生成部213)において、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第1の時系列パターン記憶ネットワークと、
前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークと
を有し、
前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける1の前記第1の時系列パターン記憶ネットワークについて、前記時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図21の勝者ノード決定部232)と、
前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定手段(例えば、図21の生成ノード決定部233)と、
前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成手段(例えば、図21の時系列生成部234)と
を備えることを特徴とする。
請求項37に記載の生成方法は、
時系列のデータである時系列データに対して、他の時系列データを生成する生成方法において、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第1の時系列パターン記憶ネットワークと、
前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークと
を有し、
前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける1の前記第1の時系列パターン記憶ネットワークについて、前記時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定ステップ(例えば、図29のステップS134)と、
前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定ステップ(例えば、図29のステップS136)と、
前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成ステップ(例えば、図29のステップS137)と
を含むことを特徴とする。
請求項38に記載のプログラムの各ステップが対応する具体例は、請求項37に記載の生成方法の各ステップが対応する具体例と同様である。
請求項39に記載の生成装置は、
時系列のデータである時系列データに対して、他の時系列データを生成する生成装置(例えば、図21の認識生成部213)において、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、
前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第2の時系列パターン記憶ネットワークと
を有し、
前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける複数の前記第1の時系列パターン記憶ネットワークそれぞれについて、前記第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む前記時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図21の勝者ノード決定部232)と、
前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定手段(例えば、図21の生成ノード決定部233)と、
前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成手段(例えば、図21の時系列生成部234)と
を備えることを特徴とする。
請求項41に記載の生成方法は、
時系列のデータである時系列データに対して、他の時系列データを生成する生成方法において、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、
前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第2の時系列パターン記憶ネットワークと
を有し、
前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
結合モデルにおける複数の前記第1の時系列パターン記憶ネットワークそれぞれについて、前記第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む前記時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定ステップ(例えば、図29のステップS134)と、
前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定ステップ(例えば、図29のステップS136)と、
前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成ステップ(例えば、図29のステップS137)と
を含むことを特徴とする。
請求項42に記載のプログラムの各ステップが対応する具体例は、請求項41に記載の生成方法の各ステップが対応する具体例と同様である。
以下、図面を参照して、本発明の実施の形態について説明するが、その前段階の準備として、時系列パターン記憶ネットワークについて説明する。
図6は、時系列パターン記憶ネットワークの例を模式的に示している。
時系列パターン記憶ネットワークは、時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークで、そのネットワーク全体で、ノードの数だけの(クラス分けを行う)時系列パターンを記憶する。
図6においては、時系列パターン記憶ネットワークは、ノードN1乃至N6の6つのノードから構成されている。
時系列パターン記憶ネットワークを構成する各ノードNi(図6では、i=1,2,・・・,6)は、時系列パターンを表現する時系列パターンモデルを有する。また、ノードNiは、他のノードNj(図6では、j=1,2,・・・,6)と結合関係を持つことができる。この結合関係をリンクと呼ぶ。図6では、例えば、ノードN1は、ノードN2,N3と直接の結合関係を有している。また、例えば、ノードN3は、ノードN1,N2,N5,N6と直接の結合関係を有しており、従って、ノードN5とN6は、ノードN3を介して、ノードN1と間接的な結合関係を有している。なお、2つのノードNiとNjとの結合関係としては、その2つのノードNiとNjとの最短の結合関係を考えるものとする。
時系列パターン記憶ネットワークの学習(時系列パターン記憶ネットワークに時系列パターンを記憶させる学習)は、時系列データを、学習用の学習データとして行われるが、この学習データは、カテゴリの種類や、カテゴリの数が未知のもので、この点、時系列パターン記憶ネットワークの学習は、前述の図5で説明した教師あり学習と大きく異なる。また、時系列パターン記憶ネットワークの学習に用いられる学習データには、正解ラベルは付与されていない。このため、時系列パターン記憶ネットワークの学習には、前述の図5で説明した教師あり学習を適用することはできない。
このように、時系列パターン記憶ネットワークの学習には、教師あり学習を適用することができず、また、学習データは、そのカテゴリの種類も、カテゴリの数も未知である。そこで、時系列パターン記憶ネットワークの学習は、その全体(のノード)によって、学習データの特徴(時系列パターン)を適切に表現することができるように、自己組織的に行われる。
なお、時系列パターン記憶ネットワークの学習は、教師なし学習である。また、時系列パターン記憶ネットワークの学習は、ある1つのノードが、必ずしもある1つのカテゴリに対応するように行われるとは限らない。即ち、時系列パターン記憶ネットワークにおいては、1つのノードが1つのカテゴリに対応するように学習が行われる場合もあるし、複数のノードが1つのカテゴリに対応するように学習が行われる場合もある。さらに、1つのノードが複数のカテゴリに対応するように学習が行われる場合もある。従って、仮に、学習データが、明確にカテゴリ分けすることができないものであっても、時系列パターン記憶ネットワークによる学習は行うことができる。
次に、図7は、時系列パターン記憶ネットワークのノードNiの構成例を模式的に示している。
ノードNiは、時系列パターンを表現する時系列パターンモデル21と、その時系列パターンモデル21の学習に用いる学習データを記憶する学習データ記憶部22とから構成される。
ここで、図7では、時系列パターンモデル21として、状態確率遷移モデルの1つであるHMM(連続HMM)が採用されている。また、図7では、HMMは、自己ループと次状態(右隣の状態)への状態遷移だけを有するleft-to-right型の3状態S1,S2,S3を有するものとなっている。図7の時系列パターンモデル21における○印は状態を表し、矢印は状態遷移を表している。なお、時系列パターンモデル21としてのHMMは、left-to-right型や、3状態のもの等に限定されない。
時系列パターンモデル21が、図7に示したようなHMMである場合、その時系列パターンモデル21としてのHMMは、状態遷移確率と出力確率密度関数(HMMが離散HMMである場合には、スカラ量である離散的なシンボルが出力される確率)とで定義される。
状態遷移確率は、HMMにおいて、状態が遷移する確率で、図7の時系列パターンモデル21における矢印で示した状態遷移それぞれに対して与えられる。出力確率密度関数は、状態遷移時に、HMMから観測される値の確率密度を表す。出力確率密度関数としては、例えば、混合正規分布などが採用される。これらのHMMのパラメータ(状態遷移確率と出力確率密度関数)は、例えば、Baum-Welch 法によって学習(推定)することができる。
ノードNiでは、学習データ記憶部22に記憶された学習データの統計的な特性、即ち、学習データ記憶部22に記憶された学習データの時系列パターンが、時系列パターンモデル21において学習され、これにより、時系列パターンモデル21と、学習データ記憶部22に記憶された学習データとが、対応関係を持つことになる。
なお、時系列パターン記憶ネットワークの学習、ひいては、ノードNiの時系列パターンモデル21の学習は、時系列パターン記憶ネットワークに対して、時系列データが与えられるごとに学習を行うオンライン学習によって行われる。従って、時系列パターン記憶ネットワークのパラメータ、つまり、ノードNiの時系列パターンモデル21のパラメータ(時系列パターンモデル21がHMMである場合には、上述したように、状態遷移確率と出力確率密度関数)は、時系列パターン記憶ネットワークに対して、時系列データが与えられるたびに、少しずつ更新される。
即ち、後述するように、時系列パターン記憶ネットワークの学習が進むにつれ、学習データ記憶部22に記憶される学習データは、時系列パターン記憶ネットワークに与えられた時系列データによって更新され、これにより、少しずつ変化する。そして、その少しずつ変化する学習データによって、時系列パターンモデル21の学習が行われることにより、その時系列パターンモデル21のパラメータも、少しずつ変化していく。
次に、図8は、時系列パターン記憶ネットワークの他の例を模式的に示している。
図8では、時系列パターン記憶ネットワークは、9個のノードN1乃至N9で構成されており、この9個のノードN1乃至N9は、2次元的に配置されている。即ち、図8では、9個のノードN1乃至N9は、2次元平面上に、横×縦が3×3となるように配置されている。
さらに、図8では、2次元的に配置された9個のノードN1乃至N9の、横方向に隣接するノードどうしと、縦方向に隣接するノードどうしに対して、リンク(結合関係)が与えられている。なお、このようなリンクを与えることによって、時系列パターン記憶ネットワークを構成するノードには、空間的に、2次元的に配置される配置構造が与えられているということもできる。
時系列パターン記憶ネットワークでは、リンクによって与えられる空間的なノードの配置構造に基づき、その空間上でのある2つのノードどうしの距離を定義することができ、この2つのノードどうしの距離は、その2つのノードそれぞれが有する時系列パターンモデル21が表現する時系列パターンのパターン間距離(時系列パターンどうしの類似性)として用いることができる。
なお、2つのノードどうしの距離によって表される時系列パターンのパターン間距離は、2つのノードの結合関係(リンク)に基づくパターン間距離ということができる。
2つのノードどうしの距離としては、例えば、その2つのノードどうしを結ぶ最短のパスを構成するリンクの数を採用することができる。この場合、あるノードに注目すると、その注目ノードとの直接のリンクを有するノード(図8では、注目ノードの横方向や縦方向に隣接するノード)は、注目ノードとの距離が最も近く、注目ノードとの直接のリンクを有するノードから先のリンクを辿っていくことで到達することができるノードは、到達するのに辿るリンクの数が多いほど、注目ノードとの距離が遠くなっていく。
なお、ノードに与えるリンクは、図6や図8に示したものに限定されるものではない。また、図6や図8に示したリンクは、ノードに対して、2次元的な配置構造を与えるが、リンクは、その他、1次元的な配置構造や3次元的な配置構造等を与えるリンクであっても良い。さらに、ノードには、必ずしもリンクを与える必要はない。
即ち、図9は、図2の記憶部5に記憶される時系列パターン記憶ネットワークのさらに他の例を模式的に示している。
図9では、時系列パターン記憶ネットワークは、図6における場合と同様に、6個のノードN1乃至N6で構成されているが、これらの6個のノードN1乃至N6は、いずれもリンクを有していない。従って、図9の時系列パターン記憶ネットワークを構成するノードN1乃至N6は、リンクによって与えられる空間的な配置構造は有していない。なお、空間的な配置構造は有していないということは、空間的な制約がない配置構造が与えられているということもできる。
ここで、ある2つのノードにリンクがない場合には、空間上でのその2つのノードどうしの距離を定義することはできないから、その2つのノードそれぞれが(有する時系列パターンモデル21が)表現する時系列パターンのパターン間距離として、結合関係(リンク)に基づくパターン間距離は用いることができない。そこで、この場合には、例えば、ノードが、ある時系列データ(の観測値)に適合する度合いに基づく順位(以下、適宜、適合順位という)に対応する値を、パターン間距離として用いることができる。
即ち、ある時系列データが与えられた場合には、その時系列データに対して、ノードが表現する時系列パターンとの類似性を、そのノードが適合する度合いとして求めることができる。いま、時系列パターン記憶ネットワークを構成するノードのうち、ある時系列データに最も適合するノードである勝者ノードについては、勝者ノードと、時系列パターン記憶ネットワークのあるノードのそれぞれが表現する時系列パターンのパターン間距離として、そのノードが時系列データに適合する順位(適合順位)に対応する値を採用することができる。
具体的には、時系列パターン記憶ネットワークを構成するノードのうち、勝者ノードとなっているノードの適合順位は第1位であり、このノード(勝者ノード)と勝者ノードとの(それぞれが表現する時系列パターンの)パターン間距離は、例えば、その適合順位から1を減算した0とすることができる。
また、時系列パターン記憶ネットワークを構成するノードのうち、適合順位が第2位のノードと勝者ノードとのパターン間距離は、例えば、その適合順位から1を減算した1とすることができる。以下、同様に、ノードの適合順位から1を減算して得られる値を、そのノードと、勝者ノード(となっているノード)とのパターン間距離とすることができる。
なお、ノードがある時系列データに適合する度合いに基づく順位(適合順位)に対応する値によって表されるパターン間距離は、ノードが時系列データに適合する度合いに基づくパターン間距離ということができる。
次に、図10は、時系列パターン記憶ネットワークを用いて、各種の処理を行うデータ処理装置の構成例を示している。
信号入力部1には、後述する学習処理や認識処理の対象となるデータ(以下、処理対象データという)が入力される。ここで、処理対象データは、例えば、音や画像、LED(Light Emitting Diode)の明るさ、モータの回転角度や回転角速度などの観測値(外部から観測することができる値(信号))である。また、処理対象データは、例えば、図10のデータ処理装置が適用されるシステムの入力を受け付ける入力デバイス(センサ)が出力するデータ(入力データ)であっても良いし、何らかの出力を行う出力デバイスに対して与えられるデータ(出力データ)であっても良い。
即ち、図10のデータ処理装置が、例えば、2足歩行ロボットその他のロボットに適用され、その2足歩行ロボットが、外部の状況に応じて、何らかの処理を行う場合には、信号入力部1は、外部の状況をセンシングするセンサで構成することができる。具体的には、信号入力部1は、例えば、マイク(マイクロフォン)やカメラなどで構成することができる。
信号入力部1がマイクで構成される場合には、そのマイクに対して、外部で発生する音声(人間の音声の他、動物の鳴き声、物音、その他のあらゆる音を含む)が、2足歩行ロボット(データ処理装置が適用されているシステム)に対する入力データとして入力され、対応する音声データが、特徴抽出部2に供給される。また、信号入力部1がカメラで構成される場合には、そのカメラに対して、外部からの光が、2足歩行ロボットに対する入力データとして入力され、対応する画像データが、特徴抽出部2に供給される。
また、2足歩行ロボットが、例えば、手や足に相当する部分を、アクチュエータとしてのモータによって動かすことができる場合には、信号入力部1は、そのモータの回転角度や回転速度を計測する計測装置(回転角度や回転速度をセンシングするセンサ)で構成することができる。なお、2足歩行ロボットの手や足に相当する部分を動かすモータは、そのモータを回転駆動させる電気信号としての駆動信号を与える他、手や足に相当する部分に外部から力を加えて動かすことによっても回転するが、計測装置では、そのいずれの回転によって生じた回転角度や回転速度であっても計測することができる。
信号入力部1が計測装置で構成される場合には、その計測装置に対して、モータの回転角度や回転速度を表す信号が、2足歩行ロボットからの出力データとして入力されて計測され、その計測結果が、特徴抽出部2に供給される。
なお、信号入力部1に入力される処理対象データは、時間的な変化が一定の定常的なデータ(定常信号)であっても良いし、時間的な変化が一定でない非定常なデータ(非定常信号)であっても良い。
また、以下では、信号入力部1に対しては、例えば、時系列データの1つである音声が入力されるものとする。さらに、信号入力部1から特徴抽出部2に対しては、いわゆる音声区間の音声データだけが供給されるものとする。なお、音声区間の検出方法は、特に限定されるものではない。また、信号入力部1から特徴抽出部2に対して供給される音声データは、必ずしも、音声区間の長さである必要はなく、適切な長さに区切られていればよい。即ち、信号入力部1から特徴抽出部2に対して供給される音声データは、例えば、音素や音韻の単位であっても良いし、単語や文、ある句読点から次の句読点までであっても良い。
ここで、信号入力部1から特徴抽出部2に対して供給される処理対象データは、音声データに限定されるものではなく、その区間も、特に限定されるものではない。即ち、信号入力部1から特徴抽出部2に対しては、最も良い方法で適当な長さに区切られた処理対象データが供給されれば良い。なお、信号入力部1から特徴抽出部2に対して供給される処理対象データ(の区間)は、一定であっても良いし、一定でなくても良い。
特徴抽出部2は、信号入力部1からの処理対象データとしての時系列データである音声データから特徴量を抽出し、その結果得られる時系列データである時系列の特徴量を、認識部3と学習部4に供給する。即ち、特徴抽出部2は、信号入力部1からの音声データに対して一定時間間隔で周波数分析などの処理を施し、例えば、メルケプストラム係数(MFCC(Mel Frequency Cepstrum Coefficient))などの特徴量を抽出して、そのメルケプストラム係数の時系列データを、認識部3と学習部4に供給する。なお、特徴抽出部2から認識部3と学習部4に供給される時系列データも、外部から観測することができる観測値である。
認識部3は、記憶部5に記憶された時系列パターン記憶ネットワークに基づき、特徴抽出部2から供給される時系列データを認識し、その認識結果を出力する。
ここで、学習部4は、記憶部5に記憶された時系列パターン記憶ネットワークを、特徴抽出部2から供給される時系列データ(の観測値)に基づいて、自己組織的に更新する。即ち、学習部4は、特徴抽出部2から供給される時系列データに基づいて、記憶部5に記憶された時系列パターン記憶ネットワークのパラメータを更新する。なお、このパラメータの更新のことを学習と呼ぶ場合がある。
学習部4では、正解ラベルの付与されていない時系列データを繰り返し与えると、その与えられた時系列データの中の特徴的なパターン(時系列パターン)を自己組織的に獲得していく教師なし学習が実行される。その結果、記憶部5の時系列パターン記憶ネットワークには、代表的な時系列パターンが効率的に記憶される。即ち、特徴抽出部2が認識部3と学習部4に供給する時系列データは、幾つかのパターン(時系列パターン)に分類することができ、学習部4では、時系列パターン記憶ネットワークに、時系列データの代表的な時系列パターンを記憶させるための学習が行われる。
記憶部5は、時系列パターン記憶ネットワークを記憶しており、この時系列パターン記憶ネットワーク(のパラメータ)は、学習部4によって適宜更新される。
生成部6には、制御データが供給される。生成部6に供給される制御データは、記憶部5の時系列パターン記憶ネットワークが記憶している時系列パターンのうちのいずれかを表すもの(後述するノードラベル)で、生成部6は、記憶部5の時系列パターン記憶ネットワークに基づき、そこに供給される制御データが表す時系列パターンの時系列データを生成して出力する。
次に、図11は、図10の学習部4の構成例を示している。
学習部4は、時系列データ記憶部31と学習処理部32とから構成される。
時系列データ記憶部31には、特徴抽出部2から、(1区間の)新たな時系列データとしての特徴量の系列が供給される。時系列データ記憶部31は、特徴抽出部2からの新たな時系列データを、一時的に(学習処理部32による新たな時系列データを用いた処理が終了するまで)記憶する。
学習処理部32は、記憶部5に記憶された時系列パターン記憶ネットワークを、時系列データ記憶部31に記憶された新たな時系列データ(の観測値)に基づいて、自己組織的に更新する。
次に、図12は、図11の学習処理部32の構成例を示している。
スコア計算部41は、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、時系列データ記憶部31に記憶された時系列データ(の観測値)に適合する度合いをスコアとして求め、勝者ノード決定部42に供給する。即ち、ノードが有する時系列パターンモデル21が、例えば、図7に示したようにHMMである場合には、スコア計算部41は、ノードが有する時系列パターンモデル21としてのHMMから、時系列データ記憶部31に記憶された時系列データが観測される尤度を求め、そのノードのスコアとして、勝者ノード決定部42に供給する。
勝者ノード決定部42は、記憶部5に記憶された時系列パターン記憶ネットワークにおいて、時系列データ記憶部31に記憶された時系列データに最も適合するノードを求め、そのノードを、勝者ノードに決定する。
即ち、勝者ノード決定部42は、記憶部5に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部41からのスコアが最も高いノードを勝者ノードとして決定する。そして、勝者ノード決定部42は、勝者ノードを表す情報を、重み決定部43に供給する。
ここで、時系列パターン記憶ネットワークを構成するノードには、各ノードを識別するためのラベルであるノードラベルを付しておき、勝者ノードを表す情報、その他のノード表す情報としては、そのノードラベルを採用することができる。なお、ノードラベルは、ノード自体を識別するラベルであり、正解が何であるかを表す正解ラベルとは、何ら関係がない。
重み決定部43は、勝者ノード決定部42から供給されるノードラベルが表す勝者ノードに基づき、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、後述する更新重みを決定し、学習データ更新部44に供給する。
即ち、重み決定部43は、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノード(勝者ノードを含む)の更新重みを、そのノードと、勝者ノードとのパターン間距離に基づいて決定し、学習データ更新部44に供給する。
ここで、ノードが有する時系列パターンモデル21(図7)は、時系列データ記憶部31(図11)に記憶された新たな時系列データを用いて更新されるが、ノードの更新重みとは、そのノードが有する時系列パターンモデル21の更新によって、その時系列パターンモデル21が受ける新たな時系列データの影響の度合いを表す。従って、ノードの更新重みが0であれば、そのノードが有する時系列パターンモデル21は、新たな時系列データの影響を受けない(更新されない)。
なお、重み決定部43において、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードの更新重みを決定する際のパターン間距離としては、時系列パターン記憶ネットワークのノードが、図6や図8に示したように、リンクを有する場合には、そのノードと勝者ノードとの結合関係に基づくパターン間距離を採用し、また、時系列パターン記憶ネットワークのノードが、図9に示したように、リンクを有しない場合には、そのノードが、時系列データ記憶部31(図11)に記憶された新たな時系列データに適合する度合いに基づくパターン間距離を採用することができる。
即ち、重み決定部43は、記憶部5に記憶された時系列パターン記憶ネットワークを参照し、時系列パターン記憶ネットワークのノードそれぞれと、勝者ノード決定部42からのノードラベルが表す勝者ノードとの結合関係に基づくパターン間距離を求め、そのパターン間距離に基づいて、時系列パターン記憶ネットワークのノードそれぞれの更新重みを決定する。
あるいは、重み決定部43は、記憶部5に記憶された時系列パターン記憶ネットワークを参照し、時系列パターン記憶ネットワークのノードそれぞれについて、ノードが、時系列データ記憶部31に記憶された新たな時系列データに適合する度合いとして、例えば、スコア計算部41が求めるのと同様のスコアを求める。さらに、重み決定部43は、時系列パターン記憶ネットワークのノードそれぞれについて、ノードのスコアに基づく順位(適合順位)に対応する値を、新たな時系列データに適合する度合いに基づくパターン間距離として求め、そのパターン間距離に基づいて、時系列パターン記憶ネットワークのノードそれぞれの更新重みを決定する。
なお、ノードのスコアは、重み決定部43で求めても良いが、スコア計算部41から重み決定部43に供給するようにしても良い。
学習データ更新部44は、記憶部5に記憶された時系列パターン記憶ネットワークの各ノードが有する学習データ記憶部22(図7)に記憶された学習データを更新する。
即ち、学習データ更新部44は、ノードが有する学習データ記憶部22に既に記憶されている学習データと、時系列データ記憶部31に記憶された時系列データとを、重み決定部43からの、対応するノードの更新重みにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部22に記憶させることで、その学習データ記憶部22の記憶内容を更新する。
学習データ更新部44は、以上のように、学習データ記憶部22(図7)に記憶された学習データを、更新重みにしたがって更新すると、その更新が終了した旨の終了通知を、モデル学習部45に供給する。
モデル学習部45は、学習データ更新部44から終了通知を受けると、その学習データ更新部44による更新後の学習データ記憶部22(図7)に記憶された学習データを用いて、時系列パターンに記憶ネットワークの各ノードが有する時系列パターンモデル21の学習を行うことにより、その時系列パターンモデル21を更新する。
従って、モデル学習部45による、ノードが有する時系列パターンモデル21の更新は、そのノードが有する学習データ記憶部22(図7)に記憶されていた学習データ(の一部)と、時系列データ記憶部31に記憶された新たな時系列データとに基づいて行われる。なお、学習データ記憶部22の記憶内容は、更新重みにしたがって更新されるから、モデル学習部45による、時系列パターンモデル21の更新は、更新重みに基づいて行われるということもできる。
次に、図13は、図12の重み決定部43において更新重みを決定する決定方法を示している。
重み決定部43は、例えば、図13に示すような、勝者ノードとのパターン間距離dの増加に対して更新重みαが減少する関係を表す曲線(以下、距離/重み曲線という)にしたがって、ノードに対する更新重み(ノードの更新重み)を決定する。距離/重み曲線によれば、勝者ノードとのパターン間距離dが近いノードほど、大きな更新重みαが決定され、パターン間距離dが遠いノードほど、小さな更新重みαが決定される。
図13の距離/重み曲線において、横軸(左から右方向)は、更新重みαを示しており、縦軸(上から下方向)は、パターン間距離dを示している。
図13では、パターン間距離dとして、例えば、ノードとの結合関係に基づくパターン間距離、即ち、勝者ノードからの距離が採用されており、縦軸に沿って、時系列パターン記憶ネットワークを構成する6つのノードN1乃至N6が、各ノードNiと勝者ノードとの距離に対応する位置(縦軸の位置)に記載されている。
図13では、時系列パターン記憶ネットワークを構成する6つのノードN1乃至N6が、その順で、勝者ノードとの距離が近くなっている。時系列パターン記憶ネットワークを構成する6つのノードN1乃至N6のうち、勝者ノードとの距離が最も近いノード、即ち、勝者ノードとの距離が0のノードであるノードN1は、勝者ノード(となっているノード)である。
ここで、時系列パターン記憶ネットワークが、例えば、図8に示したような2次元的な配置構造を有し、勝者ノードが、例えば、ノードN6であった場合には、勝者ノードN6とノードN6との距離は最も(1番)近い0であり、ノードN6と勝者ノードN6とのパターン間距離dも0となる。また、勝者ノードN6と、ノードN3,N5、またはN9それぞれとの距離は2番目に近い1であり、ノードN3,N5、またはN9それぞれと勝者ノードN6とのパターン間距離dも1となる。さらに、勝者ノードN6と、ノードN2,N4、またはN8それぞれとの距離は3番目に近い2であり、ノードN2,N4、またはN8それぞれと勝者ノードN6とのパターン間距離dも2となる。また、勝者ノードN6と、ノードN1またはN7それぞれとの距離は最も遠い(4番目に近い)3であり、ノードN1またはN7それぞれと勝者ノードN6とのパターン間距離dも3となる。
一方、ノードがリンクを有しない、例えば、図9に示した時系列パターン記憶ネットワークについては、ノードが新たな時系列データに適合する度合いに基づくパターン間距離、即ち、ノードが新たな時系列データに適合する度合いに基づく順位(適合順位)に対応する値が、そのノードと勝者ノードとのパターン間距離dとして求められる。即ち、この場合、スコアが最も高い(一番目に高い)ノード(勝者ノード)と勝者ノードとのパターン間距離dは0とされ、スコアが2番目に高いノードと勝者ノードとのパターン間距離dは1とされる。以下、同様に、スコアがk番目に高いノードと勝者ノードとのパターン間距離dはk-1とされる。
次に、更新重みαとパターン間距離dとの関係を表す、例えば、図13に示したような距離/重み曲線は、例えば、式(3)によって与えられる。
Figure 2006285899
・・・(3)
ここで、式(3)において、定数Gは、勝者ノードの更新重みを表す定数であり、γは、減衰係数で、0<γ<1の範囲の定数である。また、変数Δは、時系列パターン記憶ネットワークを更新する更新方法として、前述したSMAを採用した場合の、勝者ノードの近傍のノード(勝者ノードとのパターン間距離dが近いノード)の更新重みαを調整するための変数である。
上述したように、勝者ノードとなっているノードのパターン間距離dとして、0が与えられ、以下、他のノードのパターン間距離dとして、勝者ノードとの距離、または適合順位にしたがって、1,2,・・・が与えられる場合、式(3)において、例えば、G=8,γ=0.5,Δ=1であれば、勝者ノードとなっているノードの更新重みαとして、8(=G)が求められる。以下、勝者ノードとの距離、または適合順位が大になるにしたがって、ノードの更新重みαとしては、4,2,1,・・・と小さくなる値が求められる。
ここで、式(3)における減衰係数Δが大きな値である場合には、パターン間距離dの変化に対する更新重みαの変化は緩やかになり、逆に、減衰係数Δが0に近い値である場合には、パターン間距離dの変化に対する更新重みαの変化は急峻になる。
従って、減衰係数Δを、例えば、上述した1から少しずつ0に近づけていくように調整すると、パターン間距離dの変化に対する更新重みαの変化は急峻になっていき、更新重みαは、パターン間距離dが大きくなるにしたがって、より小さい値となる。そして、減衰係数Δが0に近くなると、勝者ノード(となっているノード)以外のノードの更新重みαは、ほとんど0となり、この場合、時系列パターン記憶ネットワークを更新する更新方法として、前述したWTAを採用した場合と(ほぼ)等価となる。
このように、減衰係数Δを調整することによって、時系列パターン記憶ネットワークを更新する更新方法としてSMAを採用した場合の、勝者ノードの近傍のノードの更新重みαを調整することができる。
減衰係数△は、例えば、時系列パターン記憶ネットワークの更新(学習)の開始時は大きな値にし、時間の経過とともに、即ち、更新の回数が増加するにしたがって小さな値にくなるようにすることができる。この場合、時系列パターン記憶ネットワークの更新の開始時は、パターン間距離dの変化に対する更新重みαの変化が緩やかな距離/重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαが決定され、更新(学習)が進む(進行する)につれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく距離/重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαが決定される。
即ち、この場合、勝者ノード(が有する時系列パターンモデル21)の更新は、学習(更新)の進行にかかわらず、時系列データ記憶部31(図12)に記憶された新たな時系列データの影響を強く受けるように行われる。一方、勝者ノード以外のノード(が有する時系列パターンモデル21)の更新は、学習の開始時は、比較的広い範囲のノード(勝者ノードとのパターン間距離dが小のノードから、ある程度大のノード)に亘って、新たな時系列データの影響を受けるように行われる。そして、学習が進行するにつれ、勝者ノード以外のノードの更新は、徐々に狭い範囲のノードについてのみ、新たな時系列データの影響を受けるように行われる。
図12の重み決定部43は、以上のようにして、時系列パターン記憶ネットワークの各ノードの更新重みαを決定し、学習データ更新部44では、各ノードが有する学習データ記憶部22に記憶される学習データが、そのノードの更新重みαに基づいて更新される。
次に、図14を参照して、ノードが有する学習データ記憶部22に記憶される学習データを更新する更新方法について説明する。
いま、あるノードNiが有する学習データ記憶部22には、学習データが既に記憶されており、ノードNiの時系列パターンモデル21は、学習データ記憶部22に既に記憶されている学習データを用いて学習が行われたものであるとする。
学習データ更新部44は、上述したように、ノードNiが有する学習データ記憶部22に既に記憶されている学習データ(以下、適宜、旧学習データという)と、時系列データ記憶部31(図12)に記憶された新たな時系列データとを、重み決定部43からのノードNiの更新重みαにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部22に記憶させることで、その学習データ記憶部22の記憶内容を、新たな学習データに更新する。
即ち、学習データ更新部44は、旧学習データに対して、新たな時系列データを追加することで、旧学習データと新たな時系列データとを混合した新たな学習データとするが、旧学習データに対する新たな時系列データの追加(旧学習データと新たな時系列データとの混合)は、ノードNiの更新重みαに対応する比にしたがって行われる。
ここで、新たな時系列データと旧学習データとを、1:0の比率で混合すると、その混合によって得られる新たな学習データは、新たな時系列データだけとなる。逆に、新たな時系列データと旧学習データとを、0:1の比率で混合すると、その混合によって得られる新たな学習データは、旧学習データだけとなる。ノードNiの時系列パターンモデル21(図7)の更新は、新たな学習データを用いた学習によって行われるため、新たな時系列データと旧学習データとを混合する比率を変えることによって、更新により時系列パターンモデル21が受ける新たな時系列データの影響の度合い(強さ)を変えることができる。
ノードNiにおいて、新たな時系列データと旧学習データとを混合する比率としては、ノードNiの更新重みαに対応した値が採用され、例えば、更新重みαが大であるほど、新たな時系列データの比率が大となる(旧学習データの比率が小となる)ような値とされる。
具体的には、ノードNiの学習データ記憶部22には、一定の数の時系列データ(学習データ)が記憶されるものとし、その一定の数をHとする。この場合、ノードNiの時系列パターンモデル21の学習は、常に、H個の学習データ(時系列データ)を用いて行われる。
学習データ記憶部22に、常に、一定の数Hの学習データが記憶される場合、新たな時系列データと旧学習データとの混合によって得られる新たな学習データの個数は、H個である必要があり、そのような、新たな時系列データと旧学習データとの混合を、ノードNiの更新重みαに対応した比率で行う方法としては、新たな時系列データと旧学習データとを、比率α:H-αで混合する方法がある。
新たな時系列データと旧学習データとを、比率α:H-αで混合する具体的な方法としては、図14に示すように、H個の旧学習データのうちのH-α個の旧学習データに対して、α個の新たな時系列データを追加することにより、H個の新たな学習データを得る方法がある。
この場合、学習データ記憶部22に記憶される時系列データの数Hが、例えば、100であり、ノードNiの更新重みαが、例えば、8であれば、学習データ記憶部22の記憶内容は、100個の旧学習データのうちの92個の旧学習データに対して、8個の新たな時系列データを追加することによって得られる100個の新たな学習データに更新される。
H個の旧学習データのうちのH-α個の旧学習データに対する、α個の新たな時系列データの追加は、α個の新たな時系列データが得られるのを待って行う方法があるが、この方法では、1個の新たな時系列データが得られるごとに、学習データ記憶部22の記憶内容を更新することができない。
そこで、学習データ記憶部22の記憶内容の更新は、1個の新たな時系列データが得られるごとに、その新たな時系列データをα個だけ、H-α個の旧学習データに追加することにより行うことができる。即ち、1個の新たな時系列データをコピーしてα個の新たな時系列データとし、そのα個の新たな時系列データを、H個の旧学習データから古い順にα個を除外して残ったH-α個の旧学習データに追加することにより、学習データ記憶部22の記憶内容の更新を行う。これにより、1個の新たな時系列データが得られるごとに、学習データ記憶部22の記憶内容を更新することができる。
以上のように、学習データ記憶部22の記憶内容の更新を行うことにより、学習データ記憶部22には、常に、新しい順のH個の時系列データだけが、学習データとして保持されることになり、その学習データに占める新たな時系列データの割合(比率)は、更新重みαによって調整されることになる。
次に、図15のフローチャートを参照して、図10のデータ処理装置で行われる、時系列パターン記憶ネットワークを学習する学習処理について説明する。
まず最初に、ステップS1において、学習部4(図11)の学習処理部32は、記憶部5に記憶された時系列パターン記憶ネットワークのパラメータ、即ち、時系列パターン記憶ネットワークの各ノードが有する時系列パターンモデル21(図7)としての、例えばHMMのパラメータを初期化する初期化処理を行う。この初期化処理により、HMMのパラメータ(状態遷移確率と出力確率密度関数)として、適切な初期値が与えられる。なお、初期化処理において、HMMのパラメータにおいて、どのように初期値を与えるかは、特に限定されるものではない。
その後、ステップS2において、1個の処理対象データ、即ち、例えば、1の音声区間の音声データが、信号入力部1に入力されると、信号入力部1は、その処理対象データを、特徴抽出部2に供給する。特徴抽出部2は、処理対象データから特徴量を抽出し、その特徴量の時系列データ(1個の新たな時系列データ)を、学習部4に供給する。
学習部4(図11)は、特徴抽出部2からの新たな時系列データを、時系列データ記憶部31に一時記憶させ、以下、ステップS3乃至S7において、記憶部5に記憶された時系列パターン記憶ネットワークを、時系列データ記憶部31に記憶された新たな時系列データ(の観測値)に基づいて、自己組織的に更新(学習)する。
即ち、学習部4の学習処理部32(図12)では、ステップS3において、スコア計算部41が、時系列データ記憶部31に記憶された新たな時系列データを読み出し、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、新たな時系列データに適合する度合いを表すスコアとして求める。
具体的には、ノードが有する時系列パターンモデル21(図7)が、例えばHMMである場合には、そのHMMから、新たな時系列データが観測される対数尤度が、スコアとして求められる。ここで、対数尤度の計算方法としては、例えば、ビタビアルゴリズム(Viterbi algorithm)を採用することができる。
スコア計算部41は、時系列パターン記憶ネットワークが有するすべてのノードについて、新たな時系列データに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部42に供給する。
勝者ノード決定部42は、ステップS4において、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部41からのスコアが最も高いノードを求め、そのノードを勝者ノードに決定する。そして、勝者ノード決定部42は、勝者ノードを表す情報としてのノードラベルを、重み決定部43に供給する。
重み決定部43は、ステップS5において、勝者ノード決定部42からのノードラベルが表す勝者ノードを、いわば基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みを決定する。
即ち、重み決定部43は、図13で説明したように、時系列パターン記憶ネットワークの更新(学習)が進むにつれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく、式(3)で表される距離/重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαを決定し、学習データ更新部44に供給する。
学習データ更新部44は、ステップS6において、時系列パターン記憶ネットワークの各ノードが有する学習データ記憶部22(図7)に記憶された学習データを、重み決定部43からの、対応するノードの更新重みにしたがって更新する。即ち、学習データ更新部44は、図14で説明したように、時系列データ記憶部31に記憶されている新たな時系列データと、ノードの学習データ記憶部22に記憶されている旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合することにより、H個の新たな学習データを得て、そのH個の新たな学習データによって、学習データ記憶部22の記憶内容を更新する。
学習データ更新部44は、時系列パターン記憶ネットワークのノードすべての学習データ記憶部22(図7)の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部45に供給する。
モデル学習部45は、学習データ更新部44から終了通知を受けると、ステップS7において、時系列パターン記憶ネットワークのパラメータを更新する。
即ち、モデル学習部45は、時系列パターン記憶ネットワークの各ノードについて、学習データ更新部44による更新後の学習データ記憶部22に記憶された新たな学習データを用いて、時系列パターンモデル21の学習を行うことにより、その時系列パターンモデル21を更新する。
具体的には、ノードが有する時系列パターンモデル21が、例えばHMMである場合には、そのノードが有する学習データ記憶部22に記憶された新たな学習データを用いて、HMMの学習が行われる。この学習では、例えば、HMMの現在の状態遷移確率と出力確率密度関数を初期値とし、新たな学習データを用いて、Baum-Welch法により、新たな状態遷移確率と出力確率密度関数がそれぞれ求められる。そして、その新たな状態遷移確率と出力確率密度関数によって、HMMの状態遷移確率と出力確率密度関数がそれぞれ更新される。
その後は、ステップS7からステップS2に戻り、次の処理対象データが、信号入力部1に入力されるのを待って、以下、同様の処理が繰り返される。
図15の学習処理によれば、1個の新たな時系列データが得られると、その新たな時系列データに対して、時系列パターン記憶ネットワークを構成するノードの中から、勝者ノードが決定される(ステップS4)。さらに、その勝者ノードを基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みが決定される(ステップS5)。そして、更新重みに基づいて、時系列パターン記憶ネットワークを構成する各ノードが有する時系列パターンモデル21(図7)のパラメータが更新される。
即ち、図15の学習処理では、1個の新たな時系列データに対して、時系列パターン記憶ネットワークを構成するノードのパラメータの更新が1回行われ、以下、同様に、新たな時系列データが得られるたびに、ノードのパラメータの更新が繰り返されることにより、自己組織的に学習が行われる。
そして、学習が十分に行われることにより、時系列パターン記憶ネットワークの各ノードが有する時系列パターンモデル21は、ある時系列パターンを学習(獲得)する。時系列パターン記憶ネットワーク全体において学習される時系列パターンの数(種類)は、時系列パターン記憶ネットワークが有するノードの数と一致するので、時系列パターン記憶ネットワークが有するノードの数が、例えば100である場合は、100種類の時系列パターンが学習されることになる。この時系列パターンに基づき、認識部3(図10)では、時系列データ(処理対象データ)を認識する認識処理を行うことが可能となり、生成部6(図10)では、時系列データを生成する生成処理を行うことが可能となる。
なお、図15の学習処理では、時系列データ記憶部31に記憶されている新たな時系列データと、ノードの学習データ記憶部22に記憶されている旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合することにより、H個の新たな学習データを得て、そのH個の新たな学習データを用いて、ノード(が有する時系列パターンモデル21)の学習を行うことにより、そのノード(が有する時系列パターンモデル21)のパラメータを更新するようにしたが、ノードのパラメータの更新の方法は、ここで説明した方法に限定されるものではなく、更新重みαに応じて、新たな時系列データを、ノードのパラメータに反映させることができれば、どのような方法を用いても良い。
ここで、勝者ノード(が有する時系列パターンモデル21)のパラメータだけを更新する方法はWTAに対応し、勝者ノード以外のノード(が有する時系列パターンモデル21)のパラメータをも更新する方法はSMAに対応する。図15の学習処理では、SMAによってノードのパラメータが更新される。但し、ノードのパラメータの更新はWTAによって行うことも可能である。
また、図15の学習処理では、新たな時系列データが与えられると、その新たな時系列データを用いて、ノードの学習を行うオンライン学習を行うようにしたが、ノードの学習の方法としては、ある程度の数の新たな時系列データが得られてから、その新たな時系列データを用いて学習を行うバッチ学習を採用することも可能である。
次に、図16は、図10の認識部3の構成例を示している。
認識部3には、図10で説明したように、特徴抽出部2から、(1個の)時系列データが供給され、この時系列データは、スコア計算部51に供給される。
スコア計算部51は、学習処理部32(図12)のスコア計算部41と同様に、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、特徴抽出部2からの時系列データ(の観測値)に適合する度合いを表すスコアを求め、勝者ノード決定部52に供給する。即ち、ノードが有する時系列パターンモデル21が、例えば、図7に示したようにHMMである場合には、スコア計算部51は、ノードが有する時系列パターンモデル21としてのHMMから、特徴抽出部2からの時系列データが観測される対数尤度を求め、そのノードのスコアとして、勝者ノード決定部52に供給する。
勝者ノード決定部52は、学習処理部32(図12)の勝者ノード決定部42と同様に、記憶部5に記憶された時系列パターン記憶ネットワークにおいて、特徴抽出部2からの時系列データに最も適合するノードを求め、そのノードを、勝者ノードとして決定する。
即ち、勝者ノード決定部52は、記憶部5に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部51からのスコアが最も高いノードを勝者ノードとして決定する。そして、勝者ノード決定部52は、勝者ノードを表す情報としてのノードラベルを、出力部53に供給する。
出力部53は、勝者ノード決定部52からの勝者ノードを表すノードラベルを、特徴抽出部2からの特徴量の時系列データ、ひいては、その特徴量に対応する、信号入力部1に入力された処理対象データの認識結果として出力する。
なお、認識部3のスコア計算部51と、学習処理部32(図12)のスコア計算部41とは、いずれか一方のスコア計算部で兼用することが可能である。認識部51の勝者ノード決定部52と、学習処理部32(図12)の勝者ノード決定部42についても、同様である。
次に、図17のフローチャートを参照して、図10のデータ処理装置で行われる、時系列データを認識する認識処理について説明する。
ステップS21において、1個の処理対象データ、即ち、例えば、1の音声区間の音声データ(時系列データ)が、信号入力部1に入力されると、信号入力部1は、その処理対象データを、特徴抽出部2に供給する。特徴抽出部2は、処理対象データである時系列データから特徴量を抽出し、その特徴量の時系列データを、認識部3に供給する。
認識部3(図16)では、ステップS22において、スコア計算部51が、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、特徴抽出部2からの時系列データに適合する度合いを表すスコアを求める。
具体的には、ノードが有する時系列パターンモデル21(図7)が、例えばHMMである場合には、そのHMMから、特徴抽出部2からの時系列データが観測される対数尤度が、例えば、ビタビアルゴリズムによって求められる。スコア計算部51は、時系列パターン記憶ネットワークが有するすべてのノードについて、特徴抽出部2からの時系列データに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部52に供給する。
勝者ノード決定部52は、ステップS23において、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部51からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部52は、勝者ノードを表す情報としてのノードラベルを、出力部53に供給する。
出力部53は、勝者ノード決定部52からのノードラベルを、特徴抽出部2からの時系列データ(信号入力部1に入力された処理対象データ)の認識結果として出力し、処理を終了する。
なお、出力部53が出力するノードラベル(勝者ノードのノードラベル)は、例えば、制御データとして、生成部6に供給することができる。
以上のような、時系列パターン記憶ネットワークを用いた認識処理によれば、その時系列パターン記憶ネットワークのノードの数に応じた細かさの認識結果を得ることができる。
即ち、例えば、いま、時系列パターン記憶ネットワークの学習が、3つのカテゴリ"A","B","C"の発声それぞれにより得られた音声データを用いて行われたとする。
時系列パターン記憶ネットワークの学習に用いられた3つのカテゴリ"A","B","C"の音声データが、多数の話者の発話を含む場合には、例えば、カテゴリ"A"の音声データであっても、発話速度や、イントネーション、話者の年齢、性別などの違いによって、様々なバリエーションの音声データが存在する。
教師あり学習であれば、カテゴリ"A","B","C"の音声データを用いた学習は、カテゴリ"A"の音声データだけ、カテゴリ"B"の音声データだけ、カテゴリ"C"の音声データだけをそれぞれ用いて行われる。従って、各カテゴリの学習結果には、発話速度等の違いによるバリエーションは、生じ得ない。
一方、時系列パターン記憶ネットワークの学習では、カテゴリ"A","B","C"の音声データが、それらを区別(分類)することなく用いられる。そして、時系列パターン記憶ネットワークでは、上述したように、その時系列パターン記憶ネットワークが有するノードの数だけの時系列パターンが学習される。
従って、時系列パターン記憶ネットワークでは、例えば、それが有するノードの数が3より大であれば、1つのカテゴリ"A"の音声データであっても、そのカテゴリ"A"の音声データの中の、ある1つのバリエーション(の時系列パターン)が、ある1つのノードで学習され、他の1つのバリエーションが、他の1つのノードで学習されることがある。
そして、このように、複数のノードにおいて、カテゴリ"A"の音声データの様々なバリエーションが学習された場合、認識処理では、例えば、カテゴリ"A"の音声データが処理対象データとして入力されると、カテゴリ"A"の音声データが学習された複数のノードの中から、処理対象データに最も適合するノードが、勝者ノードとして決定され、その勝者ノードのノードラベルが、認識結果として出力される。
即ち、時系列パターン記憶ネットワークを用いた認識処理では、処理対象データが、カテゴリ"A","B","C"のうちのいずれのカテゴリの音声データであるかが決定されるのではなく、時系列パターン記憶ネットワークが学習によって獲得した、そのノードの数だけの時系列パターンのうちのいずれに最も適合するか(類似するか)かが決定される。
つまり、時系列パターン記憶ネットワークの学習では、時系列パターン記憶ネットワークが有するノードの数に応じた細かさで時系列パターンが獲得され、時系列パターン記憶ネットワークを用いた認識では、時系列パターン記憶ネットワークが有するノードの数に応じた細かさで、時系列データが分類(クラス分け)される。
なお、(十分な)学習が行われた時系列パターン記憶ネットワークの各ノードに対し、そのノードが獲得した時系列パターンに応じて、適切に、カテゴリ"A","B","C"の正解ラベルを付与すれば、時系列パターン記憶ネットワークを用いた認識処理において、時系列データ(処理対象データ)が、カテゴリ"A","B","C"のうちのいずれのカテゴリの音声データであるかの認識結果を得ることができる。
次に、図18は、図10の生成部6の構成例を示している。
生成部6には、図10で説明したように、制御データが供給される。生成部6に供給される制御データは、記憶部5の時系列パターン記憶ネットワークが記憶している時系列パターン、ひいては、時系列パターン記憶ネットワークを構成するノードのうちのいずれかを表すもので、例えば、ノードラベルである。
生成部6に供給された制御データは、生成ノード決定部61に供給される。生成ノード決定部61は、記憶部5に記憶された時系列パターン記憶ネットワークにおいて、そこに供給される制御データが表すノードを、時系列データを生成するのに用いるノード(以下、適宜、生成ノードという)に決定し、その決定結果を、時系列生成部62に供給する。
即ち、生成ノード決定部61は、そこに供給される制御データとしてのノードラベルが表すノードを、生成ノードに決定し、その決定結果を、時系列生成部62に供給する。
時系列生成部62は、生成ノード決定部61からの決定結果にしたがい、生成ノードが有する時系列パターンモデル21(図7)に基づいて、時系列データを生成し、出力部63に供給する。
ここで、時系列パターンモデル21が、例えば、HMMである場合には、時系列生成部62は、生成ノードが有する時系列パターンモデル21としてのHMMにおいて時系列データが観測される尤度を表す出力確率を最大にする時系列データを生成する。なお、HMMを用いた時系列データの生成については、例えば、動的特徴量を利用することで滑らかに変化する時系列データを生成する方法があり、時系列生成部62では、その方法によって、時系列データを生成することができる。このような時系列データの生成方法は、例えば、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に記載されている。
出力部63は、時系列生成部62からの時系列データを、処理対象データに相当する時系列データに変換して出力する。即ち、時系列生成部62において生成される時系列データは、ノードが有する時系列パターンモデル21の学習に用いられた特徴量の時系列データであり、出力部63は、その特徴量の時系列データを、処理対象データ(の時系列データ)に変換して出力する。
具体的には、例えば、処理対象データが音声データであり、特徴抽出部2が、音声データからメルケプストラム係数を特徴量として抽出し、また、時系列パターンモデル21がHMMであるとする。この場合、メルケプストラムの時系列データが、時系列パターンモデル21によって学習されるので、時系列生成部62が生成ノードの時系列パターンモデル21(図7)に基づいて生成する時系列データは、メルケプストラムの時系列データとなる。出力部63は、時系列生成部62において生成されるメルケプストラム(の時系列データ)を、処理対象データに相当する時系列データである音声データに変換する。
なお、メルケプストラムの時系列データを音声データ(時領域の音声)に変換する方法としては、例えば、MLSAフィルタ(メル対数スペクトル近似フィルタ)と呼ばれる合成フィルタによって、メルケプストラムの時系列データをフィルタリングする方法がある。MLSAフィルタの詳細については、例えば、今井聖、住田一男、古市千恵子、「音声合成のためのメル対数スペクトル近似(MLSA)フィルタ」、電子情報通信学会論文誌(A)、J66-A, 2, pp.122-129, 1983や、徳田恵一、小林隆夫、斉藤博徳、深田俊明、今井聖、「メルケプストラムをパラメータとする音声のスペクトル推定」、電子情報通信学会論文誌(A)、J74-A, 8, pp.1240-1248, 1991に記載されている。
次に、図19のフローチャートを参照して、図10のデータ処理装置で行われる、時系列データ(処理対象データ)を生成する生成処理について説明する。
ステップS31では、制御データが、生成部6(図18)に入力される。この制御データは、生成ノード決定部61に供給される。生成ノード決定部61は、記憶部5に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、制御データとしてのノードラベルが表すノードを、生成ノードに決定し、その決定結果を、時系列生成部62に供給する。
時系列生成部62は、ステップS33において、生成ノード決定部61からの決定結果にしたがい、記憶部5に記憶された時系列パターン記憶ネットワークを構成するノードのうちの生成ノードが有する時系列パターンモデル21(のパラメータ)に基づいて、時系列データを生成し、出力部63に供給する。出力部63は、ステップS34において、時系列生成部62からの時系列データを、処理対象データに相当する時系列データに変換して出力する。
以上のような、時系列パターン記憶ネットワークを用いた生成処理によれば、その時系列パターン記憶ネットワークのノードの数に応じた(時系列パターンの)時系列データを生成することができる。
即ち、例えば、上述の認識処理で説明した場合と同様に、時系列パターン記憶ネットワークの学習が、3つのカテゴリ"A","B","C"の発声それぞれにより得られた音声データを用いて行われたとする。
時系列パターン記憶ネットワークの学習に用いられた3つのカテゴリ"A","B","C"の音声データが、多数の話者の発話を含む場合には、例えば、カテゴリ"A"の音声データであっても、発話速度や、イントネーション、話者の年齢、性別などの違いによって、様々なバリエーションの音声データが存在し、時系列パターン記憶ネットワークでは、カテゴリ"A"の音声データの中の、ある1つのバリエーション(の時系列パターン)が、ある1つのノードで学習され、他の1つのバリエーションが、他の1つのノードで学習されることがある。
そして、このように、複数のノードにおいて、カテゴリ"A"の音声データの様々なバリエーションが学習された場合、その複数のノードのうちのいずれかを表すノードラベルが、制御データとして与えられることにより、そのノードラベルが表すノードで学習されたバリエーションのカテゴリ"A"の音声データが出力される。従って、同一のカテゴリの音声データであっても、様々なバリエーションの音声データを出力することができる。
以上のように、時系列パターンモデル21を有する複数のノードから構成される時系列パターン記憶ネットワークを、時系列データに基づいて、自己組織的に更新するようにしたので、長さが一定の時系列データは勿論、長さが一定でない時系列データの教師なし学習、つまり、時系列データの、いわば自律的な学習を、容易に(実用的に)行うことができる。
即ち、時系列パターン記憶ネットワークの各ノードは、時系列パターンモデル21を有するから、時系列パターン記憶ネットワークの学習において、ノードの更新、つまり、そのノードが有する時系列パターンモデル21の更新は、他のノードの更新に影響しない。従って、時系列パターン記憶ネットワークを構成するノードが1つ増えても、時系列パターン記憶ネットワークの学習に要する計算量は、単純には、1のノードの更新に要する計算量だけ増えるだけであり、時系列パターン記憶ネットワークの規模、つまり、時系列パターン記憶ネットワークを構成するノードの数を大にしても、時系列パターン記憶ネットワークの学習に要する計算量が飛躍的に増加することはない。従って、大規模な時系列パターン記憶ネットワークであっても、容易に、自己組織的に学習することができる。
さらに、かかる時系列パターン記憶ネットワークの学習によれば、各ノードに、時系列データの統計的な特性を表す時系列パターンが記憶されるので、その時系列パターンを用いて、時系列データの認識や生成を、容易に行うことができる。
なお、学習処理、認識処理、生成処理は、例えば、音声データ、画像データ、モータを駆動する信号(モータデータ)、その他の任意の時系列データを対象として行うことができる。具体的には、例えば、図10のデータ処理装置を自律型のロボットなどの自律システムに適用し、そのロボットの視覚や、聴覚、触覚に相当するセンサが出力する信号や、ロボットの手や足に相当する部分を駆動するアクチュエータを制御する信号、合成音を生成する装置や目に相当するLEDに対して与える信号等を、学習処理、認識処理、生成処理の対象とする時系列データとして採用することができる。
また、本実施の形態では、ノードが有する時系列パターンモデル21(図7)として、状態遷移確率モデルの1つであるHMMを採用することとしたが、時系列パターンモデル21としては、他の状態遷移確率モデルを採用することが可能である。
時系列パターンモデル21として採用することができる他の状態遷移確率モデルとしては、例えば、ベイジアンネットワークがある。
ベイジアンネットワークでは、変数間の依存関係をグラフ構造で表し、各ノードに条件
付き確率を割り当てることでモデル化が行われるが、特に、時間軸に沿った状態遷移モデ
ルを構築することで、時系列データをモデル化することが可能となる。
なお、ベイジアンネットワークのグラフ構造の決定は、例えば、学習データの尤度とグ
ラフ構造の複雑さとを考慮したモデルを選択することにより行われ、条件付き確率の推定
には、例えば、最尤推定法やEM(Expectation Maximaization)アルゴリズムなどが利用される。ここで、ベイジアンネットワークの詳細については、例えば、本村陽一、「不確実性モデリングのための情報表現:ベイジアンネット」、2001年、ベイジアンネットチュートリアルなどに記載されている。
さらに、時系列パターンモデル21(図7)としては、上述のように、HMMやベイジアンネットワークなどのような状態遷移確率モデルを採用することができる他、関数を近似するモデル(以下、適宜、関数近似モデルという)を採用することもできる。
関数近似モデルは、時系列パターンを、関数f()を用い、例えば、微分方程式{x(t)}'=f(x(t))や、差分方程式x(t+1)=f(x(t))などで表現するモデルで、関数f()が、時系列パターンを特徴づける。なお、tは時間(時刻)(サンプル点)を表し、x(t)は、時刻tの時系列データのサンプル値、または時刻(0から)tまでに観測された時系列データを表す。また、{x(t)}'は、時系列データx(t)の時間tに関する1次微分を表す。
学習データ(時系列データ)から、ある時系列パターンを表す(に対応する)関数f()を求めることを、関数近似と呼ぶと、関数近似の方法としては、例えば、多項式などを用いて関数 f() を表現し、その多項式の係数を、学習データから決定する方法や、ニューラルネットワークによって関数 f() を表現し、そのニューラルネットワークのパラメータを、学習データから決定する方法などがある。
多項式で表現された関数f()の関数近似において、その多項式の係数の決定(推定)は、例えば、最急降下法などによって行うことができる。また、ニューラルネットワークによって表現された関数f()の関数近似において、そのニューラルネットワークのパラメータの決定は、例えば、バックプロパゲーション法によって行うことができる。ここで、バックプロパゲーション法では、ニューラルネットワークに入力と出力のデータを与え、その入力と出力のデータの関係を満たすように、ニューラルネットワークのパラメータの学習が行われる。
例えば、時系列パターンモデル21として、関数f()を用いた差分方程式x(t+1)=f(x(t))で時系列パターンを表現する関数近似モデルを採用する場合、入力層x(t)と出力層x(t+1)をつなぐ重み(中間層)が、ニューラルネットワークのパラメータであり、このパラメータが、学習データ(時系列データ)を用いて学習される。ニューラルネットワークのパラメータの学習は、初期値を適当に与えて、バックプロパゲーション法により行われる。なお、ニューラルネットワークとしては、例えば、リカレントニューラルネットワークを採用することができる。
関数f()がニューラルネットワークによって表現される時系列パターンモデル21を有
するノードで構成される時系列パターン記憶ネットワークの学習等でも、上述のHMMを時系列パターンモデル21として採用した場合と同様に、勝者ノードを決定する必要があり、勝者ノードの決定のためには、時系列パターン記憶ネットワークの各ノードの、新たな時系列データに対するスコアを計算する必要がある。
このスコアとしては、例えば、新たな時系列データの観測値(実際の値)と、関数f()がニューラルネットワークによって表現される時系列パターンモデル21から求められる、新たな時系列データの理論値との差の二乗和などを採用することができる。この場合、スコアの値が最も小さいノードが、新たな時系列データに最も適合するノードである勝者ノードとして決定される。
勝者ノードの決定後は、各ノードの更新重みを決定し、以下、上述のHMMを時系列パターンモデル21として採用した場合と同様の手順で、各ノード(が有するニューラルネットワーク)のパラメータを更新することができる。
次に、以上のような時系列パターン記憶ネットワークを適用した順モデルや逆モデルについて説明する。
図20は、時系列パターン記憶ネットワークが適用された順モデルまたは逆モデルとしての入出力関係モデルの構成例を模式的に示している。
図20において、入出力関係モデルは、2つの時系列パターン記憶ネットワークnetinおよびnetoutを有している。さらに、入出力関係モデルは、時系列パターン記憶ネットワークnetinの各ノードNi(i=1,2,・・・,ノードの総数)と、時系列パターン記憶ネットワークnetoutの各ノードN'j(j=1,2,・・・,ノードの総数)とが結合されている結合モデルである。
ここで、図20において、時系列パターン記憶ネットワークnetinのノードNiと、時系列パターン記憶ネットワークnetoutのノードN'jとの間の矢印が、そのノードNiとN'jとの結合を表している。
なお、時系列パターン記憶ネットワークnetinおよびnetoutは、同一の数のノードと同一のリンク(リンクがない場合を含む)を有するものであっても良いし、異なる数のノードまたは異なるリンクを有する者であっても良い。また、時系列パターン記憶ネットワークnetinのノードNiが有する時系列パターンモデル21(図7)と、時系列パターン記憶ネットワークnetoutのノードが有する時系列パターンモデル21も、同一の時系列パターンモデルであっても良いし、異なる時系列パターンモデルであっても良い。
次に、図21は、入出力関係モデルを用いて、各種の処理を行うデータ処理装置の構成例を示している。
図21のデータ処理装置では、図20の入出力関係モデルによって制御対象を順モデルまたは逆モデルにモデル化し、さらに、その順モデルまたは逆モデルとしての入出力関係モデルを用いて、制御対象から得られる出力データや、制御対象に与えるべき制御データ(入力データ)を推定する。
即ち、図21において、データ処理装置は、記憶部211、学習部212、および認識生成部213から構成されている。
記憶部211は、例えば、図20に示した入出力関係モデルなどを記憶する。
学習部212には、モデル化しようとする制御対象に与えられる入力データ(の観測値)と、その入力データに対して制御対象から得られる出力データ(の観測値)とのセットである教示データが供給されるようになっている。ここで、教示データは、ある区間の時系列データ(ある時間に亘る時系列データ)である入力データと、その区間の時系列データに対して制御対象から得られる区間の他の時系列データである出力データとのセットである。
学習部212は、そこに供給される教示データを用い、制御対象の順モデルまたは逆モデルとしての入出力関係モデルの学習を行う。
即ち、学習部212は、学習処理部221と結合重み更新部222から構成される。
学習処理部221は、図12に示した学習処理部32と同様に構成され、学習部212に供給される教示データのうちの入力データに基づいて、記憶部211に記憶された入出力関係モデル(図20)における時系列パターン記憶ネットワークnetinを、図10のデータ処理装置における場合と同様に、自己組織的に更新する。また、学習処理部221は、学習部212に供給される教示データのうちの出力データ(教示データにおいて、入力データとセットになっている出力データ)に基づいて、記憶部211に記憶された入出力関係モデル(図20)における時系列パターン記憶ネットワークnetoutを、図10のデータ処理装置における場合と同様に、自己組織的に更新する。
さらに、学習処理部221は、時系列パターン記憶ネットワークnetinを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetinのノードNiのノードラベル(以下、適宜、入力ラベルという)と、時系列パターン記憶ネットワークnetoutを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetoutのノードN'jのノードラベル(以下、適宜、出力ラベルという)とをセットにしたラベルセットを、結合重み更新部222に供給する。
結合重み更新部222は、学習処理部221から供給されるラベルセットに基づき、記憶部211に記憶された入出力関係モデル(図20)における時系列パターン記憶ネットワークnetoutのノードNiと、時系列パターン記憶ネットワークnetoutのノードN'jとの結合関係を更新する。
ここで、学習処理部221から結合重み更新部222に供給されるラベルセットは、入力ラベルと出力ラベルとのセットであり、入力ラベルは、教示データのうちの入力データに基づいて時系列パターン記憶ネットワークnetinを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetinのノードNiのノードラベルであるから、時系列パターン記憶ネットワークnetinにおいて、入力データに最も適合するノードNiのノードラベルである。
同様に、出力ラベルは、教示データのうちの出力データに基づいて時系列パターン記憶ネットワークnetoutを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetoutのノードN'jのノードラベルであるから、時系列パターン記憶ネットワークnetoutにおいて、出力データに最も適合するノードN'jのノードラベルである。
結合重み更新部222では、時系列パターン記憶ネットワークnetinのノードのうちの、教示データにおける入力データに最も適合するノードである勝者ノードNiと、時系列パターン記憶ネットワークnetoutの各ノードとの結合関係が更新されるとともに、時系列パターン記憶ネットワークnetoutのノードのうちの、教示データにおける出力データに最も適合するノードである勝者ノードN'jと、時系列パターン記憶ネットワークnetinの各ノードとの結合関係が更新される。
ここで、入出力関係モデルにおける時系列パターン記憶ネットワークnetinのノードと、時系列パターン記憶ネットワークnetoutのノードとの間の結合関係は、その結合の度合いが強いほど、大きな値となる結合重みによって表されるようになっており、ノードどうしの結合関係の更新とは、結合重みの更新を意味する。結合重み更新部222によるノードどうしの結合関係の更新の方法についての詳細は、後述する。
認識生成部213には、制御対象から得られる出力データを推定するための入力データ、または制御対象から得られる出力データをある目標値とするのに制御対象に与えるべき入力データ(制御データ)を推定するための出力データが供給される。
そして、認識生成部213は、入力データが供給された場合は、記憶部211に記憶された入出力関係モデルにおける時系列パターン記憶ネットワークnetinにおいて、その入力データに最も適合する勝者ノードNiを決定し、その勝者ノードNiとの結合重みが最も強い、時系列パターン記憶ネットワークnetoutのノードを、その入力データに対する出力データの推定値としての時系列データを生成する生成ノードN'jに決定する。さらに、認識生成部213は、生成ノードN'jが有する時系列パターンモデル21(図7)に基づいて、出力データ(の推定値)を生成して出力する。
また、認識生成部213は、出力データが供給された場合は、記憶部211に記憶された入出力関係モデルにおける時系列パターン記憶ネットワークnetoutにおいて、その出力データに最も適合する勝者ノードN'jを決定し、その勝者ノードN'jとの結合重みが最も強い、時系列パターン記憶ネットワークnetinのノードを、その出力データが得られるときに制御モデルに与えられる制御データ(入力データ)の推定値としての時系列データを生成する生成ノードNiに決定する。さらに、認識生成部213は、生成ノードNiが有する時系列パターンモデル21(図7)に基づいて、制御データ(の推定値)を生成して出力する。
即ち、認識生成部213は、スコア計算部231、勝者ノード決定部232、生成ノード決定部233、および時系列生成部234から構成される。
なお、スコア計算部231、勝者ノード決定部232、生成ノード決定部233、および時系列生成部234は、認識生成部213に供給されたデータが、入力データであるのか、または出力データであるのかを認識することができるようになっているものとする。即ち、例えば、認識生成部213に対しては、そこに供給されるデータとは別に、あるいは、そこに供給されるデータとともに、そのデータが、入力データまたは出力データのうちのいずれであるのかを表す情報が供給されるようになっており、これにより、スコア計算部231、勝者ノード決定部232、生成ノード決定部233、および時系列生成部234は、認識生成部213に供給されたデータが、入力データであるのか、または出力データであるのかを認識する。
スコア計算部231は、認識生成部213に供給されたデータに対して、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinの各ノードNi、または時系列パターン記憶ネットワークnetoutの各ノードN'jが適合する度合いであるスコアを、図16の認識部3のスコア計算部51における場合と同様にして計算し、勝者ノード決定部232に供給する。
即ち、スコア計算部231は、認識生成部213に供給されたデータが入力データである場合、その入力データに対して、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinの各ノードNiのスコアを計算し、勝者ノード決定部232に供給する。また、スコア計算部231は、認識生成部213に供給されたデータが出力データである場合、その出力データに対して、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutの各ノードN'jのスコアを計算し、勝者ノード決定部232に供給する。
勝者ノード決定部232は、図16の認識部3の勝者ノード決定部52における場合と同様に、スコア計算部231から供給されるスコアが最も高いノードを勝者ノードに決定し、その勝者ノードを表すノードラベルを、生成ノード決定部233に供給する。
従って、認識生成部213に供給されたデータが入力データである場合、勝者ノード決定部232では、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードの中で、スコア計算部231から供給される、入力データに対するスコアが最も高いノードが、勝者ノードNiに決定され、その勝者ノードNiを表す入力ラベルが、生成ノード決定部233に供給される。また、認識生成部213に供給されたデータが出力データである場合、勝者ノード決定部232では、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードの中で、スコア計算部231から供給される、出力データに対するスコアが最も高いノードが、勝者ノードN'jに決定され、その勝者ノードN'jを表す出力ラベルが、生成ノード決定部233に供給される。
生成ノード決定部233は、勝者ノード決定部232から入力ラベルが供給された場合、即ち、認識生成部213に供給されたデータが入力データである場合、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードの中で、勝者ノード決定部232からの入力ラベルが表すノードNiとの結合重みが最も強い(最強の)ノードN'jを生成ノードとして決定し、その生成ノードN'jを表す出力ラベルを、時系列生成部234に供給する。また、生成ノード決定部233は、勝者ノード決定部232から出力ラベルが供給された場合、即ち、認識生成部213に供給されたデータが出力データである場合、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードの中で、勝者ノード決定部232からの出力ラベルが表すノードN'jとの結合重みが最も強い(最強の)ノードNiを生成ノードとして決定し、その生成ノードNiを表す入力ラベルを、時系列生成部234に供給する。
時系列生成部234は、生成ノード決定部233から出力ラベルが供給された場合、即ち、認識生成部213に供給されたデータが入力データである場合、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードのうちの、生成ノード決定部233からの出力ラベルが表すノードN'jが有する時系列パターンモデル21(図7)に基づいて、認識生成部213に供給された入力データに対する出力データの推定値としての時系列データを、例えば、図18の生成部6の時系列生成部62における場合と同様にして生成する。
また、時系列生成部234は、生成ノード決定部233から入力ラベルが供給された場合、即ち、認識生成部213に供給されたデータが出力データである場合、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードのうちの、生成ノード決定部233からの入力ラベルが表すノードNiが有する時系列パターンモデル21に基づいて、認識生成部213に供給された出力データに対する制御データ(入力データ)の推定値としての時系列データを、例えば、図18の生成部6の時系列生成部62における場合と同様にして生成する。
次に、図22のフローチャートを参照して、図21のデータ処理装置で行われる、入出力関係モデルによる制御対象のモデル化、即ち、入出力関係モデルの学習について説明する。
ステップS101において、入力データと出力データとのセットである教示データが、図21のデータ処理装置に入力されると、その教示データは、学習部212の学習処理部221に供給される。
学習処理部221は、ステップS102において、教示データのうちの入力データに基づいて、記憶部211に記憶された入出力関係モデル(図20)における時系列パターン記憶ネットワークnetinを、自己組織的に更新し、ステップS103に進む。ステップS103では、学習処理部221は、教示データのうちの出力データに基づいて、記憶部211に記憶された入出力関係モデルにおける時系列パターン記憶ネットワークnetoutを、自己組織的に更新する。
そして、学習処理部221は、時系列パターン記憶ネットワークnetinを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetinのノードNiの入力ラベルと、時系列パターン記憶ネットワークnetoutを更新するときに勝者ノードとなった、その時系列パターン記憶ネットワークnetoutのノードN'jの出力ラベルとのセットであるラベルセットを、結合重み更新部222に供給する。
結合重み更新部222は、ステップS104において、学習処理部221から供給されるラベルセットに基づき、記憶部211に記憶された入出力関係モデル(図20)における時系列パターン記憶ネットワークnetinの各ノードと、時系列パターン記憶ネットワークnetoutの各ノードとの結合重みを更新して、ステップS101に戻り、次の教示データが入力されるのを待って、以下、同様の処理が繰り返される。
多数の教示データが入力され、ステップS101乃至S104の処理が繰り返されることにより、記憶部211に記憶された入出力関係モデルは、制御対象に対応する順モデルとなっていくとともに、逆モデルにもなっていく。
次に、図23を参照して、結合重み更新部222(図21)が、図22のステップS104で行う結合重み(ノードどうしの結合関係)の更新について説明する。
なお、以下、適宜、入出力関係モデルにおいて、入力データが与えられる時系列パターン記憶ネットワーク、つまり、入力データを用いて学習が行われ、入力データの時系列パターンを表現する時系列パターンモデル21を有する複数のノードから構成される時系列パターン記憶ネットワーク(例えば、時系列パターン記憶ネットワークnetin)を、入力ネットワークといい、出力データが与えられる時系列パターン記憶ネットワーク、つまり、出力データを用いて学習が行われ、出力データの時系列パターンを表現する時系列パターンモデル21を有する複数のノードから構成される時系列パターン記憶ネットワーク(例えば、時系列パターン記憶ネットワークnetout)を、出力ネットワークという。
さらに、以下、適宜、入力ネットワークのノードを入力ノードといい、出力ネットワークのノードを出力ノードという。
また、以下では、入出力関係モデルを、入力データを与えて出力データを推定する順モデルとして用いる場合についての説明をし、入出力関係モデルを、出力データ(目標値)を与えて入力データ(制御データ)を推定する逆モデルとして用いる場合についての説明は適宜省略する。
図23左側は、入出力関係モデルを示している。
図23左側では、入出力関係モデルは、1つの入力ネットワークnetinと、1つの出力ネットワークnetoutとを有し、入力ネットワークnetinの各入力ノードと、出力ネットワークnetoutの各出力ノードとが結合している。なお、図23では、入力ネットワークnetin、および出力ネットワークnetoutのいずれも、8つのノードで構成されている。
図23左側では、入力ネットワークnetinの各入力ノードは、出力ネットワークnetoutのすべての出力ノードと結合しており(従って、出力ネットワークnetoutの各出力ノードも、入力ネットワークnetinのすべての入力ノードと結合している)、入力ネットワークnetinの入力ノードと、出力ネットワークnetoutの出力ノードとのすべての組み合わせについて、結合重みwが存在する。
いま、ノードどうしが結合している2つの時系列パターン記憶ネットワークに注目し、そのうちの一方の時系列パターン記憶ネットワークのノードを各行に対応させるとともに、他方の時系列パターン記憶ネットワークのノードを各列に対応させ、第i行第j列の要素に、一方の時系列パターン記憶ネットワークのi番目のノードと、他方の時系列パターン記憶ネットワークのj番目のノードとの結合重みwを配置した行列を、結合重み行列MTXということとすると、結合重み更新部222(図21)は、この結合重み行列MTXの各要素である結合重みwを更新する。
図23右側は、図23左側の入出力関係モデルについての結合重み行列MTXを示している。
図23右側の結合重み行列MTXでは、入力ノードを各行に対応させるとともに、出力ノードを各列に対応させ、第i行第j列の要素に、i番目の入力ノードと、j番目の出力ノードとの結合重みwが配置されている。結合重み更新部222(図21)は、この結合重み行列MTXの各要素である結合重みwを更新する。
即ち、結合重み更新部222は、例えば、最初に電源がオンにされたときに、結合重み行列MTXにおけるすべての結合重みwを、例えば、初期値としての0に初期化する。そして、結合重み更新部222は、図21のデータ処理装置に対して、教示データ、つまり、入力データと出力データとのセットが入力され、これにより、入力ネットワークnetinにおける勝者ノードを表す入力ラベルと、出力ネットワークnetoutにおける勝者ノードを表す出力ラベルとのラベルセットが、学習処理部221から与えられるたびに、それらの勝者ノードどうしの結合を、いわば中心として、結合重みを更新する。
具体的には、結合重み更新部222は、例えば、式(4)にしたがって、結合重み行列MTXの結合重みwを更新する。
Figure 2006285899
・・・(4)
ここで、βは、結合重みwを更新する程度の表す学習率であり、0から1の範囲で与えられる。学習率βを小さくするほど、結合重みwは、あまり変化しなくなり、学習率βが0である場合には、結合重みwは変化しない。一方、学習率βを大きくするほど、結合重みwも、大きく変化し、学習率βが1である場合には、結合重みwは、更新の基準値△wに更新される。
また、基準値△wは、例えば、式(5)で与えられる。
Figure 2006285899
・・・(5)
ここで、dは、式(3)における場合と同様に、勝者ノードとのパターン間距離を表し、勝者ノードとなっているノードについては、d=0である。従って、勝者ノード(となっているノード)については、基準値△wは1となり、勝者ノードからのパターン間距離dが大のノードほど、基準値△wは0に近づく。
いま、学習処理部221(図21)から結合重み更新部222に供給される入力ラベルが表す入力ノード、即ち、入力ネットワークnetinにおける勝者ノードを、入力ノードNiと表すとともに、学習処理部221(図21)から結合重み更新部222に供給される出力ラベルが表す出力ノード、即ち、出力ネットワークnetoutにおける勝者ノードを、出力ノードN'jと表すと、結合重み更新部222(図21)は、式(4)(および式(5))にしたがい、以下のように、結合重み行列MTXの結合重みwを更新する。
即ち、結合重み更新部222は、出力ネットワークnetoutの各出力ノードについて、出力ネットワークnetoutにおける勝者ノードである出力ノードN'jとのパターン間距離dを用い、式(5)にしたがって、基準値△wを求め、さらに、その基準値△wを用い、式(4)にしたがって、入力ネットワークnetinの勝者ノードであるi番目の入力ノードNiとの結合重みwを更新する。
これにより、入力ネットワークnetinの勝者ノードである入力ノードNiに対応する、結合重み行列MTXの第i行の(各列の)結合重みwが更新される。
また、結合重み更新部222は、入力ネットワークnetinの各入力ノードについて、入力ネットワークnetinにおける勝者ノードである入力ノードNiとのパターン間距離dを用い、式(5)にしたがって、基準値△wを求め、さらに、その基準値△wを用い、式(4)にしたがって、出力ネットワークnetoutの勝者ノードであるj番目の出力ノードN'jとの結合重みwを更新する。
これにより、出力ネットワークnetoutの勝者ノードである出力ノードN'jに対応する、結合重み行列MTXの第j列の(各行の)結合重みwが更新される。
なお、入力ネットワークnetinの勝者ノードである入力ノードNiと、出力ネットワークnetoutの勝者ノードである出力ノードN'jとの結合重みwの更新は、出力ネットワークnetoutの各出力ノードについての、勝者ノードである入力ノードNiとの結合重みwの更新時か、または、入力ネットワークnetinの各入力ノードについての、勝者ノードである出力ノードN'jとの結合重みwの更新時のいずれか一方においてのみ行われる。
以上のような結合重みw(結合重み行列MTX)の更新は、教示データとしての入力データと出力データとのセットが、図21のデータ処理装置に対して入力されるたびに行われる。
さらに、入出力関係モデルが有する入力ネットワークnetinの入力データに基づく学習、および出力ネットワークnetoutの出力データに基づく学習も、教示データとしての入力データと出力データとのセットが、図21のデータ処理装置に対して入力されるたびに行われる。
そして、入力ネットワークnetin、および出力ネットワークnetoutの学習が進むと、入力ノードが有する時系列パターンモデル21が、ある特定の時系列パターンを表現し、また、出力ノードが有する時系列パターンモデル21も、他の特定の時系列パターンを表現するようになる。
その結果、ある特定の時系列パターンの入力データと、他の特定の時系列パターンの出力データとの間に、何らかの関係性がある場合、そのような入力データと出力データとのセット(教示データ)が与えられると、入力ネットワークnetinにおいてある特定の時系列パターンを表現する時系列パターンモデル21を有する入力ノードが勝者ノードとなるとともに、出力ネットワークnetoutにおいて他の特定の時系列パターンを表現する時系列パターンモデル21を有する出力ノードが勝者ノードとなる。
さらに、上述したように、入力ネットワーク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の出力ノードを決定することができる。さらに、その出力ノード(が有する時系列パターンモデル21)に基づき、時系列データを生成することで、与えられた入力データに対する出力データを推定することができる。
また、逆モデルとしての入出力関係モデルによれば、ある出力データ(目標値)が与えられた場合に、出力ネットワークnetoutにおいて、その出力データに最も適合する勝者ノードを決定することができ、その勝者ノードとの結合重みが最強の入力ネットワークnetinの入力ノードを決定することができる。さらに、その入力ノード(が有する時系列パターンモデル21)に基づき、時系列データを生成することで、与えられた出力データに対する制御データ(入力データ)を推定することができる。
なお、結合重み行列MTXは、入出力関係モデルの一部として、記憶部211(図21)に記憶される。
次に、図24のフローチャートを参照して、順モデルまたは逆モデルとしての入出力関係モデルを用いて、入力データに対する出力データや、出力データに対する制御データ(入力データ)を推定する処理について説明する。
まず、図21のデータ処理装置において、入力データに対する出力データを推定する場合、ステップS111において、その入力データが、図21のデータ処理装置に入力される。
データ処理装置に入力された入力データは、認識生成部213のスコア計算部231に供給される。
スコア計算部231は、ステップS112において、そこに供給された入力データに対して、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinの各ノードNiのスコアを計算し、勝者ノード決定部232に供給する。
勝者ノード決定部232は、ステップS113において、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードの中で、スコア計算部231からのスコアが最も高いノードを、勝者ノードNiに決定し、その勝者ノードNiを表す入力ラベルを、生成ノード決定部233に供給する。
生成ノード決定部233は、ステップS114において、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードの中で、勝者ノード決定部232からの入力ラベルが表すノードNiとの結合重みが最も強いノードN'jを生成ノードに決定し、その生成ノードN'jを表す出力ラベルを、時系列生成部234に供給する。
時系列生成部234は、ステップS115において、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードのうちの、生成ノード決定部233からの出力ラベルが表すノードN'jが有する時系列パターンモデル21(図7)に基づいて、認識生成部213に供給された入力データに対する出力データの推定値としての時系列データを生成して、ステップS116に進み、その時系列データを出力する。
次に、図21のデータ処理装置において、出力データに対する制御データ(入力データ)を推定する場合には、ステップS111において、その出力データが、図21のデータ処理装置に入力される。
データ処理装置に入力された出力データは、認識生成部213のスコア計算部231に供給される。
スコア計算部231は、ステップS112において、そこに供給された出力データに対して、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutの各ノードN'jのスコアを計算し、勝者ノード決定部232に供給する。
勝者ノード決定部232は、ステップS113において、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetoutのノードの中で、スコア計算部231からのスコアが最も高いノードを、勝者ノードN'jに決定し、その勝者ノードN'jを表す出力ラベルを、生成ノード決定部233に供給する。
生成ノード決定部233は、ステップS114において、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードの中で、勝者ノード決定部232からの出力ラベルが表すノードN'jとの結合重みが最も強いノードNiを生成ノードに決定し、その生成ノードNiを表す入力ラベルを、時系列生成部234に供給する。
時系列生成部234は、ステップS115において、記憶部211に記憶された入出力関係モデルを構成する時系列パターン記憶ネットワークnetinのノードのうちの、生成ノード決定部233からの入力ラベルが表すノードNiが有する時系列パターンモデル21に基づいて、認識生成部213に供給された出力データに対する制御データ(入力データ)の推定値としての時系列データを生成して、ステップS116に進み、その時系列データを出力する。
以上のように、入力データと出力データとのセットを用いて、入出力関係モデルの学習を行い、制御対象を順モデルおよび逆モデルにモデル化して、制御対象を精度良く表現し、高精度に、出力データや制御データ(入力データ)を推定することが可能となる。
ところで、以上においては、黙示的に、入力データと出力データのいずれも、1チャネルの時系列データであるとしている。しかしながら、制御対象によっては、入力データ、または出力データが、複数のチャネルの時系列データであることがあり得る。
即ち、例えば、いま、図25上側に示すような想定ロボットを制御対象として、その想定ロボットを、入出力関係モデルによって順モデルにモデル化することを考える。
ここで、図25上側の想定ロボットは、音声データまたは画像データが与えられると、音声データ(に対応する合成音)を出力し、またはモータデータを出力して、そのモータデータにしたがって駆動するモータによってアームを移動させる(動かす)ようになっている。
いま、区別することができるデータを単位を、チャネルと呼ぶこととすると、図25上側の想定ロボットには、音声データと画像データとの2つのチャネルの時系列データを含む入力データが入力される。さらに、図25上側の想定ロボットでは、音声データとモータデータとの2つのチャネルの時系列データを含む出力データが出力される。
なお、入力データに含まれる各チャネルの時系列データを、サブ入力データということとすると、図25上側の想定ロボットに入力される入力データには、音声データと画像データとが、サブ入力データとして含まれている。ここで、以下、適宜、入力データにサブ入力データとして含まれる音声データと画像データを、それぞれ、入力音声データと入力画像データという。
さらに、出力データに含まれる各チャネルの時系列データを、サブ出力データということとすると、図25上側の想定ロボットが出力する出力データには、音声データとモータデータとが、サブ出力データとして含まれている。ここで、以下、適宜、出力データにサブ出力データとして含まれる音声データとモータデータを、それぞれ、出力音声データと出力モータデータという。
また、入力音声データについては、その入力音声データの特徴量としての、例えば、複数の周波数帯域それぞれのパワーを要素とするベクトル(特徴ベクトル)が、所定の時間間隔としてのフレーム単位で抽出され、サブ入力データとして、想定ロボットに入力されることとする。さらに、入力画像データについては、その入力画像データの特徴量としての、例えば、その入力画像データ(に対応する画像)に映っている物体の位置のx,y,z座標を要素とするベクトルが、例えば、入力音声データの特徴量と同一または異なる時間間隔で抽出され、サブ入力データとして、想定ロボットに入力されることとする。なお、物体の位置のx,y,z座標は、上述した3次元座標系、即ち、ロボットの重心を原点とし、ロボットの前方方向をx軸と、右方向をy軸と、上方向をz軸と、それぞれする3次元座標系で表されることとする。
また、出力音声データについては、その出力音声データの周波数成分を指定する1以上のパラメータを要素とする時系列のベクトルが、サブ出力データとして、想定ロボットから出力されることとする。
さらに、出力モータデータについては、アームを動かすモータの回転角度や回転速度などを要素とする時系列のベクトルが、サブ出力データとして、想定ロボットから出力されることとする。
ここで、上述したように、入力音声データと入力画像データとは、入力データに含まれるサブ入力データとして、想定ロボットに同時に入力されるが、例えば、入力音声データの特徴量と、入力画像データの特徴量との抽出の時間間隔が異なる場合や、特徴量の抽出の時間間隔が同一であっても、特徴量の抽出のタイミングがすれている場合等には、入力音声データの特徴量が得られるタイミングにおいて、入力画像データの特徴量が得られないことや、その逆に、入力画像データの特徴量が得られるタイミングにおいて、入力音声データの特徴量が得られないことがある。つまり、あるチャネルのサブ入力データの特徴量は存在するが、他のチャネルのサブ入力データの特徴量は存在しないことがある。この場合、特徴量が存在しないサブ入力データについては、例えば、特徴量が存在しないことを表すデータが、入力データに含められる。
また、上述したように、想定ロボットは、出力音声データと出力モータデータとを、出力データに含まれるサブ出力データとして、同時に出力するが、音声(音)の出力と、アームの移動とを、同時に行う必要がない場合がある。即ち、音声を出力する必要はあるが、アームを移動させる(動かす)必要がないことや、アームを移動させる必要はあるが、音声を出力する必要はないことがある。音声を出力する必要はあるが、アームを移動させる必要がない場合には、出力モータデータについては、アームを移動させないことを表すデータが、出力データに含められる。また、アームを移動させる必要はあるが、音声を出力する必要はない場合には、出力音声データについては、音声を出力しないことを表すデータが、出力データに含められる。
なお、ここでは、上述したように、特徴量が存在しないサブ入力データについては、特徴量が存在しないことを表すデータを、入力データに含めるようにしたが、その他、特徴量が存在しないサブ入力データは、入力データに含めないようにすることも可能である。
また、音声を出力する必要はあるが、アームを移動させる必要がない場合には、アームを移動させないことを表すデータを、出力モータデータとして出力データに含める他、出力モータデータを、出力データに含めないようにすることができる。同様に、アームを移動させる必要はあるが、音声を出力する必要はない場合には、出力音声データを、出力データに含めないようにすることができる。
次に、入出力関係モデルによれば、入力データや出力データが、複数チャネルの時系列データ(サブ入力データ、サブ出力データ)を含む場合であっても、想定ロボットの順モデルを獲得することができる。
即ち、図25下側に示すように、想定ロボットに入力される入力データと、その入力データを想定ロボットに入力したときに想定ロボットが出力する出力データとの多数のセット(教示データ)を、入出力関係モデルに与え、その教示データを用いて、入出力関係モデルの学習を行うことにより、想定ロボットの順モデルを獲得することができる。
つまり、教示データにおける入力データに基づく入力ネットワーク(時系列パターン記憶ネットワーク)netinの学習を自己組織的に行うとともに、教示データにおける出力データに基づく出力ネットワーク(時系列パターン記憶ネットワーク)netoutの学習を自己組織的に行い、入力ネットワークnetinと出力ネットワークnetoutとのノードどうしの結合重みの更新を行うことにより、想定ロボットの順モデルを(逆モデルも)獲得することができる。
ところで、入力ネットワークnetinや出力ネットワークnetoutは、時系列パターン記憶ネットワークであり、時系列パターン記憶ネットワークは、その時系列パターン記憶ネットワークが有するノードの数と同一の数の時系列パターンを記憶する。従って、時系列パターン記憶ネットワークによれば、時系列データを、その時系列パターン記憶ネットワークが有するノードの数と同一の数のクラス(クラスタ)のうちのいずれかにクラス分け(クラスタリング)することができる。
このように、時系列パターン記憶ネットワークは、時系列データを、ノードの数と同一の数のクラスのうちのいずれかにクラス分けすることから、ノードの数は、例えば、クラス分けの対象となる時系列データのパターンの数として予想される数以上とすることが望ましい。
従って、入力データが、例えば、上述したように、入力音声データと入力画像データとの2つのチャネルのサブ入力データを含む場合において、入力音声データのパターンと入力画像データのパターンとして、いずれも、例えば、100パターンが予想されるとすると、入力データ全体のパターンとしては、入力音声データの100パターンと入力画像データの100パターンとのすべての組み合わせである10000(=100×100)パターンが予想されることとなる。
この場合、入力ネットワークnetinは、10000以上といった多数のノードで構成する必要があり、その結果、その入力ネットワークnetinを含んで構成される入出力関係モデルを記憶する記憶部211(図21)の記憶容量が大となる。さらに、入力ネットワークnetinでは、上述のような10000パターンもの時系列パターンの学習(自己組織的な学習)を行う必要がある。
同様に、出力データが、例えば、上述したように、出力音声データと出力モータデータとの2つのチャネルのサブ出力データを含む場合において、出力音声データのパターンと出力モータデータのパターンとして、いずれも、例えば、100パターンが予想されるとすると、出力データ全体のパターンとしては、出力音声データの100パターンと出力モータデータの100パターンとのすべての組み合わせである10000パターンが予想されることとなる。
この場合、出力ネットワークnetoutは、10000以上といった多数のノードで構成する必要があり、その結果、その出力ネットワークnetoutを含んで構成される入出力関係モデルを記憶する記憶部211(図21)の記憶容量が大となる。さらに、出力ネットワークnetoutでは、上述のような10000パターンもの時系列パターンの学習(自己組織的な学習)を行う必要がある。
そこで、入力データが複数チャネルのサブ入力データを含む場合には、入出力関係モデルは、その複数チャネルの数と同一の数の入力ネットワークを用いて構成することができる。同様に、出力データが複数チャネルのサブ出力データを含む場合には、入出力関係モデルは、その複数チャネルの数と同一の数の出力ネットワークを用いて構成することができる。
即ち、例えば、図25で説明したように、入力データが、入力音声データと入力画像データとの2つのチャネルのサブ入力データを含み、出力データが、出力音声データと出力モータデータとの2つのチャネルのサブ出力データを含む場合には、入出力関係モデルは、図26に示すように、入力データに含まれる2つのチャネルのサブ入力データに対応する2つの入力ネットワークnetin1およびnetin2と、出力データに含まれる2つのチャネルのサブ出力データに対応する2つの出力ネットワークnetout1およびnetout2とから構成することができる。
図26において、入出力関係モデルは、入力データに含まれる2つのチャネルのサブ入力データのうちの1つのチャネルのサブ入力データである入力音声データに対応する入力ネットワークnetin1、および他の1つのチャネルのサブ入力データである入力画像データに対応する入力ネットワークnetin2、並びに、出力データに含まれる2つのチャネルのサブ出力データのうちの1つのチャネルのサブ出力データである出力音声データに対応する出力ネットワークnetout1、および他の1つのチャネルのサブ出力データである出力モータデータに対応する出力ネットワークnetout2から構成されている。
この場合、教示データを用いた入出力関係モデルの学習では、教示データにおける入力データのうちの、入力音声データは、その入力音声データ(のチャネル)に対応する入力ネットワークnetin1に与えられるとともに、入力画像データは、その入力画像データ(のチャネル)に対応する入力ネットワークnetin2に与えられる。さらに、教示データにおける出力データのうちの、出力音声データは、その出力音声データ(のチャネル)に対応する出力ネットワークnetout1に与えられるとともに、出力モータデータは、その出力モータデータ(のチャネル)に対応する入力ネットワークnetout2に与えられる。
そして、入力音声データに基づく入力ネットワークnetin1の学習、入力画像データに基づく入力ネットワークnetin2の学習、出力音声データに基づく出力ネットワークnetout1の学習、および出力モータデータに基づく入力ネットワークnetout2の学習が行われる。
なお、想定ロボットに入力される入力データに含まれるサブ入力データは、チャネルごとに区別することができることとする。即ち、上述の入力データには、入力音声データと入力画像データとが含まれるが、この入力音声データと入力画像データとは区別することができることとする。同様に、想定ロボットが出力する出力データに含まれるサブ出力データも、チャネルごとに区別することができることとする。
さらに、入力データに含まれるサブ入力データに対応する入力ネットワークは既知であるとし、入出力関係モデルの学習において、サブ入力データは、そのサブ入力データ(のチャネル)に対応する入力ネットワークに与えられることとする。同様に、出力データに含まれるサブ出力データに対応する出力ネットワークも既知であるとし、入出力関係モデルの学習において、サブ出力データは、そのサブ出力データ(のチャネル)に対応する出力ネットワークに与えられることとする。
この場合、入力ネットワークnetin1の学習は、その入力ネットワークnetin1に対応するチャネルのサブ入力データである入力音声データに基づいて自己組織的に行うことができ、入力ネットワークnetin2の学習も、その入力ネットワークnetin2に対応するチャネルのサブ入力データである入力画像データに基づいて自己組織的に行うことができる。同様に、出力ネットワークnetout1の学習も、その出力ネットワークnetout1に対応するチャネルのサブ出力データである出力音声データに基づいて自己組織的に行うことができ、出力ネットワークnetout2の学習も、その出力ネットワークnetout2に対応するチャネルのサブ出力データである出力モータデータに基づいて自己組織的に行うことができる。
以上のように、入力データに複数チャネルのサブ入力データが含まれ、または、出力データに複数チャネルのサブ出力データが含まれる場合には、それぞれ、入出力関係モデルを、入力データに含まれるサブ入力データのチャネルの数と同一の数の入力ネットワークで構成し、または、出力データに含まれるサブ出力データのチャネルの数と同一の数の出力ネットワークで構成することにより、入出力関係モデルを、1つの入力ネットワークまたは1つの出力ネットワークで構成する場合に比較して、入力ネットワークまたは出力ネットワークを、少ない数のノードで構成することができ、さらに、入力ネットワークまたは出力ネットワークでも、少ない数の時系列パターンの学習(自己組織的な学習)を行うだけで済む。
即ち、例えば、上述したように、入力データが、入力音声データと入力画像データとの2つのチャネルのサブ入力データを含み、入力音声データのパターンと入力画像データの時系列パターンとして、いずれも、100パターンが予想されるとすると、入力音声データに対応する入力ネットワークnetin1は、100以上程度の数のノードで構成すれば良く、入力画像データに対応する入力ネットワークnetin2も、100以上程度の数のノードで構成すれば良い。さらに、入力ネットワークnetin1およびnetin2のいずれでも、100パターン程度の時系列パターンの学習を行うだけで済む。
また、例えば、上述したように、出力データが、出力音声データと出力モータデータとの2つのチャネルのサブ出力データを含み、出力音声データのパターンと出力モータデータの時系列パターンとして、いずれも、100パターンが予想されるとすると、出力音声データに対応する出力ネットワークnetout1は、100以上程度の数のノードで構成すれば良く、出力モータデータに対応する出力ネットワークnetout2も、100以上程度の数のノードで構成すれば良い。さらに、出力ネットワークnetout1およびnetout2のいずれでも、100パターン程度の時系列パターンの学習を行うだけで済む。
従って、入出力関係モデルを記憶する記憶部211の記憶容量を小さくすることができ、さらに、入出力関係モデルの学習を、効率的に行うことができる。
次に、入力データに複数としてのm(正の整数)チャネルのサブ入力データが含まれるとともに、出力データにも複数としてのn(正の整数)チャネルのサブ出力データが含まれ、図26で説明したように、入出力関係モデルを、入力データに含まれるmチャネルのサブ入力データと同一の数であるm個の入力ネットワークと、出力データに含まれるnチャネルのサブ出力データと同一の数であるn個の出力ネットワークとで構成する場合、その入力ネットワークと出力ネットワークとのノードどうしを、どのように結合し、さらに、入出力関係モデルの学習において、ノードの結合重みを、どのように更新するかが問題となる。
そこで、まず、あるチャネルのサブ入力データと、あるチャネルのサブ出力データとの間に関係があることがあらかじめ分かっている(既知である)場合、即ち、例えば、制御対象において、あるチャネルのサブ入力データの入力に対して、あるチャネルのサブ出力データが出力されることが既知である場合の、入力ネットワークと出力ネットワークとのノードどうしの結合について説明する。
なお、あるチャネルのサブ入力データと、あるチャネルのサブ出力データとの間に関係があることがあらかじめ分かっている場合には、例えば、制御対象があるチャネルのサブ入力データに対して、あるチャネルのサブ出力データを出力することがあらかじめ分かっている場合の他、あるチャネルのサブ入力データの入力に対して、あるチャネルのサブ出力データを出力することを、あらかじめ決めておく場合、即ち、例えば、制御対象としての想定ロボットにおいて、あるチャネルのサブ入力データの入力に対して、あるチャネルのサブ出力データを出力させることをあらかじめ決めておく場合も含まれる。
いま、上述の図25で説明したように、入力データには、2つのチャネルのサブ入力データとしての入力音声データと入力画像データが含まれ、出力データにも、2つのチャネルのサブ出力データとしての出力音声データと出力モータデータが含まれることとする。さらに、図26で説明したように、入出力関係モデルは、入力データに含まれる2つのチャネルの入力音声データと入力画像データそれぞれに対応する2つの入力ネットワークnetin1とnetin2、および出力データに含まれる2つのチャネルの出力音声データと出力モータデータそれぞれに対応する2つの出力ネットワークnetout1とnetout2を有することとする。
図27は、例えば、入力音声データと出力音声データとの間に関係があることと、入力画像データと出力モータデータとの間に関係があることとがあらかじめ分かっている場合(入力音声データと出力モータデータとの間に関係がないことと、入力画像データと出力音声データとの間に関係がないこととがあらかじめ分かっている場合)の入出力関係モデルとその結合重み行列を示している。
即ち、図27左側は、入力音声データと出力音声データとの間に関係があることと、入力画像データと出力モータデータとの間に関係があることとがあらかじめ分かっている場合の入出力関係モデルを示している。
この場合、入出力関係モデルにおいては、関係があるサブ入力データとサブ出力データにそれぞれ対応する時系列パターン記憶ネットワークのノードどうしのみが結合される。
即ち、図27左側では、入出力関係モデルにおいて、入力音声データに対応する入力ネットワークnetin1の入力ノードと、出力音声データに対応する出力ネットワークnetout1の出力ノードとが結合され、入力画像データに対応する入力ネットワークnetin2の入力ノードと、出力モータデータに対応する出力ネットワークnetout2の出力ノードとが結合されている。
なお、図27では(後述する図30、図36、図40、図41、および図43においても同様)、入力ネットワークnetin1、入力ネットワークnetin2、出力ネットワークnetout1、および出力ネットワークnetout2のノードの数をいずれも8つとしてあるが、入力ネットワークnetin1、入力ネットワークnetin2、出力ネットワークnetout1、出力ネットワークnetout2それぞれのノードの数は、8つに限定されるものではないし、さらに、同一の数でなくても良い。
図27右側は、図27左側の入出力関係モデルについての結合重み行列を示している。
図27左側の入出力関係モデルでは、上述したように、入力ネットワークnetin1の入力ノードと、出力音声データに対応する出力ネットワークnetout1の出力ノードとが結合され、入力画像データに対応する入力ネットワークnetin2の入力ノードと、出力モータデータに対応する出力ネットワークnetout2の出力ノードとが結合されている。
結合重み行列は、ノードどうしが結合している時系列パターン記憶ネットワークのセットの数と同一の数だけ存在する。
即ち、図27右側の上側は、入力ネットワークnetin1の入力ノードを各行に対応させるとともに、出力ネットワークnetout1の出力ノードを各列に対応させ、第i行第j列の要素に、入力ネットワークnetin1のi番目の入力ノードと、出力ネットワークnetout1のj番目の出力ノードとの結合重みwが配置された結合重み行列MTX11を示している。
また、図27右側の下側は、入力ネットワークnetin2の入力ノードを各行に対応させるとともに、出力ネットワークnetout2の出力ノードを各列に対応させ、第i行第j列の要素に、入力ネットワークnetin2のi番目の入力ノードと、出力ネットワークnetout2のj番目の出力ノードとの結合重みwが配置された結合重み行列MTX22を示している。
図27左側の入出力関係モデルの学習時においては、結合重み更新部222(図21)は、図27右側の2つの結合重み行列MTX11およびMTX22の各要素である結合重みwを更新する。
そこで、図28のフローチャートを参照して、図21のデータ処理装置の記憶部211に、図27左側に示したような入出力関係モデルが記憶されている場合の、その入出力関係モデルの学習について説明する。なお、ここでは、入出力関係モデルは、mチャネル(分)の入力ネットワークと、nチャネル(分)の出力ネットワークとから構成されることとする。
ステップS121において、入力データと出力データとのセットである教示データが、図21のデータ処理装置に入力されると、その教示データは、学習部212の学習処理部221に供給される。
学習処理部221は、ステップS122において、教示データにおける入力データに含まれるmチャネルのサブ入力データを、1チャネルごとのサブ入力データに分割するとともに、教示データにおける出力データに含まれるnチャネルのサブ出力データを、1チャネルごとのサブ出力データに分割する。
そして、ステップS123において、学習処理部221は、記憶部211に記憶された入出力関係モデルにおけるm個(チャネル分)の入力ネットワークそれぞれを、入力データの、その入力ネットワークに対応するチャネルのサブ入力データに基づいて自己組織的に更新する。
ここで、入出力関係モデルが、図27左側で説明したように、入力音声データに対応する入力ネットワークnetin1と、入力画像データに対応する入力ネットワークnetin2とを含んで構成され、入力データに、入力音声データと入力画像データが含まれる場合には、ステップS123では、入出力関係モデルの入力ネットワークnetin1が、対応するサブ入力データである入力音声データに基づいて自己組織的に更新されるとともに、入出力関係モデルの入力ネットワークnetin2が、対応するサブ入力データである入力画像データに基づいて自己組織的に更新される。
その後、ステップS124において、学習処理部221は、記憶部211に記憶された入出力関係モデルにおけるn個(チャネル分)の出力ネットワークそれぞれを、出力データの、その出力ネットワークに対応するチャネルのサブ出力データに基づいて自己組織的に更新する。
ここで、入出力関係モデルが、図27左側で説明したように、出力音声データに対応する出力ネットワークnetout1と、出力モータデータに対応する出力ネットワークnetout2とを含んで構成され、出力データに、出力音声データと出力モータデータが含まれる場合には、ステップS124では、入出力関係モデルの出力ネットワークnetout1が、対応するサブ出力データである出力音声データに基づいて自己組織的に更新されるとともに、入出力関係モデルの出力ネットワークnetout2が、対応するサブ出力データである出力モータデータに基づいて自己組織的に更新される。
学習処理部221は、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとを更新するときに勝者ノードとなったノードそれぞれのノードラベルを、結合重み更新部222に供給する。
結合重み更新部222は、学習処理部221からのノードラベル、即ち、mチャネルの入力ネットワークのそれぞれで勝者ノードとなったノードのノードラベルと、nチャネルの出力ネットワークのそれぞれで勝者ノードとなったノードのノードラベルとを受信し、ステップS125において、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットのうちの、ノードどうしが結合しているセットの1つを、注目セットとして選択して、ステップS126に進む。
ステップS126では、結合重み更新部222は、注目セットについての結合重み行列、即ち、注目セットになっている入力ネットワークの入力ノードを各行に対応させるとともに、注目セットになっている出力ネットワークの出力ノードを各列に対応させた結合重み行列の要素になっている結合重みを、学習処理部221から供給されたノードラベルが表す勝者ノードに基づき、図23で説明したように更新する。
即ち、結合重み更新部222は、学習処理部221から供給されたノードラベルに基づき、注目セットになっている入力ネットワークの勝者ノードと、注目セットになっている出力ネットワークの勝者ノードとを認識する。さらに、結合重み更新部222は、上述の式(4)にしたがい、入力ネットワークの勝者ノードを中心として、入力ネットワークの各入力ノードと、出力ネットワークの勝者ノードとの結合重みを更新するとともに、出力ネットワークの勝者ノードを中心として、出力ネットワークの各出力ノードと、入力ネットワークの勝者ノードとの結合重みを更新する。
ここで、図27左側に示した入出力関係モデルについては、ノードどうしが結合している入力ネットワークnetin1と出力ネットワークnetout1とのセットと、入力ネットワークnetin2と出力ネットワークnetout2とのセットとが、注目セットとして選択され得る。
そして、入力ネットワークnetin1と出力ネットワークnetout1とのセットが、注目セットとして選択された場合には、ステップS126では、図27右側の上側に示した結合重み行列MTX11の要素となっている結合重みが更新される。また、入力ネットワークnetin2と出力ネットワークnetout2とのセットが、注目セットとして選択された場合には、ステップS126では、図27右側の下側に示した結合重み行列MTX22の要素となっている結合重みが更新される。
ステップS126の処理後は、ステップS127に進み、結合重み更新部222は、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットのうちの、ノードどうしが結合しているセットのすべてについての結合重み行列(の要素となっている結合重み)の更新が終了しかどうかを判定する。
ステップS127において、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットのうちの、ノードどうしが結合しているセットのすべてについての結合重み行列の更新が、まだ終了していないと判定された場合、即ち、ノードどうしが結合しているセットの中に、まだ、注目セットとして選択されていないものが存在する場合、ステップS125に戻り、結合重み更新部222は、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットのうちの、ノードどうしが結合しているセットの中で、まだ注目セットとして選択していないものの1つを、注目セットとして新たに選択し、以下、同様の処理を繰り返す。
また、ステップS127において、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットのうちの、ノードどうしが結合しているセットのすべてについての結合重み行列の更新が終了したと判定された場合、ステップS121に戻り、次の教示データが入力されるのを待って、以下、同様の処理が繰り返される。
多数の教示データが入力され、ステップS121乃至S127の処理が繰り返されることにより、記憶部211に記憶された入出力関係モデルは、制御対象に対応する順モデルとなっていくとともに、逆モデルにもなっていく。
ここで、上述した図27左側の入出力関係モデルにおいては、1つの入力ネットワークnetin1のノードが、1つの出力ネットワークnetout1のノードにのみ結合しており、また、1つの入力ネットワークnetin2のノードが、1つの出力ネットワークnetout2のノードにのみ結合している。さらに、1つの出力ネットワークnetout1のノードも、1つの入力ネットワークnetin1のノードにのみ結合しており、1つの出力ネットワークnetout2のノードも、1つの入力ネットワークnetin2のノードにのみ結合している。
この場合、ノードどうしが結合している入力ネットワークnetin1と出力ネットワークnetout1それぞれの学習(自己組織的な更新)、およびその入力ネットワークnetin1と出力ネットワークnetout1とのセットについての結合重み行列MTX11(の要素となっている結合重み)の更新と、同じく、ノードどうしが結合している入力ネットワークnetin2と出力ネットワークnetout2それぞれの学習、およびその入力ネットワークnetin2と出力ネットワークnetout2とのセットについての結合重み行列MTX22の更新とは、独立に行うことができる。
即ち、ノードどうしが結合している入力ネットワークnetin1と出力ネットワークnetout1それぞれの学習、およびその入力ネットワークnetin1と出力ネットワークnetout1とのセットについての結合重み行列MTX11の更新は、入力データに含まれる入力音声データと、出力データに含まれる出力音声データとのセットだけを与えて行うことができ、それとは独立に、ノードどうしが結合している入力ネットワークnetin2と出力ネットワークnetout2それぞれの学習、およびその入力ネットワークnetin2と出力ネットワークnetout2とのセットについての結合重み行列MTX22の更新も、入力データに含まれる入力画像データと、出力データに含まれる出力モータデータとのセットだけを与えて行うことができる。
次に、図29のフローチャートを参照して、図21のデータ処理装置が、図28で説明した学習がされた入出力関係モデルを順モデルとして用いて、入力データに対する出力データを推定する処理について説明する。
なお、ここでは、説明を簡単にするために、例えば、mチャネルの入力ネットワークとnチャネルの出力ネットワークを有する入出力関係モデルにおいて、1つの出力ネットワークのノードは、複数の入力ネットワークのノードに結合していることはなく、1つの入力ネットワークのみのノードに結合していることとする。従って、入力ネットワークにおいて、1つの入力ノードが、勝者ノードに決定され、出力ネットワークにおいて、勝者ノードとの結合重みが最も強い出力ノードが決定された場合に、その決定される出力ノードは、各出力ネットワークにおいて1つである。
まず、ステップS131において、出力データを推定しようとする入力データが、図21のデータ処理装置に入力される。
データ処理装置に入力された入力データは、認識生成部213(図21)のスコア計算部231に供給される。
スコア計算部231は、ステップS132において、入力データに含まれるmチャネルのサブ入力データを、1チャネルごとのサブ入力データに分割して、ステップS133に進む。
ステップS133では、スコア計算部231は、入力データに含まれるサブ入力データのチャネルごとのスコアを計算する。
即ち、スコア計算部231は、ステップS133において、入力データから分割した、あるチャネルのサブ入力データに対して、記憶部211に記憶されている入出力関係モデルにおけるm個の入力ネットワークのうちの、そのサブ入力データに対応する入力ネットワークの各入力ノードのスコアを計算し、勝者ノード決定部232に供給する。
さらに、ステップS133では、スコア計算部231は、他のチャネルのサブ入力データに対しても、そのサブ入力データに対応する入力ネットワークの各入力ノードのスコアを計算し、勝者ノード決定部232に供給して、ステップS134に進む。
ステップS134では、勝者ノード決定部232は、あるチャネルのサブ入力データに対応する入力ネットワークの入力ノードのうちの、スコア計算部231からのスコアが最も高い入力ノードを、そのチャネルのサブ入力データに最も適合する勝者ノードに決定する。
さらに、ステップS134では、勝者ノード決定部232は、他のチャネルのサブ入力データに対応する入力ネットワークについても、スコア計算部231からのスコアが最も高い入力ノードを、そのチャネルのサブ入力データに最も適合する勝者ノードに決定し、m個の入力ネットワークすべてについて、勝者ノードを決定すると、ステップS135に進む。
ステップS135では、勝者ノード決定部232は、m個の入力ネットワークそれぞれについての勝者ノードの中から、有効な勝者ノード(有効勝者ノード)を決定する。
即ち、勝者ノード決定部232は、例えば、m個の入力ネットワークそれぞれについての勝者ノードのスコアを、適当な閾値と比較し、その閾値より高いスコアの勝者ノードを有効勝者ノードに決定する。
ここで、勝者ノードのスコアは、その勝者ノードが有する時系列パターンモデル21と、スコアの計算の対象となったサブ入力データとの類似性を表す。従って、ある閾値より高いスコアの勝者ノードを有効勝者ノードとすることは、サブ入力データとの類似性がある程度より高い時系列パターンモデル21を有する勝者ノードのみを、有効勝者ノードとして選択することに相当する。
なお、有効勝者ノードの決定の方法は、上述したような閾値と勝者ノードのスコアとを比較する方法に限定されるものではない。
即ち、例えば、入力ネットワークに対応するサブ入力データについては、前処理として、そのサブ入力データの有効または無効を判定し、有効であると判定されたサブ入力データに対応する入力ネットワークの勝者ノードを、有効勝者ノードに決定することができる。
ここで、前処理として行われるサブ入力データの有効または無効の判定は、サブ入力データが、例えば、音声データである場合には、その音声データのパワーなどに基づき音声区間を検出し、その音声区間に基づいて行うことができる。即ち、例えば、音声区間内のサブ入力データ(音声データ)は、有効であると判定し、音声区間外のサブ入力データは、無効であると判定することができる。
また、サブ入力データが、例えば、画像データである場合には、その画像データであるサブ入力データに映っている物体の色や動きを検出し、その色や動きに基づいて、サブ入力データの有効または無効の判定を行うことができる。即ち、例えば、物体の色が特定の色である場合や、物体が動いている場合には、サブ入力データが有効であると判定し、物体の色が特定の色以外の色である場合や、物体が静止している場合には、サブ入力データが無効であると判定することができる。
なお、例えば、上述したように、サブ入力データが音声データである場合に、音声区間内のサブ入力データ(音声データ)は、有効であると判定することは、そのサブ入力データが、無音ではない、いわば有意な音声の音声データであると判定することに相当する。そして、ここでは、有効であると判定されたサブ入力データに対応する入力ネットワークの勝者ノードが、有効勝者ノードに決定されることから、有効勝者ノードの決定は、その有効勝者ノードを勝者ノードとして有する入力ネットワークに対応するチャネルのサブ入力データが有意であることを決定することに相当する。
勝者ノード決定部232は、ステップS135において、最小が0個で、最大がm個の有効勝者ノードを決定する。有効勝者ノードの個数が0個である場合には、認識生成部213(図21)は、処理を終了する。
また、有効勝者ノードの個数が1個以上である場合には、勝者ノード決定部232は、その1個以上の有効勝者ノードを表すノードラベルを、生成ノード決定部233に供給して、ステップS136に進む。
生成ノード決定部233は、ステップS136において、記憶部211に記憶された入出力関係モデルを構成するn個の出力ネットワークの出力ノードの中で、勝者ノード決定部232からのノードラベルが表す1個以上の有効勝者ノードそれぞれとの結合重みが最も強い出力ノードを生成ノードとして決定する。従って、1個以上の有効勝者ノードと同一の数の出力ノードが生成ノードとして決定される。
さらに、生成ノード決定部233は、1個以上の生成ノードそれぞれを表すノードラベルを、時系列生成部234に供給して、ステップS136からステップS137に進む。
時系列生成部234は、ステップS137において、記憶部211に記憶された入出力関係モデルを構成する出力ネットワークの出力ノードのうちの、生成ノード決定部233からのノードラベルが表す1個以上の生成ノードそれぞれが有する時系列パターンモデル21(図7)に基づいて、認識生成部213に供給された入力データに対する出力データの推定値としての時系列データを生成して、ステップS138に進み、その時系列データを出力する。
以上のように、n個の出力ネットワークの出力ノードのうちの、1以上の有効勝者ノードそれぞれとの結合重みが最も強い1以上の出力ノードが、生成ノードに決定され、その1個以上の生成ノードそれぞれが有する時系列パターンモデル21に基づき、出力データとしての1チャネル以上の時系列データが生成される。
従って、入出力関係モデルが、例えば、図27左側で説明したように、入力音声データに対応する入力ネットワークnetin1、入力画像データに対応する入力ネットワークnetin2、出力音声データに対応する出力ネットワークnetout1、および出力モータデータに対応する出力ネットワークnetout2とを含んで構成され、入力ネットワークnetin1と出力ネットワークnetout1と(のノードどうし)が結合し、かつ、入力ネットワークnetin2と出力ネットワークnetout2とが結合している場合において、入力ネットワークnetin1の勝者ノードのみが、有効勝者ノードに決定されたときには、その有効勝者ノードとの結合重みが最も強い、出力ネットワークnetout1の出力ノードが、生成ノードに決定される。そして、その生成ノードが有する時系列パターンモデル21に基づき、出力音声データが生成され、その出力音声データを1つのチャネルのサブ出力データとして含む出力データが出力される。なお、この場合、出力データに含まれる他の1つのチャネルのサブ出力データとしての出力モータデータは、例えば、上述したように、アームを移動させないことを表すデータ(時系列データ)とされる。
また、入力ネットワークnetin2の勝者ノードのみが、有効勝者ノードに決定されたときには、その有効勝者ノードとの結合重みが最も強い、出力ネットワークnetout2の出力ノードが、生成ノードに決定される。そして、その生成ノードが有する時系列パターンモデル21に基づき、出力モータデータが生成され、その出力モータデータを1つのチャネルのサブ出力データとして含む出力データが出力される。なお、この場合、出力データに含まれる他の1つのチャネルのサブ出力データとしての出力音声データは、例えば、上述したように、音声を出力しないことを表すデータ(時系列データ)とされる。
さらに、入力ネットワークnetin1とnetin2の両方の勝者ノードが、有効勝者ノードに決定されたときには、入力ネットワークnetin1の有効勝者ノードとの結合重みが最も強い、出力ネットワークnetout1の出力ノードが、生成ノードに決定されるとともに、入力ネットワークnetin2の有効勝者ノードとの結合重みが最も強い、出力ネットワークnetout2の出力ノードが、生成ノードに決定される。そして、出力ネットワークnetout1の生成ノードが有する時系列パターンモデル21に基づき、出力音声データが生成されるとともに、出力ネットワークnetout2の生成ノードが有する時系列パターンモデル21に基づき、出力モータデータが生成され、その出力音声データと出力モータデータを、それぞれサブ出力データとして含む出力データが出力される。
その結果、図27左側の入出力関係モデルを順モデルとして適用したロボットにおいては、入力データに対して、音声が出力され、または、アームが移動され、あるいは、音声が出力されるとともに、アームが移動される。
なお、上述したように、入出力関係モデルは逆モデルとしても使用することができ、この場合、出力データに対する入力データ(制御データ)を推定する処理を行うことができる。出力データに対する入力データを推定する処理は、上述の図29の説明において、「入力」を「出力」に読み替えるとともに、「出力」を「入力」に読み替えた説明となるので、その説明は、省略する。
次に、入力データのサブ入力データと、出力データのサブ出力データとの間に関係があることが、あらかじめ分かっていない(未知である)場合、つまり、入力データのあるチャネルのサブ入力データと、出力データのあるチャネルのサブ出力データとの間に関係があるかどうかが不明である場合の、入力ネットワークと出力ネットワークとのノードどうしの結合について説明する。
なお、ここでも、上述の図25で説明したように、入力データには、2つのチャネルのサブ入力データとしての入力音声データと入力画像データが含まれ、出力データにも、2つのチャネルのサブ出力データとしての出力音声データと出力モータデータが含まれることとする。さらに、図26で説明したように、入出力関係モデルは、入力データに含まれる2つのチャネルの入力音声データと入力画像データそれぞれに対応する2つの入力ネットワークnetin1とnetin2、および出力データに含まれる2つのチャネルの出力音声データと出力モータデータそれぞれに対応する2つの出力ネットワークnetout1とnetout2を有することとする。
図30は、入力音声データと出力音声データまたは出力モータデータとの間に関係があるかどうか、さらには、入力画像データと出力音声データまたは出力モータデータとの間に関係があるかどうかが不明である場合の入出力関係モデルとその結合重み行列を示している。
即ち、図30左側は、入力音声データと出力音声データまたは出力モータデータとの間に関係があるかどうか、さらには、入力画像データと出力音声データまたは出力モータデータとの間に関係があるかどうかが不明である場合の入出力関係モデルを示している。
この場合、入出力関係モデルにおいては、入力ネットワークのノードは、すべての出力ネットワークのノードと結合され、出力ネットワークのノードも、すべての入力ネットワークのノードと結合される。
即ち、図30左側では、入出力関係モデルにおいて、入力音声データに対応する入力ネットワークnetin1の入力ノードと、出力音声データに対応する出力ネットワークnetout1の出力ノードとが結合され、入力音声データに対応する入力ネットワークnetin1の入力ノードと、出力モータデータに対応する出力ネットワークnetout2の出力ノードとが結合されている。さらに、入力画像データに対応する入力ネットワークnetin2の入力ノードと、出力音声データに対応する出力ネットワークnetout1の出力ノードとが結合され、入力画像データに対応する入力ネットワークnetin2の入力ノードと、出力モータデータに対応する出力ネットワークnetout2の出力ノードとが結合されている。
図30右側は、図30左側の入出力関係モデルについての結合重み行列を示している。
図30左側の入出力関係モデルでは、上述したように、入力ネットワークnetin1の入力ノードと、出力音声データに対応する出力ネットワークnetout1の出力ノードとが結合され、入力画像データに対応する入力ネットワークnetin2の入力ノードと、出力モータデータに対応する出力ネットワークnetout2の出力ノードとが結合されている。さらに、入力ネットワークnetin1の入力ノードと、出力モータデータに対応する出力ネットワークnetout2の出力ノードとが結合され、入力画像データに対応する入力ネットワークnetin2の入力ノードと、出力音声データに対応する出力ネットワークnetout1の出力ノードとが結合されている。
結合重み行列は、ノードどうしが結合している時系列パターン記憶ネットワークのセットの数と同一の数だけ存在する。
即ち、図30右側の左上側は、入力ネットワークnetin1の入力ノードを各行に対応させるとともに、出力ネットワークnetout1の出力ノードを各列に対応させ、第i行第j列の要素に、入力ネットワークnetin1のi番目の入力ノードと、出力ネットワークnetout1のj番目の出力ノードとの結合重みwが配置された結合重み行列MTX11を示している。
さらに、図30右側の右上側は、入力ネットワークnetin1の入力ノードを各行に対応させるとともに、出力ネットワークnetout2の出力ノードを各列に対応させ、第i行第j列の要素に、入力ネットワークnetin1のi番目の入力ノードと、出力ネットワークnetout2のj番目の出力ノードとの結合重みwが配置された結合重み行列MTX12を示している。
また、図30右側の左下側は、入力ネットワークnetin2の入力ノードを各行に対応させるとともに、出力ネットワークnetout1の出力ノードを各列に対応させ、第i行第j列の要素に、入力ネットワークnetin2のi番目の入力ノードと、出力ネットワークnetout1のj番目の出力ノードとの結合重みwが配置された結合重み行列MTX21を示している。
さらに、図30右側の右下側は、入力ネットワークnetin2の入力ノードを各行に対応させるとともに、出力ネットワークnetout2の出力ノードを各列に対応させ、第i行第j列の要素に、入力ネットワークnetin2のi番目の入力ノードと、出力ネットワークnetout2のj番目の出力ノードとの結合重みwが配置された結合重み行列MTX22を示している。
図30左側の入出力関係モデルの学習時においては、結合重み更新部222(図21)は、図30右側の4つの結合重み行列MTX11,MTX12,MTX21、およびMTX22の各要素である結合重みwを更新する。
ここで、例えば、図27乃至図29で説明したように、入力音声データと出力音声データとの間に関係があること、および入力画像データと出力モータデータとの間に関係があることが、あらかじめ分かっている場合、つまり、制御対象において、入力音声データに対応して、出力音声データが出力される(出力モータデータは出力されない)こと、および、入力画像データに対応して出力モータデータが出力される(出力音声データは出力されない)ことが、あらかじめ分かっている場合には、入出力関係モデルの学習において、関係があるサブ入力データとサブ出力データとの組み合わせの数だけの更新重み行列について、結合重みの更新を行えばよい。
つまり、図27乃至図29で説明したように、入力音声データと出力音声データとの間に関係があること、および入力画像データと出力モータデータとの間に関係があることが、あらかじめ分かっている場合には、関係がある入力音声データと出力音声データとの組み合わせに対応する更新重み行列MTX11と、関係がある入力画像データと出力モータデータとの組み合わせに対応する更新重み行列MTX22との2つの更新重み行列、即ち、入力音声データに対応する入力ネットワークnetin1の入力ノードを各行に対応させるとともに、出力音声データに対応する出力ネットワークnetout1の出力ノードを各列に対応させ、第i行第j列の要素に、入力ネットワークnetin1のi番目の入力ノードと、出力ネットワークnetout1のj番目の出力ノードとの結合重みwを配置した結合重み行列MTX11(図27)と、入力画像データに対応する入力ネットワークnetin2の入力ノードを各行に対応させるとともに、出力モータデータに対応する出力ネットワークnetout2の出力ノードを各列に対応させ、第i行第j列の要素に、入力ネットワークnetin2のi番目の入力ノードと、出力ネットワークnetout2のj番目の出力ノードとの結合重みwを配置した結合重み行列MTX22(図27)とについて、結合重みの更新を行えばよい。
一方、関係があるサブ入力データとサブ出力データが、あらかじめ分かっていない場合、即ち、例えば、制御対象において、入力音声データに対応して、出力音声データまたは出力モータデータのいずれ(両方も含む)が出力されるのかが分からず、また、入力画像データに対応して、やはり、出力音声データまたは出力モータデータのいずれが出力されるのかが分からない場合には、入出力関係モデルの学習において、入力データに含まれる各サブ入力データと、出力データに含まれる各サブ出力データとのすべての組み合わせの数だけの更新重み行列について、結合重みの更新を行う必要がある。
従って、図30左側の入出力関係モデルの学習時においては、図30右側に示した4つの結合重み行列MTX11,MTX12,MTX21、およびMTX22(の要素である結合重み)が更新される。
そして、入出力関係モデルを構成する入力ネットワークおよび出力ネットワークの学習が進むと、入力ノードが有する時系列パターンモデル21が、ある特定の時系列パターンを表現し、また、出力ノードが有する時系列パターンモデル21も、他の特定の時系列パターンを表現するようになる。
その結果、ある特定の時系列パターンの入力データと、他の特定の時系列パターンの出力データとの間に、何らかの関係性がある場合、そのような入力データと出力データとのセット(教示データ)が与えられると、入力ネットワークにおいてある特定の時系列パターンを表現する時系列パターンモデル21を有する入力ノードが勝者ノードとなるとともに、出力ネットワークにおいて他の特定の時系列パターンを表現する時系列パターンモデル21を有する出力ノードが勝者ノードとなる。
さらに、上述したように、入力ネットワークの勝者ノードを中心として、入力ネットワークの各入力ノードと、出力ネットワークの勝者ノードとの結合重みが更新されるとともに、出力ネットワークの勝者ノードを中心として、出力ネットワークの各出力ノードと、入力ネットワークnetinの勝者ノードとの結合重みが更新される。
即ち、入力ネットワークの各入力ノードと、出力ネットワークの勝者ノードとの結合重みは、入力ネットワークの勝者ノードとのパターン間距離dが近い入力ノードほど強くなる(強化する)ように更新される。また、出力ネットワークの各出力ノードと、入力ネットワークの勝者ノードとの結合重みも、出力ネットワークの勝者ノードとのパターン間距離dが近い出力ノードほど強くなるように更新される。
逆に言えば、入力ネットワークの各入力ノードと、出力ネットワークの勝者ノードとの結合重みは、入力ネットワークの勝者ノードとのパターン間距離dが遠い入力ノードほど弱くなる(弱化する)ように更新される。また、出力ネットワークの各出力ノードと、入力ネットワークの勝者ノードとの結合重みも、出力ネットワークの勝者ノードとのパターン間距離dが遠い出力ノードほど弱くなるように更新される。
ここで、図31は、入出力関係モデルのある時系列パターン記憶ネットワークのノードの結合重みを示している。
即ち、いま、入出力関係モデルを構成する、ノードどうしが結合されているある入力ネットワークと出力ネットワークに注目し、それぞれを、注目入力ネットワークと注目出力ネットワークと呼ぶ。さらに、ある時系列パターンを、時系列パターンPAと呼び、他の時系列パターンを、時系列パターンPBと呼ぶ。
図31は、注目入力ネットワークnetinのある入力ノードに注目し、その注目ノードと、注目出力ネットワークの各出力ノードとの結合重みを示している。
なお、図31において、横軸は、注目出力ネットワークの各出力ノード(のノードラベル)を表し、縦軸は、各出力ノードについての(注目ノードとの)結合重みを表す。また、横軸において、パターン間距離dが近い出力ノードどうしは、そのパターン間距離dに応じて近い位置に配置されている。
いま、注目ノードが有する時系列パターンモデル21(図7)が時系列パターンPAを表現し、注目出力ネットワークのある出力ノードが有する時系列パターンモデル21が時系列パターンPBを表現するとする。
また、教示データにおける入力データに含まれるあるサブ入力データSinは、注目入力ネットワークに対応し、その教示データにおける出力データに含まれるあるサブ出力データSoutは、注目出力ネットワークに対応することとする。
入出力関係モデルの学習において、時系列パターンPAに属する時系列データをサブ入力データSinとするとともに、時系列パターンPBに属する時系列データをサブ出力データSoutとする多数の教示データが与えられると、その多数の教示データに対して、注目入力ネットワークでは、時系列パターンPAを表現する時系列パターンモデル21を有する注目ノードが勝者ノードとなり、注目出力ネットワークでは、時系列パターンPBを表現する時系列パターンモデル21を有する出力ノードが勝者ノードとなるから、その出力ノードと注目ノードとの結合重みは、強化されていく。
さらに、いま、時系列パターンPBを表現する時系列パターンモデル21を有する出力ノードを、出力ノードNPBと呼ぶこととすると、注目出力ネットワークの各出力ノードについての結合重みは、出力ノードNPBとのパターン間距離dが遠い出力ノードほど弱化される。
その結果、注目出力ネットワークの各出力ノードについての結合重みは、図31左側に示すように、出力ノードNPBについての結合重みを最大値として、出力ノードNPBとのパターン間距離dが遠い出力ノードについての結合重みほど、小さくなっていく。
一方、例えば、多数の教示データにおけるサブ出力データSoutが、時系列パターンPBに属する時系列データであったり、その他の時系列パターンに属する時系列データであったりといった、様々な時系列パターンに属する時系列データであると、その多数の教示データに対して、注目入力ネットワークでは、時系列パターンPAを表現する時系列パターンモデル21を有する注目ノードは勝者ノードとなるが、注目出力ネットワークでは、出力ノードNPBの他、様々な出力ノードが勝者ノードとなる。
この場合、注目出力ネットワークの各ノードと注目ノードとの結合重みは、注目出力ネットワークの特定の出力ノードについてだけ強化されることにはならず、その結果、図31右側に示すように、注目出力ネットワークの出力ノードのいずれについても小さくなる。
注目出力ネットワークのある出力ノードに注目し、その出力ノードと、注目入力ネットワークの各入力ノードとの結合重みも、上述の場合と同様となる。
以上のように、注目入力ネットワークのノードと、注目出力ネットワークのノードとの結合重みには、教示データにおけるサブ入力データSinとサブ出力データSoutとの関係が反映される。
即ち、時系列パターンPAに属する時系列データをサブ入力データSinとするとともに、時系列パターンPBに属する時系列データをサブ出力データSoutとする多数の教示データが与えられた場合、つまり、制御対象において、時系列パターンPAに属する時系列データが、サブ入力データSinとして入力されたときに、時系列パターンPBに属する時系列データが、サブ出力データSoutとして観測される頻度が高く、従って、サブ入力データSinとサブ出力データSoutとに関係がある場合(何らかの相関がある場合)、注目出力ネットワークの各出力ノードと注目入力ネットワークの特定の入力ノード(注目ノード)との結合重みは、図31左側に示したように、注目出力ネットワークの特定の出力ノードNPBについての結合重みを最大値として、その特定の出力ノードNPBとのパターン間距離dが遠い出力ノードについての結合重みほど、小さくなっていく。同様に、注目入力ネットワークの各入力ノードと注目出力ネットワークの特定の出力ノードとの結合重みも、注目入力ネットワークの特定の入力ノードについての結合重みを最大値として、その特定の入力ノードとのパターン間距離dが遠い入力ノードについての結合重みほど、小さくなっていく。
一方、時系列パターンPAに属する時系列データをサブ入力データSinとするとともに、各種の時系列パターンに属する時系列データをサブ出力データSoutとする多数の教示データが与えられた場合、つまり、制御対象において、時系列パターンPAに属する時系列データが、サブ入力データSinとして入力されたときに、様々な時系列パターンの時系列データが、サブ出力データSoutとして観測され、従って、サブ入力データSinとサブ出力データSoutとに関係がない場合(相関がない、あるいは相関が低い場合)、注目出力ネットワークの各出力ノードと注目入力ネットワークの特定の入力ノードとの結合重みは、図31右側に示したように、注目出力ネットワークの出力ノードのすべてについて、一様に小さくなる。同様に、注目入力ネットワークの各入力ノードと注目出力ネットワークの特定の出力ノードとの結合重みも、注目入力ネットワークの入力ノードのすべてについて、一様に小さくなる。
従って、入出力関係モデルの学習時において、例えば、入力音声データと出力音声データとの間、および入力画像データと出力モータデータとの間には相関があり、入力音声データと出力モータデータとの間、および入力画像データと出力音声データとの間には相関がない多数の教示データが与えられた場合、入力音声データに対応する入力ネットワークnetin1の入力ノードを各行に対応させるとともに、その入力音声データと相関がある出力音声データに対応する出力ネットワークnetout1の出力ノードを各列に対応させた結合重み行列MTX11(図30)には、入力音声データと出力音声データとの相関が反映され、その結果、入力ネットワークnetin1の各入力ノードについては、出力ネットワークnetout1の特定の出力ノードとの結合重みが、他の出力ノードに比較して強く、かつ、出力ネットワークnetout1の各出力ノードについても、入力ネットワークnetin1の特定の入力ノードとの結合重みが、他の入力ノードに比較して強い結合重み行列MTX11が得られる。
同様に、入力画像データに対応する入力ネットワークnetin2の入力ノードを各行に対応させるとともに、その入力画像データと相関がある出力モータデータに対応する出力ネットワークnetout2の出力ノードを各列に対応させた結合重み行列MTX22(図30)にも、入力画像データと出力モータデータとの相関が反映され、その結果、入力ネットワークnetin2の各入力ノードについては、出力ネットワークnetout2の特定の出力ノードとの結合重みが、他の出力ノードに比較して強く、かつ、出力ネットワークnetout2の各出力ノードについても、入力ネットワークnetin2の特定の入力ノードとの結合重みが、他の入力ノードに比較して強い結合重み行列MTX22が得られる。
一方、入力音声データに対応する入力ネットワークnetin1の入力ノードを各行に対応させるとともに、その入力音声データと相関がない出力モータデータに対応する出力ネットワークnetout2の出力ノードを各列に対応させた結合重み行列MTX12(図30)には、入力音声データと出力モータデータとの相関の小ささが反映され、その結果、入力ネットワークnetin1の各入力ノードについては、出力ネットワークnetout2のどの出力ノードとの結合重みも一様に低く、かつ、出力ネットワークnetout2の各出力ノードについても、入力ネットワークnetin1のどの入力ノードとの結合重みも一様に低い結合重み行列MTX12が得られる。
同様に、入力画像データに対応する入力ネットワークnetin2の入力ノードを各行に対応させるとともに、その入力画像データと相関がない出力音声データに対応する出力ネットワークnetout1の出力ノードを各列に対応させた結合重み行列MTX21(図30)には、やはり、入力画像データと出力音声データとの相関の小ささが反映され、その結果、入力ネットワークnetin2の各入力ノードについては、出力ネットワークnetout1のどの出力ノードとの結合重みも一様に低く、かつ、出力ネットワークnetout1の各出力ノードについても、入力ネットワークnetin2のどの入力ノードとの結合重みも一様に低い結合重み行列MTX21が得られる。
また、例えば、入出力関係モデルの学習時において、例えば、入力音声データと出力音声データとの間、入力音声データと出力モータデータとの間、入力画像データと出力音声データとの間、および入力画像データと出力モータデータとの間のすべてについて、相関がある多数の教示データが与えられた場合、結合重み行列MTX11,MTX12,MTX21、およびMTX22(図30)には、いずれも、対応する相関が反映される。
その結果、結合重み行列MTX11(図30)では、入力ネットワークnetin1の各入力ノードについては、出力ネットワークnetout1の特定の出力ノードとの結合重みが、他の出力ノードに比較して強くなり、かつ、出力ネットワークnetout1の各出力ノードについても、入力ネットワークnetin1の特定の入力ノードとの結合重みが、他の入力ノードに比較して強くなる。他の結合重み行列MTX12,MTX21、およびMTX22でも、同様である。
以上のように、結合重み行列は、教示データにおけるサブ入力データとサブ出力データとの相関を反映するように、柔軟に更新される。
ここで、以下、適宜、サブ入力データとサブ出力データとを区別することなく、サブデータという。さらに、以下、適宜、あるサブデータに対応する時系列パターン記憶ネットワークnet1のノードを各行に対応させるとともに、他のサブデータに対応する時系列パターン記憶ネットワークnet2のノードを各列に対応させた結合重み行列を、時系列パターン記憶ネットワークnet1と時系列パターン記憶ネットワークnet2との間の結合重み行列という。
次に、図32のフローチャートを参照して、図21のデータ処理装置の記憶部211に、図30左側に示したような入出力関係モデルが記憶されている場合の、その入出力関係モデルの学習について説明する。なお、ここでも、入出力関係モデルは、mチャネル(分)の入力ネットワークと、nチャネル(分)の出力ネットワークとから構成されることとする。
ステップS141乃至S144において、図28のステップS121乃至S124とそれぞれ同様の処理が行われる。
即ち、ステップS141において、入力データと出力データとのセットである教示データが、図21のデータ処理装置に入力されると、その教示データは、学習部212の学習処理部221に供給される。
学習処理部221は、ステップS142において、教示データにおける入力データに含まれるmチャネルのサブ入力データを、1チャネルごとのサブ入力データに分割するとともに、教示データにおける出力データに含まれるnチャネルのサブ出力データを、1チャネルごとのサブ出力データに分割する。
そして、ステップS143において、学習処理部221は、記憶部211に記憶された入出力関係モデルにおけるm個(チャネル分)の入力ネットワークそれぞれを、入力データの、その入力ネットワークに対応するチャネルのサブ入力データに基づいて自己組織的に更新する。
ここで、入出力関係モデルが、図30左側で説明したように、入力音声データに対応する入力ネットワークnetin1と、入力画像データに対応する入力ネットワークnetin2とを含んで構成され、入力データに、入力音声データと入力画像データが含まれる場合には、ステップS143では、入出力関係モデルの入力ネットワークnetin1が、対応するサブ入力データである入力音声データに基づいて自己組織的に更新されるとともに、入出力関係モデルの入力ネットワークnetin2が、対応するサブ入力データである入力画像データに基づいて自己組織的に更新される。
その後、ステップS144において、学習処理部221は、記憶部211に記憶された入出力関係モデルにおけるn個(チャネル分)の出力ネットワークそれぞれを、出力データの、その出力ネットワークに対応するチャネルのサブ出力データに基づいて自己組織的に更新する。
ここで、入出力関係モデルが、図30左側で説明したように、出力音声データに対応する出力ネットワークnetout1と、出力モータデータに対応する出力ネットワークnetout2とを含んで構成され、出力データに、出力音声データと出力モータデータが含まれる場合には、ステップS144では、入出力関係モデルの出力ネットワークnetout1が、対応するサブ出力データである出力音声データに基づいて自己組織的に更新されるとともに、入出力関係モデルの出力ネットワークnetout2が、対応するサブ出力データである出力モータデータに基づいて自己組織的に更新される。
学習処理部221は、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとを更新するときに勝者ノードとなったノードそれぞれのノードラベルを、結合重み更新部222に供給する。
結合重み更新部222は、学習処理部221からのノードラベル、即ち、mチャネルの入力ネットワークのそれぞれで勝者ノードとなったノードのノードラベルと、nチャネルの出力ネットワークのそれぞれで勝者ノードとなったノードのノードラベルとを受信し、ステップS145において、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットのうちの、ノードどうしが結合しているセットの1つを、注目セットとして選択して、ステップS146に進む。
ここで、いまの場合、図30左側に示したように、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットについては、すべて、ノードどうしが結合している。従って、ステップS145では、そのm×nセットが、順次、注目セットとして選択される。
ステップS146では、結合重み更新部222は、注目セットについての結合重み行列、即ち、注目セットになっている入力ネットワークと出力ネットワークとの間の結合重み行列の要素になっている結合重みを、学習処理部221から供給されたノードラベルが表す勝者ノードに基づき、図23で説明したように更新する。
即ち、結合重み更新部222は、学習処理部221から供給されたノードラベルに基づき、注目セットになっている入力ネットワークの勝者ノードと、注目セットになっている出力ネットワークの勝者ノードとを認識する。さらに、結合重み更新部222は、上述の式(4)にしたがい、入力ネットワークの勝者ノードを中心として、入力ネットワークの各入力ノードと、出力ネットワークの勝者ノードとの結合重みを更新するとともに、出力ネットワークの勝者ノードを中心として、出力ネットワークの各出力ノードと、入力ネットワークの勝者ノードとの結合重みを更新する。
ここで、図30左側に示した入出力関係モデルについては、入力ネットワークnetin1と出力ネットワークnetout1とのセット、入力ネットワークnetin1と出力ネットワークnetout2とのセット、入力ネットワークnetin2と出力ネットワークnetout1とのセット、および入力ネットワークnetin2と出力ネットワークnetout2とのセットの4セットが、注目セットとして選択され得る。
そして、入力ネットワークnetin1と出力ネットワークnetout1とのセットが、注目セットとして選択された場合には、ステップS146では、図30右側の左上側に示した結合重み行列MTX11の要素となっている結合重みが更新される。また、入力ネットワークnetin1と出力ネットワークnetout2とのセットが、注目セットとして選択された場合には、ステップS146では、図30右側の右上側に示した結合重み行列MTX12の要素となっている結合重みが更新され、入力ネットワークnetin2と出力ネットワークnetout1とのセットが、注目セットとして選択された場合には、ステップS146では、図30右側の左下側に示した結合重み行列MTX21の要素となっている結合重みが更新される。さらに、入力ネットワークnetin2と出力ネットワークnetout2とのセットが、注目セットとして選択された場合には、ステップS146では、図30右側の右下側に示した結合重み行列MTX22の要素となっている結合重みが更新される。
ステップS146の処理後は、ステップS147に進み、結合重み更新部222は、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットのうちの、ノードどうしが結合しているセット、即ち、ここでは、そのm×nセットのすべてについての結合重み行列(の要素となっている結合重み)の更新が終了しかどうかを判定する。
ステップS147において、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットのすべてについての結合重み行列の更新が、まだ終了していないと判定された場合、即ち、m×nセットの中に、まだ、注目セットとして選択されていないものが存在する場合、ステップS145に戻り、結合重み更新部222は、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットの中で、まだ注目セットとして選択していないものの1つを、注目セットとして新たに選択し、以下、同様の処理を繰り返す。
また、ステップS147において、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとのm×nセットのすべてについての結合重み行列の更新が終了したと判定された場合、ステップS141に戻り、次の教示データが入力されるのを待って、以下、同様の処理が繰り返される。
以上のように、入出力関係モデルを構成するmチャネルの入力ネットワークそれぞれのノードと、その入出力関係モデルを構成するnチャネルの出力ネットワークそれぞれのノードとを結合し、入力ネットワークと出力ネットワークとのm×nセットのすべてについての結合重み行列を更新することにより、自由度の高い入出力関係モデルの学習を行うことができる。
その結果、例えば、ある音声データの入力に対して、音声データを出力し、他の音声データの入力に対して、モータデータを出力し、さらに他の音声データの入力に対して、音声データとモータデータの両方を出力する入出力関係モデルや、ある画像データの入力に対して、音声データを出力し、他の画像データの入力に対して、モータデータを出力し、さらに他の画像データの入力に対して、音声データとモータデータの両方を出力する入出力関係モデルなどを獲得することができる。
なお、入出力関係モデルの学習時において、例えば、入力音声データと出力音声データとの間、および入力画像データと出力モータデータとの間には相関があり、入力音声データと出力モータデータとの間、および入力画像データと出力音声データとの間には相関がない多数の教示データを、図27左側の入出力関係モデルと、図30左側の入出力関係モデルとに、それぞれ与えて学習を行った場合、図27左側の入出力関係モデルで得られる結合重み行列MTX11(図27右側の上側)と、図30左側の入出力関係モデルで得られる結合重み行列MTX11(図30右側の左上側)は、同様の結合重み行列となる。図27左側の入出力関係モデルで得られる結合重み行列MTX22(図27右側の下側)と、図30左側の入出力関係モデルで得られる結合重み行列MTX22(図30右側の右下側)も、同様の結合重み行列となる。
次に、図33のフローチャートを参照して、図21のデータ処理装置が、図32で説明したように学習がされた図30左側に示したような入出力関係モデルを用いて、入力データに対する出力データを推定する処理について説明する。なお、ここでも、入出力関係モデルは、mチャネル(分)の入力ネットワークと、nチャネル(分)の出力ネットワークとから構成されることとする。
ステップS151乃至S155において、図29のステップS131乃至S135とそれぞれ同様の処理が行われる。
そして、ステップS155において、認識生成部213(図21)の勝者ノード決定部232が、図29のステップS135と同様にして、m個の入力ネットワークそれぞれについての勝者ノードの中から、有効勝者ノードを決定し、その有効勝者ノードの個数が0個である場合には、認識生成部213(図21)は、処理を終了する。
また、有効勝者ノードの個数が1個以上である場合には、勝者ノード決定部232は、その1個以上の有効勝者ノードを表すノードラベルを、生成ノード決定部233に供給して、ステップS155からステップS156に進む。
ステップS156では、生成ノード決定部233は、勝者ノード決定部232からの1個以上のノードラベルに基づき、生成ノードの候補となる候補ノードを決定する。
即ち、生成ノード決定部233は、勝者ノード決定部232からの1個以上のノードラベルのうちの1つを、注目ノードラベルとして選択するとともに、入出力関係モデルのnチャネルの出力ネットワークのうちの1つを、注目出力ネットワークとして選択する。さらに、生成ノード決定部233は、注目出力ネットワークのノードの中で、注目ノードラベルが表す有効勝者ノードとの結合重みが最も強い出力ノードを、候補ノードに決定する。
生成ノード決定部233は、nチャネルの出力ネットワークを、順次、注目出力ネットワークとして選択し、上述したように、候補ノードを決定する。
さらに、生成ノード決定部233は、勝者ノード決定部232からの1個以上のノードラベルを、順次、注目ノードラベルとして選択し、勝者ノード決定部232からの1個以上のノードラベルそれぞれについて、上述したように、候補ノードを決定する。
従って、この場合、1つの有効勝者ノードに対して、1以上の候補ノードが決定される。
即ち、例えば、図30左側の入出力関係モデルにおいて、入力音声データに対応する入力ネットワークnetin1のある入力ノードNiが、有効勝者ノードとなっている場合、その有効勝者ノードNiに対しては、出力音声データに対応する出力ネットワークnetout1のノードの中で、有効勝者ノードNiとの結合重みが最強の出力ノードと、出力モータデータに対応する出力ネットワークnetout2のノードの中で、有効勝者ノードNiとの結合重みが最強の出力ノードとが、候補ノードに決定される。
また、例えば、図30左側の入出力関係モデルにおいて、入力画像データに対応する入力ネットワークnetin2のある入力ノードNiが、有効勝者ノードとなっている場合、その有効勝者ノードNiに対しても、出力音声データに対応する出力ネットワークnetout1のノードの中で、有効勝者ノードNiとの結合重みが最強の出力ノードと、出力モータデータに対応する出力ネットワークnetout2のノードの中で、有効勝者ノードNiとの結合重みが最強の出力ノードとが、候補ノードに決定される。
従って、ある1つの出力ネットワークに注目した場合、その出力ネットワークの複数の出力ノードが、候補ノードに決定されることがあり得る。
そこで、生成ノード決定部233は、1つの出力ネットワークについて、多くとも1つの生成ノードを決定するために、ステップS156において候補ノードが決定された後は、ステップS157に進み、複数の候補ノードが存在する出力ネットワークについて、その複数の候補ノードのうちの1つの候補ノードを、生成ノードに仮決定する。
ここで、生成ノードに仮決定される候補ノードを、仮生成ノードということとすると、生成ノード決定部233は、例えば、次のようにして、1つの出力ネットワークに存在する複数の候補ノードの中から1つの候補ノードを、仮生成ノードに決定する。
即ち、生成ノード決定部233は、例えば、1つの出力ネットワークに存在する複数の候補ノードそれぞれの、候補ノードに決定されたときに用いられた有効勝者ノードとの結合重みを比較し、その結合重みが最も強い候補ノードを、仮生成ノードに決定する。
なお、仮生成ノードの決定には、その他、例えば、有効勝者ノードのスコアも考慮することができる。
即ち、いま、ある候補ノードに対応する有効勝者ノード(ある候補ノードの、候補ノードに決定されたときに用いられた有効勝者ノード)との結合重みをwと表すとともに、その有効勝者ノードのスコアをSと表すとすると、1つの出力ネットワークに存在する複数の候補ノードのうちの、例えば、w+σSが最大の候補ノードを、仮生成ノードに決定することができる。ここで、σは、スコアSのスケールを、結合重みwのスケールに調整するための定数(スコアSを正規化する定数)である。
ステップS157の処理が終了すると、入出力関係モデルの各出力ネットワークでは、多くとも、1つの出力ノードが、仮生成ノードとなる。なお、出力ネットワークにおいて、1つの候補ノードしか存在しない場合には、その1つの候補ノードが、そのまま仮生成ノードに決定される。また、候補ノードが存在しない出力ネットワークは、ステップS157以降の処理の対象にならない。
その後、ステップS157からステップS158に進み、生成ノード決定部233は、ステップS157で決定された仮生成ノードの中から、有効な仮生成ノード(出力ノード)を、生成ノードに最終決定する。
即ち、生成ノード決定部233は、例えば、仮生成ノードの、候補ノードに決定されたときに用いられた有効勝者ノードとの結合重みwを閾値と比較し、結合重みwが閾値以上であれば、仮生成ノードを、有効な仮生成ノードに決定し、結合重みwが閾値未満であれば、仮生成ノードを、無効な仮生成ノードに決定する。
あるいは、生成ノード決定部233は、例えば、仮生成ノードについて、上述の値w+σSを計算して閾値と比較し、値w+σSが閾値以上であれば、仮生成ノードを、有効な仮生成ノードに決定し、値w+σSが閾値未満であれば、仮生成ノードを、無効な仮生成ノードに決定する。
そして、生成ノード決定部233は、有効な仮生成ノードのみを、生成ノードに最終決定し、1個以上の生成ノードそれぞれを表すノードラベルを、時系列生成部234に供給して、ステップS158からステップS159に進む。
なお、ステップS158において、有効な仮生成ノードが存在しない場合には、認識生成部213(図21)は、処理を終了する。
ステップS159では、時系列生成部234は、図29のステップS137と同様に、記憶部211に記憶された入出力関係モデルを構成する出力ネットワークの出力ノードのうちの、生成ノード決定部233からのノードラベルが表す1個以上の生成ノードそれぞれが有する時系列パターンモデル21(図7)に基づいて、認識生成部213に供給された入力データに対する出力データの推定値としての1個以上の時系列データを生成して、ステップS160に進み、その1個以上の時系列データそれぞれを、生成ノードを有する出力ネットワークに対応するチャネルのサブ出力データとして含む出力データを出力する。
なお、ある仮生成ノードが有効であるということは、その仮生成ノードを有する出力ネットワークに対応するチャネルのサブ出力データが、有意であること、即ち、例えば、有効な仮生成ノードを有する出力ネットワークに対応するチャネルのサブ出力データが出力音声データである場合には、その出力音声データが、無音ではない、いわば有意な音声の音声データであることに相当する。従って、仮生成ノードが有効であることを決定することは、その仮生成ノードを有する出力ネットワークに対応するチャネルのサブ出力データが有意であることを決定することに相当する。
以上のように、有効な仮生成ノードが決定され、その仮生成ノードを、生成ノードとして、その生成ノードが有する時系列パターンモデル21(図7)に基づき、その生成ノードを有する出力ネットワークに対応するチャネルのサブ出力データとしての時系列データが生成されて出力される。
従って、入出力関係モデルが、図30左側で説明したように、入力音声データに対応する入力ネットワークnetin1、入力画像データに対応する入力ネットワークnetin2、出力音声データに対応する出力ネットワークnetout1、および出力モータデータに対応する出力ネットワークnetout2とを含んで構成され、入力ネットワークnetin1が、出力ネットワークnetout1およびnetout2の両方と結合し、かつ、入力ネットワークnetin2も、出力ネットワークnetout1およびnetout2の両方と結合している場合において、出力ネットワークnetout1の出力ノードだけが、有効な仮生成ノードに決定されたときには、その有効な仮生成ノードを、生成ノードとして、その生成ノードが有する時系列パターンモデル21に基づき、出力音声データが生成され、その出力音声データを1つのチャネルのサブ出力データとして含む出力データが出力される。なお、この場合、出力データに含まれる他の1つのチャネルのサブ出力データとしての出力モータデータは、上述したように、アームを移動させないことを表すデータ(時系列データ)とされる。
また、出力ネットワークnetout2の出力ノードだけが、有効な仮生成ノードに決定されたときには、その有効な仮生成ノードを、生成ノードとして、その生成ノードが有する時系列パターンモデル21に基づき、出力モータデータが生成され、その出力モータデータを1つのチャネルのサブ出力データとして含む出力データが出力される。なお、この場合、出力データに含まれる他の1つのチャネルのサブ出力データとしての出力音声データは、上述したように、音声を出力しないことを表すデータ(時系列データ)とされる。
さらに、出力ネットワークnetout1の出力ノードと、出力ネットワークnetout2の出力ノードとが、有効な仮生成ノードに決定されたときには、それぞれの有効な仮生成ノードを、生成ノードとして、その生成ノードが有する時系列パターンモデル21に基づき、出力音声データと出力モータデータとが生成される。そして、その出力音声データと出力モータデータを、それぞれサブ出力データとして含む出力データが出力される。
その結果、図30左側の入出力関係モデルを順モデルとして適用したロボットにおいては、入力データに対して、音声が出力され、または、アームが移動され、あるいは、音声が出力されるとともに、アームが移動される。
なお、図30左側の入出力関係モデルにおいて、どのような入力データに対して、どのような出力データが出力されるは、入出力関係モデルの学習に用いた教示データに大きく依存する。即ち、例えば、ある入力音声データに対して、ある出力音声データが出力されるようにするには、例えば、その入力音声データと出力音声データとがセットになっている多数の教示データを用いて、入出力関係モデルの学習を行う必要がある。また、例えば、ある入力音声データに対して、ある出力モータデータが出力されるようにするには、例えば、その入力音声データと出力モータデータとがセットになっている多数の教示データを用いて、入出力関係モデルの学習を行う必要がある。
次に、以上の説明では、入力データに含まれるサブ入力データとして、音声のデータである入力音声データと、画像のデータである入力画像データという、いわば別々のメディアのデータを採用し、出力データに含まれるサブ出力データとしても、音声のデータである出力音声データと、モータを制御するデータである出力モータデータという別々のメディアのデータを採用したが、入力データに含まれるサブ入力データや、出力データに含まれるサブ出力データとしては、同一のメディアのデータを採用することが可能である。
そこで、例えば、いま、図34に示すような想定ロボットを制御対象として、その想定ロボットを、入出力関係モデルによって順モデルにモデル化することを考える。
図34の想定ロボットは、入力データとしての音声データが入力されると、出力データとしての音声データ(に対応する合成音)を出力するようになっている。
但し、入力データは、音声データのピッチデータとケプストラムデータとの2つのチャネルのサブ入力データを含み、出力データは、音声データの音源パラメータと声道パラメータとの2つのチャネルのサブ出力データを含んでいる。
ここで、ピッチデータについては、音声データから、そのピッチ周波数が、フレーム単位で時系列に抽出され、1つのチャネルのサブ入力データとして、想定ロボットに入力されることとする。さらに、ケプストラムデータについては、音声データから、所定の次数のケプストラム係数が、フレーム単位で時系列に抽出され(求められ)、他の1つのチャネルのサブ入力データとして、想定ロボットに入力されることとする。なお、音声データからのピッチ周波数の抽出方法、およびケプストラム係数の抽出方法は、特に限定されるものではない。
また、図34の想定ロボットは、音源パラメータと声道パラメータにしたがって、音声(合成音)を出力する音声出力装置を備えているとする。この音声出力装置は、例えば、物理的な音源から音を出力させるアクチュエータを駆動する第1の駆動信号が与えられることによって、音源から、ある周期(周波数)の音(音声)を発生し、フィルタとしてのチューブの形状を変形させるアクチュエータを駆動する第2の駆動信号が与えられることによって、チューブの形状を変形させるとする。さらに、音声出力装置は、音源からの音を、チューブを通過させることによって、ある周波数特性の音を出力するとする。この場合、時系列の第1の駆動信号が、音源パラメータに相当し、時系列の第2の駆動信号が、声道パラメータに相当する。
なお、音源からのある周期の音の出力や、その音を、形状が変形されたチューブを通過させることによりフィルタリングを行って、ある周波数特性の音とすることは、コンピュータにシミュレーションプログラムを実行させることにより行うことができる。
以上のような音声出力装置によれば、音源パラメータと声道パラメータが与えられることによって、音声(データ)、つまり、時系列データが出力される。
想定ロボットは、音源パラメータを、1つのチャネルのサブ出力データとし、かつ、声道パラメータを、他の1つのチャネルのサブ出力データとして含む出力データを出力し、この出力データを、音声出力装置に与えることによって、音声を出力する。
例えば、いま、図34の想定ロボットが、入力される音声に対して、その音声をまねた(聞きまねした)音声を出力するとする。また、想定ロボットに入力される音声、および想定ロボットが出力する音声には、音韻(読み)(カテゴリ)に関して、例えば、「あ」、「い」、「う」、「え」、「お」の5種類の音声があり、韻律の1つであるイントネーションに関して、時間的にあまりピッチ周波数が変化しないイントネーション(フラットと呼ぶ)、時間的に徐々にピッチ周波数が高くなるイントネーション(アップと呼ぶ)、時間的に徐々にピッチが低くなるイントネーション(ダウンと呼ぶ)の3種類の音声があるとする。
この場合、想定ロボットに入力される音声には、音韻に関して5種類の音声があり、イントネーションに関して3種類の音声があるから、合計で、15(=5×3)種類の音声がある。そして、想定ロボットは、その15種類の音声のうちのいずれかの種類の音声の入力に対して、同一の種類の音声を出力する。
図35は、以上のような図34の想定ロボットの順モデルとしての入出力関係モデルを示している。
図35の入出力関係モデルは、図26の入出力関係モデルと同様に、入力データに含まれる2つのチャネルのサブ入力データに対応する2つの入力ネットワークnetin1およびnetin2と、出力データに含まれる2つのチャネルのサブ出力データに対応する2つの出力ネットワークnetout1およびnetout2とを有している。
なお、図35の入出力関係モデルにおいて、入力ネットワークnetin1は、入力データのサブ入力データであるピッチデータ(のチャネル)に対応し、入力ネットワークnetin2は、入力データのサブ入力データであるケプストラムデータ(のチャネル)に対応するとする。さらに、出力ネットワークnetout1は、出力データのサブ出力データである音源パラメータ(のチャネル)に対応し、出力ネットワークnetout2は、出力データのサブ出力データである声道パラメータ(のチャネル)に対応する。
図36は、図35の入出力関係モデルにおける時系列パターン記憶ネットワークどうしの結合関係と、結合重み行列とを示している。
ここで、図34の想定ロボットについては、ピッチデータと音源パラメータとの間に関係があり、かつ、ケプストラムデータと声道パラメータとの間に関係がある(ピッチデータと声道パラメータとの間に関係がなく、かつ、ケプストラムデータと音源パラメータとの間に関係がない)として、入出力関係モデルを構成することが可能であるが、図36では、ピッチデータと音源パラメータまたは声道パラメータとの間に関係があるかどうか、さらには、ケプストラムデータと音源パラメータまたは声道パラメータとの間に関係があるかどうかが不明であるとして、入出力関係モデルが構成されている。
即ち、図36左側は、図35の入出力関係モデルにおける時系列パターン記憶ネットワークどうしの結合関係を示している。
図36左側の入出力関係モデルでは、図30左側の入出力関係モデルと同様に、入力ネットワークのノードは、すべての出力ネットワークのノードと結合され、出力ネットワークのノードも、すべての入力ネットワークのノードと結合されている。
即ち、図36左側の入出力関係モデルでは、ピッチデータに対応する入力ネットワークnetin1の入力ノードと、音源パラメータに対応する出力ネットワークnetout1の出力ノードとが結合され、ピッチデータに対応する入力ネットワークnetin1の入力ノードと、声道パラメータに対応する出力ネットワークnetout2の出力ノードとが結合されている。さらに、ケプストラムデータに対応する入力ネットワークnetin2の入力ノードと、音源パラメータに対応する出力ネットワークnetout1の出力ノードとが結合され、ケプストラムデータに対応する入力ネットワークnetin2の入力ノードと、声道パラメータに対応する出力ネットワークnetout2の出力ノードとが結合されている。
図36右側は、図36左側の入出力関係モデルについての結合重み行列を示している。
図36左側の入出力関係モデルでは、上述したように、入力ネットワークnetin1の入力ノードと、音源パラメータに対応する出力ネットワークnetout1の出力ノードとが結合され、ケプストラムデータに対応する入力ネットワークnetin2の入力ノードと、声道パラメータに対応する出力ネットワークnetout2の出力ノードとが結合されている。さらに、ケプストラムデータに対応する入力ネットワークnetin2の入力ノードと、音源パラメータに対応する出力ネットワークnetout1の出力ノードとが結合され、ケプストラムデータに対応する入力ネットワークnetin2の入力ノードと、声道パラメータに対応する出力ネットワークnetout2の出力ノードとが結合されている。
このため、図36右側の左上側に示す、入力ネットワークnetin1と出力ネットワークnetout1との間の結合重み行列MTX11、図36右側の右上側に示す、入力ネットワークnetin1と出力ネットワークnetout2との間の結合重み行列MTX12、図36右側の左下側に示す、入力ネットワークnetin2と出力ネットワークnetout1との間の結合重み行列MTX21、図36右側の右下側に示す、入力ネットワークnetin2と出力ネットワークnetout2との間の結合重み行列MTX22の、合計で4つの結合重み行列が存在し、図36左側の入出力関係モデルの学習時においては、結合重み更新部222(図21)は、図36右側の4つの結合重み行列MTX11,MTX12,MTX21、およびMTX22の各要素である結合重みwを更新する。
図36の入出力関係モデルが、図21のデータ処理装置の記憶部211に記憶されている場合、その入出力関係モデルの学習は、図32のフローチャートで説明した、図30の入出力関係モデルの学習と同様に行われる。
即ち、図36の入出力関係モデルの学習の説明は、図32の説明において、「入力音声データ」、「入力画像データ」、「出力音声データ」、「出力モータデータ」を、それぞれ、「ピッチデータ」、「ケプストラムデータ」、「音源パラメータ」、「声道パラメータ」に読み替えた説明となるので、その説明は、省略する。
次に、図37のフローチャートを参照して、図21のデータ処理装置が、図34の想定ロボットの順モデルとしての図36の入出力関係モデルを用いて、入力データに対する出力データを推定する処理について説明する。
ここで、図34の想定ロボットにおいては、その想定ロボットに入力される音声データからは、ピッチ周波数とケプストラム係数を必ず抽出することができる。また、想定ロボットから音声を出力するには、音源パラメータと声道パラメータが必ず必要である。
そこで、図34の想定ロボットの順モデルとしての図36の入出力関係モデルについては、入力データには、有意なピッチデータとケプストラムデータとが、サブ入力データとして必ず含まれ、出力データには、有意な音源パラメータと声道パラメータとが、サブ出力データとして必ず含まれるという制約を課すこととする。
まず、ステップS171において、出力データを推定しようとする入力データが、図21のデータ処理装置に入力される。即ち、時系列の音声データから順次抽出された時系列のピッチ周波数とケプストラム係数であるピッチデータとケプストラムデータを、それぞれ、1つのチャネルのサブ入力データと、他の1のチャネルのサブ入力データとして含む入力データが、図21のデータ処理装置に入力される。
データ処理装置に入力された入力データは、認識生成部213(図21)のスコア計算部231に供給される。
スコア計算部231は、ステップS172において、入力データに含まれる2つのチャネルのサブ入力データを、1チャネルごとのサブ入力データ、即ち、ピッチデータとケプストラムデータに分割して、ステップS173に進む。
ステップS173では、スコア計算部231は、入力データに含まれるピッチデータのチャンネルと、ケプストラムデータのチャネルのスコアを計算する。
即ち、スコア計算部231は、ステップS173において、ピッチデータに対して、記憶部211に記憶されている入出力関係モデルにおける、ピッチデータに対応する入力ネットワークnetin1(図36)の各入力ノードのスコアを計算し、勝者ノード決定部232に供給する。
さらに、ステップS173では、スコア計算部231は、ケプストラムデータに対して、記憶部211に記憶されている入出力関係モデルにおける、ケプストラムデータに対応する入力ネットワークnetin2(図36)の各入力ノードのスコアを計算し、勝者ノード決定部232に供給して、ステップS174に進む。
ステップS174では、勝者ノード決定部232は、ピッチデータに対応する入力ネットワークnetin1の入力ノードのうちの、スコア計算部231からのスコアが最も高い入力ノードを、ピッチデータに最も適合する勝者ノードに決定する。
さらに、ステップS174では、勝者ノード決定部232は、ケプストラムデータに対応する入力ネットワークnetin2についても、スコア計算部231からのスコアが最も高い入力ノードを、ケプストラムデータに最も適合する勝者ノードに決定して、ステップS175に進む。
ステップS175では、勝者ノード決定部232は、ピッチデータに対応する入力ネットワークnetin1についての勝者ノードと、ケプストラムデータに対応する入力ネットワークnetin2についての勝者ノードの中から、有効勝者ノードを決定する。
ここで、図36の入出力関係モデルについては、上述したように、入力データには、有意なピッチデータとケプストラムデータとが、サブ入力データとして必ず含まれるという制約を課すので、そのような有意なピッチデータに対応する入力ネットワークnetin1についての勝者ノードは、有効勝者ノードに必ず決定され、同様に、有意なケプストラムデータに対応する入力ネットワークnetin2についての勝者ノードも、有効勝者ノードに必ず決定される。
勝者ノード決定部232は、ステップS175において、ピッチデータに対応する入力ネットワークnetin1についての勝者ノードと、ケプストラムデータに対応する入力ネットワークnetin2についての勝者ノードとを、有効勝者ノードに決定すると、その2つの勝者ノードそれぞれを表すノードラベルを、生成ノード決定部233に供給して、ステップS176に進む。
ステップS176では、生成ノード決定部233は、勝者ノード決定部232からの2つのノードラベルに基づき、生成ノードの候補となる候補ノードを決定する。
即ち、勝者ノード決定部232から生成ノード決定部233に供給された2つのノードラベルは、それぞれ、ピッチデータに対応する入力ネットワークnetin1についての有効勝者ノードと、ケプストラムデータに対応する入力ネットワークnetin2についての勝者ノードを表すが、生成ノード決定部233は、例えば、まず、ピッチデータに対応する入力ネットワークnetin1についての有効勝者ノードに結合している、音源パラメータに対応する出力ネットワークnetout1(図36)の出力ノードの中で、その有効勝者ノードとの結合重みが最も強い出力ノードを、候補ノードに決定する。また、生成ノード決定部233は、ピッチデータに対応する入力ネットワークnetin1についての有効勝者ノードに結合している、声道パラメータに対応する出力ネットワークnetout2(図36)の出力ノードの中で、その有効勝者ノードとの結合重みが最も強い出力ノードも、候補ノードに決定する。
さらに、生成ノード決定部233は、ケプストラムデータに対応する入力ネットワークnetin2についての有効勝者ノードに結合している、音源パラメータに対応する出力ネットワークnetout1の出力ノードの中で、その有効勝者ノードとの結合重みが最も強い出力ノードを、候補ノードに決定するとともに、ケプストラムデータに対応する入力ネットワークnetin2についての有効勝者ノードに結合している、声道パラメータに対応する出力ネットワークnetout2の出力ノードの中で、その有効勝者ノードとの結合重みが最も強い出力ノードも、候補ノードに決定する。
従って、音源パラメータに対応する出力ネットワークnetout1の2つの出力ノードと、声道パラメータに対応する出力ネットワークnetout2の2つの出力ノードとの、合計で4つの出力ノードが、候補ノードに決定される。
以上のようにステップS176において、候補ノードが決定された後は、ステップS177に進み、生成ノード決定部233は、1つの出力ネットワークについて、1つの生成ノードを決定するために、生成ノード決定部233は、音源パラメータに対応する出力ネットワークnetout1の2つの候補ノードのうちのいずれか1つの候補ノードを、生成ノード(仮生成ノード)に仮決定するとともに、声道パラメータに対応する出力ネットワークnetout2の2つの候補ノードのうちのいずれか1つの候補ノードを、生成ノードに仮決定する。
ここで、音源パラメータに対応する出力ネットワークnetout1の2つの候補ノードは、その出力ネットワークnetout1において、ピッチデータに対応する入力ネットワークnetin1の有効勝者ノードとの結合重みが最も強い出力ノードN11と、ケプストラムデータに対応する入力ネットワークnetin2の有効勝者ノードとの結合重みが最も強い出力ノードN21である。
そこで、生成ノード決定部233は、例えば、出力ネットワークnetout1に存在する2つの候補ノードN11とN21それぞれの、候補ノードに決定されたときに用いられた有効勝者ノードとの結合重み、即ち、入力ネットワークnetin1の有効勝者ノードと候補ノードN11との結合重みと、入力ネットワークnetin2の有効勝者ノードと候補ノードN21との結合重みとを比較し、結合重みが強い方の候補ノードを、仮生成ノードに決定する。
同様にして、生成ノード決定部233は、声道パラメータに対応する出力ネットワークnetout2の2つの候補ノードのうちのいずれか1つの候補ノードを、仮生成ノードに決定する。
以上のステップS177の処理によれば、音源パラメータに対応する出力ネットワークnetout1については、その1つの出力ノードだけが、仮生成ノードに決定されるとともに、声道パラメータに対応する出力ネットワークnetout2についても、その1つの出力ノードだけが、仮生成ノードに決定される。
その後、ステップS177からステップS178に進み、生成ノード決定部233は、ステップS177で決定された仮生成ノードの中から、有効な仮生成ノード(出力ノード)を、生成ノードに最終決定する。
ここで、図36の入出力関係モデルについては、上述したように、出力データには、有意な音源パラメータと声道パラメータとが、サブ出力データとして必ず含まれるという制約を課すので、ステップS178では、音源パラメータに対応する出力ネットワークnetout1に1つだけ存在する仮生成ノードとなっている出力ノードは、必ず有効な仮生成ノードであるとして、生成ノードに決定され、同様に、声道パラメータに対応する出力ネットワークnetout2に1つだけ存在する仮生成ノードとなっている出力ノードも、必ず有効な仮生成ノードであるとして、生成ノードに決定される。
そして、生成ノード決定部233は、音源パラメータに対応する出力ネットワークnetout1の出力ノードのうちの1つの生成ノードを表すノードラベルL1と、声道パラメータに対応する出力ネットワークnetout2の出力ノードのうちの1つの生成ノードを表すノードラベルL2とを、時系列生成部234に供給して、ステップS178からステップS179に進む。
ステップS179では、時系列生成部234は、記憶部211に記憶された入出力関係モデルにおいて、音源パラメータに対応する出力ネットワークnetout1のノードのうちの、生成ノード決定部233からのノードラベルL1が表す生成ノードが有する時系列パターンモデル21(図7)に基づいて、時系列データとしての音源パラメータを生成するとともに、声道パラメータに対応する出力ネットワークnetout2のノードのうちの、生成ノード決定部233からのノードラベルL2が表す生成ノードが有する時系列パターンモデル21に基づいて、時系列データとしての声道パラメータを生成し、その音源パラメータと声道パラメータとを、サブ出力データとして含む時系列データとしての出力データを出力する。
この出力データは、上述した音源パラメータと声道パラメータにしたがって音声を出力する音声出力装置に供給され、音声出力装置では、その出力データに含まれる音源パラメータと声道パラメータにしたがって音声が出力される。
次に、図38は、図34の想定ロボットの順モデルとしての入出力関係モデルの学習を行い、その入出力関係モデルを用いて行った、入力データに対する出力データを推定する処理のシミュレーションの結果を示している。
なお、シミュレーションは、図34で説明したように、想定ロボットに入力される音声、および想定ロボットが出力する音声には、音韻(読み)(カテゴリ)に関して、「あ」、「い」、「う」、「え」、「お」の5種類の音声があり、韻律の1つであるイントネーションに関して、フラット、アップ、ダウンの3種類の音声があるとして、その5種類の音韻と3種類のイントネーションとのすべての組み合わせである15種類の音声、つまり、音韻が「あ」で、イントネーションがそれぞれフラット、アップ、ダウンの3種類の音声、音韻が「い」で、イントネーションがそれぞれフラット、アップ、ダウンの3種類の音声、音韻が「う」で、イントネーションがそれぞれフラット、アップ、ダウンの3種類の音声、音韻が「え」で、イントネーションがそれぞれフラット、アップ、ダウンの3種類の音声、音韻が「お」で、イントネーションがそれぞれフラット、アップ、ダウンの3種類の音声の、合計で15種類の音声を対象として行った。
また、シミュレーションでは、上述の15種類の音声それぞれを、男女各5人の合計で10人に、10回ずつ発話してもらい、その発話によって得られた1500(=15×10×10)サンプルの音声データを、入出力関係モデルの学習の教示データにおける入力データとして用いた。
即ち、1500サンプルの音声データそれぞれについて、1次元のピッチ周波数と13次元のケプストラム係数を時系列に抽出し、その時系列のピッチ周波数とケプストラム係数であるピッチデータとケプストラムデータを、サブ入力データとして含む1500サンプルのデータを、入出力関係モデルの学習の教示データにおける入力データとして用いた。
さらに、シミュレーションでは、時系列の1次元のピッチ周波数を音源パラメータとして与えるとともに、時系列の8つ(8次元)のフォルマント周波数を声道パラメータとして与えることにより、音源パラメータとしてのピッチ周波数の正弦波等を、声道パラメータとしての8つのフォルマント周波数で指定される周波数特性のフィルタでフィルタリングした音声(音)を出力する音声出力装置(音声合成装置)を、コンピュータにプログラムを実行させることにより実現し、その音声出力装置に与える音源パラメータと声道パラメータを、サブ出力データとして含むデータを、入出力関係モデルの学習の教示データにおける出力データとして用いた。
なお、出力データも、上述の15種類の音声それぞれについて100サンプルずつ、合計で1500サンプル用意し、入出力関係モデルの学習においては、同一種類の音声についての入力データと出力データとのセットを、入出力関係モデルに与えた。
ここで、教示データにおける入力データのピッチデータと、出力データの音源パラメータとは、いずれも、時系列のピッチ周波数であるという点で共通する。但し、入力データのピッチデータは、人が実際に発話した音声から抽出された時系列のピッチ周波数であるという点で、いわば多様性があるのに対して、出力データの音源パラメータは、音声出力装置が出力する音声(合成音)を特徴づける時系列のピッチ周波数であり、入力データのピッチデータと比較すると、多様性はない。
一方、入出力関係モデルは、入力データに含まれるピッチデータとケプストラムデータそれぞれに対応する時系列パターン記憶ネットワークとしての入力ネットワークnetin1とnetin2、および、出力データに含まれる音源パラメータと声道パラメータそれぞれに対応する時系列パターン記憶ネットワークとしての出力ネットワークnetout1とnetout2で構成した。
また、入出力関係モデルとしては、ピッチデータに対応する入力ネットワークnetin1と音源パラメータに対応する出力ネットワークnetout1との間を結合するとともに、ケプストラムデータに対応する入力ネットワークnetin2と声道パラメータに対応する出力ネットワークnetout2との間を結合した入出力関係モデルと、入力ネットワークnetin1と出力ネットワークnetout1との間、入力ネットワークnetin1と出力ネットワークnetout2との間、入力ネットワークnetin2と出力ネットワークnetout1との間、入力ネットワークnetin2と出力ネットワークnetout2との間のすべてを結合した入出力関係モデル(図36)とを用意した。
入力ネットワークnetin1とnetin2、および出力ネットワークnetout1とnetout2は、いずれも、36個のノードで構成し、その36個のノードを、図8で説明したように、2次元平面上に、横×縦が6×6となるように配置して、横方向に隣接するノードどうしと、縦方向に隣接するノードどうしに対して、リンク(結合関係)を与えた。従って、ある入力ネットワークと、ある出力ネットワークとの間の結合重み行列は、36行×36列の行列である。
また、各ノードが有する時系列パターンモデル21(図7)としては、10状態のleft-to-right型のHMMを用い、各状態の出力確率密度関数は、ガウシアン分布に従うこととした。
シミュレーションでは、上述した入力データと、その入力データに対応する出力データのセットである1500サンプルの教示データを、ランダムに、10000回選択して、入出力関係モデルに与え、その入出力関係モデルの学習を行った。
そして、以上のような学習がされた入出力関係モデルを用いて、入力データに対する出力データを推定した。
出力データの推定においては、教示データを用意したときとは別の男女各3人の合計で6人に、上述の15種類の音声それぞれを、10回ずつ発話してもらい、その発話によって得られた900(=15×6×10)サンプルの音声データを、出力データを推定しようとする入力データとして用いた。
即ち、900サンプルの音声データそれぞれについて、1次元のピッチ周波数と13次元のケプストラム係数を時系列に抽出し、その時系列のピッチ周波数とケプストラム係数であるピッチデータとケプストラムデータを、サブ入力データとして含む900サンプルのデータを、出力データを推定しようとする入力データとして用いた。
そして、シミュレーションでは、上述の900サンプルの入力データそれぞれを、入出力関係モデルに与え、各入力データに対して入出力関係モデルから出力される出力データが、入力データと同一の音韻で、かつ同一のイントネーションの音声である場合を「正解」とした。
ここで、シミュレーションでは、学習がされた入出力関係モデルの出力ネットワークnetout1の各出力ノードから、その出力ノードが有する時系列パターンモデル21としてのHMMに基づき、時系列データとしての音源パラメータを生成させ、その音源パラメータに対応するイントネーションが、フラット、アップ、またはダウンのいずれに該当するかを調査して、出力ネットワークnetout1の36の各出力ノードに対して、イントネーションを表すラベル(イントネーションラベル)を、あらかじめ付与した。
同様に、学習がされた入出力関係モデルの出力ネットワークnetout2の各出力ノードから、その出力ノードが有する時系列パターンモデル21としてのHMMに基づき、時系列データとしての声道パラメータを生成させ、その声道パラメータに対応する音韻が、「あ」、「い」、「う」、「え」、または「お」のいずれに該当するかを調査して、出力ネットワークnetout2の36の各出力ノードに対して、音韻を表すラベル(音韻ラベル)を、あらかじめ付与した。
なお、イントネーションラベルおよび音韻ラベルは、出力ネットワークnetout1の出力ノードから生成した音源パラメータと、出力ネットワークnetout2の出力ノードから生成した声道パラメータとを用いて、音声出力装置で音声を実際に出力し、その音声を聴いて付与した。
そして、シミュレーションでは、入力データが与えられた入出力関係モデルにおいて、音源パラメータが生成される出力ノードに付与されたイントネーションラベルが表すイントネーションが、入力データのイントネーションに一致し、かつ、声道パラメータが生成される出力ノードに付与された音韻ラベルが表す音韻が、入力データの音韻に一致する出力データを「正解」とした。
図38は、入力データに対して入出力関係モデルから出力された出力データが「正解」であった割合である正解率を示している。
入出力関係モデルの入力ネットワークと出力ネットワークとの結合を制限しない場合、即ち、図36に示した、入力ネットワークnetin1と出力ネットワークnetout1との間、入力ネットワークnetin1と出力ネットワークnetout2との間、入力ネットワークnetin2と出力ネットワークnetout1との間、入力ネットワークnetin2と出力ネットワークnetout2との間のすべてを結合した入出力関係モデルを用いた場合、図38左欄に示すように、イントネーションに関しては80%の正解率が、音韻に関しては70%の正解率が得られた。
入出力関係モデルの学習は、教示データが、どのようなイントネーションの、どのような音韻の音声であるかを明示的に与えない教師なし学習であり、そのような教師なし学習によって得られた入出力関係モデルによって、上述のような高い正解率が得られることから、入出力関係モデルの学習が有効に(効果的に)行われていることが分かる。
一方、入出力関係モデルの入力ネットワークと出力ネットワークとの結合を制限した場合、即ち、ピッチデータに対応する入力ネットワークnetin1と音源パラメータに対応する出力ネットワークnetout1との間、および、ケプストラムデータに対応する入力ネットワークnetin2と声道パラメータに対応する出力ネットワークnetout2との間は結合されているが、ピッチデータに対応する入力ネットワークnetin1と声道パラメータに対応する出力ネットワークnetout2との間、および、ケプストラムデータに対応する入力ネットワークnetin2と音源パラメータに対応する出力ネットワークnetout1との間は結合されていない入出力関係モデルを用いた場合、図38右欄に示すように、イントネーションに関しては82%の正解率が、音韻に関しては85%の正解率が得られた。
従って、入出力関係モデルの入力ネットワークと出力ネットワークとの結合を制限しない場合、つまり、入力データのあるチャネルのサブ入力データと、出力データのあるチャネルのサブ出力データとの間に関係があるかどうかが不明であり、入力ネットワークをすべての出力ネットワークと結合するとともに、出力ネットワークをすべての入力ネットワークと結合した入出力関係モデルを用いた場合であっても、入出力関係モデルの入力ネットワークと出力ネットワークとの結合を制限する場合、つまり、あるチャネルのサブ入力データと、あるチャネルのサブ出力データとの間に関係があることがあらかじめ分かっており、関係があるサブ入力データとサブ出力データとにそれぞれ対応する入力ネットワークと出力ネットワークとのみを結合し、関係がないサブ入力データとサブ出力データとにそれぞれ対応する入力ネットワークと出力ネットワークとは結合しない入出力関係モデルを用いた場合に比較して、それほど正解率は低下しない。このことから、あるチャネルのサブ入力データと、あるチャネルのサブ出力データとの間に関係があることが分かっているかどうかにかかわらず、入出力関係モデルの学習が有効に(効果的に)行われることが分かる。
次に、上述したように、入出力関係モデルの学習は、あるチャネルのサブ入力データと、あるチャネルのサブ出力データとの間に関係があることが分かっているかどうかにかかわらず、有効に(効果的に)行うことができ、さらに、そのような学習が行われた入出力関係モデルを用いて、制御対象が入力データに対して出力する出力データを精度良く推定することができる。
しかしながら、図38に示したシミュレーションの結果から分かるように、あるチャネルのサブ入力データと、あるチャネルのサブ出力データとの間に関係があることが分かっている場合に比較して、関係があるかどうかが不明である場合には、正解率、即ち、出力データの推定精度が、多少なりとも劣化するおそれがある。
即ち、あるチャネルのサブ入力データと、あるチャネルのサブ出力データとの間に関係があることが分かっている場合には、例えば、図27で説明したように、その関係があることが分かっているサブ入力データとサブ出力データとにそれぞれ対応する入力ネットワークと出力ネットワークとの間のみが結合された、入力ネットワークと出力ネットワークとの結合を制限した入出力関係モデルを用いるため、出力データの推定時において、ある入力ネットワークの勝者ノードに対して決定される生成ノードは、その入力ネットワークと結合している出力ネットワークの出力ノードでしかあり得ない。その結果、出力データの推定時において、サブ入力データに対して出力されるサブ出力データは、そのサブ入力データと関係があるサブ出力データでしかあり得ない。
一方、あるチャネルのサブ入力データと、あるチャネルのサブ出力データとの間に関係があるかどうかが不明である場合には、例えば、図30で説明したように、各入力ネットワークと、各出力ネットワークとの間のすべてが結合された、入力ネットワークと出力ネットワークとの結合が制限されていない入出力関係モデルを用いるため、出力データの推定時において、ある入力ネットワークの勝者ノードに対して決定される生成ノードは、入出力関係モデルを構成する出力ネットワークのいずれの出力ノードでもあり得る。その結果、出力データの推定時において、サブ入力データに対して出力されるサブ出力データは、そのサブ入力データと関係がないサブ出力データであることが論理的にあり得る。
以上のように、入力ネットワークと出力ネットワークとの結合を制限した入出力関係モデルを用いる場合には、出力データの推定時において、サブ入力データに対して、そのサブ入力データと関係があるサブ出力データしか出力され得ないのに対して、入力ネットワークと出力ネットワークとの結合が制限されていない入出力関係モデルを用いる場合には、出力データの推定時において、サブ入力データに対して、そのサブ入力データと関係がないサブ出力データが出力されることがあり得る。
このため、入力ネットワークと出力ネットワークとの結合を制限した入出力関係モデルを用いる場合に比較して、入力ネットワークと出力ネットワークとの結合が制限されていない入出力関係モデルを用いる場合には、出力データの推定精度が劣化するおそれがある。
そこで、入力ネットワークと出力ネットワークとの結合が制限されていない入出力関係モデルについては、あるチャネルのサブ入力データと、あるチャネルのサブ出力データとの間に関係があるかどうかを調査し、その調査結果に応じて、入力ネットワークと出力ネットワークとの結合を制限することによって、上述のような出力データの推定精度の劣化を防止することができる。
図39は、入力ネットワークと出力ネットワークとの結合が制限されていない入出力関係モデルについて、あるチャネルのサブ入力データと、あるチャネルのサブ出力データとの間に関係があるかどうかを調査し、その調査結果に応じて、入力ネットワークと出力ネットワークとの結合を制限する結合制限処理を説明するフローチャートである。なお、ここでも、入出力関係モデルは、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとから構成されることとする。
結合制限処理は、例えば、入力ネットワークと出力ネットワークとの結合が制限されていない入出力関係モデルについて、ある程度の学習が行われた後(ある程度の数の教示データを用いた入出力関係モデルの学習が行われた後)に、生成ノード決定部233(図21)によって実行される。
即ち、図21のデータ処理装置において、記憶部211に、入力ネットワークと出力ネットワークとの結合が制限されていない入出力関係モデルが記憶されており、学習部212によって、その入出力関係モデルの学習がある程度行われると、生成ノード決定部233は、ステップS191において、記憶部211に記憶された入出力関係モデルにおけるmチャネルの入力ネットワークのうちの1つの入力ネットワークを、注目入力ネットワークとして選択する。
そして、ステップS191からステップS192に進み、以下、注目入力ネットワークに対応するチャネルのサブ入力データと、入出力関係モデルにおけるnチャネルの出力ネットワークそれぞれに対応するサブ出力データとの間に関係があるかどうかが調査される。
ステップS192では、生成ノード決定部233は、注目入力ネットワークの各入力ノードについて、その入力ノードとの結合重みが最も強い出力ノードを、最強結合ノードとして検出して、ステップS193に進む。
ここで、入力ネットワークと出力ネットワークとの結合が制限されていない入出力関係モデルが、例えば、図36に示したように、ピッチデータに対応する入力ネットワークnetin1、ケプストラムデータに対応する入力ネットワークnetin2、音源パラメータに対応する出力ネットワークnetout1、および声道パラメータに対応する出力ネットワークnetout2を有する場合において、注目入力ネットワークとして、例えば、入力ネットワークnetin1が選択されたとき、ステップS192では、入力ネットワークnetin1の各入力ノードについて、その入力ノードとの結合重みが最も強い出力ノード、即ち、最強結合ノードが検出される。
この場合、入力ネットワークnetin1のある入力ノードについては、音源パラメータに対応する出力ネットワークnetout1の出力ノードが、最強結合ノードとして検出されることがあり得るし、他の入力ノードについては、声道パラメータに対応する出力ネットワークnetout2の出力ノードが、最強結合ノードとして検出されることがあり得る。
ステップS193では、生成ノード決定部233は、記憶部211に記憶された入出力関係モデルにおけるnチャネルの出力ネットワークそれぞれについて、最強結合ノードとなっている出力ノードの数を計算(カウント)して、ステップS194に進む。
ステップS194では、生成ノード決定部233は、記憶部211に記憶された入出力関係モデルにおけるnチャネルの出力ネットワークの中から、最強結合ノードとなっている出力ノードの数が最大の出力ネットワークを検出し、その出力ネットワークに対応するチャネルのサブ出力データと、注目入力ネットワークに対応するチャネルのサブ入力データとの間に関係があるとして、注目入力ネットワークと結合する出力ネットワークを、その、最強結合ノードとなっている出力ノードの数が最大の出力ネットワークに制限する。
即ち、生成ノード決定部233は、最強結合ノードとなっている出力ノードの数が最大の出力ネットワークを、注目入力ネットワークに結合している時系列パターン記憶ネットワークである結合ネットワークに決定する。
その後、ステップS194からステップS195に進み、生成ノード決定部233は、mチャネルの入力ネットワークすべてに対して、結合ネットワークを決定しかどうかを判定する。
ステップS195において、mチャネルの入力ネットワークすべてに対して、結合ネットワークが、まだ決定されていないと判定された場合、ステップS191に戻り、生成ノード決定部233は、mチャネルの入力ネットワークのうちの、まだ、注目入力ネットワークに選択されていない入力ネットワークの1つを、新たに注目入力ネットワークとして選択し、以下、同様の処理を繰り返す。
また、ステップS195において、mチャネルの入力ネットワークすべてに対して、結合ネットワークが決定されたと判定された場合、結合制限処理を終了する。
以上のような結合制限処理によれば、入力ネットワークnetinに対して、最強結合ノードとなる出力ノードの数が最大の出力ネットワークnetoutに対応するサブ出力データと、入力ネットワークnetinに対応するサブ入力データとの間に関係があるとして、入力ネットワークnetinと結合する出力ネットワークが、最強結合ノードとなる出力ノードの数が最大の出力ネットワークnetoutだけに制限される。
以上のように、結合制限処理によって入力ネットワークと出力ネットワークとの結合が制限された入出力関係モデルを用いた出力データの推定は、図33で説明した場合と基本的に同様に行われる。
但し、図33のステップS157では、上述したように、生成ノード決定部233は、複数の候補ノードが存在する出力ネットワークについて、その複数の候補ノードのうちの1つの候補ノードを、仮生成ノードに決定するが、この仮生成ノードの決定に、出力ネットワークが、結合制限処理によって決定された結合ネットワークであるかどうかが考慮される。
即ち、生成ノード決定部233は、図33のステップS156において、nチャネルの出力ネットワークそれぞれについて、1つの有効勝者ノードに対して、その有効勝者ノードとの結合重みが最強の出力ノードを、候補ノードに決定するから、1つの有効勝者ノードに対して、n個の候補ノードが得られる。
生成ノード決定部233は、結合制限処理によって、入力ネットワークに対して結合ネットワークが決定されている場合、ステップS157において、1つの有効勝者ノードに対して得られているn個の候補ノードのうちの、その有効勝者ノードを有する入力ネットワークに対して結合ネットワークになっている出力ネットワークの出力ノードのみを、候補ノードとして残し、他のn-1個の出力ネットワークの出力ノードを、候補ノードから除外する。
その後、生成ノード決定部233は、1つの出力ノードだけが候補ノードとなっている出力ネットワークについては、その出力ノードを、仮生成ノードに決定し、複数の出力ノードが候補ノードとなっている出力ネットワークについては、図33で説明したように、その複数の出力ノードそれぞれの、候補ノードに決定されたときに用いられた有効勝者ノードとの結合重みを比較し、その結合重みが最も強い候補ノードを、仮生成ノードに決定する。
従って、入力ネットワークと出力ネットワークとの結合が制限されていない入出力関係モデルとして、例えば、図36の入出力関係モデルを対象に、図39の結合制限処理を行い、その結果、例えば、ピッチデータに対応する入力ネットワークnetin1の結合ネットワークとして、音源パラメータに対応する出力ネットワークnetout1が決定され、かつ、ケプストラムデータに対応する入力ネットワークnetin2の結合ネットワークとして、声道パラメータに対応する出力ネットワークnetout2が決定された場合、出力データの推定時においては、入力データに含まれるピッチデータに対して勝者ノードとなる入力ネットワークnetin1の入力ノードとの結合が最も強い出力ネットワークnetout1の出力ノードから、出力データのサブ出力データとしての音源パラメータが生成されるとともに、入力データに含まれるケプストラムデータに対して勝者ノードとなる入力ネットワークnetin2の入力ノードとの結合が最も強い出力ネットワークnetout2の出力ノードから、出力データのサブ出力データとしての声道パラメータが生成される。
即ち、ピッチデータに対応するサブ出力データとして、音源パラメータが生成され、ケプストラムデータに対応するサブ出力データとして、声道パラメータが生成される。
ここで、上述のように、1つの有効勝者ノードに対して得られているn個の候補ノードのうちの、その有効勝者ノードを有する入力ネットワークに対して結合ネットワークになっている出力ネットワークの出力ノードのみを、候補ノードとして残し、他のn-1個の出力ネットワークの出力ノードを、候補ノードから除外して、出力データの推定を行うことは、有効勝者ノードを有する入力ネットワークが、nチャネルの出力ネットワークのうちの、その入力ネットワークに対して結合ネットワークになっている出力ネットワークとのみ結合している入出力関係モデルを用いて、出力データの推定を行うことと等価である。
従って、入力ネットワークと出力ネットワークとの結合が制限されていない入出力関係モデルに対して、結合制限処理を施すことにより、入力ネットワークと出力ネットワークとの結合が制限されている入出力関係モデルと同等の精度で出力データを推定することができる入出力関係モデルを得られることを期待することができる。即ち、結合制限処理によれば、出力データの推定精度の劣化を防止することが可能となる。
次に、上述の入出力関係モデルでは、入力データ(サブ入力データ)の時系列パターンを記憶する時系列パターン記憶ネットワークである入力ネットワークと、出力データ(サブ出力データ)の時系列パターンを記憶する時系列パターン記憶ネットワークである出力ネットワークとを結合するようにしたが、その他、例えば、入力ネットワークどうし、または出力ネットワークどうしをも結合することができる。
そこで、まず最初に、入力ネットワークどうしをも結合した入出力関係モデルについて説明する。
例えば、図25上側の想定ロボットを制御対象として、その想定ロボットを、入力ネットワークどうしをも結合した入出力関係モデルによって順モデルにモデル化するとする。
ここで、図25上側の想定ロボットは、上述したように、入力音声データと入力画像データとを含む入力データが与えられると、その入力データに対して、出力音声データと出力モータデータとを含む出力データを出力する。
このため、入出力関係モデルは、図26で説明したように、入力データに含まれる2つのチャネルのサブ入力データに対応する2つの入力ネットワークnetin1およびnetin2と、出力データに含まれる2つのチャネルのサブ出力データに対応する2つの出力ネットワークnetout1およびnetout2とから構成する。
また、ここでは、入力データのあるチャネルのサブ入力データと、出力データのあるチャネルのサブ出力データとの間に関係があるかどうかが不明であるとし、入出力関係モデルにおいて、入力ネットワークnetin1は、出力ネットワークnetout1およびnetout2のいずれとも結合し、入力ネットワークnetin2も、出力ネットワークnetout1およびnetout2のいずれとも結合する。
さらに、ここでは、入出力関係モデルにおいて、入力ネットワークnetin1とnetin2とを結合する。
この場合、入出力関係モデルは、図40に示すようになる。
図40の入出力関係モデルは、入力ネットワークnetin1およびnetin2と、出力ネットワークnetout1およびnetout2とで構成され、入力ネットワークnetin1が、出力ネットワークnetout1およびnetout2の両方と結合しているとともに、入力ネットワークnetin2も、出力ネットワークnetout1およびnetout2の両方と結合している。さらに、図40の入出力関係モデルでは、入力ネットワークnetin1とnetin2も結合している。
図41は、図40の入出力関係モデルについての結合重み行列を示している。
図40の入出力関係モデルでは、入力ネットワークnetin1が、出力ネットワークnetout1およびnetout2の両方と結合し、入力ネットワークnetin2も、出力ネットワークnetout1およびnetout2の両方と結合しているので、その入出力関係モデルについての結合重み行列としては、上述の図30左側の入出力関係モデルと同様に、入力ネットワークnetin1と出力ネットワークnetout1との間の結合重み行列MTX11(図41上側の左から2番目)、入力ネットワークnetin1と出力ネットワークnetout2との間のMTX12(図41上側の左から3番目)、入力ネットワークnetin2と出力ネットワークnetout1との間の結合重み行列MTX21(図41下側の左から2番目)、および入力ネットワークnetin2と出力ネットワークnetout2との間の結合重み行列MTX22(図41下側の左から3番目)が存在する。
さらに、図40の入出力関係モデルでは、入力ネットワークnetin1とnetin2が結合しているので、入出力関係モデルについての結合重み行列としては、入力ネットワークnetin1とnetin2との間の結合重み行列MTXin12、即ち、入力ネットワークnetin1の入力ノードを各行に対応させるとともに、入力ネットワークnetin2の入力ノードを各列に対応させ、第i行第j列の要素に、入力ネットワークnetin1のi番目の入力ノードと、入力ネットワークnetin2のj番目の入力ノードとの結合重みwが配置された結合重み行列MTXin12(図41上側の左から1番目)も存在する。
ここで、図41では、便宜上、図40の入出力関係モデルについての結合重み行列として、入力ネットワークnetin2とnetin1との間の結合重み行列MTXin21、即ち、入力ネットワークnetin2の入力ノードを各行に対応させるとともに、入力ネットワークnetin1の入力ノードを各列に対応させ、第i行第j列の要素に、入力ネットワークnetin2のi番目の入力ノードと、入力ネットワークnetin1のj番目の入力ノードとの結合重みwが配置された結合重み行列MTXin21(図41下側の左から1番目)も記載してある。
なお、結合重み行列MTXin12と、結合重み行列MTXin21とは、行と列とを入れ換えた転置行列の関係にあるので、実装時には、いずれか一方だけで足りる。
図40の入出力関係モデルの学習は、基本的に、図32で説明した、図30の入出力関係モデルの学習と同様に行うことができる。
但し、図30のステップS145乃至S147のループ処理において、図30の入出力関係モデルについては、ノードどうしが結合している入力ネットワークと出力ネットワークとのセットだけを対象に、その入力ネットワークと出力ネットワークとの間の結合重み行列(の要素となっている結合重み)の更新が行われるが、図40の入出力関係モデルについては、さらに、ノードどうしが結合している入力ネットワークnetin1とnetin2とのセットをも対象に、その結合重み行列MTXin12(MTXin21)の更新が行われる。
従って、図30の入出力関係モデルで説明した場合と同様に、図40の入出力関係モデルの学習において、例えば、入力音声データと出力音声データとの間、および入力画像データと出力モータデータとの間には相関があり、入力音声データと出力モータデータとの間、および入力画像データと出力音声データとの間には相関がない多数の教示データが与えられた場合、入力音声データに対応する入力ネットワークnetin1と、その入力音声データと相関がある出力音声データに対応する出力ネットワークnetout1との間の結合重み行列MTX11には、入力音声データと出力音声データとの相関が反映され、その結果、入力ネットワークnetin1の各入力ノードについては、出力ネットワークnetout1の特定の出力ノードとの結合重みが、他の出力ノード(との結合重み)に比較して強くなり、かつ、出力ネットワークnetout1の各出力ノードについても、入力ネットワークnetin1の特定の入力ノードとの結合重みが、他の入力ノード(との結合重み)に比較して強くなる。
即ち、例えば、音声データ「まる」を入力音声データとして含む入力データと、同じく音声データ「まる」を出力音声データとして含む出力データとがセットになった教示データを多数用いて、図40の入出力関係モデルの学習を行った場合、入力音声データに対応する入力ネットワークnetin1のある入力ノードNin1(が有する時系列パターンモデル21)は、音声データ「まる」の時系列パターンを表現するようになり、出力音声データに対応する出力ネットワークnetout1のある出力ノードNout1(が有する時系列パターンモデル21)も、音声データ「まる」の時系列パターンを表現するようになる。
さらに、入力ネットワークnetin1と出力ネットワークnetout1との間の結合重み行列MTX11には、入力音声データ「まる」と出力音声データ「まる」との相関が反映され、その結果、入力ネットワークnetin1の、音声データ「まる」の時系列パターンを表現する入力ノードNin1については、出力ネットワークnetout1の、音声データ「まる」の時系列パターンを表現する出力ノードNout1との結合重みが、他の出力ノードに比較して強くなり、かつ、出力ネットワークnetout1の出力ノードNout2についても、入力ネットワークnetin1の入力ノードNin1との結合重みが、他の入力ノードに比較して強くなる。
同様に、入力画像データに対応する入力ネットワークnetin2と、その入力画像データと相関がある出力モータデータに対応する出力ネットワークnetout2との間の結合重み行列MTX22にも、入力画像データと出力モータデータとの相関が反映され、その結果、入力ネットワークnetin2の各入力ノードについては、出力ネットワークnetout2の特定の出力ノードとの結合重みが、他の出力ノードに比較して強くなり、かつ、出力ネットワークnetout2の各出力ノードについても、入力ネットワークnetin2の特定の入力ノードとの結合重みが、他の入力ノードに比較して強くなる。
即ち、例えば、物体が「まる」の軌道を描く様子が映っている画像データを入力画像データとして含む入力データと、想定ロボットのアームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータ(信号)を出力モータデータとして含む出力データとがセットになった教示データを多数用いて、図40の入出力関係モデルの学習を行った場合、入力画像データに対応する入力ネットワークnetin2のある入力ノードNin2は、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現するようになり、出力モータデータに対応する出力ネットワークnetout2のある出力ノードNout2は、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現するようになる。
さらに、入力ネットワークnetin2と出力ネットワークnetout2との間の結合重み行列MTX22には、物体が「まる」の軌道を描く様子が映っている入力画像データと、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータとの相関が反映され、その結果、入力ネットワークnetin2の、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現する入力ノードNin2については、出力ネットワークnetout2の、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現する出力ノードNout2との結合重みが、他の出力ノードに比較して強くなり、かつ、出力ネットワークnetout2の出力ノードNout2についても、入力ネットワークnetin2の入力ノードNin2との結合重みが、他の入力ノードに比較して強くなる。
一方、入力音声データに対応する入力ネットワークnetin1と、その入力音声データと相関がない出力モータデータに対応する出力ネットワークnetout2との間の結合重み行列MTX12には、入力音声データと出力モータデータとの相関の小ささが反映され、その結果、入力ネットワークnetin1の各入力ノードについては、出力ネットワークnetout2のどの出力ノードとの結合重みも一様に低くなり、かつ、出力ネットワークnetout2の各出力ノードについても、入力ネットワークnetin1のどの入力ノードとの結合重みも一様に低くなる。
同様に、入力画像データに対応する入力ネットワークnetin2と、その入力画像データと相関がない出力音声データに対応する出力ネットワークnetout1との間の結合重み行列MTX21には、やはり、入力画像データと出力音声データとの相関の小ささが反映され、その結果、入力ネットワークnetin2の各入力ノードについては、出力ネットワークnetout1のどの出力ノードとの結合重みも一様に低くなり、かつ、出力ネットワークnetout1の各出力ノードについても、入力ネットワークnetin2のどの入力ノードとの結合重みも一様に低くなる。
さらに、図40の入出力関係モデルの学習に与えられた多数の教示データにおいて、例えば、入力音声データと入力画像データとの間に相関がある場合には、入力音声データに対応する入力ネットワークnetin1と、その入力音声データと相関がある入力画像データに対応する入力ネットワークnetin2との間の結合重み行列MTXin12(MTXin21)には、入力音声データと入力画像データとの相関が反映され、その結果、入力ネットワークnetin1の各入力ノードについては、入力ネットワークnetin2の特定の入力ノードとの結合重みが、入力ネットワークnetin2の他の入力ノードに比較して強くなり、かつ、入力ネットワークnetin2の各入力ノードについても、入力ネットワークnetin1の特定の入力ノードとの結合重みが、入力ネットワークnetin1の他の入力ノードに比較して強くなる。
即ち、例えば、教示データにおける入力データとして、音声データ「まる」を入力音声データとして含むとともに、物体が「まる」の軌道を描く様子が映っている画像データを入力画像データとして含む入力データを多数用いて、図40の入出力関係モデルの学習を行った場合、入力音声データに対応する入力ネットワークnetin1のある入力ノードNin1は、音声データ「まる」の時系列パターンを表現するようになり、入力画像データに対応する入力ネットワークnetin2のある入力ノードNin2は、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現するようになる。
さらに、入力ネットワークnetin1と入力ネットワークnetin2との間の結合重み行列MTXin12には、入力音声データ「まる」と、物体が「まる」の軌道を描く様子が映っている入力画像データとの相関が反映され、その結果、入力ネットワークnetin1の、音声データ「まる」の時系列パターンを表現する入力ノードNin1については、入力ネットワークnetin2の、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現する入力ノードNin2との結合重みが、入力ネットワークnetin2の他の入力ノードに比較して強くなり、かつ、入力ネットワークnetin2の入力ノードNin2についても、入力ネットワークnetin1の入力ノードNin1との結合重みが、入力ネットワークnetin1の他の入力ノードに比較して強くなる。
次に、図42のフローチャートを参照して、図21のデータ処理装置が、上述のような学習がされた図40に示したような入出力関係モデルを用いて、入力データに対する出力データを推定する処理について説明する。なお、ここでも、入出力関係モデルは、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとを有することとする。
ステップS201乃至S204において、図29のステップS131乃至S134とそれぞれ同様の処理が行われ、ステップS205に進む。
即ち、ステップS201乃至S204の処理が行われることにより、認識生成部213(図21)の勝者ノード決定部232において、m個の入力ネットワークそれぞれについて、勝者ノードが決定されると、ステップS205に進み、勝者ノード決定部232は、図29のステップS135と同様にして、m個の入力ネットワークそれぞれについての勝者ノードの中から、有効勝者ノードを決定する。そして、有効勝者ノードの個数が0個である場合には、認識生成部213(図21)は、処理を終了する。
一方、有効勝者ノードの個数が1個以上である場合には、ステップS205からステップS206に進み、勝者ノード決定部232は、有効勝者ノードと結合している、その有効勝者ノードを有する入力ネットワークとは別の入力ネットワークの入力ノードのうちの、有効勝者ノードとの結合重みが最も強い入力ノードを、準勝者ノードに決定する。
例えば、図40の入出力関係モデルにおいて、ある有効勝者ノードが、入力ネットワークnetin1のある入力ノードであるとすると、その有効勝者ノードとの結合重みが最も強い入力ネットワークnetin2の入力ノードが、準勝者ノードに決定される。
ステップS206において、勝者ノード決定部232は、有効勝者ノードすべてについて、準勝者ノードを決定し、ステップS207に進む。
ここで、以下、適宜、有効勝者ノードと準勝者ノードとをまとめて、発火ノードという。
ステップS207では、勝者ノード決定部232は、各入力ネットワークについて、多くとも1つの発火ノードを、最適ノードに決定する。
即ち、上述したように、ある有効勝者ノードに対して準勝者ノードに決定された入力ノードを有する入力ネットワークには、他の有効勝者ノードが存在することがあり、この場合、その入力ネットワークには、有効勝者ノードとなっている入力ノードと、準勝者ノードとなっている入力ノードとの2つの発火ノードが存在する。ステップS207では、1つの入力ネットワークにおける発火ノードを、多くとも1つに制限するために、各入力ネットワークについて、多くとも1つの発火ノードが、最適ノードに決定される。
具体的には、例えば、1つの入力ノードだけが発火ノードになっている入力ネットワークについては、その発火ノードが、最適ノードに決定される。
さらに、例えば、複数の入力ノードが発火ノードになっている入力ネットワークについては、その複数の発火ノードの中に、有効勝者ノードが存在する場合には、その有効勝者ノードが、最適ノードに決定される。
また、複数の発火ノードの中に、有効勝者ノードが存在しない場合、即ち、複数の発火ノードが、すべて、準勝者ノードである場合には、その複数の準勝者ノードについて、準勝者ノードとなっている入力ノードが準勝者ノードに決定されるときに用いられた有効勝者ノードとの結合重みを比較し、その結合重みが最も強い準勝者ノードが、最適ノードに決定される。
以上のように、ステップS207において、各入力ネットワークについて、多くとも1つの発火ノードが、最適ノードに決定されると、ステップS208に進み、勝者ノード決定部232は、最適ノードとなっている入力ノードを、後述するステップS209での候補ノードの決定に用いる有効ノードとするかどうかを決定する。
即ち、勝者ノード決定部232は、例えば、最適ノードが有効勝者ノードである場合、その最適ノードを、有効ノードに決定する。
また、勝者ノード決定部232は、例えば、最適ノードが有効勝者ノードでない場合、つまり、最適ノードが準勝者ノードである場合、その準勝者ノードとなっている入力ノードが準勝者ノードに決定されるときに用いられた有効勝者ノードとの結合重みに基づき、その最適ノードを、有効ノードとするかどうかを決定する。
即ち、勝者ノード決定部232は、最適ノードが準勝者ノードである場合、その準勝者ノードとなっている入力ノードが準勝者ノードに決定されるときに用いられた有効勝者ノードとの結合重みを閾値と比較し、結合重みが閾値以上であるときのみ、その最適ノードを、有効ノードに決定する。
勝者ノード決定部232は、以上のようにして、1以上の有効ノードを決定し、その有効ノードを表すノードラベルを、生成ノード決定部233に供給して、ステップS208からステップS209に進む。
ステップS209では、生成ノード決定部233は、図33のステップS156と同様に、勝者ノード決定部232からの1個以上のノードラベルに基づき、生成ノードの候補となる候補ノードを決定する。
即ち、生成ノード決定部233は、勝者ノード決定部232からの1個以上のノードラベルのうちの1つを、注目ノードラベルとして選択するとともに、入出力関係モデルのnチャネルの出力ネットワークのうちの1つを、注目出力ネットワークとして選択する。さらに、生成ノード決定部233は、注目出力ネットワークのノードの中で、注目ノードラベルが表す有効ノードとの結合重みが最も強い出力ノードを、候補ノードに決定する。
生成ノード決定部233は、nチャネルの出力ネットワークを、順次、注目出力ネットワークとして選択し、上述したように、候補ノードを決定する。
さらに、生成ノード決定部233は、勝者ノード決定部232からの1個以上のノードラベルを、順次、注目ノードラベルとして選択し、上述したように、候補ノードを決定する。
以上のように、ステップS209において候補ノードが決定された後は、ステップS210乃至S213に順次進み、図33のステップS157乃至S160とそれぞれ同様の処理が行われ、これにより、出力データが出力される。
ここで、例えば、音声データ「まる」を入力音声データとして含むとともに、任意の画像データを入力画像データとして含む入力データと、音声データ「まる」を出力音声データとして含むとともに、任意のモータデータを出力モータデータとして含む出力データとがセットになった第1の教示データ、任意の音声データを入力音声データとして含むとともに、物体が「まる」の軌道を描く様子が映っている画像データを入力画像データとして含む入力データと、任意の音声データを出力音声データとして含むとともに、想定ロボットのアームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータを出力モータデータとして含む出力データとがセットになった第2の教示データ、音声データ「まる」を入力音声データとして含むとともに、物体が「まる」の軌道を描く様子が映っている画像データを入力画像データとして含む入力データと、任意の出力データとがセットになった第3の教示データとの、合計で3種類の教示データを多数用いて、図40の入出力関係モデルの学習を行った場合、第1の教示データによって、入力音声データに対応する入力ネットワークnetin1のある入力ノードNin1は、音声データ「まる」の時系列パターンを表現するようになり、出力音声データに対応する出力ネットワークnetout1のある出力ノードNout1も、音声データ「まる」の時系列パターンを表現するようになる。
さらに、第1の教示データによれば、入力ネットワークnetin1と出力ネットワークnetout1との間の結合重み行列MTX11の中で、入力ネットワークnetin1の、音声データ「まる」の時系列パターンを表現する入力ノードNin1との結合重みは、出力ネットワークnetout1の、音声データ「まる」の時系列パターンを表現する出力ノードNout1との結合重みが最も強くなるように更新される。
また、第2の教示データによって、入力画像データに対応する入力ネットワークnetin2のある入力ノードNin2は、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現するようになり、出力モータデータに対応する出力ネットワークnetout2のある出力ノードNout2は、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現するようになる。
さらに、第2の教示データによれば、入力ネットワークnetin2と出力ネットワークnetout2との間の結合重み行列MTX22の中で、入力ネットワークnetin2の、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現する入力ノードNin2との結合重みは、出力ネットワークnetout2の、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現する出力ノードNout2との結合重みが最も強くなるように更新される。
そして、第3の教示データによって、入力ネットワークnetin1と入力ネットワークnetin2との間の結合重み行列MTXin12の中で、入力ネットワークnetin1の、音声データ「まる」の時系列パターンを表現する入力ノードNin1との結合重みは、入力ネットワークnetin2の、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現する入力ノードNin2との結合重みが最も強くなるように更新される。
従って、以上のような学習がされた図40の入出力関係モデルを用いて、図42の出力データを推定する処理が行われた場合、例えば、次のような出力データが出力される。
即ち、例えば、音声データ「まる」を入力音声データとして含むとともに、物体が静止している様子が映っている画像データを入力画像データとして含む入力データが、入出力関係モデルに与えられたとすると、ステップS204において、入力音声データに対応する入力ネットワークnetin1の、音声データ「まる」の時系列パターンを表現する入力ノードNin1が勝者ノードに決定される。
さらに、ステップS205において、勝者ノードとなった入力ノードNin1が、有効勝者ノードに決定されたとすると、ステップS206において、入力ネットワークnetin2の入力ノードのうちの、有効勝者ノードNin1との結合重みが最も強い入力ノードNin2が準勝者ノードに決定される。
そして、ステップS207において、準勝者ノードNin2が最適ノードに決定され、さらに、ステップS208において、有効ノードに決定されたとすると、ステップS209において、出力ネットワークnetout2の出力ノードのうちの、有効ノードNin2との結合重みが最も強い出力ノードNout2が候補ノードに決定される。
この候補ノードNout2が、ステップS210において、仮生成ノードに決定され、さらに、ステップS211において、生成ノードに決定されたとすると、ステップS212では、その生成ノードNout2から時系列データが生成され、ステップS213において、その時系列データが出力される。
その結果、ステップS213では、生成ノードNout2が表現する時系列パターンに属する時系列データ、つまり、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータが出力される。
即ち、音声データ「まる」を入力音声データとして含むとともに、物体が静止している様子が映っている画像データを入力画像データとして含む入力データに対して、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータを含む出力データが出力される。
以上のように、図40の入出力関係モデルによれば、入力ネットワークnetin1とnetin2とが結合されていることで、音声データ「まる」を入力音声データとして含む入力データと、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータを含む出力データとがセットになった第4の教示データを与えて、学習を行わなくても、音声データ「まる」を入力音声データとして含む入力データに対して、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータを含む出力データを出力することができる。
即ち、例えば、図40の入出力関係モデルをロボットに適用したとすると、そのロボットでは、第1乃至第3の教示データを用いた学習を行えば、第4の教示データを用いた学習を行わなくても、音声データ「まる」を入力音声データとして含む入力データに対して、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータを含む出力データを出力することができる。
つまり、第1の教示データを用いた学習は、音声「まる」を聴いた場合に、音声「まる」を出力することを、ロボットに教えることに相当する。また、第2の教示データを用いた学習は、物体が「まる」の軌道を描くシーンを見た場合に、アームの先端の位置が「まる」の軌道を描くようにモータを駆動して、アームを動かすことを、ロボットに教えることに相当する。さらに、第3の教示データを用いた学習は、音声「まる」と、物体が「まる」の軌道を描くシーンとに関係あることを、ロボットに教えることに相当する。
そして、第4の教示データを用いた学習は、音声「まる」を聴いた場合に、アームの先端の位置が「まる」の軌道を描くようにモータを駆動して、アームを動かすことを、ロボットに教えることに相当する。
図40の入出力関係モデルを適用したロボットによれば、第1乃至第3の教示データを用いた学習を行えば、第4の教示データを用いた学習を行わなくても、即ち、音声「まる」を聴いた場合に、アームの先端の位置が「まる」の軌道を描くようにモータを駆動して、アームを動かすことを教えなくても、音声「まる」を聴いた場合に、アームの先端の位置が「まる」の軌道を描くようにモータを駆動して、アームを動かすことができる。
つまり、ロボットは、ある入力に対して行うことを教えられていない行動を行うことができる。
以上のように、入出力関係モデルにおいて、入力ネットワークどうしをも結合することにより、いわば、あるサブ入力データから他のサブ入力データを推定することが可能となる。例えば、音声「まる」が入力されると、物体が「まる」の軌道を描きながら動いているシーン(画像)を推定することが可能となる。また、例えば、物体が「まる」の軌道を描きながら動いている画像が入力されると、音声「まる」を推定することができる。
その結果、例えば、入力データに、あるサブ入力データaが存在しない場合に、他のサブ入力データbから、サブ入力データaを推定して、入力データにサブ入力データaが存在するとして、入力データを扱い、あるいは、入力データに、あるサブ入力データaが含まれているが、そのサブ入力データaが雑音などで乱されている場合に、他のサブ入力データbから、雑音がないサブ入力データaを推定すること等が可能となる。
なお、図40の入出力関係モデルによれば、例えば、上述したように、入力音声データに対して、その入力音声データに関係がある入力画像データを、いわば媒介として、その入力画像データに関係がある出力モータデータを推定することができるので、サブ入力データに対して複雑な関係にあるサブ出力データを推定することが可能となる。
次に、出力ネットワークどうしをも結合した入出力関係モデルについて説明する。
例えば、入力ネットワークどうしをも結合した入出力関係モデルと同様に、図25上側の想定ロボットを制御対象として、その想定ロボットを、出力ネットワークどうしをも結合した入出力関係モデルによって順モデルにモデル化するとする。
この場合も、入出力関係モデルは、図26で説明したように、入力データに含まれる入力音声データと入力画像データにそれぞれ対応する入力ネットワークnetin1とnetin2、および出力データに含まれる出力音声データと出力モータデータにそれぞれ対応する出力ネットワークnetout1とnetout2とから構成される。
なお、ここでも、入力ネットワークどうしをも結合した入出力関係モデルと同様に、入力データのあるチャネルのサブ入力データと、出力データのあるチャネルのサブ出力データとの間に関係があるかどうかが不明であるとし、入出力関係モデルにおいて、入力ネットワークnetin1は、出力ネットワークnetout1およびnetout2のいずれとも結合し、入力ネットワークnetin2も、出力ネットワークnetout1およびnetout2のいずれとも結合する。
さらに、ここでは、入出力関係モデルにおいて、出力ネットワークnetout1とnetout2も結合する。
この場合、入出力関係モデルは、図43に示すようになる。
図43の入出力関係モデルは、入力ネットワークnetin1およびnetin2と、出力ネットワークnetout1およびnetout2とで構成され、入力ネットワークnetin1が、出力ネットワークnetout1およびnetout2の両方と結合しているとともに、入力ネットワークnetin2も、出力ネットワークnetout1およびnetout2の両方と結合している。さらに、図43の入出力関係モデルでは、出力ネットワークnetout1とnetout2も結合している。
図44は、図43の入出力関係モデルについての結合重み行列を示している。
図43の入出力関係モデルでは、入力ネットワークnetin1が、出力ネットワークnetout1およびnetout2の両方と結合し、入力ネットワークnetin2も、出力ネットワークnetout1およびnetout2の両方と結合しているので、その入出力関係モデルについての結合重み行列としては、上述の図30左側の入出力関係モデルと同様に、入力ネットワークnetin1と出力ネットワークnetout1との間の結合重み行列MTX11(図44上側の左から1番目)、入力ネットワークnetin1と出力ネットワークnetout2との間のMTX12(図44上側の左から2番目)、入力ネットワークnetin2と出力ネットワークnetout1との間の結合重み行列MTX21(図44下側の左から1番目)、および入力ネットワークnetin2と出力ネットワークnetout2との間の結合重み行列MTX22(図44下側の左から2番目)が存在する。
さらに、図43の入出力関係モデルでは、出力ネットワークnetout1とnetout2が結合しているので、入出力関係モデルについての結合重み行列としては、出力ネットワークnetout1とnetout2との間の結合重み行列MTXout12、即ち、出力ネットワークnetout1の出力ノードを各行に対応させるとともに、出力ネットワークnetout2の出力ノードを各列に対応させ、第i行第j列の要素に、出力ネットワークnetout1のi番目の出力ノードと、出力ネットワークnetout2のj番目の出力ノードとの結合重みwが配置された結合重み行列MTXout12(図44上側の左から3番目)も存在する。
ここで、図44では、便宜上、図43の入出力関係モデルについての結合重み行列として、出力ネットワークnetout2とnetout1との間の結合重み行列MTXout21、即ち、出力ネットワークnetout2の出力ノードを各行に対応させるとともに、出力ネットワークnetout1の出力ノードを各列に対応させ、第i行第j列の要素に、出力ネットワークnetout2のi番目の出力ノードと、出力ネットワークnetout1のj番目の出力ノードとの結合重みwが配置された結合重み行列MTXout21(図44下側の左から3番目)も記載してある。
なお、結合重み行列MTXout12と、結合重み行列MTXout21とは、行と列とを入れ換えた転置行列の関係にあるので、実装時には、いずれか一方だけで足りる。
図43の入出力関係モデルの学習は、基本的に、図32で説明した、図30の入出力関係モデルの学習と同様に行うことができる。
但し、図30のステップS145乃至S147のループ処理において、図30の入出力関係モデルについては、ノードどうしが結合している入力ネットワークと出力ネットワークとのセットだけを対象に、その入力ネットワークと出力ネットワークとの間の結合重み行列(の要素となっている結合重み)の更新が行われるが、図43の入出力関係モデルについては、さらに、ノードどうしが結合している出力ネットワークnetout1とnetout2とのセットをも対象に、その結合重み行列MTXout12(MTXout21)の更新が行われる。
従って、図30の入出力関係モデルで説明した場合と同様に、図43の入出力関係モデルの学習において、例えば、入力音声データと出力音声データとの間、および入力画像データと出力モータデータとの間には相関があり、入力音声データと出力モータデータとの間、および入力画像データと出力音声データとの間には相関がない多数の教示データが与えられた場合、入力音声データに対応する入力ネットワークnetin1と、その入力音声データと相関がある出力音声データに対応する出力ネットワークnetout1との間の結合重み行列MTX11には、入力音声データと出力音声データとの相関が反映され、その結果、入力ネットワークnetin1の各入力ノードについては、出力ネットワークnetout1の特定の出力ノードとの結合重みが、他の出力ノードに比較して強くなり、かつ、出力ネットワークnetout1の各出力ノードについても、入力ネットワークnetin1の特定の入力ノードとの結合重みが、他の入力ノードに比較して強くなる。
即ち、例えば、音声データ「まる」を入力音声データとして含む入力データと、同じく音声データ「まる」を出力音声データとして含む出力データとがセットになった教示データを多数用いて、図43の入出力関係モデルの学習を行った場合、入力音声データに対応する入力ネットワークnetin1のある入力ノードNin1(が有する時系列パターンモデル21)は、音声データ「まる」の時系列パターンを表現するようになり、出力音声データに対応する出力ネットワークnetout1のある出力ノードNout1(が有する時系列パターンモデル21)も、音声データ「まる」の時系列パターンを表現するようになる。
さらに、入力ネットワークnetin1と出力ネットワークnetout1との間の結合重み行列MTX11には、入力音声データ「まる」と出力音声データ「まる」との相関が反映され、その結果、入力ネットワークnetin1の、音声データ「まる」の時系列パターンを表現する入力ノードNin1については、出力ネットワークnetout1の、音声データ「まる」の時系列パターンを表現する出力ノードNout1との結合重みが、他の出力ノードに比較して強くなり、かつ、出力ネットワークnetout1の出力ノードNout2についても、入力ネットワークnetin1の入力ノードNin1との結合重みが、他の入力ノードに比較して強くなる。
同様に、入力画像データに対応する入力ネットワークnetin2と、その入力画像データと相関がある出力モータデータに対応する出力ネットワークnetout2との間の結合重み行列MTX22にも、入力画像データと出力モータデータとの相関が反映され、その結果、入力ネットワークnetin2の各入力ノードについては、出力ネットワークnetout2の特定の出力ノードとの結合重みが、他の出力ノードに比較して強くなり、かつ、出力ネットワークnetout2の各出力ノードについても、入力ネットワークnetin2の特定の入力ノードとの結合重みが、他の入力ノードに比較して強くなる。
即ち、例えば、物体が「まる」の軌道を描く様子が映っている画像データを入力画像データとして含む入力データと、想定ロボットのアームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータ(信号)を出力モータデータとして含む出力データとがセットになった教示データを多数用いて、図43の入出力関係モデルの学習を行った場合、入力画像データに対応する入力ネットワークnetin2のある入力ノードNin2は、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現するようになり、出力モータデータに対応する出力ネットワークnetout2のある出力ノードNout2は、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現するようになる。
さらに、入力ネットワークnetin2と出力ネットワークnetout2との間の結合重み行列MTX22には、物体が「まる」の軌道を描く様子が映っている入力画像データと、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータとの相関が反映され、その結果、入力ネットワークnetin2の、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現する入力ノードNin2については、出力ネットワークnetout2の、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現する出力ノードNout2との結合重みが、他の出力ノードに比較して強くなり、かつ、出力ネットワークnetout2の出力ノードNout2についても、入力ネットワークnetin2の入力ノードNin2との結合重みが、他の入力ノードに比較して強くなる。
一方、入力音声データに対応する入力ネットワークnetin1と、その入力音声データと相関がない出力モータデータに対応する出力ネットワークnetout2との間の結合重み行列MTX12には、入力音声データと出力モータデータとの相関の小ささが反映され、その結果、入力ネットワークnetin1の各入力ノードについては、出力ネットワークnetout2のどの出力ノードとの結合重みも一様に低くなり、かつ、出力ネットワークnetout2の各出力ノードについても、入力ネットワークnetin1のどの入力ノードとの結合重みも一様に低くなる。
同様に、入力画像データに対応する入力ネットワークnetin2と、その入力画像データと相関がない出力音声データに対応する出力ネットワークnetout1との間の結合重み行列MTX21には、やはり、入力画像データと出力音声データとの相関の小ささが反映され、その結果、入力ネットワークnetin2の各入力ノードについては、出力ネットワークnetout1のどの出力ノードとの結合重みも一様に低くなり、かつ、出力ネットワークnetout1の各出力ノードについても、入力ネットワークnetin2のどの入力ノードとの結合重みも一様に低くなる。
さらに、図43の入出力関係モデルの学習に与えられた多数の教示データにおいて、例えば、出力音声データと出力モータデータとの間に相関がある場合には、出力音声データに対応する出力ネットワークnetout1と、その出力音声データと相関がある出力モータデータに対応する出力ネットワークnetout2との間の結合重み行列MTXout12(MTXout21)には、出力音声データと出力モータデータとの相関が反映され、その結果、出力ネットワークnetout1の各出力ノードについては、出力ネットワークnetout2の特定の出力ノードとの結合重みが、出力ネットワークnetout2の他の出力ノードに比較して強くなり、かつ、出力ネットワークnetout2の各出力ノードについても、出力ネットワークnetout1の特定の出力ノードとの結合重みが、出力ネットワークnetout1の他の出力ノードに比較して強くなる。
即ち、例えば、教示データにおける出力データとして、音声データ「まる」を出力音声データとして含むとともに、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータを出力モータデータとして含む出力データを多数用いて、図43の入出力関係モデルの学習を行った場合、出力音声データに対応する出力ネットワークnetout1のある出力ノードNout1は、音声データ「まる」の時系列パターンを表現するようになり、出力モータデータに対応する出力ネットワークnetout2のある出力ノードNout2は、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現するようになる。
さらに、出力ネットワークnetout1と出力ネットワークnetout2との間の結合重み行列MTXout12には、出力音声データ「まる」と、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータとの相関が反映され、その結果、出力ネットワークnetout1の、音声データ「まる」の時系列パターンを表現する出力ノードNout1については、出力ネットワークnetout2の、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現する出力ノードNout2との結合重みが、出力ネットワークnetout2の他の出力ノードに比較して強くなり、かつ、出力ネットワークnetout2の出力ノードNout2についても、出力ネットワークnetout1の出力ノードNout1との結合重みが、出力ネットワークnetout1の他の出力ノードに比較して強くなる。
次に、図45のフローチャートを参照して、図21のデータ処理装置が、上述のような学習がされた図43に示したような入出力関係モデルを用いて、入力データに対する出力データを推定する処理について説明する。なお、入出力関係モデルは、mチャネルの入力ネットワークと、nチャネルの出力ネットワークとを有することとする。
ステップS221乃至S227において、図33のステップS151乃至S157とそれぞれ同様の処理が行われ、これにより、生成ノード決定部233(図21)は、仮生成ノードを決定して、ステップS228に進む。
ステップS228では、生成ノード決定部233は、仮生成ノードから、有効生成ノードを決定する。ここで、仮生成ノードから有効生成ノードを決定する方法としては、図33のステップS158において、仮生成ノードから生成ノードを最終的に決定する場合と同様の方法を採用することができる。
ステップS228において、有効生成ノードが決定されると、ステップS229に進み、生成ノード決定部233は、有効生成ノードと結合している、その有効生成ノードを有する出力ネットワークとは別の出力ネットワークの出力ノードのうちの、有効生成ノードとの結合重みが最も強い出力ノードを、準生成ノードに決定する。
例えば、図43の入出力関係モデルにおいて、ある有効生成ノードが、出力ネットワークnetout1のある出力ノードであるとすると、その有効生成ノードとの結合重みが最も強い出力ネットワークnetout2の出力ノードが、準生成ノードに決定される。
ステップS229において、生成ノード決定部233は、有効生成ノードすべてについて、準生成ノードを決定し、ステップS230に進む。
ここで、以下、適宜、有効生成ノードと準生成ノードとについても、それらをまとめて、発火ノードという。
ステップS230では、生成ノード決定部233は、各出力ネットワークについて、多くとも1つの発火ノードを、最適ノードに決定する。
即ち、上述したように、ある有効生成ノードに対して準生成ノードに決定された出力ノードを有する出力ネットワークには、他の有効生成ノードが存在することがあり、この場合、その出力ネットワークには、有効生成ノードとなっている出力ノードと、準生成ノードとなっている出力ノードとの2つの発火ノードが存在する。ステップS230では、1つの出力ネットワークにおける発火ノードを、多くとも1つに制限するために、各出力ネットワークについて、多くとも1つの発火ノードが、最適ノードに決定される。
具体的には、例えば、1つの出力ノードだけが発火ノードになっている出力ネットワークについては、その発火ノードが、最適ノードに決定される。
さらに、例えば、複数の出力ノードが発火ノードになっている出力ネットワークについては、その複数の発火ノードの中に、有効生成ノードが存在する場合には、その有効生成ノードが、最適ノードに決定される。
また、複数の発火ノードの中に、有効生成ノードが存在しない場合、即ち、複数の発火ノードが、すべて、準生成ノードである場合には、その複数の準生成ノードについて、準生成ノードとなっている出力ノードが準生成ノードに決定されるときに用いられた有効生成ノードとの結合重みを比較し、その結合重みが最も強い準生成ノードが、最適ノードに決定される。
以上のように、ステップS230において、各出力ネットワークについて、多くとも1つの発火ノードが、最適ノードに決定されると、ステップS231に進み、生成ノード決定部234は、最適ノードとなっている出力ノードを、時系列データを生成するのに用いる生成ノードとするかどうかを決定する。
即ち、生成ノード決定部233は、例えば、最適ノードが有効生成ノードである場合、その最適ノードを、生成ノードに決定する。
また、生成ノード決定部233は、例えば、最適ノードが有効生成ノードでない場合、つまり、最適ノードが準生成ノードである場合、その準生成ノードとなっている出力ノードが準生成ノードに決定されるときに用いられた有効生成ノードとの結合重みに基づき、その最適ノードを、生成ノードとするかどうかを決定する。
即ち、生成ノード決定部233は、最適ノードが準生成ノードである場合、その準生成ノードとなっている出力ノードが準生成ノードに決定されるときに用いられた有効生成ノードとの結合重みを閾値と比較し、結合重みが閾値以上であるときのみ、その最適ノードを、生成ノードに決定する。
生成ノード決定部233は、以上のようにして、1以上の生成ノードを決定し、その生成ノードを表すノードラベルを、時系列生成部234(図21)に供給する。
そして、ステップS231からステップS232,S233に順次進み、図33のステップS159,S160とそれぞれ同様の処理が行われ、これにより、出力データが出力される。
ここで、例えば、音声データ「まる」を入力音声データとして含むとともに、任意の画像データを入力画像データとして含む入力データと、音声データ「まる」を出力音声データとして含むとともに、任意のモータデータを出力モータデータとして含む出力データとがセットになった第1の教示データ、任意の音声データを入力音声データとして含むとともに、物体が「まる」の軌道を描く様子が映っている画像データを入力画像データとして含む入力データと、任意の音声データを出力音声データとして含むとともに、想定ロボットのアームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータを出力モータデータとして含む出力データとがセットになった第2の教示データ、任意の入力データと、音声データ「まる」を出力音声データとして含むとともに、想定ロボットのアームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータを出力モータデータとして含む出力データとがセットになった第3の教示データとの、合計で3種類の教示データを多数用いて、図43の入出力関係モデルの学習を行った場合、第1の教示データによって、入力音声データに対応する入力ネットワークnetin1のある入力ノードNin1は、音声データ「まる」の時系列パターンを表現するようになり、出力音声データに対応する出力ネットワークnetout1のある出力ノードNout1も、音声データ「まる」の時系列パターンを表現するようになる。
さらに、第1の教示データによれば、入力ネットワークnetin1と出力ネットワークnetout1との間の結合重み行列MTX11の中で、入力ネットワークnetin1の、音声データ「まる」の時系列パターンを表現する入力ノードNin1との結合重みは、出力ネットワークnetout1の、音声データ「まる」の時系列パターンを表現する出力ノードNout1との結合重みが最も強くなるように更新される。
また、第2の教示データによって、入力画像データに対応する入力ネットワークnetin2のある入力ノードNin2は、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現するようになり、出力モータデータに対応する出力ネットワークnetout2のある出力ノードNout2は、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現するようになる。
さらに、第2の教示データによれば、入力ネットワークnetin2と出力ネットワークnetout2との間の結合重み行列MTX22の中で、入力ネットワークnetin2の、「まる」の軌道を描く様子が映っている画像データの時系列パターンを表現する入力ノードNin2との結合重みは、出力ネットワークnetout2の、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現する出力ノードNout2との結合重みが最も強くなるように更新される。
そして、第3の教示データによって、出力ネットワークnetout1と出力ネットワークnetout2との間の結合重み行列MTXout12の中で、出力ネットワークnetout1の、音声データ「まる」の時系列パターンを表現する出力ノードNout1との結合重みは、出力ネットワークnetout2の、アームの先端の位置が「まる」の軌道を描くようにモータを駆動するモータデータの時系列パターンを表現する出力ノードNout2との結合重みが最も強くなるように更新される。
従って、以上のような学習がされた図43の入出力関係モデルを用いて、図45の出力データを推定する処理が行われた場合、例えば、次のような出力データが出力される。
即ち、例えば、音声データ「まる」を入力音声データとして含むとともに、物体が静止している様子が映っている画像データを入力画像データとして含む入力データが、入出力関係モデルに与えられたとすると、ステップS224において、入力音声データに対応する入力ネットワークnetin1の、音声データ「まる」の時系列パターンを表現する入力ノードNin1が勝者ノードに決定される。
さらに、ステップS225において、勝者ノードとなった入力ノードNin1が、有効勝者ノードに決定されたとすると、ステップS226において、出力ネットワークnetout1の出力ノードのうちの、有効勝者ノードNin1との結合重みが最も強い出力ノードNout1が候補ノードに決定される。
そして、ステップS227において、候補ノードNout1が仮生成ノードに決定され、さらに、ステップS228において、有効生成ノードに決定されたとすると、ステップS229において、出力ネットワークnetout2の出力ノードのうちの、有効生成ノードNout1との結合重みが最も強い出力ノードNout2が準生成ノードに決定される。
さらに、ステップS230において、準生成ノードNout2が、最適ノードに決定され、その後、ステップS231において、生成ノードに決定されたとすると、ステップS232では、その生成ノードNout2から時系列データが生成され、ステップS233において、その時系列データが出力される。
その結果、ステップS233では、生成ノードNout2が表現する時系列パターンに属する時系列データ、つまり、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータが出力される。
即ち、音声データ「まる」を入力音声データとして含むとともに、物体が静止している様子が映っている画像データを入力画像データとして含む入力データに対して、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータを含む出力データが出力される。
以上のように、図43の入出力関係モデルによれば、出力ネットワークnetout1とnetout2とが結合されていることで、音声データ「まる」を入力音声データとして含む入力データと、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータを含む出力データとがセットになった第4の教示データを与えて、学習を行わなくても、音声データ「まる」を入力音声データとして含む入力データに対して、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータを含む出力データを出力することができる。
即ち、例えば、図43の入出力関係モデルをロボットに適用したとすると、そのロボットでは、第1乃至第3の教示データを用いた学習を行えば、第4の教示データを用いた学習を行わなくても、音声データ「まる」を入力音声データとして含む入力データに対して、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータを含む出力データを出力することができる。
つまり、第1の教示データを用いた学習は、音声「まる」を聴いた場合に、音声「まる」を出力することを、ロボットに教えることに相当する。また、第2の教示データを用いた学習は、物体が「まる」の軌道を描くシーンを見た場合に、アームの先端の位置が「まる」の軌道を描くようにモータを駆動して、アームを動かすことを、ロボットに教えることに相当する。さらに、第3の教示データを用いた学習は、音声「まる」の出力と、アームの先端の位置が「まる」の軌道を描くようにモータを駆動して、アームを動かすこととに関係あることを、ロボットに教えることに相当する。
そして、第4の教示データを用いた学習は、音声「まる」を聴いた場合に、アームの先端の位置が「まる」の軌道を描くようにモータを駆動して、アームを動かすことを、ロボットに教えることに相当する。
図43の入出力関係モデルを適用したロボットによれば、第1乃至第3の教示データを用いた学習を行えば、第4の教示データを用いた学習を行わなくても、即ち、音声「まる」を聴いた場合に、アームの先端の位置が「まる」の軌道を描くようにモータを駆動して、アームを動かすことを教えなくても、音声「まる」を聴いた場合に、アームの先端の位置が「まる」の軌道を描くようにモータを駆動して、アームを動かすことができる。
つまり、ロボットは、ある入力に対して行うことを教えられていない行動を行うことができる。
以上のように、入出力関係モデルにおいて、出力ネットワークどうしをも結合することにより、いわば、あるサブ出力データから他のサブ出力データを推定することが可能となる。例えば、音声「まる」を出力するときに、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータを推定し、その出力モータデータにしたがってアームを動かすことが可能となる。また、アームの先端の位置が「まる」の軌道を描くようにモータを駆動する出力モータデータを出力するときに、音声「まる」の出力音声データを推定して、音声「まる」を出力することも可能となる。
なお、図43の入出力関係モデルによれば、例えば、上述したように、入力音声データに対して、その入力音声データに関係がある出力音声データを、いわば媒介として、その入力音声データに関係がある出力モータデータを推定することができるので、サブ入力データに対して複雑な関係にあるサブ出力データを推定することが可能となる。
以上のように、図21のデータ処理装置の学習部212によれば、複数の入力ネットワークと複数の出力ネットワークとを有し、入力ネットワークの入力ノードと、出力ネットワークの出力ノードとが結合されている入出力関係モデル(結合モデル)における複数の入力ネットワークそれぞれを、入力ネットワークの数と同一の数のチャネルのサブ入力データを含む入力データの、対応するチャネルのサブ入力データに基づいて、自己組織的に更新するとともに、複数の出力ネットワークそれぞれを、出力ネットワークの数と同一の数のチャネルのサブ出力データを含む出力データの、対応するチャネルのサブ出力データに基づいて、自己組織的に更新し、入力ネットワークの入力ノードのうちの、その入力ネットワークに対応するチャネルのサブ入力データに最も適合する勝者ノードと、出力ネットワークの各出力ノードとの結合関係を更新するとともに、出力ネットワークの出力ノードのうちの、その出力ネットワークに対応するチャネルのサブ出力データに最も適合する勝者ノードと、入力ネットワークの各入力ノードとの結合関係を更新するようにしたので、時系列データの教師なし学習、さらには、時系列データである入力データと出力データとの関係の学習を、容易に行うことができる。さらに、その結果、線形システムによっては正確にモデル化することができないような制御対象について、精度の良い順モデルや逆モデルを、容易に得ることができる。
また、図21のデータ処理装置の認識生成部213によれば、上述のような入出力関係モデルにおける複数の入力ネットワークそれぞれについて、入力ネットワークの数と同一の数のチャネルのサブ時系列データを含む時系列データのうちの、対応するチャネルのサブ時系列データに最も適合する勝者ノードを決定し、出力ネットワークの出力ノードの中から、勝者ノードとの結合が最強のノードを、時系列データを生成する生成ノードとして決定して、その生成ノードが有する時系列パターンモデルに基づいて、時系列データを生成するので、制御対象が、ある時系列データの入力に対して出力する時系列データを、精度良く推定することができる。
さらに、図21のデータ処理装置の認識生成部213によれば、上述のような入出力関係モデルにおける複数の出力ネットワークそれぞれについて、出力ネットワークの数と同一の数のチャネルのサブ時系列データを含む時系列データのうちの、対応するチャネルのサブ時系列データに最も適合する勝者ノードを決定し、入力ネットワークの入力ノードの中から、勝者ノードとの結合が最強のノードを、時系列データを生成する生成ノードとして決定して、その生成ノードが有する時系列パターンモデルに基づいて、時系列データを生成することもでき、この場合、制御対象に、目標値としての時系列データ(出力データ)を出力させるのに入力する必要がある時系列データ(入力データ(制御データ))を、精度良く推定することができる。
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図46は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク305やROM303に予め記録しておくことができる。
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体311に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体311は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体311からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部308で受信し、内蔵するハードディスク305にインストールすることができる。
コンピュータは、CPU(Central Processing Unit)302を内蔵している。CPU302には、バス301を介して、入出力インタフェース310が接続されており、CPU302は、入出力インタフェース310を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部307が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)303に格納されているプログラムを実行する。あるいは、また、CPU302は、ハードディスク305に格納されているプログラム、衛星若しくはネットワークから転送され、通信部308で受信されてハードディスク305にインストールされたプログラム、またはドライブ309に装着されたリムーバブル記録媒体311から読み出されてハードディスク305にインストールされたプログラムを、RAM(Random Access Memory)304にロードして実行する。これにより、CPU302は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU302は、その処理結果を、必要に応じて、例えば、入出力インタフェース310を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部306から出力、あるいは、通信部308から送信、さらには、ハードディスク305に記録等させる。
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本実施の形態では、入出力関係モデルを、複数の入力ネットワークと複数の出力ネットワークとで構成するようにしたが、入出力関係モデルは、その他、1つの入力ネットワークと1つの出力ネットワークとで構成することは勿論、1つの入力ネットワークと複数の出力ネットワークとで構成することもできるし、複数の入力ネットワークと1つの出力ネットワークとで構成することもできる。
さらに、入出力関係モデルにおいて、入力ネットワークと出力ネットワークとを、どのように結合するか、つまり、ノードどうしを結合する入力ネットワークと出力ネットワークをどのように選択するかは、特に限定されるものではない。
即ち、入出力関係モデルでは、1つの入力ネットワークに注目した場合に、その1つの入力ネットワークを、1つの出力ネットワークのみに結合しても良いし、2以上の出力ネットワーク(入力関係モデルが有するすべての出力ネットワークを含む)それぞれに結合しても良い。さらに、1つの出力ネットワークに注目した場合に、その1つの出力ネットワークを、1つの入力ネットワークのみと結合しても良いし、2以上の入力ネットワーク(入力関係モデルが有するすべての入力ネットワークを含む)それぞれに結合しても良い。
また、入出力関係モデルでは、上述したように、入力ネットワークと出力ネットワークとを結合するとともに、入力ネットワークどうしを結合し、または、出力ネットワークどうしを結合する他、入力ネットワークどうしを結合し、かつ、出力ネットワークどうしも結合しても良い。
さらに、入出力関係モデルを用いて出力データを推定する、例えば、図33等で説明した方法は、一例であり、その方法に限定されるものではない。即ち、例えば、図33では、1つの出力ネットワークについて、多くとも1つの出力ノードを生成ノードに決定し、その1つの生成ノードを用いてサブ出力データを生成するようにしたが、その他、例えば、1つの出力ネットワークについて、複数の出力ノードを生成ノードに決定し、その複数の生成ノードを用いてサブ出力データを生成することが可能である。
また、サブデータ(サブ入力データ、サブ出力データ)とするデータは、上述したデータに限定されるものではない。
さらに、サブデータは、あるデータの一部であっても良いし、異なる2種類のデータであっても良い。即ち、例えば、ケプストラムの一部としての高次のケプストラム係数を1つのサブデータとし、ケプストラム係数の他の一部としての低次のケプストラム係数を他の1つのサブデータとすることができる。さらに、例えば、異なる2種類のデータとしてのケプストラム係数とメルケプストラム係数とを要素としたベクトルを、1つのサブデータとすることもできる。
なお、入力データまたは出力データに含まれる複数のサブデータとして、異なるモーダルのデータ(信号)を採用することにより、入出力関係モデルによって、マルチモーダルの入力データと出力データとの関係を学習し、さらに、マルチモーダルの入力データに対して、その入力データと関係があるマルチモーダルの出力データを出力することが可能となる。
これにより、例えば、ユーザがロボットを見ずに話をしているとき、つまり、ユーザの音声と、ユーザの視線がロボットの方向を向いているユーザの画像ではない画像の入力があったときは、何らの反応もしないが、ユーザがロボットを見ながら話をしているとき、つまり、ユーザの音声と、ユーザの視線がロボットの方向を向いているユーザの画像の入力があったは、ユーザの音声に応答する音声を出力し、かつ、その応答する音声に関係するような動きをするロボットを、容易に実現することができる。
制御対象と、順モデルおよび逆モデルとを説明するための図である。 制御対象としての想定ロボットと、その想定ロボットの順モデルとを示す図である。 制御対象としてのロボットのアームと、そのアームの逆モデルを利用したアーム制御器とを示す図である。 線形システムを用いたモデル化を説明するための図である。 従来の教師あり学習の一例を説明するための図である。 時系列パターン記憶ネットワークの第1の構成例を示す図である。 ノードの構成例を示す図である。 時系列パターン記憶ネットワークの第2の構成例を示す図である。 時系列パターン記憶ネットワークの第3の構成例を示す図である。 時系列パターン記憶ネットワークを用いた処理を行うデータ処理装置の構成例を示すブロック図である。 学習部4の構成例を示すブロック図である。 学習処理部32の構成例を示すブロック図である。 更新重みを決定する決定方法を説明するための図である。 学習データ記憶部22に記憶させる学習データを更新する更新方法を説明するための図である。 学習処理を説明するフローチャートである。 認識部3の構成例を示すブロック図である。 認識処理を説明するフローチャートである。 生成部6の構成例を示すブロック図である。 生成処理を説明するフローチャートである。 入出力関係モデルの構成例を示す図である。 入出力関係モデルを用いた処理を行うデータ処理装置の構成例を示すブロック図である。 入出力関係モデルの学習を説明するフローチャートである。 結合重み行列を示す図である。 入出力関係モデルを用いて、出力データまたは制御データを推定する処理を説明するフローチャートである。 制御対象としての想定ロボットと、その想定ロボットの順モデルとしての入出力関係モデルとを示す図である。 想定ロボットの順モデルとしての入出力関係モデルを示す図である。 入出力関係モデルを示す図である。 入出力関係モデルの学習を説明するためのフローチャートである。 入出力関係モデルを用いて出力データを推定する処理を説明するフローチャートである。 入出力関係モデルを示す図である。 入出力関係モデルにおける時系列パターン記憶ネットワークのノードの結合重みを説明するための図である。 入出力関係モデルの学習を説明するためのフローチャートである。 入出力関係モデルを用いて出力データを推定する処理を説明するフローチャートである。 制御対象としての想定ロボットを示す図である。 想定ロボットの順モデルとしての入出力関係モデルを示す図である。 入出力関係モデルを示す図である。 入出力関係モデルを用いて出力データを推定する処理を説明するフローチャートである。 シミュレーションの結果を示す図である。 結合制限処理を説明するフローチャートである。 入出力関係モデルを示す図である。 結合重み行列を示す図である。 入出力関係モデルを用いて出力データを推定する処理を説明するフローチャートである。 入出力関係モデルを示す図である。 結合重み行列を示す図である。 入出力関係モデルを用いて出力データを推定する処理を説明するフローチャートである。 本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
符号の説明
1 信号入力部, 2 特徴抽出部, 3 認識部, 4 学習部, 5 記憶部, 6 生成部, 21 時系列パターンモデル, 22 学習データ記憶部, 31 時系列データ記憶部, 32 学習処理部, 41 スコア計算部, 42 勝者ノード決定部, 43 重み決定部, 44 学習データ更新部, 45 モデル学習部, 51 スコア計算部, 52 勝者ノード決定部, 53 出力部, 61 生成ノード決定部, 62 時系列決定部, 63 出力部, 211 記憶部, 212 学習部, 213 認識生成部, 221 学習処理部, 222 結合重み更新部, 231 スコア計算部, 232 勝者ノード決定部, 233 生成ノード決定部, 234 時系列生成部, 301 バス, 302 CPU, 303 ROM, 304 RAM, 305 ハードディスク, 306 出力部, 307 入力部, 308 通信部, 309 ドライブ, 310 入出力インタフェース, 311 リムーバブル記録媒体

Claims (42)

  1. 時系列のデータである時系列データに基づき、学習を行う学習装置において、
    所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、
    前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークと
    を有し、
    前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記入力時系列パターン記憶ネットワークそれぞれを、前記入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む前記入力データの、対応するチャネルの前記サブ入力データに基づいて、自己組織的に更新するとともに、複数の前記出力時系列パターン記憶ネットワークそれぞれを、前記出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む前記出力データの、対応するチャネルの前記サブ出力データに基づいて、自己組織的に更新する学習手段と、
    前記入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新手段と
    を備えることを特徴とする学習装置。
  2. 1の前記入力時系列パターン記憶ネットワークの前記ノードは、1の前記出力時系列パターン記憶ネットワークのみの前記ノードと結合している
    ことを特徴とする請求項1に記載の学習装置。
  3. 1の前記出力時系列パターン記憶ネットワークの前記ノードは、1の前記入力時系列パターン記憶ネットワークのみの前記ノードと結合している
    ことを特徴とする請求項1に記載の学習装置。
  4. 1の前記入力時系列パターン記憶ネットワークの前記ノードは、2以上の前記出力時系列パターン記憶ネットワークそれぞれの前記ノードと結合している
    ことを特徴とする請求項1に記載の学習装置。
  5. 1の前記出力時系列パターン記憶ネットワークの前記ノードは、2以上の前記入力時系列パターン記憶ネットワークそれぞれの前記ノードと結合している
    ことを特徴とする請求項1に記載の学習装置。
  6. 複数の前記入力時系列パターン記憶ネットワークの前記ノードは、すべての前記出力時系列パターン記憶ネットワークの前記ノードと結合している
    ことを特徴とする請求項1に記載の学習装置。
  7. 前記結合関係更新手段は、前記入力時系列パターン記憶ネットワークの入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を、その出力時系列パターン記憶ネットワークの各ノードと前記出力勝者ノードとの間の所定の距離に基づいて更新するとともに、前記出力時系列パターン記憶ネットワークの出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を、その入力時系列パターン記憶ネットワークの各ノードと前記入力勝者ノードとの間の所定の距離に基づいて更新する
    ことを特徴とする請求項1に記載の学習装置。
  8. 前記入力時系列パターン記憶ネットワークどうしのノードも結合しており、
    前記結合関係更新手段は、さらに、1の入力時系列パターン記憶ネットワークのノードのうちの、前記1の入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである第1の入力勝者ノードと、他の1の入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記他の1の入力時系列パターン記憶ネットワークのノードのうちの、前記他の1の入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである第2の入力勝者ノードと、前記1の入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する
    ことを特徴とする請求項1に記載の学習装置。
  9. 前記出力時系列パターン記憶ネットワークどうしのノードも結合しており、
    前記結合関係更新手段は、さらに、1の出力時系列パターン記憶ネットワークのノードのうちの、前記1の出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである第1の出力勝者ノードと、他の1の出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記他の1の出力時系列パターン記憶ネットワークのノードのうちの、前記他の1の出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである第2の出力勝者ノードと、前記1の出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する
    ことを特徴とする請求項1に記載の学習装置。
  10. 時系列のデータである時系列データに基づき、学習を行う学習方法において、
    所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、
    前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークと
    を有し、
    前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記入力時系列パターン記憶ネットワークそれぞれを、前記入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む前記入力データの、対応するチャネルの前記サブ入力データに基づいて、自己組織的に更新するとともに、複数の前記出力時系列パターン記憶ネットワークそれぞれを、前記出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む前記出力データの、対応するチャネルの前記サブ出力データに基づいて、自己組織的に更新する学習ステップと、
    前記入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新ステップと
    を含むことを特徴とする学習方法。
  11. 時系列のデータである時系列データに基づき、学習を行う学習処理を、コンピュータに実行させるプログラムにおいて、
    所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、
    前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークと
    を有し、
    前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記入力時系列パターン記憶ネットワークそれぞれを、前記入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む前記入力データの、対応するチャネルの前記サブ入力データに基づいて、自己組織的に更新するとともに、複数の前記出力時系列パターン記憶ネットワークそれぞれを、前記出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む前記出力データの、対応するチャネルの前記サブ出力データに基づいて、自己組織的に更新する学習ステップと、
    前記入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新ステップと
    を含むことを特徴とする学習処理を、コンピュータに実行させるプログラム。
  12. 時系列のデータである時系列データに基づき、学習を行う学習装置において、
    所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の入力時系列パターン記憶ネットワークと、
    前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークと
    を有し、
    前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける1の前記入力時系列パターン記憶ネットワークを、前記入力データに基づいて、自己組織的に更新するとともに、複数の前記出力時系列パターン記憶ネットワークそれぞれを、前記出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む前記出力データの、対応するチャネルの前記サブ出力データに基づいて、自己組織的に更新する学習手段と、
    前記入力時系列パターン記憶ネットワークのノードのうちの、前記入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新手段と
    を備えることを特徴とする学習装置。
  13. 前記結合関係更新手段は、前記入力時系列パターン記憶ネットワークの入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を、その出力時系列パターン記憶ネットワークの各ノードと前記出力勝者ノードとの間の所定の距離に基づいて更新するとともに、前記出力時系列パターン記憶ネットワークの出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を、その入力時系列パターン記憶ネットワークの各ノードと前記入力勝者ノードとの間の所定の距離に基づいて更新する
    ことを特徴とする請求項12に記載の学習装置。
  14. 前記出力時系列パターン記憶ネットワークどうしのノードも結合しており、
    前記結合関係更新手段は、さらに、1の出力時系列パターン記憶ネットワークのノードのうちの、前記1の出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである第1の出力勝者ノードと、他の1の出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記他の1の出力時系列パターン記憶ネットワークのノードのうちの、前記他の1の出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである第2の出力勝者ノードと、前記1の出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する
    ことを特徴とする請求項12に記載の学習装置。
  15. 時系列のデータである時系列データに基づき、学習を行う学習方法において、
    所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の入力時系列パターン記憶ネットワークと、
    前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークと
    を有し、
    前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける1の前記入力時系列パターン記憶ネットワークを、前記入力データに基づいて、自己組織的に更新するとともに、複数の前記出力時系列パターン記憶ネットワークそれぞれを、前記出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む前記出力データの、対応するチャネルの前記サブ出力データに基づいて、自己組織的に更新する学習ステップと、
    前記入力時系列パターン記憶ネットワークのノードのうちの、前記入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新ステップと
    を含むことを特徴とする学習方法。
  16. 時系列のデータである時系列データに基づき、学習を行う学習処理を、コンピュータに実行させるプログラムにおいて、
    所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の入力時系列パターン記憶ネットワークと、
    前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の出力時系列パターン記憶ネットワークと
    を有し、
    前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける1の前記入力時系列パターン記憶ネットワークを、前記入力データに基づいて、自己組織的に更新するとともに、複数の前記出力時系列パターン記憶ネットワークそれぞれを、前記出力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ出力データを含む前記出力データの、対応するチャネルの前記サブ出力データに基づいて、自己組織的に更新する学習ステップと、
    前記入力時系列パターン記憶ネットワークのノードのうちの、前記入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、その出力時系列パターン記憶ネットワークに対応するチャネルの前記サブ出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新ステップと
    を含むことを特徴とする学習処理を、コンピュータに実行させるプログラム。
  17. 時系列のデータである時系列データに基づき、学習を行う学習装置において、
    所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、
    前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の出力時系列パターン記憶ネットワークと
    を有し、
    前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記入力時系列パターン記憶ネットワークそれぞれを、前記入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む前記入力データの、対応するチャネルの前記サブ入力データに基づいて、自己組織的に更新するとともに、1の前記出力時系列パターン記憶ネットワークを、前記出力データに基づいて、自己組織的に更新する学習手段と、
    前記入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、前記出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新手段と
    を備えることを特徴とする学習装置。
  18. 前記結合関係更新手段は、前記入力時系列パターン記憶ネットワークの入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を、その出力時系列パターン記憶ネットワークの各ノードと前記出力勝者ノードとの間の所定の距離に基づいて更新するとともに、前記出力時系列パターン記憶ネットワークの出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を、その入力時系列パターン記憶ネットワークの各ノードと前記入力勝者ノードとの間の所定の距離に基づいて更新する
    ことを特徴とする請求項17に記載の学習装置。
  19. 前記入力時系列パターン記憶ネットワークどうしのノードも結合しており、
    前記結合関係更新手段は、さらに、1の入力時系列パターン記憶ネットワークのノードのうちの、前記1の入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである第1の入力勝者ノードと、他の1の入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記他の1の入力時系列パターン記憶ネットワークのノードのうちの、前記他の1の入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである第2の入力勝者ノードと、前記1の入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する
    ことを特徴とする請求項17に記載の学習装置。
  20. 時系列のデータである時系列データに基づき、学習を行う学習方法において、
    所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、
    前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の出力時系列パターン記憶ネットワークと
    を有し、
    前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記入力時系列パターン記憶ネットワークそれぞれを、前記入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む前記入力データの、対応するチャネルの前記サブ入力データに基づいて、自己組織的に更新するとともに、1の前記出力時系列パターン記憶ネットワークを、前記出力データに基づいて、自己組織的に更新する学習ステップと、
    前記入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、前記出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新ステップと
    を含むことを特徴とする学習方法。
  21. 時系列のデータである時系列データに基づき、学習を行う学習処理を、コンピュータに実行させるプログラムにおいて、
    所定の制御対象に入力される入力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される複数の入力時系列パターン記憶ネットワークと、
    前記所定の制御対象が前記入力データに対して出力する出力データとしての前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成される1の出力時系列パターン記憶ネットワークと
    を有し、
    前記入力時系列パターン記憶ネットワークの前記ノードと、前記出力時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記入力時系列パターン記憶ネットワークそれぞれを、前記入力時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ入力データを含む前記入力データの、対応するチャネルの前記サブ入力データに基づいて、自己組織的に更新するとともに、1の前記出力時系列パターン記憶ネットワークを、前記出力データに基づいて、自己組織的に更新する学習ステップと、
    前記入力時系列パターン記憶ネットワークのノードのうちの、その入力時系列パターン記憶ネットワークに対応するチャネルの前記サブ入力データに最も適合するノードである入力勝者ノードと、前記出力時系列パターン記憶ネットワークの各ノードとの結合関係を更新するとともに、前記出力時系列パターン記憶ネットワークのノードのうちの、前記出力データに最も適合するノードである出力勝者ノードと、前記入力時系列パターン記憶ネットワークの各ノードとの結合関係を更新する結合関係更新ステップと
    を含むことを特徴とする学習処理を、コンピュータに実行させるプログラム。
  22. 時系列のデータである時系列データに対して、他の時系列データを生成する生成装置において、
    前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、
    前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークと
    を有し、
    前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記第1の時系列パターン記憶ネットワークそれぞれについて、前記第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む前記時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定手段と、
    前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定手段と、
    前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成手段と
    を備えることを特徴とする生成装置。
  23. 1の前記第1の時系列パターン記憶ネットワークの前記ノードは、1の前記第2の時系列パターン記憶ネットワークのみの前記ノードと結合している
    ことを特徴とする請求項22に記載の生成装置。
  24. 1の前記第2の時系列パターン記憶ネットワークの前記ノードは、1の前記第1の時系列パターン記憶ネットワークのみの前記ノードと結合している
    ことを特徴とする請求項22に記載の生成装置。
  25. 1の前記第1の時系列パターン記憶ネットワークの前記ノードは、2以上の前記第2の時系列パターン記憶ネットワークそれぞれの前記ノードと結合している
    ことを特徴とする請求項22に記載の生成装置。
  26. 1の前記第2の時系列パターン記憶ネットワークの前記ノードは、2以上の前記第1の時系列パターン記憶ネットワークそれぞれの前記ノードと結合している
    ことを特徴とする請求項22に記載の生成装置。
  27. 複数の前記第1の時系列パターン記憶ネットワークの前記ノードは、すべての前記第2の時系列パターン記憶ネットワークの前記ノードと結合している
    ことを特徴とする請求項22に記載の生成装置。
  28. 前記生成ノード決定手段は、1の前記第2の時系列パターン記憶ネットワークにつき、多くとも1の前記ノードを、前記生成手段において前記他の時系列データを生成するのに用いる前記生成ノードとして決定する
    ことを特徴とする請求項22に記載の生成装置。
  29. 前記生成ノード決定手段は、
    1の前記第1の時系列パターン記憶ネットワークのノードと結合している複数の前記第2の時系列パターン記憶ネットワークそれぞれのノードの中で、1の前記第1の時系列パターン記憶ネットワークのノードとの結合が最強のノードのノード数を、複数の前記第2の時系列パターン記憶ネットワークそれぞれについて求め、
    1の前記第1の時系列パターン記憶ネットワークのノードとの結合が最強のノードのノード数が最も多い前記第2の時系列パターン記憶ネットワークのノードの中から、1の前記第1の時系列パターン記憶ネットワークの勝者ノードとの結合が最強のノードを、前記生成ノードとして決定する
    ことを特徴とする請求項22に記載の生成装置。
  30. 前記第1の時系列パターン記憶ネットワークどうしのノードも結合しており、
    前記生成ノード決定手段は、
    1の第1の時系列パターン記憶ネットワークのノードにおいて、前記1の第1の時系列パターン記憶ネットワークに対応するチャネルの前記サブ時系列データに最も適合する前記勝者ノード、
    または、他の1の第1の時系列パターン記憶ネットワークにおいて、前記他の1の第1の時系列パターン記憶ネットワークに対応するチャネルの前記サブ時系列データに最も適合する前記勝者ノードとの結合が最強の、前記1の第1の時系列パターン記憶ネットワークのノード
    との結合が最強の、前記第2の時系列パターン記憶ネットワークのノードを、前記生成ノードとして決定する
    ことを特徴とする請求項22に記載の生成装置。
  31. 前記第2の時系列パターン記憶ネットワークどうしのノードも結合しており、
    前記生成ノード決定手段は、
    1の勝者ノードとの結合が最強の、1の第2の時系列パターン記憶ネットワークのノード、
    または、他の1の第2の時系列パターン記憶ネットワークにおいて他の1の勝者ノードとの結合が最強のノードとの結合が最強の、前記1の第2の時系列パターン記憶ネットワークのノード
    を、前記生成ノードとして決定する
    ことを特徴とする請求項22に記載の生成装置。
  32. 時系列のデータである時系列データに対して、他の時系列データを生成する生成方法において、
    前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、
    前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークと
    を有し、
    前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記第1の時系列パターン記憶ネットワークそれぞれについて、前記第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む前記時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
    前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定ステップと、
    前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成ステップと
    を含むことを特徴とする生成方法。
  33. 時系列のデータである時系列データに対して、他の時系列データを生成する生成処理を、コンピュータに実行させるプログラムにおいて、
    前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、
    前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークと
    を有し、
    前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記第1の時系列パターン記憶ネットワークそれぞれについて、前記第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む前記時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
    前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定ステップと、
    前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成ステップと
    を含むことを特徴とする生成処理を、コンピュータに実行させるプログラム。
  34. 時系列のデータである時系列データに対して、他の時系列データを生成する生成装置において、
    前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第1の時系列パターン記憶ネットワークと、
    前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークと
    を有し、
    前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける1の前記第1の時系列パターン記憶ネットワークについて、前記時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定手段と、
    前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定手段と、
    前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成手段と
    を備えることを特徴とする生成装置。
  35. 前記生成ノード決定手段は、
    前記第1の時系列パターン記憶ネットワークのノードと結合している複数の前記第2の時系列パターン記憶ネットワークそれぞれのノードの中で、前記第1の時系列パターン記憶ネットワークのノードとの結合が最強のノードのノード数を、複数の前記第2の時系列パターン記憶ネットワークそれぞれについて求め、
    前記第1の時系列パターン記憶ネットワークのノードとの結合が最強のノードのノード数が最も多い前記第2の時系列パターン記憶ネットワークのノードの中から、前記第1の時系列パターン記憶ネットワークの勝者ノードとの結合が最強のノードを、前記生成ノードとして決定する
    ことを特徴とする請求項34に記載の生成装置。
  36. 前記第2の時系列パターン記憶ネットワークどうしのノードも結合しており、
    前記生成ノード決定手段は、
    1の第2の時系列パターン記憶ネットワークにおいて、前記勝者ノードとの結合が最強のノード、
    または、1の第2の時系列パターン記憶ネットワークにおいて、前記勝者ノードとの結合が最強のノードとの結合が最強の、他の1の第2の時系列パターン記憶ネットワークのノード
    を、前記生成ノードとして決定する
    ことを特徴とする請求項34に記載の生成装置。
  37. 時系列のデータである時系列データに対して、他の時系列データを生成する生成方法において、
    前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第1の時系列パターン記憶ネットワークと、
    前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークと
    を有し、
    前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける1の前記第1の時系列パターン記憶ネットワークについて、前記時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
    前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定ステップと、
    前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成ステップと
    を含むことを特徴とする生成方法。
  38. 時系列のデータである時系列データに対して、他の時系列データを生成する生成処理を、コンピュータに実行させるプログラムにおいて、
    前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第1の時系列パターン記憶ネットワークと、
    前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第2の時系列パターン記憶ネットワークと
    を有し、
    前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける1の前記第1の時系列パターン記憶ネットワークについて、前記時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
    前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定ステップと、
    前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成ステップと
    を含むことを特徴とする生成処理を、コンピュータに実行させるプログラム。
  39. 時系列のデータである時系列データに対して、他の時系列データを生成する生成装置において、
    前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、
    前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第2の時系列パターン記憶ネットワークと
    を有し、
    前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記第1の時系列パターン記憶ネットワークそれぞれについて、前記第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む前記時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定手段と、
    前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定手段と、
    前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成手段と
    を備えることを特徴とする生成装置。
  40. 前記第1の時系列パターン記憶ネットワークどうしのノードも結合しており、
    前記生成ノード決定手段は、
    1の第1の時系列パターン記憶ネットワークのノードにおいて、前記1の第1の時系列パターン記憶ネットワークに対応するチャネルの前記サブ時系列データに最も適合する前記勝者ノード、
    または、他の1の第1の時系列パターン記憶ネットワークにおいて、前記他の1の第1の時系列パターン記憶ネットワークに対応するチャネルの前記サブ時系列データに最も適合する前記勝者ノードとの結合が最強の、前記1の第1の時系列パターン記憶ネットワークのノード
    との結合が最強の、前記第2の時系列パターン記憶ネットワークのノードを、前記生成ノードとして決定する
    ことを特徴とする請求項39に記載の生成装置。
  41. 時系列のデータである時系列データに対して、他の時系列データを生成する生成方法において、
    前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、
    前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第2の時系列パターン記憶ネットワークと
    を有し、
    前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記第1の時系列パターン記憶ネットワークそれぞれについて、前記第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む前記時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
    前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定ステップと、
    前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成ステップと
    を含むことを特徴とする生成方法。
  42. 時系列のデータである時系列データに対して、他の時系列データを生成する生成処理を、コンピュータに実行させるプログラムにおいて、
    前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである複数の第1の時系列パターン記憶ネットワークと、
    前記他の時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである1の第2の時系列パターン記憶ネットワークと
    を有し、
    前記第1の時系列パターン記憶ネットワークの前記ノードと、前記第2の時系列パターン記憶ネットワークの前記ノードとが結合されている
    結合モデルにおける複数の前記第1の時系列パターン記憶ネットワークそれぞれについて、前記第1の時系列パターン記憶ネットワークの数と同一の数のチャネルのサブ時系列データを含む前記時系列データのうちの、対応するチャネルのサブ時系列データに最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
    前記第2の時系列パターン記憶ネットワークのノードの中から、前記勝者ノードとの結合が最強のノードを、前記他の時系列データを生成する生成ノードとして決定する生成ノード決定ステップと、
    前記生成ノードが有する前記時系列パターンモデルに基づいて、前記他の時系列データを生成する生成ステップと
    を含むことを特徴とする生成処理を、コンピュータに実行させるプログラム。
JP2005108478A 2005-04-05 2005-04-05 学習装置および学習方法、生成装置および生成方法、並びにプログラム Pending JP2006285899A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005108478A JP2006285899A (ja) 2005-04-05 2005-04-05 学習装置および学習方法、生成装置および生成方法、並びにプログラム
US11/396,836 US7346595B2 (en) 2005-04-05 2006-04-03 Method and apparatus for learning data, method and apparatus for generating data, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005108478A JP2006285899A (ja) 2005-04-05 2005-04-05 学習装置および学習方法、生成装置および生成方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2006285899A true JP2006285899A (ja) 2006-10-19

Family

ID=37235636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005108478A Pending JP2006285899A (ja) 2005-04-05 2005-04-05 学習装置および学習方法、生成装置および生成方法、並びにプログラム

Country Status (2)

Country Link
US (1) US7346595B2 (ja)
JP (1) JP2006285899A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106471526A (zh) * 2014-08-29 2017-03-01 谷歌公司 使用深度神经网络来处理图像

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155404A (ja) * 2004-11-30 2006-06-15 Toshiba Corp 時間情報抽出装置、時間情報抽出方法、及び時間情報抽出プログラム
US20060184462A1 (en) 2004-12-10 2006-08-17 Hawkins Jeffrey C Methods, architecture, and apparatus for implementing machine intelligence and hierarchical memory systems
US7739208B2 (en) * 2005-06-06 2010-06-15 Numenta, Inc. Trainable hierarchical memory system and method
US20070192267A1 (en) 2006-02-10 2007-08-16 Numenta, Inc. Architecture of a hierarchical temporal memory based system
US7941389B2 (en) * 2006-02-10 2011-05-10 Numenta, Inc. Hierarchical temporal memory based system including nodes with input or output variables of disparate properties
US8732098B2 (en) 2006-02-10 2014-05-20 Numenta, Inc. Hierarchical temporal memory (HTM) system deployed as web service
US20080208966A1 (en) * 2007-02-28 2008-08-28 Numenta, Inc. Hierarchical Temporal Memory (HTM) System Deployed as Web Service
US9245526B2 (en) * 2006-04-25 2016-01-26 General Motors Llc Dynamic clustering of nametags in an automated speech recognition system
US7792769B2 (en) * 2006-05-08 2010-09-07 Cognika Corporation Apparatus and method for learning and reasoning for systems with temporal and non-temporal variables
US20080120346A1 (en) * 2006-11-22 2008-05-22 Anindya Neogi Purging of stored timeseries data
US8195734B1 (en) 2006-11-27 2012-06-05 The Research Foundation Of State University Of New York Combining multiple clusterings by soft correspondence
US7937342B2 (en) * 2006-11-28 2011-05-03 Numenta, Inc. Method and apparatus for detecting spatial patterns
WO2008106615A1 (en) 2007-02-28 2008-09-04 Numenta, Inc. Spatio-temporal learning algorithms in hierarchical temporal networks
US8112367B2 (en) * 2007-02-28 2012-02-07 Numenta, Inc. Episodic memory with a hierarchical temporal memory based system
US7941392B2 (en) * 2007-02-28 2011-05-10 Numenta, Inc. Scheduling system and method in a hierarchical temporal memory based system
EP2162853A1 (en) * 2007-06-29 2010-03-17 Numenta, Inc. Hierarchical temporal memory system with enhanced inference capability
AU2008303513A1 (en) * 2007-09-27 2009-04-02 Siemens Aktiengesellschaft Method and system for identifying information related to a good
WO2009052407A1 (en) * 2007-10-18 2009-04-23 Numenta, Inc. System and method for automatic topology determination in a hierarchical-temporal network
US7895146B2 (en) * 2007-12-03 2011-02-22 Microsoft Corporation Time modulated generative probabilistic models for automated causal discovery that monitors times of packets
US8175984B2 (en) * 2007-12-05 2012-05-08 Numenta, Inc. Action based learning
JP4347386B2 (ja) * 2008-01-23 2009-10-21 ファナック株式会社 加工用ロボットプラグラムの作成装置
WO2009114649A2 (en) 2008-03-12 2009-09-17 Aptima, Inc. Probabilistic decision making system and methods of use
US8290885B2 (en) * 2008-03-13 2012-10-16 Sony Corporation Information processing apparatus, information processing method, and computer program
US8175985B2 (en) 2008-03-19 2012-05-08 Numenta, Inc. Plugin infrastructure for hierarchical temporal memory (HTM) system
US7983998B2 (en) * 2008-03-21 2011-07-19 Numenta, Inc. Feedback in group based hierarchical temporal memory system
US8407166B2 (en) * 2008-06-12 2013-03-26 Numenta, Inc. Hierarchical temporal memory system with higher-order temporal pooling capability
US9245000B2 (en) * 2008-08-05 2016-01-26 Vmware, Inc. Methods for the cyclical pattern determination of time-series data using a clustering approach
US9547710B2 (en) * 2008-08-05 2017-01-17 Vmware, Inc. Methods for the cyclical pattern determination of time-series data using a clustering approach
US8195582B2 (en) * 2009-01-16 2012-06-05 Numenta, Inc. Supervision based grouping of patterns in hierarchical temporal memory (HTM)
JP5633734B2 (ja) * 2009-11-11 2014-12-03 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
US8589475B2 (en) * 2010-01-28 2013-11-19 Hewlett-Packard Development Company, L.P. Modeling a cloud computing system
US11651277B2 (en) 2010-03-15 2023-05-16 Numenta, Inc. Sparse distributed representation for networked processing in predictive system
US9189745B2 (en) 2010-03-15 2015-11-17 Numenta, Inc. Temporal memory using sparse distributed representation
US8490056B2 (en) * 2010-04-28 2013-07-16 International Business Machines Corporation Automatic identification of subroutines from test scripts
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US8825565B2 (en) 2011-08-25 2014-09-02 Numenta, Inc. Assessing performance in a spatial and temporal memory system
US8504570B2 (en) 2011-08-25 2013-08-06 Numenta, Inc. Automated search for detecting patterns and sequences in data using a spatial and temporal memory system
US8645291B2 (en) 2011-08-25 2014-02-04 Numenta, Inc. Encoding of data for processing in a spatial and temporal memory system
US9367612B1 (en) * 2011-11-18 2016-06-14 Google Inc. Correlation-based method for representing long-timescale structure in time-series data
US10290221B2 (en) * 2012-04-27 2019-05-14 Aptima, Inc. Systems and methods to customize student instruction
US10552764B1 (en) 2012-04-27 2020-02-04 Aptima, Inc. Machine learning system for a training model of an adaptive trainer
US9311600B1 (en) 2012-06-03 2016-04-12 Mark Bishop Ring Method and system for mapping states and actions of an intelligent agent
JP5908350B2 (ja) 2012-06-21 2016-04-26 本田技研工業株式会社 行動制御システム
US9159021B2 (en) 2012-10-23 2015-10-13 Numenta, Inc. Performing multistep prediction using spatial and temporal memory system
US9519858B2 (en) * 2013-02-10 2016-12-13 Microsoft Technology Licensing, Llc Feature-augmented neural networks and applications of same
US10438156B2 (en) 2013-03-13 2019-10-08 Aptima, Inc. Systems and methods to provide training guidance
US10318878B2 (en) 2014-03-19 2019-06-11 Numenta, Inc. Temporal processing scheme and sensorimotor information processing
US20180018966A1 (en) * 2015-04-29 2018-01-18 Listen.MD, Inc. System for understanding health-related communications between patients and providers
JP6814981B2 (ja) * 2016-07-21 2021-01-20 パナソニックIpマネジメント株式会社 学習装置、識別装置、学習識別システム、及び、プログラム
WO2019212586A1 (en) * 2018-04-30 2019-11-07 Hewlett-Packard Development Company, L.P. Providing solutions using stochastic modelling
US11194331B2 (en) * 2018-10-30 2021-12-07 The Regents Of The University Of Michigan Unsupervised classification of encountering scenarios using connected vehicle datasets
US11685045B1 (en) * 2019-09-09 2023-06-27 X Development Llc Asynchronous robotic control using most recently selected robotic action data
US11681922B2 (en) 2019-11-26 2023-06-20 Numenta, Inc. Performing inference and training using sparse neural network
JP7456215B2 (ja) * 2020-03-17 2024-03-27 ヤマハ株式会社 オーディオインターフェース装置、及び、録音システム
JP2022007313A (ja) * 2020-06-26 2022-01-13 ルネサスエレクトロニクス株式会社 時系列センサデータ処理装置および時系列センサデータ処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2964507B2 (ja) * 1989-12-12 1999-10-18 松下電器産業株式会社 Hmm装置
JP3088171B2 (ja) * 1991-02-12 2000-09-18 三菱電機株式会社 自己組織型パタ−ン分類システム及び分類方法
US5724487A (en) * 1995-07-07 1998-03-03 Streit; Roy L. Neural network for maximum likelihood classification with supervised and unsupervised training capability
DE69941499D1 (de) * 1998-10-09 2009-11-12 Sony Corp Vorrichtungen und Verfahren zum Lernen und Anwenden eines Abstand-Transition-Modelles
US7702482B2 (en) * 2004-12-30 2010-04-20 Microsoft Corporation Dependency structure from temporal data

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106471526A (zh) * 2014-08-29 2017-03-01 谷歌公司 使用深度神经网络来处理图像
CN106471526B (zh) * 2014-08-29 2019-03-08 谷歌有限责任公司 用于处理图像的方法和系统
US10650289B2 (en) 2014-08-29 2020-05-12 Google Llc Processing images using deep neural networks
US10977529B2 (en) 2014-08-29 2021-04-13 Google Llc Processing images using deep neural networks
US11462035B2 (en) 2014-08-29 2022-10-04 Google Llc Processing images using deep neural networks
US11809955B2 (en) 2014-08-29 2023-11-07 Google Llc Processing images using deep neural networks

Also Published As

Publication number Publication date
US7346595B2 (en) 2008-03-18
US20060248026A1 (en) 2006-11-02

Similar Documents

Publication Publication Date Title
JP2006285899A (ja) 学習装置および学習方法、生成装置および生成方法、並びにプログラム
JP4639784B2 (ja) 学習装置および学習方法、並びにプログラム
US7725412B2 (en) Identifying temporal sequences using a recurrent self organizing map
US11386330B2 (en) Learning coach for machine learning system
US7499892B2 (en) Information processing apparatus, information processing method, and program
JP4169063B2 (ja) データ処理装置、データ処理方法、及びプログラム
JP6933264B2 (ja) ラベル生成装置、モデル学習装置、感情認識装置、それらの方法、プログラム、および記録媒体
CN105810193B (zh) 训练语言模型的方法和设备及识别语言的方法和设备
CN105741832B (zh) 一种基于深度学习的口语评测方法和系统
US20180336887A1 (en) User adaptive speech recognition method and apparatus
Mitra et al. Recognizing articulatory gestures from speech for robust speech recognition
Deng et al. Deep dynamic models for learning hidden representations of speech features
JP4534769B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US11250852B2 (en) Generation of trigger recognition models for robot
McDermott et al. A derivation of minimum classification error from the theoretical classification risk using Parzen estimation
JP2007280057A (ja) データ処理装置、データ処理方法、およびプログラム
Tanaka et al. Pronunciation adaptive self speaking agent using wavegrad
JP2007280007A (ja) データ処理装置、データ処理方法、およびプログラム
Shinozaki et al. Automated development of dnn based spoken language systems using evolutionary algorithms
JP2006285881A (ja) 学習装置、学習方法、およびプログラム
JP2007280009A (ja) データ処理装置、データ処理方法、およびプログラム
JP2009043122A (ja) データ処理装置、データ処理方法、及びプログラム
JP2007280056A (ja) データ処理装置、データ処理方法、およびプログラム
Ifrat et al. Articulatory feature based automatic speech recognition using neural network
JP2008276290A (ja) データ処理装置、データ処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110623

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111013