(57)【要約】【課題】  時系列データの教師なし学習を、容易に行うことができるようにする。【解決手段】  ノード学習部４−６−１乃至４−Ｎ−１は、時系列データのパターンである時系列パターンを表現する複数の時系列パターンモデルの更新に関する処理を行い、ネットワーク学習部４−４は、ノード学習部４−６−１乃至４−Ｎ−１を並列的に用いて、時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワーク４−５の更新を行う。本発明は、例えば、時系列データの時系列パターンを学習する装置に適用できる。【選択図】図４
2006293489.tif 000002
【特許請求の範囲】
【請求項１】
時系列のデータである時系列データに基づき、学習を行う学習装置において、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段を備えることを特徴とし、
前記学習手段は、
１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行う複数のノード学習手段と、
複数の前記ノード学習手段を並列的に用いて時系列パターン記憶ネットワークの更新を行うネットワーク学習手段と
によって構成される
ことを特徴とする学習装置。
【請求項２】
前記時系列パターンモデルは、状態遷移を有する確率モデルである状態遷移確率モデルである
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記時系列パターンモデルは、ＨＭＭ（Hidden Markov Model）である
ことを特徴とする請求項１に記載の学習装置。
【請求項４】
前記学習手段は、
前記時系列パターン記憶ネットワークを構成する複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段と、
前記時系列パターンが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて前記ノードに対して決定する重み決定手段と、
前記時系列パターンモデルを前記重みに基づいて更新することにより、前記時系列パターン記憶ネットワークを更新する更新手段と
を有し、
前記勝者ノード決定手段と前記重み決定手段と前記更新手段の処理において、前記ノード学習手段は、１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行い、前記ネットワーク学習手段は、複数の前記ノード学習手段を並列的に用いて時系列パターン記憶ネットワークを更新する
ことを特徴とする請求項１に記載の学習装置。
【請求項５】
前記ノード学習手段は、前記時系列データの観測値に基づいて、関連する１つ以上のノードが有する前記時系列パターンモデルとの適合の度合いを決定する
ことを特徴とする請求項４に記載の学習装置。
【請求項６】
前記ノード学習手段は、前記時系列データの観測値、および前記重みに基づいて、関連する１つ以上のノードが有する前記時系列パターンモデルを更新する
ことを特徴とする請求項４に記載の学習装置。
【請求項７】
前記ネットワーク学習手段は、複数の前記ノード学習手段が決定する前記時系列データの観測値と前記時系列パターンモデルとの適合の度合いに基づいて前記勝者ノードを決定し、その勝者ノードに基づく前記ノードに対する前記重みを決定する
ことを特徴とする請求項５に記載の学習装置。
【請求項８】
前記ネットワーク学習手段は、複数の前記ノード学習手段が更新する前記時系列パターンモデルに基づき、前記時系列パターン記憶ネットワークの更新を行う
ことを特徴とする請求項６に記載の学習装置。
【請求項９】
前記ネットワーク学習手段は、前記時系列パターン記憶ネットワークの更新を所定の時間間隔、あるいは、所定の更新回数の間隔で行う
ことを特徴とする請求項８に記載の学習装置。
【請求項１０】
前記ノード学習手段は、あらかじめ決定された１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行う
ことを特徴とする請求項１に記載の学習装置。
【請求項１１】
前記ノード学習手段は、時系列パターンモデルの更新が行われていないノードを決定し、そのノードが有する時系列パターンモデルの更新に関連する処理を行う
ことを特徴とする請求項１に記載の学習装置。
【請求項１２】
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含み、
前記学習ステップは、
１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行う複数のノード学習ステップと、
並列的に処理が行われる複数の前記ノード学習ステップにおける処理の結果を利用して時系列パターン記憶ネットワークの更新を行うネットワーク学習ステップと
によって構成される
ことを特徴とする学習方法。
【請求項１３】
時系列のデータである時系列データに基づく学習をコンピュータに行わせる学習プログラムにおいて、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含み、
前記学習ステップは、
１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行う複数のノード学習ステップと、
並列的に処理が行われる複数の前記ノード学習ステップにおける処理の結果を利用して時系列パターン記憶ネットワークの更新を行うネットワーク学習ステップと
によって構成される
ことを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置および学習方法、並びに学習プログラムに関し、特に、例えば、音声のような時系列のデータである時系列データの教師なし学習を、容易に行うことができるようにする学習装置および学習方法、並びに学習プログラムに関する。
【背景技術】
【０００２】
パターンを学習して認識を行う技術は、一般にパターン認識（pattern recognition）と呼ばれ、パターン認識における学習は、教師あり学習（supervised learning）と、教師なし学習（unsupervised learning）とに分けることができる。
【０００３】
教師あり学習とは、各パターンの学習データがどのクラスに属するかの情報（これを正解ラベルと呼ぶ）を与えて、各パターンごとに、そのパターンに属する学習データを学習する方法であり、テンプレートマッチング、ニューラルネットワーク、HMM（Hidden Markov Model）などを用いた学習方法が数多く提案されている。
【０００４】
教師あり学習では、学習に利用する学習データが、想定したカテゴリ（クラス）（例えば、各音素のカテゴリや、各音韻のカテゴリ、各単語のカテゴリなど）ごとに用意される。例えば、"A"，"B"，"C"という発声の音声データを学習する場合、"A"，"B"，"C"それぞれの多数の音声データが用意されることになる。
【０００５】
一方、学習に利用するモデル（各カテゴリの学習データを学習させるモデル）も、想定したカテゴリごとに用意される。ここで、モデルは、パラメータによって定義される。例えば、音声データの学習には、モデルとして、ＨＭＭなどが用いられるが、HMMは、ある状態から他の状態（元の状態を含む）に遷移する状態遷移確率や、HMMから出力される観測値の確率密度を表す出力確率密度関数などによって定義される。
【０００６】
教師あり学習では、各カテゴリ（クラス）のモデルの学習が、そのカテゴリの学習データのみを用いて行われる。即ち、カテゴリ"A"のモデルの学習は、カテゴリ"A"の学習データを用いて行われ、カテゴリ"B"のモデルの学習は、カテゴリ"B"の学習データを用いて行われる。同様に、カテゴリ"C"のモデルの学習も、カテゴリ"C"の学習データを用いて行われる。
【０００７】
一方、教師なし学習は、各パターンの学習データがどのカテゴリに属するかを未知として行われる学習である。教師なし学習は、カテゴリごとに学習を行うことができないという点で、教師あり学習とは大きく異なる。
【０００８】
学習データがベクトルで与えられる場合、教師なし学習として代表的な手法の一つに、K-平均法（K-means clustering method）がある。K-平均法は、初期状態として、セントロイドベクトルを適当に配置し、学習データとしてのベクトルを、最も距離の近いセントロイドベクトルに割り当て、各セントロイドベクトルに割り当てられた学習データの平均ベクトルによってセントロイドベクトルを更新することを繰り返す学習手法である。
【０００９】
また、学習データを観測するたびに、その学習データを用いて学習を行い、パラメータ（セントロイドベクトルなど）を少しずつ更新する学習方法としては、コホネン(T.Kohonen)の提案したSOM（self-organization map）による学習（学習方法）が有名である。SOMによる学習では、入力層と出力層の結合重みが、学習データを観測するたびに少しずつ更新（修正）されていく。
【００１０】
具体的には、SOMの出力層のノードにおいて、結合重みとしてのベクトルと、学習データとしてのベクトルとの距離が最も近いノードが、勝者ノードとして決定され、その勝者ノードの結合重みとしてのベクトルが、学習データとしてのベクトルに近づくように更新される。さらに、勝者ノードの近傍のノードの結合重みも、学習データに少しだけ近づくように更新される。その結果、学習が進むにつれ、結合重みとしてのベクトルが類似したノードどうしは近くなるように、類似しないノードは遠くなるように、出力層の上に配置されていく。従って、出力層には、あたかも学習データに含まれるパターンに応じた地図が構成されていくことになる。このように、学習が進むにつれて、類似するノード（結合重みとしてのベクトルが類似するノード）どうしが近い位置に配置され、学習データに含まれるパターンに応じた地図が構成されていく学習は、自己組織的な学習または自己組織化（self-organization）と呼ばれる。
【００１１】
なお、SOMに関しては、例えば、非特許文献１に記載されている。
【００１２】
ところで、上述のSOMは、いわば静的な信号パターンであるベクトル、つまり一定の長さのデータ系列を対象とした教師なし学習を提供する。従って、音声データのような時系列のデータ（時系列データ）、つまり長さが不定の、いわば動的な信号パターンに対して、そのまま適用することはできない。
【００１３】
また、連続するベクトルの系列を連結し、高次元のベクトルを定義することで、時系列データとしての時系列のベクトルを、静的な信号パターンとして扱う方法が提案されているが、この方法も、音声データのように長さが固定されていない（不定の）時系列データに対して、そのまま通用することはできない。
【００１４】
一方、時系列データのパターン認識、即ち、例えば、音声データの認識（音声認識）で広く利用されている技術の１つに、HMMを用いるHMM法がある（例えば、非特許文献２参照）。
【００１５】
HMMは、状態遷移を有する確率モデルである状態遷移確率モデルの１つであり、上述したように、状態遷移確率と、各状態における出力確率密度関数で定義され、HMM法では、学習すべき時系列データの統計的な特性がHMMによってモデル化される。なお、HMMを定義する出力確率密度関数としては、例えば混合正規分布などが用いられる。また、HMMの学習、即ち、HMMのパラメータ（HMMを定義する状態遷移確率と出力確率密度関数）の推定の方法としては、Baum-Welch 法が広く使われている。
【００１６】
HMM法は、現在実用化されている孤立単語音声認識から大語彙連続音声認識にまで幅広く適用されているが、HMMの学習は、通常、教師あり学習であり、どのカテゴリに属するかが既知である学習データを用いて行われる。即ち、例えば、ある単語を認識するHMMの学習は、その単語に対応する学習データ（その単語の発話によって得られる音声データ）を用いて行われる。したがって、学習データが属するカテゴリが未知である場合の学習に、HMMの学習を適用するのは、非常に難しい問題となる。
【非特許文献１】T.コホネン、「自己組織化マップ」、シュプリンガー・フェアラーク東京
【非特許文献２】Laurence Rabiner, Biing-Hwang Juang 共著、「音声認識の基礎（上・下）」、ＮＴＴアドバンステクノロジ株式会社
【発明の開示】
【発明が解決しようとする課題】
【００１７】
以上のように、従来においては、SOMのような静的なパターンの教師なし学習や、HMMのような動的な時系列データの教師あり学習を実現する方法は提供されていたが、どちらも動的な時系列データの教師なし学習を実現するには不十分であった。
【００１８】
本発明は、このような状況に鑑みてなされたものであり、時系列データの教師なし学習を、容易に行うことができるようにするものである。
【課題を解決するための手段】
【００１９】
本発明の学習装置は、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを、時系列データの観測値に基づいて、自己組織的に更新する学習手段を備えることを特徴とし、その学習手段は、１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行う複数のノード学習手段と、複数の前記ノード学習手段を並列的に用いて時系列パターン記憶ネットワークの更新を行うネットワーク学習手段とによって構成されることを特徴とする。
【００２０】
本発明の学習方法は、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを、時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含むことを特徴とし、その学習ステップは、１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行う複数のノード学習ステップと、並列的に処理が行われる複数の前記ノード学習ステップにおける処理の結果を利用して時系列パターン記憶ネットワークの更新を行うネットワーク学習ステップとによって構成されることを特徴とする。
【００２１】
本発明の学習プログラムは、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを、時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含むことを特徴とし、その学習ステップは、１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行う複数のノード学習ステップと、並列的に処理が行われる複数の前記ノード学習ステップにおける処理の結果を利用して時系列パターン記憶ネットワークの更新を行うネットワーク学習ステップとによって構成されることを特徴とする。
【００２２】
本発明の学習装置、学習方法、および学習プログラムにおいては、時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークが、時系列データの観測値に基づいて、自己組織的に更新される。
【発明の効果】
【００２３】
本発明によれば、時系列データの教師なし学習を、容易に行うことができる。特に、時系列パターン記憶ネットワークのノード数を増加させた場合でも、短い時間で学習を行うことができる。
【発明を実施するための最良の形態】
【００２４】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２５】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２６】
請求項１に記載の学習装置は、
時系列のデータである時系列データに基づき、学習を行う学習装置（例えば、図４）において、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習手段を備え、
前記学習手段は、
１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行う複数のノード学習手段（例えば、図４のノード学習部４−６−１乃至４−Ｎ−１）と、
複数の前記ノード学習手段を並列的に用いて時系列パターン記憶ネットワークの更新を行うネットワーク学習手段（例えば、図４のネットワーク学習部４−４）と
によって構成される
ことを特徴とする。
【００２７】
請求項４に記載の学習装置は、
前記学習手段は、
前記時系列パターン記憶ネットワークを構成する複数のノードのうちの、前記時系列データの観測値に最も適合するノードである勝者ノードを決定する勝者ノード決定手段（例えば、図７の勝者ノード決定部７−２）と、
前記時系列パターンが受ける前記時系列データの観測値の影響の度合いを表す重みを、前記勝者ノードに基づいて前記ノードに対して決定する重み決定手段（例えば、図７の重み決定部７−３）と、
前記時系列パターンモデルを前記重みに基づいて更新することにより、前記時系列パターン記憶ネットワークを更新する更新手段（例えば、図７のネットワーク更新部７−４）と
を有し、
前記勝者ノード決定手段と前記重み決定手段と前記更新手段の処理において、前記ノード学習手段は、１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行い、前記ネットワーク学習手段は、複数の前記ノード学習手段を並列的に用いて時系列パターン記憶ネットワークを更新する
ことを特徴とする。
【００２８】
請求項１２に記載の学習方法は、
時系列のデータである時系列データに基づき、学習を行う学習方法において、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含み、
前記学習ステップは、
１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行う複数のノード学習ステップ（例えば、図８のステップ８−３−１乃至８−３−Ｎ、および８−６−１乃至８−６−Ｎ）と、
並列的に処理が行われる複数の前記ノード学習ステップにおける処理の結果を利用して時系列パターン記憶ネットワークの更新を行うネットワーク学習ステップ（例えば、図８のステップ８−４および８−５、並びに８−７）と
によって構成される
ことを特徴とする。
【００２９】
請求項１３に記載の学習プログラムは、
時系列のデータである時系列データに基づく学習をコンピュータに行わせる学習プログラムにおいて、
前記時系列データのパターンである時系列パターンを表現する時系列パターンモデルを有する複数のノードから構成されるネットワークである時系列パターン記憶ネットワークを、前記時系列データの観測値に基づいて、自己組織的に更新する学習ステップを含み、
前記学習ステップは、
１つ以上のノードが有する時系列パターンモデルの更新に関連する処理を行う複数のノード学習ステップ（例えば、図８のステップ８−３−１乃至８−３−Ｎ、および８−６−１乃至８−６−Ｎ）と、
並列的に処理が行われる複数の前記ノード学習ステップにおける処理の結果を利用して時系列パターン記憶ネットワークの更新を行うネットワーク学習ステップ（例えば、図８のステップ８−４および８−５、並びに８−７）と
によって構成される
ことを特徴とする。
【００３０】
以下、図面を参照して、本発明の実施の形態について説明する。
【００３１】
本発明は、状態遷移確率モデルを一つのノードとするネットワークを用いて、そのネットワークのパラメータを自己組織的に学習する学習手段を備えることで、時系列データの学習を行う学習装置に関する。本発明を適用した学習装置において、状態遷移確率モデルとしては、例えば、ＨＭＭが適用され、学習される時系列データの統計的な特性を記憶することが可能となる。この状態遷移確率モデルは、例えば、時系列パターンの認識および生成に利用される。
【００３２】
図１は、この発明の学習に関する概念を示している。
【００３３】
図１において、学習データ１−１に、どのようなカテゴリのデータが含まれているのかは未知であり、カテゴリ数も未知であるものとする。したがって、カテゴリ分類された学習データを用いて、各カテゴリごとに状態遷移確率モデルのパラメータを学習するという、いわゆる教師あり学習の手法を用いることができない。
【００３４】
この問題を解決するために、状態遷移確率モデルをノードとするネットワークを導入する。これが時系列パターン記憶ネットワーク１−３と呼ばれるものである。ここで、図１において、時系列パターン記憶ネットワーク１−３は、ノード１−４乃至１−９で構成されている。そして、このネットワーク全体（時系列パターン記憶ネットワーク１−３）によって、学習データ１−１の特徴をうまく表現できるように、学習部１−２による学習が行われる。つまり、それぞれのノードにおいて、自己組織的に学習が行われる。
【００３５】
時系列パターン記憶ネットワーク１−３は、複数のノードで構成され、ノードとノードは結合関係を持つことができる。この結合関係をリンクと呼ぶ。このリンクによって、ノードの空間的な配置構造が決定され、その空間上でのノード間の距離関係が決定される。
【００３６】
図２は、一つのノードについて詳細に示したものである。
【００３７】
一つのノードは、時系列パターンを表現する状態遷移確率モデル２−１と、そのパラメータを学習するためのデータを記憶しておく学習データ記憶部２−５で構成される。状態遷移確率モデル２−１としては、例えば、ＨＭＭが利用される。
【００３８】
図２は、状態遷移確率モデル２−１に、left-to-right型の３状態２−２乃至２−４を有するＨＭＭを適用した例について示している。図２の状態遷移確率モデル２−１における○印は状態を表し、矢印は状態遷移を表している。状態遷移には状態遷移確率が与えられ、各状態には出力確率密度関数が与えられる。出力確率密度関数としては、例えば、混合正規分布などが利用される。
【００３９】
このような状態遷移確率モデル２−１のパラメータの推定方法として、Baum-Welch法が利用される。これは、パラメータ更新前の状態遷移確率モデル２−１のパラメータを初期値とし、学習データ記憶部２−５に記憶された学習データに基づいて、パラメータを最尤推定する手法である。
【００４０】
ここで、時系列パターン記憶ネットワークの学習にはオンライン学習が適用され、観測信号が入力されるたびにパラメータが少しずつ更新される。具体的には、学習データ記憶部２−５に記憶されたデータが、学習が進むにしたがって少しずつ変化し、その変化に伴って状態遷移確率モデル２−１のパラメータが更新される。
【００４１】
図３は、時系列パターン記憶ネットワークを用いた学習の処理のフローチャートを示したものである。
【００４２】
まず最初に、時系列パターン記憶ネットワークのパラメータの初期化が行われる（ステップ３−１）。
【００４３】
そして、学習データが一つ入力される（ステップ３−２）と、時系列パターン記憶ネットワークの各ノードに対応する状態遷移確率モデルとのスコア計算が行われる（ステップ３−３）。
【００４４】
状態遷移確率モデルがＨＭＭで与えられる場合には、例えば、ビタビアルゴリズム（Viterbi algorithm）によって計算される対数尤度がスコアとして利用される。このスコアを比較することによって、最もスコアの良いノード、すなわち勝者ノードの決定が行われる（ステップ３−４）。
【００４５】
この勝者ノードを中心として各ノードの学習の重みが決定される（ステップ３−５）。
【００４６】
そして、各ノードの状態遷移確率モデルのパラメータの更新が、学習の重みに応じて行われる（ステップ３−６）。
【００４７】
以上のステップ３−２からステップ３−６までの処理が、データが入力される度に繰り返される。以上の学習手法により、時系列パターンを自己組織的に学習することが可能となる。
【００４８】
さて、時系列パターン記憶ネットワークのノード数を大きくすると、それに伴って計算量が増大するため、学習に要する時間が増加することになる。そこで、時系列パターン記憶ネットワークの各ノードが行う処理を並列化する機能と、ネットワーク全体の学習を統合する機能を備えることで、効率的に負荷を分散し、学習に要する時間の削減を実現する。
【００４９】
図４は、本発明を適用した学習装置の実施の形態の構成例を示す図である。
【００５０】
図４の学習装置において、観測信号４−１が、信号入力部４−２に入力される。観測信号４−１は、例えば音や画像の信号、ＬＥＤ(Light Emitting Diode)の明るさの信号、モーターの回転角度や回転角速度などの信号である。また、システムに入力される信号およびシステムが出力する信号のどちらも、観測信号４−１の対象となる。
【００５１】
信号入力部４−２は、例えば、観測信号４−１が音の信号である場合、マイク（マイクロフォン）に対応し、観測信号４−１が画像信号である場合、カメラに対応する。また、信号入力部４−２は、モーターの回転角度や回転速度を計測する計測装置などにも対応する。以下では、観測信号４−１が、主に音声信号である場合を例として説明する。また、音声信号は、音声区間検出装置などによって、音声として検出された区間の信号とされ、その区間の信号（音声信号）が信号入力部４−２に入力されるものとして説明を行う。
【００５２】
特徴抽出部４−３では、信号入力部４−２に入力された観測信号４−１からの特徴量の抽出が行われる。例えば、特徴抽出部４−３では、音声信号に対して一定時間間隔で周波数分析などの処理が施され、メルケプストラムなどの時系列データが抽出される。ここで、メルケプストラムとは、音声認識などで広く利用されている特徴量である。この結果、その観測信号４−１に対応する時系列データが特徴量として抽出されることになる。この特徴量は、特徴抽出部４−３からネットワーク学習部４−４に送られる。この、特徴抽出部４−３からネットワーク学習部４−４に送られてくるデータ（特徴量）を、時系列データと呼ぶ。
【００５３】
ネットワーク学習部４−４は、特徴抽出部４−３から送られてきた時系列データを用いて、時系列パターン記憶ネットワーク４−５のパラメータ更新を行う。このパラメータ更新のことを学習と呼ぶ。学習の結果、時系列パターン記憶ネットワーク４−５の各ノードには、学習に利用された時系列データに基づく特徴的な時系列パターンが記憶される。
【００５４】
時系列パターン記憶ネットワーク４−５は、複数のノードで構成されるネットワークである。ノードの一つ一つは、時系列パターンを保持するために利用される。そして、ノードとノードは結合関係を持ち、この結合関係をリンクと呼ぶ。
【００５５】
図５は、時系列パターン記憶ネットワークの代表的な例として、すべてのノードを２次元的に配置し、縦方向および横方向に隣接するノード間にリンクを与えた例を示している。図５の時系列パターン記憶ネットワーク５−１において、リンクによって与えられる空間的なノード５−２乃至５−１０の配置構造に基づき、その空間上での距離関係が決定される。
【００５６】
例えば、図５では、あるノードに着目したとき、その着目したノードにリンクで結合された隣接のノードは、着目したノードから最も近く、その隣接ノードから先のリンクを順にたどっていくことで到達するノードは、着目したノードから少しずつ遠くなっていく。この距離関係に基づき、学習の重みが決定される。
【００５７】
また、図４の時系列パターン記憶ネットワーク４−５の各ノードは、図２に示されるような、状態遷移確率モデル２−１と、そのパラメータを学習するためのデータを記憶しておく学習データ記憶部２−５で構成される。状態遷移確率モデル２−１としては、例えば、ＨＭＭが利用される。ＨＭＭに関しては、図２に関する説明の中で述べた通りである。
【００５８】
ここで、図４の学習装置で行われる学習の処理において、時系列パターン記憶ネットワーク４−５の各ノードに関連する処理を並列化することで負荷分散するために、ネットワーク学習部４−４は、ノード学習部４−６−１乃至４−Ｎ−１に接続されている。また、ノード学習部４−６−１乃至４−Ｎ−１は、それぞれ時系列パターン記憶ノード４−６−２乃至４−Ｎ−２を保持している。
【００５９】
時系列パターン記憶ノード４−６−２乃至４−Ｎ−２とは、時系列パターン記憶ネットワーク４−５の対応するノードが保持する情報のコピーを保持したものであり、図２に示されるような、状態遷移確率モデル２−１と、そのパラメータを学習するためのデータを記憶しておく学習データ記憶部２−５によって構成される。
【００６０】
つまり、時系列パターン記憶ネットワーク４−５の、一つ一つのノードに関連する処理をノード学習部４−６−１乃至４−Ｎ−１が行えるようになっており、ネットワーク学習部４−４は、それらを統合する処理を行えるようになっている。
【００６１】
ネットワーク学習部４−４は、特徴抽出部４−３から送られてきた時系列データを、全てのノード学習部４−６−１乃至４−Ｎ−１に送信する。ノード学習部４−６−１乃至４−Ｎ−１は、時系列パターン記憶ノード４−６−２乃至４−Ｎ−２に保持された状態遷移確率モデル２−１（図２）を用いて、受信した時系列データに対するスコア計算を行う。
【００６２】
このスコア計算は、状態遷移確率モデル２−１としてＨＭＭを利用する場合には、Viterbi algorithmに基づいて計算される対数尤度の計算に対応する。また、時系列データは、この後に行うパラメータの更新に利用するために、そのまま記憶（後述する時系列データ記憶部７−８（図７）が記憶）しておくものとする。計算結果であるスコアは、ノード学習部４−６−１乃至４−Ｎ−１から、ネットワーク学習部４−４に送信される。
【００６３】
ネットワーク学習部４−４は、時系列パターン記憶ネットワーク４−５の各ノードに対応するスコアを、すべて受信した後、最もスコアの高いノードを勝者ノードとして決定する。そして、ネットワーク学習部４−４は、この勝者ノードからの距離を、時系列パターン記憶ネットワーク４−５の各ノード間のリンクに基づく距離関係から求め、その距離に応じた学習の重みを決定する。
【００６４】
この学習の重みは、勝者ノードの重みが最も大きく、かつ、勝者ノードからの距離が遠くなるに従って重みが小さくなるように決定される。
【００６５】
図６は、学習の重みに関する概念について示したものである。
【００６６】
図６において、ノード６−１が、勝者ノードとして示されており、勝者ノードから距離の近い順にノード６−２からノード６−６までが、並べられている。図６の右のグラフは、学習の重みと勝者ノードからの距離との関係を示しており、横軸は学習の重み、縦軸は勝者ノードからの距離を示している。この学習の重みと距離の関係を与えるグラフは、学習の進行に応じて調整が行われる。図６のグラフを用いて、ネットワーク学習部４−４において学習の重みが求められるが、その詳細については、後述する。
【００６７】
ネットワーク学習部４−４において求められた学習の重みは、ネットワーク学習部４−４から、ノード学習部４−６−１乃至４−Ｎ−１のうちの、求められた学習の重みに対応するノード学習部に送られる。学習の重みを受け取ったノード学習部は、その学習の重みに基づき、スコア計算時に記憶しておいた時系列データを用いて、学習データ記憶部２−５（図２）の学習データを更新し、その更新された学習データを用いて、状態遷移確率モデル２−１（図２）のパラメータの更新を行う。
【００６８】
例えば、ある学習の重みがノード学習部４−６−１に送られると、ノード学習部４−６−１は、記憶しておいた時系列データと学習の重みを用いて、時系列パターン記憶ノード４−６−２の学習データを更新した後、状態遷移確率モデルのパラメータの更新を行う。
【００６９】
次に、図７は、図４のノード学習部４−６−１とネットワーク学習部４−４の構成例を示している。ネットワーク学習部４−４は、図４に示すように複数のノード学習部４−６−１乃至４−Ｎ−１と接続されているが、ここでは、一つのノード学習部４−６−１に着目して説明を行うものとする。
【００７０】
特徴抽出部４−３からネットワーク学習部４−４に送られてきた時系列データ（の観測値）は、ネットワーク学習部４−４の時系列データ供給部７−１からノード学習部４−６−１乃至４−Ｎ−１（図４）に送られる。即ち、ノード学習部４−６−１に着目した場合、時系列データ（の観測値）は、時系列データ供給部７−１から、ノード学習部４−６−１のスコア計算部７−５に送られる。
【００７１】
スコア計算部７−５は、時系列データ供給部７−１から送られてきた時系列データを時系列データ記憶部７−８に記憶し、その時系列データに適合する度合いをスコアとして求め、そのスコアを勝者ノード決定部７−２に供給する。ここで、適合の度合いを与えるスコアとは、時系列データ記憶部７−８に記憶された時系列データが、時系列パターン記憶ノード４−６−２に記憶された時系列パターンモデルと適合する度合いを数量化したものである。
【００７２】
即ち、ノードが有する時系列パターンモデルが、例えば、図２の状態遷移確率モデル２−１としてのHMMである場合には、スコア計算部７−５は、時系列パターン記憶ノード４−６−２に記憶された時系列パターンモデルとしてのHMMから、時系列データ記憶部７−８に記憶された時系列データが観測される尤度を求め、そのノードのスコアとして、勝者ノード決定部７−２に供給する。
【００７３】
勝者ノード決定部７−２は、時系列パターン記憶ネットワーク４−５において、時系列データ記憶部７−８に記憶された時系列データに最も適合するノードを求め、そのノードを、勝者ノードとして決定する。即ち、勝者ノード決定部７−２は、時系列パターン記憶ネットワーク４−５を構成するノードのうちの、スコア計算部７−５から供給されるスコアが最も高いノードを勝者ノードとして決定する。
【００７４】
ここで、勝者ノード決定部７−２は、複数のスコア計算部からスコアを供給される。即ち、時系列パターン記憶ネットワーク４−５の一つ一つのノードに対応するノード学習部４−６−１乃至４−Ｎ−１がスコア計算部を有し、それらのスコア計算部がノードに対応するスコアを勝者ノード決定部７−２に供給する。そして、勝者ノード決定部７−２は、勝者ノードを表す情報を、重み決定部７−３に供給する。
【００７５】
ここで、時系列パターン記憶ネットワーク４−５を構成するノードに、各ノードを識別するためのラベルであるノードラベルを付しておき、勝者ノードを表す情報、および、その他のノードを表す情報としては、そのノードラベルを採用することができる。
【００７６】
重み決定部７−３は、勝者ノード決定部７−２から供給されるノードラベルが表す勝者ノードに基づき、時系列パターン記憶ネットワーク４−５を構成する各ノードについて、後述する更新重みを決定し、学習データ更新部７−６に供給する。
【００７７】
即ち、重み決定部７−３は、時系列パターン記憶ネットワーク４−５を構成する各ノード（勝者ノードを含む）の更新重みを、そのノードと、勝者ノードとのノード間距離に基づいて決定し、ノード学習部４−６−１乃至４−Ｎ−１（図４）に送信する。即ち、ノード学習部４−６−１に着目した場合、重み決定部７−３は、ノード学習部４−６−１の対応するノードの更新重みを、ノード学習部４−６−１が有する学習データ更新部７−６に供給する。
【００７８】
ここで、ノードが有する時系列パターンモデルは、時系列データ記憶部７−８に記憶された新たな時系列データを用いて更新されるが、ノードの更新重みとは、そのノードが有する時系列パターンモデルの更新によって、その時系列パターンモデルが受ける新たな時系列データの影響の度合いを表す。従って、ノードの更新重みが０であれば、そのノードが有する時系列パターンモデルは、新たな時系列データの影響を受けない（更新されない）。
【００７９】
なお、重み決定部７−３において、時系列パターン記憶ネットワーク４−５を構成する各ノードの更新重みを決定する際のノード間距離としては、図５の時系列パターン記憶ネットワーク５−１を用いて説明したように時系列パターン記憶ネットワークのノード間にリンクが与えられている場合には、そのノードと勝者ノードとの結合関係（リンク）に基づくノード間距離を採用するものとする。
【００８０】
即ち、重み決定部７−３は、時系列パターン記憶ネットワーク４−５を参照し、時系列パターン記憶ネットワーク４−５のノードそれぞれと、勝者ノード決定部７−２からのノードラベルが表す勝者ノードとの結合関係に基づくノード間距離を求め、そのノード間距離に基づいて、時系列パターン記憶ネットワーク４−５のノードそれぞれの更新重みを決定する。
【００８１】
学習データ更新部７−６は、時系列パターン記憶ノード４−６−２が有する学習データ記憶部２−５（図２）に記憶された学習データを更新する。
【００８２】
即ち、学習データ更新部７−６は、時系列パターン記憶ノード４−６−２が有する学習データ記憶部２−５に既に記憶されている学習データと、時系列データ記憶部７−８に記憶された時系列データとを、重み決定部７−３から供給される更新重みにしたがって混合し、その混合結果を、新たな学習データとして、時系列パターン記憶ノード４−６−２が有する学習データ記憶部２−５に記憶させることで、その学習データ記憶部２−５の記憶内容を更新する。
【００８３】
学習データ更新部７−６は、以上のように、時系列パターン記憶ノード４−６−２が有する学習データ記憶部２−５に記憶された学習データを、更新重みにしたがって更新すると、その更新が終了した旨の終了通知を、モデル学習部７−７に供給する。
【００８４】
モデル学習部７−７は、学習データ更新部７−６から終了通知を受けると、その学習データ更新部７−６による更新後の時系列パターン記憶ノード４−６−２に記憶された学習データを用いて、時系列パターン記憶ノード４−６−２が有する時系列パターンモデルの学習を行うことにより、その時系列パターンモデルを更新する。
【００８５】
従って、モデル学習部７−７による、時系列パターン記憶ノード４−６−２が有する時系列パターンモデルの更新は、その時系列パターン記憶ノード４−６−２に記憶されていた学習データ（の一部）と、時系列データ記憶部７−８に記憶された新たな時系列データとに基づいて行われる。なお、時系列パターンモデルの学習に利用される学習データは、更新重みにしたがって更新されることから、モデル学習部７−７による、時系列パターンモデルの更新は、更新重みに基づいて行われるということもできる。
【００８６】
モデル学習部７−７によって更新された時系列パターン記憶ノード４−６−２に記憶された時系列パターンモデルは、モデル学習部７−７からネットワーク更新部７−４に供給される。即ち、ノード学習部４−６−１乃至４−Ｎ−１（図４）は、それぞれモデル学習部を有し、それぞれのモデル学習部から更新された時系列パターンモデルが、ネットワーク更新部７−４に供給されることになる。
【００８７】
ネットワーク更新部７−４は、モデル学習部７−７から供給された時系列パターンモデルに基づき、時系列パターン記憶ネットワーク４−５の対応するノードが保持する時系列パターンモデルを更新する。即ち、ネットワーク更新部７−４は、ノード学習部４−６−１乃至４−Ｎ−１が有するそれぞれのモデル学習部から供給される時系列パターンモデルに基づき、時系列パターン記憶ネットワーク４−５のノードが保持する時系列パターンモデルを更新する。
【００８８】
つまり、時系列パターン記憶ノード４−６−２乃至４−Ｎ−２に記憶された時系列パターンモデルが更新されると、ネットワーク更新部７−４によって、時系列パターン記憶ネットワーク４−５の対応するノードの時系列パターンモデルも更新され、時系列パターン記憶ネットワーク４−５の状態は、学習の進行に合わせて最新の状態に保たれることになる。
【００８９】
以上の処理は、図４の学習装置に観測信号４−１が入力される度に行われる。
【００９０】
図８は、この処理のフローチャートを示したものである。
【００９１】
まず最初に、時系列パターン記憶ネットワーク４−５と時系列パターン記憶ノード４−６−２乃至４−Ｎ−２のパラメータの初期化が行われる（ステップ８−１）。
【００９２】
ここで、初期化されるパラメータは、時系列パターン記憶ネットワーク４−５のノードと時系列パターン記憶ノード４−６−２乃至４−Ｎ−２の対応するノードどうしが同じ値になるように、初期化される。そして、学習データ（観測信号４−１）が一つ入力されると、この学習データはネットワーク学習部４−４からノード学習部４−６−１乃至４−Ｎ−１へ送信される（ステップ８−２）。
【００９３】
ノード学習部４−６−１乃至４−Ｎ−１は、対応する時系列パターン記憶ノード４−６−２乃至４−Ｎ−２の状態遷移確率モデルを用いて、受信した学習データに対するスコア計算を行い、その計算結果であるスコア値をネットワーク学習部４−４に送信する（ステップ８−３−１乃至ステップ８−３−Ｎ）。
【００９４】
ネットワーク学習部４−４は、受信したスコア値を比較することで、最もスコアの良いノード、すなわち勝者ノードを決定する（ステップ８−４）。
【００９５】
そして、ネットワーク学習部４−４は、この勝者ノードを中心として各ノードの学習の重みを決定し、その学習の重みをノード学習部４−６−１乃至４−Ｎ−１に送信する（ステップ８−５）。
【００９６】
ノード学習部４−６−１乃至４−Ｎ−１は、受信した学習の重みとスコア計算に用いた学習データによって、時系列パターン記憶ノード４−６−２乃至４−Ｎ−２の学習データを更新し、更新された学習データに基づいて、状態遷移確率モデルのパラメータを更新する（ステップ８−６−１乃至ステップ８−６−Ｎ）。
【００９７】
更新された結果は、ノード学習部４−６−１乃至４−Ｎ−１からネットワーク学習部４−４に送られ、それに基づき、ネットワーク学習部４−４によって、時系列パターン記憶ネットワーク４−５の対応するノードのパラメータが更新される。つまり、時系列パターン記憶ネットワーク４−５として、統合されたパラメータの更新が行われる（ステップ８−７）。
【００９８】
以上のステップ８−２からステップ８−７までの処理は、図４の学習装置にデータ（観測信号４−１）が入力される度に繰り返されることになる。
【００９９】
ここで、それぞれのノード学習部４−６−１乃至４−Ｎ−１が行うスコア計算の処理（ステップ８−３−１乃至ステップ８−３−Ｎ）と、パラメータ更新の処理（ステップ８−６−１乃至ステップ８−６−Ｎ）は、並列的に行われる。つまり、学習の処理過程において、各ノードに関連する処理は、並列的に行われる。
【０１００】
また、勝者ノードの決定の処理（ステップ８−４）、学習の重みの決定の処理（ステップ８−５）、さらに時系列パターン記憶ネットワークとしての統合されたパラメータ更新の処理（ステップ８−７）など、ネットワークとして統合的に行われる処理は、ネットワーク学習部４−４において集中的に管理して行われることになる。
【０１０１】
なお、本実施の形態では、データが入力され、時系列パターン記憶ノード４−６−２乃至４−Ｎ−２においてパラメータ更新が行われる度に、時系列パターン記憶ネットワーク４−５のノードのパラメータの更新を統合して統合更新処理（ステップ８−７）を行うものとして説明を行ったが、時系列パターン記憶ネットワーク４−５の各ノードの状態と対応する時系列パターン記憶ノード４−６−２乃至４−Ｎ−２の状態を同じに保つ必要がなければ、この統合更新処理（ステップ８−７）は不要となるので、省略することができる。あるいは、ネットワーク学習部４−４が、適当な時間間隔で統合更新処理（ステップ８−７）を行ったり、データの入力が複数回おこなわれた時点で統合更新処理（ステップ８−７）を行うなど、統合更新処理を行う頻度を少なくすることも可能である。
【０１０２】
次に、学習の重みに基づく時系列パターンモデルの更新方法について説明する。
【０１０３】
ノードに対する学習の重み（以下、適宜、更新重み、または、ノードの更新重みという）は、図６に示すような、勝者ノードとのノード間距離の増加に対して更新重みが減少する関係を表す曲線（以下、距離／重み曲線という）にしたがって、決定される。以下では、ノード間距離をｄ、ノードの更新重みをαと示す。距離／重み曲線によれば、勝者ノードとのノード間距離dが近いノードほど、大きな更新重みαが決定され、ノード間距離dが遠いノードほど、小さな更新重みαが決定される。
【０１０４】
更新重みαとパターン間距離dとの関係、すなわち、図６に示したような距離／重み曲線は、例えば、式（１）によって与えられる。
【０１０５】
2006293489.tif 000003
【０１０６】
ここで、式（１）において、定数Gは、勝者ノードの更新重みを表す定数であり、γは、減衰係数で、０＜γ＜１の範囲の定数である。また、変数Δは、勝者ノードの近傍のノード（勝者ノードとのノード間距離dが近いノード）の更新重みαを調整するための変数である。
【０１０７】
勝者ノードに対するノード間距離dとして、０が与えられ、以下、他のノードのノード間距離dとして、勝者ノードとの距離にしたがって、１，２，・・・が与えられる場合、式（１）において、例えば、G=8，γ=0.5，Δ=1であれば、勝者ノードとなっているノードの更新重みαとして、８(=G)が求められる。以下、勝者ノードとの距離が大きくなるにしたがって、ノードの更新重みαとしては、４，２，１，・・・と小さくなる値が求められる。
【０１０８】
ここで、式（１）における変数Δが大きな値である場合には、ノード間距離dの変化に対する更新重みαの変化は緩やかになり、逆に、変数Δが０に近い値である場合には、ノード間距離dの変化に対する更新重みαの変化は急峻になる。
【０１０９】
従って、変数Δを、例えば、上述した１から少しずつ０に近づけていくように調整すると、ノード間距離dの変化に対する更新重みαの変化は急峻になっていき、更新重みαは、ノード間距離dが大きくなるにしたがって、より小さい値となる。そして、変数Δが０に近くなると、勝者ノード（となっているノード）以外のノードの更新重みαは、ほとんど０となる。
【０１１０】
変数Δは、例えば、時系列パターン記憶ネットワークの更新（学習）の開始時は大きな値にし、時間の経過とともに、即ち、更新の回数が増加するにしたがって小さな値になるようにすることができる。この場合、時系列パターン記憶ネットワークの更新の開始時は、ノード間距離dの変化に対する更新重みαの変化が緩やかな距離／重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαが決定され、更新（学習）が進む（進行する）につれ、ノード間距離dの変化に対する更新重みαの変化が急峻になっていく距離／重み曲線にしたがって、時系列パターン記憶ネットワークの各ノードの更新重みαが決定される。
【０１１１】
即ち、この場合、勝者ノードの更新は、学習（更新）の進行にかかわらず、入力された時系列データの観測値の影響を強く受けるように行われる。一方、勝者ノード以外のノードの更新は、学習の開始時は、比較的広い範囲のノード（勝者ノードとのノード間距離dが小のノードから、ある程度大のノード）に亘って、入力された時系列データの観測値の影響を受けるように行われる。そして、学習が進行するにつれ、勝者ノード以外のノードの更新は、徐々に狭い範囲のノードについてのみ、入力された時系列データの観測値の影響を受けるように行われる。
【０１１２】
図７の重み決定部７−３は、以上のようにして、時系列パターン記憶ネットワーク４−５の各ノードの更新重みαを決定し、各ノード学習部が有する学習データ更新部に送信する。ノード学習部４−６−１に着目した場合には、重み決定部７−３から学習データ更新部７−６に更新重みαが送られ、時系列パターン記憶ノード４−６−２に記憶される学習データが、そのノードの更新重みαに基づいて更新される。
【０１１３】
いま、時系列パターン記憶ノード４−６−２には、学習データが既に記憶されており、さらに、時系列パターンモデルは、その学習データを用いて既に学習が行われたものであるとする。ここで、学習データは、例えば、図２の学習データ記憶部２−５に記憶された学習データに対応し、この時、時系列パターンモデルは、図２の状態遷移確率モデル２−１としてのＨＭＭに対応する。
【０１１４】
学習データ更新部７−６は、上述したように、時系列パターン記憶ノード４−６−２に既に記憶されている学習データ（以下、適宜、旧学習データという）と、時系列データ記憶部７−８に記憶された新たな時系列データとを、重み決定部７−３から送られてくる更新重みαにしたがって混合し、その混合結果を、新たな学習データとして、時系列パターン記憶ノード４−６−２に記憶させることで、その時系列パターン記憶ノード４−６−２に記憶された学習データを、新たな学習データに更新する。
【０１１５】
即ち、学習データ更新部７−６は、旧学習データに対して、新たな時系列データを追加することで、旧学習データと新たな時系列データとを混合した新たな学習データとするが、旧学習データに対する新たな時系列データの追加（旧学習データと新たな時系列データとの混合）は、更新重みαに対応する比にしたがって行われる。
【０１１６】
ここで、新たな時系列データと旧学習データとを、１：０の比率で混合すると、その混合によって得られる新たな学習データは、新たな時系列データだけとなる。逆に、新たな時系列データと旧学習データとを、０：１の比率で混合すると、その混合によって得られる新たな学習データは、旧学習データだけとなる。時系列パターンモデルの更新は、新たな学習データを用いた学習によって行われるため、新たな時系列データと旧学習データとを混合する比率を変えることによって、更新により時系列パターンモデルが受ける新たな時系列データの影響の度合い（強さ）を変えることができる。
【０１１７】
新たな時系列データと旧学習データとを混合する比率としては、更新重みαに対応した値が採用され、例えば、更新重みαが大であるほど、新たな時系列データの比率が大となる（旧学習データの比率が小となる）ような値とされる。
【０１１８】
具体的には、時系列パターン記憶ノード４−６−２には、一定の数の時系列データ（学習データ）が記憶されるものとし、その一定の数をHとする。この場合、時系列パターンモデルの学習は、常に、H個の学習データ（時系列データ）を用いて行われる。
【０１１９】
時系列パターン記憶ノード４−６−２に、常に、一定の数Hの学習データが記憶される場合、新たな時系列データと旧学習データとの混合によって得られる新たな学習データの個数は、H個である必要があり、そのような、新たな時系列データと旧学習データとの混合を、更新重みαに対応した比率で行う方法としては、新たな時系列データと旧学習データとを、比率α:H-αで混合する方法がある。
【０１２０】
新たな時系列データと旧学習データとを、比率α:H-αで混合する具体的な方法としては、例えば、H個の旧学習データのうちのH-α個の旧学習データに対して、α個の新たな時系列データを追加することにより、H個の新たな学習データを得る方法がある。
【０１２１】
この場合、時系列パターン記憶ノード４−６−２に記憶される時系列データの数Hが、例えば、１００であり、更新重みαが、例えば、８であれば、時系列パターン記憶ノード４−６−２の記憶内容は、１００個の旧学習データのうちの９２個の旧学習データに対して、８個の新たな時系列データを追加することによって得られる１００個の新たな学習データに更新される。
【０１２２】
H個の旧学習データのうちのH-α個の旧学習データに対する、α個の新たな時系列データの追加は、α個の新たな時系列データが得られるのを待って行う方法があるが、この方法では、１個の新たな時系列データが得られるごとに、時系列パターン記憶ノード４−６−２の記憶内容を更新することができない。
【０１２３】
そこで、時系列パターン記憶ノード４−６−２の記憶内容の更新は、１個の新たな時系列データが得られるごとに、その新たな時系列データをα個だけ、H-α個の旧学習データに追加することにより行うことができる。即ち、１個の新たな時系列データをコピーしてα個の新たな時系列データとし、そのα個の新たな時系列データを、H個の旧学習データから古い順にα個を除外して残ったH-α個の旧学習データに追加することにより、時系列パターン記憶ノード４−６−２の記憶内容の更新を行う。これにより、１個の新たな時系列データが得られるごとに、時系列パターン記憶ノード４−６−２の記憶内容を更新することができる。
【０１２４】
以上のように、時系列パターン記憶ノード４−６−２の記憶内容の更新を行うことにより、常に、新しい順のＨ個の時系列データだけが、学習データとして保持されることになり、その学習データに占める新たな時系列データの割合（比率）は、更新重みαによって調整されることになる。このような学習データの更新は、各ノードに対応する学習データ更新部によって、それぞれに対応する時系列パターン記憶ノード４−７−２乃至４−Ｎ−２（図４）に対して行われる。
【０１２５】
モデル学習部７−７は、時系列パターン記憶ノード４−６−２に記憶された更新後の学習データを用いて、時系列パターン記憶ノード４−６−２に記憶された時系列パターンモデルの学習を行う。例えば、時系列パターンモデルが、図２の状態遷移確率モデル２−１としてのＨＭＭで与えられる場合、学習データを用いてBaum-Welch法を適用することで学習が行われる。
【０１２６】
さて、以上のような学習の処理を動作させるハードウェアとして、複数のＣＰＵ（central processing unit）を備えたコンピュータを利用する場合を考える。時系列パターン記憶ネットワークのノード数をＮとした場合、もしＮ＋１個のＣＰＵが利用できるならば、図４に示されたノード学習部４−６−１乃至４−Ｎ−１の処理をそれぞれＣＰＵに一つずつ割り当て、ネットワーク学習部４−４の処理を残りのＣＰＵの一つに割り当てれば、図８に示したスコア計算の処理（ステップ８−３−１乃至ステップ８−３−Ｎ）と、パラメータ更新の処理（ステップ８−６−１乃至ステップ８−６−Ｎ）は、完全に並列的に行うことが可能となる。つまり、ノード数の増加に応じて学習時間が増加するという問題は、大きく改善されることになる。
【０１２７】
ＣＰＵの個数に制限がある場合には、ノード学習部をＣＰＵに一つずつ割り当て、各ノード学習部が処理すべき時系列パターン記憶ノードを複数個ずつ割り当てるものとする。
【０１２８】
図９は、この場合の構成例、即ち、本発明を適用した学習装置の第２の構成例を示したものである。
【０１２９】
図９において、観測信号９−１は図４の観測信号４−１に、信号入力部９−２は図４の信号入力部４−２に、特徴抽出部９−３は図４の特徴抽出部４−３に、ネットワーク学習部９−４は図４のネットワーク学習部４−４に、時系列パターン記憶ネットワーク９−５は図４の時系列パターン記憶ネットワーク４−５に、それぞれ対応しており、その説明は省略する。
【０１３０】
図９の学習装置において、Ｎ＋１個のＣＰＵが利用できる場合、ノード学習部９−６−１乃至９−Ｎ−１の処理をそれぞれＣＰＵに一つずつ割り当て、ネットワーク学習部９−４の処理を残りのＣＰＵの一つに割り当てる。
【０１３１】
この場合、図８のスコア計算の処理（ステップ８−３−１乃至ステップ８−３−Ｎ）では、ノード学習部９−６−１乃至９−Ｎ−１は、対応する複数の時系列パターン記憶ノード９−６−２乃至９−Ｎ−２それぞれに対してスコア計算を行い、その計算結果をネットワーク学習部９−４に送ることになる。
【０１３２】
また、パラメータ更新の処理（ステップ８−６−１乃至ステップ８−６−Ｎ）では、ノード学習部９−６−１乃至９−Ｎ−１は、対応する複数の時系列パターン記憶ノード９−６−２乃至９−Ｎ−２それぞれに対して学習データの更新とそれに伴うパラメータ更新を行い、その更新結果をネットワーク学習部９−４に送ることになる。
【０１３３】
なお、ノード学習部に割り当てる時系列パターン記憶ノードの個数は、完全に同じである必要はない。また、学習装置が、図４の構成である場合には、各ノード学習部が並列的にスコア計算やパラメータ更新の処理を行うため、最も処理時間の長いノード学習部が、学習の時間を左右することになる。つまり、処理時間の短いノード学習部は、最も処理時間の長いノード学習部の処理が完了するまで、待ち状態となる。
【０１３４】
この待ち状態の間に、別の処理を行うことが可能であることから、図９の学習装置のように、複数の時系列パターン記憶ノードの処理を各ノード学習部が行うようにしたとしても、その個数の増加分だけ、全体の学習時間が長くなるわけではない。例えば、図４の学習装置の構成に対して、ＣＰＵの個数を半分にし、図９の学習装置の構成に変更したとしても、学習時間が単純に２倍になるわけではない。
【０１３５】
図１０は、本発明を適用した学習装置の第３の構成例に関して示したものである。
【０１３６】
図１０において、観測信号１０−１は図４の観測信号４−１に、信号入力部１０−２は図４の信号入力部４−２に、特徴抽出部１０−３は図４の特徴抽出部４−３に、ネットワーク学習部１０−４は図４のネットワーク学習部４−４に、時系列パターン記憶ネットワーク１０−５は図４の時系列パターン記憶ネットワーク４−５に、それぞれ対応しており、その説明は省略する。
【０１３７】
図１０の学習装置が図４の学習装置と違う点は、ノード学習部が時系列パターン記憶ノードを保持するのではなく、ノード学習部１０−６乃至１０−Ｎは時系列パターン記憶ネットワーク１０−５のノードの情報に直接アクセスできるようになされていることである。この場合、図１０の学習装置においては、各ノードの情報のコピーを、例えば、図４の時系列パターン記憶ノード４−６−２乃至４−Ｎ−２のように、保持する必要がなくなるため、各ノード毎のパラメータ更新に応じて、ネットワーク全体としてパラメータの統合更新を行う必要もなくなる。
【０１３８】
そして、図１０の学習装置において、最も重要な点は、ノード学習部１０−６乃至１０−Ｎは、割り当てられたノードに対応する処理だけを行うのではなく、時系列パターン記憶ネットワーク１０−５のノードの中で、まだ処理が行われていないノードがあれば、順に処理を行うことができるようになっているということである。つまり、処理が行われていないノードが存在するにもかかわらず、ノード学習部が待ち状態になるという問題を改善することができ、効率的にノード学習部が処理を行うことが可能となる。
【０１３９】
次に、図１１乃至図１３を参照して、本発明の効果を確認するために行った実験結果について説明する。
【０１４０】
まず、実験条件について説明する。音声信号として「あ」「い」「う」「え」「お」という５種類に関して、男性４名と女性４名の合計８名が、それぞれ１０回ずつ発話した音声信号を用意する。音声信号の総数は４００である。この音声信号をランダムな順序で、学習装置に、順に入力する。学習装置は、音声信号からメルケプストラム係数を特徴量として抽出し、その特徴量を３９次元のベクトルの時系列データに変換する。
【０１４１】
一方、実験では、時系列パターン記憶ネットワークのノード数を１５、３０、６０と変化させ、各ノードをＨＭＭで与えるものとする。ここで、各ＨＭＭはleft-to-right型の１０状態のＨＭＭとし、ＨＭＭの各状態の出力確率密度関数は、混合数１のガウス分布で与える。ＨＭＭのパラメータの学習にはBaum-Welch法を適用し、スコア計算にはViterbi algorithmを適用する。学習において、４００個の音声データは繰り返し利用するものとし、合計１００００回の信号の入力を行った。
【０１４２】
図１０は、ＣＰＵを１つだけ利用した場合の結果を示している。学習が完了するまでに要した時間を実行時間として計測した。それぞれのノード数に対応した実行時間が示されている。この結果から、ノード数の増加に比例して、実行時間が増加していることが分かる。
【０１４３】
これに対して、図１１は、ＣＰＵの数をノード数に応じて増加させた結果を示している。図４の構成に対応しており、ノード１つに対応してＣＰＵを一つ割り当てた結果である。図１０の結果と比較するとノード数の増加に対して、実行時間の増加の割合は非常に小さく、並列化による効果が確認できる。
【０１４４】
さらに、図１３は、ノード数が３０と６０である場合に、ＣＰＵの数を半分に減らした場合の結果を示している。図９の構成に対応している。図１２の結果と比較すると、例えば、ノード数が３０である場合に、ＣＰＵの数を３０から１５に減らしたとしても、実行時間が倍になるわけではなく、実行時間は３４分から３９分に増加しているだけである。同様の傾向はノード数が６０である場合も確認できる。つまり、ＣＰＵの数が制限される場合でも、効率的に処理の並列化が行われていることが分かる。
【０１４５】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１４６】
そこで、図１４は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１４７】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１４−１１やＲＯＭ１４−９に予め記録しておくことができる。
【０１４８】
あるいはまた、プログラムは、フレキシブルディスク、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１４−８−１乃至１４−８−Ｎを内蔵している。CPU１４−８は、バス１４−７およびバス１４−７−１乃至１４−７−Ｎを介して、CPU１４−８−１乃至１４−８−Ｎと接続されており、通信を行うことができる。CPU１４−８−１乃至１４−８−Ｎは、ROM１４−９−１乃至１４−９−Ｎに格納されているプログラムを実行する。あるいは、また、CPU１４−８−１乃至１４−８−Ｎは、ハードディスク１４−１１−１乃至１４−１１−Ｎに格納されているプログラム、衛星もしくはネットワークから転送され、通信部１４−３で受信されてハードディスク１４−１１−１乃至１４−１１―Ｎにインストールされたプログラム、またはドライブ１４−４に装着されたリムーバブル記録媒体１４−５から読み出されてハードディスク１４−１１−１乃至１４−１１−Ｎにインストールされたプログラムを、RAM１４−１０−１乃至１４−１０−Ｎにロードして実行する。
【０１５２】
CPU１４−８はネットワーク学習部４−４（図４）の処理を行い、CPU１４−８−１乃至１４−８−Ｎはノード学習部４−６−１乃至４−Ｎ−１（図４）の処理を行う。これにより、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。
【０１５３】
そして、CPU１４−８は、その処理結果を、必要に応じて、例えば、入出力インタフェース１４−６を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部１４−１から出力、あるいは、通信部１４−３から送信、さらには、ハードディスク１４−１１に記録等させる。
【図面の簡単な説明】
【０１５４】
【図１】自己組織的な学習の一例を示す図である。
【図２】時系列パターン記憶ネットワークのノードを示す図である。
【図３】自己組織的な学習処理を説明するフローチャートである。
【図４】第１の構成例を示す図である。
【図５】時系列パターン記憶ネットワークの例を示す図である。
【図６】学習の重みを説明する図である。
【図７】ネットワーク学習部とノード学習部の構成例を示す図である。
【図８】学習処理を説明するフローチャートである。
【図９】第２の構成例を示す図である。
【図１０】第３の構成例を示す図である。
【図１１】ノード数と学習時間の関係を示す表である。
【図１２】第１の構成例の実験結果を示す表である。
【図１３】第２の構成例の実験結果を示す表である。
【図１４】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０１５５】
１−１  学習データ，  １−２  学習部，  １−３  時系列パターン記憶ネットワーク，  １−４乃至１−９  ノード，  ２−１  状態遷移確率モデル，２−２乃至２−４  状態，  ２−５  学習データ記憶部，  ４−１  観測信号，  ４−２  信号入力部，  ４−３  特徴抽出部，  ４−４  ネットワーク学習部，  ４−５  時系列パターン記憶ネットワーク，  ４−６−１乃至４−Ｎ−１  ノード学習部，  ４−６−２乃至４−Ｎ−２  時系列パターン記憶ノード，  ５−１  時系列パターン記憶ネットワーク，  ５−２乃至５−１０  ノード，  ６−１乃至６−６  ノード，  ７−１  時系列データ供給部，  ７−２  勝者ノード決定部，  ７−３  重み決定部，  ７−４  ネットワーク更新部，  ７−５  スコア計算部，  ７−６  学習データ更新部，  ７−７  モデル学習部，  ７−８  時系列データ記憶部，  ９−１  観測信号  ９−２  信号入力部，  ９−３  特徴抽出部，  ９−４  ネットワーク学習部，  ９−５  時系列パターン記憶ネットワーク，  ９−６−１乃至９−Ｎ−１  ノード学習部，  ９−６−２乃至９−Ｎ−２  時系列パターン記憶ノード，  １０−１  観測信号  １０−２  信号入力部，  １０−３  特徴抽出部，  １０−４  ネットワーク学習部，  １０−５  時系列パターン記憶ネットワーク，  １０−６乃至１０−Ｎ  ノード学習部，  １４−１  出力部，  １４−２  入力部，  １４−３  通信部，  １４−４  ドライブ，  １４−５  リムーバブル記録媒体，  １４−６  入出力インタフェース，  １４−７および１４−７−１乃至１４−７−Ｎ  バス，  １４−８および１４−８−１乃至１４−８−Ｎ  CPU，  １４−９および１４−９−１乃至１４−９−Ｎ  ROM，  １４−１０および１４−１０−１乃至１４−１０−Ｎ  RAM，  １４−１１および１４−１１−１乃至１４−１１−Ｎ  ハードディスク
【図１】
2006293489.tif 000004
【図２】
2006293489.tif 000005
【図３】
2006293489.tif 000006
【図４】
2006293489.tif 000007
【図５】
2006293489.tif 000008
【図６】
2006293489.tif 000009
【図７】
2006293489.tif 000010
【図８】
2006293489.tif 000011
【図９】
2006293489.tif 000012
【図１０】
2006293489.tif 000013
【図１１】
2006293489.tif 000014
【図１２】
2006293489.tif 000015
【図１３】
2006293489.tif 000016
【図１４】
2006293489.tif 000017