JP2010020444A - 学習装置、学習方法、およびプログラム - Google Patents

学習装置、学習方法、およびプログラム Download PDF

Info

Publication number
JP2010020444A
JP2010020444A JP2008178805A JP2008178805A JP2010020444A JP 2010020444 A JP2010020444 A JP 2010020444A JP 2008178805 A JP2008178805 A JP 2008178805A JP 2008178805 A JP2008178805 A JP 2008178805A JP 2010020444 A JP2010020444 A JP 2010020444A
Authority
JP
Japan
Prior art keywords
learning
model
pattern
sharing
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008178805A
Other languages
English (en)
Other versions
JP4710931B2 (ja
Inventor
Masato Ito
真人 伊藤
Kazumi Aoyama
一美 青山
Kuniaki Noda
邦昭 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2008178805A priority Critical patent/JP4710931B2/ja
Priority to US12/498,718 priority patent/US8306930B2/en
Publication of JP2010020444A publication Critical patent/JP2010020444A/ja
Application granted granted Critical
Publication of JP4710931B2 publication Critical patent/JP4710931B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

【課題】規模拡張性があり、かつ、汎化特性を有するパターン学習モデルを得ることができるようにする。
【解決手段】学習モジュール101ないし10Nは、入力データを用いて、パターン学習モデルの複数のモデルパラメータを更新する更新学習を行う。モデルパラメータ共有部20は、学習モジュール101ないし10Nに、モデルパラメータを共有させる。共有強度制御部112は、学習モジュール101ないし10Nそれぞれについて、学習モジュール10jから学習モジュール10iへの影響の強さを表す共有強度βijを、更新学習により複数のモデルパラメータを更新したとき学習モジュール10iの学習誤差Eiを最小化するように更新する。本発明は、例えば、時系列パターンの学習等に適用できる。
【選択図】図12

Description

本発明は、学習装置、学習方法、およびプログラムに関し、特に、規模拡張性があり、かつ、汎化特性を有するパターン学習モデルを得ることができるようにする学習装置、学習方法、およびプログラムに関する。
パターンを学習するパターン学習モデルとしては、例えば、RNN(Recurrent Neural Network)やRNNPB(Recurrent Neural Net with Parametric Bias)等がある。このようなパターン学習モデルの学習のスキームは、「局所表現」スキームと「分散表現」スキームとに分類される。
「局所表現」スキームでは、複数のパターンが、パターン学習モデルの学習(パターン学習モデルが有するモデルパラメータの更新)を行う複数の学習モジュールにおいてそれぞれ学習され、これにより、1つの学習モジュールで、1つのパターンが記憶される。
また、「分散表現」スキームでは、複数のパターンが、1つの学習モジュールにおいて学習され、これにより、1つの学習モジュールで、複数のパターンが同時に記憶される。
「局所表現」スキームでは、1つの学習モジュールで、1つのパターンが記憶される、つまり、1つのパターン学習モデルが、1つのパターンを学習するので、ある学習モジュールと、他の学習モジュールとの間で、パターンの記憶の干渉が少なく、パターンの記憶の安定性が高い。そして、「局所表現」スキームは、学習モジュールを追加することにより、新たなパターンを学習することが容易に行うことができるという規模拡張性に優れる。
但し、「局所表現」スキームでは、1つのパターン学習モデルが、1つのパターンを学習する、つまり、パターンの記憶が、複数の学習モジュールでそれぞれ独立に行われるため、複数の学習モジュールそれぞれでのパターンの記憶間の関係性の構造化(共通化)による汎化特性を得ること、すなわち、例えば、ある学習モジュールに記憶されたパターンとも異なり、他の学習モジュールに記憶されたパターンとも異なるが、それらの両方のパターンの、いわば中間のパターンを生成するようなこと等はできない。
一方、「分散表現」スキームでは、1つの学習モジュールで、複数のパターンが記憶される、つまり、1つのパターン学習モデルが、複数のパターンを学習するので、1つの学習モジュール内での複数のパターンの記憶間の干渉によって、その記憶間の共通化による汎化特性を得ることができる。
但し、「分散表現」スキームでは、パターンの記憶の安定性が低いため、規模拡張性がない。
ここで、特許文献1には、あるパターンを学習するRNNと、そのパターンと相関がある他のパターンを学習するRNNとの2つのRNNのコンテキストどうしの誤差に基づいて、その2つのRNNのコンテキストを変化させて、RNNの学習を行うこと、及び、その学習後の2つのRNNのうちの一方のコンテキストを、他方のRNNのコンテキストとして用いて、つまり、一方のRNNのコンテキストを、他方のRNNのコンテキストに影響させて、出力データを生成すること(RNNの入力層に入力データを入力し、その入力データに対応する出力データを、RNNの出力層から出力すること)が記載されている。
また、非特許文献1には、言語のパターンを学習するRNNPBと、動作のパターンを学習するRNNPBとの2つのRNNPBのPBどうしの差に基づいて、その2つのRNNPBをPBを変化させて、RNNPBの学習を行うこと、及び、その学習後の2つの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)
以上のように、従来のパターン学習モデルの学習では、規模拡張性があるパターン学習モデルを得るか、又は汎化特性を有するパターン学習モデルを得ることはできるが、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることは困難である。
本発明は、このような状況に鑑みてなされたものであり、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができるようにするものである。
本発明の一側面の学習装置は、パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行う複数の学習モジュールと、前記複数の学習モジュールの2以上の学習モジュールに、前記モデルパラメータを共有させるモデルパラメータ共有手段と、前記更新学習により前記複数のモデルパラメータを更新したときの学習誤差が最小化されるように、前記学習モジュール間の共有強度を更新する共有強度更新手段とを備える。
本発明の一側面の学習方法は、複数の学習モジュールそれぞれにおいて、パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行い、前記複数の学習モジュールの2以上の学習モジュールに、前記モデルパラメータを共有させ、前記更新学習により前記複数のモデルパラメータを更新したときの学習誤差が最小化されるように、前記学習モジュール間の共有強度を更新するステップを含む学習方法である。
本発明の一側面のプログラムは、コンピュータを、パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行う複数の学習モジュールと、前記複数の学習モジュールの2以上の学習モジュールに、前記モデルパラメータを共有させるモデルパラメータ共有手段と、前記更新学習により前記複数のモデルパラメータを更新したときの学習誤差が最小化されるように、前記学習モジュール間の共有強度を更新する共有強度更新手段として機能させる。
本発明の一側面においては、複数の学習モジュールそれぞれにおいて、パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習が行われ、複数の学習モジュールの2以上の学習モジュールにおいて、モデルパラメータが共有される。また、更新学習により複数のモデルパラメータを更新したときの学習誤差が最小化されるように、学習モジュール間の共有強度が更新される。
本発明の一側面によれば、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができる。
図1は、本発明を適用する学習装置の基本となる学習装置の一実施の形態の構成例を示している。
図1において、学習装置は、複数であるN個の学習モジュール101ないし10Nと、モデルパラメータ共有部20とから構成される。
学習モジュール10i(i=1,2,・・・,N)は、パターン入力部11i、モデル学習部12i、及びモデル記憶部13iから構成され、入力データを用いて、パターン学習モデルの複数のモデルパラメータ(学習リソース)を更新する更新学習を行う。
すなわち、パターン入力部11iには、モデル記憶部13iに記憶されたパターン学習モデルに獲得(学習)させるパターン(カテゴリ)の入力データが、パターン学習モデルの学習に用いる学習データとして供給される。
パターン入力部11iは、そこに供給される学習データを、パターン学習モデルの学習に適切な形のデータにする処理をして、モデル学習部12iに供給する。すなわち、例えば、学習データが時系列のデータである場合には、パターン入力部11iは、例えば、その時系列のデータを、固定の長さに区切って、モデル学習部12iに供給する。
モデル学習部12iは、パターン入力部11iからの学習データを用いて、モデル記憶部13iに記憶されたパターン学習モデルの複数のモデルパラメータを更新する更新学習を行う。
モデル記憶部13iは、複数のモデルパラメータを有し、パターンを学習するパターン学習モデルを記憶する。すなわち、モデル記憶部13iは、パターン学習モデルの複数のモデルパラメータを記憶する。
ここで、パターン学習モデルとしては、例えば、時系列のパターンである時系列パターンや、時間変化する力学系を表すダイナミクスを学習(獲得)(記憶)するモデル等を採用することができる。
時系列パターンを学習するモデルとしては、例えば、HMM(Hidden Markov Model)等があり、ダイナミクスを学習するモデルとしては、例えば、RNN,FNN(Feed Forward Neural Network),RNNPB等のニューラルネットワークや、SVR(Support Vector Regression)等がある。
例えば、HMMについては、HMMにおいて状態が遷移する確率を表す状態遷移確率や、状態が遷移するときに、HMMからある観測値が出力される確率を表す出力確率、又は確率密度を表す出力確率密度関数が、HMMのモデルパラメータである。
また、例えば、ニューラルネットワークについては、ニューロンに相当するユニット(ノード)において、他のユニットからの入力に付されるウエイト(重み)が、ニューラルネットワークのモデルパラメータである。
なお、HMMの状態遷移確率や、出力確率、又は出力確率密度関数、ニューラルネットワークのウエイトは、いずれも複数存在する。
モデルパラメータ共有部20は、N個の学習モジュール101ないし10Nのうちの、2以上の学習モジュールに、モデルパラメータを共有させる共有処理を行う。モデルパラメータ共有部20が共有処理を行うことにより、N個の学習モジュール101ないし10Nのうちの、2以上の学習モジュールは、モデルパラメータを共有する。
なお、以下では、説明を簡単にするため、モデルパラメータ共有部20は、N個の学習モジュール101ないし10Nのすべてに、モデルパラメータを共有させる共有処理を行うこととする。
次に、図2のフローチャートを参照して、図1の学習装置が行う、パターン学習モデルを学習する学習処理について説明する。
ステップS11において、学習モジュール10iのモデル学習部12iは、モデル記憶部13iに記憶されたモデルパラメータを、例えば、乱数等によって初期化して、処理は、ステップS12に進む。
ステップS12では、学習モジュール10iが、その学習モジュール10iで学習すべき学習データが供給(入力)されるのを待って、その学習データを用いて、モデルパラメータを更新する更新学習を行う。
すなわち、ステップS12では、学習モジュール10iにおいて、パターン入力部11iが、学習モジュール10iに供給された学習データを、必要に応じて処理し、モデル学習部12iに供給する。
さらに、ステップS12では、モデル学習部12iが、パターン入力部11iからの学習データを用いて、モデル記憶部13iに記憶されたパターン学習モデルの複数のモデルパラメータを更新する更新学習を行い、その更新学習によって得られた新たな複数のモデルパラメータによって、モデル記憶部13iの記憶内容を更新する(上書きする)。
ここで、ステップS11及びS12の処理は、N個の学習モジュール101ないし10Nのすべてで行われる。
ステップS12の後、処理は、ステップS13に進み、モデルパラメータ共有部20は、N個の学習モジュール101ないし10Nのすべてに、モデルパラメータを共有させる共有処理を行う。
すなわち、学習モジュール10iが有する複数のモデルパラメータのうちの、例えば、m番目のモデルパラメータに注目すると、モデルパラメータ共有部20は、N個の学習モジュール101ないし10Nそれぞれのm番目のモデルパラメータに基づいて、学習モジュール101のm番目のモデルパラメータを補正する。
さらに、モデルパラメータ共有部20は、N個の学習モジュール101ないし10Nそれぞれのm番目のモデルパラメータに基づいて、学習モジュール102のm番目のモデルパラメータを補正し、以下、同様にして、学習モジュール103ないし10Nそれぞれのm番目のモデルパラメータを補正する。
以上のように、モデルパラメータ共有部20が、学習モジュール10iのm番目のモデルパラメータを、N個の学習モジュール101ないし10Nそれぞれのm番目のモデルパラメータに基づいて補正することで、N個の学習モジュール101ないし10Nのm番目のモデルパラメータのそれぞれは、N個の学習モジュール101ないし10Nのm番目のモデルパラメータのすべての影響を受ける(N個の学習モジュール101ないし10Nのm番目のモデルパラメータのそれぞれに、N個の学習モジュール101ないし10Nのm番目のモデルパラメータのすべてを影響させる)。
このように、複数の学習モジュールのモデルパラメータすべてを、その複数の学習モジュールのモデルパラメータのそれぞれに影響させること(複数の学習モジュールのモデルパラメータのそれぞれが、その複数の学習モジュールのモデルパラメータすべての影響を受けること)が、複数の学習モジュールによるモデルパラメータの共有である。
モデルパラメータ共有部20は、ステップS13において、学習モジュール10iのモデル記憶部13iに記憶された複数のモデルパラメータのすべてを対象に、共有処理を行い、その共有処理によって得られたモデルパラメータによって、モデル記憶部131ないし13Nの記憶内容を更新する。
ステップS13の後、処理は、ステップS14に進み、図1の学習装置は、学習の終了条件が満たされているかどうかを判定する。
ここで、ステップS14での学習の終了条件としては、例えば、学習の回数、つまり、ステップS12及びS13が繰り返された回数が、あらかじめ定められた所定の回数となったことや、あらかじめ用意された学習データのすべてを用いて、ステップS12の更新学習が行われたこと、あるいは、ある入力データに対して出力されるべき出力データの真値が分かっている場合に、その入力データに対してパターン学習モデルから出力される出力データの、真値に対する誤差が所定値以下であること、等を採用することができる。
ステップS14において、学習の終了条件が満たされていないと判定された場合、処理は、ステップS12に戻り、以下、同様の処理が繰り返される。
また、ステップS14において、学習の終了条件が満たされていると判定された場合、処理は終了する。
なお、ステップS12とステップS13は、その処理の順番を逆にすることも可能である。即ち、N個の学習モジュール101ないし10Nのすべてに、モデルパラメータを共有させる共有処理を行った後、モデルパラメータを更新する更新学習を行うようにすることもできる。
次に、図3は、パターン学習モデルとして、RNNPBを採用した場合の、図1の学習装置の構成例を示している。
なお、図3においては、学習モジュール10iのパターン入力部11i及びモデル学習部12iの図示を省略してある。
モデル記憶部13iには、RNNPB(を定義するモデルパラメータ)が記憶されている。ここで、モデル記憶部13iに記憶された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ユニットから隠れ層のユニットへのウエイト、コンテキストユニットから隠れ層のユニットへウエイト、隠れ層のユニットから出力層のユニットへのウエイト、及び、隠れ層のユニットからコンテキストユニットへのウエイトの5種類がある。
パターン学習モデルとして、以上のようなRNNPBを採用した場合、モデルパラメータ共有部20には、RNNPBのモデルパラメータとしてのウエイトを、学習モジュール101ないし10Nに共有させるウエイトマトリクス共有部21が設けられる。
ここで、RNNPBのモデルパラメータとしてのウエイトは、複数あるが、その複数のウエイトをコンポーネントとするマトリクスを、ウエイトマトリクスという。
ウエイトマトリクス共有部21は、モデル記憶部131ないし13Nに記憶されたRNNPB#1ないしRNNPB#Nの複数のモデルパラメータとしてのウエイトマトリクスすべてを、学習モジュール101ないし10Nのそれぞれに共有させる。
すなわち、RNNPB#iのウエイトマトリクスをwiと表すこととすると、ウエイトマトリクス共有部21は、ウエイトマトリクスwiを、N個の学習モジュール101ないし10Nそれぞれのウエイトマトリクスw1ないしwNのすべてに基づいて補正することで、ウエイトマトリクスwiに、ウエイトマトリクスw1ないしwNのすべてを影響させる共有処理を行う。
具体的には、ウエイトマトリクス共有部21は、例えば、次式(1)に従い、RNNPB#iのウエイトマトリクスwiを補正する。
Figure 2010020444
ここで、式(1)において、△wiは、ウエイトマトリクスwiを補正する補正成分であり、例えば、式(2)に従って求められる。
Figure 2010020444
式(2)において、βijは、RNNPB#iのウエイトマトリクスwiに、RNNPB#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数(固定値)である。
したがって、式(2)の右辺のサメーションΣβij(wj-wi)は、係数βijを重みとした、RNNPB#iのウエイトマトリクスwjに対するRNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNそれぞれの偏差(差分)の重み付け平均値を表し、αiは、その重み付け平均値Σβij(wj-wi)を、ウエイトマトリクスwiに影響させる度合いを表す係数である。
係数αi及びβijとしては、例えば、0.0より大で1.0より小の値を採用することができる。
式(2)によれば、係数αiが小であるほど、いわば共有が弱くなり(ウエイトマトリクスwiが受ける重み付け平均値Σβij(wj-wi)の影響が小さくなり)、係数αiが大であるほど、いわば共有が強まる。
なお、ウエイトマトリクスwiの補正の方法は、式(1)に限定されるものではなく、例えば、式(3)に従って行うことが可能である。
Figure 2010020444
ここで、式(3)において、βij 'は、RNNPB#iのウエイトマトリクスwiに、RNNPB#j(j=1,2,・・・,N)のウエイトマトリクスwjを影響させる度合いを表す係数である。
したがって、式(3)の右辺の第2項におけるサメーションΣβij 'wjは、係数βij 'を重みとした、RNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNの重み付け平均値を表し、αi 'は、その重み付け平均値Σβij 'wjを、ウエイトマトリクスwiに影響させる度合いを表す係数である。
係数αi '及びβij 'としては、例えば、0.0より大で1.0より小の値を採用することができる。
式(3)によれば、係数αi 'が大であるほど、共有が弱くなり(ウエイトマトリクスwiが受ける重み付け平均値Σβij 'wjの影響が小さくなり)、係数αi 'が小であるほど、共有が強まる。
次に、図4のフローチャートを参照して、パターン学習モデルとして、RNNPBを採用した場合の、図1の学習装置の学習処理について説明する。
ステップS21において、学習モジュール10iのモデル学習部12iは、モデル記憶部13iに記憶されたRNNPB#iのモデルパラメータであるウエイトマトリクスwiを、例えば、乱数等によって初期化して、処理は、ステップS22に進む。
ステップS22では、学習モジュール10iが、その学習モジュール10iで学習すべき学習データxtが入力されるのを待って、その学習データxtを用いて、モデルパラメータを更新する更新学習を行う。
すなわち、ステップS22では、学習モジュール10iにおいて、パターン入力部11iが、学習モジュール10iに供給された学習データxtを、必要に応じて処理し、モデル学習部12iに供給する。
さらに、ステップS22では、モデル学習部12iが、パターン入力部11iからの学習データxtを用いて、モデル記憶部13iに記憶されたRNNPB#iのウエイトマトリクスwiを更新する更新学習を、例えば、BPTT(Back-Propagation Through Time)法により行い、その更新学習によって得られた新たなモデルパラメータとしてのウエイトマトリクスwiによって、モデル記憶部13iの記憶内容を更新する。
ここで、ステップS21及びS22の処理は、N個の学習モジュール101ないし10Nのすべてで行われる。
また、BPTT法については、例えば、特開2002-236904号公報等に記載されている。
ステップS22の後、処理は、ステップS23に進み、モデルパラメータ共有部20のウエイトマトリクス共有部21は、N個の学習モジュール101ないし10Nのすべてに、ウエイトマトリクスw1ないしwNのすべてを共有させる共有処理を行う。
すなわち、ステップS23において、ウエイトマトリクス共有部21は、例えば、式(2)に従い、モデル記憶部131ないし13Nに記憶されたウエイトマトリクスw1ないしwNを用いて補正成分△w1ないし△wNをそれぞれ求め、その補正成分△w1ないし△wNにより、モデル記憶部131ないし13Nに記憶されたウエイトマトリクスw1ないしwNを、式(1)に従ってそれぞれ補正する。
ステップS23の後、処理は、ステップS24に進み、図1の学習装置は、学習の終了条件が満たされているかどうかを判定する。
ここで、ステップS24での学習の終了条件としては、例えば、学習の回数、つまり、ステップS22及びS23が繰り返された回数が、あらかじめ定められた所定の回数となったことや、ある入力データxtに対してRNNPB#iが出力する出力データx* t+1、すなわち、入力データxt+1の予測値x* t+1の、入力データxt+1に対する誤差が所定値以下であること、等を採用することができる。
ステップS24において、学習の終了条件が満たされていないと判定された場合、処理は、ステップS22に戻り、以下、同様の処理、すなわち、ウエイトマトリクスwiの更新学習と、共有処理とが交互に繰り返される。
また、ステップS24において、学習の終了条件が満たされていると判定された場合、処理は終了する。
なお、図4においても、ステップS22とステップS23は、その処理の順番を逆にすることが可能である。
以上のように、規模拡張性に優れた複数の学習モジュール101ないし10Nそれぞれにおいて、モデルパラメータを共有しながら、その複数の学習モジュール101ないし10Nそれぞれのモデルパラメータを更新する更新学習を行うことにより、1つの学習モジュールだけで行われる学習で得られる汎化特性が、複数の学習モジュール101ないし10Nの全体で得ることができ、その結果、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができる。
すなわち、多くのパターンを獲得(記憶)することができ、かつ、複数のパターンの共通性を獲得することができる。さらに、複数のパターンの共通性を獲得することで、その共通性に基づいて、未学習のパターンの認識や生成を行うことが可能となる。
具体的には、学習データとして、例えば、N種類の音韻の音声データを、N個の学習モジュール101ないし10Nにそれぞれ与えて、パターン学習モデルの学習を行った場合に、そのパターン学習モデルによれば、学習に用いられていない時系列パターンの音声データの認識や生成を行うことができる。さらに、例えば、学習データとして、例えば、ロボットのアームを駆動するための、N種類の駆動データを、N個の学習モジュール101ないし10Nにそれぞれ与えて、パターン学習モデルの学習を行った場合に、そのパターン学習モデルによれば、学習に用いられていない時系列パターンの駆動データの生成を行うことができ、その結果、ロボットは、教えられていないアームの動きをすることが可能となる。
また、学習後のパターン学習モデルによれば、パターン学習モデル間のモデルパラメータ(リソース)どうしの距離に基づいて、パターン学習モデルどうしの類似性を評価し、類似性が高いパターン学習モデルどうしをクラスタとして、パターンのクラスタリングを行うことができる。
次に、図5ないし図9を参照して、本件発明者が行った、図1の学習装置による学習処理(以下、適宜、共有学習処理という)のシミュレーションの結果について説明する。
図5は、共有学習処理で学習を行ったパターン学習モデルについての各データを示している。
なお、シミュレーションでは、パターン学習モデルとして、2つのPBが入力層に入力され、3つのコンテキストが入力層にフィードバックされる9個のRNNPB#1ないしRNNPB#9を採用し、学習データとして、3つのパターンP#1,P#2,P#3の時系列データのそれぞれに、異なる3つのノイズN#1,N#2,N#3のそれぞれを重畳して得られる9個の時系列データを用いた。
また、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に対する誤差(予測誤差)を小さくするように行った。
図5上から1番目は、学習後のRNNPB#1ないしRNNPB#9に、学習時に与えられた学習データを入力データとして与えたときに、RNNPB#1ないしRNNPB#9それぞれが出力する出力データ(output)と、その出力データの予測誤差(error)とを示している。
図5上から1番目において、予測誤差は、ほぼ0になっており、したがって、RNNPB#1ないしRNNPB#9は、入力データ、つまり、学習時に与えられた学習データとほぼ一致する出力データを出力する。
図5上から2番目は、学習後のRNNPB#1ないしRNNPB#9が、図5上から1番目に示した出力データを出力するときの、3つのコンテキストの時間変化を示している。
また、図5上から3番目は、学習後のRNNPB#1ないしRNNPB#9が、図5上から1番目に示した出力データを出力するときの、2つのPB(以下、適宜、2つのPBそれぞれを、PB#1,PB#2と記載する)の時間変化を示している。
図6は、学習後のRNNPB#1ないしRNNPB#9のうちの、例えば、5番目のRNNPB#5が、各値のPB#1,PB#2に対して出力する出力データを示している。
なお、図6では、横軸がPB#1を表し、縦軸がPB#2を表している。
図6によれば、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より大であるときに、9個の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の方向とは逆方向に変形していくときに現れるパターンをも獲得していることが分かる。
次に、図7は、9個のRNNPB#1ないしRNNPB#9それぞれのウエイトマトリクスどうしの相関としての距離、すなわち、例えば、ウエイトマトリクスを構成する各ウエイトをコンポーネントとするベクトルの空間における、そのベクトルどうしの距離を表す長方形状のマップを示している。
なお、ウエイトマトリクスどうしの距離が小であるほど、その2つのウエイトマトリクスどうしの相関が高い。
図7のマップでは、横軸と縦軸のそれぞれに、9個のRNNPB#1ないしRNNPB#9それぞれのウエイトマトリクスをとって、その横軸のウエイトマトリクスと、縦軸のウエイトマトリクスとの距離が、濃淡で示されており、濃い(黒い)部分ほど、距離が小であることを表す(淡い(白い)部分ほど、距離が大であることを表す)。
図7において、横×縦が5×3個のマップのうちの、左上のマップは、学習の回数が0回目であるときのウエイトマトリクスどうしの距離、すなわち、初期化がされたウエイトマトリクスどうしの距離を示しており、マップにおいて、対角線上に並ぶ、同一のRNNPB#iのウエイトマトリクスどうしの距離だけが小になっている。
以下、図7では、右に行くほど、そして、下に行くほど、学習が進行したときのマップが示されており、右下のマップが、学習の回数が1400回目であるときのウエイトマトリクスどうしの距離を示している。
図7によれば、学習が進行するにつれ、同一のパターンP#1の時系列データを学習したRNNPB#1ないしRNNPB#3のウエイトマトリクスどうしの距離、同一のパターンP#2の時系列データを学習したRNNPB#4ないしRNNPB#6のウエイトマトリクスどうしの距離、及び、同一のパターンP#3の時系列データを学習したRNNPB#7ないしRNNPB#9のウエイトマトリクスどうしの距離が小さくなることが分かる。
図8は、図5ないし図7の場合とは別の時系列データを用いて学習を行ったRNNPBのウエイトマトリクスどうしの相関としての距離を表す、図7と同様のマップを示している。
なお、図8のマップを作成するシミュレーションでは、図9に示す5種類のパターンP#1,P#2,P#3,P#4,P#5の時系列データのそれぞれに、異なる4つのノイズN#1,N#2,N#3,N#4のそれぞれを重畳して得られる20個の時系列データを用意し、各時系列データを、1つのRNNPBに学習させた。したがって、図8のマップを作成するシミュレーションで用いたRNNPBは、20個の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の時系列データを、それぞれ与えた。
図8左の5×3個のマップは、共有が弱い場合、すなわち、20個のRNNPB#1ないしRNNPB#20のウエイトマトリクスw1ないしw20それぞれに、その20個のウエイトマトリクスw1ないしw20のすべてを影響させる度合いが小さい場合、具体的には、式(2)の係数αiが小である場合(αiがほぼ0である場合)のマップを示している。
また、図8右の5×3個のマップは、共有が強い場合、すなわち、20個のRNNPB#1ないしRNNPB#20のウエイトマトリクスw1ないしw20それぞれに、その20個のウエイトマトリクスw1ないしw20のすべてを影響させる度合いが大きい場合、具体的には、式(1)の係数αiが小でない場合のマップを示している。
共有が弱い場合も強い場合も、学習の回数が0回目であるときの左上のマップでは、対角線上に並ぶ、同一のRNNPB#iのウエイトマトリクスどうしの距離だけが小になっている。
そして、共有が弱い場合には、図8左に示すように、学習が進行しても、ウエイトマトリクスどうしの距離に、特に傾向は現れないが、共有が強い場合には、図8右に示すように、同一のパターンの時系列データを学習したRNNPBの間で、ウエイトマトリクスどうしの距離が小さくなることが分かる。
したがって、共有処理によって、複数の学習モジュールをまたいで分散表現が形成され、複数のRNNPBが汎化特性を有するようになっていることが分かる。
なお、モデル学習部12iによるモデルパラメータの更新学習の方法、及び、モデルパラメータ共有部20による共有処理の方法は、上述した方法に限定されるものではない。
また、本実施の形態では、モデルパラメータ共有部20による共有処理において、N個の学習モジュール101ないし10Nのすべてに、モデルパラメータとしてのウエイトマトリクスを共有させるようにしたが、その他、例えば、N個の学習モジュール101ないし10Nのうちの一部だけに、モデルパラメータとしてのウエイトマトリクスを共有させることが可能である。
さらに、本実施の形態では、モデルパラメータ共有部20による共有処理において、学習モジュール10iに、複数のモデルパラメータとしての、ウエイトマトリクスを構成する複数のウエイトすべてを共有させるようにしたが、共有処理では、ウエイトマトリクスを構成する複数のウエイトすべてではなく、そのうちの一部のウエイトだけを共有させるようにすることが可能である。
また、N個の学習モジュール101ないし10Nのうちの一部だけに、ウエイトマトリクスを構成する複数のウエイトのうちの一部のウエイトだけを共有させることも可能である。
なお、図1の学習装置は、モデルパラメータ共有部20が、複数の学習モジュール101ないし10Nに、モデルパラメータを共有させる、つまり、各学習モジュール10iにおけるパターン学習モデルとしてのRNNPB#iのモデルパラメータであるウエイトマトリクスwiに、学習モジュール101ないし10NそれぞれにおけるRNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNを影響させる点で、RNNの学習時に、2つのRNNのコンテキストどうしの誤差に基づいて、その2つのRNNのコンテキストを変化させる、つまり、各RNNのコンテキストに、2つのRNNのコンテキストを影響させる特許文献1に記載の技術と共通する。
しかしながら、図1の学習装置では、影響を受けるのが、モデルパラメータであるウエイトマトリクスである点で、モデルパラメータではなく、内部状態であるコンテキストが影響を受ける特許文献1に記載の技術と相違する。
すなわち、例えば、関数で表現されるパターン学習モデルを例にすれば、パターン学習モデルのモデルパラメータは、そのパターン学習モデルを表現する関数を定義する、学習によって求められる定数(例えば、入力がuと、出力がyと、内部状態がxと、それぞれ表されるシステムをモデル化する状態方程式y=Cx+Du、及びx'=Ax+Bu(x'はxの微分を表す)を例にすれば、A,B,C,Dにあたる)であり、そもそも定数ではない内部状態(状態方程式の例では、内部状態x)とは異なる。
同様に、図1の学習装置は、各学習モジュール10iにおけるパターン学習モデルとしてのRNNPB#iのモデルパラメータであるウエイトマトリクスwiに、学習モジュール101ないし10NそれぞれにおけるRNNPB#1ないしRNNPB#Nのウエイトマトリクスw1ないしwNを影響させる点で、RNNPBの学習時に、2つのRNNPBのPBどうしの差に基づいて、その2つのRNNPBのPBを変化させる、つまり、各RNNPBのPBに、2つのRNNPBのPBを影響させる非特許文献1に記載の技術と共通する。
しかしながら、図1の学習装置では、影響を受けるのが、モデルパラメータであるウエイトマトリクスである点で、モデルパラメータではなく、内部状態である(あるいは、内部状態に相当する)PBが影響を受ける非特許文献1に記載の技術と相違する。
すなわち、上述したように、パターン学習モデルのモデルパラメータとは、パターン学習モデルを表現する関数を定義する、学習によって求められる定数であり、定数ではない内部状態とは異なる。
そして、モデルパラメータは、パターン学習モデルを表現する関数を定義する、学習によって求められる定数であるがゆえに、学習時は、学習をしようとするパターンに対応する値になるように更新(変更)されるが、出力データを生成するとき(パターン学習モデルとしてのRNNPBの入力層に入力データを入力し、その入力データに対応する出力データを、RNNPBの出力層から出力するとき)には、変更されない。
一方、特許文献1に記載の技術が対象としているコンテキスト、及び、非特許文献1に記載の技術が対象としているPBは、モデルパラメータとは異なる内部状態であるがゆえに、学習時は勿論、出力データを生成するときも変更される。
以上のように、図1の学習装置は、特許文献1及び非特許文献1に記載の技術のいずれとも相違し、その結果、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができる。
すなわち、図1の学習装置では、例えば、図10に示すように、RNNPBなどのパターン学習モデルのモデルパラメータを共有させる。
その結果、図1の学習装置によれば、図11に示すように、規模拡張性に優れるが、汎化特性に欠ける「局所表現」スキームと、汎化特性があるが、規模拡張性に欠ける「分散表現」スキームとの2種類の学習の両方の長所を有する、いわば「中間表現」スキームの学習を行い、規模拡張性があり、同時に、汎化特性を有するパターン学習モデルを得ることができる。
ところで、上述した実施の形態においては、パターン学習モデルとしてRNNPBを採用した場合の係数βijに相当する、学習モジュール間のモデルパラメータの共有の強度(以下、共有強度とも称する)を、ユーザが決定し、設定する必要があるが、この共有強度を、最適に設定することが難しいという問題がある。
すなわち、設定した共有強度が強すぎると、学習モジュール間の共通化が促進され汎化性能は高くなるが、各学習モジュールの独立性は弱くなり学習が進まない(学習に時間がかかる)。反対に、設定された共有強度が弱すぎると、学習モジュールの共通化が進まず、図1の学習装置の特徴の1つである汎化特性が弱くなり、各学習モジュールが独立に学習することと、さほど差がなくなってしまうという問題がある。
パターンの学習では、理想的には、類似するパターンを学習する学習モジュールどうしについては共有強度を強く設定し、類似しないパターンを学習する学習モジュールとの共有強度は弱く設定したい。しかしながら、パターン間の類似性は、学習する前にはわからないので、そのように設定することが難しいという側面がある。
そこで、次に、そのような問題を解決する学習装置について説明する。すなわち、学習モジュール間の共有強度が、類似するパターンを学習する学習モジュールに対しては強く、類似しないパターンを学習する学習モジュールに対しては弱くなるように、学習の過程で動的に変化(制御)させることができるようにした学習装置の実施の形態について説明する。
なお、以下では、パターン学習モデルとして、RNNPBより一般的な、入力層にPBユニットを持たないRNNを採用し、RNNの上述した係数βijを共有強度として動的に制御する場合を例にした実施の形態について説明する。RNNは、PBユニットを有していない以外は、更新学習等、上述したRNNPBと同様に行うことができるので、上述したRNNPB#iをRNN#iに置きかえて説明する。
図12は、本発明を適用した学習装置であって、共有強度(係数βij)の動的制御を可能とする学習装置の一実施の形態の構成例を示している。
図12において、上述した図1の学習装置と対応する部分については同一の符号を付してあり、その説明は省略する。
即ち、図12の学習装置101は、図1の学習装置と同様の構成を有するパターン学習部111と、共有強度を制御する共有強度制御部112とにより構成されている。
パターン学習部111は、N個の学習モジュール101ないし10Nによって構成され、パターン学習モデルの複数のモデルパラメータ(学習リソース)、即ち、RNN#iのウエイトマトリクスwiを学習(更新)する更新学習を行う。
共有強度制御部112は、パラメータ更新ベクトル取得部121、パラメータ差分ベクトル生成部122、共有強度更新部123、および共有強度記憶部124を備え、N個の学習モジュール101ないし10Nそれぞれが学習したときの学習誤差が最小化されるように共有強度を制御(更新)する。
図13を参照して、共有強度制御部112による共有強度の更新について説明する。
パターン学習モデルとしてRNNを採用した場合の共有強度である係数βijは、方向性をもつ係数であって、図13に示されるように、学習モジュール10jから10iへの影響の強さを表す係数である。換言すれば、係数βijは、RNN#iのウエイトマトリクスwiに対する、RNN#jのウエイトマトリクスwjの影響の強さを表している。
共有強度制御部112は、学習により学習モジュール10iのモデルパラメータを更新したときの学習誤差Eiが最小化されるように係数βijを更新する。即ち、係数βijの更新量を△βijとすると、係数βijを更新する式は、次式(4)のように表すことができ、式(4)の更新量△βijは、式(5)のように表すことができる。
Figure 2010020444
Figure 2010020444
式(5)において、∂Ei/∂βijは、学習誤差Eiが最小化される方向(勾配)を表し、ηは、その最小化される方向に沿って1回あたりどれだけ進むかを表す係数(学習率)を表す。
ここで、式(5)は、さらに次式(6)のように展開することができる。
Figure 2010020444
式(6)の∂wi/∂△wiは、式(1)を△wiで偏微分した結果であり、1に等しい。また、式(6)の∂△wi/∂βijは、式(2)をβijで偏微分した結果であり、実質的には(wj−wi)のみで表すことができる。したがって、式(5)は、実質的に、式(7)のように表すことができる。
Figure 2010020444
式(7)の∂Ei/∂wiは、学習時のBPTTの過程で求まるウエイトマトリクスwiを更新するときの更新量(更新量ベクトル)を表す。一方、式(7)の(wj−wi)は、ウエイトマトリクスwjからウエイトマトリクスwiを引いた差分ベクトルである。従って、係数βijの更新量△βijは、学習によるウエイトマトリクスwiの更新量ベクトルと、ウエイトマトリクスwjからウエイトマトリクスwiを引いた差分ベクトルの相関(内積)で求められることになる。
換言すれば、共有強度の更新量は、学習モジュール10iの学習時のパラメータ更新ベクトル(学習モジュール10iのモデルパラメータ更新の際の更新量ベクトル)と、学習モジュール10jのモデルパラメータから学習モジュール10iのモデルパラメータを引き算することにより得られるモデルパラメータ差分ベクトルの相関(内積)となっている。
式(7)は、概念的には、学習モジュール10iに注目したとき、学習モジュール10jが、自分(学習モジュール10i)と同じ学習方向の成分をより多く有している場合には、学習モジュール10jとの共有度合いを強めて、βijを大きくし、学習モジュール10jが、自分(学習モジュール10i)と違う学習方向の成分をより多く有している場合には、学習モジュール10jとの共有度合いを弱めて、βijを小さくすることを表している。
したがって、共有強度制御部112は、学習によりモデルパラメータが更新されるごとに、各学習モジュールについて、モデルパラメータ更新による更新量ベクトルと、モデルパラメータ差分ベクトルの内積を計算し、その結果を用いて、式(4)により共有強度を更新する。
図12に戻り、パラメータ更新ベクトル取得部121、パラメータ差分ベクトル生成部122、共有強度更新部123、および共有強度記憶部124それぞれの処理を説明する。
パラメータ更新ベクトル取得部121は、学習モジュール10iの共有強度の更新量を計算するための、学習モジュール10iのモデルパラメータを学習により更新した際の更新量ベクトルを取得する。RNNを採用したパターン学習モデルでは、パラメータ更新ベクトル取得部121は、RNN#iのBPTTの過程で求まった式(7)の∂Ei/∂wiを取得する。
パラメータ差分ベクトル生成部122は、学習モジュール10iの共有強度の更新量を計算するための、学習モジュール10iのモデルパラメータと学習モジュール10jのモデルパラメータをパターン学習部111から取得する。そして、パラメータ差分ベクトル生成部122は、学習モジュール10jのモデルパラメータから学習モジュール10iのモデルパラメータを引き算することにより得られるモデルパラメータ差分ベクトルを生成する。RNNを採用したパターン学習モデルでは、パラメータ差分ベクトル生成部122は、ウエイトマトリクスwiとウエイトマトリクスwjを取得し、ウエイトマトリクスwjからウエイトマトリクスwiを引いた差分ベクトル(wj−wi)を生成する。
共有強度更新部123は、パラメータ更新ベクトル取得部121が取得したパラメータ更新ベクトルと、パラメータ差分ベクトル生成部122が生成したモデルパラメータ差分ベクトルを用いて共有強度を更新する。RNNを採用したパターン学習モデルでは、共有強度更新部123は、式(7)により更新量△βijを求め、さらに式(4)により更新後の係数βijを求める。
共有強度更新部123は、更新後の共有強度(係数βij)をパターン学習部111の各学習モジュール101ないし10Nに供給するとともに、共有強度記憶部124に記憶させる。共有強度記憶部124に記憶された共有強度は、次の更新時に共有強度更新部123により取得され、式(4)における、現在の共有強度(係数βij)として使用される。
次に、図14のフローチャートを参照して、共有強度の動的制御も行う、学習装置101の学習処理について説明する。
ステップS41において、学習モジュール10iのモデル学習部12iは、モデル記憶部13iに記憶されたモデルパラメータを、例えば、乱数等によって初期化する。RNNを採用したパターン学習モデルでは、モデル記憶部13iに記憶されたRNN#iのモデルパラメータであるウエイトマトリクスwiが、例えば、乱数等によって初期化される。
なお、ステップS41と後述するステップS43の処理は、上述した図2および図4の学習処理と同様に、N個の学習モジュール101ないし10Nのすべてについて行われる。
ステップS42において、モデルパラメータ共有部20は、N個の学習モジュール101ないし10Nのすべてに、モデルパラメータを共有させる共有処理を行う。RNNを採用したパターン学習モデルでは、ウエイトマトリクス共有部21が、N個の学習モジュール101ないし10Nのすべてに、ウエイトマトリクスw1ないしwNのすべてを共有させる共有処理を行う。
ステップS43において、学習モジュール10iが、その学習モジュール10iで学習すべき学習データが供給(入力)されるのを待って、その学習データを用いて、モデルパラメータを更新する更新学習を行う。
RNNを採用したパターン学習モデルでは、ステップS43において、モデル学習部12iが、パターン入力部11iからの学習データxtを用いて、モデル記憶部13iに記憶されたRNN#iのウエイトマトリクスwiを更新する更新学習を、例えば、BPTT(Back-Propagation Through Time)法により行い、その更新学習によって得られた新たなモデルパラメータとしてのウエイトマトリクスwiによって、モデル記憶部13iの記憶内容を更新する。
ステップS44において、共有強度制御部112が、N個の学習モジュール101ないし10Nのすべてについて、学習後のパラメータ更新ベクトルとモデルパラメータ差分ベクトルを用いて、学習モジュール間の共有強度を更新する共有強度の動的制御処理を行う。ステップS44の処理の詳細は、図15を参照して後述する。
ステップS44の後、処理はステップS45に進み、学習装置101は、学習の終了条件が満たされているかどうかを判定する。
ステップS45において、学習の終了条件が満たされていないと判定された場合、処理は、ステップS42に戻り、以下、同様の処理が繰り返される。
また、ステップS45において、学習の終了条件が満たされていると判定された場合、処理は終了する。
図14の学習処理では、図2の学習処理と比較すると、モデルパラメータの更新とモデルパラメータの共有処理の順序が逆になっている。即ち、図2の学習処理では、ステップS12で、モデルパラメータの更新を行った後、ステップS13で、パラメータの共有処理を行っているが、図14の学習処理では、ステップS42で、モデルパラメータの共有処理を行った後、ステップS43で、モデルパラメータの更新を行っている。
図2の学習処理では、上述したように、ステップS12とステップS13の処理の順番は、どちらが先であってもよいが、共有強度の動的制御も行う学習処理では、図14に示したように、モデルパラメータの共有処理を行ってから、モデルパラメータの更新を行う方がよい。
なぜなら、共有強度の動的制御も行う学習処理では、上述したように、共有強度の更新量の計算に、モデルパラメータの更新直後の更新量ベクトルそのままの値を利用することができるからである。換言すれば、モデルパラメータの更新を行ってから、モデルパラメータの共有処理を行った場合には、共有強度の更新量の計算に、モデルパラメータの更新直後の更新量ベクトルそのままの値ではなく、モデルパラメータの共有処理後(共通化後)の更新量ベクトルを利用することになり、更新直後の更新量ベクトルそのままの値との誤差を、共有強度の更新量の計算に含むことになるからである。なお、その誤差が無視できる場合には、図2の学習処理と同様の順番で処理を行ってもよい。
図15は、図14のステップS44における共有強度の動的制御処理の詳細なフローチャートを示している。
初めに、ステップS61において、パラメータ更新ベクトル取得部121は、学習モジュール10iの学習時のパラメータ更新ベクトル(学習モジュール10iのモデルパラメータ更新の際の更新量ベクトル)を取得する。RNNを採用したパターン学習モデルでは、パラメータ更新ベクトル取得部121は、ステップS43のウエイトマトリクスwiを更新するBPTTの過程で求まった、式(7)の∂Ei/∂wiを取得する。
ステップS62において、パラメータ差分ベクトル生成部122は、学習モジュール10iのモデルパラメータと学習モジュール10jのモデルパラメータをパターン学習部111から取得し、学習モジュール10jのモデルパラメータから学習モジュール10iのモデルパラメータを引き算することにより得られるモデルパラメータ差分ベクトルを生成する。RNNを採用したパターン学習モデルでは、パラメータ差分ベクトル生成部122は、ウエイトマトリクスwiとウエイトマトリクスwjをパターン学習部111から取得し、ウエイトマトリクスwjからウエイトマトリクスwiを引いた差分ベクトル(wj−wi)を生成する。
ステップS63において、共有強度更新部123は、パラメータ更新ベクトル取得部121が取得したパラメータ更新ベクトルと、パラメータ差分ベクトル生成部122が生成したモデルパラメータ差分ベクトルを用いて共有強度を更新する。RNNを採用したパターン学習モデルでは、共有強度更新部123は、ウエイトマトリクスwiの更新量ベクトルと、ウエイトマトリクスwjからウエイトマトリクスwiを引いた差分ベクトル(wj−wi)の内積により更新量△βijを求め、さらに式(4)により更新後の係数βijを求める。
ステップS64において、共有強度更新部123は、更新後の共有強度を、次回の共有強度の更新のため、共有強度記憶部124に記憶させる。RNNを採用したパターン学習モデルでは、共有強度更新部123は、更新後の係数βijを、共有強度記憶部124に供給し、記憶させる。
以上の処理が、共有強度の動的制御処理として、図14のステップS44で行われる。
次に、図16ないし図21を参照して、図12の学習装置101による共有強度の動的制御処理を検証した実験結果について説明する。
図16は、実験を行った環境を示している。
本件発明者は、実験として、図12の学習装置101を備える移動ロボット141に2次元平面上の移動を行動パターンとして学習させることを行った。なお、パターン学習モデルには、3つのコンテキストが入力層にフィードバックされるRNNを採用した。
具体的には、本件発明者は、移動ロボット141を、図16に示される、4面の壁で囲まれた空間(部屋)161内に置き、その空間161内を移動する6つの行動パターンACT#1ないしACT#6を移動ロボット141の各RNNに学習させた。なお、空間161のなかには、障壁171ないし174とライト175が設けられている。また、移動ロボット141には、6つの行動パターンACT#1ないしACT#6のほかに、壁(障壁)を避ける、光に近づくなどの反射行動が予め入力(学習)されている。
移動ロボット141は、距離センサと光センサを内蔵している。より具体的には、図17に示されるように、移動ロボット141は、2次元平面(XY平面)と並行な所定の面上で、かつ、自分の周囲360度を等分割した8方向の検出方向(点線で示される方向)の距離または光を検出する距離センサおよび光センサを備える。距離センサの8方向の入力値はd1ないしd8であり、光センサの8方向の入力値はh1ないしh8である。
そして、移動ロボット141に行動パターンを学習させるとは、移動ロボット141に2次元平面上の軌道(位置の軌跡)を学習させるのではなく、移動ロボット141が各軌道を通過したときに、センサが取得したセンサ入力値と、移動ロボット141の駆動部の出力値の時系列データを学習させることを意味する。
従って、実験では、移動ロボット141の、距離センサの入力値d1ないしd8と光センサの入力値h1ないしh8、および、所定のモータ出力に対応する移動ベクトル(mx,my)からなる18次元(mx,my,d1,・・,d8,h1,・・,h8)のベクトルパターン(時系列データ)を学習させた。
なお、本件発明者は、6つの行動パターンACT#1ないしACT#6それぞれについて、互いに軌道を少し異なるものとした5つのバリエーションを学習させたので、学習させた行動パターンのサンプル数は、合計で30個(6つの行動パターン×5バリエーション)となる。
図18は、30個のRNN#1ないしRNN#30に学習させた行動パターンACT#1ないしACT#6を示している。
図18に示されるように、本件発明者は、行動パターンACT#1についての5つのバリエーションをRNN#1ないしRNN#5に学習させ、行動パターンACT#2についての5つのバリエーションをRNN#6ないしRNN#10に学習させ、行動パターンACT#3についての5つのバリエーションをRNN#11ないしRNN#15に学習させ、行動パターンACT#4についての5つのバリエーションをRNN#16ないしRNN#20に学習させ、行動パターンACT#5についての5つのバリエーションをRNN#21ないしRNN#25に学習させ、行動パターンACT#6についての5つのバリエーションをRNN#26ないしRNN#30に学習させた。
図19は、共有強度の動的制御処理を含む学習処理後の学習モジュール間(RNN間)の共有強度とウエイト距離を濃淡で示した図である。
図19Aは、学習処理後の学習モジュール間(RNN間)の共有強度を濃淡で示している。図19Aの横軸と縦軸は、それぞれ30個のRNN#1ないしRNN#30を表す。図19Aでは、横軸のRNN#iのウエイトマトリクスwiに対する、縦軸のRNN#jのウエイトマトリクスwjの共有強度である係数βijが濃淡で示されており、濃淡は、0.0より大で1.0より小の範囲で、淡い(白い)ほど共有強度が強く(係数βijが大きく)、濃い(黒い)ほど共有強度が弱い(係数βijが小さい)ことを表す。
図19Aにおいては、同一のウエイトマトリクスどうしの共有強度のラインである対角線を中心とする数個のRNNどうしの共有強度が強く、それ以外のRNNとの共有強度が弱くなっている。このことは、共有強度の動的制御処理により、同じ行動パターンを学習する学習モジュール(RNN)間で共有強度が強くなるように制御(更新)されたことを表している。即ち、図19Aは、動的制御により、適切に共有強度が設定されたことを表している。
一方、図19Bは、学習処理後の学習モジュール間(RNN間)のウエイト距離を濃淡で示している。
ウエイト距離とは、2つの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)は、式(8)で表すことができる。
Figure 2010020444
図19Bの横軸と縦軸は、それぞれ30個のRNN#1ないしRNN#30を表す。図19Bでは、横軸のRNN#iと、縦軸のRNN#jのウエイト距離Dweight(i,j)が濃淡で示されており、濃淡は、0.0より大で200.0より小の範囲で、濃い(黒い)ほどウエイト距離が小さく、淡い(白い)ほどウエイト距離が大きいことを表す。
図19Bにおいては、同一のウエイトマトリクスどうしのウエイト距離のラインである対角線を中心とする数個のRNNどうしのウエイト距離が小さく、それ以外のRNNとのウエイト距離が大きくなっている。このことは、共有強度の動的制御処理により、同じ行動パターンを学習する学習モジュール間でウエイト距離が小さくなるように制御(更新)されたことを表している。即ち、図19Bも、動的制御により、適切に共有強度が設定されたことを表している。
図20は、共有強度の動的制御処理を含む学習処理後の各RNN間のウエイト距離を、2次元空間に射影したサモンマップ(sammon map)を示している。
サモンマップは、n次元入力ベクトルを、入力ベクトル空間での関係を維持したまま2次元平面上へ写像することができる手法であり、その詳細は、JOHN W.SAMMON.JR.,A Nonlinear Mapping For Data Structure Analysis,IEEE TRANSACTIONS ON COMPUTERS,VOL.C-18,NO.5,MAY 1969に開示されている。
図20において、番号が付されたバツ印(×)は、その番号iに対応するRNN#iのサモンマップ上の位置を表す。そして、バツ印間の距離は、RNN間のウエイト距離を反映している。なお、バツ印を中心とする細線の円は、RNN間のウエイト距離の近さ(RNN間の重なり)をわかりやすくするため、ウエイト距離が10となる範囲を示したものである。
また、図20においては、同一の行動パターンACT#2ないしACT#6の学習データを学習した学習モジュール(RNN)群が、それぞれ、太い点線の円で示されている。これにより、行動パターンACT#1を除いて、類似した学習データ(学習サンプル)を学習した学習モジュール間では、ウエイト距離が小さくなっている(所定の範囲内に収まっている)ことが分かる。
従って、共有強度の動的制御処理によれば、類似した学習データ(学習サンプル)を学習した学習モジュール間では、ウエイト距離が小さい状態(共通化)を維持しつつも、類似していない学習サンプルを学習した学習モジュール間では、ウエイト距離が大きい状態を維持できている。即ち、共有強度の動的制御処理を行っても、規模拡張性と汎化特性の両立が可能となっていることが分かる。
比較のため、30個のRNN#1ないしRNN#30すべての係数βijを0.3,0.1,0.01の固定値(βij=0.3,βij=0.1,βij=0.01)で学習処理を行った場合のサモンマップを図21に示す。
図21Aは、係数βijが0.3の固定値(βij=0.3)の場合であり、図21Bは、係数βijが0.1の固定値(βij=0.1)の場合であり、図21Cは、係数βijが0.01の固定値(βij=0.01)の場合である。
なお、図20と図21Aないし図21Cは、互いに表示範囲が異なるので、縦軸と横軸のスケールが異なっている。ただし、ウエイト距離が10となる範囲を示した細線の円は、図20と図21Aないし図21Cにおいて共通である。
図21Aないし図21Cによれば、例えば、図21Cに示されるように、共有強度を小さく設定した場合には、各RNNが他のRNNのいずれとも独立する(ウエイト距離が大きい状態となる)ように位置し、反対に、図21Aに示されるように、共有強度を大きく設定した場合には、各RNNが他のRNNのいずれとも共通化する(ウエイト距離が小さい状態となる)ように位置している。図21Bは、図21Aと図21Cの中間的な分布となっている。
また、図21Bを参照すると、類似した学習データ(学習サンプル)を学習した学習モジュール間でウエイト距離が小さく、類似していない学習サンプルを学習した学習モジュール間でウエイト距離が大きいというような位置の傾向は小さい。
従って、図20と図21Aないし図21Cとを比較してみても、図12の学習装置101が、規模拡張性と汎化特性を両立させた状態で、類似するパターンを学習する学習モジュールどうしについては共有強度を強く設定し、類似しないパターンを学習する学習モジュールとの共有強度は弱く設定することができるということが言える。
以上のように、学習装置101によれば、学習モジュール間の共有強度を、ユーザが決定し、設定しなくても(自動的に)、最適に設定することができる。
上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図22は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク205やROM203に予め記録しておくことができる。
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体211に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体211は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体211からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部208で受信し、内蔵するハードディスク205にインストールすることができる。
コンピュータは、CPU(Central Processing Unit)202を内蔵している。CPU202には、バス201を介して、入出力インタフェース210が接続されており、CPU202は、入出力インタフェース210を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部207が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)203に格納されているプログラムを実行する。あるいは、また、CPU202は、ハードディスク205に格納されているプログラム、衛星若しくはネットワークから転送され、通信部208で受信されてハードディスク205にインストールされたプログラム、またはドライブ209に装着されたリムーバブル記録媒体211から読み出されてハードディスク205にインストールされたプログラムを、RAM(Random Access Memory)204にロードして実行する。これにより、CPU202は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU202は、その処理結果を、必要に応じて、例えば、入出力インタフェース210を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部206から出力、あるいは、通信部208から送信、さらには、ハードディスク205に記録等させる。
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
即ち、本発明は、ある特定の空間パターン、時系列シーケンス及びパターンに特化した方法ではない。したがって、コンピュータのユーザインタフェースにおけるユーザ入力のパターン、ロボットのセンサ入力及びモータ出力のパターン、音楽データに関するパターン、画像データに関するパターン、言語処理における音素、単語、センテンスなどのパターンの学習及び学習結果に基づくパターンの予測や分類に適用することができる。
本発明を適用する学習装置の基本となる学習装置の一実施の形態の構成例を示すブロック図である。 図1の学習装置の学習処理を説明するフローチャートである。 パターン学習モデルとしてRNNPBを採用した場合の図1の学習装置の構成例を示すブロック図である。 パターン学習モデルとしてRNNPBを採用した場合の図1の学習装置の学習処理を説明するフローチャートである。 シミュレーションの結果を示す図である。 シミュレーションの結果を示す図である。 シミュレーションの結果を示す図である。 シミュレーションの結果を示す図である。 シミュレーションに用いた時系列データを示す図である。 RNNPBのモデルパラメータの共有を模式的に示す図である。 「局所表現」スキーム、「分散表現」スキーム、及び「中間表現」スキームの学習の関係を模式的に示す図である。 本発明を適用した学習装置の一実施の形態の構成例を示すブロック図である。 共有強度の更新手法を説明するための図である。 図12の学習装置の学習処理を説明するフローチャートである。 共有強度の動的制御処理を説明するフローチャートである。 実験を行った環境を説明する図である。 移動ロボットについて説明する図である。 図12の学習装置に学習させた行動パターンを示す図である。 学習処理後の共有強度とウエイト距離を示す図である。 学習処理後のRNN間のウエイト距離を2次元空間に射影したサモンマップを示す図である。 共有強度が固定値の場合の学習処理後のサモンマップを示す図である。 本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
符号の説明
101ないし10N 学習モジュール, 111ないし11N パターン入力部, 121ないし12N モデル学習部, 131ないし13N モデル記憶部, 20 モデルパラメータ共有部, 21 ウエイトマトリクス共有部, 101 学習装置, 111 パターン学習部, 112 共有強度制御部, 121 パラメータ更新ベクトル取得部, 122 パラメータ差分ベクトル生成部, 123 共有強度更新部, 124 共有強度記憶部, 201 バス, 202 CPU, 203 ROM, 204 RAM, 205 ハードディスク, 206 出力部, 207 入力部, 208 通信部, 209 ドライブ, 210 入出力インタフェース, 211 リムーバブル記録媒体

