(57)【要約】【課題】規模拡張性があり、かつ、汎化特性を有するパターン学習モデルを得ることができるようにする。【解決手段】学習モジュール１０1ないし１０Nは、入力データを用いて、パターン学習モデルの複数のモデルパラメータを更新する更新学習を行う。モデルパラメータ共有部２０は、学習モジュール１０1ないし１０Nに、モデルパラメータを共有させる。共有強度制御部１１２は、学習モジュール１０1ないし１０Nそれぞれについて、学習モジュール１０jから学習モジュール１０iへの影響の強さを表す共有強度βijを、更新学習により複数のモデルパラメータを更新したとき学習モジュール１０iの学習誤差Eiを最小化するように更新する。本発明は、例えば、時系列パターンの学習等に適用できる。【選択図】図１２
2010020444.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を補正する。
【００６６】
【数１】
2010020444.tif 000003
【００６７】
ここで、式（１）において、△wiは、ウエイトマトリクスwiを補正する補正成分であり、例えば、式（２）に従って求められる。
【００６８】
【数２】
2010020444.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の補正の方法は、式（１）に限定されるものではなく、例えば、式（３）に従って行うことが可能である。
【００７４】
【数３】
2010020444.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などのパターン学習モデルのモデルパラメータを共有させる。
【０１４０】
その結果、図１の学習装置によれば、図１１に示すように、規模拡張性に優れるが、汎化特性に欠ける「局所表現」スキームと、汎化特性があるが、規模拡張性に欠ける「分散表現」スキームとの２種類の学習の両方の長所を有する、いわば「中間表現」スキームの学習を行い、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができる。
【０１４１】
ところで、上述した実施の形態においては、パターン学習モデルとしてRNNPBを採用した場合の係数βijに相当する、学習モジュール間のモデルパラメータの共有の強度（以下、共有強度とも称する）を、ユーザが決定し、設定する必要があるが、この共有強度を、最適に設定することが難しいという問題がある。
【０１４２】
すなわち、設定した共有強度が強すぎると、学習モジュール間の共通化が促進され汎化性能は高くなるが、各学習モジュールの独立性は弱くなり学習が進まない（学習に時間がかかる）。反対に、設定された共有強度が弱すぎると、学習モジュールの共通化が進まず、図１の学習装置の特徴の１つである汎化特性が弱くなり、各学習モジュールが独立に学習することと、さほど差がなくなってしまうという問題がある。
【０１４３】
パターンの学習では、理想的には、類似するパターンを学習する学習モジュールどうしについては共有強度を強く設定し、類似しないパターンを学習する学習モジュールとの共有強度は弱く設定したい。しかしながら、パターン間の類似性は、学習する前にはわからないので、そのように設定することが難しいという側面がある。
【０１４４】
そこで、次に、そのような問題を解決する学習装置について説明する。すなわち、学習モジュール間の共有強度が、類似するパターンを学習する学習モジュールに対しては強く、類似しないパターンを学習する学習モジュールに対しては弱くなるように、学習の過程で動的に変化（制御）させることができるようにした学習装置の実施の形態について説明する。
【０１４５】
なお、以下では、パターン学習モデルとして、RNNPBより一般的な、入力層にPBユニットを持たないRNNを採用し、RNNの上述した係数βijを共有強度として動的に制御する場合を例にした実施の形態について説明する。RNNは、PBユニットを有していない以外は、更新学習等、上述したRNNPBと同様に行うことができるので、上述したRNNPB#iをRNN#iに置きかえて説明する。
【０１４６】
図１２は、本発明を適用した学習装置であって、共有強度（係数βij）の動的制御を可能とする学習装置の一実施の形態の構成例を示している。
【０１４７】
図１２において、上述した図１の学習装置と対応する部分については同一の符号を付してあり、その説明は省略する。
【０１４８】
即ち、図１２の学習装置１０１は、図１の学習装置と同様の構成を有するパターン学習部１１１と、共有強度を制御する共有強度制御部１１２とにより構成されている。
【０１４９】
パターン学習部１１１は、N個の学習モジュール１０1ないし１０Nによって構成され、パターン学習モデルの複数のモデルパラメータ（学習リソース）、即ち、RNN#iのウエイトマトリクスwiを学習（更新）する更新学習を行う。
【０１５０】
共有強度制御部１１２は、パラメータ更新ベクトル取得部１２１、パラメータ差分ベクトル生成部１２２、共有強度更新部１２３、および共有強度記憶部１２４を備え、N個の学習モジュール１０1ないし１０Nそれぞれが学習したときの学習誤差が最小化されるように共有強度を制御（更新）する。
【０１５１】
図１３を参照して、共有強度制御部１１２による共有強度の更新について説明する。
【０１５２】
パターン学習モデルとしてRNNを採用した場合の共有強度である係数βijは、方向性をもつ係数であって、図１３に示されるように、学習モジュール１０jから１０iへの影響の強さを表す係数である。換言すれば、係数βijは、RNN#iのウエイトマトリクスwiに対する、RNN#jのウエイトマトリクスwjの影響の強さを表している。
【０１５３】
共有強度制御部１１２は、学習により学習モジュール１０iのモデルパラメータを更新したときの学習誤差Eiが最小化されるように係数βijを更新する。即ち、係数βijの更新量を△βijとすると、係数βijを更新する式は、次式（４）のように表すことができ、式（４）の更新量△βijは、式（５）のように表すことができる。
【０１５４】
【数４】
2010020444.tif 000006
【数５】
2010020444.tif 000007
【０１５５】
式（５）において、∂Ei/∂βijは、学習誤差Eiが最小化される方向（勾配）を表し、ηは、その最小化される方向に沿って１回あたりどれだけ進むかを表す係数（学習率）を表す。
【０１５６】
ここで、式（５）は、さらに次式（６）のように展開することができる。
【０１５７】
【数６】
2010020444.tif 000008
【０１５８】
式（６）の∂wi/∂△wiは、式（１）を△wiで偏微分した結果であり、１に等しい。また、式（６）の∂△wi/∂βijは、式（２）をβijで偏微分した結果であり、実質的には（wj−wi）のみで表すことができる。したがって、式（５）は、実質的に、式（７）のように表すことができる。
【０１５９】
【数７】
2010020444.tif 000009
【０１６０】
式（７）の∂Ei/∂wiは、学習時のBPTTの過程で求まるウエイトマトリクスwiを更新するときの更新量（更新量ベクトル）を表す。一方、式（７）の（wj−wi）は、ウエイトマトリクスwjからウエイトマトリクスwiを引いた差分ベクトルである。従って、係数βijの更新量△βijは、学習によるウエイトマトリクスwiの更新量ベクトルと、ウエイトマトリクスwjからウエイトマトリクスwiを引いた差分ベクトルの相関（内積）で求められることになる。
【０１６１】
換言すれば、共有強度の更新量は、学習モジュール１０iの学習時のパラメータ更新ベクトル（学習モジュール１０iのモデルパラメータ更新の際の更新量ベクトル）と、学習モジュール１０jのモデルパラメータから学習モジュール１０iのモデルパラメータを引き算することにより得られるモデルパラメータ差分ベクトルの相関（内積）となっている。
【０１６２】
式（７）は、概念的には、学習モジュール１０iに注目したとき、学習モジュール１０jが、自分（学習モジュール１０i）と同じ学習方向の成分をより多く有している場合には、学習モジュール１０jとの共有度合いを強めて、βijを大きくし、学習モジュール１０jが、自分（学習モジュール１０i）と違う学習方向の成分をより多く有している場合には、学習モジュール１０jとの共有度合いを弱めて、βijを小さくすることを表している。
【０１６３】
したがって、共有強度制御部１１２は、学習によりモデルパラメータが更新されるごとに、各学習モジュールについて、モデルパラメータ更新による更新量ベクトルと、モデルパラメータ差分ベクトルの内積を計算し、その結果を用いて、式（４）により共有強度を更新する。
【０１６４】
図１２に戻り、パラメータ更新ベクトル取得部１２１、パラメータ差分ベクトル生成部１２２、共有強度更新部１２３、および共有強度記憶部１２４それぞれの処理を説明する。
【０１６５】
パラメータ更新ベクトル取得部１２１は、学習モジュール１０iの共有強度の更新量を計算するための、学習モジュール１０iのモデルパラメータを学習により更新した際の更新量ベクトルを取得する。RNNを採用したパターン学習モデルでは、パラメータ更新ベクトル取得部１２１は、RNN#iのBPTTの過程で求まった式（７）の∂Ei/∂wiを取得する。
【０１６６】
パラメータ差分ベクトル生成部１２２は、学習モジュール１０iの共有強度の更新量を計算するための、学習モジュール１０iのモデルパラメータと学習モジュール１０jのモデルパラメータをパターン学習部１１１から取得する。そして、パラメータ差分ベクトル生成部１２２は、学習モジュール１０jのモデルパラメータから学習モジュール１０iのモデルパラメータを引き算することにより得られるモデルパラメータ差分ベクトルを生成する。RNNを採用したパターン学習モデルでは、パラメータ差分ベクトル生成部１２２は、ウエイトマトリクスwiとウエイトマトリクスwjを取得し、ウエイトマトリクスwjからウエイトマトリクスwiを引いた差分ベクトル（wj−wi）を生成する。
【０１６７】
共有強度更新部１２３は、パラメータ更新ベクトル取得部１２１が取得したパラメータ更新ベクトルと、パラメータ差分ベクトル生成部１２２が生成したモデルパラメータ差分ベクトルを用いて共有強度を更新する。RNNを採用したパターン学習モデルでは、共有強度更新部１２３は、式（７）により更新量△βijを求め、さらに式（４）により更新後の係数βijを求める。
【０１６８】
共有強度更新部１２３は、更新後の共有強度（係数βij）をパターン学習部１１１の各学習モジュール１０1ないし１０Nに供給するとともに、共有強度記憶部１２４に記憶させる。共有強度記憶部１２４に記憶された共有強度は、次の更新時に共有強度更新部１２３により取得され、式（４）における、現在の共有強度（係数βij）として使用される。
【０１６９】
次に、図１４のフローチャートを参照して、共有強度の動的制御も行う、学習装置１０１の学習処理について説明する。
【０１７０】
ステップＳ４１において、学習モジュール１０iのモデル学習部１２iは、モデル記憶部１３iに記憶されたモデルパラメータを、例えば、乱数等によって初期化する。RNNを採用したパターン学習モデルでは、モデル記憶部１３iに記憶されたRNN#iのモデルパラメータであるウエイトマトリクスwiが、例えば、乱数等によって初期化される。
【０１７１】
なお、ステップＳ４１と後述するステップＳ４３の処理は、上述した図２および図４の学習処理と同様に、N個の学習モジュール１０1ないし１０Nのすべてについて行われる。
【０１７２】
ステップＳ４２において、モデルパラメータ共有部２０は、N個の学習モジュール１０1ないし１０Nのすべてに、モデルパラメータを共有させる共有処理を行う。RNNを採用したパターン学習モデルでは、ウエイトマトリクス共有部２１が、N個の学習モジュール１０1ないし１０Nのすべてに、ウエイトマトリクスw1ないしwNのすべてを共有させる共有処理を行う。
【０１７３】
ステップＳ４３において、学習モジュール１０iが、その学習モジュール１０iで学習すべき学習データが供給（入力）されるのを待って、その学習データを用いて、モデルパラメータを更新する更新学習を行う。
【０１７４】
RNNを採用したパターン学習モデルでは、ステップＳ４３において、モデル学習部１２iが、パターン入力部１１iからの学習データxtを用いて、モデル記憶部１３iに記憶されたRNN#iのウエイトマトリクスwiを更新する更新学習を、例えば、BPTT(Back-Propagation Through Time)法により行い、その更新学習によって得られた新たなモデルパラメータとしてのウエイトマトリクスwiによって、モデル記憶部１３iの記憶内容を更新する。
【０１７５】
ステップＳ４４において、共有強度制御部１１２が、N個の学習モジュール１０1ないし１０Nのすべてについて、学習後のパラメータ更新ベクトルとモデルパラメータ差分ベクトルを用いて、学習モジュール間の共有強度を更新する共有強度の動的制御処理を行う。ステップＳ４４の処理の詳細は、図１５を参照して後述する。
【０１７６】
ステップＳ４４の後、処理はステップＳ４５に進み、学習装置１０１は、学習の終了条件が満たされているかどうかを判定する。
【０１７７】
ステップＳ４５において、学習の終了条件が満たされていないと判定された場合、処理は、ステップＳ４２に戻り、以下、同様の処理が繰り返される。
【０１７８】
また、ステップＳ４５において、学習の終了条件が満たされていると判定された場合、処理は終了する。
【０１７９】
図１４の学習処理では、図２の学習処理と比較すると、モデルパラメータの更新とモデルパラメータの共有処理の順序が逆になっている。即ち、図２の学習処理では、ステップＳ１２で、モデルパラメータの更新を行った後、ステップＳ１３で、パラメータの共有処理を行っているが、図１４の学習処理では、ステップＳ４２で、モデルパラメータの共有処理を行った後、ステップＳ４３で、モデルパラメータの更新を行っている。
【０１８０】
図２の学習処理では、上述したように、ステップＳ１２とステップＳ１３の処理の順番は、どちらが先であってもよいが、共有強度の動的制御も行う学習処理では、図１４に示したように、モデルパラメータの共有処理を行ってから、モデルパラメータの更新を行う方がよい。
【０１８１】
なぜなら、共有強度の動的制御も行う学習処理では、上述したように、共有強度の更新量の計算に、モデルパラメータの更新直後の更新量ベクトルそのままの値を利用することができるからである。換言すれば、モデルパラメータの更新を行ってから、モデルパラメータの共有処理を行った場合には、共有強度の更新量の計算に、モデルパラメータの更新直後の更新量ベクトルそのままの値ではなく、モデルパラメータの共有処理後（共通化後）の更新量ベクトルを利用することになり、更新直後の更新量ベクトルそのままの値との誤差を、共有強度の更新量の計算に含むことになるからである。なお、その誤差が無視できる場合には、図２の学習処理と同様の順番で処理を行ってもよい。
【０１８２】
図１５は、図１４のステップＳ４４における共有強度の動的制御処理の詳細なフローチャートを示している。
【０１８３】
初めに、ステップＳ６１において、パラメータ更新ベクトル取得部１２１は、学習モジュール１０iの学習時のパラメータ更新ベクトル（学習モジュール１０iのモデルパラメータ更新の際の更新量ベクトル）を取得する。RNNを採用したパターン学習モデルでは、パラメータ更新ベクトル取得部１２１は、ステップＳ４３のウエイトマトリクスwiを更新するBPTTの過程で求まった、式（７）の∂Ei/∂wiを取得する。
【０１８４】
ステップＳ６２において、パラメータ差分ベクトル生成部１２２は、学習モジュール１０iのモデルパラメータと学習モジュール１０jのモデルパラメータをパターン学習部１１１から取得し、学習モジュール１０jのモデルパラメータから学習モジュール１０iのモデルパラメータを引き算することにより得られるモデルパラメータ差分ベクトルを生成する。RNNを採用したパターン学習モデルでは、パラメータ差分ベクトル生成部１２２は、ウエイトマトリクスwiとウエイトマトリクスwjをパターン学習部１１１から取得し、ウエイトマトリクスwjからウエイトマトリクスwiを引いた差分ベクトル（wj−wi）を生成する。
【０１８５】
ステップＳ６３において、共有強度更新部１２３は、パラメータ更新ベクトル取得部１２１が取得したパラメータ更新ベクトルと、パラメータ差分ベクトル生成部１２２が生成したモデルパラメータ差分ベクトルを用いて共有強度を更新する。RNNを採用したパターン学習モデルでは、共有強度更新部１２３は、ウエイトマトリクスwiの更新量ベクトルと、ウエイトマトリクスwjからウエイトマトリクスwiを引いた差分ベクトル（wj−wi）の内積により更新量△βijを求め、さらに式（４）により更新後の係数βijを求める。
【０１８６】
ステップＳ６４において、共有強度更新部１２３は、更新後の共有強度を、次回の共有強度の更新のため、共有強度記憶部１２４に記憶させる。RNNを採用したパターン学習モデルでは、共有強度更新部１２３は、更新後の係数βijを、共有強度記憶部１２４に供給し、記憶させる。
【０１８７】
以上の処理が、共有強度の動的制御処理として、図１４のステップＳ４４で行われる。
【０１８８】
次に、図１６ないし図２１を参照して、図１２の学習装置１０１による共有強度の動的制御処理を検証した実験結果について説明する。
【０１８９】
図１６は、実験を行った環境を示している。
【０１９０】
本件発明者は、実験として、図１２の学習装置１０１を備える移動ロボット１４１に２次元平面上の移動を行動パターンとして学習させることを行った。なお、パターン学習モデルには、３つのコンテキストが入力層にフィードバックされるRNNを採用した。
【０１９１】
具体的には、本件発明者は、移動ロボット１４１を、図１６に示される、４面の壁で囲まれた空間（部屋）１６１内に置き、その空間１６１内を移動する６つの行動パターンACT#1ないしACT#6を移動ロボット１４１の各RNNに学習させた。なお、空間１６１のなかには、障壁１７１ないし１７４とライト１７５が設けられている。また、移動ロボット１４１には、６つの行動パターンACT#1ないしACT#6のほかに、壁（障壁）を避ける、光に近づくなどの反射行動が予め入力（学習）されている。
【０１９２】
移動ロボット１４１は、距離センサと光センサを内蔵している。より具体的には、図１７に示されるように、移動ロボット１４１は、２次元平面（XY平面）と並行な所定の面上で、かつ、自分の周囲３６０度を等分割した８方向の検出方向（点線で示される方向）の距離または光を検出する距離センサおよび光センサを備える。距離センサの８方向の入力値はd1ないしd8であり、光センサの８方向の入力値はh1ないしh8である。
【０１９３】
そして、移動ロボット１４１に行動パターンを学習させるとは、移動ロボット１４１に２次元平面上の軌道（位置の軌跡）を学習させるのではなく、移動ロボット１４１が各軌道を通過したときに、センサが取得したセンサ入力値と、移動ロボット１４１の駆動部の出力値の時系列データを学習させることを意味する。
【０１９４】
従って、実験では、移動ロボット１４１の、距離センサの入力値d1ないしd8と光センサの入力値h1ないしh8、および、所定のモータ出力に対応する移動ベクトル（mx,my）からなる１８次元（mx，my，d1，・・，d8,h1，・・，h8）のベクトルパターン（時系列データ）を学習させた。
【０１９５】
なお、本件発明者は、６つの行動パターンACT#1ないしACT#6それぞれについて、互いに軌道を少し異なるものとした５つのバリエーションを学習させたので、学習させた行動パターンのサンプル数は、合計で３０個（６つの行動パターン×５バリエーション）となる。
【０１９６】
図１８は、３０個のRNN#1ないしRNN#30に学習させた行動パターンACT#1ないしACT#6を示している。
【０１９７】
図１８に示されるように、本件発明者は、行動パターンACT#1についての５つのバリエーションをRNN#1ないしRNN#5に学習させ、行動パターンACT#2についての５つのバリエーションをRNN#6ないしRNN#10に学習させ、行動パターンACT#3についての５つのバリエーションをRNN#11ないしRNN#15に学習させ、行動パターンACT#4についての５つのバリエーションをRNN#16ないしRNN#20に学習させ、行動パターンACT#5についての５つのバリエーションをRNN#21ないしRNN#25に学習させ、行動パターンACT#6についての５つのバリエーションをRNN#26ないしRNN#30に学習させた。
【０１９８】
図１９は、共有強度の動的制御処理を含む学習処理後の学習モジュール間（RNN間）の共有強度とウエイト距離を濃淡で示した図である。
【０１９９】
図１９Ａは、学習処理後の学習モジュール間（RNN間）の共有強度を濃淡で示している。図１９Ａの横軸と縦軸は、それぞれ３０個のRNN#1ないしRNN#30を表す。図１９Ａでは、横軸のRNN#iのウエイトマトリクスwiに対する、縦軸のRNN#jのウエイトマトリクスwjの共有強度である係数βijが濃淡で示されており、濃淡は、0.0より大で1.0より小の範囲で、淡い（白い）ほど共有強度が強く（係数βijが大きく）、濃い（黒い）ほど共有強度が弱い（係数βijが小さい）ことを表す。
【０２００】
図１９Aにおいては、同一のウエイトマトリクスどうしの共有強度のラインである対角線を中心とする数個のRNNどうしの共有強度が強く、それ以外のRNNとの共有強度が弱くなっている。このことは、共有強度の動的制御処理により、同じ行動パターンを学習する学習モジュール（RNN）間で共有強度が強くなるように制御（更新）されたことを表している。即ち、図１９Aは、動的制御により、適切に共有強度が設定されたことを表している。
【０２０１】
一方、図１９Ｂは、学習処理後の学習モジュール間（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）は、式（８）で表すことができる。
【０２０３】
【数８】
2010020444.tif 000010
【０２０４】
図１９Ｂの横軸と縦軸は、それぞれ３０個のRNN#1ないしRNN#30を表す。図１９Ｂでは、横軸のRNN#iと、縦軸のRNN#jのウエイト距離Dweight（i,j）が濃淡で示されており、濃淡は、0.0より大で200.0より小の範囲で、濃い（黒い）ほどウエイト距離が小さく、淡い（白い）ほどウエイト距離が大きいことを表す。
【０２０５】
図１９Bにおいては、同一のウエイトマトリクスどうしのウエイト距離のラインである対角線を中心とする数個のRNNどうしのウエイト距離が小さく、それ以外のRNNとのウエイト距離が大きくなっている。このことは、共有強度の動的制御処理により、同じ行動パターンを学習する学習モジュール間でウエイト距離が小さくなるように制御（更新）されたことを表している。即ち、図１９Ｂも、動的制御により、適切に共有強度が設定されたことを表している。
【０２０６】
図２０は、共有強度の動的制御処理を含む学習処理後の各RNN間のウエイト距離を、２次元空間に射影したサモンマップ(sammon map)を示している。
【０２０７】
サモンマップは、ｎ次元入力ベクトルを、入力ベクトル空間での関係を維持したまま２次元平面上へ写像することができる手法であり、その詳細は、JOHN W.SAMMON.JR.,A Nonlinear Mapping For Data Structure Analysis,IEEE TRANSACTIONS ON COMPUTERS,VOL.C-18,NO.5,MAY 1969に開示されている。
【０２０８】
図２０において、番号が付されたバツ印（×）は、その番号iに対応するRNN#iのサモンマップ上の位置を表す。そして、バツ印間の距離は、RNN間のウエイト距離を反映している。なお、バツ印を中心とする細線の円は、RNN間のウエイト距離の近さ（RNN間の重なり）をわかりやすくするため、ウエイト距離が１０となる範囲を示したものである。
【０２０９】
また、図２０においては、同一の行動パターンACT#2ないしACT#6の学習データを学習した学習モジュール（RNN）群が、それぞれ、太い点線の円で示されている。これにより、行動パターンACT#1を除いて、類似した学習データ（学習サンプル）を学習した学習モジュール間では、ウエイト距離が小さくなっている（所定の範囲内に収まっている）ことが分かる。
【０２１０】
従って、共有強度の動的制御処理によれば、類似した学習データ（学習サンプル）を学習した学習モジュール間では、ウエイト距離が小さい状態（共通化）を維持しつつも、類似していない学習サンプルを学習した学習モジュール間では、ウエイト距離が大きい状態を維持できている。即ち、共有強度の動的制御処理を行っても、規模拡張性と汎化特性の両立が可能となっていることが分かる。
【０２１１】
比較のため、３０個のRNN#1ないしRNN#30すべての係数βijを0.3，0.1，0.01の固定値（βij＝0.3，βij＝0.1，βij＝0.01）で学習処理を行った場合のサモンマップを図２１に示す。
【０２１２】
図２１Ａは、係数βijが0.3の固定値（βij＝0.3）の場合であり、図２１Ｂは、係数βijが0.1の固定値（βij＝0.1）の場合であり、図２１Ｃは、係数βijが0.01の固定値（βij＝0.01）の場合である。
【０２１３】
なお、図２０と図２１Ａないし図２１Ｃは、互いに表示範囲が異なるので、縦軸と横軸のスケールが異なっている。ただし、ウエイト距離が１０となる範囲を示した細線の円は、図２０と図２１Ａないし図２１Ｃにおいて共通である。
【０２１４】
図２１Ａないし図２１Ｃによれば、例えば、図２１Ｃに示されるように、共有強度を小さく設定した場合には、各RNNが他のRNNのいずれとも独立する（ウエイト距離が大きい状態となる）ように位置し、反対に、図２１Ａに示されるように、共有強度を大きく設定した場合には、各RNNが他のRNNのいずれとも共通化する（ウエイト距離が小さい状態となる）ように位置している。図２１Ｂは、図２１Ａと図２１Ｃの中間的な分布となっている。
【０２１５】
また、図２１Ｂを参照すると、類似した学習データ（学習サンプル）を学習した学習モジュール間でウエイト距離が小さく、類似していない学習サンプルを学習した学習モジュール間でウエイト距離が大きいというような位置の傾向は小さい。
【０２１６】
従って、図２０と図２１Ａないし図２１Ｃとを比較してみても、図１２の学習装置１０１が、規模拡張性と汎化特性を両立させた状態で、類似するパターンを学習する学習モジュールどうしについては共有強度を強く設定し、類似しないパターンを学習する学習モジュールとの共有強度は弱く設定することができるということが言える。
【０２１７】
以上のように、学習装置１０１によれば、学習モジュール間の共有強度を、ユーザが決定し、設定しなくても（自動的に）、最適に設定することができる。
【０２１８】
上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０２１９】
そこで、図２２は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０２２０】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク２０５や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，  ２０５  ハードディスク，  ２０６  出力部，  ２０７  入力部，  ２０８  通信部，  ２０９  ドライブ，  ２１０  入出力インタフェース，  ２１１  リムーバブル記録媒体
【図１】
2010020444.tif 000011
【図２】
2010020444.tif 000012
【図３】
2010020444.tif 000013
【図４】
2010020444.tif 000014
【図５】
2010020444.tif 000015
【図６】
2010020444.tif 000016
【図７】
2010020444.tif 000017
【図８】
2010020444.tif 000018
【図９】
2010020444.tif 000019
【図１０】
2010020444.tif 000020
【図１１】
2010020444.tif 000021
【図１２】
2010020444.tif 000022
【図１３】
2010020444.tif 000023
【図１４】
2010020444.tif 000024
【図１５】
2010020444.tif 000025
【図１６】
2010020444.tif 000026
【図１７】
2010020444.tif 000027
【図１８】
2010020444.tif 000028
【図１９】
2010020444.tif 000029
【図２０】
2010020444.tif 000030
【図２１】
2010020444.tif 000031
【図２２】
2010020444.tif 000032
【手続補正書】
【提出日】平成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を重畳して得られる時系列データを、それぞれ、学習データとして与えた。