(57)【要約】【課題】時系列データの教師なし学習を、容易に行う。【解決手段】  時系列データのパターンである時系列パターンを表現するHMMを有する複数のノードNiから構成されるネットワークである時系列パターン記憶ネットワークの更新にあたり、新たな時系列データの観測値が、ノードNiが有するHMMの学習に用いる学習データとして、その新たな時系列データの観測値に最も適合する勝者ノードに基づいてノードNiに対して決定された更新重みと対応付けて記憶される。そして、学習処理部３２は、学習データを、その学習データに対応付けられた更新重みで用いて、ノードNiが有するHMMの学習を行うことにより、そのHMMを更新する。本発明は、例えば、ロボットなどに適用できる。【選択図】図７
2006285881.tif 000002
【特許請求の範囲】
【請求項１】
時系列のデータである時系列データに基づき、学習を行う学習装置において、
前記時系列データのパターンである時系列パターンを表現する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（Hidden Markov Model）を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段を備え、
前記学習手段は、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定手段と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新手段と
を有する
ことを特徴とする学習装置。
【請求項６】
前記モデル更新手段は、前記途中結果データを用いるとともに、新しい順のk（kは正の整数値）個の前記時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データを、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みと対応付けて記憶する学習データ記憶手段に記憶された前記学習データを、前記学習データに対応付けられた前記重みで用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新する
ことを特徴とする請求項５に記載の学習装置。
【請求項７】
前記HMMの学習に前記学習データとして用いられる新しい順の時系列データの観測値の個数である前記kは、前記時系列パターン記憶ネットワークの更新の回数の増加に応じて減少する
ことを特徴とする請求項６に記載の学習装置。
【請求項８】
前記HMMの学習に前記学習データとして用いられる新しい順の時系列データの観測値の個数である前記kは、前記時系列パターン記憶ネットワークの更新の回数に応じて1、または1より大の整数値に設定される
ことを特徴とする請求項６に記載の学習装置。
【請求項９】
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現する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を更新する更新方法を選択する
ことを特徴とする請求項１１に記載の学習装置。
【請求項１３】
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現する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を更新するモデル更新ステップと
を有する
ことを特徴とする学習処理を、コンピュータに行わせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法、およびプログラムに関し、特に、例えば、音声のような時系列のデータである時系列データの教師なし学習を、容易に行うことができるようにする学習装置、学習方法、およびプログラムに関する。
【背景技術】
【０００２】
パターンを学習して認識を行う技術は、一般にパターン認識（pattern recognition）と呼ばれ、パターン認識における学習は、教師あり学習（supervised learning）と、教師なし学習（unsupervised learning）とに分けることができる。
【０００３】
教師あり学習とは、各パターンの学習データがどのクラスに属するかの情報（これを正解ラベルと呼ぶ）を与えて、各パターンごとに、そのパターンに属する学習データを学習する方法であり、テンプレートマッチング、ニューラルネットワーク、HMM（Hidden Markov Model）などを用いた学習方法が数多く提案されている。
【０００４】
ここで、図１は、従来の教師あり学習の一例を示している。
【０００５】
教師あり学習では、学習に利用する学習データが、想定したカテゴリ（クラス）（例えば、音声認識を行うための学習においては、各音素のカテゴリや、各音韻のカテゴリ、各単語のカテゴリなど）ごとに用意される。例えば、"A"，"B"，"C"という発声の音声データ（のパターン）を学習する場合、"A"，"B"，"C"それぞれの多数の音声データが、学習データとして用意される。
【０００６】
一方、学習に利用するモデル（各カテゴリの学習データを学習させるモデル）も、想定したカテゴリごとに用意される。ここで、モデルは、パラメータによって定義される。例えば、音声データの学習には、モデルとして、ＨＭＭなどが用いられるが、HMMは、ある状態から他の状態（元の状態を含む）に遷移する状態遷移確率や、HMMから出力される観測値の確率密度を表す出力確率密度関数などによって定義される。
【０００７】
教師あり学習では、各カテゴリ（クラス）のモデルの学習が、そのカテゴリの学習データのみを用いて行われる。即ち、図１では、カテゴリ"A"のモデルの学習は、カテゴリ"A"の学習データのみを用いて行われ、カテゴリ"B"のモデルの学習は、カテゴリ"B"の学習データのみを用いて行われる。同様に、カテゴリ"C"のモデルの学習も、カテゴリ"C"の学習データのみを用いて行われる。
【０００８】
教師あり学習においては、このように、各カテゴリの学習データを用いて、そのカテゴリのモデルの学習を行う必要があるため、カテゴリごとに、そのカテゴリの学習データを用意し、各カテゴリのモデルに対して、そのカテゴリの学習データを与えて、カテゴリごとのモデルを得る。その結果、教師あり学習によれば、正解ラベルに基づき、クラスごとのテンプレート（正解ラベルが表すクラス（カテゴリ）のモデル）を得ることができる。
【０００９】
従って、認識時には、ある認識対象のデータに対し、その認識対象のデータに最も適合(match)するテンプレート（尤度が最も高いテンプレート）の正解ラベルを、認識結果として出力することができる。
【００１０】
一方、教師なし学習は、各パターンの学習データに正解ラベルが与えられない状況で行われる学習であり、例えば、テンプレートマッチングやニューラルネットなどを用いた学習方法があるが、正解ラベルが与えられないという点で、教師あり学習とは大きく異なる。
【００１１】
ところで、パターン認識は、そのパターン認識によって認識しようとする認識対象のデータ（信号）が観測される信号空間の量子化と見ることができる。特に、認識対象のデータがベクトルである場合のパターン認識は、ベクトル量子化（vector quantization）と呼ばれることがある。
【００１２】
ベクトル量子化の学習では、認識対象のデータが観測される信号空間上に、クラスに対応する代表的なベクトル（これをセントロイドベクトルと呼ぶ）が配置される。
【００１３】
ベクトル量子化の教師なし学習として代表的な手法の一つに、K-平均法（K-means clustering method）がある。K-平均法は、初期状態として、セントロイドベクトルを適当に配置し、学習データとしてのベクトルを、最も距離の近いセントロイドベクトルに割り当て、各セントロイドベクトルに割り当てられた学習データの平均ベクトルによってセントロイドベクトルを更新することを繰り返す学習手法である。
【００１４】
ここで、多数の学習データを蓄積し、そのすべてを用いて学習を行う方法は、バッチ学習（batch learning）と呼ばれ、K-平均法は、バッチ学習に分類される。バッチ学習に対して、学習データを観測するたびに、その学習データを用いて学習を行い、パラメータ（セントロイドベクトルのコンポーネントや、HMMを定義する出力確率密度関数など）を少しずつ更新する学習は、オンライン学習（on-line learning）と呼ばれる。
【００１５】
オンライン学習としては、コホネン(T.Kohonen)の提案したSOM（self-organization map）による学習がある。SOMによる学習では、入力層と出力層の結合重みが、オンライン学習により少しずつ更新（修正）されていく。
【００１６】
即ち、SOMにおいて、出力層は、複数のノードを有し、出力層の各ノードには、入力層との結合の度合いを表す結合重みが与えられる。この結合重みをベクトルとした場合、ベクトル量子化の学習を行うことができる。
【００１７】
具体的には、SOMの出力層のノードにおいて、結合重みとしてのベクトルと、学習データとしてのベクトルとの距離が最も近いノードが、勝者ノードとして決定され、その勝者ノードの結合重みとしてのベクトルが、学習データとしてのベクトルに近づくように更新される。さらに、勝者ノードの近傍のノードの結合重みも、学習データに少しだけ近づくように更新される。その結果、学習が進むにつれ、結合重みとしてのベクトルが類似したノードどうしは近くなるように、類似しないノードは遠くなるように、出力層の上に配置されていく。従って、出力層には、あたかも学習データに含まれるパターンに応じた地図が構成されていくことになる。このように、学習が進むにつれて、類似するノード（結合重みとしてのベクトルが類似するノード）どうしが近い位置に配置されていき、その結果、学習データに含まれるパターンに応じた地図が構成が構成されていく学習は、自己組織的または自己組織化（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と類似した方法によってオンライン学習される。
【００２０】
なお、上述の教師あり学習と教師なし学習等の学習に関する分類については、例えば、非特許文献１に記載され、ＳＯＭに関しては、例えば、非特許文献２に記載され、Neural-Gas algorithm に関しては、例えば、非特許文献３に記載されている。
【００２１】
ところで、上述のSOM やNeural-Gas algorithmは、いわば静的な信号パターンであるベクトル、つまり一定の長さのデータを対象とした教師なし学習を提供する。従って、音声データのような時系列のデータ（時系列データ）、つまり長さが不定の、いわば動的な信号パターンに対して、SOM やNeural-Gas algorithmを、そのまま適用することはできない。
【００２２】
また、連続するベクトルの系列を連結し、高次元のベクトルを定義することで、時系列データとしての時系列のベクトルを、静的な信号パターンとして扱う方法が提案されているが、この方法も、音声データのように長さが固定されていない（不定の）時系列データに対して、そのまま通用することはできない。
【００２３】
一方、時系列データを自己組織的に学習する方法として、フィードバック回路を付け加えたリカレントニューラルネットワークを用いた方法が提案されている（例えば、特許文献１および２参照）。しかしながら、リカレントニューラルネットワークのパラメータの学習に広く利用されているバックプロパゲーション法は、リカレントニューラルネットワークの規模が大きくなると、計算量が飛躍的に増加し、その結果、学習に要する時間も非常に大になる。このため、１つのリカレントニューラルネットワークを、音声データなどのように、多様なパターン（クラス）が存在する時系列データの、その多様なパターンの学習に用いることは、実際問題として、有効な手段とは言い難い。
【００２４】
また、時系列データのパターン認識、即ち、例えば、音声データの認識（音声認識）で広く利用されている技術の１つに、HMMを用いるHMM法がある（例えば、非特許文献４参照）。
【００２５】
HMMは、状態遷移を有する確率モデルである状態遷移確率モデルの１つであり、上述したように、状態遷移確率と、各状態における出力確率密度関数で定義され、HMM法では、学習すべき時系列データの統計的な特性がHMMによってモデル化される。なお、HMMを定義する出力確率密度関数としては、例えば混合正規分布などが用いられる。また、HMMの学習、即ち、HMMのパラメータ（HMMを定義する状態遷移確率と出力確率密度関数）の推定の方法としては、Baum-Welch 法が広く使われている。
【００２６】
HMM法は、現在実用化されている孤立単語音声認識から大語彙連続音声認識にまで幅広く適用されているが、HMMの学習は、通常、教師あり学習であり、図１で説明したように、正解ラベルの付与された学習データを用いて行われる。即ち、例えば、ある単語を認識するHMMの学習は、その単語に対応する学習データ（その単語の発話によって得られる音声データ）を用いて行われる。
【００２７】
このように、HMMの学習は、通常、教師あり学習であり、正解ラベルの付与されていない学習データが与えられた場合にHMMの学習を行うこと、つまり、HMMの教師なし学習は、非常に難しい問題となる。
【００２８】
例えば、特許文献３では、正解ラベルが付与されていない音声データと、対応する画像データから、音声と画像の相互情報量を最大化するように、かつカテゴリ数が最小となるように、HMMの学習を行う方法が提案されている。しかしながら、この方法では、音声データに対応する画像が与えられないと、HMMの学習を行うことができないため、厳密な意味での教師なし学習とは言い難い。
【００２９】
また、不特定話者の音声データを用いて学習したHMMに対して、正解ラベルの付与されない音声データを用いてHMMのパラメータを適応する、いわゆる話者適応を行う方法がある（例えば、非特許文献５参照）。かかる話者適応は、正解ラベルの付与されない音声データを用いてHMMのパラメータを適応（更新）する点では、HMMの教師なし学習ということができるが、教師あり学習を行ったHMMが存在することが前提条件となるため、やはり、厳密な意味での教師なし学習とは言い難い。
【００３０】
【特許文献１】特開平4-156610号公報
【特許文献２】特開平6-231106号公報
【特許文献３】特開2002-311988号公報
【非特許文献１】麻生英樹、津田宏治、村田昇、「パターン認識と学習の統計学」、岩波書店
【非特許文献２】T.コホネン、「自己組織化マップ」、シュプリンガー・フェアラーク東京
【非特許文献３】T.M. Martinetz, S.G. Berkovich, K.J. Schulten, "Neural-Gas" Network for Vector Quantization and its Application to Time-Series Prediction, IEEE Trans. Neural Networks, VOL. 4, NO. 4, pp558-569, 1999
【非特許文献４】Laurence Rabiner, Biing-Hwang Juang 共著、「音声認識の基礎（上・下）」、ＮＴＴアドバンステクノロジ株式会社
【非特許文献５】芳澤伸一, 馬場朗, 松浪加奈子, 米良祐一郎, 山田実一, 鹿野清宏、「充足統計量と話者距離を用いた音韻モデルの教師なし学習」、信学技報、SP2000-89, pp.83-88, 2000
【発明の開示】
【発明が解決しようとする課題】
【００３１】
以上のように、従来においては、SOMやNeural-Gas algorithmのような静的なパターンの教師なし学習や、HMMのような動的な時系列データの教師あり学習を実現する方法は提供されていたが、どちらも動的な時系列データの教師なし学習を実現するには不十分であった。また、リカレントニューラルネットワークでは、理論上は、動的な時系列データの教師なし学習を行うことが可能であるが、実用上は、大規模なリカレントニューラルネットワークが必要になるため、学習に要する計算量や時間に問題があった。
【００３２】
本発明は、このような状況に鑑みてなされたものであり、時系列データの教師なし学習を、容易に行うことができるようにするものである。
【課題を解決するための手段】
【００３３】
本発明の第１の学習装置、学習方法、およびプログラムは、時系列データのパターンである時系列パターンを表現するHMM（Hidden Markov Model）を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された時系列パターン記憶ネットワークを、時系列データの観測値に基づいて、自己組織的に更新する学習手段／ステップが、複数のノードのうちの、時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段／ステップと、複数のノードそれぞれに対して、ノードが有するHMMが受ける時系列データの観測値の影響の度合いを表す重みを、勝者ノードに基づいて決定する重み決定手段／ステップと、時系列データの観測値を、ノードが有するHMMの学習に用いる学習データとして、学習データを、学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みと対応付けて記憶する学習データ記憶手段において、新たな時系列データの観測値が学習データとして記憶されるときに、新しい順の学習データに対応付けされた重みの総和が、所定の値になるように、学習データ記憶手段の記憶内容を更新する学習データ更新手段／ステップと、記憶内容が更新された学習データ記憶手段に記憶された学習データを、学習データに対応付けられた重みで用いて、ノードが有するHMMの学習を行うことにより、HMMを更新するモデル更新手段／ステップとを有することを特徴とする。
【００３４】
この第１の学習装置、学習方法、およびプログラムにおいては、時系列データのパターンである時系列パターンを表現するHMM（Hidden Markov Model）を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークが、時系列データの観測値に基づいて、自己組織的に更新される。その更新においては、複数のノードのうちの、時系列データの観測値に最も適合するノードである勝者ノードが決定され、複数のノードそれぞれに対して、ノードが有するHMMが受ける時系列データの観測値の影響の度合いを表す重みが、勝者ノードに基づいて決定される。さらに、時系列データの観測値を、ノードが有するHMMの学習に用いる学習データとして、学習データを、その学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みと対応付けて記憶する学習データ記憶手段において、新たな時系列データの観測値が学習データとして記憶されるときに、新しい順の学習データに対応付けされた重みの総和が、所定の値になるように、学習データ記憶手段の記憶内容が更新される。そして、記憶内容が更新された学習データ記憶手段に記憶された学習データを、学習データに対応付けられた重みで用いて、ノードが有するHMMの学習を行うことにより、HMMが更新される。
【００３５】
従って、新しい順の学習データに対応付けされた重みの総和が、所定の値になるように、記憶内容が更新された学習データ記憶手段に記憶された学習データを、学習データに対応付けられた重みで用いて、ノードが有するHMMの学習を行うことにより、HMMが更新される。
【００３６】
本発明の第２の学習装置、学習方法、およびプログラムは、時系列データのパターンである時系列パターンを表現するHMM（Hidden Markov Model）を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段に記憶された時系列パターン記憶ネットワークを、時系列データの観測値に基づいて、自己組織的に更新する学習手段／ステップが、複数のノードのうちの、時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段／ステップと、複数のノードそれぞれに対して、ノードが有するHMMが受ける時系列データの観測値の影響の度合いを表す重みを、勝者ノードに基づいて決定する重み決定手段／ステップと、ノードが有するHMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された途中結果データを用いるとともに、新たな時系列データの観測値を、ノードが有するHMMの学習に用いる学習データとして、学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みで、学習データを用いて、ノードが有するHMMの学習を行うことにより、HMMを更新するモデル更新手段／ステップとを有することを特徴とする。
【００３７】
この第２の学習装置、学習方法、およびプログラムにおいては、時系列データのパターンである時系列パターンを表現するHMM（Hidden Markov Model）を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークが、時系列データの観測値に基づいて、自己組織的に更新される。その更新においては、複数のノードのうちの、時系列データの観測値に最も適合するノードである勝者ノードが決定され、複数のノードそれぞれに対して、ノードが有するHMMが受ける時系列データの観測値の影響の度合いを表す重みが、勝者ノードに基づいて決定される。そして、ノードが有するHMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段に記憶された途中結果データを用いるとともに、新たな時系列データの観測値を、ノードが有するHMMの学習に用いる学習データとして、その学習データである時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みで、学習データを用いて、ノードが有するHMMの学習を行うことにより、HMMが更新される。
【００３８】
従って、途中結果データを用いるとともに、学習データとしての新たな時系列データの観測値を、その時系列データの観測値に最も適合する勝者ノードに基づいてノードに対して決定された重みで用いて、ノードが有するHMMの学習を行うことにより、HMMが更新される。
【００３９】
本発明の第３の学習装置、学習方法、およびプログラムは、時系列データのパターンである時系列パターンを表現する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が更新される。
【００４１】
従って、HMMを更新する更新方法を選択して、HMMが更新される。
【発明の効果】
【００４２】
本発明によれば、時系列データの教師なし学習を、容易に行うことができる。
【発明を実施するための最良の形態】
【００４３】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００４４】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００４５】
請求項１に記載の学習装置は、
時系列のデータである時系列データに基づき、学習を行う学習装置（例えば、図２の学習部４）において、
前記時系列データのパターンである時系列パターンを表現する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を更新するモデル更新手段（例えば、図８のモデル学習部４５）と
を有する
ことを特徴とする。
【００４９】
請求項９に記載の学習方法は、
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現するHMM（Hidden Markov Model）を有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを記憶する時系列パターン記憶ネットワーク記憶手段（例えば、図２の記憶部５）に記憶された前記時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップ（例えば、図１１の学習処理）を含み、
前記学習ステップは、
前記複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定ステップ（例えば、図１１のステップＳ２）と、
前記複数のノードそれぞれに対して、前記ノードが有する前記HMMが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて決定する重み決定ステップ（例えば、図１１のステップＳ３）と、
前記ノードが有する前記HMMの前回の更新で行われた計算の途中結果である途中結果データを記憶する途中結果記憶手段（例えば、図２０の学習データ記憶部２２）に記憶された前記途中結果データを用いるとともに、新たな時系列データの観測値を、前記ノードが有する前記HMMの学習に用いる学習データとして、前記学習データである前記時系列データの観測値に最も適合する前記勝者ノードに基づいて前記ノードに対して決定された前記重みで、前記学習データを用いて、前記ノードが有する前記HMMの学習を行うことにより、前記HMMを更新するモデル更新ステップ（例えば、図１１のステップＳ５で行われる図２２のパラメータ更新処理）と
を有する
ことを特徴とする。
【００５０】
請求項１０に記載のプログラムの各ステップが対応する具体例は、請求項９に記載の学習方法の各ステップが対応する具体例と同様である。
【００５１】
請求項１１に記載の学習装置は、
時系列のデータである時系列データに基づき、学習を行う学習装置（例えば、図２の学習部４）において、
前記時系列データのパターンである時系列パターンを表現する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を更新するモデル更新ステップ（例えば、図２４のステップＳ１８５乃至Ｓ１８８）と
を有する
ことを特徴とする。
【００５３】
請求項１４に記載のプログラムの各ステップが対応する具体例は、請求項１３に記載の学習方法の各ステップが対応する具体例と同様である。
【００５４】
以下、図面を参照して、本発明の実施の形態について説明する。
【００５５】
図２は、本発明を適用したデータ処理装置の第１実施の形態の構成例を示すブロック図である。
【００５６】
信号入力部１には、後述する学習処理や認識処理の対象となるデータ（以下、処理対象データという）が入力される。ここで、処理対象データは、例えば、音や画像、LED(Light Emitting Diode)の明るさ、モータの回転角度や回転角速度などの観測値（外部から観測することができる値（信号））である。また、処理対象データは、例えば、図２のデータ処理装置が適用されるシステムの入力を受け付ける入力デバイス（センサ）が出力するデータ（入力データ）であっても良いし、何らかの出力を行う出力デバイスに対して与えられるデータ（出力データ）であっても良い。
【００５７】
即ち、図２のデータ処理装置が、例えば、２足歩行ロボットその他のロボットに適用され、その２足歩行ロボットが、外部の状況に応じて、何らかの処理を行う場合には、信号入力部１は、外部の状況をセンシングするセンサで構成することができる。具体的には、信号入力部１は、例えば、マイク（マイクロフォン）やカメラなどで構成することができる。
【００５８】
信号入力部１がマイクで構成される場合には、そのマイクに対して、外部で発生する音声（人間の音声の他、動物の鳴き声、物音、その他のあらゆる音を含む）が、２足歩行ロボット（データ処理装置が適用されているシステム）に対する入力データとして入力され、対応する音声データが、特徴抽出部２に供給される。また、信号入力部１がカメラで構成される場合には、そのカメラに対して、外部からの光が、２足歩行ロボットに対する入力データとして入力され、対応する画像データが、特徴抽出部２に供給される。
【００５９】
また、２足歩行ロボットが、例えば、手や足に相当する部分を、アクチュエータとしてのモータによって動かすことができる場合には、信号入力部１は、そのモータの回転角度や回転速度を計測する計測装置（回転角度や回転速度をセンシングするセンサ）で構成することができる。なお、２足歩行ロボットの手や足に相当する部分を動かすモータは、そのモータを回転駆動させる電気信号としての駆動信号を与える他、手や足に相当する部分に外部から力を加えて動かすことによっても回転するが、計測装置では、そのいずれの回転によって生じた回転角度や回転速度であっても計測することができる。
【００６０】
信号入力部１が計測装置で構成される場合には、その計測装置に対して、モータの回転角度や回転速度を表す信号が、２足歩行ロボットからの出力データとして入力されて計測され、その計測結果が、特徴抽出部２に供給される。
【００６１】
なお、信号入力部１に入力される処理対象データは、時間的な変化が一定の定常的なデータ（定常信号）であっても良いし、時間的な変化が一定でない非定常なデータ（非定常信号）であっても良い。
【００６２】
また、以下では、信号入力部１に対しては、例えば、時系列データの１つである音声が入力されるものとする。さらに、信号入力部１から特徴抽出部２に対しては、いわゆる音声区間の音声データだけが供給されるものとする。なお、音声区間の検出方法は、特に限定されるものではない。また、信号入力部１から特徴抽出部２に対して供給される音声データは、必ずしも、音声区間の音声データである必要はなく、適切な長さに区切られていればよい。即ち、信号入力部１から特徴抽出部２に対して供給される音声データは、例えば、音素や音韻の単位であっても良いし、単語や文、ある句読点から次の句読点までであっても良い。
【００６３】
ここで、信号入力部１から特徴抽出部２に対して供給される処理対象データは、音声データに限定されるものではなく、その区間も、特に限定されるものではない。即ち、信号入力部１から特徴抽出部２に対しては、最も良い方法で適当な長さに区切られた処理対象データが供給されれば良い。なお、信号入力部１から特徴抽出部２に対して供給される処理対象データ（の区間）は、一定であっても良いし、一定でなくても良い。
【００６４】
特徴抽出部２は、信号入力部１からの処理対象データとしての時系列データである音声データから特徴量を抽出し、その結果得られる時系列データである時系列の特徴量を、認識部３と学習部４に供給する。即ち、特徴抽出部２は、信号入力部１からの音声データに対して一定時間間隔で周波数分析などの処理を施し、例えば、メルケプストラム（MFCC（Mel Frequency Cepstrum Coefficient））などの特徴量を抽出して、そのメルケプストラムの時系列データを、認識部３と学習部４に供給する。なお、特徴抽出部２から認識部３と学習部４に供給される時系列データも、外部から観測することができる観測値である。
【００６５】
認識部３は、記憶部５に記憶された、後述する時系列パターン記憶ネットワークに基づき、特徴抽出部２から供給される時系列データを認識し、その認識結果を出力する。
【００６６】
学習部４は、記憶部５に記憶された時系列パターン記憶ネットワークを、特徴抽出部２から供給される時系列データ（の観測値）に基づいて、自己組織的に更新する。即ち、学習部４は、特徴抽出部２から供給される時系列データに基づいて、記憶部５に記憶された時系列パターン記憶ネットワークのパラメータを更新する。なお、このパラメータの更新のことを学習と呼ぶ場合がある。
【００６７】
ここで、学習部４では、正解ラベルの付与されていない時系列データを繰り返し与えると、その与えられた時系列データの中の特徴的なパターン（時系列パターン）を自己組織的に獲得していく教師なし学習が実行される。その結果、記憶部５の時系列パターン記憶ネットワークには、代表的な時系列パターンが効率的に記憶される。即ち、特徴抽出部２が認識部３と学習部４に供給する時系列データは、幾つかのパターン（時系列パターン）に分類することができ、学習部４では、時系列パターン記憶ネットワークに、時系列データの代表的な時系列パターンを記憶させるための学習が行われる。
【００６８】
記憶部５は、時系列パターン記憶ネットワークを記憶しており、この時系列パターン記憶ネットワーク（のパラメータ）は、学習部４によって適宜更新（学習）される。
【００６９】
生成部６には、制御データが供給される。生成部６に供給される制御データは、例えば、記憶部５の時系列パターン記憶ネットワークが記憶している時系列パターンのうちのいずれかを表すもの（後述するノードラベル）で、生成部６は、記憶部５の時系列パターン記憶ネットワークに基づき、そこに供給される制御データが表す時系列パターンの時系列データを生成して出力する。
【００７０】
次に、図３は、図２の記憶部５に記憶される時系列パターン記憶ネットワークの例を模式的に示している。
【００７１】
時系列パターン記憶ネットワークは、時系列パターンを表現する時系列パターンモデルの１つであるHMMを有する複数のノードから構成されるネットワークで、そのネットワーク全体で、ノードの数だけの（クラス分けを行う）時系列パターンを記憶する。
【００７２】
図３においては、時系列パターン記憶ネットワークは、ノードN1乃至N6の６つのノードから構成されている。
【００７３】
時系列パターン記憶ネットワークを構成する各ノードNi（図３では、ｉ＝１，２，・・・，６）は、時系列パターンを表現するHMMを有する。また、ノードNiは、他のノードNj（図３では、ｊ＝１，２，・・・，６）と結合関係を持つことができる。この結合関係をリンクと呼ぶ。図３では、例えば、ノードN1は、ノードN2，N3と直接の結合関係を有している。また、例えば、ノードN3は、ノードN1，N2，N5，N6と直接の結合関係を有しており、従って、ノードN5とN6は、ノードN3を介して、ノードN1と間接的な結合関係を有している。なお、２つのノードNiとNjとの結合関係としては、その２つのノードNiとNjとの最短の結合関係を考えるものとする。
【００７４】
時系列パターン記憶ネットワークの学習は、学習部４（図２）において、特徴抽出部２から供給される時系列データを、学習用の学習データとして行われるが、この学習データは、カテゴリの種類や、カテゴリの数が未知のもので、この点、時系列パターン記憶ネットワークの学習は、前述の図１で説明した教師あり学習と大きく異なる。また、時系列パターン記憶ネットワークの学習に用いられる学習データには、正解ラベルは付与されていない。このため、時系列パターン記憶ネットワークの学習には、前述の図１で説明した教師あり学習を適用することはできない。
【００７５】
このように、時系列パターン記憶ネットワークの学習には、教師あり学習を適用することができず、また、学習データは、そのカテゴリの種類も、カテゴリの数も未知である。そこで、時系列パターン記憶ネットワークの学習は、その全体（のノード）によって、学習データの特徴（時系列パターン）を適切に表現することができるように、自己組織的に行われる。
【００７６】
なお、時系列パターン記憶ネットワークの学習は、教師なし学習である。また、時系列パターン記憶ネットワークの学習は、ある１つのノードが、必ずしもある１つのカテゴリに対応するように行われるとは限らない。即ち、時系列パターン記憶ネットワークにおいては、１つのノードが１つのカテゴリに対応するように学習が行われる場合もあるし、複数のノードが１つのカテゴリに対応するように学習が行われる場合もある。さらに、１つのノードが複数のカテゴリに対応するように学習が行われる場合もある。従って、仮に、学習データが、明確にカテゴリ分けすることができないものであっても、時系列パターン記憶ネットワークによる学習は行うことができる。
【００７７】
次に、図４は、時系列パターン記憶ネットワークのノードNiの構成例を模式的に示している。
【００７８】
ノードNiは、時系列パターンを表現するHMM２１（正確には、HMM２１を定義する、後述する状態遷移確率と出力確率密度関数を記憶する記憶部）と、そのHMM２１の学習に用いる学習データを記憶する学習データ記憶部２２とから構成される。
【００７９】
ここで、図４では、HMM２１は、自己ループと次状態（右隣の状態）への状態遷移だけを有するleft-to-right型の３状態S1，S2，S3を有するものとなっている。図４のHMM２１における○印は状態を表し、矢印は状態遷移を表している。なお、HMM２１は、left-to-right型や、３状態のもの等に限定されない。
【００８０】
HMM２１は、状態遷移確率と出力確率密度関数（HMMが離散HMMである場合には、スカラ量である離散的なシンボルが出力される確率）とで定義される。
【００８１】
状態遷移確率は、HMM２１において、状態が遷移する確率で、図４において矢印で示した状態遷移それぞれに対して与えられる。出力確率密度関数は、状態遷移時に、HMM２１から観測される値の確率密度（の値）を表す。出力確率密度関数としては、例えば、混合正規分布などが採用される。これらのHMM２１のパラメータ（状態遷移確率と出力確率密度関数）は、例えば、Baum-Welch 法によって学習（推定）することができる。
【００８２】
ノードNiでは、学習データ記憶部２２に記憶された学習データの統計的な特性、即ち、学習データ記憶部２２に記憶された学習データの時系列パターンが、HMM２１において学習され、これにより、HMM２１と、学習データ記憶部２２に記憶された学習データとが、対応関係を持つことになる。
【００８３】
なお、時系列パターン記憶ネットワークの学習、ひいては、ノードNiのHMM２１の学習は、例えば、特徴抽出部２から学習部４に対して、（１区間の）時系列データが供給されるごとに学習を行うオンライン学習によって行われる。従って、時系列パターン記憶ネットワークのパラメータ、つまり、ノードNiのHMM２１のパラメータ（上述したように、状態遷移確率と出力確率密度関数）は、（１区間）の処理対象データが信号入力部１から特徴抽出部２に供給されるたびに、少しずつ更新される。
【００８４】
即ち、後述するように、時系列パターン記憶ネットワークの学習が進むにつれ、学習データ記憶部２２に記憶される学習データは、新たな時系列データ（新たな処理対象データが信号入力部１から特徴抽出部２に供給されることによって、特徴抽出部２から学習部４に供給される、その新たな処理対象データに対応する時系列の特徴量である新たな時系列データ）によって更新され、これにより、少しずつ変化する。そして、その少しずつ変化する学習データによって、HMM２１の学習が行われることにより、そのHMM２１のパラメータも、少しずつ変化していく。
【００８５】
次に、図５は、図２の記憶部５に記憶される時系列パターン記憶ネットワークの他の例を模式的に示している。
【００８６】
図５では、時系列パターン記憶ネットワークは、９個のノードN1乃至N9で構成されており、この９個のノードN1乃至N9は、２次元的に配置されている。即ち、図５では、９個のノードN1乃至N9は、２次元平面上に、横×縦が３×３となるように配置されている。
【００８７】
さらに、図５では、２次元的に配置された９個のノードN1乃至N9の、横方向に隣接するノードどうしと、縦方向に隣接するノードどうしに対して、リンク（結合関係）が与えられている。なお、このようなリンクを与えることによって、時系列パターン記憶ネットワークを構成するノードには、空間的に、２次元的に配置される配置構造が与えられているということもできる。
【００８８】
時系列パターン記憶ネットワークでは、リンクによって与えられる空間的なノードの配置構造に基づき、その空間上でのある２つのノードどうしの距離を定義することができ、この２つのノードどうしの距離は、その２つのノードそれぞれが有するHMM２１が表現する時系列パターンのパターン間距離（時系列パターンどうしの類似性）として用いることができる。
【００８９】
なお、２つのノードどうしの距離によって表される時系列パターンのパターン間距離は、２つのノードの結合関係（リンク）に基づくパターン間距離ということができる。
【００９０】
２つのノードどうしの距離としては、例えば、その２つのノードどうしを結ぶ最短のパスを構成するリンクの数を採用することができる。この場合、あるノードに注目すると、その注目ノードとの直接のリンクを有するノード（図５では、注目ノードの横方向や縦方向に隣接するノード）は、注目ノードとの距離が最も近く、注目ノードとの直接のリンクを有するノードから先のリンクを辿っていくことで到達することができるノードは、到達するのに辿るリンクの数が多いほど、注目ノードとの距離が遠くなっていく。
【００９１】
なお、ノードに与えるリンクは、図３や図５に示したものに限定されるものではない。また、図３や図５に示したリンクは、ノードに対して、２次元的な配置構造を与えるが、リンクは、その他、１次元的な配置構造や３次元的な配置構造等を与えるリンクであっても良い。さらに、ノードには、必ずしもリンクを与える必要はない。
【００９２】
即ち、図６は、図２の記憶部５に記憶される時系列パターン記憶ネットワークのさらに他の例を模式的に示している。
【００９３】
図６では、時系列パターン記憶ネットワークは、図３における場合と同様に、６個のノードN1乃至N6で構成されているが、これらの６個のノードN1乃至N6は、いずれもリンクを有していない。従って、図６の時系列パターン記憶ネットワークを構成するノードN1乃至N6は、リンクによって与えられる空間的な配置構造は有していない。なお、空間的な配置構造は有していないということは、空間的な制約がない配置構造が与えられているということもできる。
【００９４】
ここで、ある２つのノードにリンクがない場合には、空間上でのその２つのノードどうしの距離を定義することはできないから、その２つのノードそれぞれが（有するHMM２１が）表現する時系列パターンのパターン間距離として、結合関係（リンク）に基づくパターン間距離は用いることができない。そこで、この場合には、例えば、ノードが、ある時系列データ（の観測値）に適合する度合いに基づく順位（以下、適宜、適合順位という）に対応する値を、パターン間距離として用いることができる。
【００９５】
即ち、ある時系列データが与えられた場合には、その時系列データに対して、ノードが表現する時系列パターンとの類似性を、そのノードが適合する度合いとして求めることができる。いま、時系列パターン記憶ネットワークを構成するノードのうち、ある時系列データに最も適合するノードを、勝者ノードということとすると、勝者ノードと、時系列パターン記憶ネットワークのあるノードとのそれぞれが表現する時系列パターンのパターン間距離としては、そのノードが時系列データに適合する順位（適合順位）に対応する値を採用することができる。
【００９６】
具体的には、時系列パターン記憶ネットワークを構成するノードのうち、勝者ノードとなっているノードの適合順位は第１位であり、このノード（勝者ノード）と勝者ノードとの（それぞれが表現する時系列パターンの）パターン間距離は、例えば、その適合順位から１を減算した０とすることができる。
【００９７】
また、時系列パターン記憶ネットワークを構成するノードのうち、適合順位が第２位のノードと勝者ノードとのパターン間距離は、例えば、その適合順位から１を減算した１とすることができる。以下、同様に、ノードの適合順位から１を減算して得られる値を、そのノードと、勝者ノード（となっているノード）とのパターン間距離とすることができる。
【００９８】
なお、ノードがある時系列データに適合する度合いに基づく順位（適合順位）に対応する値によって表されるパターン間距離は、ノードが時系列データに適合する度合いに基づくパターン間距離ということができる。
【００９９】
次に、図７は、図２の学習部４の構成例を示している。
【０１００】
学習部４は、学習データ記憶部３１と学習処理部３２とから構成される。
【０１０１】
学習データ記憶部３１には、特徴抽出部２から、（１区間の）新たな時系列データとしての特徴量の系列が供給される。学習データ記憶部３１は、特徴抽出部２からの新たな時系列データを、一時的に（学習処理部３２による新たな時系列データを用いた処理が終了するまで）記憶する。
【０１０２】
学習処理部３２は、記憶部５に記憶された時系列パターン記憶ネットワークを、学習データ記憶部３１に記憶された新たな時系列データ（の観測値）に基づいて、自己組織的に更新する。
【０１０３】
次に、図８は、図７の学習処理部３２の構成例を示している。
【０１０４】
スコア計算部４１は、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、学習データ記憶部３１に記憶された時系列データ（の観測値）に適合する度合いをスコアとして求め、勝者ノード決定部４２に供給する。即ち、スコア計算部４１は、ノードが有するHMM２１から、学習データ記憶部３１に記憶された時系列データが観測される尤度を求め、そのノードのスコアとして、勝者ノード決定部４２に供給する。
【０１０５】
勝者ノード決定部４２は、記憶部５に記憶された時系列パターン記憶ネットワークにおいて、学習データ記憶部３１に記憶された時系列データに最も適合するノードを求め、そのノードを、勝者ノードとして決定する。
【０１０６】
即ち、勝者ノード決定部４２は、記憶部５に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部４１からのスコアが最も高いノードを勝者ノードとして決定する。そして、勝者ノード決定部４２は、勝者ノードを表す情報を、重み決定部４３に供給する。
【０１０７】
ここで、時系列パターン記憶ネットワークを構成するノードには、各ノードを識別するためのラベルであるノードラベルを付しておき、勝者ノードを表す情報、その他のノード表す情報としては、そのノードラベルを採用することができる。なお、ノードラベルは、ノード自体を識別するラベルであり、正解が何であるかを表す正解ラベルとは、何ら関係がない。
【０１０８】
重み決定部４３は、勝者ノード決定部４２から供給されるノードラベルが表す勝者ノードに基づき、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、後述する更新重みを決定し、学習データ更新部４４に供給する。
【０１０９】
即ち、重み決定部４３は、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノード（勝者ノードを含む）の更新重みを、そのノードと、勝者ノードとのパターン間距離に基づいて決定し、学習データ更新部４４に供給する。
【０１１０】
ここで、ノードが有するHMM２１（図４）は、学習データ記憶部３１（図７）に記憶された新たな時系列データを用いて更新されるが、ノードの更新重みとは、そのノードが有するHMM２１の更新によって、そのHMM２１が受ける新たな時系列データの影響の度合いを表す。従って、ノードの更新重みが０であれば、そのノードが有するHMM２１は、新たな時系列データの影響を受けない（更新されない）。
【０１１１】
なお、重み決定部４３において、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードの更新重みを決定する際のパターン間距離としては、時系列パターン記憶ネットワークのノードが、図３や図５に示したように、リンクを有する場合には、そのノードと勝者ノードとの結合関係に基づくパターン間距離を採用し、また、時系列パターン記憶ネットワークのノードが、図６に示したように、リンクを有しない場合には、そのノードが、学習データ記憶部３１（図７）に記憶された新たな時系列データに適合する度合いに基づくパターン間距離を採用することができる。
【０１１２】
即ち、重み決定部４３は、記憶部５に記憶された時系列パターン記憶ネットワークを参照し、時系列パターン記憶ネットワークのノードそれぞれと、勝者ノード決定部４２からのノードラベルが表す勝者ノードとの結合関係に基づくパターン間距離を求め、そのパターン間距離に基づいて、時系列パターン記憶ネットワークのノードそれぞれの更新重みを決定する。
【０１１３】
あるいは、重み決定部４３は、記憶部５に記憶された時系列パターン記憶ネットワークを参照し、時系列パターン記憶ネットワークのノードそれぞれについて、ノードが、学習データ記憶部３１に記憶された新たな時系列データに適合する度合いとして、例えば、スコア計算部４１が求めるのと同様のスコアを求める。さらに、重み決定部４３は、時系列パターン記憶ネットワークのノードそれぞれについて、ノードのスコアに基づく順位（適合順位）に対応する値を、新たな時系列データに適合する度合いに基づくパターン間距離として求め、そのパターン間距離に基づいて、時系列パターン記憶ネットワークのノードそれぞれの更新重みを決定する。
【０１１４】
なお、ノードのスコアは、重み決定部４３で求めても良いが、スコア計算部４１から重み決定部４３に供給するようにしても良い。
【０１１５】
学習データ更新部４４は、記憶部５に記憶された時系列パターン記憶ネットワークの各ノードが有する学習データ記憶部２２（図４）に記憶された学習データを更新する。
【０１１６】
即ち、学習データ更新部４４は、例えば、ノードが有する学習データ記憶部２２に既に記憶されている学習データと、学習データ記憶部３１に記憶された時系列データとを、重み決定部４３からの、対応するノードの更新重みにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部２２に記憶させることで、その学習データ記憶部２２の記憶内容を更新する。
【０１１７】
学習データ更新部４４は、以上のように、学習データ記憶部２２（図４）に記憶された学習データを、更新重みにしたがって更新すると、その更新が終了した旨の終了通知を、モデル学習部４５に供給する。
【０１１８】
モデル学習部４５は、学習データ更新部４４から終了通知を受けると、その学習データ更新部４４による更新後の学習データ記憶部２２（図４）に記憶された学習データを用いて、時系列パターンに記憶ネットワークの各ノードが有するHMM２１の学習を行うことにより、そのHMM２１を更新する。
【０１１９】
次に、図９は、図８の重み決定部４３において更新重みを決定する決定方法を示している。
【０１２０】
重み決定部４３は、例えば、図９に示すような、勝者ノードとのパターン間距離dの増加に対して更新重みαが減少する関係を表す曲線（以下、距離／重み曲線という）にしたがって、ノードに対する更新重み（ノードの更新重み）を決定する。距離／重み曲線によれば、勝者ノードとのパターン間距離dが近いノードほど、大きな更新重みαが決定され、パターン間距離dが遠いノードほど、小さな更新重みαが決定される。
【０１２１】
図９の距離／重み曲線において、横軸（左から右方向）は、更新重みαを示しており、縦軸（上から下方向）は、パターン間距離dを示している。
【０１２２】
図９では、パターン間距離dとして、例えば、ノードとの結合関係に基づくパターン間距離、即ち、勝者ノードからの距離が採用されており、縦軸に沿って、時系列パターン記憶ネットワークを構成する６つのノードN1乃至N6が、各ノードNiと勝者ノードとの距離に対応する位置（縦軸の位置）に記載されている。
【０１２３】
図９では、時系列パターン記憶ネットワークを構成する６つのノードN1乃至N6が、その順で、勝者ノードとの距離が近くなっている。時系列パターン記憶ネットワークを構成する６つのノードN1乃至N6のうち、勝者ノードとの距離が最も近いノード、即ち、勝者ノードとの距離が０のノードであるノードN1は、勝者ノード（となっているノード）である。
【０１２４】
ここで、時系列パターン記憶ネットワークが、例えば、図５に示したような２次元的な配置構造を有し、勝者ノードが、例えば、ノードN6であった場合には、勝者ノードN6とノードN6との距離は最も（１番）近い０であり、ノードN6と勝者ノードN6とのパターン間距離dも０となる。また、勝者ノードN6と、ノードN3，N5、またはN9それぞれとの距離は２番目に近い１であり、ノードN3，N5、またはN9それぞれと勝者ノードN6とのパターン間距離dも１となる。さらに、勝者ノードN6と、ノードN2，N4、またはN8それぞれとの距離は３番目に近い２であり、ノードN2，N4、またはN8それぞれと勝者ノードN6とのパターン間距離dも２となる。また、勝者ノードN6と、ノードN1またはN7それぞれとの距離は最も遠い（４番目に近い）３であり、ノードN1またはN7それぞれと勝者ノードN6とのパターン間距離dも３となる。
【０１２５】
一方、ノードがリンクを有しない、例えば、図６に示した時系列パターン記憶ネットワークについては、ノードが新たな時系列データに適合する度合いに基づくパターン間距離、即ち、ノードが新たな時系列データに適合する度合いに基づく順位（適合順位）に対応する値が、そのノードと勝者ノードとのパターン間距離dとして求められる。即ち、この場合、スコアが最も高い（一番目に高い）ノードと勝者ノードとのパターン間距離dは０とされ、スコアが２番目に高いノードと勝者ノードとのパターン間距離dは１とされる。以下、同様に、スコアがk番目に高いノードと勝者ノードとのパターン間距離dはk-1とされる。
【０１２６】
なお、以上のような、時系列パターン記憶ネットワークの各ノードと勝者ノードとのパターン間距離dの与え方は、SOMやNeural-Gas algorithmで利用されている距離の与え方と同様の方法である。
【０１２７】
次に、更新重みαとパターン間距離dとの関係を表す、例えば、図９に示したような距離／重み曲線は、例えば、式（１）によって与えられる。
【０１２８】
【数１】
2006285881.tif 000003
・・・（１）
【０１２９】
ここで、式（１）において、定数Gは、勝者ノードの更新重みを表す定数であり、γは、減衰係数で、０＜γ＜１の範囲の定数である。また、変数Δは、時系列パターン記憶ネットワークを更新する更新方法として、前述したSMAを採用した場合の、勝者ノードの近傍のノード（勝者ノードとのパターン間距離dが近いノード）の更新重みαを調整するための変数である。さらに、γd/△の上付のd/△は、べき指数（累乗の指数）である。
【０１３０】
上述したように、勝者ノードとなっているノードのパターン間距離dとして、０が与えられ、以下、他のノードのパターン間距離dとして、勝者ノードとの距離、または適合順位にしたがって、１，２，・・・が与えられる場合、式（１）において、例えば、G=8，γ=0.5，Δ=1であれば、勝者ノードとなっているノードの更新重みαとして、８(=G)が求められる。以下、勝者ノードとの距離、または適合順位が大になるにしたがって、ノードの更新重みαとしては、４，２，１，・・・と小さくなる値が求められる。
【０１３１】
ここで、式（１）における減衰係数Δが大きな値である場合には、パターン間距離dの変化に対する更新重みαの変化は緩やかになり、逆に、減衰係数Δが０に近い値である場合には、パターン間距離dの変化に対する更新重みαの変化は急峻になる。
【０１３２】
従って、減衰係数Δを、例えば、上述した１から少しずつ０に近づけていくように調整すると、パターン間距離dの変化に対する更新重みαの変化は急峻になっていき、更新重みαは、パターン間距離dが大きくなるにしたがって、より小さい値となる。そして、減衰係数Δが０に近くなると、勝者ノード（となっているノード）以外のノードの更新重みαは、ほとんど０となり、この場合、時系列パターン記憶ネットワークを更新する更新方法として、前述したWTAを採用した場合と（ほぼ）等価となる。
【０１３３】
このように、減衰係数Δを調整することによって、時系列パターン記憶ネットワークを更新する更新方法としてSMAを採用した場合の、勝者ノードの近傍のノードの更新重みαを調整することができる。
【０１３４】
減衰係数△は、例えば、時系列パターン記憶ネットワークの更新（学習）の開始時は大きな値にし、時間の経過とともに、即ち、更新の回数が増加するにしたがって小さな値になるようにすることができる。この場合、時系列パターン記憶ネットワークの更新の開始時は、パターン間距離dの変化に対する更新重みαの変化が緩やかな距離／重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαが決定され、更新（学習）が進む（進行する）につれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく距離／重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαが決定される。
【０１３５】
即ち、この場合、勝者ノードの更新は、学習（更新）の進行にかかわらず、学習データ記憶部３１（図８）に記憶された新たな時系列データの影響を強く受けるように行われる。一方、勝者ノード以外のノードの更新は、学習の開始時は、比較的広い範囲のノード（勝者ノードとのパターン間距離dが小のノードから、ある程度大のノード）に亘って、新たな時系列データの影響を受けるように行われる。そして、学習が進行するにつれ、勝者ノード以外のノードの更新は、徐々に狭い範囲のノードについてのみ、新たな時系列データの影響を受けるように行われる。
【０１３６】
図８の重み決定部４３は、以上のように勝者ノードに基づいて（勝者ノードとのパターン間距離dに基づいて）、時系列パターン記憶ネットワークの各ノードの更新重みαを決定する。
【０１３７】
次に、学習データ更新部４４では、各ノードが有する学習データ記憶部２２に記憶される学習データを、例えば、そのノードの更新重みαに基づいて更新することができる。
【０１３８】
そこで、図１０を参照して、ノードが有する学習データ記憶部２２に記憶される学習データを、そのノードの更新重みαに基づいて更新する更新方法について説明する。
【０１３９】
いま、あるノードNiが有する学習データ記憶部２２には、学習データが既に記憶されており、ノードNiのHMM２１は、学習データ記憶部２２に既に記憶されている学習データを用いて学習が行われたものであるとする。
【０１４０】
学習データ更新部４４は、ノードNiが有する学習データ記憶部２２に既に記憶されている学習データ（以下、適宜、旧学習データという）と、学習データ記憶部３１（図８）に記憶された新たな時系列データとを、重み決定部４３からのノードNiの更新重みαにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部２２に記憶させることで、その学習データ記憶部２２の記憶内容を、新たな学習データに更新する。
【０１４１】
即ち、学習データ更新部４４は、旧学習データに対して、新たな時系列データを追加することで、旧学習データと新たな時系列データとを混合した新たな学習データとするが、旧学習データに対する新たな時系列データの追加（旧学習データと新たな時系列データとの混合）は、ノードNiの更新重みαに対応する比にしたがって行われる。
【０１４２】
ここで、新たな時系列データと旧学習データとを、１：０の比率で混合すると、その混合によって得られる新たな学習データは、新たな時系列データだけとなる。逆に、新たな時系列データと旧学習データとを、０：１の比率で混合すると、その混合によって得られる新たな学習データは、旧学習データだけとなる。ノードNiのHMM２１（図４）の更新は、新たな学習データを用いた学習によって行われるため、新たな時系列データと旧学習データとを混合する比率を変えることによって、更新によりHMM２１が受ける新たな時系列データの影響の度合い（強さ）を変えることができる。
【０１４３】
ノードNiにおいて、新たな時系列データと旧学習データとを混合する比率としては、ノードNiの更新重みαに対応した値が採用され、例えば、更新重みαが大であるほど、新たな時系列データの比率が大となる（旧学習データの比率が小となる）。
【０１４４】
具体的には、例えば、ノードNiの学習データ記憶部２２には、一定の数の時系列データ（学習データ）が記憶されるものとし、その一定の数をHとする。この場合、ノードNiのHMM２１の学習は、常に、H個の学習データ（時系列データ）を用いて行われる。
【０１４５】
学習データ記憶部２２に、常に、一定の数Hの学習データが記憶される場合、新たな時系列データと旧学習データとの混合によって得られる新たな学習データの個数は、H個である必要があり、そのような、新たな時系列データと旧学習データとの混合を、ノードNiの更新重みαに対応した比率で行う方法としては、新たな時系列データと旧学習データとを、比率α:H-αで混合する方法がある。
【０１４６】
新たな時系列データと旧学習データとを、比率α:H-αで混合する具体的な方法としては、図１０に示すように、H個の旧学習データのうちのH-α個の旧学習データに対して、α個の新たな時系列データを追加することにより、H個の新たな学習データを得る方法がある。
【０１４７】
この場合、学習データ記憶部２２に記憶される時系列データの数Hが、例えば、１００であり、ノードNiの更新重みαが、例えば、８であれば、学習データ記憶部２２の記憶内容は、１００個の旧学習データのうちの９２個の旧学習データに対して、８個の新たな時系列データを追加することによって得られる１００個の新たな学習データに更新される。
【０１４８】
H個の旧学習データのうちのH-α個の旧学習データに対する、α個の新たな時系列データの追加は、α個の新たな時系列データが得られるのを待って行う方法があるが、この方法では、１個の新たな時系列データが得られるごとに、学習データ記憶部２２の記憶内容を更新することができない。
【０１４９】
そこで、学習データ記憶部２２の記憶内容の更新は、１個の新たな時系列データが得られるごとに、その新たな時系列データをα個だけ、H-α個の旧学習データに追加することにより行うことができる。即ち、１個の新たな時系列データをコピーしてα個の新たな時系列データとし、そのα個の新たな時系列データを、H個の旧学習データから古い順にα個を除外して残ったH-α個の旧学習データに追加することにより、学習データ記憶部２２の記憶内容の更新を行う。これにより、１個の新たな時系列データが得られるごとに、学習データ記憶部２２の記憶内容を更新することができる。
【０１５０】
以上のように、学習データ記憶部２２の記憶内容の更新を行うことにより、学習データ記憶部２２には、常に、新しい順のＨ個の時系列データだけが、学習データとして保持されることになり、その学習データに占める新たな時系列データの割合（比率）は、更新重みαによって調整されることになる。
【０１５１】
次に、図１１のフローチャートを参照して、図２のデータ処理装置で行われる、時系列パターン記憶ネットワークを学習する学習処理について説明する。
【０１５２】
なお、学習処理が、まだ１回も行われていない状態では、記憶部５に記憶された時系列パターン記憶ネットワークのパラメータ、即ち、時系列パターン記憶ネットワークの各ノードが有するHMM２１（図４）のパラメータ（状態遷移確率と出力確率密度関数）の初期値として、例えば、ランダムな値が与えられているものとする。但し、HMM２１（図４）のパラメータの初期値は、ランダムな値に限定されるものではなく、任意の方法によって与えることができる。
【０１５３】
信号処理部１（図２）に対して、１個の処理対象データ、即ち、例えば、１の音声区間の音声データが入力されると、信号入力部１は、その処理対象データを、特徴抽出部２に供給する。特徴抽出部２は、処理対象データから特徴量を抽出し、その特徴量の時系列データ（１個の新たな時系列データ）を、学習部４に供給する。
【０１５４】
学習部４（図７）は、特徴抽出部２からの新たな時系列データを、学習データ記憶部３１に一時記憶させ、以下、ステップＳ１乃至Ｓ５において、記憶部５に記憶された時系列パターン記憶ネットワークを、学習データ記憶部３１に記憶された新たな時系列データ（の観測値）に基づいて、自己組織的に更新（学習）する。
【０１５５】
即ち、学習部４の学習処理部３２（図８）では、ステップＳ１において、スコア計算部４１が、学習データ記憶部３１に記憶された新たな時系列データを読み出し、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、新たな時系列データに適合する度合いを表すスコアとして求める。
【０１５６】
具体的には、ノードが有するHMM２１（図４）から、新たな時系列データが観測される対数尤度が、スコアとして求められる。ここで、対数尤度の計算方法としては、例えば、ビタビアルゴリズム(Viterbi algorithm)を採用することができる。
【０１５７】
スコア計算部４１は、時系列パターン記憶ネットワークが有するすべてのノードについて、新たな時系列データに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部４２に供給する。
【０１５８】
勝者ノード決定部４２は、ステップＳ２において、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部４１からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部４２は、勝者ノードを表す情報としてのノードラベルを、重み決定部４３に供給する。
【０１５９】
重み決定部４３は、ステップＳ３において、勝者ノード決定部４２からのノードラベルが表す勝者ノードに基づき、その勝者ノードを、いわば基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みを決定する。
【０１６０】
即ち、重み決定部４３は、図９で説明したように、時系列パターン記憶ネットワークの更新（学習）が進むにつれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく、式（１）で表される距離／重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαを決定し、学習データ更新部４４に供給する。
【０１６１】
学習データ更新部４４は、ステップＳ４において、時系列パターン記憶ネットワークの各ノードが有する学習データ記憶部２２（図４）に記憶された学習データを、重み決定部４３からの、対応するノードの更新重みにしたがって更新する。即ち、学習データ更新部４４は、図１０で説明したように、学習データ記憶部３１に記憶されている新たな時系列データと、ノードの学習データ記憶部２２に記憶されている旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合することにより、H個の新たな学習データを得て、そのH個の新たな学習データによって、学習データ記憶部２２の記憶内容を更新する。
【０１６２】
学習データ更新部４４は、時系列パターン記憶ネットワークのノードすべての学習データ記憶部２２（図４）の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部４５に供給する。
【０１６３】
モデル学習部４５は、学習データ更新部４４から終了通知を受けると、ステップＳ５において、時系列パターン記憶ネットワークのパラメータを更新し、学習処理を終了する。
【０１６４】
即ち、モデル学習部４５は、時系列パターン記憶ネットワークの各ノードについて、学習データ更新部４４による更新後の学習データ記憶部２２に記憶された新たな学習データを用いて、HMM２１の学習を行うことにより、そのHMM２１を更新する。
【０１６５】
HMM２１の学習では、例えば、HMM２１の現在の状態遷移確率と出力確率密度関数を初期値とし、新たな学習データを用いて、Baum-Welch法により、新たな状態遷移確率と出力確率密度関数がそれぞれ求められる。そして、その新たな状態遷移確率と出力確率密度関数によって、HMM２１の状態遷移確率と出力確率密度関数がそれぞれ更新される。
【０１６６】
即ち、HMM２１が、例えば、図１２に示すように、M+1個の状態S0,S1,・・・,SMを有し、最初の状態（初期状態）を状態S0として、状態S0からは、必ず状態S1に遷移し、最後は、遷移しない状態（最終状態）SMに必ず到達するleft-to-rightモデルであるとする。
【０１６７】
また、状態Siから状態Sjに遷移するときに、HMM２１から出力（観測）される観測値（時系列データを構成する時系列の特徴量の１つ）をObsとして、その観測値Obsが、HMM２１から出力される出力確率密度を表す出力確率密度関数を、gij(Obs)と表す。
【０１６８】
なお、ここでは、説明を簡単にするために、出力確率密度関数gij(Obs)は、遷移前の状態Siに関係なく、遷移後の状態Sjによって決まるものとする。この場合、状態を表す２つのサフィックスi,jによって表される出力確率密度関数gij(Obs)は、遷移後の状態Sjを表すサフィックスjだけによって、gj(Obs)と表すことができる。
【０１６９】
さらに、ここでは、説明を簡単にするために、出力確率密度関数gj(Obs)は、例えば、単一のガウシアン（正規分布）で表されることとする。即ち、状態Siから状態Sjに遷移するときにHMM２１から観測値Obsが出力される確率密度は、平均値（平均ベクトル）がμjで、分散（共分散行列）がσj2（σj2の上付の2は、べき指数を表す）の、Obsを変数（確率変数）とする正規分布になることとする。いま、この正規分布を、N(Obs，μj，σj2）と表すこととすると、出力確率密度関数gj(Obs)は、式（２）で表される。
【０１７０】
【数２】
2006285881.tif 000004
・・・（２）
【０１７１】
モデル学習部４５は、学習データ記憶部２２に記憶された学習データを用い、HMM２１の学習として、次の式で示される計算を行うことにより、HMM２１の新たな状態遷移確率aijと、出力確率密度関数gj(Obs)を規定する平均値μjおよび分散σj2とを求める。なお、以下では、特に断らない限り、上付の文字は、べき指数ではなく、サフィックスである。
【０１７２】
【数３】
2006285881.tif 000005
・・・（３）
【０１７３】
【数４】
2006285881.tif 000006
・・・（４）
【０１７４】
【数５】
2006285881.tif 000007
・・・（５）
【０１７５】
【数６】
2006285881.tif 000008
・・・（６）
【０１７６】
ここで、aijは、状態Siから状態Sjに遷移する確率（状態遷移確率）を表し、gj(xt+1n)は、状態Sjへの遷移があったときにHMM２１から観測値xt+1nが出力（観測）（生起）される確率密度（を表す出力確率密度関数）を表す。
【０１７７】
また、Nは、HMM２１の学習に用いられる学習データとしての時系列データの個数（総数）を表し、nは、N個の学習データのうちの何番目かを表す変数である。なお、最も古い学習データを1番目とし、次の古い学習データを2番目とし、以下、同様にして、最も新しい学習データをN番目とする。
【０１７８】
xnは、n番目の学習データとしての時系列データ（の観測値）を表し、xtnは、n番目の学習データとしての時系列データを構成する時系列の特徴量のうちの、時刻tの特徴量を表す。
【０１７９】
ここで、学習データとしての時系列データは、特徴抽出部２（図２）で抽出される特徴量の時系列（時間順の並び）であるが、特徴抽出部２は、例えば、上述したように、信号入力部１からの音声データに対して一定時間間隔で周波数分析などの処理を施すことによって、特徴量を抽出する。特徴抽出部２が特徴量を抽出する一定時間間隔を、フレームと呼ぶこととすると、時刻t=1の特徴量x1nは、音声データの1番目のフレームから抽出された特徴量であり、以下、同様に、時刻t=Tの特徴量xTnは、音声データのT番目のフレームから抽出された特徴量である。従って、時刻tは、音声データの何番目のフレームであるかを表す変数であり、以下、適宜、フレーム数tともいう。
【０１８０】
T[n]は、n番目の学習データxnとしての時系列データを構成する時系列の特徴量xtnの数、つまり、その時系列の特徴量xtnが抽出された音声データのフレーム数（総数）を表す。時刻tが1からT[n]までの時系列の特徴量x1n,x2n,・・・,xT[n]nが、n番目の学習データxnとしての時系列データである（xn={x1n,x2n,・・・,xT[n]n})。
【０１８１】
αin(t)は、特徴量x1n,x2n,・・・,xtnを観測して、時刻tに状態Siにいる確率（前向き確率）を表し、βin(t)は、時刻tに状態Siにいて、その後、特徴量xtn,xt+1n,・・・,xT[n]nを観測する確率（後ろ向き確率）を表す。
【０１８２】
fijは、aijと同様に、状態Siから状態Sjに遷移する状態遷移確率を表す。但し、aijは、今回のHMM２１の学習によって求めようとする状態遷移確率であるのに対して、fijは、今回のHMM２１の学習によって求めようとする状態遷移確率aijの初期値となる状態遷移確率である。ここでは、状態遷移確率aijの初期値fijとして、例えば、前回のHMM２１の学習によって求められた状態遷移確率aijを用いることとする。
【０１８３】
Pφ(xn)は、式（３）、式（５）、および式（６）において、時刻tについてのサメーションΣ（時刻tを1からT[n]に変えてのサメーションΣ）の計算結果を正規化するための正規化項である。
【０１８４】
なお、μj2および(xtn)2の上付の2は、いずれも、べき指数を表す。
【０１８５】
モデル学習部４５は、式（３）の状態遷移確率aijと、出力確率密度関数gj(Obs)を規定する式（５）の平均値μjおよび式（６）の分散σj2とを求め、HMM２１の状態遷移確率aijと出力確率密度関数gj(Obs)（を規定する平均値μjおよび分散σj2）とを更新する。
【０１８６】
なお、Baum-Welch法によるHMMの学習については、前述の非特許文献４に記載されている。
【０１８７】
図１１の学習処理によれば、１個の新たな時系列データが得られると、その新たな時系列データに対して、時系列パターン記憶ネットワークを構成するノードの中から、勝者ノードが決定される（ステップＳ２）。さらに、その勝者ノードを基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みが決定される（ステップＳ３）。そして、更新重みに基づいて、時系列パターン記憶ネットワークを構成する各ノードが有するHMM２１（図４）のパラメータが更新される。
【０１８８】
即ち、図１１の学習処理では、１個の新たな時系列データに対して、時系列パターン記憶ネットワークを構成するノードのパラメータの更新が１回行われ、以下、同様に、新たな時系列データが得られるたびに、ノードのパラメータの更新が繰り返されることにより、自己組織的に学習が行われる。
【０１８９】
そして、学習が十分に行われることにより、時系列パターン記憶ネットワークの各ノードが有するHMM２１は、ある時系列パターンを学習（獲得）する。時系列パターン記憶ネットワーク全体において学習される時系列パターンの数（種類）は、時系列パターン記憶ネットワークが有するノードの数と一致するので、時系列パターン記憶ネットワークが有するノードの数が、例えば１００である場合は、１００種類の時系列パターンが学習されることになる。この時系列パターンに基づき、認識部３（図２）では、時系列データ（処理対象データ）を認識する認識処理を行うことが可能となり、生成部６（図２）では、時系列データを生成する生成処理を行うことが可能となる。
【０１９０】
なお、図１１の学習処理では、新たな時系列データが与えられると、その新たな時系列データを用いて、ノードの学習を行うオンライン学習を行うようにしたが、ノードの学習の方法としては、ある程度の数の新たな時系列データが得られてから、その新たな時系列データを用いて学習を行うバッチ学習を採用することも可能である。
【０１９１】
次に、図１３は、図２の認識部３の構成例を示している。
【０１９２】
認識部３には、図２で説明したように、特徴抽出部２から、（１個の）時系列データが供給され、この時系列データは、スコア計算部５１に供給される。
【０１９３】
スコア計算部５１は、学習処理部３２（図８）のスコア計算部４１と同様に、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、特徴抽出部２からの時系列データ（の観測値）に適合する度合いを表すスコアを求め、勝者ノード決定部５２に供給する。即ち、スコア計算部５１は、ノードが有するHMM２１から、特徴抽出部２からの時系列データが観測される対数尤度を求め、そのノードのスコアとして、勝者ノード決定部５２に供給する。
【０１９４】
勝者ノード決定部５２は、学習処理部３２（図８）の勝者ノード決定部４２と同様に、記憶部５に記憶された時系列パターン記憶ネットワークにおいて、特徴抽出部２からの時系列データに最も適合するノードを求め、そのノードを、勝者ノードとして決定する。
【０１９５】
即ち、勝者ノード決定部５２は、記憶部５に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部５１からのスコアが最も高いノードを勝者ノードとして決定する。そして、勝者ノード決定部５２は、勝者ノードを表す情報としてのノードラベルを、出力部５３に供給する。
【０１９６】
出力部５３は、勝者ノード決定部５２からの勝者ノードを表すノードラベルを、特徴抽出部２からの特徴量の時系列データ、ひいては、その特徴量に対応する、信号入力部１に入力された処理対象データの認識結果として出力する。
【０１９７】
なお、認識部３のスコア計算部５１と、学習処理部３２（図８）のスコア計算部４１とは、いずれか一方のスコア計算部で兼用することが可能である。認識部５１の勝者ノード決定部５２と、学習処理部３２（図８）の勝者ノード決定部４２についても、同様である。
【０１９８】
次に、図１４のフローチャートを参照して、図２のデータ処理装置で行われる、時系列データを認識する認識処理について説明する。
【０１９９】
１個の処理対象データ、即ち、例えば、１の音声区間の音声データ（時系列データ）が、信号入力部１に入力されると、信号入力部１は、その処理対象データを、特徴抽出部２に供給する。特徴抽出部２は、処理対象データである時系列データから特徴量を抽出し、その特徴量の時系列データを、認識部３に供給する。
【０２００】
認識部３（図１３）では、ステップＳ２１において、スコア計算部５１が、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、特徴抽出部２からの時系列データに適合する度合いを表すスコアを求める。
【０２０１】
具体的には、ノードが有するHMM２１（図４）から、特徴抽出部２からの時系列データが観測される対数尤度が、例えば、ビタビアルゴリズムによって求められる。スコア計算部５１は、時系列パターン記憶ネットワークが有するすべてのノードについて、特徴抽出部２からの時系列データに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部５２に供給する。
【０２０２】
勝者ノード決定部５２は、ステップＳ２２において、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部５１からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部５２は、勝者ノードを表す情報としてのノードラベルを、出力部５３に供給する。
【０２０３】
出力部５３は、ステップＳ２３において、勝者ノード決定部５２からのノードラベルを、特徴抽出部２からの時系列データ（信号入力部１に入力された処理対象データ）の認識結果として出力し、処理を終了する。
【０２０４】
なお、出力部５３が出力するノードラベル（勝者ノードのノードラベル）は、例えば、制御データとして、生成部６に供給することができる。
【０２０５】
以上のような、時系列パターン記憶ネットワークを用いた認識処理によれば、その時系列パターン記憶ネットワークのノードの数に応じた細かさの認識結果を得ることができる。
【０２０６】
即ち、例えば、いま、時系列パターン記憶ネットワークの学習が、３つのカテゴリ"A"，"B"，"C"の発声それぞれにより得られた音声データを用いて行われたとする。
【０２０７】
時系列パターン記憶ネットワークの学習に用いられた３つのカテゴリ"A"，"B"，"C"の音声データが、多数の話者の発話を含む場合には、例えば、カテゴリ"A"の音声データであっても、発話速度や、イントネーション、話者の年齢、性別などの違いによって、様々なバリエーションの音声データが存在する。
【０２０８】
教師あり学習であれば、カテゴリ"A"，"B"，"C"の音声データを用いた学習は、カテゴリ"A"の音声データだけ、カテゴリ"B"の音声データだけ、カテゴリ"C"の音声データだけをそれぞれ用いて行われる。従って、各カテゴリの学習結果には、発話速度等の違いによるバリエーションは、生じ得ない。
【０２０９】
一方、時系列パターン記憶ネットワークの学習では、カテゴリ"A"，"B"，"C"の音声データが、それらを区別（分類）することなく用いられる。そして、時系列パターン記憶ネットワークでは、上述したように、その時系列パターン記憶ネットワークが有するノードの数だけの時系列パターンが学習される。
【０２１０】
従って、時系列パターン記憶ネットワークでは、例えば、それが有するノードの数が３より大であれば、１つのカテゴリ"A"の音声データであっても、そのカテゴリ"A"の音声データの中の、ある１つのバリエーション（の時系列パターン）が、ある１つのノードで学習され、他の１つのバリエーションが、他の１つのノードで学習されることがある。
【０２１１】
そして、このように、複数のノードにおいて、カテゴリ"A"の音声データの様々なバリエーションが学習された場合、認識処理では、例えば、カテゴリ"A"の音声データが処理対象データとして入力されると、カテゴリ"A"の音声データが学習された複数のノードの中から、処理対象データに最も適合するノードが、勝者ノードとして決定され、その勝者ノードのノードラベルが、認識結果として出力される。
【０２１２】
次に、図１５は、図２の生成部６の構成例を示している。
【０２１３】
生成部６には、図２で説明したように、制御データが供給される。生成部６に供給される制御データは、記憶部５の時系列パターン記憶ネットワークが記憶している時系列パターン、ひいては、時系列パターン記憶ネットワークを構成するノードのうちのいずれかを表すもので、例えば、ノードラベルである。
【０２１４】
生成部６に供給された制御データは、生成ノード決定部６１に供給される。生成ノード決定部６１は、記憶部５に記憶された時系列パターン記憶ネットワークにおいて、そこに供給される制御データが表すノードを、時系列データを生成するのに用いるノード（以下、適宜、生成ノードという）として決定し、その決定結果を、時系列生成部６２に供給する。
【０２１５】
即ち、生成ノード決定部６１は、そこに供給される制御データとしてのノードラベルが表すノードを、生成ノードとして決定し、その決定結果を、時系列生成部６２に供給する。
【０２１６】
時系列生成部６２は、生成ノード決定部６１からの決定結果にしたがい、生成ノードが有するHMM２１（図４）に基づいて、時系列データを生成し、出力部６３に供給する。
【０２１７】
即ち、時系列生成部６２は、生成ノードが有するHMM２１において時系列データが観測される尤度を表す出力確率（生起確率）を最大にする時系列データを生成する。ここで、HMMを用いた時系列データの生成については、動的特徴量を利用することで滑らかに変化する時系列データを生成する方法があり、時系列生成部６２では、その方法によって、時系列データを生成することができる。このような時系列データの生成方法は、例えば、K. Tokuda, T. Yoshimura, T. Masuko, T. Kobayashi, T. Kitamura,  "SPEECH PARAMETER GENERATION ALGORITHMS FOR HMM-BASED SPEECH SYNTHESIS",  Proc. of ICASSP 2000, vol.3, pp.1315-1318, June 2000に記載されている。
【０２１８】
なお、その他、例えば、HMMのパラメータを用いた確率的試行に基づく時系列データの生成を繰り返し行い、その平均をとることで、HMMから時系列データを生成する方法なども提案されており、その詳細については、例えば、稲邑哲也、谷江博昭、中村仁彦、「連続分布型隠れマルコフモデルを用いた時系列データのキーフレーム抽出とその復元」、日本機械学会ロボティクス・メカトロニクス講演会2003講演論文集、2P1-3F-C6，2003に記載されている。
【０２１９】
出力部６３は、時系列生成部６２からの時系列データを、処理対象データに相当する時系列データに変換して出力する。即ち、時系列生成部６２において生成される時系列データは、ノードが有するHMM２１の学習に用いられた特徴量の時系列データであり、出力部６３は、その特徴量の時系列データを、処理対象データ（の時系列データ）に変換して出力する。
【０２２０】
具体的には、例えば、処理対象データが音声データであり、特徴抽出部２が、音声データからメルケプストラムを特徴量として抽出する場合には、メルケプストラムの時系列データが、HMM２１によって学習されるので、時系列生成部６２が生成ノードのHMM２１（図４）に基づいて生成する時系列データは、メルケプストラムの時系列データとなる。出力部６３は、時系列生成部６２において生成されるメルケプストラム（の時系列データ）を、処理対象データに相当する時系列データである音声データに変換する。
【０２２１】
なお、メルケプストラムの時系列データを音声データ（時領域の音声）に変換する方法としては、例えば、MLSAフィルタ（メル対数スペクトル近似フィルタ）と呼ばれる合成フィルタによって、メルケプストラムの時系列データをフィルタリングする方法がある。MLSAフィルタの詳細については、例えば、今井聖、住田一男、古市千恵子、「音声合成のためのメル対数スペクトル近似(MLSA)フィルタ」、電子情報通信学会論文誌（Ａ）、J66-A, 2, pp.122-129, 1983や、徳田恵一、小林隆夫、斉藤博徳、深田俊明、今井聖、「メルケプストラムをパラメータとする音声のスペクトル推定」、電子情報通信学会論文誌（Ａ）、J74-A, 8, pp.1240-1248, 1991に記載されている。
【０２２２】
次に、図１６のフローチャートを参照して、図２のデータ処理装置で行われる、時系列データ（処理対象データ）を生成する生成処理について説明する。
【０２２３】
制御データは、生成ノード決定部６１に供給されると、生成ノード決定部６１は、ステップＳ３１において、記憶部５に記憶された時系列パターン記憶ネットワークを構成するノードのうちの、制御データとしてのノードラベルが表すノードを、生成ノードとして決定し、その決定結果を、時系列生成部６２に供給する。
【０２２４】
時系列生成部６２は、ステップＳ３２において、生成ノード決定部６１からの決定結果にしたがい、記憶部５に記憶された時系列パターン記憶ネットワークを構成するノードのうちの生成ノードが有するHMM２１（のパラメータ）に基づいて、時系列データを生成し、出力部６３に供給する。出力部６３は、ステップＳ３３において、時系列生成部６２からの時系列データを、処理対象データに相当する時系列データに変換して出力する。
【０２２５】
以上のような、時系列パターン記憶ネットワークを用いた生成処理によれば、その時系列パターン記憶ネットワークのノードの数に応じた（時系列パターンの）時系列データを生成することができる。
【０２２６】
即ち、例えば、上述の認識処理で説明した場合と同様に、時系列パターン記憶ネットワークの学習が、３つのカテゴリ"A"，"B"，"C"の発声それぞれにより得られた音声データを用いて行われたとする。
【０２２７】
時系列パターン記憶ネットワークの学習に用いられた３つのカテゴリ"A"，"B"，"C"の音声データが、多数の話者の発話を含む場合には、例えば、カテゴリ"A"の音声データであっても、発話速度や、イントネーション、話者の年齢、性別などの違いによって、様々なバリエーションの音声データが存在し、時系列パターン記憶ネットワークでは、カテゴリ"A"の音声データの中の、ある１つのバリエーション（の時系列パターン）が、ある１つのノードで学習され、他の１つのバリエーションが、他の１つのノードで学習されることがある。
【０２２８】
そして、このように、複数のノードにおいて、カテゴリ"A"の音声データの様々なバリエーションが学習された場合、その複数のノードのうちのいずれかを表すノードラベルが、制御データとして与えられることにより、そのノードラベルが表すノードで学習されたバリエーションのカテゴリ"A"の音声データが出力される。従って、同一のカテゴリの音声データであっても、様々なバリエーションの音声データを出力することができる。
【０２２９】
以上のように、HMM２１を有する複数のノードから構成される時系列パターン記憶ネットワークを、時系列データに基づいて、自己組織的に更新するようにしたので、長さが一定の時系列データは勿論、長さが一定でない時系列データの教師なし学習、つまり、時系列データの、いわば自律的な学習を、容易に（実用的に）行うことができる。
【０２３０】
即ち、時系列パターン記憶ネットワークの各ノードは、HMM２１を有するから、時系列パターン記憶ネットワークの学習において、ノードの更新、つまり、そのノードが有するHMM２１の更新は、他のノードの更新に影響しない。従って、時系列パターン記憶ネットワークを構成するノードが１つ増えても、時系列パターン記憶ネットワークの学習に要する計算量は、単純には、１のノードの更新に要する計算量だけ増えるだけであり、時系列パターン記憶ネットワークの規模、つまり、時系列パターン記憶ネットワークを構成するノードの数を大にしても、時系列パターン記憶ネットワークの学習に要する計算量が飛躍的に増加することはない。従って、大規模な時系列パターン記憶ネットワークであっても、容易に、自己組織的に学習することができる。
【０２３１】
さらに、かかる時系列パターン記憶ネットワークの学習によれば、各ノードに、時系列データの統計的な特性を表す時系列パターンが記憶されるので、その時系列パターンを用いて、時系列データの認識や生成を、容易に行うことができる。さらに、時系列パターン記憶ネットワークによれば、時系列データの分類や解析などを行うことが可能となる。
【０２３２】
なお、学習処理、認識処理、生成処理は、例えば、音声データ、画像データ、モータを駆動する信号、その他の任意の時系列データを対象として行うことができる。具体的には、例えば、図２のデータ処理装置を自律型のロボットなどの自律システムに適用し、そのロボットの視覚や、聴覚、触覚に相当するセンサが出力する信号や、ロボットの手や足に相当する部分を駆動するアクチュエータを制御する信号、合成音を生成する装置や目に相当するLEDに対して与える信号等を、学習処理、認識処理、生成処理の対象とする時系列データとして採用することができる。
【０２３３】
ところで、上述した図１１の学習処理では、ノードが有するHMM２１の学習を、常時、H個の学習データを用いて行うため、学習データ記憶部３１に記憶されている新たな時系列データを、ノードの学習データ記憶部２２（図４）に記憶させるときに、即ち、学習データ記憶部２２の記憶内容を更新するときに、学習データ記憶部３１に記憶されている新たな時系列データと、ノードの学習データ記憶部２２に記憶されている旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合することにより、つまり、旧学習データのうちの古い順のα個を削除して、α個の新たな時系列データを追加することにより、H個の新たな学習データを得て、そのH個の新たな学習データに、ノードの学習データ記憶部２２の記憶内容が更新される。
【０２３４】
ここで、学習データの個数は、整数の値しかとりえない。
【０２３５】
従って、新たな時系列データと、旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合する場合に、更新重みαが小数点以下の値を有するときには、更新重みαの小数点以下の値を切り上げまたは切り捨てすることにより、更新重みαを整数化する必要がある。
【０２３６】
具体的には、例えば、更新重みαとして、小数点以下の値を有する3.2が得られた場合には、更新重みαである3.2の小数点以下の値(0.2)を切り捨てすることにより、更新重みαを、3に整数化する必要がある。
【０２３７】
そして、この場合、旧学習データのうちの古い順の3個を削除して、3個の新たな時系列データを追加することにより、H個の新たな学習データを得て、学習データ記憶部２２の記憶内容が更新され、そのH個の新たな学習データを用いて、HMM２１の学習が行われる。
【０２３８】
しかしながら、時系列パターン記憶ネットワークを自己組織的に更新する学習（以下、適宜、時系列パターン記憶ネットワークの学習という）を精度良く行うためには、HMM２１の学習は、新たな時系列データと、旧学習データとを、更新重みαの値をそのまま用いた比率α:H-αで混合して得られるH個の新たな学習データを用いて行うことが望ましい。即ち、更新重みαを、その小数点以下の値を切り捨て等することにより整数化すると、その切り捨て等された小数点以下の値の分だけ、時系列パターン記憶ネットワークの学習の精度が劣化する。
【０２３９】
また、Baum-Welch 法によるHMM２１の学習では、式（３）、式（５）、および式（６）に示したように、学習データの個数Nだけの回数のサメーション（変数nについてのΣ（変数nを1からNに変えてのΣ））が存在するため、学習データの個数Nに比例した計算量の計算を行う必要がある。従って、HMM２１の学習を、常時、H個の学習データを用いて行う場合には、その学習データの個数Hに比例した計算量の計算を、HMM２１の学習のたびに行う必要がある。
【０２４０】
即ち、上述した図１１の学習処理では、１個の新たな時系列データが得られたときに、ノードの学習データ記憶部２２に記憶されている旧学習データの古い順のα個を削除するとともに、１個の新たな時系列データをα個コピーして追加し、H個の新たな学習データを得て、そのH個の新たな学習データを用いて、HMM２１の学習が行われる。従って、この場合、HMM２１の学習においては、HMM２１に対して、いわば、古い順のα個の旧学習データの影響を排除するとともに、１個の新たな時系列データを影響させるために、学習データの個数Hに比例した計算量の計算を、必ず行う必要がある。
【０２４１】
ここで、上述のように、常時、H個の学習データを用いて行うHMM２１の学習によって、HMM２１を更新する更新方法を、通常更新法という。
【０２４２】
時系列パターン記憶ネットワークを学習する学習処理では、その学習の精度の劣化を防止するとともに、計算量の低減を図るべく、HMM２１を更新する更新方法として、上述した通常更新法ではなく、以下のような、学習データを更新重みα（にしたがった重み）で用いたHMM２１の学習によって、HMM２１を更新する方法（以下、適宜、重み付き更新法という）を採用することができる。
【０２４３】
即ち、いま、あるノードに注目して、その注目ノードが有するHMM２１の学習を行うこととすると、重み付き更新法では、注目ノードが有する学習データ記憶部２２に記憶された学習データを、その学習データとしての時系列データ（の観測値）に最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みα（にしたがった重み）で用いて、注目ノードが有するHMM２１の学習が行われる。
【０２４４】
具体的には、状態遷移確率aijと、出力確率密度関数gj(Obs)を規定する平均値μjおよび分散σj2とが、式（３）、式（５）、式（６）ではなく、次の式（７）、式（８）、式（９）にしたがって求められる。
【０２４５】
【数７】
2006285881.tif 000009
・・・（７）
【０２４６】
【数８】
2006285881.tif 000010
・・・（８）
【０２４７】
【数９】
2006285881.tif 000011
・・・（９）
【０２４８】
ここで、wnは、n番目の学習データとしての時系列データに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みαを表す。
【０２４９】
式（７）は、変数nについてのサメーションΣにおいて、n番目の学習データxnを用いて計算された、時刻tについてのサメーションΣの計算結果が、n番目の学習データxnとしての時系列データに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みαである重みwnで重み付けされて、累積加算される点で、式（３）と異なる。式（８）と式（９）も、同様の点で、式（５）と式（６）と、それぞれ異なる。
【０２５０】
通常更新法では、HMM２１に対して、１個の新たな時系列データを、いわば、更新重みα分だけ影響させるために、整数化した更新重みαの個数だけ、新たな時系列データをコピーして、固定数（一定の値）であるH個の学習データに含めるようにしたが、重み付き更新法では、学習データxnを、その学習データxnに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwn（にしたがった重み）で用いて、注目ノードが有するHMM２１の学習が行われるので、HMM２１に対しては、学習データxnが、更新重みwn分だけ影響する。従って、重み付き更新法によれば、学習データxnを、更新重みwn分だけ影響させるために、整数化した更新重みwnの個数だけ、学習データxnをコピーする必要がない。
【０２５１】
なお、重み付き更新法では、HMM２１の学習に、学習データxnとともに、その学習データxnに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwnが用いられるため、ノードが有する学習データ記憶部２２では、図１７に示すように、学習データxnを、その学習データxnに最も適合する勝者ノードに基づいてノードに対して決定された更新重みwnと対応付けて記憶する必要がある。
【０２５２】
即ち、図１７は、HMM２１の更新方法（HMM２１を更新する方法）として、重み付き更新法を採用した場合の、ノードが有する学習データ記憶部２２の記憶内容を示している。
【０２５３】
時系列パターン記憶ネットワークを構成するあるノードに注目した場合、その注目ノードが有する学習データ記憶部２２には、学習データxnと、その学習データxnとしての時系列データに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwnとが対応付けて記憶される。
【０２５４】
そして、特徴抽出部２から１個の新たな時系列データ（の観測値）が出力され、学習部４（図７）の学習データ記憶部３１に記憶された場合に行われる図１１の学習処理において、学習処理部３２（図８）の学習データ更新部４４は、学習データ記憶部３１に記憶された新たな時系列データを、注目ノードが有する学習データ記憶部２２に記憶させるときに、その学習データ記憶部２２の記憶内容を、次のように更新する。
【０２５５】
即ち、学習データ更新部４４は、注目ノードが有する学習データ記憶部２２に、新たな時系列データを記憶させた場合に、新しい順の学習データx1乃至xNそれぞれに対応付けされた更新重みw1乃至wNの総和が所定の値Wになるように、学習データ記憶部２２の記憶内容を更新する。
【０２５６】
ここで、H個の学習データを用いる通常更新法においては、H個の学習データの中に、更新重みがαの時系列データが、その更新重みαを整数化した値の個数だけ存在する。従って、H個の学習データを用いる通常更新法では、更新重みαの1が、1個の学習データに対応する。
【０２５７】
従って、通常更新法で用いられるH個の学習データは、更新重みαの総和がHになる分だけの学習データに対応するので、H個の学習データを用いて通常更新法によりHMM２１を更新することは、更新重みαの総和がHになる分だけの学習データを用いて重み付き更新法によりHMM２１を更新することに対応する。
【０２５８】
そこで、いま、重み付け更新法によって、上述の通常更新法における場合と同程度の学習データの影響を受けるHMM２１の学習を行うこととすると、学習データ更新部４４は、所定の値をHとして、新しい順の学習データx1乃至xNそれぞれに対応付けされた更新重みw1乃至wNの総和Ｗが、所定の値としてのHになるように、学習データ記憶部２２の記憶内容を更新する。
【０２５９】
即ち、通常更新法で用いられる学習データの個数Hが、例えば、上述したように100である場合、学習データ更新部４４は、新しい順の学習データx1乃至xNそれぞれに対応付けされた更新重みw1乃至wNの総和Ｗが所定の値としての100(=H)になるように、学習データ記憶部２２の記憶内容を更新する。
【０２６０】
具体的には、注目ノードが有する学習データ記憶部２２において、総和Ｗが100になる更新重みw1乃至wNが、それぞれ、学習データw1乃至wNと対応付けて記憶されている場合において、学習部４（図７）の学習データ記憶部３１に記憶された新たな時系列データxnewについての注目ノードに対する更新重みwnew（重み決定部４３（図８）が、新たな時系列データxnewに最も適合する勝者ノードに基づき、注目ノードに対して決定した更新重みwnew）が、例えば、6.6であったとすると、学習データ更新部４４は、新たな時系列データxnewを、新たな学習データとして、その新たな学習データxnewを、更新重みwnewである6.6と対応付けて、注目ノードが有する学習データ記憶部２２に記憶させ（追加し）、かつ、学習データ記憶部２２に記憶されている学習データw1乃至wNのうちの、古い順の、更新重みwnew分の学習データを、注目ノードが有する学習データ記憶部２２から削除する。
【０２６１】
即ち、例えば、いま、注目ノードが有する学習データ記憶部２２に記憶されている学習データw1乃至wNのうちの、最も古い学習データx1に対応付けられた更新重みw1が5.5で、２番目に古い学習データx2に対応付けられた更新重みw2が1.1であったとする。この場合、学習データ更新部４４は、新たな時系列データxnewと、更新重みwnew(=6.6)とを対応付けて、学習データ記憶部２２に追加する。さらに、学習データ更新部４４は、学習データ記憶部２２に記憶されている更新重みw1が5.5の最も古い学習データx1と、更新重みw2が1.1の２番目に古い学習データx2とを、更新重みwnew(=6.6=5.5+1.1)分の学習データとして、対応付けられている更新重みw1とw2とともに、学習データ記憶部２２から削除する。
【０２６２】
また、例えば、いま、注目ノードが有する学習データ記憶部２２に記憶されている学習データw1乃至wNのうちの、最も古い学習データx1に対応付けられた更新重みw1が4.5で、２番目に古い学習データx2に対応付けられた更新重みw2が4.1であったとする。この場合、学習データ更新部４４は、新たな時系列データxnewと、更新重みwnew(=6.6)とを対応付けて、学習データ記憶部２２に追加する。さらに、学習データ更新部４４は、学習データ記憶部２２に記憶されている更新重みw1が4.5の最も古い学習データx1を、対応付けられている更新重みw1とともに、学習データ記憶部２２から削除する。
【０２６３】
ここで、いまの場合、新たな時系列データxnewの更新重みwnewである6.6のうちの、最も古い学習データx1の更新重みw1である4.5分の学習データしか削除されておらず、従って、更新重みwnewである6.6から、更新重みw1である4.5を除いた残りの2.1(=6.6-4.5)分の学習データを、学習データ記憶部２２から削除する必要がある。
【０２６４】
一方、更新重みw1が4.5の最も古い学習データx1を削除した上に、更新重みw2が4.1の２番目に古い学習データx2も削除すると、更新重みが8.6(=4.5+4.1)分の学習データ、つまり削除すべき学習データよりも多くの学習データが削除されることになる。
【０２６５】
そこで、学習データ更新部４４は、更新重みwnew(=6.6)から更新重みw1(=4.5)を除いた残り分の2.1(=6.6-4.5)分の学習データの削除として、その残り分の2.1を、学習データ記憶部２２に記憶された２番目に古い学習データx2の更新重みw2（２番目に古い学習データx2に対応付けられている更新重みw2）である4.1から減算し、２番目に古い学習データx2の更新重みw2を、その減算結果である2.0(=4.1-2.1)に更新する。
【０２６６】
学習データ更新部４４は、学習データ記憶部３１（図７）に記憶された新たな時系列データを、注目ノードが有する学習データ記憶部２２に記憶させるときに、以上のようにして、新しい順の学習データx1乃至xNそれぞれに対応付けされた更新重みw1乃至wNの総和が所定の値Wとしての100(=H)になるように、学習データ記憶部２２の記憶内容を更新する。
【０２６７】
ここで、時系列パターン記憶ネットワークを学習する学習処理において、重み付き更新法を採用する場合には、新しい順の学習データx1乃至xNそれぞれの更新重みw1乃至wNの総和Ｗが所定の値となるように、学習データ記憶部２２の記憶内容が更新されることから、学習データ記憶部２２に記憶される学習データx1乃至xNの個数Nは、固定数ではなく、可変の値である。
【０２６８】
次に、図１８のフローチャートを参照し、学習処理において、重み付き更新法を採用する場合の、図１１のステップＳ４で行われる、学習データ記憶部２２の記憶内容を更新する学習データ更新処理について説明する。
【０２６９】
なお、図１８のフローチャートは、時系列パターン記憶ネットワークのあるノードに注目し、その注目ノードが有する学習データ記憶部２２（図１７）の記憶内容の更新の処理を示している。従って、図１１のステップＳ４の学習データ更新処理では、図１８のフローチャートの処理が、時系列パターン記憶ネットワークを構成する複数のノードそれぞれについて行われる。
【０２７０】
また、学習データ記憶部３１（図７）に記憶されている新たな時系列データ、即ち、注目ノードが有する学習データ記憶部２２に新たに学習データとして追加する時系列データを、xnew(={x1new,x2new,・・・,xT[new]new})と表す。さらに、重み決定部４３（図８）が、新たな時系列データxnewに最も適合する勝者ノードに基づいて注目ノードに対して決定した更新重みを、wnewと表す。
【０２７１】
まず最初に、ステップＳ５１において、学習データ更新部４４（図８）は、学習データ記憶部２２（図１７）に記憶されている学習データx1乃至xNの個数Nをカウントするための変数nに、初期値としての1をセットし、ステップＳ５２に進む。
【０２７２】
ステップＳ５２では、学習データ更新部４４は、学習データ記憶部３１（図７）に記憶されている新たな時系列データxnewの更新重みwnew（重み決定部４３から学習データ更新部４４に供給される、注目ノードに対する更新重みwnew）分の学習データを削除するために、学習データ記憶部２２（図１７）に記憶された更新重みwnの累積に用いる変数wを、0に初期化して、ステップＳ５３に進む。
【０２７３】
ステップＳ５３では、学習データ更新部４４は、変数wに、注目ノードが有する学習データ記憶部２２に記憶されている更新重みwnを加算し、その加算値を、変数wにセットして、即ち、変数wに、更新重みw1乃至wnの累積値をセットして、ステップＳ５４に進む。
【０２７４】
ステップＳ５４では、学習データ更新部４４は、変数wが、新たな時系列データxnewの更新重みwnew以上であるかどうかを判定する。ステップＳ５４において、変数w、つまり、更新重みw1乃至wnの累積値が、新たな時系列データxnewの更新重みwnew以上でないと判定された場合、ステップＳ５５に進み、変数nを１だけインクリメントして、ステップＳ５３に戻り、以下、同様の処理が繰り返される。
【０２７５】
また、ステップＳ５４において、変数w、つまり、更新重みw1乃至wnの累積値が、新たな時系列データxnewの更新重みwnew以上であると判定された場合、ステップＳ５６に進み、学習データ更新部４４は、変数wが、新たな時系列データxnewの更新重みwnewに等しいかどうかを判定する。
【０２７６】
ステップＳ５６において、変数wが、新たな時系列データxnewの更新重みwnewに等しいと判定された場合、即ち、更新重みw1乃至wnの累積値が、新たな時系列データxnewの更新重みwnewに等しい場合、ステップＳ５７に進み、学習データ更新部４４は、学習データ記憶部２２（図１７）に記憶された更新重みw1乃至wnと、その更新重みw1乃至wnそれぞれに対応付けられた学習データx1乃至xnを削除する。さらに、ステップＳ５７では、学習データ更新部４４は、学習データ記憶部２２（図１７）に記憶された更新重みwn+1乃至wNと、新たな時系列データxnewの更新重みwnewを、それぞれ、新たな更新重みw1乃至wNとするとともに、学習データ記憶部２２（図１７）に記憶された学習データxn+1乃至xNと、新たな時系列データxnewを、それぞれ、新たな学習データx1乃至xNとして、学習データ記憶部２２の記憶内容を、新たな更新重みw1乃至wNと、新たな学習データx1乃至xNに更新して、学習データ更新処理を終了する。
【０２７７】
一方、ステップＳ５６において、変数wが、新たな時系列データxnewの更新重みwnewに等しくないと判定された場合、即ち、更新重みw1乃至wnの累積値が、新たな時系列データxnewの更新重みwnewより大きく、従って、更新重みw1乃至wnと、その更新重みw1乃至wnそれぞれに対応付けられた学習データx1乃至xnを、学習データ記憶部２２から削除してしまうと、削除すべき学習データよりも多くの学習データを削除することとなる場合、ステップＳ５８に進み、学習データ更新部４４は、最後に変数wに加算された更新重みwnを、更新重みw1乃至wnの累積値である変数wから、新たな時系列データxnewの更新重みwnewを減算した減算値w-wnewに更新して、ステップＳ５９に進む。
【０２７８】
ステップＳ５９では、学習データ更新部４４は、学習データ記憶部２２（図１７）に記憶された更新重みw1乃至wn-1と、その更新重みw1乃至wn-1それぞれに対応付けられた学習データx1乃至xn-1を削除する。
【０２７９】
さらに、ステップＳ５９では、学習データ更新部４４は、ステップＳ５８での更新後の更新重みwnと、学習データ記憶部２２（図１７）に記憶された更新重みwn+1乃至wNと、新たな時系列データxnewの更新重みwnewを、それぞれ、新たな更新重みw1乃至wNとするとともに、学習データ記憶部２２（図１７）に記憶された学習データxn乃至xNと、新たな時系列データxnewを、それぞれ、新たな学習データx1乃至xNとして、学習データ記憶部２２の記憶内容を、新たな更新重みw1乃至wNと、新たな学習データx1乃至xNに更新して、学習データ更新処理を終了する。
【０２８０】
なお、記憶内容が更新された後の学習データ記憶部２２に記憶されている新たな学習データx1乃至xNの個数Nは、記憶内容が更新される前に比較して、学習データ更新処理によって削除された学習データの個数から1を減算した値だけ変更されている。従って、学習データ更新処理において、１個の学習データが削除された場合、学習データ記憶部２２に記憶されている新たな学習データx1乃至xNの個数Nは、学習データ更新処理によって記憶内容が更新される前と後で変わらない。
【０２８１】
学習データ更新部４４は、図１１のステップＳ４において、図１８で説明したようにして、時系列パターン記憶ネットワークのノードすべての学習データ記憶部２２（図１７）の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部４５に供給する。
【０２８２】
モデル学習部４５は、学習データ更新部４４から終了通知を受けると、図１１で説明したように、ステップＳ５において、時系列パターン記憶ネットワークのパラメータを更新するパラメータ更新処理、即ち、時系列パターン記憶ネットワークの各ノードについて、学習データ更新部４４による更新後の学習データ記憶部２２に記憶された新たな学習データを用いて、HMM２１の学習を行うことにより、そのHMM２１を更新する処理を行う。
【０２８３】
即ち、図１９は、図１１の学習処理において、重み付き更新法を採用する場合の、図１１のステップＳ５で行われるパラメータ更新処理を説明するフローチャートである。
【０２８４】
なお、図１９のフローチャートも、図１８のフローチャートと同様に、時系列パターン記憶ネットワークのあるノードに注目し、その注目ノードが有するHMM２１（図４）を更新する処理を示している。従って、図１１のステップＳ５のパラメータ更新処理では、図１９のフローチャートの処理が、時系列パターン記憶ネットワークを構成する複数のノードそれぞれについて行われる。
【０２８５】
モデル学習部４５（図８）は、ステップＳ７１において、注目ノードが有する学習データ記憶部２２（図１７）に記憶された学習データの数（総数)Nをカウントするための変数nに、初期値としての1をセットして、ステップＳ７２に進み、HMM２１の状態の数M+1をカウントするための、HMM２１の状態を表す変数iに、初期値としての0をセットする。
【０２８６】
そして、ステップＳ７２からステップＳ７３に進み、モデル学習部４５は、学習データxnである時系列の特徴量x1n,x2n,・・・,xT[n]nの時刻（フレーム数）をカウントするための変数tに、初期値としての1をセットして、ステップＳ７４に進む。
【０２８７】
ステップＳ７４では、モデル学習部４５は、学習データxn={x1n,x2n,・・・,xT[n]n}について、出力確率密度関数gi(xtn)、前向き確率αin(t)、および後ろ向き確率βin(t)を計算して、ステップＳ７５に進み、時刻tが、学習データxnである時系列の特徴量x1n,x2n,・・・,xT[n]nの総数（フレーム総数）T[n]に等しいかどうかを判定する。
【０２８８】
ステップＳ７５において、時刻tが、フレーム総数T[n]に等しくないと判定された場合、即ち、時刻tが、フレーム総数T[n]未満である場合、ステップＳ７６に進み、モデル学習部４５は、時刻tを1だけインクリメントして、ステップＳ７４に戻り、以下、同様の処理が繰り返される。
【０２８９】
また、ステップＳ７５において、時刻tが、フレーム総数T[n]に等しいと判定された場合、ステップＳ７７に進み、モデル学習部４５は、HMM２１の状態を表す変数iが、最終状態SMを表すMに等しいかどうかを判定する。
【０２９０】
ステップＳ７７において、HMM２１の状態を表す変数iが、最終状態を表すMに等しくないと判定された場合、即ち、変数iがM未満である場合、ステップＳ７８に進み、モデル学習部４５は、変数iを1だけインクリメントして、ステップＳ７３に戻り、以下、同様の処理が繰り返される。
【０２９１】
また、ステップＳ７７において、HMM２１の状態を表す変数iが、最終状態を表すMに等しいと判定された場合、即ち、HMM２１の状態S0乃至SMそれぞれと、学習データxnである時系列の特徴量x1n,x2n,・・・,xT[n]nの時刻1乃至T[n]それぞれとについて、出力確率密度関数gi(xtn)、前向き確率αin(t)、および後ろ向き確率βin(t)が求められた場合、ステップＳ７９に進み、モデル学習部４５は、式（４）にしたがって、正規化項Pφ(xn)を計算して、ステップＳ８０に進む。
【０２９２】
ステップＳ８０では、モデル学習部４５は、HMM２１の遷移前の状態を表す変数iに、初期値としての1をセットして、ステップＳ８１に進み、HMM２１の遷移先の状態を表す変数jに、初期値としての1をセットする。
【０２９３】
そして、ステップＳ８１からステップＳ８２に進み、モデル学習部４５は、ステップＳ７４で計算した出力確率密度関数gi(xtn)、前向き確率αin(t)、および後ろ向き確率βin(t)、注目ノードが有する学習データ記憶部２２（図１７）に記憶された更新重みwn、並びに注目ノードが有するHMM２１の現在の状態遷移確率fijを用いて、式（７）の状態遷移確率aijの分子の一部分wnΣαin(t)fijgj(xt+1n)βjn(t+1)を計算して、ステップＳ８３に進む。
【０２９４】
ステップＳ８３では、モデル学習部４５は、状態を表す変数jが、最終状態SMの１つ前（左側）の状態SM-1を表すM-1に等しいかどうかを判定する。ステップＳ８３において、変数jがM-1に等しくないと判定された場合、ステップＳ８４に進み、モデル学習部４５は、変数jを１だけインクリメントして、ステップＳ８２に戻り、以下、同様の処理が繰り返される。
【０２９５】
また、ステップＳ８３において、変数jがM-1に等しいと判定された場合、ステップＳ８５に進み、モデル学習部４５は、ステップＳ７４で計算した前向き確率αin(t)および後ろ向き確率βin(t)、並びに注目ノードが有する学習データ記憶部２２（図１７）に記憶された更新重みwnを用いて、式（７）の状態遷移確率aijの分母の一部分wnΣαin(t)βin(t)を計算して、ステップＳ８６に進む。
【０２９６】
ここで、式（７）の状態遷移確率aijの分母の一部分wnΣαin(t)βin(t)は、式（８）の平均値μjの分母の一部分（wnΣαjn(t)βjn(t)）、および式（９）の分散σj2の分母の一部分（wnΣαjn(t)βjn(t)）でもある。
【０２９７】
ステップＳ８６では、モデル学習部４５は、ステップＳ７４で計算した前向き確率αin(t)および後ろ向き確率βin(t)、並びに注目ノードが有する学習データ記憶部２２（図１７）に記憶された更新重みwnおよび学習データxnを用いて、式（８）の平均値μjの分子の一部分wnΣαjn(t)βjn(t)xtnを計算するとともに、式（９）の分散σj2の分子の一部分wnΣαjn(t)βjn(t)(xtn)2を計算して、ステップＳ８７に進む。
【０２９８】
ステップＳ８７では、モデル学習部４５は、状態を表す変数iが、最終状態SMの１つ前（左側）の状態SM-1を表すM-1に等しいかどうかを判定する。ステップＳ８７において、変数iがM-1に等しくないと判定された場合、ステップＳ８８に進み、モデル学習部４５は、変数iを１だけインクリメントして、ステップＳ８１に戻り、以下、同様の処理が繰り返される。
【０２９９】
また、ステップＳ８７において、変数iがM-1に等しいと判定された場合、ステップＳ８９に進み、モデル学習部４５は、ステップＳ７９で計算した正規化項Pφ(xn)、並びにステップＳ８２で計算した式（７）の状態遷移確率aijの分子の一部分wnΣαin(t)fijgj(xt+1n)βjn(t+1)を用いて、式（７）の状態遷移確率aijの分子における変数nについてのサメーション（Σ）の加算を１回だけ行う。
【０３００】
また、ステップＳ８９では、モデル学習部４５は、ステップＳ７９で計算した正規化項Pφ(xn)、並びにステップＳ８５で計算した式（７）の状態遷移確率aijの分母の一部分wnΣαin(t)βin(t)を用いて、式（７）の状態遷移確率aijの分母における変数nについてのサメーション（Σ）の加算を１回だけ行う。
【０３０１】
さらに、ステップＳ８９では、モデル学習部４５は、ステップＳ７９で計算した正規化項Pφ(xn)、並びにステップＳ８６で計算した式（８）の平均値μjの分子の一部分wnΣαjn(t)βjn(t)xtnを用いて、式（８）の平均値μjの分子における変数nについてのサメーション（Σ）の加算を１回だけ行うとともに、ステップＳ７９で計算した正規化項Pφ(xn)、並びにステップＳ８６で計算した式（９）の分散σj2の分子の一部分wnΣαjn(t)βjn(t)(xtn)2を用いて、式（９）の分散σj2の分子における変数nについてのサメーション（Σ）の加算を１回だけ行う。
【０３０２】
その後、ステップＳ８９からステップＳ９０に進み、モデル学習部４５は、変数nが、注目ノードが有する学習データ記憶部２２（図１７）に記憶されている学習データx1乃至xNの総数Nに等しいかどうかを判定する。
【０３０３】
ステップＳ９０において、変数nが、学習データx1乃至xNの総数Nに等しくないと判定された場合、ステップＳ９１に進み、モデル学習部４５は、変数nを1だけインクリメントして、ステップＳ７２に戻り、以下、ステップＳ９０で変数nが学習データx1乃至xNの総数Nに等しいと判定されるまで、ステップＳ７２乃至Ｓ９１の処理が繰り返される。
【０３０４】
ここで、ステップＳ７２乃至Ｓ９１の処理が繰り返されることにより、ステップＳ８９では、式（７）の状態遷移確率aijの分子における変数nについてのサメーション（Σ）、つまり、式（７）の状態遷移確率aijの分子の(1/Pφ(xn))wnΣαin(t)fijgj(xt+1n)βjn(t+1)の、変数nを1からNに変えての累積（積算）が行われる。同様に、式（７）の状態遷移確率aijの分母における変数nについてのサメーション（Σ）、式（８）の平均値μjの分子における変数nについてのサメーション（Σ）、および式（９）の分散σj2の分子における変数nについてのサメーション（Σ）も行われる。
【０３０５】
その後、ステップＳ９０において、変数nが、学習データx1乃至xNの総数Nに等しいと判定された場合、即ち、式（７）の状態遷移確率aijの分子における変数nについてのサメーション（Σ）、式（７）の状態遷移確率aijの分母における変数nについてのサメーション（Σ）、式（８）の平均値μjの分子における変数nについてのサメーション（Σ）、および式（９）の分散σj2の分子における変数nについてのサメーション（Σ）のすべての計算が終了した場合、ステップＳ９２に進み、モデル学習部４５は、式（７）の状態遷移確率aijの分子における変数nについてのサメーション（Σ）の計算結果を、式（７）の状態遷移確率aijの分母における変数nについてのサメーション（Σ）の計算結果で除算することにより、式（７）の状態遷移確率aijを求めて（計算して）、ステップＳ９３に進む。
【０３０６】
ステップＳ９３では、モデル学習部４５は、式（８）の平均値μjの分子における変数nについてのサメーション（Σ）の計算結果を、式（７）の状態遷移確率aijの分母における変数nについてのサメーション（Σ）の計算結果、即ち、式（８）の平均値μjの分母における変数nについてのサメーション（Σ）の計算結果で除算することにより、式（８）の平均値μjを求めるとともに、式（９）の分散σj2の分子における変数nについてのサメーション（Σ）の計算結果を、式（７）の状態遷移確率aijの分母における変数nについてのサメーション（Σ）の計算結果、即ち、式（９）の平均値aj2の分母における変数nについてのサメーション（Σ）の計算結果で除算することにより、式（９）の分散σj2を求める。
【０３０７】
そして、モデル学習部４５は、ステップＳ９２で求めた式（７）の状態遷移確率aijによって、注目ノードが有するHMM２１の状態遷移確率aij（状態遷移確率fij）を更新する。同様に、モデル学習部４５は、ステップＳ９３で求めた式（８）の平均値μjと、式（９）の分散σj2によって、注目ノードが有するHMM２１の予測値μjと分散aj2それぞれを更新し、パラメータ更新処理を終了する。
【０３０８】
以上のように、重み付き更新法では、時系列パターンを表現するHMMを有する複数のノードから構成される時系列パターン記憶ネットワークを、時系列データの観測値に基づいて、自己組織的に更新する学習処理を行うが、その学習処理で、時系列データxn（の観測値）を、注目ノードが有するHMM２１の学習に用いる学習データとして、その学習データを、その学習データである時系列データxnに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwnと対応付けて記憶する学習データ記憶部２２（図１７）において、新たな時系列データxnew（の観測値）が学習データとして記憶されるときに、新しい順の学習データx1乃至xNに対応付けされた更新重みw1乃至wNの総和Ｗが、所定の値Hになるように、学習データ記憶部２２の記憶内容を更新する。
【０３０９】
さらに、重み付き更新法では、記憶内容が更新された学習データ記憶部２２に記憶された学習データx1乃至xNを、その学習データx1乃至xNに対応付けられた更新重みw1乃至wNで用いて、注目ノードが有するHMM２１の学習を行うことにより、そのHMM２１を更新する。
【０３１０】
従って、時系列パターン記憶ネットワークによって、時系列データの教師なし学習を、容易に行うことができる。
【０３１１】
さらに、重み付き更新法によれば、HMM２１の学習の精度、ひいては、時系列パターン記憶ネットワークの精度の劣化を防止することができる。
【０３１２】
即ち、通常更新法では、常時、H個の学習データを用いてHMM２１の学習を行うため、上述したように、新たな時系列データと、旧学習データとを、小数点以下を切り捨て等して整数化した更新重みαを用いた比率α:H-αで混合することにより、学習データ記憶部２２の記憶内容を更新するために、更新重みαの小数点以下の値を切り捨て等する分だけ、HMM２１の学習の精度、ひいては、時系列パターン記憶ネットワークの精度の劣化するおそれがある。
【０３１３】
これに対して、重み付き更新法によれば、更新重みαを、その小数点以下の値を切り捨て等して整数化する必要がないので、その切り捨て等に起因するHMM２１（時系列パターン記憶ネットワーク）の学習の精度の劣化を防止することができる。
【０３１４】
また、重み付き更新法によれば、HMM２１の学習における計算量の低減化を図ることが可能となる。
【０３１５】
即ち、通常更新法によれば、HMM２１の学習において、固定の値であるH個の学習データの個数Hに比例した計算量の計算を行う必要がある。
【０３１６】
これに対して、重み付き更新法では、新しい順の学習データx1乃至xNに対応付けされた更新重みw1乃至wNの総和Ｗが、所定の値Hになるように、学習データ記憶部２２の記憶内容を更新し、学習データ記憶部２２に記憶された学習データxnを、その学習データxnに対応付けられた更新重みwnで用いて、HMM２１の学習を行うので、更新重みwnの期待値が、１より大であれば、学習データ記憶部２２に記憶される新しい順の学習データx1乃至xNの総数Nは、通常更新法におけるH個よりも少なくなり、HMM２１の学習における計算量の低減化を図ることができる。即ち、重み付き更新法によれば、HMM２１の学習における計算量を、通常更新法でHMM２１の学習を行う場合のN/H(<1)にすることができる。例えば、Hが100であり、更新重みwnの期待値が4であるとすると、更新重みwnの総和Wが100(=H)になる学習データx1乃至xNの数Nは25(=100/4)となり、重み付き更新法によるHMM２１の学習における計算量は、通常更新法でHMM２１の学習を行う場合の1/4(=25/100)となる。従って、HMM２１の学習の高速化を図ることができる。
【０３１７】
さらに、学習データ記憶部２２に記憶される新しい順の学習データx1乃至xNの総数Nが、通常更新法におけるH個よりも少なくて済むことにより、学習データ記憶部２２に必要とされる記憶容量の低減化を図ることができる。
【０３１８】
なお、学習データ記憶部２２に記憶された学習データx1乃至xNの更新重みw1乃至wNが、例えば、すべて１である場合には、学習データx1乃至xNの総数Nは、通常更新法と同一のH個になる。また、学習データ記憶部２２に記憶された学習データx1乃至xNの更新重みw1乃至wNが、例えば、すべて１未満である場合等には、学習データx1乃至xNの総数Nは、通常更新法におけるH個よりも多くなる。
【０３１９】
そこで、重み付き更新法では、HMM２１の学習の高速化、および学習データ記憶部２２に必要とされる記憶容量の低減化を図るべく、学習データ記憶部２２に学習データとして追加しようとする新たな時系列データxnewの更新重みwnewが１以下である場合には、学習データ更新部４４（図８）において、その新たな時系列データxnewを、学習データ記憶部２２に学習データとして追加せずに、破棄するようにすることができる。
【０３２０】
次に、Baum-Welch 法によるHMM２１の学習において、重み付き更新法を採用することにより、上述したように、通常更新法を採用する場合に比較して、計算量をN/Hに低減することができる。
【０３２１】
しかしながら、重み付き更新法であっても、学習データx1乃至xNの総数Nをカウントする変数nについてのサメーション（Σ）を計算する必要があるため、ノードが有する学習データ記憶部２２の記憶内容が、新たな学習データx1乃至xNに更新されると、その新たな学習データx1乃至xNの総数Nをカウントする変数nについてのサメーション（Σ）を計算し直す必要がある。従って、重み付き更新法によれば、通常更新法を採用する場合よりも計算量を低減することはできるが、それでも、新たな学習データx1乃至xNの総数Nに比例した計算量の計算をする必要がある。
【０３２２】
そこで、次に、学習データを更新重みα（にしたがった重み）で用いたHMM２１の学習によって、HMM２１を更新する点では、重み付き更新法と共通するが、重み付き更新法よりも、さらに少ない計算量でHMM２１を更新する方法（以下、適宜、インクリメンタル更新法という）について説明する。
【０３２３】
なお、以下では、説明の便宜上、学習データ記憶部２２には、新たな時系列データxnewが、順次、学習データとして記憶されていき、いま、c個の学習データx1乃至xcが記憶されているものとする。そして、次の新たな時系列データxnewは、学習データxc+1として、学習データ記憶部２２に記憶され、その結果、学習データ記憶部２２には、c＋１個の学習データx'乃至xc+1が記憶されるものとする。
【０３２４】
重み付き更新法では、上述したように、式（７）により、状態遷移確率aijが計算されるが、いま、学習データ記憶部２２に記憶されたc個の学習データx1乃至xcを用いて、式（７）により計算される状態遷移確率aijを、aijcと表すとともに、その状態遷移確率aijcを求めるのに計算される式（７）の計算の途中結果である途中結果データとしての式（７）の分子と分母を、それぞれae,ijcとad,ijcと表す。
【０３２５】
この場合、途中結果データae,ijcとad,ijcは、式（７）から、それぞれ、式（１０）と式（１１）で表すことができる。
【０３２６】
【数１０】
2006285881.tif 000012
・・・（１０）
【０３２７】
【数１１】
2006285881.tif 000013
・・・（１１）
【０３２８】
インクリメンタル更新法では、式（１０）の途中結果データae,ijcと、式（１１）の途中結果データad,ijcを、それぞれ、式（１２）と式（１３）で近似する。
【０３２９】
【数１２】
2006285881.tif 000014
・・・（１２）
【０３３０】
【数１３】
2006285881.tif 000015
・・・（１３）
【０３３１】
式（１０）では、途中結果データae,ijcが、学習データ記憶部２２に記憶された学習データx1乃至xcのすべてを用いて計算されているのに対して、式（１２）では、途中結果データae,ijcが、学習データ記憶部２２に記憶された学習データx1乃至xcのうちの最新の学習データxcだけを、その更新重みwc（にしたがった重み）で用い、かつ、最新の学習データxc以外の学習データx1乃至xc-1を用いない代わりに、前回のHMM２１の学習時に求められた途中結果データae,ijc-1、即ち、学習データ記憶部２２に最新の学習データxcが記憶される直前に行われたHMM２１の学習において求められた途中結果データae,ijc-1を、(W-wc)/Wの重みで用いて計算されている。
【０３３２】
ここで、Wは、上述したように、HMM２１の学習に用いられる新しい順の学習データx1乃至xcそれぞれの更新重みw1乃至wcの総和を表す。
【０３３３】
式（１０）では、最新の学習データxcが、その更新重みwcで用いられているとともに、前回のHMM２１の学習時に求められた途中結果データae,ijc-1が、最新の学習データxcの更新重みwcだけ、いわば割り引いた重み(W-wc)/Wで用いられている。
【０３３４】
同様に、式（１１）では、途中結果データad,ijcが、学習データ記憶部２２に記憶された学習データx1乃至xcのすべてを用いて計算されているのに対して、式（１３）では、途中結果データad,ijcが、学習データ記憶部２２に記憶された学習データx1乃至xcのうちの最新の学習データxcだけを、その更新重みwcで用い、かつ、最新の学習データxc以外の学習データx1乃至xc-1を用いない代わりに、前回のHMM２１の学習時に求められた途中結果データad,ijc-1を、最新の学習データxcの更新重みwcだけ割り引いた重み(W-wc)/Wで用いて計算されている。
【０３３５】
さらに、同様に、重み付き更新法において、学習データ記憶部２２に記憶された学習データx1乃至xcを用いて、式（８）により計算された平均値μjを、μjcと表すとともに、その平均値μjcを求めるのに計算される式（８）の計算の途中結果である途中結果データとしての式（８）の分子と分母を、それぞれμe,jcとμd,jcと表す。
【０３３６】
また、学習データ記憶部２２に記憶された学習データx1乃至xcを用いて、式（９）により計算された分散σj2を、(σ2)jcと表すとともに、その分散(σ2)jcを求めるのに計算される式（９）の計算の途中結果である途中結果データとしての式（９）の第１項の分子と分母を、それぞれ(σ2)e,jcと(σ2)d,jcと表す。
【０３３７】
インクリメンタル更新法では、途中結果データμe,jc，μd,jc，(σ2)e,jc，(σ2)d,jcも、途中結果データae,ijcおよびad,ijcと同様に、それぞれ、式（１４）、式（１５）、式（１６）、式（１７）で近似する。
【０３３８】
【数１４】
2006285881.tif 000016
・・・（１４）
【０３３９】
【数１５】
2006285881.tif 000017
・・・（１５）
【０３４０】
【数１６】
2006285881.tif 000018
・・・（１６）
【０３４１】
【数１７】
2006285881.tif 000019
・・・（１７）
【０３４２】
そして、インクリメンタル更新法では、式（１２）の途中結果データae,ijcと、式（１３）の途中結果データad,ijcとを用い、式（７）に相当する式（１８）を計算することにより、状態遷移確率aijcが求められる。
【０３４３】
【数１８】
2006285881.tif 000020
・・・（１８）
【０３４４】
さらに、式（１４）の途中結果データμe,jcと、式（１５）の途中結果データμd,jcとを用い、式（８）に相当する式（１９）を計算することにより、平均値μjcが求められる。
【０３４５】
【数１９】
2006285881.tif 000021
・・・（１９）
【０３４６】
そして、式（１５）の途中結果データ(σ2)e,jcと、式（１６）の途中結果データ(σ2)d,jc、さらには、式（１９）の平均値μjcを用い、式（９）に相当する式（２０）を計算することにより、分散(σ2)jcが求められる。
【０３４７】
【数２０】
2006285881.tif 000022
・・・（２０）
【０３４８】
以上のように、インクリメンタル更新法では、HMM２１の学習において、学習データ記憶部２２に記憶された学習データx1乃至xcのうちの最新の学習データxcだけが、その
更新重みwcで用いられ、最新の学習データxc以外の学習データx1乃至xc-1は用いられない。そして、その学習データx1乃至xc-1が用いられない代わりに、前回のHMM２１の学習時に求められた途中結果データae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1が、最新の学習データxcの更新重みwcだけ割り引いた重み(W-wc)/Wで用いられる。
【０３４９】
従って、インクリメンタル更新法では、HMM２１の学習にあたり、学習データとしては、最新の学習データxc、つまり、新たな時系列データxnewだけが用いられるため、学習データ記憶部２２に記憶させる学習データは、最新の学習データxcだけでよい。但し、インクリメンタル更新法では、前回のHMM２１の学習時に求められた途中結果データae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1が用いられるので、これらの途中結果データae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1を、学習データ記憶部２２に記憶しておく必要がある。
【０３５０】
ところで、上述のインクリメンタル更新法では、HMM２１の学習にあたり、学習データ記憶部２２に記憶された学習データx1乃至xcのうちの最新の学習データxcだけを用いるようにしたが、インクリメンタル更新法は、学習データx1乃至xcのうちの１以上であるk個の新しい順の学習データxc-k+1,xc-k+2,・・・,xcを用いるように拡張することができる。
【０３５１】
即ち、インクリメンタル更新法では、途中結果データae,ijcとad,ijcを、それぞれ、式（２１）と式（２２）で近似することができる。
【０３５２】
【数２１】
2006285881.tif 000023
・・・（２１）
【０３５３】
【数２２】
2006285881.tif 000024
・・・（２２）
【０３５４】
同様に、インクリメンタル更新法では、途中結果データμe,jc，μd,jc，(σ2)e,jc，(σ2)d,jcも、それぞれ、式（２３）、式（２４）、式（２５）、式（２６）で近似することができる。
【０３５５】
【数２３】
2006285881.tif 000025
・・・（２３）
【０３５６】
【数２４】
2006285881.tif 000026
・・・（２４）
【０３５７】
【数２５】
2006285881.tif 000027
・・・（２５）
【０３５８】
【数２６】
2006285881.tif 000028
・・・（２６）
【０３５９】
この場合も、式（２１）の途中結果データae,ijcと、式（２２）の途中結果データad,ijcとを用い、式（７）に相当する上述の式（１８）を計算することにより、状態遷移確率aijcを求めることができる。
【０３６０】
さらに、式（２３）の途中結果データμe,jcと、式（２４）の途中結果データμd,jcとを用い、式（８）に相当する上述の式（１９）を計算することにより、平均値μjcを求めることができる。
【０３６１】
そして、式（２４）の途中結果データ(σ2)e,jcと、式（２５）の途中結果データ(σ2)d,jc、さらには、式（２３）の途中結果データμe,jcと式（２４）の途中結果データμd,jcとを用いて計算される式（１９）の平均値μjcを用い、式（９）に相当する上述の式（２０）を計算することにより、分散(σ2)jcを求めることができる。
【０３６２】
いま、以上のように、学習データx1乃至xcのうちの１以上であるk個の新しい順の学習データxc-k+1乃至xcを用いて、HMM２１の学習を行うインクリメンタル更新法を、k-インクリメンタル更新法と呼ぶこととすると、k-インクリメンタル更新法では、HMM２１の学習において、学習データ記憶部２２に順次記憶される学習データx1乃至xcのうちの新しい順のk個の学習データxc-k+1乃至xcが、それぞれの更新重みwc-k+1乃至wcで用いられ、それより古いc-k個の学習データx1乃至xc-kは用いられない。そして、そのc-k個の学習データx1乃至xc-kが用いられない代わりに、前回のHMM２１の学習時に求められた途中結果データae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1が、新しい順のk個の学習データxc-k+1乃至xcそれぞれの更新重みwc-k+1乃至wcの総和Σwn（=wc-k+1+wc-k+2+・・・+wc）だけ割り引いた重み(W-Σwn)/Wで用いられる。
【０３６３】
従って、k-インクリメンタル更新法では、HMM２１の学習にあたり、新しい順のk個の学習データxc-k+1乃至xcが用いられるため、学習データ記憶部２２に記憶させる学習データは、図２０に示すように、新しい順のk個の学習データxc-k+1乃至xcだけでよい。
【０３６４】
即ち、図２０は、HMM２１の更新方法（HMM２１を更新する方法）として、k-インクリメンタル更新法を採用した場合の、ノードが有する学習データ記憶部２２の記憶内容を示している。
【０３６５】
時系列パターン記憶ネットワークを構成するあるノードに注目した場合、その注目ノードが有する学習データ記憶部２２には、学習データxnと、その学習データxnとしての時系列データに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwnとを対応付けたセットが、新しい順にkセットだけ記憶される。
【０３６６】
さらに、学習データ記憶部２２に記憶された新しい順のk個の学習データxc-k+1乃至xcを用いて、HMM２１の学習が行われたとすると、学習データ記憶部２２には、そのHMM２１の学習において求められた途中結果データae,ijc，ad,ijc，μe,jc，μd,jc，(σ2)e,jc，(σ2)d,jcが、次のHMM２１の学習、即ち、次の学習データxc+1が記憶されたときに、新しい順のk個の学習データxc-k+2乃至xc+1を用いて行われるHMM２１の学習において用いるために記憶される。
【０３６７】
そして、特徴抽出部２から１個の新たな時系列データ（の観測値）xnewが出力され、学習部４（図７）の学習データ記憶部３１に記憶された場合に行われる図１１の学習処理において、学習処理部３２（図８）の学習データ更新部４４は、学習データ記憶部３１に記憶された新たな時系列データxnewを、注目ノードが有する学習データ記憶部２２に記憶させるときに、その学習データ記憶部２２の記憶内容を、次のように更新する。
【０３６８】
即ち、学習データ更新部４４は、注目ノードが有する学習データ記憶部２２に、新たな時系列データxnewを、その更新重みwnewと対応付けて、最新の学習データxc+1と更新重みwc+1のセットとして記憶させるとともに、学習記憶部２２に既に記憶されているkセットの学習データxc-k+1乃至xcと更新重みwc-k+1乃至wcのセットのうちの最も古い学習データxc-k+1と更新重みwc-k+1のセットを削除する。
【０３６９】
この場合、記憶内容が更新された学習データ記憶部２２には、学習データxc-k+2乃至xcおよび更新重みwc-k21乃至wcのセットと、最新の学習データxc+1および更新重みwc+1のセットとの、合計でkセットの学習データxc-k+2乃至xc+1および更新重みwc-k+2乃至wc+1のセットが記憶される。
【０３７０】
さらに、学習データ更新部４４は、記憶内容が更新された学習データ記憶部２２に記憶されたk個の更新重みwc-k+2乃至wc+1のうちの、最新の最新の学習データxc+1以外の学習データxc-k+2乃至xcそれぞれの更新重みwc-k+2乃至wcを、(W-wc+1)/Wを乗算することにより、いわば割り引く。
【０３７１】
即ち、学習データ更新部４は、更新重みwc-k+2に、(W-wc+1)/Wを乗算し、その乗算値wc-k+2(W-wc+1)/Wを新たな更新重みwc-k+2とする、更新重みwc-k+2の更新を行う。同様に、学習データ更新部４は、更新重み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-インクリメンタル更新法において、HMM２１の学習に学習データとして用いられる新しい順の時系列データの観測値の個数であるk、つまり、HMM２１の学習に用いられる学習データの個数kを1とした場合には、k-インクリメンタル更新法は、式（１０）乃至式（２０）を用いて説明した最新の学習データxcのみを用いるインクリメンタル更新法となる。
【０３７４】
次に、図２１のフローチャートを参照し、学習処理において、インクリメンタル更新法を採用する場合の、図１１のステップＳ４で行われる、学習データ記憶部２２の記憶内容を更新する学習データ更新処理について説明する。
【０３７５】
なお、図２１のフローチャートは、時系列パターン記憶ネットワークのあるノードに注目し、その注目ノードが有する学習データ記憶部２２（図２０）の記憶内容の更新の処理を示している。従って、図１１のステップＳ４の学習データ更新処理では、図２１のフローチャートの処理が、時系列パターン記憶ネットワークを構成する複数のノードそれぞれについて行われる。
【０３７６】
また、ここでは、注目ノードが有する学習データ記憶部２２に、kセットの新しい順の学習データxc-k乃至xc-1と更新重みwc-k乃至wc-1のセットが記憶されており、新たな時系列データxnewと更新重みwnewのセットを、最新の学習データxcと更新重みwcのセットとして追加する更新について説明する。
【０３７７】
まず最初に、ステップＳ１１１において、学習データ更新部４４は、注目ノードが有する学習データ記憶部２２に、新たな時系列データxnewを、その更新重みwnewと対応付けて、最新の学習データxcと更新重みwcのセットとして記憶させるとともに、学習記憶部２２に既に記憶されているkセットの学習データxc-k乃至xc-1と更新重みwc-k乃至wc-1のセットのうちの最も古い学習データxc-kと更新重みwc-kのセットを削除する。
【０３７８】
これにより、学習データ記憶部２２には、kセットの新しい順の学習データxc-k+1乃至xcと更新重みwc-k+1乃至wcのセットが記憶される。
【０３７９】
ステップＳ１１１の処理後は、ステップＳ１１２に進み、学習データ更新部４４は、学習データ記憶部２２に記憶されたk個の更新重みwc-k+1乃至wcのうちの、最新の学習データxc以外の学習データxc-k+1乃至xc-1それぞれの更新重みwc-k+1乃至wc-1に対して、(W-wc)/Wを乗算し、その乗算値によって、更新重みwc-k+1乃至wc-1それぞれを更新し、学習データ更新処理を終了する。
【０３８０】
なお、図２１の学習データ更新処理では、記憶内容の更新の前後において、学習データ記憶部２２に記憶されている学習データの個数はk個のまま変わらない。
【０３８１】
学習データ更新部４４は、図１１のステップＳ４において、図２１で説明したようにして、時系列パターン記憶ネットワークのノードすべての学習データ記憶部２２（図２０）の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部４５に供給する。
【０３８２】
モデル学習部４５は、学習データ更新部４４から終了通知を受けると、図１１で説明したように、ステップＳ５において、時系列パターン記憶ネットワークのパラメータを更新するパラメータ更新処理、即ち、時系列パターン記憶ネットワークの各ノードについて、学習データ更新部４４による更新後の学習データ記憶部２２に記憶された新たな学習データを用いて、HMM２１の学習を行うことにより、そのHMM２１を更新する処理を行う。
【０３８３】
即ち、図２２は、図１１の学習処理において、インクリメンタル更新法を採用する場合の、図１１のステップＳ５で行われるパラメータ更新処理を説明するフローチャートである。
【０３８４】
なお、図２２のフローチャートも、図２１のフローチャートと同様に、時系列パターン記憶ネットワークのあるノードに注目し、その注目ノードが有するHMM２１（図４）を更新する処理を示している。従って、図１１のステップＳ５のパラメータ更新処理では、図２２のフローチャートの処理が、時系列パターン記憶ネットワークを構成する複数のノードそれぞれについて行われる。
【０３８５】
また、ここでは、図２１の学習データ更新処理が行われ、これにより、図２１で説明したように、学習データ記憶部２２には、kセットの新しい順の学習データxc-k+1乃至xcと更新重みwc-k+1乃至wcのセットが記憶されているものとする。
【０３８６】
さらに、注目ノードが有する学習データ記憶部２２には、前回行われたパラメータ更新処理において、注目ノードが有するHMM２１の状態遷移確率aijc-1、平均値μjc-1、および分散(σ2)jc-1を求めるときに得られた途中結果データae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1が記憶されているものとする。
【０３８７】
モデル学習部４５（図８）は、ステップＳ１２１において、注目ノードが有する学習データ記憶部２２（図２０）に記憶されたk個の学習データxc-k+1乃至xcを特定するための変数nに、初期値としてのc-k+1をセットする。
【０３８８】
そして、ステップＳ１２２乃至Ｓ１２９において、図１９のステップＳ７２乃至Ｓ７９における場合とそれぞれ同様の処理が行われる。
【０３８９】
即ち、ステップＳ１２２において、モデル学習部４５は、HMM２１の状態の数M+1をカウントするための、HMM２１の状態を表す変数iに、初期値としての0をセットする。
【０３９０】
そして、ステップＳ１２２からステップＳ１２３に進み、モデル学習部４５は、学習データxnである時系列の特徴量x1n,x2n,・・・,xT[n]nの時刻（フレーム数）をカウントするための変数tに、初期値としての1をセットして、ステップＳ１２４に進む。
【０３９１】
ステップＳ１２４では、モデル学習部４５は、学習データxn={x1n,x2n,・・・,xT[n]n}について、出力確率密度関数gi(xtn)、前向き確率αin(t)、および後ろ向き確率βin(t)を計算して、ステップＳ１２５に進み、時刻tが、学習データxnである時系列の特徴量x1n,x2n,・・・,xT[n]nの総数（フレーム総数）T[n]に等しいかどうかを判定する。
【０３９２】
ステップＳ１２５において、時刻tが、フレーム総数T[n]に等しくないと判定された場合、即ち、時刻tが、フレーム総数T[n]未満である場合、ステップＳ１２６に進み、モデル学習部４５は、時刻tを1だけインクリメントして、ステップＳ１２４に戻り、以下、同様の処理が繰り返される。
【０３９３】
また、ステップＳ１２５において、時刻tが、フレーム総数T[n]に等しいと判定された場合、ステップＳ１２７に進み、モデル学習部４５は、HMM２１の状態を表す変数iが、最終状態SMを表すMに等しいかどうかを判定する。
【０３９４】
ステップＳ１２７において、HMM２１の状態を表す変数iが、最終状態を表すMに等しくないと判定された場合、即ち、変数iがM未満である場合、ステップＳ１２８に進み、モデル学習部４５は、変数iを1だけインクリメントして、ステップＳ１２３に戻り、以下、同様の処理が繰り返される。
【０３９５】
また、ステップＳ１２７において、HMM２１の状態を表す変数iが、最終状態を表すMに等しいと判定された場合、ステップＳ１２９に進み、モデル学習部４５は、式（４）にしたがって、正規化項Pφ(xn)を計算して、ステップＳ１３０に進む。
【０３９６】
ステップＳ１３０では、モデル学習部４５は、HMM２１の遷移前の状態を表す変数iに、初期値としての1をセットして、ステップＳ１３１に進み、HMM２１の遷移先の状態を表す変数jに、初期値としての1をセットする。
【０３９７】
そして、ステップＳ１３１からステップＳ１３２に進み、モデル学習部４５は、ステップＳ１２４で計算した出力確率密度関数gi(xtn)、前向き確率αin(t)、および後ろ向き確率βin(t)、注目ノードが有する学習データ記憶部２２（図２０）に記憶された更新重みwn、並びに注目ノードが有するHMM２１の現在の状態遷移確率fijを用いて、式（２１）の状態遷移確率aijcの分子ae,ijcの第１項の一部分wnΣαin(t)fijgj(xt+1n)βjn(t+1)を計算して、ステップＳ１３３に進む。
【０３９８】
ステップＳ１３３では、モデル学習部４５は、状態を表す変数jが、最終状態SMの１つ前（左側）の状態SM-1を表すM-1に等しいかどうかを判定する。ステップＳ１３３において、変数jがM-1に等しくないと判定された場合、ステップＳ１３４に進み、モデル学習部４５は、変数jを１だけインクリメントして、ステップＳ１３２に戻り、以下、同様の処理が繰り返される。
【０３９９】
また、ステップＳ１３３において、変数jがM-1に等しいと判定された場合、ステップＳ１３５に進み、モデル学習部４５は、ステップＳ１２４で計算した前向き確率αin(t)および後ろ向き確率βin(t)、並びに注目ノードが有する学習データ記憶部２２（図２０）に記憶された更新重みwnを用いて、式（２２）の状態遷移確率aijcの分母ad,ijcの第１項の一部分wnΣαin(t)βin(t)を計算して、ステップＳ１３６に進む。
【０４００】
ここで、式（２２）の状態遷移確率aijcの分母ad,ijcの第１項の一部分wnΣαin(t)βin(t)は、式（２４）の平均値μjcの分母μd,jcの第１項の一部分（wnΣαjn(t)βjn(t)）、および式（２６）の分散(σ2)jcの分母(σ2)d,jcの第１項の一部分（wnΣαjn(t)βjn(t)）でもある。
【０４０１】
ステップＳ１３６では、モデル学習部４５は、ステップＳ１２４で計算した前向き確率αin(t)および後ろ向き確率βin(t)、並びに注目ノードが有する学習データ記憶部２２（図２０）に記憶された更新重みwnおよび学習データxnを用いて、式（２３）の平均値μjcの分子μe,jcの第１項の一部分wnΣαjn(t)βjn(t)xtnを計算するとともに、式（２５）の分散(σ2)jcの分子(σ2)e,jcの第１項の一部分wnΣαjn(t)βjn(t)(xtn)2を計算して、ステップＳ１３７に進む。
【０４０２】
ステップＳ１３７では、モデル学習部４５は、状態を表す変数iが、最終状態SMの１つ前（左側）の状態SM-1を表すM-1に等しいかどうかを判定する。ステップＳ１３７において、変数iがM-1に等しくないと判定された場合、ステップＳ１３８に進み、モデル学習部４５は、変数iを１だけインクリメントして、ステップＳ１３１に戻り、以下、同様の処理が繰り返される。
【０４０３】
また、ステップＳ１３７において、変数iがM-1に等しいと判定された場合、ステップＳ１３９に進み、モデル学習部４５は、ステップＳ１２９で計算した正規化項Pφ(xn)、並びにステップＳ１３２で計算した式（２１）の状態遷移確率aijcの分子ae,ijcの第１項の一部分wnΣαin(t)fijgj(xt+1n)βjn(t+1)を用いて、式（２１）の分子ae,ijcの第１項における変数nについてのサメーション（Σ）の加算を１回だけ行う。
【０４０４】
さらに、ステップＳ１３９では、モデル学習部４５は、学習データ記憶部２２（図２０）に記憶された更新重みwnを用いて、式（２１）の分子ae,ijcの第２項における変数nについてのサメーション（Σ）の加算を１回だけ行う。
【０４０５】
また、ステップＳ１３９では、モデル学習部４５は、ステップＳ１２９で計算した正規化項Pφ(xn)、並びにステップＳ１３５で計算した式（２２）の状態遷移確率aijcの分母ad,ijcの第１項の一部分wnΣαin(t)βin(t)を用いて、式（２２）の分母ad,ijcの第１項における変数nについてのサメーション（Σ）の加算を１回だけ行う。
【０４０６】
さらに、ステップＳ１３９では、モデル学習部４５は、ステップＳ１２９で計算した正規化項Pφ(xn)、並びにステップＳ１３６で計算した式（２３）の平均値μjcの分子μe,jcの第１項の一部分wnΣαjn(t)βjn(t)xtnを用いて、式（２３）の分子μe,jcの第１項における変数nについてのサメーション（Σ）の加算を１回だけ行うとともに、ステップＳ１２９で計算した正規化項Pφ(xn)、並びにステップＳ１３６で計算した式（２５）の分散(σ2)jcの分子(σ2)e,jcの第１項の一部分wnΣαjn(t)βjn(t)(xtn)2を用いて、式（２５）の分子(σ2)e,jcの第１項における変数nについてのサメーション（Σ）の加算を１回だけ行う。
【０４０７】
その後、ステップＳ１３９からステップＳ１４０に進み、モデル学習部４５は、変数nが、注目ノードが有する学習データ記憶部２２（図２０）に記憶されている最新の学習データxcを特定する値cに等しいかどうかを判定する。
【０４０８】
ステップＳ１４０において、変数nが、cに等しくないと判定された場合、ステップＳ１４１に進み、モデル学習部４５は、変数nを1だけインクリメントして、ステップＳ１２２に戻り、以下、ステップＳ１４０で変数nがcに等しいと判定されるまで、ステップＳ１２２乃至Ｓ１４１の処理が繰り返される。
【０４０９】
ここで、ステップＳ１２２乃至Ｓ１４１の処理が繰り返されることにより、ステップＳ１３９では、式（２１）の状態遷移確率aijcの分子ae,ijcの第１項における変数nについてのサメーション（Σ）、つまり、式（２１）の分子ae,ijcの第１項の(1/Pφ(xn))wnΣαin(t)fijgj(xt+1n)βjn(t+1)の、変数nをc-k+1からcに変えての累積（積算）が行われる。さらに、式（２１）の分子ae,ijcの第２項における変数nについてのサメーション（Σ）、つまり、式（２１）の分子ae,ijcの第２項のwnの、変数nをc-k+1からcに変えての累積も行われる。同様に、式（２２）の状態遷移確率aijcの分母ad,ijcの第１項における変数nについてのサメーション（Σ）、式（２３）の平均値μjcの分子μe,jcの第１項における変数nについてのサメーション（Σ）、および式（２５）の分散(σ2)jcの分子(σ2)e,jcの第１項における変数nについてのサメーション（Σ）も行われる。
【０４１０】
その後、ステップＳ１４０において、変数nがcに等しいと判定された場合、即ち、式（２１）の状態遷移確率aijcの分子ae,ijcの第１項における変数nについてのサメーション（Σ）、式（２１）の分子ae,ijcの第２項における変数nについてのサメーション（Σ）、式（２２）の状態遷移確率aijcの分母ad,ijcの第１項における変数nについてのサメーション（Σ）、式（２３）の平均値μjcの分子μe,jcの第１項における変数nについてのサメーション（Σ）、および式（２５）の分散(σ2)jcの分子(σ2)e,jcの第１項における変数nについてのサメーション（Σ）のすべての計算が終了した場合、ステップＳ１４２に進み、モデル学習部４５は、式（２１）乃至式（２６）をそれぞれ計算することにより、途中結果データae,ijc，ad,ijc，μe,jc，μd,jc，(σ2)e,jc，(σ2)d,jcを求める。
【０４１１】
即ち、ステップＳ１４２では、モデル学習部４５は、式（２１）の分子ae,ijcの第２項における変数nについてのサメーション（Σ）の計算結果Σwn(=wc-k+1+wc-k+2+・・・+wc)と、注目ノードが有する学習データ記憶部２２（図２０）に記憶されている、前回のHMM２１の学習時（前回のパラメータ更新処理時）に求められた途中結果データae,ijc-1とから、式（２１）の分子ae,ijcの第２項(W-Σwn)/W×ae,ijc-1を求める。さらに、モデル学習部４５は、その第２項(W-Σwn)/W×ae,ijc-1と、式（２１）の分子ae,ijcの第１項における変数nについてのサメーション（Σ）の計算結果とから、式（２１）の分子ae,ijcを、今回のHMM２１の学習時の途中結果データ（の１つ）として求める。
【０４１２】
また、モデル学習部４５は、計算結果Σwnと、注目ノードが有する学習データ記憶部２２に記憶されている、前回のHMM２１の学習時に求められた途中結果データad,ijc-1とから、式（２２）の分母ad,ijcの第２項(W-Σwn)/W×ad,ijc-1を求める。さらに、モデル学習部４５は、その第２項(W-Σwn)/W×ad,ijc-1と、式（２２）の分母ad,ijcの第１項における変数nについてのサメーション（Σ）の計算結果とから、式（２２）の分母ad,ijcを、今回のHMM２１の学習時の途中結果データとして求める。
【０４１３】
同様に、モデル学習部４５は、計算結果Σwn、注目ノードが有する学習データ記憶部２２に記憶されている、前回のHMM２１の学習時に求められた途中結果データμe,jc-1、および式（２３）の分子μe,jcの第１項における変数nについてのサメーション（Σ）の計算結果から、式（２３）の分子μe,jcを、今回のHMM２１の学習時の途中結果データとして求め、計算結果Σwn、注目ノードが有する学習データ記憶部２２に記憶されている、前回のHMM２１の学習時に求められた途中結果データμd,jc-1、および式（２２）の分母ad,ijcの第１項における変数nについてのサメーション（Σ）の計算結果（この計算結果は、式（２４）の分母μd,jcの第１項における変数nについてのサメーション（Σ）の計算結果に等しい）から、式（２４）の分母μd,jcを、今回のHMM２１の学習時の途中結果データとして求める。
【０４１４】
さらに、同様に、モデル学習部４５は、計算結果Σwn、注目ノードが有する学習データ記憶部２２に記憶されている、前回のHMM２１の学習時に求められた途中結果データ(σ2)e,jc-1、および式（２５）の分子(σ2)e,jcの第１項における変数nについてのサメーション（Σ）の計算結果から、式（２５）の分子(σ2)e,jcを、今回のHMM２１の学習時の途中結果データとして求め、計算結果Σwn、注目ノードが有する学習データ記憶部２２に記憶されている、前回のHMM２１の学習時に求められた途中結果データ(σ2)d,jc-1、および式（２２）の分母ad,ijcの第１項における変数nについてのサメーション（Σ）の計算結果（この計算結果は、式（２６）の分母(σ2)d,jcの第１項における変数nについてのサメーション（Σ）の計算結果に等しい）から、式（２６）の分母(σ2)d,jcを、今回のHMM２１の学習時の途中結果データとして求める。
【０４１５】
そして、モデル学習部４５は、今回のHMM２１の学習時の途中結果データae,ijc，ad,ijc，μe,jc，μd,jc，(σ2)e,jc，(σ2)d,jcを、前回のHMM２１の学習時の途中結果データae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1に代えて、注目ノードが有する学習データ記憶部２２（図２０）に記憶させ、ステップＳ１４２からＳ１４３に進む。
【０４１６】
ステップＳ１４３では、モデル学習部４５は、ステップＳ１４２で求めた式（２１）の途中結果データae,ijcを、同じくステップＳ１４２で求めた式（２２）の途中結果データad,ijcで除算することにより、式（１８）の状態遷移確率aijcを求めて（計算して）、ステップＳ１４４に進む。
【０４１７】
ステップＳ１４４では、モデル学習部４５は、ステップＳ１４２で求めた式（２３）の途中結果データμe,jcを、同じくステップＳ１４２で求めた式（２４）の途中結果データμd,jcで除算することにより、式（１９）の平均値μjcを求めるとともに、ステップＳ１４２で求めた式（２５）の途中結果データ(σ2)e,jcを、同じくステップＳ１４２で求めた式（２６）の途中結果データ(σ2)d,jcで除算し、その除算値から平均値μjcの２乗（μ,jc）2を減算することにより、式（２０）の分散(σ2)jcを求める。
【０４１８】
そして、モデル学習部４５は、注目ノードが有するHMM２１の状態遷移確率aijc-1（状態遷移確率fij）を、ステップＳ１４３で求めた式（１８）の状態遷移確率aijcに更新する。同様に、モデル学習部４５は、注目ノードが有するHMM２１の平均値μjc-1と分散(σ2)jc-1とを、ステップＳ１４４で求めた式（１９）の平均値μjcと、式（２０）の分散(σ2)jcとに、それぞれ更新し、パラメータ更新処理を終了する。
【０４１９】
以上のように、k-インクリメンタル更新法では、注目ノードが有するHMM２１の前回の更新（学習）で行われた計算の途中結果である途中結果データae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1を記憶する途中結果記憶手段としての学習データ記憶部２２に記憶された途中結果データae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1を用いるとともに、新しい順のk個の時系列データxn(xc-k+1,xc-k+2,・・・,xc)を、注目ノードが有するHMM２１の学習に用いる学習データとして、学習データである時系列データxnに最も適合する勝者ノードに基づいて注目ノードに対して決定された更新重みwnで、学習データxnを用いて、注目ノードが有するHMM２１の学習を行うことにより、そのHMM２１を更新する。
【０４２０】
即ち、k-インクリメンタル更新法では、新しい順のk個の学習データxnを、更新重みwn（にしたがった重み）で用いて、式（２１）乃至式（２６）の右辺の第１項の計算を行い、その第１項の計算結果に対して、前回のHMM２１の学習時に得られた途中結果データ（ae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1）を、式（２１）乃至式（２６）の右辺の第１項の計算に用いられた学習データxnの更新重みwnの総和Σwnに基づく係数(W-Σwn)/Wだけ割り引いて加算することで、学習データx1乃至xcのすべてを用いたHMM２１の学習が、新しい順のk個の学習データxc-k+1乃至xcを用いたHMM２１の学習によって近似的に行われる。
【０４２１】
なお、k-インクリメンタル更新法では、前回のHMM２１の学習時に得られた途中結果データ（ae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1）が、式（２１）乃至式（２６）の右辺の第１項の計算に用いられた学習データxnの更新重みwnの総和Σwnに基づく係数(W-Σwn)/Wだけ割り引いて用いられるので、前回のHMM２１の学習時に用いられたが、今回のHMM２１の学習時には用いられていない学習データxc-kが、今回のHMM２１の学習により得られる途中結果データ（ae,ijc，ad,ijc，μe,jc，μd,jc，(σ2)e,jc，(σ2)d,jc）に及ぼす影響は、前回のHMM２１の学習時に得られた途中結果データ（ae,ijc-1，ad,ijc-1，μe,jc-1，μd,jc-1，(σ2)e,jc-1，(σ2)d,jc-1）に及ぼした影響を係数(W-Σwn)/Wだけ割り引いた程度となる。つまり、古い学習データほど、HMM２１に与える影響は割り引かれていく。
【０４２２】
k-インクリメンタル更新法では、新しい順のk個の学習データxc-k+1,xc-k+2,・・・,xcを、それぞれ更新重みwc-k+1,wc-k+2,・・・,wcで用いて、HMM２１の学習が行われるので、いままでに得られた時系列データx1,x2,・・・,xcのすべてを学習データとして用いて、HMM２１の学習を行う場合と比較すれば、ＨＭＭ２１の学習に用いられる学習データの数が、k/cとなる。従って、kを、小さい値、即ち、例えば1などとすることにより、重み付き更新法よりも、HMM２１の学習の高速化を図り、さらには、学習データ記憶部２２（図２０）に必要とされる記憶容量の低減化を図ることができる。
【０４２３】
ここで、kとして1を採用した場合には、前回以前のHMM２１の学習に用いた学習データを保持しておく必要がなくなる。さらに、kとして1を採用した場合には、いままでに得られた時系列データx1,x2,・・・,xcのすべてを学習データとして用いて、HMM２１の学習を行う場合に比較して、学習に要する計算量は、（単純には）1/cになる。例えば、cが100であれば、学習に要する計算量は1/100になる。また、上述した重み付き更新法において、例えば、cに対応するHが100であり、更新重みwnの期待値が4であるとすると、更新重みwnの総和Wが100(=H)になる学習データx1乃至xNの数Nは25(=100/4)となる。従って、重み付き更新法では、25個の学習データを用いてHMM２１の学習が行われるが、k-インクリメンタル更新法において、kとして1を採用した場合には、１個の学習データを用いてHMM２１の学習が行われるので、kとして１を採用した場合のk-インクリメンタル更新法では、重み付き更新法と比較すると、計算量は1/25になる。
【０４２４】
ところで、上述の重み付き更新法とk-インクリメンタル更新法とを比較するために、c=Nとすると、重み付き更新法では、新たな学習データxcが得られた時点で、更新重みw1乃至wcの総和Wが固定の値Hになるc個の新しい順の学習データx1乃至xcを用いて、HMM２１の学習が行われるのに対して、k-インクリメンタル更新法では、新たな学習データxcが得られた時点で、c個の学習データx1乃至xcのうちの、新しい順のk個の学習データxc-k+1乃至xcと、前回の新たな学習データxc-1が得られた時点で行われたHMM２１の学習時の途中結果データとを用いて、HMM２１の学習が行われる。
【０４２５】
従って、k-インクリメンタル更新法では、新たな学習データxcが得られた時点で、HMM２１の学習に実際には用いられない学習データx1乃至xc-kを用いた計算結果を、前回の新たな学習データxc-1が得られた時点で行われたHMM２１の学習時の途中結果データで近似して、新たな学習データxcが得られた時点でのHMM２１の学習が行われる。
【０４２６】
このため、k-インクリメンタル更新法では、その近似が行われる分だけ、重み付き更新法に比較して、HMM２１の学習の精度（HMM２１の学習によって求められる状態遷移確率aij、平均値μj、および分散σj2の精度）が劣化する。これに対して、重み付き更新法では、k-インクリメンタル更新法のような近似が行われないので、HMM２１の学習を精度良く行うことができる。
【０４２７】
k-インクリメンタル更新法において、kを大きな値とすれば、HMM２１の学習の精度は向上し、最終的に、kをc(=N)とすれば、HMM２１の学習の精度を、重み付き更新法と同等程度とすることができる。
【０４２８】
しかしながら、k-インクリメンタル更新法において、kをcとすると、HMM２１の学習に用いられる学習データの数kは、重み付き更新法と変わらなくなり、従って、HMM２１の学習に要する計算量も、重み付き更新法と変わらなくなる。
【０４２９】
つまり、k-インクリメンタル更新法では、kを小さい値とすることにより、HMM２１の学習に要する計算量を低減化し、HMM２１の学習の高速化を図ることができるが、その一方で、HMM２１の学習の精度は劣化する。さらに、k-インクリメンタル更新法では、kを大きい値とすることにより、HMM２１の学習の精度の劣化を低減することができるが、その一方で、HMM２１の学習に要する計算量が増加し、HMM２１の学習、ひいては、時系列パターン記憶ネットワークの学習に時間を要することになる。
【０４３０】
以上のように、重み付き更新法では、精度の良いHMM２１の学習を行うことができるが、kが小さい値のk-インクリメンタル更新法と比較して、計算量が大になり、HMM２１の学習に時間を要する。
【０４３１】
また、kが小さい値のk-インクリメンタル更新法では、kが大きい値のk-インクリメンタル更新法や、重み付き更新法に比較して、HMM２１の学習を高速に行うことができるが、学習の精度が劣化する。逆に、kが大きい値のk-インクリメンタル更新法では、kが小さい値のk-インクリメンタル更新法に比較して、HMM２１の学習を精度良く行うことができるが、計算量が大になり、HMM２１の学習に時間を要する。
【０４３２】
そこで、図８の学習処理部３２では、図１１の学習処理に代えて、k-インクリメンタル更新法のkを適宜変更して、時系列パターン記憶ネットワークの学習を行う学習処理、あるいは、重み付き更新法と、kが小さい値のk-インクリメンタル更新法とを適宜選択して、時系列パターン記憶ネットワークの学習を行う学習処理を行うことができる。
【０４３３】
図２３は、k-インクリメンタル更新法のkを適宜変更して、時系列パターン記憶ネットワークの学習を行う学習処理を説明するフローチャートである。
【０４３４】
信号処理部１（図２）に対して、１個の処理対象データ、即ち、例えば、１の音声区間の音声データが入力されると、信号入力部１は、その処理対象データを、特徴抽出部２に供給する。特徴抽出部２は、処理対象データから特徴量を抽出し、その特徴量の時系列データ（１個の新たな時系列データ）を、学習部４に供給する。
【０４３５】
学習部４（図７）は、特徴抽出部２からの新たな時系列データを、学習データ記憶部３１に一時記憶させ、以下、ステップＳ１６１乃至Ｓ１６６において、記憶部５に記憶された時系列パターン記憶ネットワークを、学習データ記憶部３１に記憶された新たな時系列データ（の観測値）に基づいて、自己組織的に更新（学習）する。
【０４３６】
即ち、学習部４の学習処理部３２（図８）では、ステップＳ１６１において、スコア計算部４１が、図１１のステップＳ１と同様に、学習データ記憶部３１に記憶された新たな時系列データxcを読み出し、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、新たな時系列データxcに適合する度合いを表すスコアとして求める。
【０４３７】
スコア計算部４１は、時系列パターン記憶ネットワークが有するすべてのノードについて、新たな時系列データxcに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部４２に供給する。
【０４３８】
勝者ノード決定部４２は、ステップＳ１６２において、図１１のステップＳ２と同様に、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部４１からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部４２は、勝者ノードを表す情報としてのノードラベルを、重み決定部４３に供給する。
【０４３９】
重み決定部４３は、ステップＳ１６３において、図１１のステップＳ３と同様に、勝者ノード決定部４２からのノードラベルが表す勝者ノードを基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みwcを決定し、学習データ更新部４４に供給する。
【０４４０】
学習データ更新部４４は、ステップＳ１６４において、k-インクリメンタル更新法のkを選択（決定）する。
【０４４１】
即ち、例えば、いま、変数vの増加に応じて、１より大の所定の値Ｑから1に減少する関数を、f(Q,1)(v)と表すとともに、値の小数点以下を切り捨てて整数化する関数をINT()と表すこととすると、学習データ更新部４４は、変数vに、時系列パターン記憶ネットワークの更新（学習）の回数をセットして、式k=INT(f(Qc,1)(v))にしたがい、kを求める。この場合、kとしては、時系列パターン記憶ネットワークの更新の回数vの増加に応じて、Qから1に減少する値が求められる。
【０４４２】
その後、ステップＳ１６４からステップＳ１６５に進み、学習データ更新部４４は、時系列パターン記憶ネットワークの各ノードが有する学習データ記憶部２２（図４）に記憶された学習データを、ステップＳ１６４で求めたkに応じて更新する。
【０４４３】
さらに、学習データ更新部４４は、図２１のステップＳ１１２で説明したように、重みwc-k+1乃至wc-1それぞれに、(w-wc)/wを乗算し、その乗算値に、重みwc-k+1乃至wc-1を更新する。
【０４４４】
即ち、学習データ更新部４４は、ステップＳ１６５において、学習データ記憶部３１に記憶されている新たな時系列データxcとしての新たな学習データと、重み決定部４３で求められた更新重みwcとを対応付け、その新たな時系列データxcおよび更新重みwcのセットに、ノードの学習データ記憶部２２に記憶されている、新しい順のk-1セットの学習データおよび更新重みのセットを加えたkセットの学習データxc-k+1乃至xcおよび更新重みwc-k+1乃至wcのセットに、学習データ記憶部２２の記憶内容を更新する。
【０４４５】
学習データ更新部４４は、時系列パターン記憶ネットワークのノードすべての学習データ記憶部２２（図４）の記憶内容を更新すると、その更新が終了した旨の終了通知を、ステップＳ１６４で求めたkとともに、モデル学習部４５に供給して、ステップＳ１６５からステップＳ１６６に進む。
【０４４６】
モデル学習部４５は、学習データ更新部４４から終了通知とkを受けると、ステップＳ１６６において、そのkを採用したk-インクリメンタル更新法により、図２２で説明したように、時系列パターン記憶ネットワークのパラメータの更新、即ち、時系列パターン記憶ネットワークの各ノードが有するHMM２１の学習を行い、HMM２１を更新して、学習処理を終了する。
【０４４７】
図２３の学習処理によれば、時系列パターン記憶ネットワークの更新（学習）の回数vの増加に伴って、k-インクリメンタル更新法のkが減少するように変更してHMM２１の学習が行われる。
【０４４８】
従って、時系列パターン記憶ネットワークの学習（HMM２１の学習）が進行するにつれ、高速な学習処理が可能となる。さらに、学習の精度も高精度に維持することができる。
【０４４９】
即ち、図２３の学習処理によれば、時系列パターン記憶ネットワークの更新の回数vが少なく、従って、HMM２１の学習が充分ではない場合には、大きな値のkを採用したk-インクリメンタル更新法によるHMM２１の更新が行われるので、HMM２１の学習を高精度で行うことができる。
【０４５０】
さらに、時系列パターン記憶ネットワークの更新の回数vが多くなり、HMM２１の学習が充分に行われると、小さな値のkを採用したk-インクリメンタル更新法によるHMM２１の更新が行われるので、HMM２１の学習を高速に行うことができる。
【０４５１】
そして、HMM２１の学習が充分に行われると、即ち、時系列パターン記憶ネットワークの複数のノードが有するHMM２１それぞれは、特定の時系列パターンを表現するように収束し、HMM２１の更新の前後で、HMM２１を定義する状態遷移確率aij、平均値μj、および分散σj2の変化は少なくなる。その結果、小さな値のkを採用したk-インクリメンタル更新法によるHMM２１の更新を行っても、学習の精度にほとんど影響しなくなる。
【０４５２】
なお、図２３の学習処理では、時系列パターン記憶ネットワークの更新の回数vに応じて、k-インクリメンタル更新法のkを変更するようにしたが、その他、例えば、時系列パターン記憶ネットワークの更新の回数vが少ない場合には、重み付き更新法によるHMM２１の更新を選択して行い、時系列パターン記憶ネットワークの更新の回数vが多くなってからは、小さな値のkを採用したk-インクリメンタル更新法によるHMM２１の更新を選択して行うようにすることも可能である。この場合も、時系列パターン記憶ネットワークの学習の進行に伴い、高速な学習処理を行うことができ、かつ、学習の精度も高精度に維持することができる。
【０４５３】
次に、図２４は、重み付き更新法と、kが小さい値のk-インクリメンタル更新法とを適宜選択して、時系列パターン記憶ネットワークの学習を行う学習処理を説明するフローチャートである。
【０４５４】
信号処理部１（図２）に対して、１個の処理対象データ、即ち、例えば、１の音声区間の音声データが入力されると、信号入力部１は、その処理対象データを、特徴抽出部２に供給する。特徴抽出部２は、処理対象データから特徴量を抽出し、その特徴量の時系列データ（１個の新たな時系列データ）を、学習部４に供給する。
【０４５５】
学習部４（図７）は、特徴抽出部２からの新たな時系列データを、学習データ記憶部３１に一時記憶させ、以下、ステップＳ１８１乃至Ｓ１８８において、記憶部５に記憶された時系列パターン記憶ネットワークを、学習データ記憶部３１に記憶された新たな時系列データ（の観測値）に基づいて、自己組織的に更新（学習）する。
【０４５６】
即ち、学習部４の学習処理部３２（図８）では、ステップＳ１８１において、スコア計算部４１が、図１１のステップＳ１と同様に、学習データ記憶部３１に記憶された新たな時系列データxcを読み出し、記憶部５に記憶された時系列パターン記憶ネットワークを構成する各ノードについて、そのノードが、新たな時系列データxcに適合する度合いを表すスコアとして求める。
【０４５７】
スコア計算部４１は、時系列パターン記憶ネットワークが有するすべてのノードについて、新たな時系列データxcに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部４２に供給する。
【０４５８】
勝者ノード決定部４２は、ステップＳ１８２において、図１１のステップＳ２と同様に、時系列パターン記憶ネットワークを構成するノードのうちの、スコア計算部４１からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部４２は、勝者ノードを表す情報としてのノードラベルを、重み決定部４３に供給する。
【０４５９】
重み決定部４３は、ステップＳ１８３において、図１１のステップＳ３と同様に、勝者ノード決定部４２からのノードラベルが表す勝者ノードを基準として、時系列パターン記憶ネットワークを構成する各ノードの更新重みwcを決定し、学習データ更新部４４に供給する。
【０４６０】
学習データ更新部４４は、ステップＳ１８４において、学習データ記憶部３１に記憶されている新たな時系列データxcとしての新たな学習データと、重み決定部４３で求められた更新重みwcとを対応付け、その新たな時系列データxcおよび更新重みwcのセットを、学習データ記憶部２２（図４）に記憶させることにより、その記憶内容を更新する。
【０４６１】
ここで、ステップＳ１８４において、学習データ記憶部２２の記憶内容を更新する学習データ更新処理は、重み付き更新法で説明した図１８のフローチャートにしたがって行われる。
【０４６２】
学習データ更新部４４は、時系列パターン記憶ネットワークのノードすべての学習データ記憶部２２（図４）の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部４５に供給する。
【０４６３】
モデル学習部４５は、学習データ更新部４４から終了通知を受けると、ステップＳ１８５において、HMM２１を更新する更新方法を選択するための変数Fを、式F=mod(v,Num)にしたがって決定する。
【０４６４】
ここで、変数vは、時系列パターン記憶ネットワークの更新（学習）の回数を表す。Numは、あらかじめ設定される正の整数値（定数）である。mod(v,Num)は、変数vを、定数Numで除算したときの剰余を表す。
【０４６５】
モデル学習部４５は、ステップＳ１８５において、変数Fを決定する（求める）と、ステップＳ１８６に進み、変数Fが0であるかどうかを判定する。ステップＳ１８５において、変数Fが0であると判定された場合、ステップＳ１８７に進み、モデル学習部４５は、HMM２１を更新する方法として、重み付き更新法を選択し、その重み付き更新法により、図１９で説明したように、時系列パターン記憶ネットワークのパラメータの更新、即ち、時系列パターン記憶ネットワークの各ノードが有するHMM２１の学習を行い、HMM２１を更新して、学習処理を終了する。
【０４６６】
また、ステップＳ１８６において、変数Fが0でないと判定された場合、ステップＳ１８８に進み、モデル学習部４５は、HMM２１を更新する方法として、kが小さい値のk-インクリメンタル更新法、即ち、例えば、kが1のk-インクリメンタル更新法を選択し、そのk-インクリメンタル更新法により、図２２で説明したように、時系列パターン記憶ネットワークのパラメータの更新、即ち、時系列パターン記憶ネットワークの各ノードが有するHMM２１の学習を行い、HMM２１を更新して、学習処理を終了する。
【０４６７】
図２４の学習処理によれば、時系列パターン記憶ネットワークの更新（学習）の回数vに応じて、重み付き更新法、またはkが１のk-インクリメンタル更新法を選択して、HMM２１の更新（パラメータ更新処理）が行われるので、HMM２１の学習の精度を劣化を防止しながら、高速な学習処理が可能となる。
【０４６８】
即ち、図２４の学習処理によれば、Num回の時系列パターン記憶ネットワークの更新のうちの、Num-1回は、kが１のk-インクリメンタル更新法によるHMM２１の更新が行われ、1回は、重み付き更新法によるHMM２１の更新が行われる。例えば、Numが5である場合には、５回中の4回は、kが１のk-インクリメンタル更新法によるHMM２１の更新が行われ、残りの1回は、重み付き更新法によるHMM２１の更新が行われる。
【０４６９】
その結果、重み付き更新法によってのみ、HMM２１の更新を行う場合に比較して、高速な学習処理が可能となる。また、kが１のk-インクリメンタル更新法によってのみ、HMM２１の更新を行う場合に比較して、HMM２１の学習の精度の劣化を防止することができる。
【０４７０】
なお、図２４では、時系列パターン記憶ネットワークの更新の回数vに応じて、重み付き更新法、またはkが１のk-インクリメンタル更新法の一方を選択して、HMM２１の更新を行うようにしたが、その他、例えば、時系列パターン記憶ネットワークの更新の回数vに応じて、kが大きい値のk-インクリメンタル更新法、またはkが小さい値のk-インクリメンタル更新法のうちの一方を選択して、HMM２１の更新を行うようにしても良い。この場合も、HMM２１の学習の精度を劣化を防止しながら、高速な学習処理が可能となる。
【０４７１】
ここで、重み付き更新法、またはk-インクリメンタル更新法の一方を選択して、HMM２１の更新を行う場合には、重み付き更新法によって行われるHMM２１の学習において、k-インクリメンタル更新法によってHMM２１の学習を行う場合と同様に、途中結果データを得て、学習データ記憶部２２に記憶しておく必要がある。
【０４７２】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０４７３】
そこで、図２５は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０４７４】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク３０５やＲＯＭ３０３に予め記録しておくことができる。
【０４７５】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体３１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体３１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０４７６】
なお、プログラムは、上述したようなリムーバブル記録媒体３１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部３０８で受信し、内蔵するハードディスク３０５にインストールすることができる。
【０４７７】
コンピュータは、CPU(Central Processing Unit)３０２を内蔵している。CPU３０２には、バス３０１を介して、入出力インタフェース３１０が接続されており、CPU３０２は、入出力インタフェース３１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部３０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)３０３に格納されているプログラムを実行する。あるいは、また、CPU３０２は、ハードディスク３０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部３０８で受信されてハードディスク３０５にインストールされたプログラム、またはドライブ３０９に装着されたリムーバブル記録媒体３１１から読み出されてハードディスク３０５にインストールされたプログラムを、RAM(Random Access Memory)３０４にロードして実行する。これにより、CPU３０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU３０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース３１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部３０６から出力、あるいは、通信部３０８から送信、さらには、ハードディスク３０５に記録等させる。
【０４７８】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０４７９】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【図面の簡単な説明】
【０４８０】
【図１】従来の教師あり学習の一例を説明するための図である。
【図２】本発明を適用したデータ処理装置の一実施の形態の構成例を示すブロック図である。
【図３】時系列パターン記憶ネットワークの第１の構成例を示す図である。
【図４】ノードの構成例を示す図である。
【図５】時系列パターン記憶ネットワークの第２の構成例を示す図である。
【図６】時系列パターン記憶ネットワークの第３の構成例を示す図である。
【図７】学習部４の構成例を示すブロック図である。
【図８】学習処理部３２の構成例を示すブロック図である。
【図９】更新重みを決定する決定方法を説明するための図である。
【図１０】学習データ記憶部２２に記憶させる学習データを更新する方法を説明するための図である。
【図１１】学習処理の第１実施の形態を説明するフローチャートである。
【図１２】HMMを示す図である。
【図１３】認識部３の構成例を示すブロック図である。
【図１４】認識処理を説明するフローチャートである。
【図１５】生成部６の構成例を示すブロック図である。
【図１６】生成処理を説明するフローチャートである。
【図１７】重み付き更新法を採用した場合の学習データ記憶部２２の記憶内容を示す図である。
【図１８】重み付き更新法を採用した場合の学習データ更新処理を説明するフローチャートである。
【図１９】重み付き更新法を採用した場合のパラメータ更新処理を説明するフローチャートである。
【図２０】k-インクリメンタル更新法を採用した場合の学習データ記憶部２２の記憶内容を示す図である。
【図２１】k-インクリメンタル更新法を採用した場合の学習データ更新処理を説明するフローチャートである。
【図２２】k-インクリメンタル更新法を採用した場合のパラメータ更新処理を説明するフローチャートである。
【図２３】学習処理の第２実施の形態を説明するフローチャートである。
【図２４】学習処理の第３実施の形態を説明するフローチャートである。
【図２５】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０４８１】
１  信号入力部，  ２  特徴抽出部，  ３  認識部，  ４  学習部，  ５  記憶部，  ６  生成部，  ２１  HMM，  ２２，３１  学習データ記憶部，  ３２  学習処理部，  ４１  スコア計算部，  ４２  勝者ノード決定部，  ４３  重み決定部，  ４４  学習データ更新部，  ４５  モデル学習部，  ５１  スコア計算部，  ５２  勝者ノード決定部，  ５３  出力部，  ６１  生成ノード決定部，  ６２  時系列決定部，  ６３  出力部，  ３０１  バス，  ３０２  CPU，  ３０３  ROM，  ３０４  RAM，  ３０５  ハードディスク，  ３０６  出力部，  ３０７  入力部，  ３０８  通信部，  ３０９  ドライブ，  ３１０  入出力インタフェース，  ３１１  リムーバブル記録媒体
【図１】
2006285881.tif 000029
【図２】
2006285881.tif 000030
【図３】
2006285881.tif 000031
【図４】
2006285881.tif 000032
【図５】
2006285881.tif 000033
【図６】
2006285881.tif 000034
【図７】
2006285881.tif 000035
【図８】
2006285881.tif 000036
【図９】
2006285881.tif 000037
【図１０】
2006285881.tif 000038
【図１１】
2006285881.tif 000039
【図１２】
2006285881.tif 000040
【図１３】
2006285881.tif 000041
【図１４】
2006285881.tif 000042
【図１５】
2006285881.tif 000043
【図１６】
2006285881.tif 000044
【図１７】
2006285881.tif 000045
【図１８】
2006285881.tif 000046
【図１９】
2006285881.tif 000047
【図２０】
2006285881.tif 000048
【図２１】
2006285881.tif 000049
【図２２】
2006285881.tif 000050
【図２３】
2006285881.tif 000051
【図２４】
2006285881.tif 000052
【図２５】
2006285881.tif 000053