Claims (9)

  1. パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行う複数の学習モジュールと、
    前記複数の学習モジュールの2以上の学習モジュールに、前記モデルパラメータを共有させるモデルパラメータ共有手段と、
    前記更新学習により前記複数のモデルパラメータを更新したときの学習誤差が最小化されるように、前記学習モジュール間の共有強度を更新する共有強度更新手段と
    を備える学習装置。
  2. 前記共有強度更新手段は、前記複数の学習モジュールのうちの第1の学習モジュールから第2の学習モジュールへの影響の強さを表す前記共有強度を更新する場合、前記第2の学習モジュールの学習時のパラメータ更新ベクトルと、前記第1の学習モジュールのモデルパラメータから前記第2の学習モジュールのモデルパラメータを引き算することにより得られるモデルパラメータ差分ベクトルとの内積により、共有強度を更新する
    請求項1に記載の学習装置。
  3. 前記パターン学習モデルは、時系列パターン、又はダイナミクスを学習するモデルである
    請求項1に記載の学習装置。
  4. 前記パターン学習モデルは、HMM,RNN,FNN,SVR、又はRNNPBである
    請求項1に記載の学習装置。
  5. 前記モデルパラメータ共有手段は、複数の学習モジュールのすべて、又は一部に、前記モデルパラメータを共有させる
    請求項1に記載の学習装置。
  6. 前記モデルパラメータ共有手段は、前記複数の学習モジュールの2以上の学習モジュールに、前記複数のモデルパラメータのすべて、又は一部を共有させる
    請求項1に記載の学習装置。
  7. 前記モデルパラメータ共有手段は、前記2以上の学習モジュールの各学習モジュールが更新したモデルパラメータを、前記2以上の学習モジュールそれぞれが更新したモデルパラメータの重み付け平均値によって補正することにより、前記2以上の学習モジュールに、その2以上の学習モジュールそれぞれが更新したモデルパラメータを共有させる
    請求項1に記載の学習装置。
  8. 複数の学習モジュールそれぞれにおいて、パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行い、
    前記複数の学習モジュールの2以上の学習モジュールに、前記モデルパラメータを共有させ、
    前記更新学習により前記複数のモデルパラメータを更新したときの学習誤差が最小化されるように、前記学習モジュール間の共有強度を更新する
    ステップを含む学習方法。
  9. コンピュータを、
    パターンを学習するパターン学習モデルが有する複数のモデルパラメータを、入力データを用いて更新する更新学習を行う複数の学習モジュールと、
    前記複数の学習モジュールの2以上の学習モジュールに、前記モデルパラメータを共有させるモデルパラメータ共有手段と、
    前記更新学習により前記複数のモデルパラメータを更新したときの学習誤差が最小化されるように、前記学習モジュール間の共有強度を更新する共有強度更新手段と
    して機能させるためのプログラム。
