(57)【要約】【課題】規模拡張性があり、かつ、汎化特性を有するパターン学習モデルを得ることができるようにする。【解決手段】学習モジュール１０1ないし１０Nは、入力データを用いて、パターン学習モデルの複数のモデルパラメータを更新する更新学習を行う。モデルパラメータ共有部２０は、学習モジュール１０1ないし１０Nに、モデルパラメータを共有させる。新たな学習データが入力データとしてパターン学習部１１１に供給された場合、モジュール作成部１２１は、その新たな学習データに対応する新たな学習モジュールを作成する。そして、新たな学習モジュールを含む全ての学習モジュールで更新学習後、モジュール統合部１２３は、類似性評価部１２２による学習モジュール間の類似性に基づいて、学習モジュールの統合の可否を判定し、学習モジュールの統合を行う。本発明は、例えば、時系列パターンの学習等に適用できる。【選択図】図１２
2010020445.tif 000002
【特許請求の範囲】
【請求項１】
パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行う複数の学習モジュールと、
前記複数の学習モジュールの２以上の学習モジュールに、前記モデルパラメータを共有させるモデルパラメータ共有手段と、
前記パターンを学習させるための新たな学習データが前記入力データとして供給された場合に、前記新たな学習データに対応する新たな学習モジュールを作成するモジュール作成手段と、
前記新たな学習モジュールを含む全ての学習モジュールで前記更新学習が行われた後、学習モジュール間の類似性を評価する類似性評価手段と、
前記学習モジュール間の類似性に基づいて、前記学習モジュールの統合の可否を判定し、前記学習モジュールの統合を行うモジュール統合手段と
を備える学習装置。
【請求項２】
前記モジュール作成手段は、既存の全学習モジュールのモデルパラメータの平均値を、前記新たな学習モジュールの前記複数のモデルパラメータの初期値として与える
請求項１に記載の学習装置。
【請求項３】
前記モジュール統合手段は、統合対象の複数の前記学習モジュールのモデルパラメータの平均値を、統合後の前記学習モジュールのモデルパラメータに設定する
請求項１に記載の学習装置。
【請求項４】
前記パターン学習モデルは、時系列パターン、又はダイナミクスを学習するモデルである
請求項１に記載の学習装置。
【請求項５】
前記パターン学習モデルは、HMM，RNN，FNN，SVR、又はRNNPBである
請求項１に記載の学習装置。
【請求項６】
前記モデルパラメータ共有手段は、複数の学習モジュールのすべて、又は一部に、前記モデルパラメータを共有させる
請求項１に記載の学習装置。
【請求項７】
前記モデルパラメータ共有手段は、前記複数の学習モジュールの２以上の学習モジュールに、前記複数のモデルパラメータのすべて、又は一部を共有させる
請求項１に記載の学習装置。
【請求項８】
前記モデルパラメータ共有手段は、前記２以上の学習モジュールの各学習モジュールが更新したモデルパラメータを、前記２以上の学習モジュールそれぞれが更新したモデルパラメータの重み付け平均値によって補正することにより、前記２以上の学習モジュールに、その２以上の学習モジュールそれぞれが更新したモデルパラメータを共有させる
請求項１に記載の学習装置。
【請求項９】
複数の学習モジュールそれぞれにおいて、パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行い、
前記複数の学習モジュールの２以上の学習モジュールに、前記モデルパラメータを共有させ、
前記パターンを学習させるための新たな学習データが前記入力データとして供給された場合に、前記新たな学習データに対応する新たな学習モジュールを作成し、
前記新たな学習モジュールを含む全ての学習モジュールで前記更新学習が行われた後、学習モジュール間の類似性を評価し、
前記学習モジュール間の類似性に基づいて、前記学習モジュールの統合の可否を判定し、前記学習モジュールの統合を行う
ステップを含む学習方法。
【請求項１０】
コンピュータを、
パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行う複数の学習モジュールと、
前記複数の学習モジュールの２以上の学習モジュールに、前記モデルパラメータを共有させるモデルパラメータ共有手段と、
前記パターンを学習させるための新たな学習データが前記入力データとして供給された場合に、前記新たな学習データに対応する新たな学習モジュールを作成するモジュール作成手段と、
前記新たな学習モジュールを含む全ての学習モジュールで前記更新学習が行われた後、学習モジュール間の類似性を評価する類似性評価手段と、
前記学習モジュール間の類似性に基づいて、前記学習モジュールの統合の可否を判定し、前記学習モジュールの統合を行うモジュール統合手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法、およびプログラムに関し、特に、規模拡張性があり、かつ、汎化特性を有するパターン学習モデルを得ることができるようにする学習装置、学習方法、およびプログラムに関する。
【背景技術】
【０００２】
パターンを学習するパターン学習モデルとしては、例えば、RNN(Recurrent Neural Network)やRNNPB(Recurrent Neural Net with Parametric Bias)等がある。このようなパターン学習モデルの学習のスキームは、「局所表現」スキームと「分散表現」スキームとに分類される。
【０００３】
「局所表現」スキームでは、複数のパターンが、パターン学習モデルの学習（パターン学習モデルが有するモデルパラメータの更新）を行う複数の学習モジュールにおいてそれぞれ学習され、これにより、１つの学習モジュールで、１つのパターンが記憶される。
【０００４】
また、「分散表現」スキームでは、複数のパターンが、１つの学習モジュールにおいて学習され、これにより、１つの学習モジュールで、複数のパターンが同時に記憶される。
【０００５】
「局所表現」スキームでは、１つの学習モジュールで、１つのパターンが記憶される、つまり、１つのパターン学習モデルが、１つのパターンを学習するので、ある学習モジュールと、他の学習モジュールとの間で、パターンの記憶の干渉が少なく、パターンの記憶の安定性が高い。そして、「局所表現」スキームは、学習モジュールを追加することにより、新たなパターンを学習することが容易に行うことができるという規模拡張性に優れる。
【０００６】
但し、「局所表現」スキームでは、１つのパターン学習モデルが、１つのパターンを学習する、つまり、パターンの記憶が、複数の学習モジュールでそれぞれ独立に行われるため、複数の学習モジュールそれぞれでのパターンの記憶間の関係性の構造化（共通化）による汎化特性を得ること、すなわち、例えば、ある学習モジュールに記憶されたパターンとも異なり、他の学習モジュールに記憶されたパターンとも異なるが、それらの両方のパターンの、いわば中間のパターンを生成するようなこと等はできない。
【０００７】
一方、「分散表現」スキームでは、１つの学習モジュールで、複数のパターンが記憶される、つまり、１つのパターン学習モデルが、複数のパターンを学習するので、１つの学習モジュール内での複数のパターンの記憶間の干渉によって、その記憶間の共通化による汎化特性を得ることができる。
【０００８】
但し、「分散表現」スキームでは、パターンの記憶の安定性が低いため、規模拡張性がない。
【０００９】
ここで、特許文献１には、あるパターンを学習するRNNと、そのパターンと相関がある他のパターンを学習するRNNとの２つのRNNのコンテキストどうしの誤差に基づいて、その２つのRNNのコンテキストを変化させて、RNNの学習を行うこと、及び、その学習後の２つのRNNのうちの一方のコンテキストを、他方のRNNのコンテキストとして用いて、つまり、一方のRNNのコンテキストを、他方のRNNのコンテキストに影響させて、出力データを生成すること（RNNの入力層に入力データを入力し、その入力データに対応する出力データを、RNNの出力層から出力すること）が記載されている。
【００１０】
また、非特許文献１には、言語のパターンを学習するRNNPBと、動作のパターンを学習するRNNPBとの２つのRNNPBのPBどうしの差に基づいて、その２つのRNNPBをPBを変化させて、RNNPBの学習を行うこと、及び、その学習後の２つのRNNPBのうちの一方のPBを、他方のPBに影響させて、出力データを生成することが記載されている。
【００１１】
【特許文献１】特開2002-024795号公報
【非特許文献１】Yuuya Sugita, Jun Tani, "Learning Semantic Combinatoriality from the Interaction between Linguistic and Behavioral Processes", Adaptive Behavior, Vol. 13, No. 1, 33-52 (2005)
【発明の開示】
【発明が解決しようとする課題】
【００１２】
以上のように、従来のパターン学習モデルの学習では、規模拡張性があるパターン学習モデルを得るか、又は汎化特性を有するパターン学習モデルを得ることはできるが、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることは困難である。
【００１３】
本発明は、このような状況に鑑みてなされたものであり、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができるようにするものである。
【課題を解決するための手段】
【００１４】
本発明の一側面の学習装置は、パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行う複数の学習モジュールと、前記複数の学習モジュールの２以上の学習モジュールに、前記モデルパラメータを共有させるモデルパラメータ共有手段と、パターンを学習させるための新たな学習データが前記入力データとして供給された場合に、前記新たな学習データに対応する新たな学習モジュールを作成するモジュール作成手段と、前記新たな学習モジュールを含む全ての学習モジュールで前記更新学習が行われた後、学習モジュール間の類似性を評価する類似性評価手段と、前記学習モジュール間の類似性に基づいて、前記学習モジュールの統合の可否を判定し、前記学習モジュールの統合を行うモジュール統合手段とを備える。
【００１５】
本発明の一側面の学習方法は、複数の学習モジュールそれぞれにおいて、パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行い、前記複数の学習モジュールの２以上の学習モジュールに、前記モデルパラメータを共有させ、パターンを学習させるための新たな学習データが前記入力データとして供給された場合に、前記新たな学習データに対応する新たな学習モジュールを作成し、前記新たな学習モジュールを含む全ての学習モジュールで前記更新学習が行われた後、学習モジュール間の類似性を評価し、前記学習モジュール間の類似性に基づいて、前記学習モジュールの統合の可否を判定し、前記学習モジュールの統合を行うステップを含む学習方法である。
【００１６】
本発明の一側面のプログラムは、コンピュータを、パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行う複数の学習モジュールと、前記複数の学習モジュールの２以上の学習モジュールに、前記モデルパラメータを共有させるモデルパラメータ共有手段と、パターンを学習させるための新たな学習データが前記入力データとして供給された場合に、前記新たな学習データに対応する新たな学習モジュールを作成するモジュール作成手段と、前記新たな学習モジュールを含む全ての学習モジュールで前記更新学習が行われた後、学習モジュール間の類似性を評価する類似性評価手段と、前記学習モジュール間の類似性に基づいて、前記学習モジュールの統合の可否を判定し、前記学習モジュールの統合を行うモジュール統合手段として機能させる。
【００１７】
本発明の一側面においては、複数の学習モジュールそれぞれにおいて、パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習が行われ、複数の学習モジュールの２以上の学習モジュールにおいて、モデルパラメータが共有される。また、パターンを学習させるための新たな学習データが入力データとして供給された場合に、新たな学習データに対応する新たな学習モジュールが作成され、新たな学習モジュールを含む全ての学習モジュールで更新学習が行われた後、学習モジュール間の類似性が評価され、学習モジュール間の類似性に基づいて、学習モジュールの統合の可否が判定され、学習モジュールの統合が行われる。
【発明の効果】
【００１８】
本発明の一側面によれば、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができる。
【発明を実施するための最良の形態】
【００１９】
図１は、本発明を適用する学習装置の基本となる学習装置の一実施の形態の構成例を示している。
【００２０】
図１において、学習装置は、複数であるN個の学習モジュール１０1ないし１０Nと、モデルパラメータ共有部２０とから構成される。
【００２１】
学習モジュール１０i(i=1,2,・・・,N)は、パターン入力部１１i、モデル学習部１２i、及びモデル記憶部１３iから構成され、入力データを用いて、パターン学習モデルの複数のモデルパラメータ（学習リソース）を更新する更新学習を行う。
【００２２】
すなわち、パターン入力部１１iには、モデル記憶部１３iに記憶されたパターン学習モデルに獲得（学習）させるパターン（カテゴリ）の入力データが、パターン学習モデルの学習に用いる学習データとして供給される。
【００２３】
パターン入力部１１iは、そこに供給される学習データを、パターン学習モデルの学習に適切な形のデータにする処理をして、モデル学習部１２iに供給する。すなわち、例えば、学習データが時系列のデータである場合には、パターン入力部１１iは、例えば、その時系列のデータを、固定の長さに区切って、モデル学習部１２iに供給する。
【００２４】
モデル学習部１２iは、パターン入力部１１iからの学習データを用いて、モデル記憶部１３iに記憶されたパターン学習モデルの複数のモデルパラメータを更新する更新学習を行う。
【００２５】
モデル記憶部１３iは、複数のモデルパラメータを有し、パターンを学習するパターン学習モデルを記憶する。すなわち、モデル記憶部１３iは、パターン学習モデルの複数のモデルパラメータを記憶する。
【００２６】
ここで、パターン学習モデルとしては、例えば、時系列のパターンである時系列パターンや、時間変化する力学系を表すダイナミクスを学習（獲得）（記憶）するモデル等を採用することができる。
【００２７】
時系列パターンを学習するモデルとしては、例えば、HMM(Hidden Markov Model)等があり、ダイナミクスを学習するモデルとしては、例えば、RNN，FNN(Feed Forward Neural Network)，RNNPB等のニューラルネットワークや、SVR(Support Vector Regression)等がある。
【００２８】
例えば、HMMについては、HMMにおいて状態が遷移する確率を表す状態遷移確率や、状態が遷移するときに、HMMからある観測値が出力される確率を表す出力確率、又は確率密度を表す出力確率密度関数が、HMMのモデルパラメータである。
【００２９】
また、例えば、ニューラルネットワークについては、ニューロンに相当するユニット（ノード）において、他のユニットからの入力に付されるウエイト（重み）が、ニューラルネットワークのモデルパラメータである。
【００３０】
なお、HMMの状態遷移確率や、出力確率、又は出力確率密度関数、ニューラルネットワークのウエイトは、いずれも複数存在する。
【００３１】
モデルパラメータ共有部２０は、N個の学習モジュール１０1ないし１０Nのうちの、２以上の学習モジュールに、モデルパラメータを共有させる共有処理を行う。モデルパラメータ共有部２０が共有処理を行うことにより、N個の学習モジュール１０1ないし１０Nのうちの、２以上の学習モジュールは、モデルパラメータを共有する。
【００３２】
なお、以下では、説明を簡単にするため、モデルパラメータ共有部２０は、N個の学習モジュール１０1ないし１０Nのすべてに、モデルパラメータを共有させる共有処理を行うこととする。
【００３３】
次に、図２のフローチャートを参照して、図１の学習装置が行う、パターン学習モデルを学習する学習処理について説明する。
【００３４】
ステップＳ１１において、学習モジュール１０iのモデル学習部１２iは、モデル記憶部１３iに記憶されたモデルパラメータを、例えば、乱数等によって初期化して、処理は、ステップＳ１２に進む。
【００３５】
ステップＳ１２では、学習モジュール１０iが、その学習モジュール１０iで学習すべき学習データが供給（入力）されるのを待って、その学習データを用いて、モデルパラメータを更新する更新学習を行う。
【００３６】
すなわち、ステップＳ１２では、学習モジュール１０iにおいて、パターン入力部１１iが、学習モジュール１０iに供給された学習データを、必要に応じて処理し、モデル学習部１２iに供給する。
【００３７】
さらに、ステップＳ１２では、モデル学習部１２iが、パターン入力部１１iからの学習データを用いて、モデル記憶部１３iに記憶されたパターン学習モデルの複数のモデルパラメータを更新する更新学習を行い、その更新学習によって得られた新たな複数のモデルパラメータによって、モデル記憶部１３iの記憶内容を更新する（上書きする）。
【００３８】
ここで、ステップＳ１１及びＳ１２の処理は、N個の学習モジュール１０1ないし１０Nのすべてで行われる。
【００３９】
ステップＳ１２の後、処理は、ステップＳ１３に進み、モデルパラメータ共有部２０は、N個の学習モジュール１０1ないし１０Nのすべてに、モデルパラメータを共有させる共有処理を行う。
【００４０】
すなわち、学習モジュール１０iが有する複数のモデルパラメータのうちの、例えば、m番目のモデルパラメータに注目すると、モデルパラメータ共有部２０は、N個の学習モジュール１０1ないし１０Nそれぞれのm番目のモデルパラメータに基づいて、学習モジュール１０1のm番目のモデルパラメータを補正する。
【００４１】
さらに、モデルパラメータ共有部２０は、N個の学習モジュール１０1ないし１０Nそれぞれのm番目のモデルパラメータに基づいて、学習モジュール１０2のm番目のモデルパラメータを補正し、以下、同様にして、学習モジュール１０3ないし１０Nそれぞれのm番目のモデルパラメータを補正する。
【００４２】
以上のように、モデルパラメータ共有部２０が、学習モジュール１０iのm番目のモデルパラメータを、N個の学習モジュール１０1ないし１０Nそれぞれのm番目のモデルパラメータに基づいて補正することで、N個の学習モジュール１０1ないし１０Nのm番目のモデルパラメータのそれぞれは、N個の学習モジュール１０1ないし１０Nのm番目のモデルパラメータのすべての影響を受ける（N個の学習モジュール１０1ないし１０Nのm番目のモデルパラメータのそれぞれに、N個の学習モジュール１０1ないし１０Nのm番目のモデルパラメータのすべてを影響させる）。
【００４３】
このように、複数の学習モジュールのモデルパラメータすべてを、その複数の学習モジュールのモデルパラメータのそれぞれに影響させること（複数の学習モジュールのモデルパラメータのそれぞれが、その複数の学習モジュールのモデルパラメータすべての影響を受けること）が、複数の学習モジュールによるモデルパラメータの共有である。
【００４４】
モデルパラメータ共有部２０は、ステップＳ１３において、学習モジュール１０iのモデル記憶部１３iに記憶された複数のモデルパラメータのすべてを対象に、共有処理を行い、その共有処理によって得られたモデルパラメータによって、モデル記憶部１３1ないし１３Nの記憶内容を更新する。
【００４５】
ステップＳ１３の後、処理は、ステップＳ１４に進み、図１の学習装置は、学習の終了条件が満たされているかどうかを判定する。
【００４６】
ここで、ステップＳ１４での学習の終了条件としては、例えば、学習の回数、つまり、ステップＳ１２及びＳ１３が繰り返された回数が、あらかじめ定められた所定の回数となったことや、あらかじめ用意された学習データのすべてを用いて、ステップＳ１２の更新学習が行われたこと、あるいは、ある入力データに対して出力されるべき出力データの真値が分かっている場合に、その入力データに対してパターン学習モデルから出力される出力データの、真値に対する誤差が所定値以下であること、等を採用することができる。
【００４７】
ステップＳ１４において、学習の終了条件が満たされていないと判定された場合、処理は、ステップＳ１２に戻り、以下、同様の処理が繰り返される。
【００４８】
また、ステップＳ１４において、学習の終了条件が満たされていると判定された場合、処理は終了する。
【００４９】
なお、ステップＳ１２とステップＳ１３は、その処理の順番を逆にすることも可能である。即ち、N個の学習モジュール１０1ないし１０Nのすべてに、モデルパラメータを共有させる共有処理を行った後、モデルパラメータを更新する更新学習を行うようにすることもできる。
【００５０】
次に、図３は、パターン学習モデルとして、RNNPBを採用した場合の、図１の学習装置の構成例を示している。
【００５１】
なお、図３においては、学習モジュール１０iのパターン入力部１１i及びモデル学習部１２iの図示を省略してある。
【００５２】
モデル記憶部１３iには、RNNPB（を定義するモデルパラメータ）が記憶されている。ここで、モデル記憶部１３iに記憶されたRNNPBを、以下、適宜、RNNPB#iとも記載する。
【００５３】
RNNPBは、入力層、隠れ層（中間層）、及び出力層により構成されている。入力層、隠れ層、及び出力層は、それぞれ任意の数の、ニューロンに相当するユニットにより構成されている。
【００５４】
RNNPBでは、入力層の一部のユニットである入力ユニットに、時系列データ等の入力データxtが入力（供給）される。ここで、入力データxtとしては、例えば、画像や音声の特徴量や、ロボットの手や足に相当する部分の動きの軌道等を採用することができる。
【００５５】
また、入力層の、入力データxtが入力される入力ユニット以外のユニットの一部であるPBユニットには、PB(Parametric Bias)が入力される。PBによれば、同一の状態のRNNPBに対して、同一の入力データxtが入力されても、PBを変更することにより、異なる出力データx*t+1を得ることができる。
【００５６】
入力層の、入力データxtが入力される入力ユニット以外のユニットの残りであるコンテキストユニットには、出力層の一部のユニットより出力される出力データが、内部状態を表すコンテキストとしてフィードバックされる。
【００５７】
ここで、時刻tの入力データxtが入力層の入力ユニットに入力されるときに入力層のPBユニットとコンテキストユニットに入力される時刻tのPBとコンテキストを、それぞれ、PBtとctと記載する。
【００５８】
隠れ層のユニットは、入力層に入力される入力データxt，PBt，コンテキストctを対象として、所定のウエイト（重み）を用いた重み付け加算を行い、その重み付け加算の結果を引数とする非線形関数の演算を行って、その演算結果を、出力層のユニットに出力する。
【００５９】
出力層の一部のユニットからは、上述したように、次の時刻t+1のコンテキストct+1となる出力データが出力され、入力層にフィードバックされる。また、出力層の残りのユニットからは、例えば、入力データxtに対応する出力データとして、その入力データxtの次の時刻t+1の入力データxt+1の予測値x*t+1が出力される。
【００６０】
ここで、RNNPBでは、ユニットへの入力が重み付け加算されるが、この重み付け加算に用いられるウエイト（重み）が、RNNPBのモデルパラメータである。RNNPBのモデルパラメータとしてのウエイトには、入力ユニットから隠れ層のユニットへのウエイト、PBユニットから隠れ層のユニットへのウエイト、コンテキストユニットから隠れ層のユニットへウエイト、隠れ層のユニットから出力層のユニットへのウエイト、及び、隠れ層のユニットからコンテキストユニットへのウエイトの５種類がある。
【００６１】
パターン学習モデルとして、以上のようなRNNPBを採用した場合、モデルパラメータ共有部２０には、RNNPBのモデルパラメータとしてのウエイトを、学習モジュール１０1ないし１０Nに共有させるウエイトマトリクス共有部２１が設けられる。
【００６２】
ここで、RNNPBのモデルパラメータとしてのウエイトは、複数あるが、その複数のウエイトをコンポーネントとするマトリクスを、ウエイトマトリクスという。
【００６３】
ウエイトマトリクス共有部２１は、モデル記憶部１３1ないし１３Nに記憶されたRNNPB#1ないしRNNPB#Nの複数のモデルパラメータとしてのウエイトマトリクスすべてを、学習モジュール１０1ないし１０Nのそれぞれに共有させる。
【００６４】
すなわち、RNNPB#iのウエイトマトリクスをwiと表すこととすると、ウエイトマトリクス共有部２１は、ウエイトマトリクスwiを、N個の学習モジュール１０1ないし１０Nそれぞれのウエイトマトリクスw1ないしwNのすべてに基づいて補正することで、ウエイトマトリクスwiに、ウエイトマトリクスw1ないしwNのすべてを影響させる共有処理を行う。
【００６５】
具体的には、ウエイトマトリクス共有部２１は、例えば、次式（１）に従い、RNNPB#iのウエイトマトリクスwiを補正する。
【００６６】
【数１】
2010020445.tif 000003
【００６７】
ここで、式（１）において、△wiは、ウエイトマトリクスwiを補正する補正成分であり、例えば、式（２）に従って求められる。
【００６８】
【数２】
2010020445.tif 000004
【００６９】
式（２）において、βijは、RNNPB#iのウエイトマトリクスwiに、RNNPB#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
【００７０】
したがって、式（２）の右辺のサメーションΣβij(wj-wi)は、係数βijを重みとした、RNNPB#iのウエイトマトリクスwjに対するRNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNそれぞれの偏差（差分）の重み付け平均値を表し、αiは、その重み付け平均値Σβij(wj-wi)を、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【００７１】
係数αi及びβijとしては、例えば、0.0より大で1.0より小の値を採用することができる。
【００７２】
式（２）によれば、係数αiが小であるほど、いわば共有が弱くなり（ウエイトマトリクスwiが受ける重み付け平均値Σβij(wj-wi)の影響が小さくなり）、係数αiが大であるほど、いわば共有が強まる。
【００７３】
なお、ウエイトマトリクスwiの補正の方法は、式（１）に限定されるものではなく、例えば、式（３）に従って行うことが可能である。
【００７４】
【数３】
2010020445.tif 000005
【００７５】
ここで、式（３）において、βij'は、RNNPB#iのウエイトマトリクスwiに、RNNPB#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
【００７６】
したがって、式（３）の右辺の第２項におけるサメーションΣβij'wjは、係数βij'を重みとした、RNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNの重み付け平均値を表し、αi'は、その重み付け平均値Σβij'wjを、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【００７７】
係数αi'及びβij'としては、例えば、0.0より大で1.0より小の値を採用することができる。
【００７８】
式（３）によれば、係数αi'が大であるほど、共有が弱くなり（ウエイトマトリクスwiが受ける重み付け平均値Σβij'wjの影響が小さくなり）、係数αi'が小であるほど、共有が強まる。
【００７９】
次に、図４のフローチャートを参照して、パターン学習モデルとして、RNNPBを採用した場合の、図１の学習装置の学習処理について説明する。
【００８０】
ステップＳ２１において、学習モジュール１０iのモデル学習部１２iは、モデル記憶部１３iに記憶されたRNNPB#iのモデルパラメータであるウエイトマトリクスwiを、例えば、乱数等によって初期化して、処理は、ステップＳ２２に進む。
【００８１】
ステップＳ２２では、学習モジュール１０iが、その学習モジュール１０iで学習すべき学習データxtが入力されるのを待って、その学習データxtを用いて、モデルパラメータを更新する更新学習を行う。
【００８２】
すなわち、ステップＳ２２では、学習モジュール１０iにおいて、パターン入力部１１iが、学習モジュール１０iに供給された学習データxtを、必要に応じて処理し、モデル学習部１２iに供給する。
【００８３】
さらに、ステップＳ２２では、モデル学習部１２iが、パターン入力部１１iからの学習データxtを用いて、モデル記憶部１３iに記憶されたRNNPB#iのウエイトマトリクスwiを更新する更新学習を、例えば、BPTT(Back-Propagation Through Time)法により行い、その更新学習によって得られた新たなモデルパラメータとしてのウエイトマトリクスwiによって、モデル記憶部１３iの記憶内容を更新する。
【００８４】
ここで、ステップＳ２１及びＳ２２の処理は、N個の学習モジュール１０1ないし１０Nのすべてで行われる。
【００８５】
また、BPTT法については、例えば、特開2002-236904号公報等に記載されている。
【００８６】
ステップＳ２２の後、処理は、ステップＳ２３に進み、モデルパラメータ共有部２０のウエイトマトリクス共有部２１は、N個の学習モジュール１０1ないし１０Nのすべてに、ウエイトマトリクスw1ないしwNのすべてを共有させる共有処理を行う。
【００８７】
すなわち、ステップＳ２３において、ウエイトマトリクス共有部２１は、例えば、式（２）に従い、モデル記憶部１３1ないし１３Nに記憶されたウエイトマトリクスw1ないしwNを用いて補正成分△w1ないし△wNをそれぞれ求め、その補正成分△w1ないし△wNにより、モデル記憶部１３1ないし１３Nに記憶されたウエイトマトリクスw1ないしwNを、式（１）に従ってそれぞれ補正する。
【００８８】
ステップＳ２３の後、処理は、ステップＳ２４に進み、図１の学習装置は、学習の終了条件が満たされているかどうかを判定する。
【００８９】
ここで、ステップＳ２４での学習の終了条件としては、例えば、学習の回数、つまり、ステップＳ２２及びＳ２３が繰り返された回数が、あらかじめ定められた所定の回数となったことや、ある入力データxtに対してRNNPB#iが出力する出力データx*t+1、すなわち、入力データxt+1の予測値x*t+1の、入力データxt+1に対する誤差が所定値以下であること、等を採用することができる。
【００９０】
ステップＳ２４において、学習の終了条件が満たされていないと判定された場合、処理は、ステップＳ２２に戻り、以下、同様の処理、すなわち、ウエイトマトリクスwiの更新学習と、共有処理とが交互に繰り返される。
【００９１】
また、ステップＳ２４において、学習の終了条件が満たされていると判定された場合、処理は終了する。
【００９２】
なお、図４においても、ステップＳ２２とステップＳ２３は、その処理の順番を逆にすることが可能である。
【００９３】
以上のように、規模拡張性に優れた複数の学習モジュール１０1ないし１０Nそれぞれにおいて、モデルパラメータを共有しながら、その複数の学習モジュール１０1ないし１０Nそれぞれのモデルパラメータを更新する更新学習を行うことにより、１つの学習モジュールだけで行われる学習で得られる汎化特性が、複数の学習モジュール１０1ないし１０Nの全体で得ることができ、その結果、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができる。
【００９４】
すなわち、多くのパターンを獲得（記憶）することができ、かつ、複数のパターンの共通性を獲得することができる。さらに、複数のパターンの共通性を獲得することで、その共通性に基づいて、未学習のパターンの認識や生成を行うことが可能となる。
【００９５】
具体的には、学習データとして、例えば、N種類の音韻の音声データを、N個の学習モジュール１０1ないし１０Nにそれぞれ与えて、パターン学習モデルの学習を行った場合に、そのパターン学習モデルによれば、学習に用いられていない時系列パターンの音声データの認識や生成を行うことができる。さらに、例えば、学習データとして、例えば、ロボットのアームを駆動するための、N種類の駆動データを、N個の学習モジュール１０1ないし１０Nにそれぞれ与えて、パターン学習モデルの学習を行った場合に、そのパターン学習モデルによれば、学習に用いられていない時系列パターンの駆動データの生成を行うことができ、その結果、ロボットは、教えられていないアームの動きをすることが可能となる。
【００９６】
また、学習後のパターン学習モデルによれば、パターン学習モデル間のモデルパラメータ（リソース）どうしの距離に基づいて、パターン学習モデルどうしの類似性を評価し、類似性が高いパターン学習モデルどうしをクラスタとして、パターンのクラスタリングを行うことができる。
【００９７】
次に、図５ないし図９を参照して、本件発明者が行った、図１の学習装置による学習処理（以下、適宜、共有学習処理という）のシミュレーションの結果について説明する。
【００９８】
図５は、共有学習処理で学習を行ったパターン学習モデルについての各データを示している。
【００９９】
なお、シミュレーションでは、パターン学習モデルとして、２つのPBが入力層に入力され、３つのコンテキストが入力層にフィードバックされる９個のRNNPB#1ないしRNNPB#9を採用し、学習データとして、３つのパターンP#1,P#2,P#3の時系列データのそれぞれに、異なる３つのノイズN#1,N#2,N#3のそれぞれを重畳して得られる９個の時系列データを用いた。
【０１００】
また、RNNPB#1には、パターンP#1の時系列データにノイズN#1を重畳して得られる時系列データを、RNNPB#2には、パターンP#1の時系列データにノイズN#2を重畳して得られる時系列データを、RNNPB#2には、パターンP#1の時系列データにノイズN#3を重畳して得られる時系列データを、それぞれ、学習データとして与えた。
【０１０１】
同様に、RNNPB#4には、パターンP#2の時系列データにノイズN#1を重畳して得られる時系列データを、RNNPB#5には、パターンP#2の時系列データにノイズN#2を重畳して得られる時系列データを、RNNPB#6には、パターンP#2の時系列データにノイズN#3を重畳して得られる時系列データを、それぞれ、学習データとして与え、RNNPB#7には、パターンP#3の時系列データにノイズN#1を重畳して得られる時系列データを、RNNPB#8には、パターンP#3の時系列データにノイズN#2を重畳して得られる時系列データを、RNNPB#9には、パターンP#3の時系列データにノイズN#3を重畳して得られる時系列データを、それぞれ、学習データとして与えた。
【０１０２】
なお、更新学習は、入力データxtに対してRNNPBが出力する出力データとしての、入力データxt+1の予測値x*t+1の、入力データxt+1に対する誤差（予測誤差）を小さくするように行った。
【０１０３】
図５上から１番目は、学習後のRNNPB#1ないしRNNPB#9に、学習時に与えられた学習データを入力データとして与えたときに、RNNPB#1ないしRNNPB#9それぞれが出力する出力データ(output)と、その出力データの予測誤差(error)とを示している。
【０１０４】
図５上から１番目において、予測誤差は、ほぼ0になっており、したがって、RNNPB#1ないしRNNPB#9は、入力データ、つまり、学習時に与えられた学習データとほぼ一致する出力データを出力する。
【０１０５】
図５上から２番目は、学習後のRNNPB#1ないしRNNPB#9が、図５上から１番目に示した出力データを出力するときの、３つのコンテキストの時間変化を示している。
【０１０６】
また、図５上から３番目は、学習後のRNNPB#1ないしRNNPB#9が、図５上から１番目に示した出力データを出力するときの、２つのPB（以下、適宜、２つのPBそれぞれを、PB#1，PB#2と記載する）の時間変化を示している。
【０１０７】
図６は、学習後のRNNPB#1ないしRNNPB#9のうちの、例えば、５番目のRNNPB#5が、各値のPB#1，PB#2に対して出力する出力データを示している。
【０１０８】
なお、図６では、横軸がPB#1を表し、縦軸がPB#2を表している。
【０１０９】
図６によれば、RNNPB#5は、PB#1が0.6程度のときに、学習時に与えられた学習データとほぼ一致する出力データを出力しており、これにより、RNNPB#5は、学習時に与えられた学習データのパターンP#2を獲得していることが分かる。
【０１１０】
また、RNNPB#5は、PB#1が0.6より小さいときに、RNNPB#1ないしRNNPB#3に学習させたパターンP#1や、RNNPB#7ないしRNNPB#9に学習させたパターンP#3に類似する時系列データを出力しており、これにより、RNNPB#5が、RNNPB#1ないしRNNPB#3が獲得したパターンP#1や、RNNPB#7ないしRNNPB#9が獲得したパターンP#3の影響を受け、いわば、RNNPB#5に対して学習時に与えられた学習データのパターンP#2が、RNNPB#1ないしRNNPB#3が獲得したパターンP#1や、RNNPB#7ないしRNNPB#9が獲得したパターンP#3の方向に変形していくときに現れる中間のパターンをも獲得していることが分かる。
【０１１１】
さらに、RNNPB#5は、PB#1が0.6より大であるときに、９個のRNNPB#1ないしRNNPB#9のいずれにも学習させていないパターンの時系列データを出力しており、これにより、RNNPB#5が、RNNPB#1ないしRNNPB#3が獲得したパターンP#1や、RNNPB#7ないしRNNPB#9が獲得したパターンP#3の影響を受け、いわば、RNNPB#5に対して学習時に与えられた学習データのパターンP#2が、RNNPB#1ないしRNNPB#3が獲得したパターンP#1や、RNNPB#7ないしRNNPB#9が獲得したパターンP#3の方向とは逆方向に変形していくときに現れるパターンをも獲得していることが分かる。
【０１１２】
次に、図７は、９個のRNNPB#1ないしRNNPB#9それぞれのウエイトマトリクスどうしの相関としての距離、すなわち、例えば、ウエイトマトリクスを構成する各ウエイトをコンポーネントとするベクトルの空間における、そのベクトルどうしの距離を表す長方形状のマップを示している。
【０１１３】
なお、ウエイトマトリクスどうしの距離が小であるほど、その２つのウエイトマトリクスどうしの相関が高い。
【０１１４】
図７のマップでは、横軸と縦軸のそれぞれに、９個のRNNPB#1ないしRNNPB#9それぞれのウエイトマトリクスをとって、その横軸のウエイトマトリクスと、縦軸のウエイトマトリクスとの距離が、濃淡で示されており、濃い（黒い）部分ほど、距離が小であることを表す（淡い（白い）部分ほど、距離が大であることを表す）。
【０１１５】
図７において、横×縦が５×３個のマップのうちの、左上のマップは、学習の回数が0回目であるときのウエイトマトリクスどうしの距離、すなわち、初期化がされたウエイトマトリクスどうしの距離を示しており、マップにおいて、対角線上に並ぶ、同一のRNNPB#iのウエイトマトリクスどうしの距離だけが小になっている。
【０１１６】
以下、図７では、右に行くほど、そして、下に行くほど、学習が進行したときのマップが示されており、右下のマップが、学習の回数が1400回目であるときのウエイトマトリクスどうしの距離を示している。
【０１１７】
図７によれば、学習が進行するにつれ、同一のパターンP#1の時系列データを学習したRNNPB#1ないしRNNPB#3のウエイトマトリクスどうしの距離、同一のパターンP#2の時系列データを学習したRNNPB#4ないしRNNPB#6のウエイトマトリクスどうしの距離、及び、同一のパターンP#3の時系列データを学習したRNNPB#7ないしRNNPB#9のウエイトマトリクスどうしの距離が小さくなることが分かる。
【０１１８】
図８は、図５ないし図７の場合とは別の時系列データを用いて学習を行ったRNNPBのウエイトマトリクスどうしの相関としての距離を表す、図７と同様のマップを示している。
【０１１９】
なお、図８のマップを作成するシミュレーションでは、図９に示す５種類のパターンP#1,P#2,P#3,P#4,P#5の時系列データのそれぞれに、異なる４つのノイズN#1,N#2,N#3,N#4のそれぞれを重畳して得られる２０個の時系列データを用意し、各時系列データを、１つのRNNPBに学習させた。したがって、図８のマップを作成するシミュレーションで用いたRNNPBは、２０個のRNNPB#1ないしRNNPB#20である。
【０１２０】
また、学習では、RNNPB#1ないしRNNPB#4には、パターンP#1の時系列データを、RNNPB#5ないしRNNPB#8には、パターンP#2の時系列データを、RNNPB#9ないしRNNPB#12には、パターンP#3の時系列データを、RNNPB#13ないしRNNPB#16には、パターンP#4の時系列データを、RNNPB#17ないしRNNPB#20には、パターンP#5の時系列データを、それぞれ与えた。
【０１２１】
図８左の５×３個のマップは、共有が弱い場合、すなわち、20個のRNNPB#1ないしRNNPB#20のウエイトマトリクスw1ないしw20それぞれに、その２０個のウエイトマトリクスw1ないしw20のすべてを影響させる度合いが小さい場合、具体的には、式（２）の係数αiが小である場合（αiがほぼ0である場合）のマップを示している。
【０１２２】
また、図８右の５×３個のマップは、共有が強い場合、すなわち、20個のRNNPB#1ないしRNNPB#20のウエイトマトリクスw1ないしw20それぞれに、その２０個のウエイトマトリクスw1ないしw20のすべてを影響させる度合いが大きい場合、具体的には、式（１）の係数αiが小でない場合のマップを示している。
【０１２３】
共有が弱い場合も強い場合も、学習の回数が0回目であるときの左上のマップでは、対角線上に並ぶ、同一のRNNPB#iのウエイトマトリクスどうしの距離だけが小になっている。
【０１２４】
そして、共有が弱い場合には、図８左に示すように、学習が進行しても、ウエイトマトリクスどうしの距離に、特に傾向は現れないが、共有が強い場合には、図８右に示すように、同一のパターンの時系列データを学習したRNNPBの間で、ウエイトマトリクスどうしの距離が小さくなることが分かる。
【０１２５】
したがって、共有処理によって、複数の学習モジュールをまたいで分散表現が形成され、複数のRNNPBが汎化特性を有するようになっていることが分かる。
【０１２６】
なお、モデル学習部１２iによるモデルパラメータの更新学習の方法、及び、モデルパラメータ共有部２０による共有処理の方法は、上述した方法に限定されるものではない。
【０１２７】
また、本実施の形態では、モデルパラメータ共有部２０による共有処理において、N個の学習モジュール１０1ないし１０Nのすべてに、モデルパラメータとしてのウエイトマトリクスを共有させるようにしたが、その他、例えば、N個の学習モジュール１０1ないし１０Nのうちの一部だけに、モデルパラメータとしてのウエイトマトリクスを共有させることが可能である。
【０１２８】
さらに、本実施の形態では、モデルパラメータ共有部２０による共有処理において、学習モジュール１０iに、複数のモデルパラメータとしての、ウエイトマトリクスを構成する複数のウエイトすべてを共有させるようにしたが、共有処理では、ウエイトマトリクスを構成する複数のウエイトすべてではなく、そのうちの一部のウエイトだけを共有させるようにすることが可能である。
【０１２９】
また、N個の学習モジュール１０1ないし１０Nのうちの一部だけに、ウエイトマトリクスを構成する複数のウエイトのうちの一部のウエイトだけを共有させることも可能である。
【０１３０】
なお、図１の学習装置は、モデルパラメータ共有部２０が、複数の学習モジュール１０1ないし１０Nに、モデルパラメータを共有させる、つまり、各学習モジュール１０iにおけるパターン学習モデルとしてのRNNPB#iのモデルパラメータであるウエイトマトリクスwiに、学習モジュール１０1ないし１０NそれぞれにおけるRNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNを影響させる点で、RNNの学習時に、２つのRNNのコンテキストどうしの誤差に基づいて、その２つのRNNのコンテキストを変化させる、つまり、各RNNのコンテキストに、２つのRNNのコンテキストを影響させる特許文献１に記載の技術と共通する。
【０１３１】
しかしながら、図１の学習装置では、影響を受けるのが、モデルパラメータであるウエイトマトリクスである点で、モデルパラメータではなく、内部状態であるコンテキストが影響を受ける特許文献１に記載の技術と相違する。
【０１３２】
すなわち、例えば、関数で表現されるパターン学習モデルを例にすれば、パターン学習モデルのモデルパラメータは、そのパターン学習モデルを表現する関数を定義する、学習によって求められる定数（例えば、入力がuと、出力がyと、内部状態がxと、それぞれ表されるシステムをモデル化する状態方程式y=Cx+Du、及びx'=Ax+Bu（x'はxの微分を表す）を例にすれば、A,B,C,Dにあたる）であり、そもそも定数ではない内部状態（状態方程式の例では、内部状態x）とは異なる。
【０１３３】
同様に、図１の学習装置は、各学習モジュール１０iにおけるパターン学習モデルとしてのRNNPB#iのモデルパラメータであるウエイトマトリクスwiに、学習モジュール１０1ないし１０NそれぞれにおけるRNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNを影響させる点で、RNNPBの学習時に、２つのRNNPBのPBどうしの差に基づいて、その２つのRNNPBのPBを変化させる、つまり、各RNNPBのPBに、２つのRNNPBのPBを影響させる非特許文献１に記載の技術と共通する。
【０１３４】
しかしながら、図１の学習装置では、影響を受けるのが、モデルパラメータであるウエイトマトリクスである点で、モデルパラメータではなく、内部状態である（あるいは、内部状態に相当する）PBが影響を受ける非特許文献１に記載の技術と相違する。
【０１３５】
すなわち、上述したように、パターン学習モデルのモデルパラメータとは、パターン学習モデルを表現する関数を定義する、学習によって求められる定数であり、定数ではない内部状態とは異なる。
【０１３６】
そして、モデルパラメータは、パターン学習モデルを表現する関数を定義する、学習によって求められる定数であるがゆえに、学習時は、学習をしようとするパターンに対応する値になるように更新（変更）されるが、出力データを生成するとき（パターン学習モデルとしてのRNNPBの入力層に入力データを入力し、その入力データに対応する出力データを、RNNPBの出力層から出力するとき）には、変更されない。
【０１３７】
一方、特許文献１に記載の技術が対象としているコンテキスト、及び、非特許文献１に記載の技術が対象としているPBは、モデルパラメータとは異なる内部状態であるがゆえに、学習時は勿論、出力データを生成するときも変更される。
【０１３８】
以上のように、図１の学習装置は、特許文献１及び非特許文献１に記載の技術のいずれとも相違し、その結果、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができる。
【０１３９】
すなわち、図１の学習装置では、例えば、図１０に示すように、RNNPBなどのパターン学習モデルのモデルパラメータを共有させる。
【０１４０】
その結果、図１の学習装置によれば、図１１に示すように、規模拡張性に優れるが、汎化特性に欠ける「局所表現」スキームと、汎化特性があるが、規模拡張性に欠ける「分散表現」スキームとの２種類の学習の両方の長所を有する、いわば「中間表現」スキームの学習を行い、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができる。
【０１４１】
ところで、学習装置がN個の学習モジュール１０1ないし１０Nで構成されている場合に、新たな学習モジュールを追加する必要があると判断するかが難しいという問題がある。
【０１４２】
即ち、新しい学習データ（学習サンプル）が供給された場合に、その供給された学習データが、既存のパターン学習モデルで学習済みの時系列パターンに類似するものであるので、既存のN個の学習モジュール１０1ないし１０Nのいずれかの学習モジュールに更新学習させれば済むものであるのか、あるいは、N個の学習モジュール１０1ないし１０Nで学習済みの時系列パターンのいずれにも類似するものではないので、新たな学習モジュールを追加して学習させるべきものであるのかを判断することは難しい。
【０１４３】
規模拡張性に優れ、必要に応じて学習モジュールを追加して学習するようにしたモジュール型学習においては、例えば、既存の学習モジュールに対する新しい学習モジュールの新規性を数値で表し、その数値で表された新しい学習モジュールの新規性が所定の閾値を超えた場合に、新しい学習モジュールを追加するという手法が採用されている。
【０１４４】
しかしながら、上述した手法では、学習モジュールの追加を決定する基準となる閾値の設定が困難であり、設定を間違えると、本来は別々の学習モジュールに学習させるべき学習データを１つの学習モジュールが学習してしまったり、反対に、１つの学習モジュールに学習させるべき学習データを別々の学習モジュールが学習してしまうという問題があった。
【０１４５】
そこで、以下では、上述したモデルパラメータの共有処理によって、類似するモデルパラメータは、その距離が小さくなるという特性を生かして、学習モジュール追加の要否を判断する必要がなく、学習モジュールを追加しての学習（追加学習）ができるとともに、学習モジュール数の不要な増加も抑制することができるようにした実施の形態について説明する。
【０１４６】
図１２は、本発明を適用した学習装置の一実施の形態の構成例を示している。
【０１４７】
図１２において、上述した図１の学習装置と対応する部分については同一の符号を付してあり、その説明は省略する。
【０１４８】
即ち、図１２の学習装置１０１は、図１の学習装置と同様の構成を有するパターン学習部１１１と、学習モジュールの管理を行う学習モジュール管理部１１２とにより構成されている。
【０１４９】
パターン学習部１１１は、学習モジュール管理部１１２により制御された学習モジュール数であるN個の学習モジュール１０1ないし１０Nにより、パターン学習モデルの複数のモデルパラメータ（学習リソース）を学習（更新）する更新学習を行う。
【０１５０】
学習モジュール管理部１１２は、モジュール作成部１２１、類似性評価部１２２、およびモジュール統合部１２３から構成され、パターン学習部１１１の学習モジュール１０1ないし１０Nの個数（N）を制御する。
【０１５１】
モジュール作成部１２１は、学習装置１０１のパターン学習部１１１に新しい学習データが供給された場合に、その新しい学習データに対応する新たな学習モジュールを無条件にパターン学習部１１１に作成（追加）する。
【０１５２】
類似性評価部１２２は、パターン学習部１１１の各学習モジュール間の類似性を評価する。学習モジュール間の類似性の評価としては、例えば、学習モジュール間のモデルパラメータのユークリッド距離（以下、パラメータ距離と称する）を採用することができる。
【０１５３】
具体的には、学習モジュール１０1と学習モジュール１０2のパラメータ距離Dparameter（1,2）は、式（４）で計算することができる。なお、式（４）におけるｋは、学習モジュール１０1および１０2のモデルパラメータを識別する変数であり、例えば、ｐ1,kは、学習モジュール１０1のk番目（k≦Q）のモデルパラメータを表す。
【０１５４】
【数４】
2010020445.tif 000006
【０１５５】
時系列パターンに対してパターン学習モデルのモデルパラメータが一意に決まるような冗長性の低いパターン学習モデルであれば、パターン学習モデルの類似性の評価にパラメータ距離を用いることは容易に想像できるが、例えば、ニューラルネット（RNN）などのように冗長性の高いパターン学習モデルにおいて、パラメータ距離をパターン学習モデルの類似性の評価に用いることができるのは、上述した共有学習処理により、類似した時系列パターンを学習する学習モジュール間では、パラメータ距離が小さくなるという特性を有しているからである。
【０１５６】
モジュール統合部１２３は、類似性評価部１２２が求めた学習モジュール間の類似性に基づいて、学習モジュールの統合の可否を判定する。そして、統合することができると判定した学習モジュールがある場合には、モジュール統合部１２３は、それらの統合を行う。
【０１５７】
次に、図１３のフローチャートを参照して、図１２の学習装置１０１による、学習モジュールの追加をともなう学習である追加学習処理について説明する。
【０１５８】
パターン学習部１１１に新しい学習データが供給されると、ステップＳ４１において、モジュール作成部１２１は、新しい学習データに対して新たな学習モジュールをパターン学習部１１１に作成する。以下では、新たな学習モジュールを追加した後の学習モジュールの個数がN個であるとする。
【０１５９】
ステップＳ４２において、パターン学習部１１１は、ステップＳ４１の処理により追加された新しい学習モジュールを含めて、学習処理を行う。この学習処理は、図２を参照して説明した学習処理と同様であるので、その詳細な説明は省略する。
【０１６０】
ステップＳ４３において、学習モジュール管理部１１２は、学習モジュール間の類似性に基づいて、学習モジュールを統合する統合処理を行う。統合処理の詳細は、図１４を参照して後述する。
【０１６１】
ステップＳ４４において、新しい学習データがあるか、即ち、パターン学習部１１１に供給された学習データのなかで、まだ学習処理に含めていない学習データがあるかを判定する。新しい学習データがあると判定された場合、処理はステップＳ４１に戻り、ステップＳ４１乃至Ｓ４４の処理が繰り返される。一方、新しい学習データがないと判定された場合、追加学習処理は終了する。
【０１６２】
次に、図１４のフローチャートを参照して、図１３のステップＳ４３における統合処理の詳細について説明する。
【０１６３】
統合処理では、初めに、ステップＳ６１において、類似性評価部１２２が、学習モジュール間の類似性を評価する。即ち、類似性評価部１２２は、各学習モジュール間のパラメータ距離を、N個の学習モジュール１０1ないし１０Nのすべての組み合わせについて求める。
【０１６４】
ステップＳ６２において、モジュール統合部１２３は、類似性評価部１２２が求めた各学習モジュール間の類似性（学習モジュール間のパラメータ距離）に基づいて、統合すべき学習モジュールがあるかを判定する。具体的には、モジュール統合部１２３は、ステップＳ６１で求めたパラメータ距離が所定の閾値Dthresholdより小さいものがある場合に、そのパラメータ距離が得られた２つの学習モジュールは、統合すべき学習モジュールであるとして、統合すべき学習モジュールがあると判定する。
【０１６５】
ステップＳ６２で、統合すべき学習モジュールがあると判定された場合、処理はステップＳ６３に進み、モジュール統合部１２３は、統合すべきと判定された学習モジュールを統合する。具体的には、モジュール統合部１２３は、統合対象の２つの学習モジュールのモデルパラメータの平均値を計算し、その値を、統合後に存続させる一方の学習モジュールのモデルパラメータに設定し、他方の学習モジュールをパターン学習部１１１から削除する。
【０１６６】
なお、学習が十分に進んでいない学習モジュールを統合するのは適当ではないため、統合すべきと判定された各学習モジュールが、十分学習された状態であることを確認した上で、学習モジュールを統合する必要がある。統合対象の２つの学習モジュールが十分学習された状態であるかを判断するには、統合すべきと判定された２つの学習モジュールの学習スコアが十分学習された状態であることを表す所定の閾値以上であることを確認するか、または、各学習モジュールの学習スコアが所定の閾値以上であることを確認した上で、学習モジュール間の類似性を判断すればよい。
【０１６７】
一方、ステップＳ６２で、統合すべき学習モジュールがないと判定された場合、ステップＳ６３の処理はスキップして統合処理は終了する（図１３の追加学習処理に戻る）。
【０１６８】
次に、パターン学習モデルとしてRNNを採用した場合について説明する。RNNは、入力層にPBユニットを有していない点のみがRNNPBと異なり、それ以外の更新学習等はRNNPBと同様に行うことができる。
【０１６９】
パターン学習モデルとしてRNNを採用した場合、図１２の学習装置１０１の構成例を示すブロック図は、図１２のパターン学習部１１１が図３に示したようになる。但し、図３のRNNPB#iが、PBユニットを持たないRNN#iに置き換わる。
【０１７０】
また、パターン学習モデルとしてRNNを採用した場合の追加学習処理のフローチャートは、図１３のステップＳ４１で作成する学習モジュールがRNNとなるので、ステップＳ４２の学習処理がRNNPB#iをRNN#iに置き換えた図４の学習処理となり、ステップＳ４３の統合処理が図１５に示す処理となる。
【０１７１】
そこで、図１５のフローチャートを参照して、パターン学習モデルとしてRNNを採用した場合の、図１３のステップＳ４３における統合処理について説明する。
【０１７２】
ステップＳ８１において、類似性評価部１２２は、学習モジュール間の類似性を評価する。RNNでは、ウエイトがモデルパラメータであるので、類似性評価部１２２は、ウエイトマトリクスのユークリッド距離（以下、ウエイト距離と称する）を、RNN間の類似性の評価として採用する。
【０１７３】
例えば、RNN#1のウエイトマトリクスw1の各ウエイトをw1,k,l（1≦k≦Q，1≦l≦R）、RNN#2のウエイトマトリクスw2の各ウエイトをw2,k,lとしたとき、RNN#1とRNN#2のウエイト距離Dweight（1,2）は、式（５）で表すことができる。
【０１７４】
【数５】
2010020445.tif 000007
【０１７５】
類似性評価部１２２は、各RNN間のウエイト距離を、N個の学習モジュール１０1ないし１０N（RNN#1ないしRNN#N）のすべての組み合わせについて求める。
【０１７６】
ステップＳ８２において、モジュール統合部１２３は、類似性評価部１２２が求めた各RNN間の類似性に基づいて、統合すべき学習モジュールがあるかを判定する。すなわち、モジュール統合部１２３は、ステップＳ８１で求めたウエイト距離が所定の閾値Dthresholdより小さいものがある場合に、そのウエイト距離が得られた２つの学習モジュールは、統合すべき学習モジュールであるとして、統合すべき学習モジュールがあると判定する。
【０１７７】
ステップＳ８２で、統合すべき学習モジュールがあると判定された場合、処理はステップＳ８３に進み、モジュール統合部１２３は、統合すべきと判定された学習モジュール（RNN）を統合する。具体的には、モジュール統合部１２３は、統合対象の２つのRNNのウエイトマトリクスの平均値を計算し、その値を、統合後に存続させる一方のRNNのウエイトマトリクスに設定し、他方のRNNをパターン学習部１１１から削除する。
【０１７８】
パターン学習モデルがRNNである場合においても、統合対象の２つのRNNが十分学習された状態であることを確認する必要がある。RNNでは、例えば、学習誤差が所定の閾値以下であるかを判断することで、RNNが十分学習された状態であることを確認してから、統合対象の２つのRNNを統合する。
【０１７９】
一方、ステップＳ８２で、統合すべき学習モジュールがないと判定された場合、ステップＳ８３の処理はスキップして統合処理は終了する（図１３の追加学習処理に戻る）。
【０１８０】
図１６および図１７は、学習装置１０１による追加学習処理を概念的に示した図である。
【０１８１】
図１６は、１回の追加学習処理に対して１つの新しい学習データが供給され、図１３の追加学習処理を１回行うごとに、１つの新たな学習モジュールをモジュール作成部１２１が追加していく処理を概念的に示した図である。
【０１８２】
新しい学習データDAT1がパターン学習部１１１に供給されると、第１回目の追加学習処理が実行され、学習モジュール作成部１２１は、その学習データDAT1に対する学習モジュール１０1を新たに作成する。
【０１８３】
次に、新しい学習データDAT2がパターン学習部１１１に供給されると、第２回目の追加学習処理が実行され、学習モジュール作成部１２１は、その学習データDAT2に対する学習モジュール１０2を新たに作成する。さらに、新しい学習データDAT3がパターン学習部１１１に供給されると、第３回目の追加学習処理が実行され、学習モジュール作成部１２１は、その学習データDAT3に対する学習モジュール１０3を新たに作成する。以下同様にして、新しい学習データDAT5がパターン学習部１１１に供給されると、第５回目の追加学習処理が実行され、学習モジュール作成部１２１は、その学習データDAT5に対する学習モジュール１０5を新たに作成する。
【０１８４】
第１回目ないし第５回目の各追加学習処理では、図１３を参照して説明したように、追加された学習モジュールを含めて学習処理（ステップＳ４２の処理）が行われ、続いて、統合処理（ステップＳ４３の処理）が行われる。
【０１８５】
そして、第１回目ないし第４回目の各追加学習処理においては、統合すべき学習モジュールがないと判定され、第５回目の追加学習処理において、学習モジュール１０1と学習モジュール１０5を統合することができると判定されたとする。
【０１８６】
図１７は、学習モジュール１０1と学習モジュール１０5を統合する場合の処理を概念的に示した図である。
【０１８７】
第５回目の追加学習処理において、学習処理終了後、モジュール統合部１２３が、類似性評価部１２２が求めた各学習モジュール間の類似性に基づいて、統合すべき学習モジュールがあるかを判定したところ、学習モジュール１０1と学習モジュール１０5は統合することができるという判定結果が得られたとする。すなわち、学習モジュール１０1と学習モジュール１０5のパラメータ距離Dparameter（1,5）が、閾値Dthresholdより小さいという結果が得られたとする。
【０１８８】
この場合、モジュール統合部１２３は、学習モジュール１０1のモデルパラメータP1と、学習モジュール１０5のモデルパラメータP5の平均値を計算し、その平均値を統合後の学習モジュール１０1のモデルパラメータP1に設定するとともに、学習モジュール１０5をパターン学習部１１１から削除する。
【０１８９】
なお、図１７は、２つの学習モジュール１０1と学習モジュール１０5を１つの学習モジュール１０1に統合する例であるが、統合する学習モジュールの数は２つに限定されない。例えば、３つの学習モジュールが互いに閾値Dthresholdより小さいと判定された場合には、その３つの学習モジュールを１つの学習モジュールに統合してもよい。この場合、統合後の学習モジュールのモデルパラメータは、統合対象の３つの学習モジュールのモデルパラメータの平均値とすることができる。
【０１９０】
図１７に示される学習モジュール１０iのモデルパラメータPiは、式（４）のｐi,1乃至ｐi,Q全体を表し、モデルパラメータP1とモデルパラメータP5の平均値とは、ｐ1,1とｐ5,1の平均値、ｐ1,2とｐ5,2の平均値、ｐ1,3とｐ5,3の平均値、ｐ1,4とｐ5,4の平均値、・・・・・ｐ1, Qとｐ5, Qの平均値を、それぞれ、統合後のｐ1,1，ｐ1,2，ｐ1,3，ｐ1,4，・・・・・，ｐ1, Qとすることを表している。なお、平均値以外の演算結果を、統合後に存続させる学習モジュールのモデルパラメータに設定してもよい。すなわち、統合後に存続させる学習モジュールのモデルパラメータを、統合対象の複数の学習モジュールのモデルパラメータの平均値以外の演算によって求めることが可能である。
【０１９１】
以上のように、図１２の学習装置１０１によれば、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができるとともに、新しい学習データ（学習サンプル）が供給された場合に、その新しい学習データに対して、モジュール作成部１２１が無条件に新たな学習モジュールを作成（追加）するので、学習モジュール追加の要否を判断する必要がない。また、学習（更新学習）処理後、類似性の高い学習モジュールどうしについては統合するので、学習モジュール数の不要な増加を抑制することができる。
【０１９２】
なお、学習装置１０１に供給された新しい学習データに対応して、学習モジュールを作成する場合に、その作成する学習モジュールのモデルパラメータの初期値は、乱数等によって決定された値を与えるようにしてもよいし、既存の全学習モジュールのモデルパラメータの平均値を与えるようにすることもできる。既存の全学習モジュールのモデルパラメータの平均値を、追加した学習モジュールのモデルパラメータの初期値として与えた場合には、例えば、乱数等によって与えた場合のように、既存の学習モジュールのモデルパラメータとは関係なく初期値が与えられたときと比較して、追加された学習モジュールが、既存の各学習モジュールが有するパターンの共通性を既に有している状態となるので、高速に学習することができる。
【０１９３】
上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１９４】
そこで、図１８は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１９５】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク２０５やROM２０３に予め記録しておくことができる。
【０１９６】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体２１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体２１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０１９７】
なお、プログラムは、上述したようなリムーバブル記録媒体２１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部２０８で受信し、内蔵するハードディスク２０５にインストールすることができる。
【０１９８】
コンピュータは、CPU(Central Processing Unit)２０２を内蔵している。CPU２０２には、バス２０１を介して、入出力インタフェース２１０が接続されており、CPU２０２は、入出力インタフェース２１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部２０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)２０３に格納されているプログラムを実行する。あるいは、また、CPU２０２は、ハードディスク２０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部２０８で受信されてハードディスク２０５にインストールされたプログラム、またはドライブ２０９に装着されたリムーバブル記録媒体２１１から読み出されてハードディスク２０５にインストールされたプログラムを、RAM(Random Access Memory)２０４にロードして実行する。これにより、CPU２０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU２０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース２１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部２０６から出力、あるいは、通信部２０８から送信、さらには、ハードディスク２０５に記録等させる。
【０１９９】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０２００】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０２０１】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０２０２】
即ち、本発明は、ある特定の空間パターン、時系列シーケンス及びパターンに特化した方法ではない。したがって、コンピュータのユーザインタフェースにおけるユーザ入力のパターン、ロボットのセンサ入力及びモータ出力のパターン、音楽データに関するパターン、画像データに関するパターン、言語処理における音素、単語、センテンスなどのパターンの学習及び学習結果に基づくパターンの予測や分類に適用することができる。
【図面の簡単な説明】
【０２０３】
【図１】本発明を適用する学習装置の基本となる学習装置の一実施の形態の構成例を示すブロック図である。
【図２】図１の学習装置の学習処理を説明するフローチャートである。
【図３】パターン学習モデルとしてRNNPBを採用した場合の図１の学習装置の構成例を示すブロック図である。
【図４】パターン学習モデルとしてRNNPBを採用した場合の図１の学習装置の学習処理を説明するフローチャートである。
【図５】シミュレーションの結果を示す図である。
【図６】シミュレーションの結果を示す図である。
【図７】シミュレーションの結果を示す図である。
【図８】シミュレーションの結果を示す図である。
【図９】シミュレーションに用いた時系列データを示す図である。
【図１０】RNNPBのモデルパラメータの共有を模式的に示す図である。
【図１１】「局所表現」スキーム、「分散表現」スキーム、及び「中間表現」スキームの学習の関係を模式的に示す図である。
【図１２】本発明を適用した学習装置の一実施の形態の構成例を示すブロック図である。
【図１３】図１２の学習装置の追加学習処理を説明するフローチャートである。
【図１４】図１３の統合処理を説明するフローチャートである。
【図１５】パターン学習モデルとしてRNNを採用した場合の図１３の統合処理を説明するフローチャートである。
【図１６】新たな学習モジュールを追加する処理を概念的に示した図である。
【図１７】学習モジュールを統合する処理を概念的に示した図である。
【図１８】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０２０４】
１０1ないし１０N  学習モジュール，  １１1ないし１１N  パターン入力部，  １２1ないし１２N  モデル学習部，  １３1ないし１３N  モデル記憶部，  ２０  モデルパラメータ共有部，  ２１  ウエイトマトリクス共有部，  １０１  学習装置，  １１１  パターン学習部，  １１２  学習モジュール管理部，  １２１  モジュール作成部，  １２２  類似性評価部，  １２３  モジュール統合部，  ２０１  バス，  ２０２  CPU，  ２０３  ROM，  ２０４  RAM，  ２０５  ハードディスク，  ２０６  出力部，  ２０７  入力部，  ２０８  通信部，  ２０９  ドライブ，  ２１０  入出力インタフェース，  ２１１  リムーバブル記録媒体
【図１】
2010020445.tif 000008
【図２】
2010020445.tif 000009
【図３】
2010020445.tif 000010
【図４】
2010020445.tif 000011
【図５】
2010020445.tif 000012
【図６】
2010020445.tif 000013
【図７】
2010020445.tif 000014
【図８】
2010020445.tif 000015
【図９】
2010020445.tif 000016
【図１０】
2010020445.tif 000017
【図１１】
2010020445.tif 000018
【図１２】
2010020445.tif 000019
【図１３】
2010020445.tif 000020
【図１４】
2010020445.tif 000021
【図１５】
2010020445.tif 000022
【図１６】
2010020445.tif 000023
【図１７】
2010020445.tif 000024
【図１８】
2010020445.tif 000025
【手続補正書】
【提出日】平成21年7月10日(2009.7.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００７０
【補正方法】変更
【補正の内容】
【００７０】
したがって、式（２）の右辺のサメーションΣβij(wj-wi)は、係数βijを重みとした、RNNPB#iのウエイトマトリクスwiに対するRNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNそれぞれの偏差（差分）の重み付け平均値を表し、αiは、その重み付け平均値Σβij(wj-wi)を、ウエイトマトリクスwiに影響させる度合いを表す係数である。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１００
【補正方法】変更
【補正の内容】
【０１００】
また、RNNPB#1には、パターンP#1の時系列データにノイズN#1を重畳して得られる時系列データを、RNNPB#2には、パターンP#1の時系列データにノイズN#2を重畳して得られる時系列データを、RNNPB#3には、パターンP#1の時系列データにノイズN#3を重畳して得られる時系列データを、それぞれ、学習データとして与えた。