JP2020505672A - データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラム - Google Patents

データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラム Download PDF

Info

Publication number
JP2020505672A
JP2020505672A JP2019535257A JP2019535257A JP2020505672A JP 2020505672 A JP2020505672 A JP 2020505672A JP 2019535257 A JP2019535257 A JP 2019535257A JP 2019535257 A JP2019535257 A JP 2019535257A JP 2020505672 A JP2020505672 A JP 2020505672A
Authority
JP
Japan
Prior art keywords
learning
model
input
input data
time
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
JP2019535257A
Other languages
English (en)
Other versions
JP7123938B2 (ja
Inventor
貴行 恐神
貴行 恐神
洸 梶野
洸 梶野
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020505672A publication Critical patent/JP2020505672A/ja
Application granted granted Critical
Publication of JP7123938B2 publication Critical patent/JP7123938B2/ja
Active 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/08Learning methods
    • 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/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Machine Translation (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 データ・シーケンスに基づき予測モデルを正確に学習するための方法、コンピュータ・プログラム及び装置を提供する。【解決手段】 データ・シーケンスに基づき予測モデルを正確に学習するために、複数の入力値を含む入力データが配置された第1の入力データ・データ・シーケンスからの各入力データを順次入力することにより学習プロセスを実行するための第1のモデルに基づいて、第1のモデルにおける順番とは異なる順番で、複数の入力値を含む入力データが配置された第2の入力データ・シーケンスからの各入力データを入力することにより、第1のモデル内に含まれる第1の学習ターゲット・パラメータを学習するための第2のモデルを生成することと、第1のモデル及び第2のモデルの両方を用いて学習プロセスを実行することと、学習した第1のモデルを出力することと、を含む方法が提供される。コンピュータ・プログラム製品及び装置も提供される。【選択図】 図1

Description

本発明は、データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラムに関する。
従来、時系列データに適用することができるニューラル・ネットワーク、ボルツマン・マシン(Boltzmann machine)等は既知である。さらに、機械学習により時系列で入力されたデータに対応するモデルを学習できる動的ボルツマン・マシンも既知である。
こうしたボルツマン・マシン等は、動画、言語、信号波形、及び音楽などの様々な分野に適用するように、データ・シーケンスに基づいて予測モデルを正確に学習することにより、改善された表現力、学習力等を有することが望まれる。
データ・シーケンスに基づき予測モデルを正確に学習するための方法、コンピュータ・プログラム及び装置を提供する。
本発明の第1の態様によると、複数の入力値を含む入力データが配置された第1の入力データ・データ・シーケンスからの各入力データを順次入力することにより学習プロセスを実行するための第1のモデルに基づいて、第1のモデルにおける順番とは異なる順番で、複数の入力値を含む入力データが配置された第2の入力データ・シーケンスからの各入力データを入力することによって、第1のモデル内に含まれる第1の学習ターゲット・パラメータを学習するための第2のモデルを生成することと、第1のモデル及び第2のモデルの両方を用いて学習プロセスを実行することと、学習した第1のモデルを出力することと、を含む方法が提供される。コンピュータ・プログラム製品及び装置も提供される。第1の態様は、第1のモデル及び第2のモデルを用いて、入力データを異なる順番で入力するので、一方向にのみ学習するモデルと比べて学習力を改善するように動作可能である。
本発明の第2の態様によると、第1の入力データ・シーケンス及び第2の入力データ・シーケンスが時系列入力データ・シーケンスであり、第1のモデルは、第1の入力データ・シーケンスをより古い入力データから順番に入力し、第2のモデルは、第2の入力データ・シーケンスをより新しい入力データから順番に入力する、方法、コンピュータ・プログラム製品及び装置が提供される。第2の態様は、時系列入力データに対応するモデルについての学習力を改善するように動作可能である。
本発明の第3の態様によると、第1の学習ターゲット・パラメータは、第1のモデルを用いて学習するよりも第2のモデルを用いて学習することによって、より高い精度で学習するように動作可能であり、第2の学習ターゲット・パラメータは、第2のモデルを用いて学習するよりも第1のモデルを用いて学習することによって、より高い精度で学習するように動作可能である、方法、コンピュータ・プログラム製品及び装置が提供される。第3の態様は、第1のモデル及び第2のモデルを学習することによって、第1の学習ターゲット・パラメータ及び第2の学習ターゲット・パラメータを学習するように動作可能である。
本発明の第4の態様によると、第1のモデルは、第1の入力データ・シーケンスの各時点の複数の入力値を順次入力する複数の入力ノードと、各入力ノードと複数の入力ノードに対応する時点より前の時点における各入力値との間の重みパラメータとを含み、第2のモデルは、第2の入力データ・シーケンスの各時点の複数の入力値を逆順で入力する複数の入力ノードと、各入力ノードと複数の入力ノードに対応する時点より後の時点における各入力値との間の重みパラメータとを含む、方法、コンピュータ・プログラム製品及び装置が提供される。第4の態様は、ボルツマン・マシンの学習力を改善するように動作可能である。
本発明の第5の態様によると、学習プロセスを実行することは、第1のモデルを用いる学習プロセスを用いて、第1のモデルにおける各隠れノード(hidden node)と複数の入力ノードに対応する時点より前の時点に対応する各入力値との間の重みパラメータを学習することと、第2のモデルを用いる学習プロセスを用いて、第2のモデルにおける各入力ノードと複数の入力ノードに対応する時点より後の時点に対応する複数の隠れノードの各々との間の重みパラメータを学習することとを含む、方法が提供される。第5の態様は、ボルツマン・マシンの学習力を改善するように動作可能である。
概要の節は、必ずしも本発明の実施形態の全ての必要な特徴を説明するものではない。本発明はまた、上述した特徴の部分的組み合わせとすることもできる。
本発明の実施形態による学習装置100の例示的な構成を示す。 本発明の実施形態によるモデル10の例示的な構成を示す。 本発明の実施形態による学習装置100の動作フローを示す。 本発明の実施形態における学習に用いられる時系列データ及び訓練データの構造例を示す。 本発明の実施形態による学習装置100の第1の変形形態を示す。 本発明の実施形態によるモデル10の変形形態を示す。 本発明の実施形態による更新パラメータγi,lの時間的変化の例を示す。 本発明の実施形態による更新パラメータαi,j,kの時間的変化の例を示す。 本発明の実施形態による第1のモデルの例示的な概略的構成を示す。 本発明の実施形態による第2のモデルの例示的な概略的構成を示す。 本発明の実施形態による学習装置100により実行される第1のモデル及び第2のモデルを用いる学習プロセスの動作フローを示す。 本発明の実施形態によるコンピュータの例ハードウェア構成を示す。
以下、本発明の幾つかの実施形態を説明する。本発明の実施形態は、特許請求の範囲による本発明を限定するものではなく、本発明の実施形態において説明される特徴の組み合わせの全ては、必ずしも本発明にとって必須ではない。
図1は、本発明の実施形態による学習装置100の例示的構成を示す。学習装置100は、時系列入力データに対応するモデル10を学習するための装置とすることができる。学習装置100は、時系列データをモデルのノードに供給することによって、ボルツマン・マシンに基づくモデルを学習するように動作可能である。学習装置100は、取得セクション110と、供給セクション120と、ストレージ・セクション130と、計算セクション140と、学習処理セクション150とを含む。
取得セクション110は、時系列入力データを取得するように動作可能である。時系列入力データは、例えば、動画データなどの、時間軸に沿って複数のデータが配置されたデータ・シーケンスとすることができる。取得セクション110は、ユーザが操作するデバイス又は時系列データを検出し、出力するデバイス(センサ)に接続し、そうしたデバイスから時系列入力データを取得することができる。或いは、取得セクション110は、ストレージ・デバイス内に所定の形式で格納される時系列入力データを読み出し取得することができる。或いは、取得セクション110は、ネットワークに接続し、ネットワークを介して時系列入力データを取得することができる。また、取得セクション110は、取得した時系列入力データを、学習装置100内に含まれるストレージ・デバイスに格納することもできる。
供給セクション120は、時系列入力データにおける、一時点(one time point)の入力データに対応する複数の入力値を、モデルの複数のノードに供給するように動作可能である。供給セクション120は、取得セクション110に接続され、受け取った時系列入力データのうちの一時点の入力データを訓練データ(training data)として処理し、一時点の入力値をモデルの対応するノードに供給することができる。一時点の入力データは、学習で用いる訓練データの中で時間的に最新のデータとすることができる。或いは、一時点の入力データは、学習で用いる訓練データの中で時間的に中間のデータとすることもできる。つまり、一時点の入力データは時系列データから任意に選択することができる。
ストレージ・セクション130は、時系列入力データにおける、複数の時点に対応するモデルの隠れノードの値を格納するように動作可能である。ストレージ・セクション130は、一時点に対応する隠れノードの値をサンプリングし、これらの値を、この時点に対応する隠れノードに格納することができる。ストレージ・セクション130は、サンプリングした値をそれぞれ、各時点について時点に対応する隠れノードに格納することができる。
計算セクション140は、入力データ・シーケンスが発生したという条件下で一時点の各入力値の条件付き確率(conditional probability)を計算するように動作可能である。ここで、時系列入力データにおいて、一時点におけるモデルのそれぞれのノードに入力されたデータを、一時点の入力値と呼び、一時点より前の時点のそれぞれのノードに入力されたデータを、入力データ・シーケンスと呼ぶ。学習装置100により用いられるモデルは、(i)複数の隠れノードと入力データ・シーケンスにおける一時点より前の各時点における入力データに対応する複数の入力値との間、及び(ii)一時点に対応する複数の隠れノードと複数の入力ノードとの間の重みパラメータを有することができる。
計算セクション140は、時系列入力データにおける一時点より前の入力データ・シーケンス、隠れノードの格納された値、及びモデルの重みパラメータに基づいて、一時点の各入力値の条件付き確率を計算するように動作可能である。さらに、計算セクション140は、時系列入力データにおける一時点より前の入力データ・シーケンス、及びモデルの重みパラメータに基づいて、入力データ・シーケンスが発生したという条件下で、一時点の各隠れノードの値の条件付き確率を計算するように動作可能である。
学習処理セクション150は、モデルの重みパラメータを調整することによって、入力データ・シーケンスが発生したという条件下で生じる一時点の入力データの条件付き確率を高めるように動作可能である。学習処理セクション150は、モデルの複数のノード及び隠れノードのそれぞれに与えられたバイアス・パラメータをさらに調整することができる。学習処理セクション150は、モデルの調整された重みパラメータ及びバイアス・パラメータを、外部データベース1000などのストレージ・データベースに供給し、これらのパラメータをストレージ・デバイスに格納することができる。
上述した学習装置100は、時系列入力データにおける一時点の入力データに基づき、モデルの重みパラメータ及びバイアス・パラメータを調整することによってモデルを学習するように動作可能である。図2を参照して、モデルについて説明する。
図2は、本発明の実施形態によるモデル10の例示的な構成を示す。モデル10は、複数の共通層(common layer)12を含む。図2は、合計T個の共通層12を含む例を示す。モデル10は、有限数の共通層12を含むことができる。各共通層12は、入力層14及び隠れ層16を含む。
各入力層14は、時系列データに対応する層とすることができる。各入力層14は、時系列データにおけるそれぞれの時点に対応し得る。各入力層14は、所定数のノードを含むことができる。例えば、0番目の入力層は、時系列データにおける一時点の入力データに対応する層とすることができる。0番目の入力層は、この入力データにおける入力値の数に対応する複数のノードを含むことができる。
複数の入力層のうちの、0番目の入力層14以外の合計T−1の入力層14は、時系列入力データにおける一時点より前の入力データ・シーケンスに対応する入力層14とすることができる。例えば、−1番目の入力層は、一時点だけ一時点に時間的に先行する時点の入力データに対応し、(−δ)番目の入力層は、δ時点だけ一時点に時間的に先行する時点の入力データに対応し得る。つまり、0番目の入力層以外の合計T−1の入力層はそれぞれ、例えば、0番目の入力層と同数のノードを有し、入力データ・シーケンスにおける対応する入力データ値の入力値が供給される。
各隠れ層16は、時系列データにおけるそれぞれの時点に対応し得る。例えば、0番目の隠れ層は、時系列データにおける一時点に対応する層とすることができる。図2は、合計Tの隠れ層16を含む例を示す。各隠れ層16は、1つ又は複数の隠れノードを含むことができ、ストレージ・セクション130は、一時点においてサンプリングされた値を格納することができる。
複数の隠れ層16の中の0番目の層以外の合計T−1の隠れ層は、時系列データにおける一時点より前の時点に対応する隠れ層16とすることができる。例えば、−1番目の隠れ層は、一時点だけ一時点に時間的に先行する時点に対応し、ストレージ・セクション130は、一時点だけ一時点に時間的に先行する時点にサンプリングされた値を格納する。さらに、(−δ)番目の隠れ層は、δの時点だけ一時点の入力データに時間的に先行する時点に対応し、ストレージ・セクション130は、δの時点だけ一時点に時間的に先行する時点にサンプリングされた値を格納することができる。つまり、0番目の隠れ層以外の合計T−1の隠れ層は、例えば、0番目の隠れ層と同数のノードをそれぞれ有し、対応する隠れノードの値がそれぞれ供給される。
一例として、時系列入力データが動画データである場合、動画データの最後の画像データが0番目の入力層に対応し、0番目の入力層の複数のノードはそれぞれ、画像データの対応するピクセル・データを受け取る。さらに、0番目の隠れ層は、動画データの最後の時点に対応し、ストレージ・セクション130は、0番目の隠れ層の隠れノードにおけるこの最後の時点においてサンプリングされた値を格納することができる。
さらに、−1番目の入力層には、最後の画像データの直前の画像データが供給され、−1番目の入力層の複数のノードのそれぞれは、直近の画像データの対応するピクセル・データを受け取る。さらに、−1番目の隠れ層は、最終時点の直近の時点に対応し、−1番目の隠れ層の複数のノードについて、ストレージ・セクション130は、この直近の時点においてサンプリングされた値を格納することができる。同様に、−δ番目の入力層の複数の層はそれぞれ、δの画像だけ最後の画像データに先行する画像データの対応するピクセル・データを受け取り、(−δ)番目の隠れ層の複数のノードはそれぞれ、δの時点だけ最終時点に先行する時点において対応するサンプリング値を格納することができる。
図2は、各共通層12が入力層14及び隠れ層16を含むが、代わりに、1つ又は複数の共通層12は隠れ層16を含む必要がない例を示す。こうした場合、0番目の共通層乃至(−m)番目の共通層は、入力層14及び隠れ層16を含み、(−m−1)番目の共通層乃至(−T+1)番目の共通層は入力層14を含むことができる。
0番目の入力層における複数のノード及び/又は0番目の隠れ層における複数の隠れノードはそれぞれ、バイアス・パラメータを有し得る。例えば、共通層12におけるj番目のノードjは、バイアス・パラメータbを有する。
0番目の入力層における複数のノード、並びに入力データ・シーケンスに対応する隠れ層及び一時点より前の入力データ・シーケンスに対応する層のノードはそれぞれ、それらの間の重みパラメータを有し得る。これらは、各入力層14及び隠れ層16における複数のノードの間の重みパラメータである必要はない。
同様に、0番目の隠れ層における複数のノード、並びに入力データ・シーケンスに対応する隠れ層及び一時点より前の入力データ・シーケンスに対応する層のノードはそれぞれ、それらの間の重みパラメータを有し得る。つまり、0番目の共通層の複数のノード、及び一時点より前の複数の共通層のノードはそれぞれ、それらの間の重みパラメータを有し得る。
図2は、0番目の入力層のノードjと(−δ)番目の層のノードiとの間の重みパラメータWij [δ]の概念を示す。図2は、モデル10が同数の入力層14及び隠れ層16を有し、各入力層14がI個のノードを含み、各隠れ層16がH個の隠れノードを含む例を示す。本実施形態において、入力層14及び隠れ層16は、複数のノードx [t]を有する1つの共通層12により表される。共通層12の1番目乃至I番目のノード(1≦j≦I)は、入力層14のノードを示し、(I+1)番目乃至(I+H)番目のノード(I+1,j,I+H)は、隠れノードを示す。
例えば、図2に示される重みパラメータWij [δ]は、入力層14の2つのノード間の重みパラメータを示す。同様に、重みパラメータWij [δ]は、入力ノードと隠れノードの間の重みパラメータ、隠れノードと入力ノードの間の重みパラメータ、及び隠れノード間の重みパラメータを含むことができる。重みパラメータWij [δ]の具体例は、次式に示される通りである。本実施形態において、入力ノード又は隠れノードと入力ノード間の重みパラメータは、「入力データに対する重みパラメータ」と呼ばれ、入力ノード又は隠れノードと隠れノード間の重みパラメータは、「隠れノードに対する重みパラメータ」と呼ばれる。
Figure 2020505672
ここで、例えば、ui,j,k及びvi,j,lは、学習ターゲットとなる学習パラメータである。さらに、λ t1及びμ t2は、一時点より前の入力データ・シーケンスにおける隠れノード及び入力データと、一時点における隠れノード及び入力ノードとの間の時点差δに従って所定の方法で変化する所定の(predefined)パラメータである(t1=δ−dij、t2=−δ)。つまり、重みパラメータWij [δ]は、学習パラメータui,j,k及びvi,j,lと、所定のパラメータλ t1及びμ t2とに基づくパラメータとすることができる。
重みパラメータWij [δ]は、第1の学習パラメータui,j,kと第1の所定のパラメータλ t1の積に基づいた正の値と、第2の学習パラメータvi,j,lと第2の所定のパラメータμ t2の積に基づいた負の値とに基づくパラメータとすることができる。具体的には、時点差δが所定の遅延定数dijより大きいか又はこれに等しいの場合、重みパラメータWij [δ]は、第1の学習パラメータui,j,kと第1の所定のパラメータλ t1の積に基づいた正の値とすることができる。また、時点差δが遅延定数dijより小さくかつ0でない場合、重みパラメータWij [δ]は、第2の学習パラメータvi,j,lと第2の所定のパラメータμ t2の積に基づいた負の値とすることができる。さらに、時点差δが0に等しい場合、重みパラメータWij [δ]は、0に等しくなり得る。
さらに、時点差δが所定の遅延定数dijより大きいか又はこれに等しい場合、重みパラメータWij [δ]は、複数の第1の学習パラメータui,j,k及び複数の第1の所定のパラメータλ t1の中からそれぞれ、複数のセットの第1の学習パラメータui,j,kと第1の所定のパラメータλ t1の積ui,j,k・λ t1に基づいた複数の正の値に基づき得る。さらに、時点差δが遅延定数dijより小さくかつ0でない場合、重みパラメータWij [δ]は、複数の第2の学習パラメータvi,j,l及び複数の第2の所定のパラメータμ t2の中からそれぞれ、複数のセットの第2の学習パラメータvi,j,lと第2の所定のパラメータμ t2の積vi,j,l・μ t2に基づいた複数の負の値とに基づき得る。
所定のパラメータは、所定の定数を、時点差δに基づいた値で累乗した値に基づくパラメータとすることができる。第1の所定のパラメータλ t1は、例えば、時点差δが大きくなるにつれてその値が漸減するパラメータである。この場合、第1の所定のパラメータλ t1は、0より大きくかつ1より小さい第1の定数λを、時点差δから所定の遅延定数dijを減算して得られる値(δ−dij=t1)で累乗した値であり得る。さらに、第2の所定のパラメータμlt2は、例えば、時点差δが大きくなるにつれてその値が漸減するパラメータであり得る。この場合、第2の所定のパラメータμ t2は、0より大きくかつ1より小さい第2の定数μを、時点差δの負の値(−δ=t2)で累乗した値であり得る。
上述したモデル10は、ボルツマン・マシンを形成するように動作可能である。つまり、モデル10は、時系列データを適用するボルツマン・マシンとすることができる。モデル10は、時系列データが入力される入力層に加えて、時系列データとは異なる入力値である隠れ層を含むボルツマン・マシンとすることができる。学習装置100は、モデル10の0番目の入力層に供給される一時点の入力データを訓練データとして用いて、隠れノードの値をサンプリングし、格納しながら、学習パラメータui,j,k及びvi,j,lとバイアス・パラメータbとを調整することによってモデル10を学習する。図3を参照して、学習装置100の学習動作について説明する。
図3は、学習装置100の動作フローを示す。学習装置100は、時系列入力データに対応するモデル10を学習し、S310〜S360の処理ステップを実行することによって、学習パラメータui,j,k及びvi,j,l、並びにバイアス・パラメータbを決定するように動作可能である。隠れノードの重みパラメータ及び入力ノードの重みパラメータの決定が、実質的に同じ動作を用いて学習装置100により実行される例を説明する。
最初に、取得セクション110が、時系列データを取得する(S310)。取得セクション110は、モデル10の0番目の層から(−T+1)番目の層までの合計Tの層に等しい期間の時系列データを取得することができる。取得セクション110は、例えば、動画データを形成するT個の画像データを時系列で取得する。
次に、供給セクション120が、一時点の時系列入力データの入力データに対応する複数の入力値を、モデル10の0番目の入力層の複数の入力ノードに供給することができる(S320)。ここで、x[1,I] [0](=x [0],1≦j≦I)は、0番目の入力層に供給される入力データを示す。
供給セクション120は、例えば、最新の時点の時系列入力データの入力データx[1,I] [0]に対応するIの入力値x [0]を、0番目の入力層の対応するノードjに供給する(1≦j≦I)。例えば、供給セクション120は、動画データを形成するように時系列で配置されたT個の画像データの最後に含まれるI個のピクセル・データを、0番目の入力層のI個のノードに供給する。供給セクション120は、1又は0の値をピクセル・データとして、0番目の入力層の各ノードに供給することができる。時系列入力データの期間がTより短い場合、供給セクション120は、データを、時系列の長さに対応する0番目の入力層から多数の層に供給し、例えば0の値を層の残りのノードに供給することができる。
次に、供給セクション120は、一時点より前の入力データ・シーケンスに対応する複数の入力値を、モデル10の−1番目の入力層から(−T+1)番目の入力層までのそれぞれの層に含まれる複数のノードに供給することができる。ここで、x (−T,−1]は、−1番目の入力層から(−T+1)番目の入力層までに供給される入力データを示すものとする(1≦j≦I)。用語(−T,−1]は、(−T+1)番目の層から−1番目の層までの層を示す。つまり、時系列データにおける入力データx (−T,−1]は、例えば、入力データx [0]に至るまでの履歴を示す。
次いで、ストレージ・セクション130は、一時点に対応する複数の隠れノードの値をサンプリングし、これらの値を、0番目の隠れ層の対応する複数の隠れノード内にそれぞれ格納する(S330)。ストレージ・セクション130は、任意に又はランダムに、1又は0の値を入力することができる。ストレージ・セクション130は、H個のサンプリング値を、例えば、0番目の隠れ層の対応する隠れノードjに格納する(I+1≦j≦I+H)。
ストレージ・セクション130は、一時点より前の隠れノードの値を、モデル10の−1番目の隠れ層から(−T+1)番目の隠れ層までの対応する隠れ層の各々における複数のノードにそれぞれ格納することができる。x (−T,−1]は、−1番目の隠れ層から(−T+1)番目の隠れ層までの層内に格納される隠れノードの値を示すものとする(I+1≦j≦I+H)。つまり、一時点より前の各共通層12のノードに入力された値x (−T,−1]は、例えば、0番目の共通層のノードに入力された入力値x [0]に至るまでの履歴を示す(1≦j≦I+H)。
次に、計算セクション140は、(−T+1)番目の共通層から−1番目の共通層までの複数のノードの入力値x (−T,−1](1≦j≦I+H)と、重みパラメータWij [δ]とに基づいて、一時点の入力ノードの各入力値x [0](1≦j≦I)の条件付き確率を計算することができる(S340)。計算セクション140は、共通層12の複数のノードの履歴x(−T,−1](1≦j≦I+H)に基づき、次式のx [0]に1を代入することにより、1に等しい0番目の入力層のj番目のノードの入力値x [0](1≦j≦I)の確率<x [0]θを計算する。
Figure 2020505672
各ノードの入力値x [0]が2進数、すなわち1又は0である例を説明するが、入力値x [0]の値はこれらの値に限定されるものではない。さらに、0番目の入力層の各入力値x [0](1≦j≦I)の条件付き確率を計算するためのステップにおいて、計算セクション140は、0番目の隠れ層の値x [0](I+1≦j≦I+H)の条件付き確率を計算することができる。
式2は、ボルツマン・マシンとして既知の確率式から導かれる。例えば、θは、計算すべきパラメータのセットを示し、式θ=(b,ui,j,k,vi,j,l)が確立される。さらに、τは、ボルツマン・マシンの既知の「システム温度」に依存するパラメータとすることができ、ユーザ等によって予め設定することができる。また、式2のEθ,j(x [0]|x(−T,−1])は、次式を用いて計算される。
Figure 2020505672
ここで、「T」は転置を示し、「:」は、n(=I+H)がノード数を示す場合に1乃至nを示し、「:,j」は、j番目の列の抽出を示す。つまり、式3の右辺の第2項は、例えば、次式により示される。
Figure 2020505672
ここで、αi,j,k、βi,j,l、及びγi,lは、次式により示される。
Figure 2020505672

Figure 2020505672

Figure 2020505672
従って、式2のx [0]に1を代入することにより得られるPθ,j(1|x (−T,−1])は、式5のx [0]に1を代入することにより、式3から計算することができる。所定の初期値(例えば、0)をパラメータ・セットθ=(b,ui,j,k,vi,j,l)に代入できることに留意されたい。このように、計算セクション140は、式2により示される一時点の各入力値x [0]の条件付き確率<x [0]θを計算することができる。
次に、学習処理セクション150が、パラメータ・セットθ=(b,ui,j,k,vi,j,l)を調整することができる(S350)。バイアス・パラメータbを調整するとき、学習処理セクション150は、次式を用いることによって、バイアス・パラメータbの変化の方向を定めることができる。
Figure 2020505672
ここで、式8の右辺のx [0]は、供給セクション120により訓練データとして供給された入力値を示し、右辺の<x [0]θは、式2を用いて計算された確率を示す(1≦j≦I)。各入力ノードについてのバイアス・パラメータb(1≦j≦I)は、式8を用いて次式により示されるように、調整及び更新することができる。係数cは、ユーザ等により予め定められるパラメータであることに留意されたい。
Figure 2020505672
つまり、学習処理セクション150は、共通層12の履歴x(−T,−1]が発生したという条件下で生じる0番目の入力層のノードの入力値x [0]の条件付き確率を高めるように、バイアス・パラメータbを調整する。学習処理セクション150は、式9により示されるバイアス・パラメータbの更新、及び式2により示される確率<x [0]θの計算を繰り返し実行して、バイアス・パラメータbを決定することができる。更新前と更新後のバイアス・パラメータbの差が所定の閾値より小さいか又はこれに等しい場合、学習処理セクション150は、バイアス・パラメータbの更新を停止し、バイアス・パラメータbを決定する。バイアス・パラメータbが、隠れノードについても設定される場合、学習処理セクション150は、隠れノードのバイアス・パラメータbを同じ方法で決定することができる。
或いは、学習処理セクション150は、所定の回数、バイアス・パラメータbの更新を繰り返すことによって、バイアス・パラメータbを決定することもできる。バイアス・パラメータbを所定の回数だけ更新した後でも、更新前及び更新後のバイアス・パラメータbの差が所定の閾値より大きいか又はこれに等しい場合、学習処理セクション150は、バイアス・パラメータbの更新を停止し、パラメータが収束しないことをユーザに通知することができる。
同様に、学習パラメータui,j,kを更新する場合、学習処理セクション150は、次式によって、学習パラメータui,j,kの変化の方向を定めることができる。
Figure 2020505672
また、学習パラメータvi,j,lを更新する場合、学習処理セクション150は、次式によって、学習パラメータvi,j,lの変化の方向を定めることができる。
Figure 2020505672
バイアス・パラメータbの更新と同様に、学習処理セクション150は、入力ノードに対応する学習パラメータui,j,k及びvi,j,l(1≦j≦I)の更新、及び確率<x [0]θの計算を繰り返し実行して、入力ノードに対応する学習パラメータui,j,k及びvi,j,l(1≦j≦I)を定めることができる。或いは、学習処理セクション150は、パラメータ・セットθ=(b,ui,j,k,vi,j,l)を更新し、次に、式2により示される確率<x [0]θを計算するための動作を繰り返し実行して、パラメータ・セットθ=(b,ui,j,k,vi,j,l)を定めることができる。
上述のように、学習処理セクション150は、学習により、学習パラメータui,j,k及びvi,j,l、並びにバイアス・パラメータbを決定することができる。次に、学習装置100は、学習を継続するかどうかを決定することができる(S360)。学習装置100は、学習プロセスを所定の回数だけ実行するまで学習を継続することができ、又はユーザにより停止コマンドが入力されるまで学習を継続することができる。或いは、学習装置100は、取得できる時系列データがなくなるまで、学習を継続することができる。
学習装置100が学習を継続する場合(S360:イエス)、プロセスは、ステップS310に戻り、そこで、取得セクション110が次の時系列データを取得し、次に、学習装置100は、次の時系列データに基づいて、モデル10の学習を実行することができる。例えば、供給セクション120は、取得セクション110により取得される画像データにおける次の画像を、0番目の入力層に供給する。さらに、ストレージ・セクション130は、隠れ層の値をサンプリングし、これらの値を0番目の隠れ層に格納する。次に、t番目の共通層内に保持される値(−T<t<0)を、(t−1)番目の共通層に供給することができる。(−T+1)番目の層内に保持される値は、削除することができる。学習装置100は、0番目の入力層から(−T+1)番目の入力層までの層に供給された画像データを訓練データとして用い、0番目の隠れ層から(−T+1)番目の隠れ層までの層内に格納される値を用いて、学習を実行することができる。
このように、供給セクション120及びストレージ・セクション130は、モデル10内の0番目の共通層のノードに対応する次の時点における新しい入力値x [0]を順次取得することができる。次に、計算セクション140は、次の時点より前の各共通層において履歴が発生したという条件下で、新しい入力値x [0]の条件付き確率<x [0]θを計算することができる。学習処理セクション150は、この履歴が発生したという条件下で生じる新しい入力値の条件付き確率を高めるように、重みパラメータを調整することができる。
学習処理部セクション150が学習を停止する場合(S360:ノー)、学習処理セクション150は、決定した学習パラメータui,j,k及びvi,j,l、並びにバイアス・パラメータbを出力し、パラメータを外部データベース1000等に格納することができる。
上述のように、学習装置100は、一時点を0番目の共通層と関連付け、一時点より前の入力データ・シーケンスをT−1の層と関連付けることによって、合計Tの層を有するモデルを、時系列に入力された時系列入力データに適用するように動作可能である。学習装置100は、隠れノードを有するモデルを各共通層12に適用するようにも動作可能である。つまり、学習装置100は、入力データ・シーケンス及び隠れノード値に基づいて、一時点の入力データを予測する時間発展ボルツマン・マシンを形成するように動作可能である。
学習装置100は、時間発展を考慮に入れるモデルに対し、履歴である入力値x(−T,−1]に基づき、発生する一時点の入力値x [0]の条件付き確率を計算することにより、モデルを学習することができる。さらに、学習装置100は、時系列入力データに加えて隠れノードを用いてモデルを学習するので、表現能力及び学習能力が改善され得る。
時系列入力データから新しい入力データを順次取得し、取得した各入力データについての重みパラメータを調整する学習装置100の説明が与えられた。この構成の代わりに、学習装置100は、所定の期間の時系列入力データを取得し、次に、重みパラメータを調整することもできる。例えば、学習処理セクション150は、D個の層に対応する、複数の時点の新しい入力データの取得に応じて、複数の時点について重みパラメータをまとめて調整する。
図4は、本発明の実施形態において学習に用いられる時系列データ及び訓練データの構造の例を示す。図4において、横軸は時間を示す。図4は、学習の際、学習装置100により訓練データとして用いられる時系列データy[1,T]の期間Tよりも長い期間Lを有する時系列データy[1,L]を学習装置100が用いる例を示す。この場合、学習処理セクション150は、複数の時点の入力データが新たに取得されることに応じて、複数の時点についての重みパラメータをまとめて調整するように動作可能である。
学習装置100は、最初に、時間1から時間Tまでの時系列データの時系列データ・セグメントを、第1の訓練データとして用いて学習を実行する。この場合、図3に述べられるように、学習装置100は、時間1から時間Tまでの時系列データ及び対応する隠れ層の値を、一時点の共通層12の各入力値として順番に設定し、将来に向かけて時点を一度に1つずつ徐々にシフトすることによって、学習を実行することができる。学習装置100は、時間Tにおけるデータを一時点の各入力値x [0]として使用し、時間1から時間T−1までの時系列データが入力データ・シーケンスx(−T,−1](すなわち、履歴)になるまで、学習を継続することができる。
次に、学習装置100は、時間2から時間T+1の時系列データの時系列データ・セグメントを、第2の訓練データとして用いて学習を実行する。学習装置100は、第2の訓練データにおけるD個のデータの各々を、一時点の入力値x [0]として順次用いることができる。この場合、学習装置100は、時間2から時間T+1までの間隔において、一度に一時点だけ将来の方向に時点をシフトして、時間2から時間Tまでの間隔における対応する時系列データ及び隠れノードを履歴として用いることができる。このように、学習装置100は、D個の各入力値x [0]及び対応するD個の履歴についてパラメータをD回調整することができる。つまり、学習装置100は、式8から式11までに説明される学習方法を実行する確率的勾配技術を用いることができる。
或いは、学習装置100は、D個の時系列データ・セットを取得し、期間Lの時系列データ・セグメントから複数の訓練データ・セットを生成し、D個の層に対する学習をまとめて実行することができる。具体的には、学習装置100は、次式を用いて、D個の層に対して式8から式11までをまとめて用いて説明する確率的勾配技術を実行することができる。
Figure 2020505672
図5は、学習装置100の変形形態を示す。図1に示される学習装置100のものと実質的に同じ動作を実行する、図5に示される学習装置100のコンポーネントは、同じ参照番号で示され、その説明は省略される。図4で説明されるような期間Lの時系列データが与えられる場合、変形形態の学習装置100は、FIFOメモリを用いてパラメータを効率的に更新、時系列入力データに対応するモデルを学習するように動作可能である。変形形態の学習装置100は、FIFOメモリ160と、更新セクション170とをさらに含む。
FIFOメモリ160の各々は、入力データを順次格納し、所定数の格納が実行された後、格納したデータを出力することができる。FIFOメモリ160の各々は、最初に格納されたデータを最初に出力する(FIFO:先入れ先出し(First In First Out))メモリとすることができる。
FIFOメモリ160の各々は、共通層12の入力値を順次格納し、所定数の格納が実行された後、入力値を出力することができる。学習装置100は、複数のFIFOメモリ160を含むことができ、その数は、モデルのノードnの数より大きいか又はこれに等しい。複数のFIFOメモリ160が、共通層12の複数のノードと一対一対応を有するように設けられることが望ましい。つまり、複数のFIFOメモリ160の各々を、共通層12のそれぞれのノードについての履歴を格納するように、又はその履歴を更新するように設けることができる。
複数のFIFOメモリ160は、取得セクション110及びストレージ・セクション130に接続され、共通層12の新しい入力データに対応する入力値を順次格納する。また、複数のFIFOメモリ160は、更新セクション170にも接続され、そこに格納されたデータを更新セクション170に順次供給する。
更新セクション170は、一時点より前の時系列入力データの隠れノード及び入力データ・シーケンスに基づいた複数の更新パラメータを、更新パラメータの値、及び隠れノードの値、並びに次に反映すべき入力データに対応する入力値に基づいて、前の時点の値から一時点の値へと更新するように動作可能である。更新セクション170は、FIFOメモリ160に入力された値及びFIFOメモリ160から出力された値を用いて、更新パラメータを更新することができる。更新セクション170は、取得セクション110及びストレージ・セクション130に接続することができ、FIFOメモリ160に入力された値を受け取ることができる。或いは、更新セクション170は、供給セクション120を介して、取得セクション110からFIFOメモリ160に入力された値を受け取ることができる。
ここで、更新パラメータは、式5及び式7に示されるαi,j,k及びγi,lである。この場合、更新パラメータは、例えば、各時点の入力データ・シーケンスの入力データに対応する入力値i(1≦i≦I)と、この入力値iとターゲットとする入力ノードj(1≦j≦I)又は隠れノードj(I+1≦j≦I+H)との間の重みパラメータWij [δ]の所定のパラメータλ t1及びμ t2とに基づく。別の例として、更新パラメータは、例えば、各時点の隠れノードi(I+1≦i≦I+H)と、この隠れノードiとターゲットとする入力ノードj(1≦j≦I)又は隠れノードj(I+1≦j≦I+H)との間の重みパラメータWij [δ]の所定のパラメータλ t1及びμ t2とに基づく。
更新パラメータは、取得セクション110による時系列入力データの取得のたびに更新することができ、ストレージ・セクション130によるサンプリング値の格納が順次実行される。変形形態による上述の学習装置100は、モデル10の変形形態を学習するように動作可能である。モデル10の変形形態について、図6を参照して説明する。
図6を参照すると、モデル10は、図2に示されるT層を含む層状構造を有する必要はない。図6は、FIFOメモリ160の1つに対応するモデルの例を示す。従って、モデル10の全体構成は、訓練データを含む図2の0番目の共通層に相当するストレージ領域と、ノードnの数(=I+H)に等しい、図6に示される構成の数を含む。モデル10のニューロンi及びj、並びにFIFOシーケンス20を以下に説明する。
ニューロンiは、FIFOメモリ160の入力端子に相当し得る。各時点tの入力データ・シーケンスの入力データにおける各ノードの入力値y [t](1≦i≦I)及び各時点の隠れノードの値y [t](I+1≦i≦I+H)のうちの対応する値y [t]が、ニューロンiに順次入力される。ニューロンiは、これに入力された入力値y [t]を、現在の入力値として設定することができる。次に、時点t+1において、ニューロンiは、時点tにおいて入力された入力値y [t]を更新セクション170及びFIFOシーケンス20に、前の入力値として供給し、時点t+1の入力値y [t+1]を現在の入力値として保持することができる。
FIFOシーケンス20は、ニューロンiから受け取ったdij−1個の最新の入力値を格納することができる。FIFOシーケンス20は、そこに格納したdij−1個の入力値を更新セクション170に供給することができる。更新セクション170は、FIFOシーケンスにより供給された入力値を用いて、式6により示される更新パラメータの値を計算するように動作可能である。FIFOシーケンス20が時点t−1乃至時点t−dij+1を保持する場合、FIFOシーケンス20は、次式により示される。
Figure 2020505672
時点t1において入力値y [t1]がニューロンiに入力された後、FIFOシーケンス20は、時点t1の次の時点t2(=t1+1)の後の所定の期間dij−1である時点t3(=t1+dij−1)まで、入力値y [t1]を格納することができる。次の時点t4(=t3+1=t1+dij)において、FIFOシーケンス20は、入力値y [t1]をニューロンjに供給することができる。時点t4においてニューロンjに供給された入力値y [t1]は、時点t4において更新セクション170に即座に供給される。しかしながら、ニューロンjが時点t4においてFIFOシーケンス20から受け取った入力値y [t1]は、ニューロンjのための入力とならず、入力値y [t4]が、時点t4においてニューロンjに入力され得る。
ニューロンjは、FIFOメモリ160の出力端子に相当し、ニューロンjは、期間dijの後、FIFOシーケンスを介して時点t1において、すなわち時点t1+dijにおいて、ニューロンiに入力された入力値y [t1]を受け取ることができる。つまり、FIFOシーケンス20を介するニューロンi乃至ニューロンjのモデル10は、dij個の入力データを格納するFIFOメモリ160に対応し得る。さらに、変形形態によるモデル10のニューロンiは、例えば、図2に示されるモデル10の(−δ)番目の共通層のノードiのような、入力データ・シーケンスのノードに対応し、この場合、ニューロンjは、例えば、0番目の共通層のノードjに対応し得る。時点t1+dijにおいて、ニューロンjは、受け取った入力値y [t1]を更新セクション170に供給することができる。
上述のように、モデル10は、時点tにおいて、時点t−1及び時点t−dij+1の入力値を、更新セクション170に供給することができる。このように、更新セクション170は、一時点より前の時点についての更新パラメータの次に反映すべき入力データにおける対応する入力値を加算し、次に、結果として生じる和に所定の定数を乗算することによって、更新パラメータを更新することができる。式8により示される更新パラメータは、更新セクション170に供給されるFIFOシーケンス20に格納された入力値を用いて、式8に従って計算できることに留意されたい。
例えば、式7により示される更新パラメータγi,lは、更新セクション170に供給された入力値及び第2の所定のパラメータを用いて更新することができる。具体的には、更新セクション170は、前の更新パラメータγi,l、及び時点tにおいてニューロンiから受け取った入力値y [t−1]を用いて、次式に従って時点tにおける計算を実行することにより、現在の学習に用いられる更新パラメータγi,lを計算することができる。
Figure 2020505672
図7は、本実施形態による更新パラメータγi,lの時間的変化の例を示す。図7は、0より大きい値(例えば、1)が、時点t−5、t−2、及びt−1における入力値としてニューロンiに入力され、これらの入力値が時点t−4、t−1、及びtにおいて更新セクション170に供給される例を示す。第2の所定のパラメータμは、時点差が増大するにつれて値が漸減するパラメータである。従って、更新セクション170により計算される更新パラメータγi,lは、1の入力値が入力される時から次の入力が与えられるまで時間の経過共に減少する傾向がある。
式5により示される更新パラメータαi,j,kは、更新セクション170に供給される入力値及び第1の所定のパラメータλを用いて更新することができる。具体的には、更新セクション170は、前の更新パラメータαi,j,k及び時点tにおいてニューロンjから受け取った入力値y [t−dij]を用いて、次式に従って時点tにおいて計算することによって、現在の学習に用いられる更新パラメータαi,j,kを計算することができる。
Figure 2020505672
図8は、本発明の実施形態による更新パラメータαi,j,kの時間的変化の例を示す。図8は、0より大きい値(例えば、1)が、時点t−3、t−1、及びtにおける入力値としてニューロンjに供給される例を示す。第1の所定のパラメータλは、時点差が増大するにつれて値が漸減するパラメータである。従って、更新セクション170により計算される更新パラメータαi,j,kは、1の入力値が入力される時から次の入力が与えられる時まで、時間の経過と共に減少する傾向がある。
上述のように、変形形態による学習装置100は、FIFOメモリ160及び更新セクション170を用いて、図6に示されるモデル10を適用することによって、更新パラメータαi,j,k及びγi,lを更新することができる。更新セクション170は、例えば、FIFOメモリ160に入力された入力データから、時点t−1の入力値x [t−1]を取得し、FIFOメモリ160の出力から時点t−dijの入力値x [t−dij]を取得することにより、変形形態によるモデル10を適用できることに留意されたい。
さらに、学習装置100は、図3に説明される動作と実質的に同じ動作により、パラメータβi,j,lを更新することができる。具体的には、計算セクション140は、式6により示されるように、t−1からt−dij+1までの時点について第2の所定のパラメータμと入力値x(本変形形態においてはy)の積の和を求めることにより、パラメータβi,j,lを計算することができる。
このように、変形形態による計算セクション140は、隠れノード及び入力データ・シーケンスが生じたという条件下で、複数の更新パラメータ、一時点の入力データ値の条件付き確率を用いることにより計算することができる。次いで、学習処理セクション150は、図3に説明された動作と実質的に同じ動作を実行することにより、学習パラメータui,j,k及びvi,j,l、並びにバイアス・パラメータbを決定することができる。
言い換えれば、学習装置100は、一時点より前のモデル10の共通層12に入力された過去の値に基づいて、共通層12の入力層14に入力される入力値を予測する確率を上げるように、重みパラメータ及びバイアス・パラメータを決定することができる。さらに、学習装置100は、共通層12が、入力層14に加えて隠れ層16を含むようにすることにより、入力層14に入力される入力値の予測精度、表現能力、学習効率等を改善することができる。
上述した学習装置100は、学習装置100が行った予測に関係しない値がサンプリングされ、隠れ層16に入力される隠れノードとして入力される例である。この代わりに、学習装置100は、共通層12のノードの値の条件付き確率の履歴を用いて、隠れノード値を決定することができる。学習装置100は、この条件付き確率履歴を用いて、隠れノードへの重みパラメータを決定することができる。学習装置100は、共通層12のノードの条件付き確率履歴を用いて、隠れノード及び隠れノード値への重みパラメータを決定することによって、予測精度を改善することができる。
この場合、計算セクション140は、一時点tより前の各時点における共通層12の対応するノードjに入力された値に基づいて、一時点tにおける共通層12のノードjの値の条件付き確率pj,tを計算し、この条件付き確率をストレージ・セクション等に格納することができる。上述した一時点における入力層14の各入力値の条件付き確率の計算に加えて、計算セクション140は、一時点における隠れ層16内の各隠れノードの条件付き確率を同じ方法で計算することができる。つまり、計算セクション140は、複数の更新パラメータを用いて、入力データ・シーケンスが発生したという条件下で、一時点における各隠れノードの値及び各入力データ値の条件付き確率を計算することができる。ここで、計算セクション140は、条件付き確率pj,tをFIFO等に格納することができる。
計算セクション140は、学習装置100による学習が継続した後、全尤度(total likelihood)を計算するように動作可能である。計算セクション140は、例えば、時点t−K+1から時点tまでK個の学習インスタンスによって計算される条件付き確率pj,t−K+1、pj,t−K+2・・・,Pj,tに基づいて、次式に示されるような全尤度pを計算する。式16における全尤度pは、一例として、条件付き確率の合計を示すが、全尤度pは、条件付き確率の和、加重和、積、又は加重積の少なくとも1つとすることができる。さらに、Kは、2より大きい又はこれに等しい整数とすることができ、計算セクション140が条件付き確率pj,tをFIFO等に格納する場合、FIFOシーケンスの長さは、Kの値と等しくなり得る。
Figure 2020505672
計算セクション140は、全尤度pをストレージ・セクション130に供給することができる。ストレージ・セクション130は、最新の尤度pj,tに基づいて、一時点における隠れ層16の隠れノードの値x [t]をサンプリングすることができる。つまり、ストレージ・セクション130は、一時点の各隠れノードの値の条件付き確率を用いて、一時点の各隠れノードの値をサンプリングするように動作可能である。例えば、ストレージ・セクション130は、計算セクション140により計算される条件付き確率の履歴に基づいて、隠れノードの値をサンプリングする。つまり、ストレージ・セクション130は、学習処理セクション150の学習動作を複数回実行した後、隠れノードの値をサンプリングすることができる。ストレージ・セクション130は、学習処理セクション150の学習動作が複数回実行されるまで、0の値を隠れノードにサンプリング値として格納することができる。
ストレージ・セクション130は、全尤度pの値と閾値との比較の結果に従って、1又は0の値をサンプリング結果として隠れノードに格納することができる。このように、入力層14に入力されるべき時系列データを予測するとき、ストレージ・セクション130は、過去の条件付き確率の履歴に基づいてサンプリングを実行することによって、より好ましい値を隠れノードとして格納することができる。
学習処理セクション150は、全尤度pに基づいて重みパラメータを決定するように動作可能である。この場合、学習処理セクション150は、一時点の1つの隠れノードjの重みパラメータにおける学習パラメータui,j,k及びvi,j,kについての更新量△ui,j,k及び△vi,j,kを計算することができる。例えば、学習処理セクション150は、入力データ・シーケンスが発生したという条件下で一時点tの1つの隠れノードjの値x [t]、及び一時点tのこの隠れノードjの値の条件付き確率<X [t]>に基づいて、次式に示されるようにこれらの更新量△ui,j,k及び△vi,j,kを計算することができる(I+1≦j≦I+H)。
Figure 2020505672
ここで、更新量△ui,j,k [t]は、△vi,j,k (1)[t]+△ui,j,k (2)[t]に等しい。隠れノードjの値の条件付き確率<X [t]>は、式2を用いて計算セクション140により計算することができる。学習処理セクション150は、計算した更新量△vi,j,k [t]、△ui,j,k (1)[t]、及び△ui,j,k (2)[t]をストレージ・セクション等に格納することができる。学習処理セクション150は、一時点について計算された更新量△vi,j,k [t]、△ui,j,k (1)[t]、及び△ui,j,k (2)[t]をFIFOシーケンスに格納するように動作可能である。つまり、学習処理セクション150は、過去に計算された更新量に基づいて学習パラメータを更新するように動作可能である。
学習処理セクション150は、例えば、一時点tより後である次の時点に発生する入力データの条件付き確率に応じて、更新量を学習パラメータに反映させる比率を変える。この場合、学習処理セクション150は、一時点より後である複数の次の時点に発生する複数の隠れノード値の条件付き確率に応じて、更新量を学習パラメータに反映させる比率を変えることができる。一時点より後の全尤度pに応じて、学習パラメータにおいて更新量を反映させる比率を変える例を説明する。
学習処理セクション150は、例えば、時点t−K+1から時点tまでの学習のK個の学習インスタンスにより計算された全尤度p、及び時点t−K+1の更新量に基づいて、次式に示されるように学習パラメータを更新することができる。ここで、Kは、2より大きいか又はこれに等しい整数とすることができ、学習処理セクション150は、更新量をFIFOシーケンス等に格納する場合、FIFOシーケンスの長さは、Kの値に等しくなり得る。
Figure 2020505672
ここで、ηは、更新量を調整するための定数とすることができる。或いは、ηは、更新数の増加に従って値が小さくなる係数とすることもできる。さらに、ηは、学習処理セクション150が学習を開始する段階において、実質的に1の値を有することができ、時間が時点tから経過するにつれて生じる学習の量に応じて値が小さくなる係数とすることもできる。例えば、η=η10/tである。さらに、ηは、更新量に応じて値が小さくなる係数とすることもできる。例えば、η=η10/(Σ△ui,j,k 1/2である。ここで、η10は、所定の定数とすることができる。
上述した方法において、学習処理セクション150は、一時点より前の時点で計算された条件付き確率に応じて、一時点の隠れノードの学習パラメータを更新することができる。このように、学習装置100は、一時点より前の時点の重みパラメータに起因して入力ノードの入力値の予測確率が大きいことに応答して、学習パラメータにおける一時点より前の時点の更新量をより大きく反映させることができる。つまり、学習装置100は、条件付き確率を増大させるように、隠れノードの重みパラメータを更新することができる。
FIFOシーケンスを用いてこうした重みパラメータの更新を実行する場合、学習処理セクション150は、次の時点(例えば、t)又はその後の時点における過去の時点(例えば、t−K+1)の更新量△vi,j,k [t−K+1],△ui,j,k (1)[t−K+1]、及び△ui,j,k (2)[t−K+1]を、FIFOシーケンスから抽出することができる。学習処理セクション150は、次の時点tに発生する隠れノード値の条件付き確率に応じて、FIFOシーケンスから抽出された更新を学習パラメータに反映させる比率を更新することができる。例えば、学習処理セクション150は、全尤度pをそれぞれ各更新量と乗算することができる。このように、学習処理セクション150は、上述のように重みパラメータの更新を効率的に実行することができる。
上述のように、学習装置100は、時系列入力データにおける一時点より前の入力データ系列に基づいて、一時点の入力データを予測する方法で、モデル10を学習することができる。さらに、学習装置100は、隠れノードを含ませることにより、表現力、学習力等を改善することができる。こうした学習装置において、学習を実行するのが比較的難しい場合がある。
例えば、一時点の隠れノードの場合、特定量の時点がまだ経過していない場合、この隠れノード値が効果的であるかどうかを評価するのは困難である。従って、隠れノードが用いられる場合、入力データ系列と一時点における隠れノードとの間の重みパラメータについての学習装置100の学習精度が、入力データ系列と一時点における入力ノードとの間の重みパラメータについての学習精度より低い場合がある。さらに、入力データ系列における特徴的なデータ傾向がある場合、学習がこのデータ傾向に影響を受け、過剰適合(overfitting)がなされる場合があり、将来のデータ予測に対する適切でない学習をもたらす。
従って、学習装置100は、時系列入力データがモデル10に入力される順番を変更し、双方向学習プロセスを実行することによって、学習をさらに改善するように動作可能である。以下は、こうした学習装置100について説明する。
学習装置100が、時系列入力データにおける一時点より前の入力データ系列に基づいて、一時点の入力データを予測する方法でモデル10を学習するように動作可能である。このように、学習装置100は、過去のデータから将来のデータへの順番で、時系列入力データがモデル10に入力される学習プロセスを実行する順方向モデル(forward model)である第1のモデルを作成する。
図9は、第1のモデルの例示的な概略的構成を示す。図9は、図2に示されるモデル10に対応する第1のモデルの概略的構成を示す。図9では、一時点tの入力層14におけるノードjの値は、x [t](1≦j≦I)で示され、一時点tの隠れ層16におけるノードjの値は、h [t](I+1≦j≦H)で示される。さらに、一時点tより前の複数の入力層14におけるノードiの値は、x [:t−1](1≦i≦I)で示され、一時点tより前の隠れ層16におけるノードiの値は、h [:t−1](I+1≦i≦H)で示される。
上述のように、第1のモデルは、時系列入力データ・シーケンスにおける各時点の複数の入力値を順次入力する複数の入力ノードjと、各入力ノードjと複数の入力ノードjに対応する時点より前の時点における各入力値x [:t−1]との間の重みパラメータWij [δ]とを含むことができる。ここで、一時点より前の複数の入力層14と一時点の入力層14との間の重みパラメータは、WVVである。さらに、第1のモデルは、各入力ノードjと複数の入力ノードjに対応する時点より前の時点に対応する時点より前の時点に対応する複数の隠れノードiの各々との間の重みパラメータWij [δ]を含むことができる。ここで、一時点tより前の複数の隠れ層16と一時点tの入力層14との間の重みパラメータは、WHVである。
第1のモデルは、複数の入力ノードjに対応する時点より前の時点に対応する各入力ノードiと複数の入力ノードjに対応する時点に対応する各隠れノードjとの間の重みパラメータWij [δ]をさらに含むことができる。ここで、一時点tより前の複数の入力層14と一時点tの隠れ層16との間の重みパラメータは、WVHである。第1のモデルは、複数の入力ノードjに対応する時点より前の時点に対応する複数の隠れノードiの各々と複数の入力ノードjに対応する時点に対応する隠れノードjの各々との間の重みパラメータWij [δ]をさらに含むことができる。ここで、一時点tより前の複数の隠れ層16と一時点tの隠れ層16との間の重みパラメータは、WHHである。
bが第1のモデルのバイアス・パラメータを表す場合、一時点における入力ノードj及び隠れノードjの条件付き確率pは、次式に基づいて算出することができる。第1のモデルにおける各パラメータの更新は、上述のとおりである。
Figure 2020505672
ここで、学習のための時間系列入力データは既知であるので、この時間系列入力データがモデル10に入力される順番は、第1のモデルにおけるように、過去のデータから将来のデータへの順方向の順序に限定されない。学習装置100は、時系列入力データにおける一時点より後の入力データ系列に基づいて一時点の入力データを予測する方法でモデル10を学習するように動作可能である。このように、学習装置100は、将来のデータから過去のデータへの順序で時系列入力データをモデル10に入力する学習プロセスを実行する逆方向モデル(backward model)である第2のモデルを作成する。
図10は、第2のモデルの例示的な概略的構成を示す。図10は、図2に示されるモデル10に対応する第2のモデルの概略的構成を示す。図10では、一時点tの入力層14におけるノードjの値は、x [t](1≦j≦I)により示され、一時点tの隠れ層16におけるノードjの値は、h [t](I+1≦j≦H)により示される。さらに、一時点tより後の複数の入力層14におけるノードiの値は、x [t+1:](1≦i≦I)により示され、一時点tより後の隠れ層16におけるノードiの値は、h [t+1:](I+1≦i≦H)により示される。言い換えれば、学習動作が第2のモデルを用いて実行された場合、学習装置100は、時系列入力データにおいて時間的に最新のデータから、データをモデル10に入力する。
この場合、第2のモデルは、時系列入力データ・シーケンスにおける各時点の複数の入力値を、逆方向の順序(backward order)に順次入力する複数の入力ノードiと、複数の入力ノードiに対応する時点より後の時点の各入力値x [t]と各入力ノードiとの間の重みパラメータWji [δ]とを含むことができる。ここで、一時点の入力層14と一時点より後の複数の入力層14との間の重みパラメータは、WVVである。さらに、第2のモデルは、複数の入力ノードiに対応する時点より後の時点に対応する複数の隠れノードjの各々と各入力ノードiとの間の重みパラメータWji [δ]を含むことができる。ここで、一時点tの入力層14と一時点tより後の複数の隠れ層16との間の重みパラメータは、WVHである。
第2のモデルは、複数の入力ノードiに対応する時点より後の時点に対応する各入力ノードjと複数の入力ノードiに対応する時点に対応する各隠れノードiとの間の重みパラメータWji [δ]をさらに含むことができる。ここで、一時点tの隠れ層16と一時点tより後の複数の入力層14との間の重みパラメータは、WHVである。第2のモデルは、複数の入力ノードiに対応する時点より後の時点に対応する複数の隠れノードjの各々と複数の入力ノードiに対応する時点に対応する各隠れノードiとの間の重みパラメータWji [δ]をさらに含むことができる。ここで、一時点tの隠れ層16と一時点tより後の複数の隠れ層16との間の重みパラメータは、WHHである。
bが第2のモデルのバイアス・パラメータを表す場合、一時点の入力ノードi及び隠れノードiの条件付き確率pは、次式に基づいて算出することができる。
Figure 2020505672
式19及び式20に示されるように、学習装置100は、第1のモデル及び第2のモデルについて共通の各パラメータを学習するように動作可能である。さらに、第2のモデルを用いる学習装置100の学習動作は、第1のモデルを用いる学習動作と同じ動作を用いて実行するように動作可能である。例えば、第1のモデル及び第2のモデルについてのバイアス・パラメータは、実質的に同じパラメータとすることができる。第1のモデル及び第2のモデルについての重みパラメータWij及びWjiは、それらの間の転置関係に従って変換されるように動作可能である。さらに、第1のモデルの学習パラメータui,j,k及びvi,j,lは、iとjを交換することにより、第2のモデルの学習パラメータuj,i,k及びvj,i,lに変換されるように動作可能である。
第1のモデル及び第2のモデルの所定のパラメータλ t1及びμ t2は実質的に同じパラメータとすることができる。所定のパラメータの値は、時点差に従って決定されるので、所定のパラメータ値は、第1のモデル及び第2のモデルにおける各時点に従って異なるように変化し得る。
このように、変換動作を適用することにより、第1のモデル及び第2のモデルのパラメータが共有される。従って、同じ時系列入力データ・シーケンスに基づく第1のモデルの学習結果及び第2のモデルの学習結果は、理論的に合致することになる。しかしながら、データが入力される方向順序により、学習の容易さの差が生じる場合がある。
例えば、一時点tの入力層14の値及び一時点tより前の入力層14の複数の値は、既に時系列入力データとして知られている。さらに、一時点tより前の隠れ層16の複数の値は、例えば、これらの値がサンプリングされたときから特定量の時点が経過した後に得られた値であり、従って、評価結果は、これらの値の大部分について既に取得されている。従って、第1のモデルにおける一時点tの入力層14に関連する重みパラメータWVV及びWHVは、正確に学習できるパラメータである。
さらに、一時点tの隠れ層16の値は、例えば、サンプリングされた値であり、従って、このサンプリングされた値の評価結果は、幾つかの学習インスタンスが完了した後に既知となる。従って、第1のモデルにおける一時点tの隠れ層16に関連する重みパラメータWVH及びWHHは、学習するのが困難である。本実施形態において、第1のモデルにおいて学習するのが困難な重みパラメータWVHは、第1の学習ターゲット・パラメータとして設定され、正確に学習できる重みパラメータWHVは、第2の学習ターゲット・パラメータとして設定される。
第2のモデルにおいて、同じ方法で、一時点tの入力層14に関連する重みパラメータWVV及びWVHは、正確に学習できるパラメータである。他方、一時点tの隠れ層16に関連するWHV及びWHHは、学習するのが困難である。従って、第2のモデルにおいて正確に学習できる重みパラメータWVHは、第1の学習ターゲット・パラメータとして設定され、学習するのが困難である重みパラメータWHVは、第2の学習ターゲット・パラメータとして設定される。
ここで、第1のモデルの第1の学習ターゲット・パラメータWVHは、過去の入力層14と将来の隠れ層16との間の重みパラメータとして相対的に表すことができる。第2のモデルの第1の学習ターゲット・パラメータWVHも、過去の入力層14と将来の隠れ層16との間の重みパラメータとして相対的に表すことができる。従って、第1のモデルの第1の学習ターゲット・パラメータWVH及び第2のモデルの第1の学習ターゲット・パラメータWVHは、共通のパラメータとすることができ、又は第1のモデルの第1の学習ターゲット・パラメータWVHは、第2のモデルの第1の学習ターゲット・パラメータWVHに変換するように動作可能である。従って、このパラメータを正確に学習できる第2のモデルを用いて第1の学習ターゲット・パラメータWVHを学習することによって、学習装置100は、第1のモデルを用いて算出するのが困難であり得る第1の学習ターゲット・パラメータWVHを容易に算出することができる。
同様に、第1のモデルの第2の学習ターゲット・パラメータWHVは、過去の隠れ層16と将来の入力層14との間の重みパラメータとして相対的に表すことができる。第2のモデルの第2の学習ターゲット・パラメータWHVも、過去の隠れ層16と将来の入力層14との間の重みパラメータとして相対的に表すことができる。従って、第1のモデルの第2の学習ターゲット・パラメータWHV及び第2のモデルの第2の学習ターゲット・パラメータWHVは、共通のパラメータとすることができ、又は第1のモデルの第2の学習ターゲット・パラメータWHVは、第2のモデルの第2の学習ターゲット・パラメータWHVに変換するように動作可能である。従って、このパラメータを正確に学習できる第1のモデルを用いて第2の学習ターゲット・パラメータWHVを学習することによって、学習装置100は、第2のモデルを用いて算出するのが困難であり得る第2の学習ターゲット・パラメータWHVを容易に算出することができる。
このように、学習装置100は、モデルの一方にとって困難なパラメータを学習し、他方のモデルによって正確に学習できるパラメータを用いて学習するように第1のモデル及び第2のモデルを用いることによって効率的な学習を実行するように動作可能である。以下に、こうした学習装置100の学習動作について説明する。
図11は、学習装置100によって実行される第1のモデル及び第2のモデルを用いる学習プロセスの動作フローを示す。学習装置100は、S410乃至S470のプロセスを実行することによって、時系列入力データに対応するモデル10を正確に学習するように動作可能である。
最初に、取得セクション110が、時系列入力データ・シーケンスを取得することができる(S410)。取得セクション110が、時系列入力データ・シーケンスとして、学習の1つのインスタンスに用いられる時系列データの間隔Tより長い間隔Lにおける時系列データを取得する例を説明する。取得セクション110は、例えば、動画データを形成するように時系列に配置されたL個の画像データを取得する。
次に、学習装置100は、第1のモデル学習プロセスを用いて、各入力値と第1のモデルにおける複数の入力ノードに対応する時点より前の時点に対応する各隠れノードとの間の重みパラメータを学習することができる(S420)。具体的には、供給セクション120は、古い入力データから順番に時系列入力データ・シーケンスをモデル10に順次入力することができ、ストレージ・セクション130は、それぞれの時点に対応する複数の隠れノードの値をサンプリングし、その値をそれぞれ、対応する複数の隠れノードに格納することができる。
学習装置100は、第1のモデルを用いてこの学習を実行することができる。具体的には、計算セクション140は、一時点の入力ノードの各入力値の条件付き確率を算出し、学習処理セクション150は、パラメータθを更新することができる。さらに、更新セクション170は、更新パラメータを更新することができる。学習装置100の学習動作は上で既に説明したので、ここでは説明しない。学習装置100は、第1のモデルを用いて所定の回数、学習プロセスを実行するように動作可能である。
次に、学習装置100は、第1のモデルを用いて学習したパラメータを、第2のモデルに対応するパラメータに変換することができる(S430)。この場合、更新セクション170は、変換セクションを含み、変換セクションは、第1のモデルのパラメータを第2のモデルのパラメータに変換するように動作可能である。変換セクションは、転置、要素の置換等を実行することによって、パラメータを変換することができる。
Figure 2020505672
次に、学習装置100は、変換したパラメータを用いる第2のモデルを用いた学習プロセスを用いることによって、第2のモデルにおける複数の隠れノードの各々と複数の入力ノードに対応する時点より後の時点に対応する各入力ノードとの間の重みパラメータを学習することができる(S440)。具体的には、供給セクション120は、時系列入力データ・シーケンスを、より新しい入力データから順番にモデル10に順次入力することができ、ストレージ・セクション130は、各時点に対応する複数の隠れノードの値をサンプリングし、サンプリング値をそれぞれ対応する複数の隠れノードに格納することができる。
供給セクション120及びストレージ・セクション130は、各データを、第1のモデルによる学習に用いられるFIFOメモリ160とは異なる、第2のモデルによる学習に用いられるFIFOメモリ160に格納することができる。学習装置100は、第2のモデルを用いて学習プロセスを所定の回数実行するように動作可能である。
次に、学習装置100は、第2のモデルを用いて学習したパラメータを第1のモデルに対応するパラメータに変換することができる(S450)。この場合、変換セクションは、第2のモデルのパラメータを第1のモデルのパラメータに変換するように動作可能である。変換セクションは、転置、要素の置換等を用いて、パラメータを変換することができる。
Figure 2020505672
学習装置100は、学習を継続すべきかどうかを判定することができる(S460)。学習装置100は、学習プロセスが所定の回数実行されるまで、学習を継続することができ、又は代わりに、ユーザからの停止コマンドが入力されるまで、学習を継続することができる。別の例として、学習装置100は、時系列入力データ・シーケンスにおいて入力できるデータがそれ以上なくなるまで、学習を継続することができる。
学習を継続する場合(S460:イエス)、学習装置100は、ステップS410に戻り、モデル10に供給される時系列データがそれ以上ない場合、取得セクション110は、時系列データ・シーケンスにおける次のデータを取得することができる。学習装置100は、次の時系列データに基づいて、第1のモデル及び第2のモデルを用いて学習を順次実行することができる。
学習が終了した場合(S460:ノー)、学習処理セクション150は、第1のモデルを用いて最終学習プロセスを実行することができる(S470)。学習処理セクション150は、1回又は複数回、第1のモデルを用いて学習プロセスを実行した後、学習した第1のモデルを取得するように動作可能である。学習処理セクション150は、学習した第1のモデルをデータベース1000等に出力するように動作可能である。学習処理セクション150は、第1のモデルを出力し、学習プロセスを終了することができる。
このように、学習装置100は、第1のモデル及び第2のモデルの中から出力すべきモデルに対応する最後の学習インスタンスを実行するために用いられるモデルを、学習したモデルとして出力することができる。具体的には、図11は、学習した第1のモデルが出力されるが、学習した第2のモデルが出力される場合、パラメータを変換するためのS450のプロセスを実行することなく、学習した第2のモデルを出力することができる。
学習装置100は、第1のモデル及び第2のモデルの中から出力すべきモデルに対応する学習により大きく重点を置きながら、学習を継続することができる。例えば、学習装置100は、第2のモデルを用いる学習プロセスよりも多くの回数、第1のモデルを用いる学習プロセスを実行することができる。さらに、学習装置100は、係数等を調整することによって、第2のモデルを用いる学習プロセスにおけるよりも第1のモデルを用いる学習プロセスにおいて、高い学習速度を用いる学習を実行するように動作可能である。このように、学習装置100は、出力すべきモデルに対応する、重点を置いた方法で学習を実行し、従って、このモデルを用いてより適切な学習パラメータ・モデルを出力することができる。
上述のように、学習装置100の学習プロセスは、共通のパラメータを用いて、第1のモデル及び第2のモデルを用いた双方向(bidirectional)学習プロセスを実行する。従って、学習の方向に応じて変動する学習精度を有するパラメータが含まれる場合でも、学習装置100は、これらのパラメータをより高い精度で学習することができる。さらに、双方向学習を実行することによって、学習装置100は、第1のモデル及び第2のモデルの一方のみを用いてモデル学習が実行されたときに生じる過剰適合の発生を防止することができる。
上述した学習装置100の学習プロセスは、順方向モデル及び逆方向モデルを用いて実行される双方向学習プロセスの例である。これに加えて、学習装置100は、モデルに応じて学習されるパラメータを区別することができる。
図9及び図10に説明されるように、第1のモデルの第1の学習ターゲット・パラメータWVHは、第1のモデルを用いる学習よりも第2のモデルを用いる学習において、より高い精度で学習されるように動作可能である。さらに、第1のモデルの第2の学習ターゲット・パラメータWHVは、第2のモデルを用いる学習よりも第1のモデルを用いる学習においてより高い精度で学習されるように動作可能である。
この場合、学習装置100により実行される第1のモデルを用いる学習は、第1の学習ターゲット・パラメータWVHを変更することなく、第2の学習ターゲット・パラメータWHVを学習するように動作可能である。言い換えれば、第1のモデルを用いて学習するとき、学習装置100は、第1の学習ターゲット・パラメータWVHを更新することなく、第2の学習ターゲット・パラメータWHVを更新することができる。さらに、学習装置100により実行される第2のモデルを用いる学習は、第2の学習ターゲット・パラメータWHVを変更することなく、第1の学習ターゲット・パラメータWVHを学習するように動作可能である。言い換えれば、第2のモデルを用いて学習するとき、学習装置100は、第1の学習ターゲット・パラメータWVHを更新できるが、第2の学習ターゲット・パラメータWHVを更新する必要はない。
この代わりに、学習装置100は、学習に用いられるモデルに応じて、更新量を増減することができる。例えば、第1のモデルを用いる学習の場合、学習装置100は、第1の学習ターゲット・パラメータWVHの更新量に係数ρを乗算し、第2の学習ターゲット・パラメータWHVの更新量に(1−ρ)を乗算することによって、更新を実行することができる。ここで、係数ρは、0.5より小さい正の値とすることができる。このように、第2のモデルを用いる学習の場合、学習装置100は、第1の学習ターゲット・パラメータWVHの更新量に(1−ρ)を乗算し、かつ、第2の学習ターゲット・パラメータWHVの更新量に係数ρを乗算することによって、更新を実行することができる。
このように、学習装置100は、学習に用いられるモデルに応じて、学習に適切なパラメータ更新を促すことによって、学習プロセスをより正確に実行することができる。従って、隠れノードを含ませることにより、学習装置100は、表現力、学習力等を改善することができ、双方向学習プロセスを実行することによって、学習をより正確に実行することができる。
上述した学習装置100は、学習装置100が時系列入力データ・シーケンスを取得し、学習する例であるが、本発明は、時系列データに限定されない。例えば、垂直方向にn個のピクセルを有し、水平方向にm個のピクセルを有する2次元画像において、列方向に配置されたn個のピクセル列データを、一時点の入力データに対応するデータとして用いることができる。この場合、行方向に配置された複数の列データは、一時点より前又は後の入力データに対応するデータであり得る。この場合、学習装置100は、複数の列データが1つの行方向においてモデル10に入力される場合、及び、複数の列データが他の行方向においてモデル10に入力される場合、双方向学習を実行することができる。学習装置100は、波形データ、画像パターン・データ、言語データ等についても同様に双方向学習を実行することができる。
上述した本実施形態による学習装置100は、学習装置100が1つの入力データ・シーケンスを取得し、この1つの入力データ・シーケンスに基づき双方向学習のための訓練データを生成するが、本発明において取得されるデータは、1つの入力データ・シーケンスに限定されない。学習装置100は、複数のデータ・シーケンスを取得することができる。この場合、学習装置100は、第1の入力データ・シーケンスに対して、第1のモデルを用いる学習を使用し、第1の入力データ・シーケンスとは異なる第2の入力データ・シーケンスに対して、第2のモデルを用いる学習を用いることができる。
この場合、第1の入力データ・シーケンス及び第2の入力データ・シーケンスは、少なくとも部分的に関連していることが好ましい。さらに、データ・シーケンスが同じタイプのものであるか又は実質的に同じ傾向を有する場合、第1の入力データ・シーケンス及び第2の入力データ・シーケンスは、互いに異なる学習のための入力データ・シーケンスとすることができ、学習のための複数の入力データ・シーケンス内に含まれる。
この場合、学習装置100は、第1のモデルに基づいて、複数の入力値を含む入力データが配置された第1の入力データ・シーケンスからの入力データの各々をモデル10の入力ノードに順次入力し、第1のモデルを用いる学習プロセスを実行するように動作可能である。学習装置100は、複数の入力値を含む入力データが配置された第2の入力データ・シーケンスからの入力データの各々を、第1のモデルにおけるものとは異なる順序でモデル10の入力ノードに入力し、第1のモデル内に含まれる第1の学習ターゲット・パラメータを学習するための第2のモデルを生成するように動作可能である。
学習装置100は、第2の入力データ・シーケンスからの入力データの各々を、逆方向の順序で入力し、学習ターゲット・パラメータを学習するための第2のモデルを生成するように動作可能である。第1及び第2の入力データ・シーケンスは、時系列入力データ・シーケンスとすることができる。この場合、第1のモデルは、第1の入力データ・シーケンスを、より古い入力データから順番に入力することができ、第2のモデルは、第2の入力データ・シーケンスを、より新しい入力データから順番に入力することができる。
学習装置100は、第1のモデル及び第2のモデルの両方を用いて学習プロセスを実行するように動作可能である。学習装置100は、第1のモデル及び第2のモデルを用いる双方向学習を実行した後、学習した第1のモデルを出力するように動作可能である。学習装置100は、学習した第2のモデルを削除し、入力データ・シーケンスに基づいて、学習した第1のモデルを予測モデルとして出力するように動作可能である。このように、学習装置100は、学習のための複数の入力データ・シーケンスを取得し、学習プロセスを実行するように動作可能である。
上述した学習装置100は、学習装置100が、第1の学習ターゲット・パラメータ及び第2の学習ターゲット・パラメータに実質的に同じ学習プロセスを適用することによって学習する例である。この代わりに、学習装置100は、異なる学習プロセスを第1の学習ターゲット・パラメータ及び第2の学習ターゲット・パラメータにそれぞれ適用することによって学習することができる。言い換えれば、学習装置100は、学習するのが困難であり得るパラメータについての更新量を減らすことによって更新を実行するように動作可能である。
この際、第1のモデル及び第2のモデルを用いて学習する場合、学習装置100は、それぞれの更新パラメータとしてθ=(bVj,WHV,WVV)及びθ=(bHj,WVH,WHH)を用いて更新を実行することができる。言い換えれば、学習装置100は、正確に更新できる更新パラメータとしてθを用い、学習するのが困難であり得る更新パラメータとしてθを用いて学習を独立して実行することができる。ここで、bVjは、入力層14の各ノードに対応するバイアス・パラメータを示す。さらに、bHjは、隠れ層16の各ノードに対応するバイアス・パラメータを示す。
一例として、全尤度についての下限は、ジェンセンの不等式から次式に示されるように表すことができる。ここで、隠れノードの値
Figure 2020505672

は、
Figure 2020505672

に対応してサンプリングすることができる。
Figure 2020505672
式23から、確率的勾配は、更新されるべきパラメータに従って、次式に示されるように算出することができる。
Figure 2020505672
学習装置100は、第1のモデルを用いて学習する場合、上述のように正確に学習できるパラメータθを更新するように動作可能である。この場合、パラメータθの更新は、以下の式に示されるように表すことができる。
Figure 2020505672
さらに、学習装置100は、第1のモデルを用いて学習する場合、緩やかな勾配を用いて、学習するのが困難であり得るパラメータθを徐々に更新することができる。この場合、パラメータθの更新は、以下の式に示されるように表すことができる。パラメータgは、勾配の方向を示す勾配パラメータである。定数εは、例えば、1より小さい値であっても、0に近い値であってもよい。θを更新するための式中のηgに対して演算するlogpθを含ませる必要はない。さらに、ηと同様に、ηは、更新量を調整するための定数、又は更新数の増大に従って値が小さくなる係数とすることができる。
Figure 2020505672
同様に、学習装置100は、第2のモデルを用いて学習する場合、次式に示されるように、正確に学習できるパラメータθを更新するように動作可能である。
Figure 2020505672
学習装置100は、第2のモデルを用いて学習する場合、次式に示されるように、学習するのが困難であり得るパラメータθを更新するように動作可能である。θを更新するための式中のηgに対して演算するlogpθを含ませる必要はない。
Figure 2020505672
上述のように、学習装置100は、パラメータの学習しやすさに応じて用いる方法を変えることにより、学習プロセスをより正確に実行することができる。
上述した学習装置100の双方向学習プロセスは、ボルツマン・マシンに適した例であるが、本発明はこれに限定されるものではない。本発明は、データ系列を双方向学習するように動作可能であり、学習方向に応じて学習しやすさを変え得るあらゆる学習装置に適用することができる。
図12は、本発明の態様を全体的又は部分的に具体化できるコンピュータ800の例を示す。コンピュータ800にインストールされたプログラムにより、コンピュータ800が、本発明の実施形態の装置、又はその1つ又は複数のセクション(モジュール、コンポーネント、要素等を含む)と関連した動作の役割を果たすこと又は動作を実行することができ、及び/又はコンピュータ800が、本発明の実施形態のプロセス又はそのステップを実行することができる。こうしたプログラムは、CPU 800−12により実行され、コンピュータ800に、本明細書で説明されるフローチャート及びブロック図のブロックの一部又は全てと関連した特定の動作を実行させることができる。
コンピュータ800は、ホスト・コントローラ800−10により互いに接続される、CPU800−12、RAM800−14、グラフィックス・コントローラ800−16、及びディスプレイ・デバイス800−18を含む。コンピュータ800は、入力/出力コントローラ800−20を介してホスト・コントローラ800−10に接続される、通信インターフェース800−22、ハードディスク・ドライブ800−24、DVD−ROMドライブ800−26、及びICカード・ドライブなどの入力/出力ユニットも含む。コンピュータは、入力/出力チップ800−40を通じて入力/出力コントローラ800−20に接続される、ROM800−30及びキーボード800−42などのレガシー入力/出力ユニットも含む。
CPU800−12は、ROM800−30及びRAM800−14内に格納されるプログラムに従って動作し、それにより、各ユニットを制御する。グラフィックス・コントローラ800−16は、RAM800−14内又はそれ自体で提供されるフレーム・バッファ等上のCPU800−12により生成される画像データを取得し、画像データをディスプレイ・デバイス800−18上に表示させる。
通信インターフェース800−22は、ネットワーク800−50を介して他の電子デバイスと通信する。ハードディスク・ドライブ800−24は、コンピュータ800内のCPU800−12により用いられるプログラム及びデータを格納する。DVD−ROMドライブ800−26は、DVD−ROM800−01からプログラム又はデータを読み取り、RAM800−14を介して、ハードディスク・ドライブ800−24にプログラム又はデータを提供する。ICカード・ドライブは、ICカードからプログラム及びデータを読み取り、及び/又はプログラム及びデータをICカードに書き込む。
ROM800−30は、起動時にコンピュータ800により実行されるブート・プログラム、及び/又はコンピュータ800のハードウェアに依存するプログラムを内部に格納する。入力/出力チップ800−40は、パラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して種々の入力/出力ユニットを入力/出力コントローラ800−20に接続することもできる。
DVD−ROM800−01又はICカードのようなコンピュータ可読媒体により、プロが提供される。プログラムは、コンピュータ可読媒体から読み取られ、同じくコンピュータ可読媒体の例であり、CPU800−12により実行される、ハードディスク・ドライブ800−24、RAM800−14、又はROM800−30にインストールされる。これらのプログラム内に記述される情報処理をコンピュータ800内に読み取り、結果としてプログラムと上述の種々のタイプのハードウェア・リソースとの間の協働がもたらされる。装置又は方法は、コンピュータ800の使用による動作又は情報の処理を実現することによって構成することができる。
例えば、コンピュータ800と外部デバイスとの間で通信が行われる場合、CPU800−12は、RAM800−14にロードされた通信プログラムを実行し、通信プログラム内に記述される処理に基づいて、通信インターフェース800−22に通信処理を指示することができる。CPU800−12の制御下の通信インターフェース800−22は、RAM800−14、ハードディスク・ドライブ800−24、DVD−ROM800−01、又はICカードのような記録媒体内に提供される伝送バッファ領域上に格納される伝送データを読み取り、読み取った伝送データをネットワーク800−50に伝送するか、ネットワーク800−50から受け取った受信データを、記録媒体上に提供される受信バッファ領域等に書き込む。
さらに、CPU800−12は、RAM800−14、ハードディスク・ドライブ800−24、DVD−ROMドライブ800−26(DVD−ROM800−01)、ICカード等のような外部記録媒体内に格納されたファイル又はデータベースの全て又は必要な部分を、RAM800−14に読み取らせ、RAM800−14上のデータに対して種々のタイプの処理を実行することができる。次に、CPU800−12は、処理されたデータを外部記録媒体にライトバックすることができる。
情報処理を行うために、種々のタイプのプログラム、データ、テーブル及びデータベースのような種々のタイプの情報を記録媒体内に格納することができる。CPU800−12は、RAM800−14から読み取られたデータに対して、本開示全体を通して説明され、プログラムの命令シーケンスにより示されるような、種々のタイプの動作、情報の処理、条件判断、条件付き分岐、条件なし分岐、情報の検索/置換等を含む種々のタイプの処理を実行し、結果をRAM800−14にライトバックすることができる。さらに、CPU800−12は、記録媒体のファイル、データベース等内の情報を検索することができる。例えば、各々が第1の属性の属性値を有する複数のエントリが第2の属性の属性値と関連付けられ、記録媒体内に格納されるとき、CPU800−12は、複数のエントリの中から、第1の属性の属性値が指定される条件に合致するエントリを検索し、エントリ内に格納される第2の属性の属性値を読み取り、それにより、所定の条件を満たす第1の属性と関連した第2の属性の属性値を得ることができる。
上で説明したプログラム又はソフトウェア・モジュールは、コンピュータ800上又はその近くのコンピュータ可読媒体に格納することができる。さらに、専用通信ネットワーク又はインターネットに接続されるサーバ・システム内に提供される、ハードディスク又はRAMなどの記録媒体をコンピュータ可読媒体として用いて、これにより、ネットワークを介してプログラムをコンピュータ800に提供することができる。
本発明は、システム、方法、及び/又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの:すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び/又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び/又はエッジ・サーバを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述することができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本発明の態様を実施することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して説明される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、及び/又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実行するためのプロセスを提供するようにすることもできる。
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び/又はフローチャート図の各ブロック、及びブロック図及び/又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
本発明の実施形態を説明したが、本発明の技術的範囲は上述の実施形態に限定されない。本発明の上述の実施形態に、種々の変更又は改良を加えることが可能であることが当業者には明らかである。また、そうした変更又は改良を加えた実施形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲から明らかである。
特許請求の範囲、実施形態、又は図に示される装置、システム、プログラム、及び方法により実施される各プロセスの動作、手順、ステップ、及び段階は、順番が、「に先立って(prior to)」、「より前に(before)」等により示されず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実施することができる。特許請求の範囲、実施形態、又は図において、プロセス・フローが、「最初に(first)」又は「次に(next)」のような語句を用いて説明されたとしても、これは必ずしも、プロセスをこの順序で実施しなければならないことを意味するものではない。
上記から明らかにされるように、本発明の実施形態を用いて、過剰適合、データ・シーケンスに基づく予測モデルにおける学習精度の低下を防止しながら学習を実行し、学習装置の表現力及び学習力を改善することが可能である。
10:モデル
12:共通層
14:入力層
16:隠れ層
20:FIFOシーケンス
100:学習装置
110:取得セクション
120:供給セクション
130:ストレージ・セクション
140:計算セクション
150:学習処理セクション
160:FIFOメモリ
170:更新セクション
800:コンピュータ

Claims (16)

  1. 複数の入力値を含む入力データが配置された第1の入力データ・シーケンスからの各入力データを順次入力することにより学習プロセスを実行するための第1のモデルに基づいて、前記第1のモデルにおける順番とは異なる順番で、複数の入力値を含む入力データが配置された第2の入力データ・シーケンスからの各入力データを入力することによって、前記第1のモデル内に含まれる第1の学習ターゲット・パラメータを学習するための第2のモデルを生成することと、
    前記第1のモデル及び前記第2のモデルの両方を用いて学習プロセスを実行することと、
    前記学習した第1のモデルを出力することと、
    を含む、方法。
  2. 前記学習した第1のモデルを出力することは、前記学習した第2のモデルを削除し、入力データ・シーケンスに基づいて、前記学習した第1のモデルを予測モデルとして出力することを含む、請求項1に記載の方法。
  3. 前記第2のモデルを生成することは、前記第2の入力データ・シーケンスからの各入力データを逆順で入力することにより、前記学習ターゲット・パラメータを学習するための前記第2のモデルを生成することを含む、請求項2に記載の方法。
  4. 前記第1の入力データ・シーケンス及び前記第2の入力データ・シーケンスは、時系列入力データ・シーケンスであり、
    前記第1のモデルは、前記第1の入力データ・シーケンスをより古い入力データから順番に入力し、
    前記第2のモデルは、前記第2の入力データ・シーケンスをより新しい入力データから順番に入力する、請求項3に記載の方法。
  5. 前記第1のモデル及び前記第2のモデルはそれぞれ、前記第1の学習ターゲット・パラメータ及び第2の学習ターゲット・パラメータを含み、
    前記学習プロセスを実行することは、
    前記第1の学習ターゲット・パラメータを変更することなく、前記第1のモデルを用いて前記第2の学習ターゲット・パラメータを学習することと、
    前記第2の学習ターゲット・パラメータを変更することなく、前記第2のモデルを用いて前記第1の学習ターゲット・パラメータを学習することと、
    を含む、請求項3に記載の方法。
  6. 前記第1の学習ターゲット・パラメータは、前記第1のモデルを用いて学習するよりも前記第2のモデルを用いて学習することによって、より高い精度で学習するように動作可能であり、
    前記第2の学習ターゲット・パラメータは、前記第2のモデルを用いて学習するよりも前記第1のモデルを用いて学習することによって、より高い精度で学習するように動作可能である、請求項5に記載の方法。
  7. 前記第1の入力データ・シーケンス及び前記第2の入力データ・シーケンスは、少なくとも部分的に同一である、請求項3に記載の方法。
  8. 前記第1の入力データ・シーケンス及び前記第2の入力データ・シーケンスは、互いに異なり、学習のための複数の入力データ・シーケンス内に含まれる、学習のための入力データ・シーケンスである、請求項3に記載の方法。
  9. 前記学習プロセスを実行することは、前記第2のモデルを用いる前記学習プロセスよりも多い回数、前記第1のモデルを用いる前記学習プロセスを実行することを含む、請求項3に記載の方法。
  10. 前記学習プロセスを実行することは、前記第2のモデルを用いる前記学習プロセスに用いられるよりも大きい学習速度を用いて、前記第1のモデルを用いる前記学習プロセスを実行することを含む、請求項3に記載の方法。
  11. 前記学習プロセスを実行することは、前記第1のモデルを用いる前記学習プロセスを実行することにより学習した前記第1のモデルを取得することを含む、請求項3に記載の方法。
  12. 前記第1のモデルは、前記第1の入力データ・シーケンスの各時点の複数の入力値を順次入力する複数の入力ノードと、各入力ノードと前記複数の入力ノードに対応する時点より前の時点における各入力値との間の重みパラメータとを含み、
    前記第2のモデルは、前記第2の入力データ・シーケンスの各時点の複数の入力値を逆順で入力する複数の入力ノードと、各入力ノードと前記複数の入力ノードに対応する前記時点より後の時点における各入力値との間の重みパラメータとを含む、請求項4に記載の方法。
  13. 前記第1のモデルは、各入力ノードと前記複数の入力ノードに対応する前記時点より前の前記時点に対応する複数の隠れノードの各々との間の重みパラメータと、各隠れノードと前記複数の入力ノードに対応する前記時点より前の前記時点に対応する各入力値との間の重みパラメータとをさらに含み、
    前記第2のモデルは、各入力ノードと前記複数の入力ノードに対応する前記時点より後の前記時点に対応する複数の隠れノードの各々との間の重みパラメータと、各隠れノードと前記複数の入力ノードに対応する前記時点より後の前記時点に対応する各入力値との間の重みパラメータとをさらに含む、請求項12に記載の方法。
  14. 前記学習プロセスを実行することは、
    前記第1のモデルを用いる前記学習プロセスを用いて、前記第1のモデルにおける各隠れノードと前記複数の入力ノードに対応する時点より前の前記時点に対応する各入力値との間の重みパラメータを学習することと、
    前記第2のモデルを用いる前記学習プロセスを用いて、前記第2のモデルにおける各入力ノードと前記複数の入力ノードに対応する前記時点より後の前記時点に対応する前記複数の隠れノードの各々との間の重みパラメータを学習することと、
    を含む、請求項13に記載の方法。
  15. プログラム命令を含むコンピュータ・プログラムであって、前記プログラム命令は、コンピュータにより実行可能であり、前記コンピュータに前記請求項のいずれかに記載の方法のステップを実行させる、コンピュータ・プログラム。
  16. 入力データに対応するモデルを学習するための学習装置であって、
    プロセッサと、
    前記プロセッサにより実行されるとき、前記プロセッサに請求項1〜請求項14のいずれかに記載の方法のステップを実行させるコンピュータ・プログラムと、
    を含む、学習装置。
JP2019535257A 2017-01-11 2017-12-15 データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラム Active JP7123938B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/403,986 2017-01-11
US15/403,986 US20180197080A1 (en) 2017-01-11 2017-01-11 Learning apparatus and method for bidirectional learning of predictive model based on data sequence
PCT/IB2017/057999 WO2018130890A1 (en) 2017-01-11 2017-12-15 Learning apparatus and method for bidirectional learning of predictive model based on data sequence

Publications (2)

Publication Number Publication Date
JP2020505672A true JP2020505672A (ja) 2020-02-20
JP7123938B2 JP7123938B2 (ja) 2022-08-23

Family

ID=62783135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019535257A Active JP7123938B2 (ja) 2017-01-11 2017-12-15 データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラム

Country Status (4)

Country Link
US (2) US20180197080A1 (ja)
JP (1) JP7123938B2 (ja)
CN (1) CN110168577A (ja)
WO (1) WO2018130890A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12118727B2 (en) 2019-06-13 2024-10-15 Raysearch Laboratories Ab (Publ) System and method for training a machine learning model and for providing an estimated interior image of a patient

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368476B (zh) * 2017-07-25 2020-11-03 深圳市腾讯计算机系统有限公司 一种翻译的方法、目标信息确定的方法及相关装置
US11995540B2 (en) 2018-10-11 2024-05-28 International Business Machines Corporation Online learning for dynamic Boltzmann machines with hidden units
CN109410198B (zh) * 2018-10-25 2022-04-22 北京奇艺世纪科技有限公司 一种时序动作检测方法、装置及设备
US11158303B2 (en) 2019-08-27 2021-10-26 International Business Machines Corporation Soft-forgetting for connectionist temporal classification based automatic speech recognition
JP2021140303A (ja) * 2020-03-03 2021-09-16 トヨタ自動車株式会社 学習方法、学習システム及び学習プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489529B2 (en) * 2011-03-31 2013-07-16 Microsoft Corporation Deep convex network with joint use of nonlinear random projection, Restricted Boltzmann Machine and batch-based parallelizable optimization
US9875445B2 (en) * 2014-02-25 2018-01-23 Sri International Dynamic hybrid models for multimodal analysis
US10846611B2 (en) * 2014-06-16 2020-11-24 Nokia Technologies Oy Data processing
JP5943358B2 (ja) * 2014-09-30 2016-07-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 学習装置、処理装置、予測システム、学習方法、処理方法、およびプログラム
CN106127806B (zh) * 2016-06-17 2018-10-02 淮阴工学院 基于深度玻尔兹曼机跨模式特征学习的rgb-d视频目标跟踪方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SCHUSTER, MIKE, ET AL.: "Bidirectional Recurrent Neural Networks", IEEE TRANSACTIONS ON SIGNAL PROCESSING, vol. 45, JPN6021026481, 11 November 1997 (1997-11-11), US, pages 2673 - 2681, ISSN: 0004631439 *
WAKUYA, HIROSHI, ET AL.: "Time Series Prediction by a Neural Network Model Based on the Bi-directional Computation Style", IEEE XPLORE, JPN6021026482, 6 August 2002 (2002-08-06), pages 225 - 230, ISSN: 0004631438 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12118727B2 (en) 2019-06-13 2024-10-15 Raysearch Laboratories Ab (Publ) System and method for training a machine learning model and for providing an estimated interior image of a patient

Also Published As

Publication number Publication date
US20180197082A1 (en) 2018-07-12
WO2018130890A1 (en) 2018-07-19
CN110168577A (zh) 2019-08-23
US20180197080A1 (en) 2018-07-12
JP7123938B2 (ja) 2022-08-23

Similar Documents

Publication Publication Date Title
JP7123938B2 (ja) データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラム
JP7235813B2 (ja) 補助タスクを伴う強化学習
JP5943358B2 (ja) 学習装置、処理装置、予測システム、学習方法、処理方法、およびプログラム
CN109313722B (zh) 存储器高效的基于时间的反向传播
US10755199B2 (en) Introspection network for training neural networks
KR102158683B1 (ko) 외부 메모리로 신경망들 증강
US10909451B2 (en) Apparatus and method for learning a model corresponding to time-series input data
CN110770759A (zh) 神经网络系统
US10783452B2 (en) Learning apparatus and method for learning a model corresponding to a function changing in time series
US10599976B2 (en) Update of attenuation coefficient for a model corresponding to time-series input data
KR20190045038A (ko) 음성 인식 방법 및 장치
JP6947108B2 (ja) データ予測装置、方法、及びプログラム
US11195116B2 (en) Dynamic boltzmann machine for predicting general distributions of time series datasets
JP2020191017A (ja) 情報処理装置、情報処理方法および情報処理プログラム
Lin et al. Bandit-NAS: Bandit sampling and training method for Neural Architecture Search
KR102157441B1 (ko) 관련성 전사를 이용한 신경망 학습 방법 및 서비스 장치
JP2010266974A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2019095894A (ja) 推定装置、学習装置、学習済みモデル、推定方法、学習方法、及びプログラム
CN112835590B (zh) 模型生成方法、部署方法、装置及计算机可读存储介质
JP7436830B2 (ja) 学習プログラム、学習方法、および学習装置
US20240028902A1 (en) Learning apparatus and method
US11410042B2 (en) Dynamic Boltzmann machine for estimating time-varying second moment
JP2023124376A (ja) 情報処理装置、情報処理方法およびプログラム
CN118043818A (zh) 用于处理来自多个模态的网络指标的基于自注意力的神经网络
CN111950734A (zh) 通过更改神经网络参数来精确汇总

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191002

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211102

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220428

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220810

R150 Certificate of patent or registration of utility model

Ref document number: 7123938

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150