JP2008178805A 2008-07-09 2008-07-09 学習装置、学習方法、およびプログラム Expired - Fee Related JP4710931B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008178805A JP4710931B2 (ja) 2008-07-09 2008-07-09 学習装置、学習方法、およびプログラム
US12/498,718 US8306930B2 (en) 2008-07-09 2009-07-07 Learning device, learning method, and program for learning a pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008178805A JP4710931B2 (ja) 2008-07-09 2008-07-09 学習装置、学習方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2010020444A true JP2010020444A (ja) 2010-01-28
JP4710931B2 JP4710931B2 (ja) 2011-06-29

Family

ID=41506032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008178805A Expired - Fee Related JP4710931B2 (ja) 2008-07-09 2008-07-09 学習装置、学習方法、およびプログラム

Country Status (2)

Country Link
US (1) US8306930B2 (ja)
JP (1) JP4710931B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019117646A1 (ko) * 2017-12-15 2019-06-20 한국전자통신연구원 분산 처리 환경에서의 학습 파라미터의 압축 및 전송을 제공하는 방법 및 장치
KR20190072450A (ko) * 2017-12-15 2019-06-25 한국전자통신연구원 분산 처리 환경에서의 학습 파라미터의 압축 및 전송을 제공하는 방법 및 장치
JP2020140673A (ja) * 2019-03-01 2020-09-03 富士ゼロックス株式会社 学習装置、情報出力装置、及びプログラム
KR20200104959A (ko) * 2019-02-27 2020-09-07 한국전력공사 분산 딥러닝 환경에서 데이터 압축 장치 및 방법
JP2021012553A (ja) * 2019-07-08 2021-02-04 株式会社東芝 推論装置、学習装置、推論方法及び学習方法
JP7401677B2 (ja) 2019-11-30 2023-12-19 華為技術有限公司 モデル更新システム、モデル更新方法及び関連装置

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10739770B2 (en) * 2018-01-16 2020-08-11 General Electric Company Autonomously-controlled inspection platform with model-based active adaptive data collection
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
WO2009114649A2 (en) 2008-03-12 2009-09-17 Aptima, Inc. Probabilistic decision making system and methods of use
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9015093B1 (en) 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
JP5888013B2 (ja) * 2012-01-25 2016-03-16 富士通株式会社 ニューラルネットワーク設計方法、プログラム及びデジタルアナログフィッティング方法
US10290221B2 (en) * 2012-04-27 2019-05-14 Aptima, Inc. Systems and methods to customize student instruction
US10552764B1 (en) * 2012-04-27 2020-02-04 Aptima, Inc. Machine learning system for a training model of an adaptive trainer
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
WO2014110167A2 (en) 2013-01-08 2014-07-17 Purepredictive, Inc. Integrated machine learning for a data management product
EP3809407A1 (en) 2013-02-07 2021-04-21 Apple Inc. Voice trigger for a digital assistant
US10438156B2 (en) 2013-03-13 2019-10-08 Aptima, Inc. Systems and methods to provide training guidance
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9218574B2 (en) * 2013-05-29 2015-12-22 Purepredictive, Inc. User interface for machine learning
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9646262B2 (en) 2013-06-17 2017-05-09 Purepredictive, Inc. Data intelligence using machine learning
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9672464B2 (en) 2014-02-28 2017-06-06 Qualcomm Incorporated Method and apparatus for efficient implementation of common neuron models
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10223617B1 (en) * 2014-06-06 2019-03-05 Deepmind Technologies Limited Image processing with recurrent attention
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9875429B2 (en) 2015-10-06 2018-01-23 Adobe Systems Incorporated Font attributes for font recognition and similarity
US10074042B2 (en) * 2015-10-06 2018-09-11 Adobe Systems Incorporated Font recognition using text localization
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10007868B2 (en) 2016-09-19 2018-06-26 Adobe Systems Incorporated Font replacement based on visual similarity
US10593346B2 (en) * 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US10950017B2 (en) 2019-07-08 2021-03-16 Adobe Inc. Glyph weight modification
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11295181B2 (en) 2019-10-17 2022-04-05 Adobe Inc. Preserving document design using font synthesis

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024795A (ja) * 2000-07-04 2002-01-25 Sony Corp 情報処理装置および方法、並びに記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024795A (ja) * 2000-07-04 2002-01-25 Sony Corp 情報処理装置および方法、並びに記録媒体

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019117646A1 (ko) * 2017-12-15 2019-06-20 한국전자통신연구원 분산 처리 환경에서의 학습 파라미터의 압축 및 전송을 제공하는 방법 및 장치
KR20190072450A (ko) * 2017-12-15 2019-06-25 한국전자통신연구원 분산 처리 환경에서의 학습 파라미터의 압축 및 전송을 제공하는 방법 및 장치
KR102435595B1 (ko) 2017-12-15 2022-08-25 한국전자통신연구원 분산 처리 환경에서의 학습 파라미터의 압축 및 전송을 제공하는 방법 및 장치
US11663476B2 (en) 2017-12-15 2023-05-30 Electronics And Telecommunications Research Institute Method and device for providing compression and transmission of training parameters in distributed processing environment
KR20200104959A (ko) * 2019-02-27 2020-09-07 한국전력공사 분산 딥러닝 환경에서 데이터 압축 장치 및 방법
KR102425039B1 (ko) 2019-02-27 2022-07-28 한국전력공사 분산 딥러닝 환경에서 데이터 압축 장치 및 방법
JP2020140673A (ja) * 2019-03-01 2020-09-03 富士ゼロックス株式会社 学習装置、情報出力装置、及びプログラム
JP7293729B2 (ja) 2019-03-01 2023-06-20 富士フイルムビジネスイノベーション株式会社 学習装置、情報出力装置、及びプログラム
JP2021012553A (ja) * 2019-07-08 2021-02-04 株式会社東芝 推論装置、学習装置、推論方法及び学習方法
JP7114528B2 (ja) 2019-07-08 2022-08-08 株式会社東芝 推論装置、学習装置、推論方法及び学習方法
JP7401677B2 (ja) 2019-11-30 2023-12-19 華為技術有限公司 モデル更新システム、モデル更新方法及び関連装置

