JP2006285881A - 学習装置、学習方法、およびプログラム - Google Patents
学習装置、学習方法、およびプログラム Download PDFInfo
- Publication number
- JP2006285881A JP2006285881A JP2005108184A JP2005108184A JP2006285881A JP 2006285881 A JP2006285881 A JP 2006285881A JP 2005108184 A JP2005108184 A JP 2005108184A JP 2005108184 A JP2005108184 A JP 2005108184A JP 2006285881 A JP2006285881 A JP 2006285881A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- data
- time
- node
- hmm
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】時系列データの教師なし学習を、容易に行う。
【解決手段】 時系列データのパターンである時系列パターンを表現するHMMを有する複数のノードNiから構成されるネットワークである時系列パターン記憶ネットワークの更新にあたり、新たな時系列データの観測値が、ノードNiが有するHMMの学習に用いる学習データとして、その新たな時系列データの観測値に最も適合する勝者ノードに基づいてノードNiに対して決定された更新重みと対応付けて記憶される。そして、学習処理部32は、学習データを、その学習データに対応付けられた更新重みで用いて、ノードNiが有するHMMの学習を行うことにより、そのHMMを更新する。本発明は、例えば、ロボットなどに適用できる。
【選択図】図7
【解決手段】 時系列データのパターンである時系列パターンを表現するHMMを有する複数のノードNiから構成されるネットワークである時系列パターン記憶ネットワークの更新にあたり、新たな時系列データの観測値が、ノードNiが有するHMMの学習に用いる学習データとして、その新たな時系列データの観測値に最も適合する勝者ノードに基づいてノードNiに対して決定された更新重みと対応付けて記憶される。そして、学習処理部32は、学習データを、その学習データに対応付けられた更新重みで用いて、ノードNiが有するHMMの学習を行うことにより、そのHMMを更新する。本発明は、例えば、ロボットなどに適用できる。
【選択図】図7
Description
本発明は、学習装置、学習方法、およびプログラムに関し、特に、例えば、音声のような時系列のデータである時系列データの教師なし学習を、容易に行うことができるようにする学習装置、学習方法、およびプログラムに関する。
パターンを学習して認識を行う技術は、一般にパターン認識(pattern recognition)と呼ばれ、パターン認識における学習は、教師あり学習(supervised learning)と、教師なし学習(unsupervised learning)とに分けることができる。
教師あり学習とは、各パターンの学習データがどのクラスに属するかの情報(これを正解ラベルと呼ぶ)を与えて、各パターンごとに、そのパターンに属する学習データを学習する方法であり、テンプレートマッチング、ニューラルネットワーク、HMM(Hidden Markov Model)などを用いた学習方法が数多く提案されている。
ここで、図1は、従来の教師あり学習の一例を示している。
教師あり学習では、学習に利用する学習データが、想定したカテゴリ(クラス)(例えば、音声認識を行うための学習においては、各音素のカテゴリや、各音韻のカテゴリ、各単語のカテゴリなど)ごとに用意される。例えば、"A","B","C"という発声の音声データ(のパターン)を学習する場合、"A","B","C"それぞれの多数の音声データが、学習データとして用意される。
一方、学習に利用するモデル(各カテゴリの学習データを学習させるモデル)も、想定したカテゴリごとに用意される。ここで、モデルは、パラメータによって定義される。例えば、音声データの学習には、モデルとして、HMMなどが用いられるが、HMMは、ある状態から他の状態(元の状態を含む)に遷移する状態遷移確率や、HMMから出力される観測値の確率密度を表す出力確率密度関数などによって定義される。
教師あり学習では、各カテゴリ(クラス)のモデルの学習が、そのカテゴリの学習データのみを用いて行われる。即ち、図1では、カテゴリ"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)と呼ばれる。
ここで、上述のようなSOMによる学習の結果として得られる結合重みのベクトルは、信号空間に配置されるセントロイドベクトルと見ることができる。K-平均法では、学習データに最も距離の近いベクトルのみが更新されることから、その更新方法はWTA(winner-take-all)と呼ばれる。一方、SOMによる学習では、学習データに最も距離の近いノード(勝者ノード)の結合重みだけでなく、勝者ノードの近傍のノードの結合重みも更新されるから、その更新方法はSMA(soft-max adaptation)と呼ばれる。WTAで学習を行うと学習結果が局所解に陥りやすいのに対して、SMAで学習を行うと、局所解に陥る問題を改善することができることが知られている。
SMAで学習を行う方法としては、SOM の他に、ニューラルガスアルゴリズム(Neural-Gas algorithm)がある。Neural-Gas algorithmでは、SOM で利用される出力層を使わないで、学習データとの距離に基づくランキングによって近傍を定義する。パラメータは、SOMと類似した方法によってオンライン学習される。
なお、上述の教師あり学習と教師なし学習等の学習に関する分類については、例えば、非特許文献1に記載され、SOMに関しては、例えば、非特許文献2に記載され、Neural-Gas algorithm に関しては、例えば、非特許文献3に記載されている。
ところで、上述のSOM やNeural-Gas algorithmは、いわば静的な信号パターンであるベクトル、つまり一定の長さのデータを対象とした教師なし学習を提供する。従って、音声データのような時系列のデータ(時系列データ)、つまり長さが不定の、いわば動的な信号パターンに対して、SOM やNeural-Gas algorithmを、そのまま適用することはできない。
また、連続するベクトルの系列を連結し、高次元のベクトルを定義することで、時系列データとしての時系列のベクトルを、静的な信号パターンとして扱う方法が提案されているが、この方法も、音声データのように長さが固定されていない(不定の)時系列データに対して、そのまま通用することはできない。
一方、時系列データを自己組織的に学習する方法として、フィードバック回路を付け加えたリカレントニューラルネットワークを用いた方法が提案されている(例えば、特許文献1および2参照)。しかしながら、リカレントニューラルネットワークのパラメータの学習に広く利用されているバックプロパゲーション法は、リカレントニューラルネットワークの規模が大きくなると、計算量が飛躍的に増加し、その結果、学習に要する時間も非常に大になる。このため、1つのリカレントニューラルネットワークを、音声データなどのように、多様なパターン(クラス)が存在する時系列データの、その多様なパターンの学習に用いることは、実際問題として、有効な手段とは言い難い。
また、時系列データのパターン認識、即ち、例えば、音声データの認識(音声認識)で広く利用されている技術の1つに、HMMを用いるHMM法がある(例えば、非特許文献4参照)。
HMMは、状態遷移を有する確率モデルである状態遷移確率モデルの1つであり、上述したように、状態遷移確率と、各状態における出力確率密度関数で定義され、HMM法では、学習すべき時系列データの統計的な特性がHMMによってモデル化される。なお、HMMを定義する出力確率密度関数としては、例えば混合正規分布などが用いられる。また、HMMの学習、即ち、HMMのパラメータ(HMMを定義する状態遷移確率と出力確率密度関数)の推定の方法としては、Baum-Welch 法が広く使われている。
HMM法は、現在実用化されている孤立単語音声認識から大語彙連続音声認識にまで幅広く適用されているが、HMMの学習は、通常、教師あり学習であり、図1で説明したように、正解ラベルの付与された学習データを用いて行われる。即ち、例えば、ある単語を認識するHMMの学習は、その単語に対応する学習データ(その単語の発話によって得られる音声データ)を用いて行われる。
このように、HMMの学習は、通常、教師あり学習であり、正解ラベルの付与されていない学習データが与えられた場合にHMMの学習を行うこと、つまり、HMMの教師なし学習は、非常に難しい問題となる。
例えば、特許文献3では、正解ラベルが付与されていない音声データと、対応する画像データから、音声と画像の相互情報量を最大化するように、かつカテゴリ数が最小となるように、HMMの学習を行う方法が提案されている。しかしながら、この方法では、音声データに対応する画像が与えられないと、HMMの学習を行うことができないため、厳密な意味での教師なし学習とは言い難い。
また、不特定話者の音声データを用いて学習したHMMに対して、正解ラベルの付与されない音声データを用いてHMMのパラメータを適応する、いわゆる話者適応を行う方法がある(例えば、非特許文献5参照)。かかる話者適応は、正解ラベルの付与されない音声データを用いてHMMのパラメータを適応(更新)する点では、HMMの教師なし学習ということができるが、教師あり学習を行ったHMMが存在することが前提条件となるため、やはり、厳密な意味での教師なし学習とは言い難い。
以上のように、従来においては、SOMやNeural-Gas algorithmのような静的なパターンの教師なし学習や、HMMのような動的な時系列データの教師あり学習を実現する方法は提供されていたが、どちらも動的な時系列データの教師なし学習を実現するには不十分であった。また、リカレントニューラルネットワークでは、理論上は、動的な時系列データの教師なし学習を行うことが可能であるが、実用上は、大規模なリカレントニューラルネットワークが必要になるため、学習に要する計算量や時間に問題があった。
本発明は、このような状況に鑑みてなされたものであり、時系列データの教師なし学習を、容易に行うことができるようにするものである。
本発明の第1の学習装置、学習方法、およびプログラムは、時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された時系列パターン記憶ネットワークを、時系列データの観測値に基づいて、自己組織的に更新する学習手段/ステップが、複数のノードのうちの、時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段/ステップと、複数のノードそれぞれに対して、ノードが有するHMMが受ける時系列データの観測値の影響の度合いを表す重みを、勝者ノードに基づいて決定する重み決定手段/ステップと、時系列データの観測値を、ノードが有するHMMの学習に用いる学習データとして、学習データを、学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みと対応付けて記憶する学習データ記憶手段において、新たな時系列データの観測値が学習データとして記憶されるときに、新しい順の学習データに対応付けされた重みの総和が、所定の値になるように、学習データ記憶手段の記憶内容を更新する学習データ更新手段/ステップと、記憶内容が更新された学習データ記憶手段に記憶された学習データを、学習データに対応付けられた重みで用いて、ノードが有するHMMの学習を行うことにより、HMMを更新するモデル更新手段/ステップとを有することを特徴とする。
この第1の学習装置、学習方法、およびプログラムにおいては、時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークが、時系列データの観測値に基づいて、自己組織的に更新される。その更新においては、複数のノードのうちの、時系列データの観測値に最も適合するノードである勝者ノードが決定され、複数のノードそれぞれに対して、ノードが有するHMMが受ける時系列データの観測値の影響の度合いを表す重みが、勝者ノードに基づいて決定される。さらに、時系列データの観測値を、ノードが有するHMMの学習に用いる学習データとして、学習データを、その学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みと対応付けて記憶する学習データ記憶手段において、新たな時系列データの観測値が学習データとして記憶されるときに、新しい順の学習データに対応付けされた重みの総和が、所定の値になるように、学習データ記憶手段の記憶内容が更新される。そして、記憶内容が更新された学習データ記憶手段に記憶された学習データを、学習データに対応付けられた重みで用いて、ノードが有するHMMの学習を行うことにより、HMMが更新される。
従って、新しい順の学習データに対応付けされた重みの総和が、所定の値になるように、記憶内容が更新された学習データ記憶手段に記憶された学習データを、学習データに対応付けられた重みで用いて、ノードが有するHMMの学習を行うことにより、HMMが更新される。
本発明の第2の学習装置、学習方法、およびプログラムは、時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された時系列パターン記憶ネットワークを、時系列データの観測値に基づいて、自己組織的に更新する学習手段/ステップが、複数のノードのうちの、時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段/ステップと、複数のノードそれぞれに対して、ノードが有するHMMが受ける時系列データの観測値の影響の度合いを表す重みを、勝者ノードに基づいて決定する重み決定手段/ステップと、ノードが有するHMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された途中結果データを用いるとともに、新たな時系列データの観測値を、ノードが有するHMMの学習に用いる学習データとして、学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みで、学習データを用いて、ノードが有するHMMの学習を行うことにより、HMMを更新するモデル更新手段/ステップとを有することを特徴とする。
この第2の学習装置、学習方法、およびプログラムにおいては、時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークが、時系列データの観測値に基づいて、自己組織的に更新される。その更新においては、複数のノードのうちの、時系列データの観測値に最も適合するノードである勝者ノードが決定され、複数のノードそれぞれに対して、ノードが有するHMMが受ける時系列データの観測値の影響の度合いを表す重みが、勝者ノードに基づいて決定される。そして、ノードが有するHMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された途中結果データを用いるとともに、新たな時系列データの観測値を、ノードが有するHMMの学習に用いる学習データとして、その学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みで、学習データを用いて、ノードが有するHMMの学習を行うことにより、HMMが更新される。
従って、途中結果データを用いるとともに、学習データとしての新たな時系列データの観測値を、その時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みで用いて、ノードが有するHMMの学習を行うことにより、HMMが更新される。
本発明の第3の学習装置、学習方法、およびプログラムは、時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された時系列パターン記憶ネットワークを、時系列データの観測値に基づいて、自己組織的に更新する学習手段/ステップが、複数のノードのうちの、時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段/ステップと、複数のノードそれぞれに対して、ノードが有するHMMが受ける時系列データの観測値の影響の度合いを表す重みを、勝者ノードに基づいて決定する重み決定手段/ステップと、ノードが有するHMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された途中結果データを用いるとともに、新たな時系列データの観測値を、ノードが有するHMMの学習に用いる学習データとして、学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みで、学習データを用いて、ノードが有するHMMの学習を行うことにより、HMMを更新する更新方法、または、新しい順のN個の時系列データの観測値を、学習データとして、学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みで、学習データを用いて、ノードが有するHMMの学習を行うことにより、HMMを更新する更新方法のうちの一方を選択して、HMMを更新するモデル更新手段/ステップとを有することを特徴とする。
この第3の学習装置、学習方法、およびプログラムにおいては、時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークが、時系列データの観測値に基づいて、自己組織的に更新される。その更新においては、複数のノードのうちの、時系列データの観測値に最も適合するノードである勝者ノードが決定され、複数のノードそれぞれに対して、ノードが有するHMMが受ける時系列データの観測値の影響の度合いを表す重みが、勝者ノードに基づいて決定される。そして、ノードが有するHMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された途中結果データを用いるとともに、新たな時系列データの観測値を、ノードが有するHMMの学習に用いる学習データとして、その学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みで、学習データを用いて、ノードが有するHMMの学習を行うことにより、HMMを更新する更新方法、または、新しい順のN個の時系列データの観測値を、学習データとして、その学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みで、学習データを用いて、ノードが有するHMMの学習を行うことにより、HMMを更新する更新方法のうちの一方が選択され、HMMが更新される。
従って、HMMを更新する更新方法を選択して、HMMが更新される。
本発明によれば、時系列データの教師なし学習を、容易に行うことができる。
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の学習装置は、
時系列のデータである時系列データに基づき、学習を行う学習装置(例えば、図2の学習部4)において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段(例えば、図7の学習処理部32)を備え、
前記学習手段は、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図8の勝者ノード決定部42)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定手段(例えば、図8の重み決定部43)と、
前記時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データを、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みと対応付けて記憶する学習データ記憶手段(例えば、図17の学習データ記憶部22)において、新たな時系列データの観測値が前記学習データとして記憶されるときに、新しい順の前記学習データに対応付けされた前記重みの総和が、所定の値になるように、前記学習データ記憶手段の記憶内容を更新する学習データ更新手段(例えば、図8の学習データ更新部44)と、
記憶内容が更新された前記学習データ記憶手段に記憶された前記学習データを、前記学習データに対応付けられた前記重みで用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新手段(例えば、図8のモデル学習部45)と
を有する
ことを特徴とする。
時系列のデータである時系列データに基づき、学習を行う学習装置(例えば、図2の学習部4)において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段(例えば、図7の学習処理部32)を備え、
前記学習手段は、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図8の勝者ノード決定部42)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定手段(例えば、図8の重み決定部43)と、
前記時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データを、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みと対応付けて記憶する学習データ記憶手段(例えば、図17の学習データ記憶部22)において、新たな時系列データの観測値が前記学習データとして記憶されるときに、新しい順の前記学習データに対応付けされた前記重みの総和が、所定の値になるように、前記学習データ記憶手段の記憶内容を更新する学習データ更新手段(例えば、図8の学習データ更新部44)と、
記憶内容が更新された前記学習データ記憶手段に記憶された前記学習データを、前記学習データに対応付けられた前記重みで用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新手段(例えば、図8のモデル学習部45)と
を有する
ことを特徴とする。
請求項3に記載の学習方法は、
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップ(例えば、図11の学習処理)を含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップ(例えば、図11のステップS2)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップ(例えば、図11のステップS3)と、
前記時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みと対応付けて記憶する学習データ記憶手段(例えば、図17の学習データ記憶部22)において、新たな時系列データの観測値が前記学習データとして記憶されるときに、新しい順の前記学習データに対応付けされた前記重みの総和が、所定の値になるように、前記学習データ記憶手段の記憶内容を更新する学習データ更新ステップ(例えば、図11のステップS4で行われる図18の学習データ更新処理)と、
記憶内容が更新された前記学習データ記憶手段に記憶された前記学習データを、前記学習データに対応付けられた前記重みで用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新ステップ(例えば、図11のステップS5で行われる図19のパラメータ更新処理)と
を有する
ことを特徴とする。
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップ(例えば、図11の学習処理)を含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップ(例えば、図11のステップS2)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップ(例えば、図11のステップS3)と、
前記時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みと対応付けて記憶する学習データ記憶手段(例えば、図17の学習データ記憶部22)において、新たな時系列データの観測値が前記学習データとして記憶されるときに、新しい順の前記学習データに対応付けされた前記重みの総和が、所定の値になるように、前記学習データ記憶手段の記憶内容を更新する学習データ更新ステップ(例えば、図11のステップS4で行われる図18の学習データ更新処理)と、
記憶内容が更新された前記学習データ記憶手段に記憶された前記学習データを、前記学習データに対応付けられた前記重みで用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新ステップ(例えば、図11のステップS5で行われる図19のパラメータ更新処理)と
を有する
ことを特徴とする。
請求項4に記載のプログラムの各ステップが対応する具体例は、請求項3に記載の学習方法の各ステップが対応する具体例と同様である。
請求項5に記載の学習装置は、
時系列のデータである時系列データに基づき、学習を行う学習装置(例えば、図2の学習部4)において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段(例えば、図7の学習処理部32)を備え、
前記学習手段は、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図8の勝者ノード決定部42)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定手段(例えば、図8の重み決定部43)と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段(例えば、図20の学習データ記憶部22)に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新手段(例えば、図8のモデル学習部45)と
を有する
ことを特徴とする。
時系列のデータである時系列データに基づき、学習を行う学習装置(例えば、図2の学習部4)において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段(例えば、図7の学習処理部32)を備え、
前記学習手段は、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図8の勝者ノード決定部42)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定手段(例えば、図8の重み決定部43)と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段(例えば、図20の学習データ記憶部22)に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新手段(例えば、図8のモデル学習部45)と
を有する
ことを特徴とする。
請求項9に記載の学習方法は、
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップ(例えば、図11の学習処理)を含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップ(例えば、図11のステップS2)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップ(例えば、図11のステップS3)と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段(例えば、図20の学習データ記憶部22)に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新ステップ(例えば、図11のステップS5で行われる図22のパラメータ更新処理)と
を有する
ことを特徴とする。
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップ(例えば、図11の学習処理)を含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップ(例えば、図11のステップS2)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップ(例えば、図11のステップS3)と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段(例えば、図20の学習データ記憶部22)に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新ステップ(例えば、図11のステップS5で行われる図22のパラメータ更新処理)と
を有する
ことを特徴とする。
請求項10に記載のプログラムの各ステップが対応する具体例は、請求項9に記載の学習方法の各ステップが対応する具体例と同様である。
請求項11に記載の学習装置は、
時系列のデータである時系列データに基づき、学習を行う学習装置(例えば、図2の学習部4)において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段(例えば、図7の学習処理部32)を備え、
前記学習手段は、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図8の勝者ノード決定部42)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定手段(例えば、図8の重み決定部43)と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段(例えば、図20の学習データ記憶部22)に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法、
または、新しい順のN個の前記時系列データの観測値を、前記学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法
のうちの一方を選択して、前記HMMを更新するモデル更新手段(例えば、図8のモデル学習部45)と
を有する
ことを特徴とする。
時系列のデータである時系列データに基づき、学習を行う学習装置(例えば、図2の学習部4)において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段(例えば、図7の学習処理部32)を備え、
前記学習手段は、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図8の勝者ノード決定部42)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定手段(例えば、図8の重み決定部43)と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段(例えば、図20の学習データ記憶部22)に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法、
または、新しい順のN個の前記時系列データの観測値を、前記学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法
のうちの一方を選択して、前記HMMを更新するモデル更新手段(例えば、図8のモデル学習部45)と
を有する
ことを特徴とする。
請求項13に記載の学習方法は、
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップ(例えば、図24の学習処理)を含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップ(例えば、図24のステップS182)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップ(例えば、図24のステップS183)と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段(例えば、図20の学習データ記憶部22)に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法、
または、新しい順のN個の前記時系列データの観測値を、前記学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法
のうちの一方を選択して、前記HMMを更新するモデル更新ステップ(例えば、図24のステップS185乃至S188)と
を有する
ことを特徴とする。
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段(例えば、図2の記憶部5)に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップ(例えば、図24の学習処理)を含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップ(例えば、図24のステップS182)と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップ(例えば、図24のステップS183)と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段(例えば、図20の学習データ記憶部22)に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法、
または、新しい順のN個の前記時系列データの観測値を、前記学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法
のうちの一方を選択して、前記HMMを更新するモデル更新ステップ(例えば、図24のステップS185乃至S188)と
を有する
ことを特徴とする。
請求項14に記載のプログラムの各ステップが対応する具体例は、請求項13に記載の学習方法の各ステップが対応する具体例と同様である。
以下、図面を参照して、本発明の実施の形態について説明する。
図2は、本発明を適用したデータ処理装置の第1実施の形態の構成例を示すブロック図である。
信号入力部1には、後述する学習処理や認識処理の対象となるデータ(以下、処理対象データという)が入力される。ここで、処理対象データは、例えば、音や画像、LED(Light Emitting Diode)の明るさ、モータの回転角度や回転角速度などの観測値(外部から観測することができる値(信号))である。また、処理対象データは、例えば、図2のデータ処理装置が適用されるシステムの入力を受け付ける入力デバイス(センサ)が出力するデータ(入力データ)であっても良いし、何らかの出力を行う出力デバイスに対して与えられるデータ(出力データ)であっても良い。
即ち、図2のデータ処理装置が、例えば、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の時系列パターン記憶ネットワークに基づき、そこに供給される制御データが表す時系列パターンの時系列データを生成して出力する。
次に、図3は、図2の記憶部5に記憶される時系列パターン記憶ネットワークの例を模式的に示している。
時系列パターン記憶ネットワークは、時系列パターンを表現する時系列パターンモデルの1つであるHMMを有する複数のノードから構成されるネットワークで、そのネットワーク全体で、ノードの数だけの(クラス分けを行う)時系列パターンを記憶する。
図3においては、時系列パターン記憶ネットワークは、ノードN1乃至N6の6つのノードから構成されている。
時系列パターン記憶ネットワークを構成する各ノードNi(図3では、i=1,2,・・・,6)は、時系列パターンを表現するHMMを有する。また、ノードNiは、他のノードNj(図3では、j=1,2,・・・,6)と結合関係を持つことができる。この結合関係をリンクと呼ぶ。図3では、例えば、ノードN1は、ノードN2,N3と直接の結合関係を有している。また、例えば、ノードN3は、ノードN1,N2,N5,N6と直接の結合関係を有しており、従って、ノードN5とN6は、ノードN3を介して、ノードN1と間接的な結合関係を有している。なお、2つのノードNiとNjとの結合関係としては、その2つのノードNiとNjとの最短の結合関係を考えるものとする。
時系列パターン記憶ネットワークの学習は、学習部4(図2)において、特徴抽出部2から供給される時系列データを、学習用の学習データとして行われるが、この学習データは、カテゴリの種類や、カテゴリの数が未知のもので、この点、時系列パターン記憶ネットワークの学習は、前述の図1で説明した教師あり学習と大きく異なる。また、時系列パターン記憶ネットワークの学習に用いられる学習データには、正解ラベルは付与されていない。このため、時系列パターン記憶ネットワークの学習には、前述の図1で説明した教師あり学習を適用することはできない。
このように、時系列パターン記憶ネットワークの学習には、教師あり学習を適用することができず、また、学習データは、そのカテゴリの種類も、カテゴリの数も未知である。そこで、時系列パターン記憶ネットワークの学習は、その全体(のノード)によって、学習データの特徴(時系列パターン)を適切に表現することができるように、自己組織的に行われる。
なお、時系列パターン記憶ネットワークの学習は、教師なし学習である。また、時系列パターン記憶ネットワークの学習は、ある1つのノードが、必ずしもある1つのカテゴリに対応するように行われるとは限らない。即ち、時系列パターン記憶ネットワークにおいては、1つのノードが1つのカテゴリに対応するように学習が行われる場合もあるし、複数のノードが1つのカテゴリに対応するように学習が行われる場合もある。さらに、1つのノードが複数のカテゴリに対応するように学習が行われる場合もある。従って、仮に、学習データが、明確にカテゴリ分けすることができないものであっても、時系列パターン記憶ネットワークによる学習は行うことができる。
次に、図4は、時系列パターン記憶ネットワークのノードNiの構成例を模式的に示している。
ノードNiは、時系列パターンを表現するHMM21(正確には、HMM21を定義する、後述する状態遷移確率と出力確率密度関数を記憶する記憶部)と、そのHMM21の学習に用いる学習データを記憶する学習データ記憶部22とから構成される。
ここで、図4では、HMM21は、自己ループと次状態(右隣の状態)への状態遷移だけを有するleft-to-right型の3状態S1,S2,S3を有するものとなっている。図4のHMM21における○印は状態を表し、矢印は状態遷移を表している。なお、HMM21は、left-to-right型や、3状態のもの等に限定されない。
HMM21は、状態遷移確率と出力確率密度関数(HMMが離散HMMである場合には、スカラ量である離散的なシンボルが出力される確率)とで定義される。
状態遷移確率は、HMM21において、状態が遷移する確率で、図4において矢印で示した状態遷移それぞれに対して与えられる。出力確率密度関数は、状態遷移時に、HMM21から観測される値の確率密度(の値)を表す。出力確率密度関数としては、例えば、混合正規分布などが採用される。これらのHMM21のパラメータ(状態遷移確率と出力確率密度関数)は、例えば、Baum-Welch 法によって学習(推定)することができる。
ノードNiでは、学習データ記憶部22に記憶された学習データの統計的な特性、即ち、学習データ記憶部22に記憶された学習データの時系列パターンが、HMM21において学習され、これにより、HMM21と、学習データ記憶部22に記憶された学習データとが、対応関係を持つことになる。
なお、時系列パターン記憶ネットワークの学習、ひいては、ノードNiのHMM21の学習は、例えば、特徴抽出部2から学習部4に対して、(1区間の)時系列データが供給されるごとに学習を行うオンライン学習によって行われる。従って、時系列パターン記憶ネットワークのパラメータ、つまり、ノードNiのHMM21のパラメータ(上述したように、状態遷移確率と出力確率密度関数)は、(1区間)の処理対象データが信号入力部1から特徴抽出部2に供給されるたびに、少しずつ更新される。
即ち、後述するように、時系列パターン記憶ネットワークの学習が進むにつれ、学習データ記憶部22に記憶される学習データは、新たな時系列データ(新たな処理対象データが信号入力部1から特徴抽出部2に供給されることによって、特徴抽出部2から学習部4に供給される、その新たな処理対象データに対応する時系列の特徴量である新たな時系列データ)によって更新され、これにより、少しずつ変化する。そして、その少しずつ変化する学習データによって、HMM21の学習が行われることにより、そのHMM21のパラメータも、少しずつ変化していく。
次に、図5は、図2の記憶部5に記憶される時系列パターン記憶ネットワークの他の例を模式的に示している。
図5では、時系列パターン記憶ネットワークは、9個のノードN1乃至N9で構成されており、この9個のノードN1乃至N9は、2次元的に配置されている。即ち、図5では、9個のノードN1乃至N9は、2次元平面上に、横×縦が3×3となるように配置されている。
さらに、図5では、2次元的に配置された9個のノードN1乃至N9の、横方向に隣接するノードどうしと、縦方向に隣接するノードどうしに対して、リンク(結合関係)が与えられている。なお、このようなリンクを与えることによって、時系列パターン記憶ネットワークを構成するノードには、空間的に、2次元的に配置される配置構造が与えられているということもできる。
時系列パターン記憶ネットワークでは、リンクによって与えられる空間的なノードの配置構造に基づき、その空間上でのある2つのノードどうしの距離を定義することができ、この2つのノードどうしの距離は、その2つのノードそれぞれが有するHMM21が表現する時系列パターンのパターン間距離(時系列パターンどうしの類似性)として用いることができる。
なお、2つのノードどうしの距離によって表される時系列パターンのパターン間距離は、2つのノードの結合関係(リンク)に基づくパターン間距離ということができる。
2つのノードどうしの距離としては、例えば、その2つのノードどうしを結ぶ最短のパスを構成するリンクの数を採用することができる。この場合、あるノードに注目すると、その注目ノードとの直接のリンクを有するノード(図5では、注目ノードの横方向や縦方向に隣接するノード)は、注目ノードとの距離が最も近く、注目ノードとの直接のリンクを有するノードから先のリンクを辿っていくことで到達することができるノードは、到達するのに辿るリンクの数が多いほど、注目ノードとの距離が遠くなっていく。
なお、ノードに与えるリンクは、図3や図5に示したものに限定されるものではない。また、図3や図5に示したリンクは、ノードに対して、2次元的な配置構造を与えるが、リンクは、その他、1次元的な配置構造や3次元的な配置構造等を与えるリンクであっても良い。さらに、ノードには、必ずしもリンクを与える必要はない。
即ち、図6は、図2の記憶部5に記憶される時系列パターン記憶ネットワークのさらに他の例を模式的に示している。
図6では、時系列パターン記憶ネットワークは、図3における場合と同様に、6個のノードN1乃至N6で構成されているが、これらの6個のノードN1乃至N6は、いずれもリンクを有していない。従って、図6の時系列パターン記憶ネットワークを構成するノードN1乃至N6は、リンクによって与えられる空間的な配置構造は有していない。なお、空間的な配置構造は有していないということは、空間的な制約がない配置構造が与えられているということもできる。
ここで、ある2つのノードにリンクがない場合には、空間上でのその2つのノードどうしの距離を定義することはできないから、その2つのノードそれぞれが(有するHMM21が)表現する時系列パターンのパターン間距離として、結合関係(リンク)に基づくパターン間距離は用いることができない。そこで、この場合には、例えば、ノードが、ある時系列データ(の観測値)に適合する度合いに基づく順位(以下、適宜、適合順位という)に対応する値を、パターン間距離として用いることができる。
即ち、ある時系列データが与えられた場合には、その時系列データに対して、ノードが表現する時系列パターンとの類似性を、そのノードが適合する度合いとして求めることができる。いま、時系列パターン記憶ネットワークを構成するノードのうち、ある時系列データに最も適合するノードを、勝者ノードということとすると、勝者ノードと、時系列パターン記憶ネットワークのあるノードとのそれぞれが表現する時系列パターンのパターン間距離としては、そのノードが時系列データに適合する順位(適合順位)に対応する値を採用することができる。
具体的には、時系列パターン記憶ネットワークを構成するノードのうち、勝者ノードとなっているノードの適合順位は第1位であり、このノード(勝者ノード)と勝者ノードとの(それぞれが表現する時系列パターンの)パターン間距離は、例えば、その適合順位から1を減算した0とすることができる。
また、時系列パターン記憶ネットワークを構成するノードのうち、適合順位が第2位のノードと勝者ノードとのパターン間距離は、例えば、その適合順位から1を減算した1とすることができる。以下、同様に、ノードの適合順位から1を減算して得られる値を、そのノードと、勝者ノード(となっているノード)とのパターン間距離とすることができる。
なお、ノードがある時系列データに適合する度合いに基づく順位(適合順位)に対応する値によって表されるパターン間距離は、ノードが時系列データに適合する度合いに基づくパターン間距離ということができる。
次に、図7は、図2の学習部4の構成例を示している。
学習部4は、学習データ記憶部31と学習処理部32とから構成される。
学習データ記憶部31には、特徴抽出部2から、(1区間の)新たな時系列データとしての特徴量の系列が供給される。学習データ記憶部31は、特徴抽出部2からの新たな時系列データを、一時的に(学習処理部32による新たな時系列データを用いた処理が終了するまで)記憶する。
学習処理部32は、記憶部5に記憶された時系列パターン記憶ネットワークを、学習データ記憶部31に記憶された新たな時系列データ(の観測値)に基づいて、自己組織的に更新する。
次に、図8は、図7の学習処理部32の構成例を示している。
スコア計算部41は、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、学習データ記憶部31に記憶された時系列データ(の観測値)に適合する度合いをスコアとして求め、勝者ノード決定部42に供給する。即ち、スコア計算部41は、ノードが有するHMM21から、学習データ記憶部31に記憶された時系列データが観測される尤度を求め、そのノードのスコアとして、勝者ノード決定部42に供給する。
勝者ノード決定部42は、記憶部5に記憶された時系列パターン記憶ネットワークにおいて、学習データ記憶部31に記憶された時系列データに最も適合するノードを求め、そのノードを、勝者ノードとして決定する。
即ち、勝者ノード決定部42は、記憶部5に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部41からのスコアが最も高いノードを勝者ノードとして決定する。そして、勝者ノード決定部42は、勝者ノードを表す情報を、重み決定部43に供給する。
ここで、時系列パターン記憶ネットワークを構成するノードには、各ノードを識別するためのラベルであるノードラベルを付しておき、勝者ノードを表す情報、その他のノード表す情報としては、そのノードラベルを採用することができる。なお、ノードラベルは、ノード自体を識別するラベルであり、正解が何であるかを表す正解ラベルとは、何ら関係がない。
重み決定部43は、勝者ノード決定部42から供給されるノードラベルが表す勝者ノードに基づき、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、後述する更新重みを決定し、学習データ更新部44に供給する。
即ち、重み決定部43は、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノード(勝者ノードを含む)の更新重みを、そのノードと、勝者ノードとのパターン間距離に基づいて決定し、学習データ更新部44に供給する。
ここで、ノードが有するHMM21(図4)は、学習データ記憶部31(図7)に記憶された新たな時系列データを用いて更新されるが、ノードの更新重みとは、そのノードが有するHMM21の更新によって、そのHMM21が受ける新たな時系列データの影響の度合いを表す。従って、ノードの更新重みが0であれば、そのノードが有するHMM21は、新たな時系列データの影響を受けない(更新されない)。
なお、重み決定部43において、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードの更新重みを決定する際のパターン間距離としては、時系列パターン記憶ネットワークのノードが、図3や図5に示したように、リンクを有する場合には、そのノードと勝者ノードとの結合関係に基づくパターン間距離を採用し、また、時系列パターン記憶ネットワークのノードが、図6に示したように、リンクを有しない場合には、そのノードが、学習データ記憶部31(図7)に記憶された新たな時系列データに適合する度合いに基づくパターン間距離を採用することができる。
即ち、重み決定部43は、記憶部5に記憶された時系列パターン記憶ネットワークを参照し、時系列パターン記憶ネットワークのノードそれぞれと、勝者ノード決定部42からのノードラベルが表す勝者ノードとの結合関係に基づくパターン間距離を求め、そのパターン間距離に基づいて、時系列パターン記憶ネットワークのノードそれぞれの更新重みを決定する。
あるいは、重み決定部43は、記憶部5に記憶された時系列パターン記憶ネットワークを参照し、時系列パターン記憶ネットワークのノードそれぞれについて、ノードが、学習データ記憶部31に記憶された新たな時系列データに適合する度合いとして、例えば、スコア計算部41が求めるのと同様のスコアを求める。さらに、重み決定部43は、時系列パターン記憶ネットワークのノードそれぞれについて、ノードのスコアに基づく順位(適合順位)に対応する値を、新たな時系列データに適合する度合いに基づくパターン間距離として求め、そのパターン間距離に基づいて、時系列パターン記憶ネットワークのノードそれぞれの更新重みを決定する。
なお、ノードのスコアは、重み決定部43で求めても良いが、スコア計算部41から重み決定部43に供給するようにしても良い。
学習データ更新部44は、記憶部5に記憶された時系列パターン記憶ネットワークの各ノードが有する学習データ記憶部22(図4)に記憶された学習データを更新する。
即ち、学習データ更新部44は、例えば、ノードが有する学習データ記憶部22に既に記憶されている学習データと、学習データ記憶部31に記憶された時系列データとを、重み決定部43からの、対応するノードの更新重みにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部22に記憶させることで、その学習データ記憶部22の記憶内容を更新する。
学習データ更新部44は、以上のように、学習データ記憶部22(図4)に記憶された学習データを、更新重みにしたがって更新すると、その更新が終了した旨の終了通知を、モデル学習部45に供給する。
モデル学習部45は、学習データ更新部44から終了通知を受けると、その学習データ更新部44による更新後の学習データ記憶部22(図4)に記憶された学習データを用いて、時系列パターンに記憶ネットワークの各ノードが有するHMM21の学習を行うことにより、そのHMM21を更新する。
次に、図9は、図8の重み決定部43において更新重みを決定する決定方法を示している。
重み決定部43は、例えば、図9に示すような、勝者ノードとのパターン間距離dの増加に対して更新重みαが減少する関係を表す曲線(以下、距離/重み曲線という)にしたがって、ノードに対する更新重み(ノードの更新重み)を決定する。距離/重み曲線によれば、勝者ノードとのパターン間距離dが近いノードほど、大きな更新重みαが決定され、パターン間距離dが遠いノードほど、小さな更新重みαが決定される。
図9の距離/重み曲線において、横軸(左から右方向)は、更新重みαを示しており、縦軸(上から下方向)は、パターン間距離dを示している。
図9では、パターン間距離dとして、例えば、ノードとの結合関係に基づくパターン間距離、即ち、勝者ノードからの距離が採用されており、縦軸に沿って、時系列パターン記憶ネットワークを構成する6つのノードN1乃至N6が、各ノードNiと勝者ノードとの距離に対応する位置(縦軸の位置)に記載されている。
図9では、時系列パターン記憶ネットワークを構成する6つのノードN1乃至N6が、その順で、勝者ノードとの距離が近くなっている。時系列パターン記憶ネットワークを構成する6つのノードN1乃至N6のうち、勝者ノードとの距離が最も近いノード、即ち、勝者ノードとの距離が0のノードであるノードN1は、勝者ノード(となっているノード)である。
ここで、時系列パターン記憶ネットワークが、例えば、図5に示したような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となる。
一方、ノードがリンクを有しない、例えば、図6に示した時系列パターン記憶ネットワークについては、ノードが新たな時系列データに適合する度合いに基づくパターン間距離、即ち、ノードが新たな時系列データに適合する度合いに基づく順位(適合順位)に対応する値が、そのノードと勝者ノードとのパターン間距離dとして求められる。即ち、この場合、スコアが最も高い(一番目に高い)ノードと勝者ノードとのパターン間距離dは0とされ、スコアが2番目に高いノードと勝者ノードとのパターン間距離dは1とされる。以下、同様に、スコアがk番目に高いノードと勝者ノードとのパターン間距離dはk-1とされる。
なお、以上のような、時系列パターン記憶ネットワークの各ノードと勝者ノードとのパターン間距離dの与え方は、SOMやNeural-Gas algorithmで利用されている距離の与え方と同様の方法である。
次に、更新重みαとパターン間距離dとの関係を表す、例えば、図9に示したような距離/重み曲線は、例えば、式(1)によって与えられる。
ここで、式(1)において、定数Gは、勝者ノードの更新重みを表す定数であり、γは、減衰係数で、0<γ<1の範囲の定数である。また、変数Δは、時系列パターン記憶ネットワークを更新する更新方法として、前述したSMAを採用した場合の、勝者ノードの近傍のノード(勝者ノードとのパターン間距離dが近いノード)の更新重みαを調整するための変数である。さらに、γd/△の上付のd/△は、べき指数(累乗の指数)である。
上述したように、勝者ノードとなっているノードのパターン間距離dとして、0が与えられ、以下、他のノードのパターン間距離dとして、勝者ノードとの距離、または適合順位にしたがって、1,2,・・・が与えられる場合、式(1)において、例えば、G=8,γ=0.5,Δ=1であれば、勝者ノードとなっているノードの更新重みαとして、8(=G)が求められる。以下、勝者ノードとの距離、または適合順位が大になるにしたがって、ノードの更新重みαとしては、4,2,1,・・・と小さくなる値が求められる。
ここで、式(1)における減衰係数Δが大きな値である場合には、パターン間距離dの変化に対する更新重みαの変化は緩やかになり、逆に、減衰係数Δが0に近い値である場合には、パターン間距離dの変化に対する更新重みαの変化は急峻になる。
従って、減衰係数Δを、例えば、上述した1から少しずつ0に近づけていくように調整すると、パターン間距離dの変化に対する更新重みαの変化は急峻になっていき、更新重みαは、パターン間距離dが大きくなるにしたがって、より小さい値となる。そして、減衰係数Δが0に近くなると、勝者ノード(となっているノード)以外のノードの更新重みαは、ほとんど0となり、この場合、時系列パターン記憶ネットワークを更新する更新方法として、前述したWTAを採用した場合と(ほぼ)等価となる。
このように、減衰係数Δを調整することによって、時系列パターン記憶ネットワークを更新する更新方法としてSMAを採用した場合の、勝者ノードの近傍のノードの更新重みαを調整することができる。
減衰係数△は、例えば、時系列パターン記憶ネットワークの更新(学習)の開始時は大きな値にし、時間の経過とともに、即ち、更新の回数が増加するにしたがって小さな値になるようにすることができる。この場合、時系列パターン記憶ネットワークの更新の開始時は、パターン間距離dの変化に対する更新重みαの変化が緩やかな距離/重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαが決定され、更新(学習)が進む(進行する)につれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく距離/重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαが決定される。
即ち、この場合、勝者ノードの更新は、学習(更新)の進行にかかわらず、学習データ記憶部31(図8)に記憶された新たな時系列データの影響を強く受けるように行われる。一方、勝者ノード以外のノードの更新は、学習の開始時は、比較的広い範囲のノード(勝者ノードとのパターン間距離dが小のノードから、ある程度大のノード)に亘って、新たな時系列データの影響を受けるように行われる。そして、学習が進行するにつれ、勝者ノード以外のノードの更新は、徐々に狭い範囲のノードについてのみ、新たな時系列データの影響を受けるように行われる。
図8の重み決定部43は、以上のように勝者ノードに基づいて(勝者ノードとのパターン間距離dに基づいて)、時系列パターン記憶ネットワークの各ノードの更新重みαを決定する。
次に、学習データ更新部44では、各ノードが有する学習データ記憶部22に記憶される学習データを、例えば、そのノードの更新重みαに基づいて更新することができる。
そこで、図10を参照して、ノードが有する学習データ記憶部22に記憶される学習データを、そのノードの更新重みαに基づいて更新する更新方法について説明する。
いま、あるノードNiが有する学習データ記憶部22には、学習データが既に記憶されており、ノードNiのHMM21は、学習データ記憶部22に既に記憶されている学習データを用いて学習が行われたものであるとする。
学習データ更新部44は、ノードNiが有する学習データ記憶部22に既に記憶されている学習データ(以下、適宜、旧学習データという)と、学習データ記憶部31(図8)に記憶された新たな時系列データとを、重み決定部43からのノードNiの更新重みαにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部22に記憶させることで、その学習データ記憶部22の記憶内容を、新たな学習データに更新する。
即ち、学習データ更新部44は、旧学習データに対して、新たな時系列データを追加することで、旧学習データと新たな時系列データとを混合した新たな学習データとするが、旧学習データに対する新たな時系列データの追加(旧学習データと新たな時系列データとの混合)は、ノードNiの更新重みαに対応する比にしたがって行われる。
ここで、新たな時系列データと旧学習データとを、1:0の比率で混合すると、その混合によって得られる新たな学習データは、新たな時系列データだけとなる。逆に、新たな時系列データと旧学習データとを、0:1の比率で混合すると、その混合によって得られる新たな学習データは、旧学習データだけとなる。ノードNiのHMM21(図4)の更新は、新たな学習データを用いた学習によって行われるため、新たな時系列データと旧学習データとを混合する比率を変えることによって、更新によりHMM21が受ける新たな時系列データの影響の度合い(強さ)を変えることができる。
ノードNiにおいて、新たな時系列データと旧学習データとを混合する比率としては、ノードNiの更新重みαに対応した値が採用され、例えば、更新重みαが大であるほど、新たな時系列データの比率が大となる(旧学習データの比率が小となる)。
具体的には、例えば、ノードNiの学習データ記憶部22には、一定の数の時系列データ(学習データ)が記憶されるものとし、その一定の数をHとする。この場合、ノードNiのHMM21の学習は、常に、H個の学習データ(時系列データ)を用いて行われる。
学習データ記憶部22に、常に、一定の数Hの学習データが記憶される場合、新たな時系列データと旧学習データとの混合によって得られる新たな学習データの個数は、H個である必要があり、そのような、新たな時系列データと旧学習データとの混合を、ノードNiの更新重みαに対応した比率で行う方法としては、新たな時系列データと旧学習データとを、比率α:H-αで混合する方法がある。
新たな時系列データと旧学習データとを、比率α:H-αで混合する具体的な方法としては、図10に示すように、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個の時系列データだけが、学習データとして保持されることになり、その学習データに占める新たな時系列データの割合(比率)は、更新重みαによって調整されることになる。
次に、図11のフローチャートを参照して、図2のデータ処理装置で行われる、時系列パターン記憶ネットワークを学習する学習処理について説明する。
なお、学習処理が、まだ1回も行われていない状態では、記憶部5に記憶された時系列パターン記憶ネットワークのパラメータ、即ち、時系列パターン記憶ネットワークの各ノードが有するHMM21(図4)のパラメータ(状態遷移確率と出力確率密度関数)の初期値として、例えば、ランダムな値が与えられているものとする。但し、HMM21(図4)のパラメータの初期値は、ランダムな値に限定されるものではなく、任意の方法によって与えることができる。
信号処理部1(図2)に対して、1個の処理対象データ、即ち、例えば、1の音声区間の音声データが入力されると、信号入力部1は、その処理対象データを、特徴抽出部2に供給する。特徴抽出部2は、処理対象データから特徴量を抽出し、その特徴量の時系列データ(1個の新たな時系列データ)を、学習部4に供給する。
学習部4(図7)は、特徴抽出部2からの新たな時系列データを、学習データ記憶部31に一時記憶させ、以下、ステップS1乃至S5において、記憶部5に記憶された時系列パターン記憶ネットワークを、学習データ記憶部31に記憶された新たな時系列データ(の観測値)に基づいて、自己組織的に更新(学習)する。
即ち、学習部4の学習処理部32(図8)では、ステップS1において、スコア計算部41が、学習データ記憶部31に記憶された新たな時系列データを読み出し、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、新たな時系列データに適合する度合いを表すスコアとして求める。
具体的には、ノードが有するHMM21(図4)から、新たな時系列データが観測される対数尤度が、スコアとして求められる。ここで、対数尤度の計算方法としては、例えば、ビタビアルゴリズム(Viterbi algorithm)を採用することができる。
スコア計算部41は、時系列パターン記憶ネットワークが有するすべてのノードについて、新たな時系列データに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部42に供給する。
勝者ノード決定部42は、ステップS2において、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部41からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部42は、勝者ノードを表す情報としてのノードラベルを、重み決定部43に供給する。
重み決定部43は、ステップS3において、勝者ノード決定部42からのノードラベルが表す勝者ノードに基づき、その勝者ノードを、いわば基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みを決定する。
即ち、重み決定部43は、図9で説明したように、時系列パターン記憶ネットワークの更新(学習)が進むにつれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく、式(1)で表される距離/重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαを決定し、学習データ更新部44に供給する。
学習データ更新部44は、ステップS4において、時系列パターン記憶ネットワークの各ノードが有する学習データ記憶部22(図4)に記憶された学習データを、重み決定部43からの、対応するノードの更新重みにしたがって更新する。即ち、学習データ更新部44は、図10で説明したように、学習データ記憶部31に記憶されている新たな時系列データと、ノードの学習データ記憶部22に記憶されている旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合することにより、H個の新たな学習データを得て、そのH個の新たな学習データによって、学習データ記憶部22の記憶内容を更新する。
学習データ更新部44は、時系列パターン記憶ネットワークのノードすべての学習データ記憶部22(図4)の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部45に供給する。
モデル学習部45は、学習データ更新部44から終了通知を受けると、ステップS5において、時系列パターン記憶ネットワークのパラメータを更新し、学習処理を終了する。
即ち、モデル学習部45は、時系列パターン記憶ネットワークの各ノードについて、学習データ更新部44による更新後の学習データ記憶部22に記憶された新たな学習データを用いて、HMM21の学習を行うことにより、そのHMM21を更新する。
HMM21の学習では、例えば、HMM21の現在の状態遷移確率と出力確率密度関数を初期値とし、新たな学習データを用いて、Baum-Welch法により、新たな状態遷移確率と出力確率密度関数がそれぞれ求められる。そして、その新たな状態遷移確率と出力確率密度関数によって、HMM21の状態遷移確率と出力確率密度関数がそれぞれ更新される。
即ち、HMM21が、例えば、図12に示すように、M+1個の状態S0,S1,・・・,SMを有し、最初の状態(初期状態)を状態S0として、状態S0からは、必ず状態S1に遷移し、最後は、遷移しない状態(最終状態)SMに必ず到達するleft-to-rightモデルであるとする。
また、状態Siから状態Sjに遷移するときに、HMM21から出力(観測)される観測値(時系列データを構成する時系列の特徴量の1つ)をObsとして、その観測値Obsが、HMM21から出力される出力確率密度を表す出力確率密度関数を、gij(Obs)と表す。
なお、ここでは、説明を簡単にするために、出力確率密度関数gij(Obs)は、遷移前の状態Siに関係なく、遷移後の状態Sjによって決まるものとする。この場合、状態を表す2つのサフィックスi,jによって表される出力確率密度関数gij(Obs)は、遷移後の状態Sjを表すサフィックスjだけによって、gj(Obs)と表すことができる。
さらに、ここでは、説明を簡単にするために、出力確率密度関数gj(Obs)は、例えば、単一のガウシアン(正規分布)で表されることとする。即ち、状態Siから状態Sjに遷移するときにHMM21から観測値Obsが出力される確率密度は、平均値(平均ベクトル)がμjで、分散(共分散行列)がσj 2(σj 2の上付の2は、べき指数を表す)の、Obsを変数(確率変数)とする正規分布になることとする。いま、この正規分布を、N(Obs,μj,σj 2)と表すこととすると、出力確率密度関数gj(Obs)は、式(2)で表される。
モデル学習部45は、学習データ記憶部22に記憶された学習データを用い、HMM21の学習として、次の式で示される計算を行うことにより、HMM21の新たな状態遷移確率aijと、出力確率密度関数gj(Obs)を規定する平均値μjおよび分散σj 2とを求める。なお、以下では、特に断らない限り、上付の文字は、べき指数ではなく、サフィックスである。
ここで、aijは、状態Siから状態Sjに遷移する確率(状態遷移確率)を表し、gj(xt+1 n)は、状態Sjへの遷移があったときにHMM21から観測値xt+1 nが出力(観測)(生起)される確率密度(を表す出力確率密度関数)を表す。
また、Nは、HMM21の学習に用いられる学習データとしての時系列データの個数(総数)を表し、nは、N個の学習データのうちの何番目かを表す変数である。なお、最も古い学習データを1番目とし、次の古い学習データを2番目とし、以下、同様にして、最も新しい学習データをN番目とする。
xnは、n番目の学習データとしての時系列データ(の観測値)を表し、xt nは、n番目の学習データとしての時系列データを構成する時系列の特徴量のうちの、時刻tの特徴量を表す。
ここで、学習データとしての時系列データは、特徴抽出部2(図2)で抽出される特徴量の時系列(時間順の並び)であるが、特徴抽出部2は、例えば、上述したように、信号入力部1からの音声データに対して一定時間間隔で周波数分析などの処理を施すことによって、特徴量を抽出する。特徴抽出部2が特徴量を抽出する一定時間間隔を、フレームと呼ぶこととすると、時刻t=1の特徴量x1 nは、音声データの1番目のフレームから抽出された特徴量であり、以下、同様に、時刻t=Tの特徴量xT nは、音声データのT番目のフレームから抽出された特徴量である。従って、時刻tは、音声データの何番目のフレームであるかを表す変数であり、以下、適宜、フレーム数tともいう。
T[n]は、n番目の学習データxnとしての時系列データを構成する時系列の特徴量xt nの数、つまり、その時系列の特徴量xt nが抽出された音声データのフレーム数(総数)を表す。時刻tが1からT[n]までの時系列の特徴量x1 n,x2 n,・・・,xT[n] nが、n番目の学習データxnとしての時系列データである(xn={x1 n,x2 n,・・・,xT[n] n})。
αi n(t)は、特徴量x1 n,x2 n,・・・,xt nを観測して、時刻tに状態Siにいる確率(前向き確率)を表し、βi n(t)は、時刻tに状態Siにいて、その後、特徴量xt n,xt+1 n,・・・,xT[n] nを観測する確率(後ろ向き確率)を表す。
fijは、aijと同様に、状態Siから状態Sjに遷移する状態遷移確率を表す。但し、aijは、今回のHMM21の学習によって求めようとする状態遷移確率であるのに対して、fijは、今回のHMM21の学習によって求めようとする状態遷移確率aijの初期値となる状態遷移確率である。ここでは、状態遷移確率aijの初期値fijとして、例えば、前回のHMM21の学習によって求められた状態遷移確率aijを用いることとする。
Pφ(xn)は、式(3)、式(5)、および式(6)において、時刻tについてのサメーションΣ(時刻tを1からT[n]に変えてのサメーションΣ)の計算結果を正規化するための正規化項である。
なお、μj 2および(xt n)2の上付の2は、いずれも、べき指数を表す。
モデル学習部45は、式(3)の状態遷移確率aijと、出力確率密度関数gj(Obs)を規定する式(5)の平均値μjおよび式(6)の分散σj 2とを求め、HMM21の状態遷移確率aijと出力確率密度関数gj(Obs)(を規定する平均値μjおよび分散σj 2)とを更新する。
なお、Baum-Welch法によるHMMの学習については、前述の非特許文献4に記載されている。
図11の学習処理によれば、1個の新たな時系列データが得られると、その新たな時系列データに対して、時系列パターン記憶ネットワークを構成するノードの中から、勝者ノードが決定される(ステップS2)。さらに、その勝者ノードを基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みが決定される(ステップS3)。そして、更新重みに基づいて、時系列パターン記憶ネットワークを構成する各ノードが有するHMM21(図4)のパラメータが更新される。
即ち、図11の学習処理では、1個の新たな時系列データに対して、時系列パターン記憶ネットワークを構成するノードのパラメータの更新が1回行われ、以下、同様に、新たな時系列データが得られるたびに、ノードのパラメータの更新が繰り返されることにより、自己組織的に学習が行われる。
そして、学習が十分に行われることにより、時系列パターン記憶ネットワークの各ノードが有するHMM21は、ある時系列パターンを学習(獲得)する。時系列パターン記憶ネットワーク全体において学習される時系列パターンの数(種類)は、時系列パターン記憶ネットワークが有するノードの数と一致するので、時系列パターン記憶ネットワークが有するノードの数が、例えば100である場合は、100種類の時系列パターンが学習されることになる。この時系列パターンに基づき、認識部3(図2)では、時系列データ(処理対象データ)を認識する認識処理を行うことが可能となり、生成部6(図2)では、時系列データを生成する生成処理を行うことが可能となる。
なお、図11の学習処理では、新たな時系列データが与えられると、その新たな時系列データを用いて、ノードの学習を行うオンライン学習を行うようにしたが、ノードの学習の方法としては、ある程度の数の新たな時系列データが得られてから、その新たな時系列データを用いて学習を行うバッチ学習を採用することも可能である。
次に、図13は、図2の認識部3の構成例を示している。
認識部3には、図2で説明したように、特徴抽出部2から、(1個の)時系列データが供給され、この時系列データは、スコア計算部51に供給される。
スコア計算部51は、学習処理部32(図8)のスコア計算部41と同様に、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、特徴抽出部2からの時系列データ(の観測値)に適合する度合いを表すスコアを求め、勝者ノード決定部52に供給する。即ち、スコア計算部51は、ノードが有するHMM21から、特徴抽出部2からの時系列データが観測される対数尤度を求め、そのノードのスコアとして、勝者ノード決定部52に供給する。
勝者ノード決定部52は、学習処理部32(図8)の勝者ノード決定部42と同様に、記憶部5に記憶された時系列パターン記憶ネットワークにおいて、特徴抽出部2からの時系列データに最も適合するノードを求め、そのノードを、勝者ノードとして決定する。
即ち、勝者ノード決定部52は、記憶部5に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部51からのスコアが最も高いノードを勝者ノードとして決定する。そして、勝者ノード決定部52は、勝者ノードを表す情報としてのノードラベルを、出力部53に供給する。
出力部53は、勝者ノード決定部52からの勝者ノードを表すノードラベルを、特徴抽出部2からの特徴量の時系列データ、ひいては、その特徴量に対応する、信号入力部1に入力された処理対象データの認識結果として出力する。
なお、認識部3のスコア計算部51と、学習処理部32(図8)のスコア計算部41とは、いずれか一方のスコア計算部で兼用することが可能である。認識部51の勝者ノード決定部52と、学習処理部32(図8)の勝者ノード決定部42についても、同様である。
次に、図14のフローチャートを参照して、図2のデータ処理装置で行われる、時系列データを認識する認識処理について説明する。
1個の処理対象データ、即ち、例えば、1の音声区間の音声データ(時系列データ)が、信号入力部1に入力されると、信号入力部1は、その処理対象データを、特徴抽出部2に供給する。特徴抽出部2は、処理対象データである時系列データから特徴量を抽出し、その特徴量の時系列データを、認識部3に供給する。
認識部3(図13)では、ステップS21において、スコア計算部51が、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、特徴抽出部2からの時系列データに適合する度合いを表すスコアを求める。
具体的には、ノードが有するHMM21(図4)から、特徴抽出部2からの時系列データが観測される対数尤度が、例えば、ビタビアルゴリズムによって求められる。スコア計算部51は、時系列パターン記憶ネットワークが有するすべてのノードについて、特徴抽出部2からの時系列データに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部52に供給する。
勝者ノード決定部52は、ステップS22において、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部51からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部52は、勝者ノードを表す情報としてのノードラベルを、出力部53に供給する。
出力部53は、ステップS23において、勝者ノード決定部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"の音声データが学習された複数のノードの中から、処理対象データに最も適合するノードが、勝者ノードとして決定され、その勝者ノードのノードラベルが、認識結果として出力される。
次に、図15は、図2の生成部6の構成例を示している。
生成部6には、図2で説明したように、制御データが供給される。生成部6に供給される制御データは、記憶部5の時系列パターン記憶ネットワークが記憶している時系列パターン、ひいては、時系列パターン記憶ネットワークを構成するノードのうちのいずれかを表すもので、例えば、ノードラベルである。
生成部6に供給された制御データは、生成ノード決定部61に供給される。生成ノード決定部61は、記憶部5に記憶された時系列パターン記憶ネットワークにおいて、そこに供給される制御データが表すノードを、時系列データを生成するのに用いるノード(以下、適宜、生成ノードという)として決定し、その決定結果を、時系列生成部62に供給する。
即ち、生成ノード決定部61は、そこに供給される制御データとしてのノードラベルが表すノードを、生成ノードとして決定し、その決定結果を、時系列生成部62に供給する。
時系列生成部62は、生成ノード決定部61からの決定結果にしたがい、生成ノードが有するHMM21(図4)に基づいて、時系列データを生成し、出力部63に供給する。
即ち、時系列生成部62は、生成ノードが有するHMM21において時系列データが観測される尤度を表す出力確率(生起確率)を最大にする時系列データを生成する。ここで、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から時系列データを生成する方法なども提案されており、その詳細については、例えば、稲邑哲也、谷江博昭、中村仁彦、「連続分布型隠れマルコフモデルを用いた時系列データのキーフレーム抽出とその復元」、日本機械学会ロボティクス・メカトロニクス講演会2003講演論文集、2P1-3F-C6,2003に記載されている。
出力部63は、時系列生成部62からの時系列データを、処理対象データに相当する時系列データに変換して出力する。即ち、時系列生成部62において生成される時系列データは、ノードが有するHMM21の学習に用いられた特徴量の時系列データであり、出力部63は、その特徴量の時系列データを、処理対象データ(の時系列データ)に変換して出力する。
具体的には、例えば、処理対象データが音声データであり、特徴抽出部2が、音声データからメルケプストラムを特徴量として抽出する場合には、メルケプストラムの時系列データが、HMM21によって学習されるので、時系列生成部62が生成ノードのHMM21(図4)に基づいて生成する時系列データは、メルケプストラムの時系列データとなる。出力部63は、時系列生成部62において生成されるメルケプストラム(の時系列データ)を、処理対象データに相当する時系列データである音声データに変換する。
なお、メルケプストラムの時系列データを音声データ(時領域の音声)に変換する方法としては、例えば、MLSAフィルタ(メル対数スペクトル近似フィルタ)と呼ばれる合成フィルタによって、メルケプストラムの時系列データをフィルタリングする方法がある。MLSAフィルタの詳細については、例えば、今井聖、住田一男、古市千恵子、「音声合成のためのメル対数スペクトル近似(MLSA)フィルタ」、電子情報通信学会論文誌(A)、J66-A, 2, pp.122-129, 1983や、徳田恵一、小林隆夫、斉藤博徳、深田俊明、今井聖、「メルケプストラムをパラメータとする音声のスペクトル推定」、電子情報通信学会論文誌(A)、J74-A, 8, pp.1240-1248, 1991に記載されている。
次に、図16のフローチャートを参照して、図2のデータ処理装置で行われる、時系列データ(処理対象データ)を生成する生成処理について説明する。
制御データは、生成ノード決定部61に供給されると、生成ノード決定部61は、ステップS31において、記憶部5に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、制御データとしてのノードラベルが表すノードを、生成ノードとして決定し、その決定結果を、時系列生成部62に供給する。
時系列生成部62は、ステップS32において、生成ノード決定部61からの決定結果にしたがい、記憶部5に記憶された時系列パターン記憶ネットワークを構成するノードのうちの生成ノードが有するHMM21(のパラメータ)に基づいて、時系列データを生成し、出力部63に供給する。出力部63は、ステップS33において、時系列生成部62からの時系列データを、処理対象データに相当する時系列データに変換して出力する。
以上のような、時系列パターン記憶ネットワークを用いた生成処理によれば、その時系列パターン記憶ネットワークのノードの数に応じた(時系列パターンの)時系列データを生成することができる。
即ち、例えば、上述の認識処理で説明した場合と同様に、時系列パターン記憶ネットワークの学習が、3つのカテゴリ"A","B","C"の発声それぞれにより得られた音声データを用いて行われたとする。
時系列パターン記憶ネットワークの学習に用いられた3つのカテゴリ"A","B","C"の音声データが、多数の話者の発話を含む場合には、例えば、カテゴリ"A"の音声データであっても、発話速度や、イントネーション、話者の年齢、性別などの違いによって、様々なバリエーションの音声データが存在し、時系列パターン記憶ネットワークでは、カテゴリ"A"の音声データの中の、ある1つのバリエーション(の時系列パターン)が、ある1つのノードで学習され、他の1つのバリエーションが、他の1つのノードで学習されることがある。
そして、このように、複数のノードにおいて、カテゴリ"A"の音声データの様々なバリエーションが学習された場合、その複数のノードのうちのいずれかを表すノードラベルが、制御データとして与えられることにより、そのノードラベルが表すノードで学習されたバリエーションのカテゴリ"A"の音声データが出力される。従って、同一のカテゴリの音声データであっても、様々なバリエーションの音声データを出力することができる。
以上のように、HMM21を有する複数のノードから構成される時系列パターン記憶ネットワークを、時系列データに基づいて、自己組織的に更新するようにしたので、長さが一定の時系列データは勿論、長さが一定でない時系列データの教師なし学習、つまり、時系列データの、いわば自律的な学習を、容易に(実用的に)行うことができる。
即ち、時系列パターン記憶ネットワークの各ノードは、HMM21を有するから、時系列パターン記憶ネットワークの学習において、ノードの更新、つまり、そのノードが有するHMM21の更新は、他のノードの更新に影響しない。従って、時系列パターン記憶ネットワークを構成するノードが1つ増えても、時系列パターン記憶ネットワークの学習に要する計算量は、単純には、1のノードの更新に要する計算量だけ増えるだけであり、時系列パターン記憶ネットワークの規模、つまり、時系列パターン記憶ネットワークを構成するノードの数を大にしても、時系列パターン記憶ネットワークの学習に要する計算量が飛躍的に増加することはない。従って、大規模な時系列パターン記憶ネットワークであっても、容易に、自己組織的に学習することができる。
さらに、かかる時系列パターン記憶ネットワークの学習によれば、各ノードに、時系列データの統計的な特性を表す時系列パターンが記憶されるので、その時系列パターンを用いて、時系列データの認識や生成を、容易に行うことができる。さらに、時系列パターン記憶ネットワークによれば、時系列データの分類や解析などを行うことが可能となる。
なお、学習処理、認識処理、生成処理は、例えば、音声データ、画像データ、モータを駆動する信号、その他の任意の時系列データを対象として行うことができる。具体的には、例えば、図2のデータ処理装置を自律型のロボットなどの自律システムに適用し、そのロボットの視覚や、聴覚、触覚に相当するセンサが出力する信号や、ロボットの手や足に相当する部分を駆動するアクチュエータを制御する信号、合成音を生成する装置や目に相当するLEDに対して与える信号等を、学習処理、認識処理、生成処理の対象とする時系列データとして採用することができる。
ところで、上述した図11の学習処理では、ノードが有するHMM21の学習を、常時、H個の学習データを用いて行うため、学習データ記憶部31に記憶されている新たな時系列データを、ノードの学習データ記憶部22(図4)に記憶させるときに、即ち、学習データ記憶部22の記憶内容を更新するときに、学習データ記憶部31に記憶されている新たな時系列データと、ノードの学習データ記憶部22に記憶されている旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合することにより、つまり、旧学習データのうちの古い順のα個を削除して、α個の新たな時系列データを追加することにより、H個の新たな学習データを得て、そのH個の新たな学習データに、ノードの学習データ記憶部22の記憶内容が更新される。
ここで、学習データの個数は、整数の値しかとりえない。
従って、新たな時系列データと、旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合する場合に、更新重みαが小数点以下の値を有するときには、更新重みαの小数点以下の値を切り上げまたは切り捨てすることにより、更新重みαを整数化する必要がある。
具体的には、例えば、更新重みαとして、小数点以下の値を有する3.2が得られた場合には、更新重みαである3.2の小数点以下の値(0.2)を切り捨てすることにより、更新重みαを、3に整数化する必要がある。
そして、この場合、旧学習データのうちの古い順の3個を削除して、3個の新たな時系列データを追加することにより、H個の新たな学習データを得て、学習データ記憶部22の記憶内容が更新され、そのH個の新たな学習データを用いて、HMM21の学習が行われる。
しかしながら、時系列パターン記憶ネットワークを自己組織的に更新する学習(以下、適宜、時系列パターン記憶ネットワークの学習という)を精度良く行うためには、HMM21の学習は、新たな時系列データと、旧学習データとを、更新重みαの値をそのまま用いた比率α:H-αで混合して得られるH個の新たな学習データを用いて行うことが望ましい。即ち、更新重みαを、その小数点以下の値を切り捨て等することにより整数化すると、その切り捨て等された小数点以下の値の分だけ、時系列パターン記憶ネットワークの学習の精度が劣化する。
また、Baum-Welch 法によるHMM21の学習では、式(3)、式(5)、および式(6)に示したように、学習データの個数Nだけの回数のサメーション(変数nについてのΣ(変数nを1からNに変えてのΣ))が存在するため、学習データの個数Nに比例した計算量の計算を行う必要がある。従って、HMM21の学習を、常時、H個の学習データを用いて行う場合には、その学習データの個数Hに比例した計算量の計算を、HMM21の学習のたびに行う必要がある。
即ち、上述した図11の学習処理では、1個の新たな時系列データが得られたときに、ノードの学習データ記憶部22に記憶されている旧学習データの古い順のα個を削除するとともに、1個の新たな時系列データをα個コピーして追加し、H個の新たな学習データを得て、そのH個の新たな学習データを用いて、HMM21の学習が行われる。従って、この場合、HMM21の学習においては、HMM21に対して、いわば、古い順のα個の旧学習データの影響を排除するとともに、1個の新たな時系列データを影響させるために、学習データの個数Hに比例した計算量の計算を、必ず行う必要がある。
ここで、上述のように、常時、H個の学習データを用いて行うHMM21の学習によって、HMM21を更新する更新方法を、通常更新法という。
時系列パターン記憶ネットワークを学習する学習処理では、その学習の精度の劣化を防止するとともに、計算量の低減を図るべく、HMM21を更新する更新方法として、上述した通常更新法ではなく、以下のような、学習データを更新重みα(にしたがった重み)で用いたHMM21の学習によって、HMM21を更新する方法(以下、適宜、重み付き更新法という)を採用することができる。
即ち、いま、あるノードに注目して、その注目ノードが有するHMM21の学習を行うこととすると、重み付き更新法では、注目ノードが有する学習データ記憶部22に記憶された学習データを、その学習データとしての時系列データ(の観測値)に最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みα(にしたがった重み)で用いて、注目ノードが有するHMM21の学習が行われる。
具体的には、状態遷移確率aijと、出力確率密度関数gj(Obs)を規定する平均値μjおよび分散σj 2とが、式(3)、式(5)、式(6)ではなく、次の式(7)、式(8)、式(9)にしたがって求められる。
ここで、wnは、n番目の学習データとしての時系列データに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みαを表す。
式(7)は、変数nについてのサメーションΣにおいて、n番目の学習データxnを用いて計算された、時刻tについてのサメーションΣの計算結果が、n番目の学習データxnとしての時系列データに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みαである重みwnで重み付けされて、累積加算される点で、式(3)と異なる。式(8)と式(9)も、同様の点で、式(5)と式(6)と、それぞれ異なる。
通常更新法では、HMM21に対して、1個の新たな時系列データを、いわば、更新重みα分だけ影響させるために、整数化した更新重みαの個数だけ、新たな時系列データをコピーして、固定数(一定の値)であるH個の学習データに含めるようにしたが、重み付き更新法では、学習データxnを、その学習データxnに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwn(にしたがった重み)で用いて、注目ノードが有するHMM21の学習が行われるので、HMM21に対しては、学習データxnが、更新重みwn分だけ影響する。従って、重み付き更新法によれば、学習データxnを、更新重みwn分だけ影響させるために、整数化した更新重みwnの個数だけ、学習データxnをコピーする必要がない。
なお、重み付き更新法では、HMM21の学習に、学習データxnとともに、その学習データxnに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwnが用いられるため、ノードが有する学習データ記憶部22では、図17に示すように、学習データxnを、その学習データxnに最も適合する勝者ノードに基づいてノードに対して決定された更新重みwnと対応付けて記憶する必要がある。
即ち、図17は、HMM21の更新方法(HMM21を更新する方法)として、重み付き更新法を採用した場合の、ノードが有する学習データ記憶部22の記憶内容を示している。
時系列パターン記憶ネットワークを構成するあるノードに注目した場合、その注目ノードが有する学習データ記憶部22には、学習データxnと、その学習データxnとしての時系列データに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwnとが対応付けて記憶される。
そして、特徴抽出部2から1個の新たな時系列データ(の観測値)が出力され、学習部4(図7)の学習データ記憶部31に記憶された場合に行われる図11の学習処理において、学習処理部32(図8)の学習データ更新部44は、学習データ記憶部31に記憶された新たな時系列データを、注目ノードが有する学習データ記憶部22に記憶させるときに、その学習データ記憶部22の記憶内容を、次のように更新する。
即ち、学習データ更新部44は、注目ノードが有する学習データ記憶部22に、新たな時系列データを記憶させた場合に、新しい順の学習データx1乃至xNそれぞれに対応付けされた更新重みw1乃至wNの総和が所定の値Wになるように、学習データ記憶部22の記憶内容を更新する。
ここで、H個の学習データを用いる通常更新法においては、H個の学習データの中に、更新重みがαの時系列データが、その更新重みαを整数化した値の個数だけ存在する。従って、H個の学習データを用いる通常更新法では、更新重みαの1が、1個の学習データに対応する。
従って、通常更新法で用いられるH個の学習データは、更新重みαの総和がHになる分だけの学習データに対応するので、H個の学習データを用いて通常更新法によりHMM21を更新することは、更新重みαの総和がHになる分だけの学習データを用いて重み付き更新法によりHMM21を更新することに対応する。
そこで、いま、重み付け更新法によって、上述の通常更新法における場合と同程度の学習データの影響を受けるHMM21の学習を行うこととすると、学習データ更新部44は、所定の値をHとして、新しい順の学習データx1乃至xNそれぞれに対応付けされた更新重みw1乃至wNの総和Wが、所定の値としてのHになるように、学習データ記憶部22の記憶内容を更新する。
即ち、通常更新法で用いられる学習データの個数Hが、例えば、上述したように100である場合、学習データ更新部44は、新しい順の学習データx1乃至xNそれぞれに対応付けされた更新重みw1乃至wNの総和Wが所定の値としての100(=H)になるように、学習データ記憶部22の記憶内容を更新する。
具体的には、注目ノードが有する学習データ記憶部22において、総和Wが100になる更新重みw1乃至wNが、それぞれ、学習データw1乃至wNと対応付けて記憶されている場合において、学習部4(図7)の学習データ記憶部31に記憶された新たな時系列データxnewについての注目ノードに対する更新重みwnew(重み決定部43(図8)が、新たな時系列データxnewに最も適合する勝者ノードに基づき、注目ノードに対して決定した更新重みwnew)が、例えば、6.6であったとすると、学習データ更新部44は、新たな時系列データxnewを、新たな学習データとして、その新たな学習データxnewを、更新重みwnewである6.6と対応付けて、注目ノードが有する学習データ記憶部22に記憶させ(追加し)、かつ、学習データ記憶部22に記憶されている学習データw1乃至wNのうちの、古い順の、更新重みwnew分の学習データを、注目ノードが有する学習データ記憶部22から削除する。
即ち、例えば、いま、注目ノードが有する学習データ記憶部22に記憶されている学習データw1乃至wNのうちの、最も古い学習データx1に対応付けられた更新重みw1が5.5で、2番目に古い学習データx2に対応付けられた更新重みw2が1.1であったとする。この場合、学習データ更新部44は、新たな時系列データxnewと、更新重みwnew(=6.6)とを対応付けて、学習データ記憶部22に追加する。さらに、学習データ更新部44は、学習データ記憶部22に記憶されている更新重みw1が5.5の最も古い学習データx1と、更新重みw2が1.1の2番目に古い学習データx2とを、更新重みwnew(=6.6=5.5+1.1)分の学習データとして、対応付けられている更新重みw1とw2とともに、学習データ記憶部22から削除する。
また、例えば、いま、注目ノードが有する学習データ記憶部22に記憶されている学習データw1乃至wNのうちの、最も古い学習データx1に対応付けられた更新重みw1が4.5で、2番目に古い学習データx2に対応付けられた更新重みw2が4.1であったとする。この場合、学習データ更新部44は、新たな時系列データxnewと、更新重みwnew(=6.6)とを対応付けて、学習データ記憶部22に追加する。さらに、学習データ更新部44は、学習データ記憶部22に記憶されている更新重みw1が4.5の最も古い学習データx1を、対応付けられている更新重みw1とともに、学習データ記憶部22から削除する。
ここで、いまの場合、新たな時系列データxnewの更新重みwnewである6.6のうちの、最も古い学習データx1の更新重みw1である4.5分の学習データしか削除されておらず、従って、更新重みwnewである6.6から、更新重みw1である4.5を除いた残りの2.1(=6.6-4.5)分の学習データを、学習データ記憶部22から削除する必要がある。
一方、更新重みw1が4.5の最も古い学習データx1を削除した上に、更新重みw2が4.1の2番目に古い学習データx2も削除すると、更新重みが8.6(=4.5+4.1)分の学習データ、つまり削除すべき学習データよりも多くの学習データが削除されることになる。
そこで、学習データ更新部44は、更新重みwnew(=6.6)から更新重みw1(=4.5)を除いた残り分の2.1(=6.6-4.5)分の学習データの削除として、その残り分の2.1を、学習データ記憶部22に記憶された2番目に古い学習データx2の更新重みw2(2番目に古い学習データx2に対応付けられている更新重みw2)である4.1から減算し、2番目に古い学習データx2の更新重みw2を、その減算結果である2.0(=4.1-2.1)に更新する。
学習データ更新部44は、学習データ記憶部31(図7)に記憶された新たな時系列データを、注目ノードが有する学習データ記憶部22に記憶させるときに、以上のようにして、新しい順の学習データx1乃至xNそれぞれに対応付けされた更新重みw1乃至wNの総和が所定の値Wとしての100(=H)になるように、学習データ記憶部22の記憶内容を更新する。
ここで、時系列パターン記憶ネットワークを学習する学習処理において、重み付き更新法を採用する場合には、新しい順の学習データx1乃至xNそれぞれの更新重みw1乃至wNの総和Wが所定の値となるように、学習データ記憶部22の記憶内容が更新されることから、学習データ記憶部22に記憶される学習データx1乃至xNの個数Nは、固定数ではなく、可変の値である。
次に、図18のフローチャートを参照し、学習処理において、重み付き更新法を採用する場合の、図11のステップS4で行われる、学習データ記憶部22の記憶内容を更新する学習データ更新処理について説明する。
なお、図18のフローチャートは、時系列パターン記憶ネットワークのあるノードに注目し、その注目ノードが有する学習データ記憶部22(図17)の記憶内容の更新の処理を示している。従って、図11のステップS4の学習データ更新処理では、図18のフローチャートの処理が、時系列パターン記憶ネットワークを構成する複数のノードそれぞれについて行われる。
また、学習データ記憶部31(図7)に記憶されている新たな時系列データ、即ち、注目ノードが有する学習データ記憶部22に新たに学習データとして追加する時系列データを、xnew(={x1 new,x2 new,・・・,xT[new] new})と表す。さらに、重み決定部43(図8)が、新たな時系列データxnewに最も適合する勝者ノードに基づいて注目ノードに対して決定した更新重みを、wnewと表す。
まず最初に、ステップS51において、学習データ更新部44(図8)は、学習データ記憶部22(図17)に記憶されている学習データx1乃至xNの個数Nをカウントするための変数nに、初期値としての1をセットし、ステップS52に進む。
ステップS52では、学習データ更新部44は、学習データ記憶部31(図7)に記憶されている新たな時系列データxnewの更新重みwnew(重み決定部43から学習データ更新部44に供給される、注目ノードに対する更新重みwnew)分の学習データを削除するために、学習データ記憶部22(図17)に記憶された更新重みwnの累積に用いる変数wを、0に初期化して、ステップS53に進む。
ステップS53では、学習データ更新部44は、変数wに、注目ノードが有する学習データ記憶部22に記憶されている更新重みwnを加算し、その加算値を、変数wにセットして、即ち、変数wに、更新重みw1乃至wnの累積値をセットして、ステップS54に進む。
ステップS54では、学習データ更新部44は、変数wが、新たな時系列データxnewの更新重みwnew以上であるかどうかを判定する。ステップS54において、変数w、つまり、更新重みw1乃至wnの累積値が、新たな時系列データxnewの更新重みwnew以上でないと判定された場合、ステップS55に進み、変数nを1だけインクリメントして、ステップS53に戻り、以下、同様の処理が繰り返される。
また、ステップS54において、変数w、つまり、更新重みw1乃至wnの累積値が、新たな時系列データxnewの更新重みwnew以上であると判定された場合、ステップS56に進み、学習データ更新部44は、変数wが、新たな時系列データxnewの更新重みwnewに等しいかどうかを判定する。
ステップS56において、変数wが、新たな時系列データxnewの更新重みwnewに等しいと判定された場合、即ち、更新重みw1乃至wnの累積値が、新たな時系列データxnewの更新重みwnewに等しい場合、ステップS57に進み、学習データ更新部44は、学習データ記憶部22(図17)に記憶された更新重みw1乃至wnと、その更新重みw1乃至wnそれぞれに対応付けられた学習データx1乃至xnを削除する。さらに、ステップS57では、学習データ更新部44は、学習データ記憶部22(図17)に記憶された更新重みwn+1乃至wNと、新たな時系列データxnewの更新重みwnewを、それぞれ、新たな更新重みw1乃至wNとするとともに、学習データ記憶部22(図17)に記憶された学習データxn+1乃至xNと、新たな時系列データxnewを、それぞれ、新たな学習データx1乃至xNとして、学習データ記憶部22の記憶内容を、新たな更新重みw1乃至wNと、新たな学習データx1乃至xNに更新して、学習データ更新処理を終了する。
一方、ステップS56において、変数wが、新たな時系列データxnewの更新重みwnewに等しくないと判定された場合、即ち、更新重みw1乃至wnの累積値が、新たな時系列データxnewの更新重みwnewより大きく、従って、更新重みw1乃至wnと、その更新重みw1乃至wnそれぞれに対応付けられた学習データx1乃至xnを、学習データ記憶部22から削除してしまうと、削除すべき学習データよりも多くの学習データを削除することとなる場合、ステップS58に進み、学習データ更新部44は、最後に変数wに加算された更新重みwnを、更新重みw1乃至wnの累積値である変数wから、新たな時系列データxnewの更新重みwnewを減算した減算値w-wnewに更新して、ステップS59に進む。
ステップS59では、学習データ更新部44は、学習データ記憶部22(図17)に記憶された更新重みw1乃至wn-1と、その更新重みw1乃至wn-1それぞれに対応付けられた学習データx1乃至xn-1を削除する。
さらに、ステップS59では、学習データ更新部44は、ステップS58での更新後の更新重みwnと、学習データ記憶部22(図17)に記憶された更新重みwn+1乃至wNと、新たな時系列データxnewの更新重みwnewを、それぞれ、新たな更新重みw1乃至wNとするとともに、学習データ記憶部22(図17)に記憶された学習データxn乃至xNと、新たな時系列データxnewを、それぞれ、新たな学習データx1乃至xNとして、学習データ記憶部22の記憶内容を、新たな更新重みw1乃至wNと、新たな学習データx1乃至xNに更新して、学習データ更新処理を終了する。
なお、記憶内容が更新された後の学習データ記憶部22に記憶されている新たな学習データx1乃至xNの個数Nは、記憶内容が更新される前に比較して、学習データ更新処理によって削除された学習データの個数から1を減算した値だけ変更されている。従って、学習データ更新処理において、1個の学習データが削除された場合、学習データ記憶部22に記憶されている新たな学習データx1乃至xNの個数Nは、学習データ更新処理によって記憶内容が更新される前と後で変わらない。
学習データ更新部44は、図11のステップS4において、図18で説明したようにして、時系列パターン記憶ネットワークのノードすべての学習データ記憶部22(図17)の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部45に供給する。
モデル学習部45は、学習データ更新部44から終了通知を受けると、図11で説明したように、ステップS5において、時系列パターン記憶ネットワークのパラメータを更新するパラメータ更新処理、即ち、時系列パターン記憶ネットワークの各ノードについて、学習データ更新部44による更新後の学習データ記憶部22に記憶された新たな学習データを用いて、HMM21の学習を行うことにより、そのHMM21を更新する処理を行う。
即ち、図19は、図11の学習処理において、重み付き更新法を採用する場合の、図11のステップS5で行われるパラメータ更新処理を説明するフローチャートである。
なお、図19のフローチャートも、図18のフローチャートと同様に、時系列パターン記憶ネットワークのあるノードに注目し、その注目ノードが有するHMM21(図4)を更新する処理を示している。従って、図11のステップS5のパラメータ更新処理では、図19のフローチャートの処理が、時系列パターン記憶ネットワークを構成する複数のノードそれぞれについて行われる。
モデル学習部45(図8)は、ステップS71において、注目ノードが有する学習データ記憶部22(図17)に記憶された学習データの数(総数)Nをカウントするための変数nに、初期値としての1をセットして、ステップS72に進み、HMM21の状態の数M+1をカウントするための、HMM21の状態を表す変数iに、初期値としての0をセットする。
そして、ステップS72からステップS73に進み、モデル学習部45は、学習データxnである時系列の特徴量x1 n,x2 n,・・・,xT[n] nの時刻(フレーム数)をカウントするための変数tに、初期値としての1をセットして、ステップS74に進む。
ステップS74では、モデル学習部45は、学習データxn={x1 n,x2 n,・・・,xT[n] n}について、出力確率密度関数gi(xt n)、前向き確率αi n(t)、および後ろ向き確率βi n(t)を計算して、ステップS75に進み、時刻tが、学習データxnである時系列の特徴量x1 n,x2 n,・・・,xT[n] nの総数(フレーム総数)T[n]に等しいかどうかを判定する。
ステップS75において、時刻tが、フレーム総数T[n]に等しくないと判定された場合、即ち、時刻tが、フレーム総数T[n]未満である場合、ステップS76に進み、モデル学習部45は、時刻tを1だけインクリメントして、ステップS74に戻り、以下、同様の処理が繰り返される。
また、ステップS75において、時刻tが、フレーム総数T[n]に等しいと判定された場合、ステップS77に進み、モデル学習部45は、HMM21の状態を表す変数iが、最終状態SMを表すMに等しいかどうかを判定する。
ステップS77において、HMM21の状態を表す変数iが、最終状態を表すMに等しくないと判定された場合、即ち、変数iがM未満である場合、ステップS78に進み、モデル学習部45は、変数iを1だけインクリメントして、ステップS73に戻り、以下、同様の処理が繰り返される。
また、ステップS77において、HMM21の状態を表す変数iが、最終状態を表すMに等しいと判定された場合、即ち、HMM21の状態S0乃至SMそれぞれと、学習データxnである時系列の特徴量x1 n,x2 n,・・・,xT[n] nの時刻1乃至T[n]それぞれとについて、出力確率密度関数gi(xt n)、前向き確率αi n(t)、および後ろ向き確率βi n(t)が求められた場合、ステップS79に進み、モデル学習部45は、式(4)にしたがって、正規化項Pφ(xn)を計算して、ステップS80に進む。
ステップS80では、モデル学習部45は、HMM21の遷移前の状態を表す変数iに、初期値としての1をセットして、ステップS81に進み、HMM21の遷移先の状態を表す変数jに、初期値としての1をセットする。
そして、ステップS81からステップS82に進み、モデル学習部45は、ステップS74で計算した出力確率密度関数gi(xt n)、前向き確率αi n(t)、および後ろ向き確率βi n(t)、注目ノードが有する学習データ記憶部22(図17)に記憶された更新重みwn、並びに注目ノードが有するHMM21の現在の状態遷移確率fijを用いて、式(7)の状態遷移確率aijの分子の一部分wnΣαi n(t)fijgj(xt+1 n)βj n(t+1)を計算して、ステップS83に進む。
ステップS83では、モデル学習部45は、状態を表す変数jが、最終状態SMの1つ前(左側)の状態SM-1を表すM-1に等しいかどうかを判定する。ステップS83において、変数jがM-1に等しくないと判定された場合、ステップS84に進み、モデル学習部45は、変数jを1だけインクリメントして、ステップS82に戻り、以下、同様の処理が繰り返される。
また、ステップS83において、変数jがM-1に等しいと判定された場合、ステップS85に進み、モデル学習部45は、ステップS74で計算した前向き確率αi n(t)および後ろ向き確率βi n(t)、並びに注目ノードが有する学習データ記憶部22(図17)に記憶された更新重みwnを用いて、式(7)の状態遷移確率aijの分母の一部分wnΣαi n(t)βi n(t)を計算して、ステップS86に進む。
ここで、式(7)の状態遷移確率aijの分母の一部分wnΣαi n(t)βi n(t)は、式(8)の平均値μjの分母の一部分(wnΣαj n(t)βj n(t))、および式(9)の分散σj 2の分母の一部分(wnΣαj n(t)βj n(t))でもある。
ステップS86では、モデル学習部45は、ステップS74で計算した前向き確率αi n(t)および後ろ向き確率βi n(t)、並びに注目ノードが有する学習データ記憶部22(図17)に記憶された更新重みwnおよび学習データxnを用いて、式(8)の平均値μjの分子の一部分wnΣαj n(t)βj n(t)xt nを計算するとともに、式(9)の分散σj 2の分子の一部分wnΣαj n(t)βj n(t)(xt n)2を計算して、ステップS87に進む。
ステップS87では、モデル学習部45は、状態を表す変数iが、最終状態SMの1つ前(左側)の状態SM-1を表すM-1に等しいかどうかを判定する。ステップS87において、変数iがM-1に等しくないと判定された場合、ステップS88に進み、モデル学習部45は、変数iを1だけインクリメントして、ステップS81に戻り、以下、同様の処理が繰り返される。
また、ステップS87において、変数iがM-1に等しいと判定された場合、ステップS89に進み、モデル学習部45は、ステップS79で計算した正規化項Pφ(xn)、並びにステップS82で計算した式(7)の状態遷移確率aijの分子の一部分wnΣαi n(t)fijgj(xt+1 n)βj n(t+1)を用いて、式(7)の状態遷移確率aijの分子における変数nについてのサメーション(Σ)の加算を1回だけ行う。
また、ステップS89では、モデル学習部45は、ステップS79で計算した正規化項Pφ(xn)、並びにステップS85で計算した式(7)の状態遷移確率aijの分母の一部分wnΣαi n(t)βi n(t)を用いて、式(7)の状態遷移確率aijの分母における変数nについてのサメーション(Σ)の加算を1回だけ行う。
さらに、ステップS89では、モデル学習部45は、ステップS79で計算した正規化項Pφ(xn)、並びにステップS86で計算した式(8)の平均値μjの分子の一部分wnΣαj n(t)βj n(t)xt nを用いて、式(8)の平均値μjの分子における変数nについてのサメーション(Σ)の加算を1回だけ行うとともに、ステップS79で計算した正規化項Pφ(xn)、並びにステップS86で計算した式(9)の分散σj 2の分子の一部分wnΣαj n(t)βj n(t)(xt n)2を用いて、式(9)の分散σj 2の分子における変数nについてのサメーション(Σ)の加算を1回だけ行う。
その後、ステップS89からステップS90に進み、モデル学習部45は、変数nが、注目ノードが有する学習データ記憶部22(図17)に記憶されている学習データx1乃至xNの総数Nに等しいかどうかを判定する。
ステップS90において、変数nが、学習データx1乃至xNの総数Nに等しくないと判定された場合、ステップS91に進み、モデル学習部45は、変数nを1だけインクリメントして、ステップS72に戻り、以下、ステップS90で変数nが学習データx1乃至xNの総数Nに等しいと判定されるまで、ステップS72乃至S91の処理が繰り返される。
ここで、ステップS72乃至S91の処理が繰り返されることにより、ステップS89では、式(7)の状態遷移確率aijの分子における変数nについてのサメーション(Σ)、つまり、式(7)の状態遷移確率aijの分子の(1/Pφ(xn))wnΣαi n(t)fijgj(xt+1 n)βj n(t+1)の、変数nを1からNに変えての累積(積算)が行われる。同様に、式(7)の状態遷移確率aijの分母における変数nについてのサメーション(Σ)、式(8)の平均値μjの分子における変数nについてのサメーション(Σ)、および式(9)の分散σj 2の分子における変数nについてのサメーション(Σ)も行われる。
その後、ステップS90において、変数nが、学習データx1乃至xNの総数Nに等しいと判定された場合、即ち、式(7)の状態遷移確率aijの分子における変数nについてのサメーション(Σ)、式(7)の状態遷移確率aijの分母における変数nについてのサメーション(Σ)、式(8)の平均値μjの分子における変数nについてのサメーション(Σ)、および式(9)の分散σj 2の分子における変数nについてのサメーション(Σ)のすべての計算が終了した場合、ステップS92に進み、モデル学習部45は、式(7)の状態遷移確率aijの分子における変数nについてのサメーション(Σ)の計算結果を、式(7)の状態遷移確率aijの分母における変数nについてのサメーション(Σ)の計算結果で除算することにより、式(7)の状態遷移確率aijを求めて(計算して)、ステップS93に進む。
ステップS93では、モデル学習部45は、式(8)の平均値μjの分子における変数nについてのサメーション(Σ)の計算結果を、式(7)の状態遷移確率aijの分母における変数nについてのサメーション(Σ)の計算結果、即ち、式(8)の平均値μjの分母における変数nについてのサメーション(Σ)の計算結果で除算することにより、式(8)の平均値μjを求めるとともに、式(9)の分散σj 2の分子における変数nについてのサメーション(Σ)の計算結果を、式(7)の状態遷移確率aijの分母における変数nについてのサメーション(Σ)の計算結果、即ち、式(9)の平均値aj 2の分母における変数nについてのサメーション(Σ)の計算結果で除算することにより、式(9)の分散σj 2を求める。
そして、モデル学習部45は、ステップS92で求めた式(7)の状態遷移確率aijによって、注目ノードが有するHMM21の状態遷移確率aij(状態遷移確率fij)を更新する。同様に、モデル学習部45は、ステップS93で求めた式(8)の平均値μjと、式(9)の分散σj 2によって、注目ノードが有するHMM21の予測値μjと分散aj 2それぞれを更新し、パラメータ更新処理を終了する。
以上のように、重み付き更新法では、時系列パターンを表現するHMMを有する複数のノードから構成される時系列パターン記憶ネットワークを、時系列データの観測値に基づいて、自己組織的に更新する学習処理を行うが、その学習処理で、時系列データxn(の観測値)を、注目ノードが有するHMM21の学習に用いる学習データとして、その学習データを、その学習データである時系列データxnに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwnと対応付けて記憶する学習データ記憶部22(図17)において、新たな時系列データxnew(の観測値)が学習データとして記憶されるときに、新しい順の学習データx1乃至xNに対応付けされた更新重みw1乃至wNの総和Wが、所定の値Hになるように、学習データ記憶部22の記憶内容を更新する。
さらに、重み付き更新法では、記憶内容が更新された学習データ記憶部22に記憶された学習データx1乃至xNを、その学習データx1乃至xNに対応付けられた更新重みw1乃至wNで用いて、注目ノードが有するHMM21の学習を行うことにより、そのHMM21を更新する。
従って、時系列パターン記憶ネットワークによって、時系列データの教師なし学習を、容易に行うことができる。
さらに、重み付き更新法によれば、HMM21の学習の精度、ひいては、時系列パターン記憶ネットワークの精度の劣化を防止することができる。
即ち、通常更新法では、常時、H個の学習データを用いてHMM21の学習を行うため、上述したように、新たな時系列データと、旧学習データとを、小数点以下を切り捨て等して整数化した更新重みαを用いた比率α:H-αで混合することにより、学習データ記憶部22の記憶内容を更新するために、更新重みαの小数点以下の値を切り捨て等する分だけ、HMM21の学習の精度、ひいては、時系列パターン記憶ネットワークの精度の劣化するおそれがある。
これに対して、重み付き更新法によれば、更新重みαを、その小数点以下の値を切り捨て等して整数化する必要がないので、その切り捨て等に起因するHMM21(時系列パターン記憶ネットワーク)の学習の精度の劣化を防止することができる。
また、重み付き更新法によれば、HMM21の学習における計算量の低減化を図ることが可能となる。
即ち、通常更新法によれば、HMM21の学習において、固定の値であるH個の学習データの個数Hに比例した計算量の計算を行う必要がある。
これに対して、重み付き更新法では、新しい順の学習データx1乃至xNに対応付けされた更新重みw1乃至wNの総和Wが、所定の値Hになるように、学習データ記憶部22の記憶内容を更新し、学習データ記憶部22に記憶された学習データxnを、その学習データxnに対応付けられた更新重みwnで用いて、HMM21の学習を行うので、更新重みwnの期待値が、1より大であれば、学習データ記憶部22に記憶される新しい順の学習データx1乃至xNの総数Nは、通常更新法におけるH個よりも少なくなり、HMM21の学習における計算量の低減化を図ることができる。即ち、重み付き更新法によれば、HMM21の学習における計算量を、通常更新法でHMM21の学習を行う場合のN/H(<1)にすることができる。例えば、Hが100であり、更新重みwnの期待値が4であるとすると、更新重みwnの総和Wが100(=H)になる学習データx1乃至xNの数Nは25(=100/4)となり、重み付き更新法によるHMM21の学習における計算量は、通常更新法でHMM21の学習を行う場合の1/4(=25/100)となる。従って、HMM21の学習の高速化を図ることができる。
さらに、学習データ記憶部22に記憶される新しい順の学習データx1乃至xNの総数Nが、通常更新法におけるH個よりも少なくて済むことにより、学習データ記憶部22に必要とされる記憶容量の低減化を図ることができる。
なお、学習データ記憶部22に記憶された学習データx1乃至xNの更新重みw1乃至wNが、例えば、すべて1である場合には、学習データx1乃至xNの総数Nは、通常更新法と同一のH個になる。また、学習データ記憶部22に記憶された学習データx1乃至xNの更新重みw1乃至wNが、例えば、すべて1未満である場合等には、学習データx1乃至xNの総数Nは、通常更新法におけるH個よりも多くなる。
そこで、重み付き更新法では、HMM21の学習の高速化、および学習データ記憶部22に必要とされる記憶容量の低減化を図るべく、学習データ記憶部22に学習データとして追加しようとする新たな時系列データxnewの更新重みwnewが1以下である場合には、学習データ更新部44(図8)において、その新たな時系列データxnewを、学習データ記憶部22に学習データとして追加せずに、破棄するようにすることができる。
次に、Baum-Welch 法によるHMM21の学習において、重み付き更新法を採用することにより、上述したように、通常更新法を採用する場合に比較して、計算量をN/Hに低減することができる。
しかしながら、重み付き更新法であっても、学習データx1乃至xNの総数Nをカウントする変数nについてのサメーション(Σ)を計算する必要があるため、ノードが有する学習データ記憶部22の記憶内容が、新たな学習データx1乃至xNに更新されると、その新たな学習データx1乃至xNの総数Nをカウントする変数nについてのサメーション(Σ)を計算し直す必要がある。従って、重み付き更新法によれば、通常更新法を採用する場合よりも計算量を低減することはできるが、それでも、新たな学習データx1乃至xNの総数Nに比例した計算量の計算をする必要がある。
そこで、次に、学習データを更新重みα(にしたがった重み)で用いたHMM21の学習によって、HMM21を更新する点では、重み付き更新法と共通するが、重み付き更新法よりも、さらに少ない計算量でHMM21を更新する方法(以下、適宜、インクリメンタル更新法という)について説明する。
なお、以下では、説明の便宜上、学習データ記憶部22には、新たな時系列データxnewが、順次、学習データとして記憶されていき、いま、c個の学習データx1乃至xcが記憶されているものとする。そして、次の新たな時系列データxnewは、学習データxc+1として、学習データ記憶部22に記憶され、その結果、学習データ記憶部22には、c+1個の学習データx'乃至xc+1が記憶されるものとする。
重み付き更新法では、上述したように、式(7)により、状態遷移確率aijが計算されるが、いま、学習データ記憶部22に記憶されたc個の学習データx1乃至xcを用いて、式(7)により計算される状態遷移確率aijを、aij cと表すとともに、その状態遷移確率aij cを求めるのに計算される式(7)の計算の途中結果である途中結果データとしての式(7)の分子と分母を、それぞれae,ij cとad,ij cと表す。
この場合、途中結果データae,ij cとad,ij cは、式(7)から、それぞれ、式(10)と式(11)で表すことができる。
インクリメンタル更新法では、式(10)の途中結果データae,ij cと、式(11)の途中結果データad,ij cを、それぞれ、式(12)と式(13)で近似する。
式(10)では、途中結果データae,ij cが、学習データ記憶部22に記憶された学習データx1乃至xcのすべてを用いて計算されているのに対して、式(12)では、途中結果データae,ij cが、学習データ記憶部22に記憶された学習データx1乃至xcのうちの最新の学習データxcだけを、その更新重みwc(にしたがった重み)で用い、かつ、最新の学習データxc以外の学習データx1乃至xc-1を用いない代わりに、前回のHMM21の学習時に求められた途中結果データae,ij c-1、即ち、学習データ記憶部22に最新の学習データxcが記憶される直前に行われたHMM21の学習において求められた途中結果データae,ij c-1を、(W-wc)/Wの重みで用いて計算されている。
ここで、Wは、上述したように、HMM21の学習に用いられる新しい順の学習データx1乃至xcそれぞれの更新重みw1乃至wcの総和を表す。
式(10)では、最新の学習データxcが、その更新重みwcで用いられているとともに、前回のHMM21の学習時に求められた途中結果データae,ij c-1が、最新の学習データxcの更新重みwcだけ、いわば割り引いた重み(W-wc)/Wで用いられている。
同様に、式(11)では、途中結果データad,ij cが、学習データ記憶部22に記憶された学習データx1乃至xcのすべてを用いて計算されているのに対して、式(13)では、途中結果データad,ij cが、学習データ記憶部22に記憶された学習データx1乃至xcのうちの最新の学習データxcだけを、その更新重みwcで用い、かつ、最新の学習データxc以外の学習データx1乃至xc-1を用いない代わりに、前回のHMM21の学習時に求められた途中結果データad,ij c-1を、最新の学習データxcの更新重みwcだけ割り引いた重み(W-wc)/Wで用いて計算されている。
さらに、同様に、重み付き更新法において、学習データ記憶部22に記憶された学習データx1乃至xcを用いて、式(8)により計算された平均値μjを、μj cと表すとともに、その平均値μj cを求めるのに計算される式(8)の計算の途中結果である途中結果データとしての式(8)の分子と分母を、それぞれμe,j cとμd,j cと表す。
また、学習データ記憶部22に記憶された学習データx1乃至xcを用いて、式(9)により計算された分散σj 2を、(σ2)j cと表すとともに、その分散(σ2)j cを求めるのに計算される式(9)の計算の途中結果である途中結果データとしての式(9)の第1項の分子と分母を、それぞれ(σ2)e,j cと(σ2)d,j cと表す。
インクリメンタル更新法では、途中結果データμe,j c,μd,j c,(σ2)e,j c,(σ2)d,j cも、途中結果データae,ij cおよびad,ij cと同様に、それぞれ、式(14)、式(15)、式(16)、式(17)で近似する。
そして、インクリメンタル更新法では、式(12)の途中結果データae,ij cと、式(13)の途中結果データad,ij cとを用い、式(7)に相当する式(18)を計算することにより、状態遷移確率aij cが求められる。
さらに、式(14)の途中結果データμe,j cと、式(15)の途中結果データμd,j cとを用い、式(8)に相当する式(19)を計算することにより、平均値μj cが求められる。
そして、式(15)の途中結果データ(σ2)e,j cと、式(16)の途中結果データ(σ2)d,j c、さらには、式(19)の平均値μj cを用い、式(9)に相当する式(20)を計算することにより、分散(σ2)j cが求められる。
以上のように、インクリメンタル更新法では、HMM21の学習において、学習データ記憶部22に記憶された学習データx1乃至xcのうちの最新の学習データxcだけが、その
更新重みwcで用いられ、最新の学習データxc以外の学習データx1乃至xc-1は用いられない。そして、その学習データx1乃至xc-1が用いられない代わりに、前回のHMM21の学習時に求められた途中結果データae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1が、最新の学習データxcの更新重みwcだけ割り引いた重み(W-wc)/Wで用いられる。
更新重みwcで用いられ、最新の学習データxc以外の学習データx1乃至xc-1は用いられない。そして、その学習データx1乃至xc-1が用いられない代わりに、前回のHMM21の学習時に求められた途中結果データae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1が、最新の学習データxcの更新重みwcだけ割り引いた重み(W-wc)/Wで用いられる。
従って、インクリメンタル更新法では、HMM21の学習にあたり、学習データとしては、最新の学習データxc、つまり、新たな時系列データxnewだけが用いられるため、学習データ記憶部22に記憶させる学習データは、最新の学習データxcだけでよい。但し、インクリメンタル更新法では、前回のHMM21の学習時に求められた途中結果データae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1が用いられるので、これらの途中結果データae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1を、学習データ記憶部22に記憶しておく必要がある。
ところで、上述のインクリメンタル更新法では、HMM21の学習にあたり、学習データ記憶部22に記憶された学習データx1乃至xcのうちの最新の学習データxcだけを用いるようにしたが、インクリメンタル更新法は、学習データx1乃至xcのうちの1以上であるk個の新しい順の学習データxc-k+1,xc-k+2,・・・,xcを用いるように拡張することができる。
即ち、インクリメンタル更新法では、途中結果データae,ij cとad,ij cを、それぞれ、式(21)と式(22)で近似することができる。
同様に、インクリメンタル更新法では、途中結果データμe,j c,μd,j c,(σ2)e,j c,(σ2)d,j cも、それぞれ、式(23)、式(24)、式(25)、式(26)で近似することができる。
この場合も、式(21)の途中結果データae,ij cと、式(22)の途中結果データad,ij cとを用い、式(7)に相当する上述の式(18)を計算することにより、状態遷移確率aij cを求めることができる。
さらに、式(23)の途中結果データμe,j cと、式(24)の途中結果データμd,j cとを用い、式(8)に相当する上述の式(19)を計算することにより、平均値μj cを求めることができる。
そして、式(24)の途中結果データ(σ2)e,j cと、式(25)の途中結果データ(σ2)d,j c、さらには、式(23)の途中結果データμe,j cと式(24)の途中結果データμd,j cとを用いて計算される式(19)の平均値μj cを用い、式(9)に相当する上述の式(20)を計算することにより、分散(σ2)j cを求めることができる。
いま、以上のように、学習データx1乃至xcのうちの1以上であるk個の新しい順の学習データxc-k+1乃至xcを用いて、HMM21の学習を行うインクリメンタル更新法を、k-インクリメンタル更新法と呼ぶこととすると、k-インクリメンタル更新法では、HMM21の学習において、学習データ記憶部22に順次記憶される学習データx1乃至xcのうちの新しい順のk個の学習データxc-k+1乃至xcが、それぞれの更新重みwc-k+1乃至wcで用いられ、それより古いc-k個の学習データx1乃至xc-kは用いられない。そして、そのc-k個の学習データx1乃至xc-kが用いられない代わりに、前回のHMM21の学習時に求められた途中結果データae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1が、新しい順のk個の学習データxc-k+1乃至xcそれぞれの更新重みwc-k+1乃至wcの総和Σwn(=wc-k+1+wc-k+2+・・・+wc)だけ割り引いた重み(W-Σwn)/Wで用いられる。
従って、k-インクリメンタル更新法では、HMM21の学習にあたり、新しい順のk個の学習データxc-k+1乃至xcが用いられるため、学習データ記憶部22に記憶させる学習データは、図20に示すように、新しい順のk個の学習データxc-k+1乃至xcだけでよい。
即ち、図20は、HMM21の更新方法(HMM21を更新する方法)として、k-インクリメンタル更新法を採用した場合の、ノードが有する学習データ記憶部22の記憶内容を示している。
時系列パターン記憶ネットワークを構成するあるノードに注目した場合、その注目ノードが有する学習データ記憶部22には、学習データxnと、その学習データxnとしての時系列データに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwnとを対応付けたセットが、新しい順にkセットだけ記憶される。
さらに、学習データ記憶部22に記憶された新しい順のk個の学習データxc-k+1乃至xcを用いて、HMM21の学習が行われたとすると、学習データ記憶部22には、そのHMM21の学習において求められた途中結果データae,ij c,ad,ij c,μe,j c,μd,j c,(σ2)e,j c,(σ2)d,j cが、次のHMM21の学習、即ち、次の学習データxc+1が記憶されたときに、新しい順のk個の学習データxc-k+2乃至xc+1を用いて行われるHMM21の学習において用いるために記憶される。
そして、特徴抽出部2から1個の新たな時系列データ(の観測値)xnewが出力され、学習部4(図7)の学習データ記憶部31に記憶された場合に行われる図11の学習処理において、学習処理部32(図8)の学習データ更新部44は、学習データ記憶部31に記憶された新たな時系列データxnewを、注目ノードが有する学習データ記憶部22に記憶させるときに、その学習データ記憶部22の記憶内容を、次のように更新する。
即ち、学習データ更新部44は、注目ノードが有する学習データ記憶部22に、新たな時系列データxnewを、その更新重みwnewと対応付けて、最新の学習データxc+1と更新重みwc+1のセットとして記憶させるとともに、学習記憶部22に既に記憶されているkセットの学習データxc-k+1乃至xcと更新重みwc-k+1乃至wcのセットのうちの最も古い学習データxc-k+1と更新重みwc-k+1のセットを削除する。
この場合、記憶内容が更新された学習データ記憶部22には、学習データxc-k+2乃至xcおよび更新重みwc-k21乃至wcのセットと、最新の学習データxc+1および更新重みwc+1のセットとの、合計でkセットの学習データxc-k+2乃至xc+1および更新重みwc-k+2乃至wc+1のセットが記憶される。
さらに、学習データ更新部44は、記憶内容が更新された学習データ記憶部22に記憶されたk個の更新重みwc-k+2乃至wc+1のうちの、最新の最新の学習データxc+1以外の学習データxc-k+2乃至xcそれぞれの更新重みwc-k+2乃至wcを、(W-wc+1)/Wを乗算することにより、いわば割り引く。
即ち、学習データ更新部4は、更新重みwc-k+2に、(W-wc+1)/Wを乗算し、その乗算値wc-k+2(W-wc+1)/Wを新たな更新重みwc-k+2とする、更新重みwc-k+2の更新を行う。同様に、学習データ更新部4は、更新重みwc-k+3乃至wcそれぞれを、(W-wc+1)/Wを乗算することにより更新する。
以上のように更新重みwc-k+2乃至wcを更新することにより、新しい順の学習データx1乃至xcそれぞれの更新重みw1乃至wcの総和WがHであれば、その学習データx1乃至xcに、新たな学習データxc+1を加えた学習データx1乃至xc+1それぞれの更新重みw1乃至wc+1の総和WもHとなる。
なお、k-インクリメンタル更新法において、HMM21の学習に学習データとして用いられる新しい順の時系列データの観測値の個数であるk、つまり、HMM21の学習に用いられる学習データの個数kを1とした場合には、k-インクリメンタル更新法は、式(10)乃至式(20)を用いて説明した最新の学習データxcのみを用いるインクリメンタル更新法となる。
次に、図21のフローチャートを参照し、学習処理において、インクリメンタル更新法を採用する場合の、図11のステップS4で行われる、学習データ記憶部22の記憶内容を更新する学習データ更新処理について説明する。
なお、図21のフローチャートは、時系列パターン記憶ネットワークのあるノードに注目し、その注目ノードが有する学習データ記憶部22(図20)の記憶内容の更新の処理を示している。従って、図11のステップS4の学習データ更新処理では、図21のフローチャートの処理が、時系列パターン記憶ネットワークを構成する複数のノードそれぞれについて行われる。
また、ここでは、注目ノードが有する学習データ記憶部22に、kセットの新しい順の学習データxc-k乃至xc-1と更新重みwc-k乃至wc-1のセットが記憶されており、新たな時系列データxnewと更新重みwnewのセットを、最新の学習データxcと更新重みwcのセットとして追加する更新について説明する。
まず最初に、ステップS111において、学習データ更新部44は、注目ノードが有する学習データ記憶部22に、新たな時系列データxnewを、その更新重みwnewと対応付けて、最新の学習データxcと更新重みwcのセットとして記憶させるとともに、学習記憶部22に既に記憶されているkセットの学習データxc-k乃至xc-1と更新重みwc-k乃至wc-1のセットのうちの最も古い学習データxc-kと更新重みwc-kのセットを削除する。
これにより、学習データ記憶部22には、kセットの新しい順の学習データxc-k+1乃至xcと更新重みwc-k+1乃至wcのセットが記憶される。
ステップS111の処理後は、ステップS112に進み、学習データ更新部44は、学習データ記憶部22に記憶されたk個の更新重みwc-k+1乃至wcのうちの、最新の学習データxc以外の学習データxc-k+1乃至xc-1それぞれの更新重みwc-k+1乃至wc-1に対して、(W-wc)/Wを乗算し、その乗算値によって、更新重みwc-k+1乃至wc-1それぞれを更新し、学習データ更新処理を終了する。
なお、図21の学習データ更新処理では、記憶内容の更新の前後において、学習データ記憶部22に記憶されている学習データの個数はk個のまま変わらない。
学習データ更新部44は、図11のステップS4において、図21で説明したようにして、時系列パターン記憶ネットワークのノードすべての学習データ記憶部22(図20)の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部45に供給する。
モデル学習部45は、学習データ更新部44から終了通知を受けると、図11で説明したように、ステップS5において、時系列パターン記憶ネットワークのパラメータを更新するパラメータ更新処理、即ち、時系列パターン記憶ネットワークの各ノードについて、学習データ更新部44による更新後の学習データ記憶部22に記憶された新たな学習データを用いて、HMM21の学習を行うことにより、そのHMM21を更新する処理を行う。
即ち、図22は、図11の学習処理において、インクリメンタル更新法を採用する場合の、図11のステップS5で行われるパラメータ更新処理を説明するフローチャートである。
なお、図22のフローチャートも、図21のフローチャートと同様に、時系列パターン記憶ネットワークのあるノードに注目し、その注目ノードが有するHMM21(図4)を更新する処理を示している。従って、図11のステップS5のパラメータ更新処理では、図22のフローチャートの処理が、時系列パターン記憶ネットワークを構成する複数のノードそれぞれについて行われる。
また、ここでは、図21の学習データ更新処理が行われ、これにより、図21で説明したように、学習データ記憶部22には、kセットの新しい順の学習データxc-k+1乃至xcと更新重みwc-k+1乃至wcのセットが記憶されているものとする。
さらに、注目ノードが有する学習データ記憶部22には、前回行われたパラメータ更新処理において、注目ノードが有するHMM21の状態遷移確率aij c-1、平均値μj c-1、および分散(σ2)j c-1を求めるときに得られた途中結果データae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1が記憶されているものとする。
モデル学習部45(図8)は、ステップS121において、注目ノードが有する学習データ記憶部22(図20)に記憶されたk個の学習データxc-k+1乃至xcを特定するための変数nに、初期値としてのc-k+1をセットする。
そして、ステップS122乃至S129において、図19のステップS72乃至S79における場合とそれぞれ同様の処理が行われる。
即ち、ステップS122において、モデル学習部45は、HMM21の状態の数M+1をカウントするための、HMM21の状態を表す変数iに、初期値としての0をセットする。
そして、ステップS122からステップS123に進み、モデル学習部45は、学習データxnである時系列の特徴量x1 n,x2 n,・・・,xT[n] nの時刻(フレーム数)をカウントするための変数tに、初期値としての1をセットして、ステップS124に進む。
ステップS124では、モデル学習部45は、学習データxn={x1 n,x2 n,・・・,xT[n] n}について、出力確率密度関数gi(xt n)、前向き確率αi n(t)、および後ろ向き確率βi n(t)を計算して、ステップS125に進み、時刻tが、学習データxnである時系列の特徴量x1 n,x2 n,・・・,xT[n] nの総数(フレーム総数)T[n]に等しいかどうかを判定する。
ステップS125において、時刻tが、フレーム総数T[n]に等しくないと判定された場合、即ち、時刻tが、フレーム総数T[n]未満である場合、ステップS126に進み、モデル学習部45は、時刻tを1だけインクリメントして、ステップS124に戻り、以下、同様の処理が繰り返される。
また、ステップS125において、時刻tが、フレーム総数T[n]に等しいと判定された場合、ステップS127に進み、モデル学習部45は、HMM21の状態を表す変数iが、最終状態SMを表すMに等しいかどうかを判定する。
ステップS127において、HMM21の状態を表す変数iが、最終状態を表すMに等しくないと判定された場合、即ち、変数iがM未満である場合、ステップS128に進み、モデル学習部45は、変数iを1だけインクリメントして、ステップS123に戻り、以下、同様の処理が繰り返される。
また、ステップS127において、HMM21の状態を表す変数iが、最終状態を表すMに等しいと判定された場合、ステップS129に進み、モデル学習部45は、式(4)にしたがって、正規化項Pφ(xn)を計算して、ステップS130に進む。
ステップS130では、モデル学習部45は、HMM21の遷移前の状態を表す変数iに、初期値としての1をセットして、ステップS131に進み、HMM21の遷移先の状態を表す変数jに、初期値としての1をセットする。
そして、ステップS131からステップS132に進み、モデル学習部45は、ステップS124で計算した出力確率密度関数gi(xt n)、前向き確率αi n(t)、および後ろ向き確率βi n(t)、注目ノードが有する学習データ記憶部22(図20)に記憶された更新重みwn、並びに注目ノードが有するHMM21の現在の状態遷移確率fijを用いて、式(21)の状態遷移確率aij cの分子ae,ij cの第1項の一部分wnΣαi n(t)fijgj(xt+1 n)βj n(t+1)を計算して、ステップS133に進む。
ステップS133では、モデル学習部45は、状態を表す変数jが、最終状態SMの1つ前(左側)の状態SM-1を表すM-1に等しいかどうかを判定する。ステップS133において、変数jがM-1に等しくないと判定された場合、ステップS134に進み、モデル学習部45は、変数jを1だけインクリメントして、ステップS132に戻り、以下、同様の処理が繰り返される。
また、ステップS133において、変数jがM-1に等しいと判定された場合、ステップS135に進み、モデル学習部45は、ステップS124で計算した前向き確率αi n(t)および後ろ向き確率βi n(t)、並びに注目ノードが有する学習データ記憶部22(図20)に記憶された更新重みwnを用いて、式(22)の状態遷移確率aij cの分母ad,ij cの第1項の一部分wnΣαi n(t)βi n(t)を計算して、ステップS136に進む。
ここで、式(22)の状態遷移確率aij cの分母ad,ij cの第1項の一部分wnΣαi n(t)βi n(t)は、式(24)の平均値μj cの分母μd,j cの第1項の一部分(wnΣαj n(t)βj n(t))、および式(26)の分散(σ2)j cの分母(σ2)d,j cの第1項の一部分(wnΣαj n(t)βj n(t))でもある。
ステップS136では、モデル学習部45は、ステップS124で計算した前向き確率αi n(t)および後ろ向き確率βi n(t)、並びに注目ノードが有する学習データ記憶部22(図20)に記憶された更新重みwnおよび学習データxnを用いて、式(23)の平均値μj cの分子μe,j cの第1項の一部分wnΣαj n(t)βj n(t)xt nを計算するとともに、式(25)の分散(σ2)j cの分子(σ2)e,j cの第1項の一部分wnΣαj n(t)βj n(t)(xt n)2を計算して、ステップS137に進む。
ステップS137では、モデル学習部45は、状態を表す変数iが、最終状態SMの1つ前(左側)の状態SM-1を表すM-1に等しいかどうかを判定する。ステップS137において、変数iがM-1に等しくないと判定された場合、ステップS138に進み、モデル学習部45は、変数iを1だけインクリメントして、ステップS131に戻り、以下、同様の処理が繰り返される。
また、ステップS137において、変数iがM-1に等しいと判定された場合、ステップS139に進み、モデル学習部45は、ステップS129で計算した正規化項Pφ(xn)、並びにステップS132で計算した式(21)の状態遷移確率aij cの分子ae,ij cの第1項の一部分wnΣαi n(t)fijgj(xt+1 n)βj n(t+1)を用いて、式(21)の分子ae,ij cの第1項における変数nについてのサメーション(Σ)の加算を1回だけ行う。
さらに、ステップS139では、モデル学習部45は、学習データ記憶部22(図20)に記憶された更新重みwnを用いて、式(21)の分子ae,ij cの第2項における変数nについてのサメーション(Σ)の加算を1回だけ行う。
また、ステップS139では、モデル学習部45は、ステップS129で計算した正規化項Pφ(xn)、並びにステップS135で計算した式(22)の状態遷移確率aij cの分母ad,ij cの第1項の一部分wnΣαi n(t)βi n(t)を用いて、式(22)の分母ad,ij cの第1項における変数nについてのサメーション(Σ)の加算を1回だけ行う。
さらに、ステップS139では、モデル学習部45は、ステップS129で計算した正規化項Pφ(xn)、並びにステップS136で計算した式(23)の平均値μj cの分子μe,j cの第1項の一部分wnΣαj n(t)βj n(t)xt nを用いて、式(23)の分子μe,j cの第1項における変数nについてのサメーション(Σ)の加算を1回だけ行うとともに、ステップS129で計算した正規化項Pφ(xn)、並びにステップS136で計算した式(25)の分散(σ2)j cの分子(σ2)e,j cの第1項の一部分wnΣαj n(t)βj n(t)(xt n)2を用いて、式(25)の分子(σ2)e,j cの第1項における変数nについてのサメーション(Σ)の加算を1回だけ行う。
その後、ステップS139からステップS140に進み、モデル学習部45は、変数nが、注目ノードが有する学習データ記憶部22(図20)に記憶されている最新の学習データxcを特定する値cに等しいかどうかを判定する。
ステップS140において、変数nが、cに等しくないと判定された場合、ステップS141に進み、モデル学習部45は、変数nを1だけインクリメントして、ステップS122に戻り、以下、ステップS140で変数nがcに等しいと判定されるまで、ステップS122乃至S141の処理が繰り返される。
ここで、ステップS122乃至S141の処理が繰り返されることにより、ステップS139では、式(21)の状態遷移確率aij cの分子ae,ij cの第1項における変数nについてのサメーション(Σ)、つまり、式(21)の分子ae,ij cの第1項の(1/Pφ(xn))wnΣαi n(t)fijgj(xt+1 n)βj n(t+1)の、変数nをc-k+1からcに変えての累積(積算)が行われる。さらに、式(21)の分子ae,ij cの第2項における変数nについてのサメーション(Σ)、つまり、式(21)の分子ae,ij cの第2項のwnの、変数nをc-k+1からcに変えての累積も行われる。同様に、式(22)の状態遷移確率aij cの分母ad,ij cの第1項における変数nについてのサメーション(Σ)、式(23)の平均値μj cの分子μe,j cの第1項における変数nについてのサメーション(Σ)、および式(25)の分散(σ2)j cの分子(σ2)e,j cの第1項における変数nについてのサメーション(Σ)も行われる。
その後、ステップS140において、変数nがcに等しいと判定された場合、即ち、式(21)の状態遷移確率aij cの分子ae,ij cの第1項における変数nについてのサメーション(Σ)、式(21)の分子ae,ij cの第2項における変数nについてのサメーション(Σ)、式(22)の状態遷移確率aij cの分母ad,ij cの第1項における変数nについてのサメーション(Σ)、式(23)の平均値μj cの分子μe,j cの第1項における変数nについてのサメーション(Σ)、および式(25)の分散(σ2)j cの分子(σ2)e,j cの第1項における変数nについてのサメーション(Σ)のすべての計算が終了した場合、ステップS142に進み、モデル学習部45は、式(21)乃至式(26)をそれぞれ計算することにより、途中結果データae,ij c,ad,ij c,μe,j c,μd,j c,(σ2)e,j c,(σ2)d,j cを求める。
即ち、ステップS142では、モデル学習部45は、式(21)の分子ae,ij cの第2項における変数nについてのサメーション(Σ)の計算結果Σwn(=wc-k+1+wc-k+2+・・・+wc)と、注目ノードが有する学習データ記憶部22(図20)に記憶されている、前回のHMM21の学習時(前回のパラメータ更新処理時)に求められた途中結果データae,ij c-1とから、式(21)の分子ae,ij cの第2項(W-Σwn)/W×ae,ij c-1を求める。さらに、モデル学習部45は、その第2項(W-Σwn)/W×ae,ij c-1と、式(21)の分子ae,ij cの第1項における変数nについてのサメーション(Σ)の計算結果とから、式(21)の分子ae,ij cを、今回のHMM21の学習時の途中結果データ(の1つ)として求める。
また、モデル学習部45は、計算結果Σwnと、注目ノードが有する学習データ記憶部22に記憶されている、前回のHMM21の学習時に求められた途中結果データad,ij c-1とから、式(22)の分母ad,ij cの第2項(W-Σwn)/W×ad,ij c-1を求める。さらに、モデル学習部45は、その第2項(W-Σwn)/W×ad,ij c-1と、式(22)の分母ad,ij cの第1項における変数nについてのサメーション(Σ)の計算結果とから、式(22)の分母ad,ij cを、今回のHMM21の学習時の途中結果データとして求める。
同様に、モデル学習部45は、計算結果Σwn、注目ノードが有する学習データ記憶部22に記憶されている、前回のHMM21の学習時に求められた途中結果データμe,j c-1、および式(23)の分子μe,j cの第1項における変数nについてのサメーション(Σ)の計算結果から、式(23)の分子μe,j cを、今回のHMM21の学習時の途中結果データとして求め、計算結果Σwn、注目ノードが有する学習データ記憶部22に記憶されている、前回のHMM21の学習時に求められた途中結果データμd,j c-1、および式(22)の分母ad,ij cの第1項における変数nについてのサメーション(Σ)の計算結果(この計算結果は、式(24)の分母μd,j cの第1項における変数nについてのサメーション(Σ)の計算結果に等しい)から、式(24)の分母μd,j cを、今回のHMM21の学習時の途中結果データとして求める。
さらに、同様に、モデル学習部45は、計算結果Σwn、注目ノードが有する学習データ記憶部22に記憶されている、前回のHMM21の学習時に求められた途中結果データ(σ2)e,j c-1、および式(25)の分子(σ2)e,j cの第1項における変数nについてのサメーション(Σ)の計算結果から、式(25)の分子(σ2)e,j cを、今回のHMM21の学習時の途中結果データとして求め、計算結果Σwn、注目ノードが有する学習データ記憶部22に記憶されている、前回のHMM21の学習時に求められた途中結果データ(σ2)d,j c-1、および式(22)の分母ad,ij cの第1項における変数nについてのサメーション(Σ)の計算結果(この計算結果は、式(26)の分母(σ2)d,j cの第1項における変数nについてのサメーション(Σ)の計算結果に等しい)から、式(26)の分母(σ2)d,j cを、今回のHMM21の学習時の途中結果データとして求める。
そして、モデル学習部45は、今回のHMM21の学習時の途中結果データae,ij c,ad,ij c,μe,j c,μd,j c,(σ2)e,j c,(σ2)d,j cを、前回のHMM21の学習時の途中結果データae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1に代えて、注目ノードが有する学習データ記憶部22(図20)に記憶させ、ステップS142からS143に進む。
ステップS143では、モデル学習部45は、ステップS142で求めた式(21)の途中結果データae,ij cを、同じくステップS142で求めた式(22)の途中結果データad,ij cで除算することにより、式(18)の状態遷移確率aij cを求めて(計算して)、ステップS144に進む。
ステップS144では、モデル学習部45は、ステップS142で求めた式(23)の途中結果データμe,j cを、同じくステップS142で求めた式(24)の途中結果データμd,j cで除算することにより、式(19)の平均値μj cを求めるとともに、ステップS142で求めた式(25)の途中結果データ(σ2)e,j cを、同じくステップS142で求めた式(26)の途中結果データ(σ2)d,j cで除算し、その除算値から平均値μj cの2乗(μ,j c)2を減算することにより、式(20)の分散(σ2)j cを求める。
そして、モデル学習部45は、注目ノードが有するHMM21の状態遷移確率aij c-1(状態遷移確率fij)を、ステップS143で求めた式(18)の状態遷移確率aij cに更新する。同様に、モデル学習部45は、注目ノードが有するHMM21の平均値μj c-1と分散(σ2)j c-1とを、ステップS144で求めた式(19)の平均値μj cと、式(20)の分散(σ2)j cとに、それぞれ更新し、パラメータ更新処理を終了する。
以上のように、k-インクリメンタル更新法では、注目ノードが有するHMM21の前回の更新(学習)で行われた計算の途中結果である途中結果データae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1を記憶する途中結果記憶手段としての学習データ記憶部22に記憶された途中結果データae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1を用いるとともに、新しい順のk個の時系列データxn(xc-k+1,xc-k+2,・・・,xc)を、注目ノードが有するHMM21の学習に用いる学習データとして、学習データである時系列データxnに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwnで、学習データxnを用いて、注目ノードが有するHMM21の学習を行うことにより、そのHMM21を更新する。
即ち、k-インクリメンタル更新法では、新しい順のk個の学習データxnを、更新重みwn(にしたがった重み)で用いて、式(21)乃至式(26)の右辺の第1項の計算を行い、その第1項の計算結果に対して、前回のHMM21の学習時に得られた途中結果データ(ae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1)を、式(21)乃至式(26)の右辺の第1項の計算に用いられた学習データxnの更新重みwnの総和Σwnに基づく係数(W-Σwn)/Wだけ割り引いて加算することで、学習データx1乃至xcのすべてを用いたHMM21の学習が、新しい順のk個の学習データxc-k+1乃至xcを用いたHMM21の学習によって近似的に行われる。
なお、k-インクリメンタル更新法では、前回のHMM21の学習時に得られた途中結果データ(ae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1)が、式(21)乃至式(26)の右辺の第1項の計算に用いられた学習データxnの更新重みwnの総和Σwnに基づく係数(W-Σwn)/Wだけ割り引いて用いられるので、前回のHMM21の学習時に用いられたが、今回のHMM21の学習時には用いられていない学習データxc-kが、今回のHMM21の学習により得られる途中結果データ(ae,ij c,ad,ij c,μe,j c,μd,j c,(σ2)e,j c,(σ2)d,j c)に及ぼす影響は、前回のHMM21の学習時に得られた途中結果データ(ae,ij c-1,ad,ij c-1,μe,j c-1,μd,j c-1,(σ2)e,j c-1,(σ2)d,j c-1)に及ぼした影響を係数(W-Σwn)/Wだけ割り引いた程度となる。つまり、古い学習データほど、HMM21に与える影響は割り引かれていく。
k-インクリメンタル更新法では、新しい順のk個の学習データxc-k+1,xc-k+2,・・・,xcを、それぞれ更新重みwc-k+1,wc-k+2,・・・,wcで用いて、HMM21の学習が行われるので、いままでに得られた時系列データx1,x2,・・・,xcのすべてを学習データとして用いて、HMM21の学習を行う場合と比較すれば、HMM21の学習に用いられる学習データの数が、k/cとなる。従って、kを、小さい値、即ち、例えば1などとすることにより、重み付き更新法よりも、HMM21の学習の高速化を図り、さらには、学習データ記憶部22(図20)に必要とされる記憶容量の低減化を図ることができる。
ここで、kとして1を採用した場合には、前回以前のHMM21の学習に用いた学習データを保持しておく必要がなくなる。さらに、kとして1を採用した場合には、いままでに得られた時系列データx1,x2,・・・,xcのすべてを学習データとして用いて、HMM21の学習を行う場合に比較して、学習に要する計算量は、(単純には)1/cになる。例えば、cが100であれば、学習に要する計算量は1/100になる。また、上述した重み付き更新法において、例えば、cに対応するHが100であり、更新重みwnの期待値が4であるとすると、更新重みwnの総和Wが100(=H)になる学習データx1乃至xNの数Nは25(=100/4)となる。従って、重み付き更新法では、25個の学習データを用いてHMM21の学習が行われるが、k-インクリメンタル更新法において、kとして1を採用した場合には、1個の学習データを用いてHMM21の学習が行われるので、kとして1を採用した場合のk-インクリメンタル更新法では、重み付き更新法と比較すると、計算量は1/25になる。
ところで、上述の重み付き更新法とk-インクリメンタル更新法とを比較するために、c=Nとすると、重み付き更新法では、新たな学習データxcが得られた時点で、更新重みw1乃至wcの総和Wが固定の値Hになるc個の新しい順の学習データx1乃至xcを用いて、HMM21の学習が行われるのに対して、k-インクリメンタル更新法では、新たな学習データxcが得られた時点で、c個の学習データx1乃至xcのうちの、新しい順のk個の学習データxc-k+1乃至xcと、前回の新たな学習データxc-1が得られた時点で行われたHMM21の学習時の途中結果データとを用いて、HMM21の学習が行われる。
従って、k-インクリメンタル更新法では、新たな学習データxcが得られた時点で、HMM21の学習に実際には用いられない学習データx1乃至xc-kを用いた計算結果を、前回の新たな学習データxc-1が得られた時点で行われたHMM21の学習時の途中結果データで近似して、新たな学習データxcが得られた時点でのHMM21の学習が行われる。
このため、k-インクリメンタル更新法では、その近似が行われる分だけ、重み付き更新法に比較して、HMM21の学習の精度(HMM21の学習によって求められる状態遷移確率aij、平均値μj、および分散σj 2の精度)が劣化する。これに対して、重み付き更新法では、k-インクリメンタル更新法のような近似が行われないので、HMM21の学習を精度良く行うことができる。
k-インクリメンタル更新法において、kを大きな値とすれば、HMM21の学習の精度は向上し、最終的に、kをc(=N)とすれば、HMM21の学習の精度を、重み付き更新法と同等程度とすることができる。
しかしながら、k-インクリメンタル更新法において、kをcとすると、HMM21の学習に用いられる学習データの数kは、重み付き更新法と変わらなくなり、従って、HMM21の学習に要する計算量も、重み付き更新法と変わらなくなる。
つまり、k-インクリメンタル更新法では、kを小さい値とすることにより、HMM21の学習に要する計算量を低減化し、HMM21の学習の高速化を図ることができるが、その一方で、HMM21の学習の精度は劣化する。さらに、k-インクリメンタル更新法では、kを大きい値とすることにより、HMM21の学習の精度の劣化を低減することができるが、その一方で、HMM21の学習に要する計算量が増加し、HMM21の学習、ひいては、時系列パターン記憶ネットワークの学習に時間を要することになる。
以上のように、重み付き更新法では、精度の良いHMM21の学習を行うことができるが、kが小さい値のk-インクリメンタル更新法と比較して、計算量が大になり、HMM21の学習に時間を要する。
また、kが小さい値のk-インクリメンタル更新法では、kが大きい値のk-インクリメンタル更新法や、重み付き更新法に比較して、HMM21の学習を高速に行うことができるが、学習の精度が劣化する。逆に、kが大きい値のk-インクリメンタル更新法では、kが小さい値のk-インクリメンタル更新法に比較して、HMM21の学習を精度良く行うことができるが、計算量が大になり、HMM21の学習に時間を要する。
そこで、図8の学習処理部32では、図11の学習処理に代えて、k-インクリメンタル更新法のkを適宜変更して、時系列パターン記憶ネットワークの学習を行う学習処理、あるいは、重み付き更新法と、kが小さい値のk-インクリメンタル更新法とを適宜選択して、時系列パターン記憶ネットワークの学習を行う学習処理を行うことができる。
図23は、k-インクリメンタル更新法のkを適宜変更して、時系列パターン記憶ネットワークの学習を行う学習処理を説明するフローチャートである。
信号処理部1(図2)に対して、1個の処理対象データ、即ち、例えば、1の音声区間の音声データが入力されると、信号入力部1は、その処理対象データを、特徴抽出部2に供給する。特徴抽出部2は、処理対象データから特徴量を抽出し、その特徴量の時系列データ(1個の新たな時系列データ)を、学習部4に供給する。
学習部4(図7)は、特徴抽出部2からの新たな時系列データを、学習データ記憶部31に一時記憶させ、以下、ステップS161乃至S166において、記憶部5に記憶された時系列パターン記憶ネットワークを、学習データ記憶部31に記憶された新たな時系列データ(の観測値)に基づいて、自己組織的に更新(学習)する。
即ち、学習部4の学習処理部32(図8)では、ステップS161において、スコア計算部41が、図11のステップS1と同様に、学習データ記憶部31に記憶された新たな時系列データxcを読み出し、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、新たな時系列データxcに適合する度合いを表すスコアとして求める。
スコア計算部41は、時系列パターン記憶ネットワークが有するすべてのノードについて、新たな時系列データxcに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部42に供給する。
勝者ノード決定部42は、ステップS162において、図11のステップS2と同様に、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部41からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部42は、勝者ノードを表す情報としてのノードラベルを、重み決定部43に供給する。
重み決定部43は、ステップS163において、図11のステップS3と同様に、勝者ノード決定部42からのノードラベルが表す勝者ノードを基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みwcを決定し、学習データ更新部44に供給する。
学習データ更新部44は、ステップS164において、k-インクリメンタル更新法のkを選択(決定)する。
即ち、例えば、いま、変数vの増加に応じて、1より大の所定の値Qから1に減少する関数を、f(Q,1)(v)と表すとともに、値の小数点以下を切り捨てて整数化する関数をINT()と表すこととすると、学習データ更新部44は、変数vに、時系列パターン記憶ネットワークの更新(学習)の回数をセットして、式k=INT(f(Qc,1)(v))にしたがい、kを求める。この場合、kとしては、時系列パターン記憶ネットワークの更新の回数vの増加に応じて、Qから1に減少する値が求められる。
その後、ステップS164からステップS165に進み、学習データ更新部44は、時系列パターン記憶ネットワークの各ノードが有する学習データ記憶部22(図4)に記憶された学習データを、ステップS164で求めたkに応じて更新する。
さらに、学習データ更新部44は、図21のステップS112で説明したように、重みwc-k+1乃至wc-1それぞれに、(w-wc)/wを乗算し、その乗算値に、重みwc-k+1乃至wc-1を更新する。
即ち、学習データ更新部44は、ステップS165において、学習データ記憶部31に記憶されている新たな時系列データxcとしての新たな学習データと、重み決定部43で求められた更新重みwcとを対応付け、その新たな時系列データxcおよび更新重みwcのセットに、ノードの学習データ記憶部22に記憶されている、新しい順のk-1セットの学習データおよび更新重みのセットを加えたkセットの学習データxc-k+1乃至xcおよび更新重みwc-k+1乃至wcのセットに、学習データ記憶部22の記憶内容を更新する。
学習データ更新部44は、時系列パターン記憶ネットワークのノードすべての学習データ記憶部22(図4)の記憶内容を更新すると、その更新が終了した旨の終了通知を、ステップS164で求めたkとともに、モデル学習部45に供給して、ステップS165からステップS166に進む。
モデル学習部45は、学習データ更新部44から終了通知とkを受けると、ステップS166において、そのkを採用したk-インクリメンタル更新法により、図22で説明したように、時系列パターン記憶ネットワークのパラメータの更新、即ち、時系列パターン記憶ネットワークの各ノードが有するHMM21の学習を行い、HMM21を更新して、学習処理を終了する。
図23の学習処理によれば、時系列パターン記憶ネットワークの更新(学習)の回数vの増加に伴って、k-インクリメンタル更新法のkが減少するように変更してHMM21の学習が行われる。
従って、時系列パターン記憶ネットワークの学習(HMM21の学習)が進行するにつれ、高速な学習処理が可能となる。さらに、学習の精度も高精度に維持することができる。
即ち、図23の学習処理によれば、時系列パターン記憶ネットワークの更新の回数vが少なく、従って、HMM21の学習が充分ではない場合には、大きな値のkを採用したk-インクリメンタル更新法によるHMM21の更新が行われるので、HMM21の学習を高精度で行うことができる。
さらに、時系列パターン記憶ネットワークの更新の回数vが多くなり、HMM21の学習が充分に行われると、小さな値のkを採用したk-インクリメンタル更新法によるHMM21の更新が行われるので、HMM21の学習を高速に行うことができる。
そして、HMM21の学習が充分に行われると、即ち、時系列パターン記憶ネットワークの複数のノードが有するHMM21それぞれは、特定の時系列パターンを表現するように収束し、HMM21の更新の前後で、HMM21を定義する状態遷移確率aij、平均値μj、および分散σj 2の変化は少なくなる。その結果、小さな値のkを採用したk-インクリメンタル更新法によるHMM21の更新を行っても、学習の精度にほとんど影響しなくなる。
なお、図23の学習処理では、時系列パターン記憶ネットワークの更新の回数vに応じて、k-インクリメンタル更新法のkを変更するようにしたが、その他、例えば、時系列パターン記憶ネットワークの更新の回数vが少ない場合には、重み付き更新法によるHMM21の更新を選択して行い、時系列パターン記憶ネットワークの更新の回数vが多くなってからは、小さな値のkを採用したk-インクリメンタル更新法によるHMM21の更新を選択して行うようにすることも可能である。この場合も、時系列パターン記憶ネットワークの学習の進行に伴い、高速な学習処理を行うことができ、かつ、学習の精度も高精度に維持することができる。
次に、図24は、重み付き更新法と、kが小さい値のk-インクリメンタル更新法とを適宜選択して、時系列パターン記憶ネットワークの学習を行う学習処理を説明するフローチャートである。
信号処理部1(図2)に対して、1個の処理対象データ、即ち、例えば、1の音声区間の音声データが入力されると、信号入力部1は、その処理対象データを、特徴抽出部2に供給する。特徴抽出部2は、処理対象データから特徴量を抽出し、その特徴量の時系列データ(1個の新たな時系列データ)を、学習部4に供給する。
学習部4(図7)は、特徴抽出部2からの新たな時系列データを、学習データ記憶部31に一時記憶させ、以下、ステップS181乃至S188において、記憶部5に記憶された時系列パターン記憶ネットワークを、学習データ記憶部31に記憶された新たな時系列データ(の観測値)に基づいて、自己組織的に更新(学習)する。
即ち、学習部4の学習処理部32(図8)では、ステップS181において、スコア計算部41が、図11のステップS1と同様に、学習データ記憶部31に記憶された新たな時系列データxcを読み出し、記憶部5に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、新たな時系列データxcに適合する度合いを表すスコアとして求める。
スコア計算部41は、時系列パターン記憶ネットワークが有するすべてのノードについて、新たな時系列データxcに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部42に供給する。
勝者ノード決定部42は、ステップS182において、図11のステップS2と同様に、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部41からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部42は、勝者ノードを表す情報としてのノードラベルを、重み決定部43に供給する。
重み決定部43は、ステップS183において、図11のステップS3と同様に、勝者ノード決定部42からのノードラベルが表す勝者ノードを基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みwcを決定し、学習データ更新部44に供給する。
学習データ更新部44は、ステップS184において、学習データ記憶部31に記憶されている新たな時系列データxcとしての新たな学習データと、重み決定部43で求められた更新重みwcとを対応付け、その新たな時系列データxcおよび更新重みwcのセットを、学習データ記憶部22(図4)に記憶させることにより、その記憶内容を更新する。
ここで、ステップS184において、学習データ記憶部22の記憶内容を更新する学習データ更新処理は、重み付き更新法で説明した図18のフローチャートにしたがって行われる。
学習データ更新部44は、時系列パターン記憶ネットワークのノードすべての学習データ記憶部22(図4)の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部45に供給する。
モデル学習部45は、学習データ更新部44から終了通知を受けると、ステップS185において、HMM21を更新する更新方法を選択するための変数Fを、式F=mod(v,Num)にしたがって決定する。
ここで、変数vは、時系列パターン記憶ネットワークの更新(学習)の回数を表す。Numは、あらかじめ設定される正の整数値(定数)である。mod(v,Num)は、変数vを、定数Numで除算したときの剰余を表す。
モデル学習部45は、ステップS185において、変数Fを決定する(求める)と、ステップS186に進み、変数Fが0であるかどうかを判定する。ステップS185において、変数Fが0であると判定された場合、ステップS187に進み、モデル学習部45は、HMM21を更新する方法として、重み付き更新法を選択し、その重み付き更新法により、図19で説明したように、時系列パターン記憶ネットワークのパラメータの更新、即ち、時系列パターン記憶ネットワークの各ノードが有するHMM21の学習を行い、HMM21を更新して、学習処理を終了する。
また、ステップS186において、変数Fが0でないと判定された場合、ステップS188に進み、モデル学習部45は、HMM21を更新する方法として、kが小さい値のk-インクリメンタル更新法、即ち、例えば、kが1のk-インクリメンタル更新法を選択し、そのk-インクリメンタル更新法により、図22で説明したように、時系列パターン記憶ネットワークのパラメータの更新、即ち、時系列パターン記憶ネットワークの各ノードが有するHMM21の学習を行い、HMM21を更新して、学習処理を終了する。
図24の学習処理によれば、時系列パターン記憶ネットワークの更新(学習)の回数vに応じて、重み付き更新法、またはkが1のk-インクリメンタル更新法を選択して、HMM21の更新(パラメータ更新処理)が行われるので、HMM21の学習の精度を劣化を防止しながら、高速な学習処理が可能となる。
即ち、図24の学習処理によれば、Num回の時系列パターン記憶ネットワークの更新のうちの、Num-1回は、kが1のk-インクリメンタル更新法によるHMM21の更新が行われ、1回は、重み付き更新法によるHMM21の更新が行われる。例えば、Numが5である場合には、5回中の4回は、kが1のk-インクリメンタル更新法によるHMM21の更新が行われ、残りの1回は、重み付き更新法によるHMM21の更新が行われる。
その結果、重み付き更新法によってのみ、HMM21の更新を行う場合に比較して、高速な学習処理が可能となる。また、kが1のk-インクリメンタル更新法によってのみ、HMM21の更新を行う場合に比較して、HMM21の学習の精度の劣化を防止することができる。
なお、図24では、時系列パターン記憶ネットワークの更新の回数vに応じて、重み付き更新法、またはkが1のk-インクリメンタル更新法の一方を選択して、HMM21の更新を行うようにしたが、その他、例えば、時系列パターン記憶ネットワークの更新の回数vに応じて、kが大きい値のk-インクリメンタル更新法、またはkが小さい値のk-インクリメンタル更新法のうちの一方を選択して、HMM21の更新を行うようにしても良い。この場合も、HMM21の学習の精度を劣化を防止しながら、高速な学習処理が可能となる。
ここで、重み付き更新法、またはk-インクリメンタル更新法の一方を選択して、HMM21の更新を行う場合には、重み付き更新法によって行われるHMM21の学習において、k-インクリメンタル更新法によってHMM21の学習を行う場合と同様に、途中結果データを得て、学習データ記憶部22に記憶しておく必要がある。
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図25は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク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 信号入力部, 2 特徴抽出部, 3 認識部, 4 学習部, 5 記憶部, 6 生成部, 21 HMM, 22,31 学習データ記憶部, 32 学習処理部, 41 スコア計算部, 42 勝者ノード決定部, 43 重み決定部, 44 学習データ更新部, 45 モデル学習部, 51 スコア計算部, 52 勝者ノード決定部, 53 出力部, 61 生成ノード決定部, 62 時系列決定部, 63 出力部, 301 バス, 302 CPU, 303 ROM, 304 RAM, 305 ハードディスク, 306 出力部, 307 入力部, 308 通信部, 309 ドライブ, 310 入出力インタフェース, 311 リムーバブル記録媒体
Claims (14)
- 時系列のデータである時系列データに基づき、学習を行う学習装置において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段を備え、
前記学習手段は、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定手段と、
前記時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データを、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みと対応付けて記憶する学習データ記憶手段において、新たな時系列データの観測値が前記学習データとして記憶されるときに、新しい順の前記学習データに対応付けされた前記重みの総和が、所定の値になるように、前記学習データ記憶手段の記憶内容を更新する学習データ更新手段と、
記憶内容が更新された前記学習データ記憶手段に記憶された前記学習データを、前記学習データに対応付けられた前記重みで用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新手段と
を有する
ことを特徴とする学習装置。 - 前記学習データ更新手段は、前記新たな時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みが1以下である場合、前記新たな時系列データの観測値を破棄する
ことを特徴とする請求項1に記載の学習装置。 - 時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップと、
前記時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みと対応付けて記憶する学習データ記憶手段において、新たな時系列データの観測値が前記学習データとして記憶されるときに、新しい順の前記学習データに対応付けされた前記重みの総和が、所定の値になるように、前記学習データ記憶手段の記憶内容を更新する学習データ更新ステップと、
記憶内容が更新された前記学習データ記憶手段に記憶された前記学習データを、前記学習データに対応付けられた前記重みで用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新ステップと
を有する
ことを特徴とする学習方法。 - 時系列のデータである時系列データに基づき、学習を行う学習処理を、コンピュータに実行させるプログラムにおいて、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップと、
前記時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みと対応付けて記憶する学習データ記憶手段において、新たな時系列データの観測値が前記学習データとして記憶されるときに、新しい順の前記学習データに対応付けされた前記重みの総和が、所定の値になるように、前記学習データ記憶手段の記憶内容を更新する学習データ更新ステップと、
記憶内容が更新された前記学習データ記憶手段に記憶された前記学習データを、前記学習データに対応付けられた前記重みで用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新ステップと
を有する
ことを特徴とする前記学習処理を、コンピュータに実行させるプログラム。 - 時系列のデータである時系列データに基づき、学習を行う学習装置において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段を備え、
前記学習手段は、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定手段と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新手段と
を有する
ことを特徴とする学習装置。 - 前記モデル更新手段は、前記途中結果データを用いるとともに、新しい順のk(kは正の整数値)個の前記時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データを、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みと対応付けて記憶する学習データ記憶手段に記憶された前記学習データを、前記学習データに対応付けられた前記重みで用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する
ことを特徴とする請求項5に記載の学習装置。 - 前記HMMの学習に前記学習データとして用いられる新しい順の時系列データの観測値の個数である前記kは、前記時系列パターン記憶ネットワークの更新の回数の増加に応じて減少する
ことを特徴とする請求項6に記載の学習装置。 - 前記HMMの学習に前記学習データとして用いられる新しい順の時系列データの観測値の個数である前記kは、前記時系列パターン記憶ネットワークの更新の回数に応じて1、または1より大の整数値に設定される
ことを特徴とする請求項6に記載の学習装置。 - 時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップと、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新ステップと
を有する
ことを特徴とする学習方法。 - 時系列のデータである時系列データに基づき、学習を行う学習処理を、コンピュータに行わせるプログラムにおいて、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップと、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新ステップと
を有する
ことを特徴とする前記学習処理を、コンピュータに実行させるプログラム。 - 時系列のデータである時系列データに基づき、学習を行う学習装置において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段を備え、
前記学習手段は、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定手段と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法、
または、新しい順のN個の前記時系列データの観測値を、前記学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法
のうちの一方を選択して、前記HMMを更新するモデル更新手段と
を有する
ことを特徴とする学習装置。 - 前記モデル更新手段は、前記時系列パターン記憶ネットワークの更新の回数に応じて、前記HMMを更新する更新方法を選択する
ことを特徴とする請求項11に記載の学習装置。 - 時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップと、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法、
または、新しい順のN個の前記時系列データの観測値を、前記学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法
のうちの一方を選択して、前記HMMを更新するモデル更新ステップと
を有する
ことを特徴とする学習方法。 - 時系列のデータである時系列データに基づき、学習を行う学習処理を、コンピュータに実行させるプログラムにおいて、
前記時系列データのパターンである時系列パターンを表現するHMM(Hidden Markov Model)を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップと、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップと、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法、
または、新しい順のN個の前記時系列データの観測値を、前記学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する更新方法
のうちの一方を選択して、前記HMMを更新するモデル更新ステップと
を有する
ことを特徴とする学習処理を、コンピュータに行わせるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005108184A JP2006285881A (ja) | 2005-04-05 | 2005-04-05 | 学習装置、学習方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005108184A JP2006285881A (ja) | 2005-04-05 | 2005-04-05 | 学習装置、学習方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006285881A true JP2006285881A (ja) | 2006-10-19 |
Family
ID=37407709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005108184A Withdrawn JP2006285881A (ja) | 2005-04-05 | 2005-04-05 | 学習装置、学習方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006285881A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012008184A1 (ja) * | 2010-07-14 | 2012-01-19 | 学校法人早稲田大学 | 隠れマルコフモデルの推定方法,推定装置および推定プログラム |
-
2005
- 2005-04-05 JP JP2005108184A patent/JP2006285881A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012008184A1 (ja) * | 2010-07-14 | 2012-01-19 | 学校法人早稲田大学 | 隠れマルコフモデルの推定方法,推定装置および推定プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4639784B2 (ja) | 学習装置および学習方法、並びにプログラム | |
US7725412B2 (en) | Identifying temporal sequences using a recurrent self organizing map | |
JP2006285899A (ja) | 学習装置および学習方法、生成装置および生成方法、並びにプログラム | |
US11386330B2 (en) | Learning coach for machine learning system | |
JP4169063B2 (ja) | データ処理装置、データ処理方法、及びプログラム | |
US11798535B2 (en) | On-device custom wake word detection | |
JP4710933B2 (ja) | 学習装置、学習方法、およびプログラム | |
JP6509694B2 (ja) | 学習装置、音声検出装置、学習方法およびプログラム | |
US20070185825A1 (en) | Learning system and method, recognition device and method, creation device and method, recognition and creation device and method, and program | |
Swietojanski et al. | Structured output layer with auxiliary targets for context-dependent acoustic modelling | |
Deng et al. | Deep dynamic models for learning hidden representations of speech features | |
Kurimo | Using self-organizing maps and learning vector quantization for mixture density hidden Markov models | |
McDermott et al. | A derivation of minimum classification error from the theoretical classification risk using Parzen estimation | |
Zoughi et al. | A gender-aware deep neural network structure for speech recognition | |
JP6158105B2 (ja) | 言語モデル作成装置、音声認識装置、その方法及びプログラム | |
JP2006285881A (ja) | 学習装置、学習方法、およびプログラム | |
JP2007280057A (ja) | データ処理装置、データ処理方法、およびプログラム | |
JP2007280007A (ja) | データ処理装置、データ処理方法、およびプログラム | |
JP5385810B2 (ja) | 線形分類モデルに基づく音響モデルパラメータ学習方法とその装置、音素重み付き有限状態変換器生成方法とその装置、それらのプログラム | |
Ramesh et al. | CNN and Sound Processing-Based Audio Classifier for Alarm Sound Detection | |
Ratajczak et al. | Structured regularizer for neural higher-order sequence models | |
JP2019095894A (ja) | 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム | |
Alamina | Deep Scattering and End-to-End Speech Models towards Low Resource Speech Recognition | |
JP2009043122A (ja) | データ処理装置、データ処理方法、及びプログラム | |
JP2008276290A (ja) | データ処理装置、データ処理方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080701 |