Also Published As

Publication number Publication date
JP4710931B2 (ja) 2011-06-29
US20100010948A1 (en) 2010-01-14
US8306930B2 (en) 2012-11-06

Similar Documents

Publication Publication Date Title
JP4710931B2 (ja) 学習装置、学習方法、およびプログラム
JP4710933B2 (ja) 学習装置、学習方法、およびプログラム
JP4710932B2 (ja) 学習装置、学習方法、およびプログラム
JP4803212B2 (ja) データ処理装置、データ処理方法、及びプログラム
US11386330B2 (en) Learning coach for machine learning system
JP4201012B2 (ja) データ処理装置、データ処理方法、およびプログラム
JP4169063B2 (ja) データ処理装置、データ処理方法、及びプログラム
US20160078339A1 (en) Learning Student DNN Via Output Distribution
JP2007280054A (ja) 学習装置および学習方法、並びにプログラム
JP2007299366A (ja) 学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラム
JP2011059816A (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2007265345A (ja) 情報処理装置および方法、学習装置および方法、並びにプログラム
JP2011059815A (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2009288933A (ja) 学習装置、学習方法、及びプログラム
JP6453681B2 (ja) 演算装置、演算方法およびプログラム
JP2011059817A (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2008250856A (ja) 学習装置、学習方法、及びプログラム
JP2010266974A (ja) 情報処理装置、情報処理方法、およびプログラム
KR20230141828A (ko) 적응형 그래디언트 클리핑을 사용하는 신경 네트워크들
JP2007280057A (ja) データ処理装置、データ処理方法、およびプログラム
JP2009053782A (ja) データ処理装置、データ処理方法、及びプログラム
JP2010282556A (ja) 情報処理装置、情報処理方法、及び、プログラム
Liu et al. Learning model-based F0 production through goal-directed babbling
JP2007280007A (ja) データ処理装置、データ処理方法、およびプログラム
JP2009043122A (ja) データ処理装置、データ処理方法、及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100728

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110307

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140401

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees