(57)【要約】【課題】ＲＮＮを用いた学習において、調整パラメータを容易に調整できるとともに、急激な勾配の増加を防いで安定的に学習を進めることができる。【解決手段】学習装置１０は、ＲＮＮ（Recurrent  Neural  Network）のモデルを用いて学習を行う学習装置であって、ＲＮＮのモデルのパラメータである重み行列による損失関数の勾配を計算する勾配計算部１２と、勾配を用いてパラメータを更新するとともに、重み行列を特異値分解し、該分解した特異値に制約を加えて学習を進めるパラメータ更新部１３と、を有する。【選択図】図２
2018067039.tif 000002
【特許請求の範囲】
【請求項１】
ＲＮＮ（Recurrent  Neural  Network）のモデルを用いて学習を行う学習装置であって、
前記ＲＮＮのモデルのパラメータである重み行列による損失関数の勾配を計算する勾配計算部と、
前記勾配を用いてパラメータを更新するとともに、前記重み行列を特異値分解し、該分解した特異値に制約を加えて学習を進めるパラメータ更新部と、
を有することを特徴とする学習装置。
【請求項２】
前記パラメータ更新部は、前記分解した特異値のうち、所定の閾値を超える前記特異値を前記閾値に置換し、該置換した特異値と前記特異値分解で得られた左右の特異ベクトルを用いて重み行列を再構成することを特徴とする請求項１に記載の学習装置。
【請求項３】
前記パラメータ更新部は、前記重み行列を前記特異値の最大値で除算することを特徴とする請求項１に記載の学習装置。
【請求項４】
ＲＮＮのモデルを用いて学習を行う学習装置が行う学習方法であって、
前記ＲＮＮのモデルのパラメータである重み行列による損失関数の勾配を計算する工程と、
前記勾配を用いてパラメータを更新する工程と、
前記重み行列を特異値分解する工程と、
前記分解した特異値に制約を加えて学習を進める工程と、
を含んだことを特徴とする学習方法。
【請求項５】
ＲＮＮのモデルのパラメータである重み行列による損失関数の勾配を計算するステップと、
前記勾配を用いてパラメータを更新するステップと、
前記重み行列を特異値分解するステップと、
前記分解した特異値に制約を加えて学習を進めるステップと、
をコンピュータに実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法および学習プログラムに関する。
【背景技術】
【０００２】
自然言語処理や音声認識などの分野において時系列データをＲＮＮ（リカレントニューラルネットワーク：Recurrent  Neural  Network）（例えば、非特許文献１参照）によってモデリングする方法が研究されている（例えば、非特許文献２参照）。このＲＮＮは、多層ニューラルネットワークの一種であり、中間層のニューロンに再帰的な結合を持つ。そして、ＲＮＮでは、この再帰的な結合により、入力単語列の頭から直前に読み込んだ単語までの全文脈を中間層の活性度ベクトルに蓄えることができ、より長い文脈に依存する言語確率を算出することができる。
【０００３】
このＲＮＮを用いて時系列データをモデリングする手法では、文章中の単語をＲＮＮへ順々に入力していき、次の単語を予測するタスクや音声データをＲＮＮへ入力し、その文章を出力するといったタスクを行う。
【０００４】
ＲＮＮによる時系列データ処理において、時系列データとモデルとの差を表現した損失関数を最小にするＲＮＮのパラメータをどのように探索するかということが重要である。この処理は、学習と呼ばれており、通常は、損失関数の勾配を使ったBack  Propagation  Through  Time（ＢＰＴＴ）によって行われる。ＢＰＴＴでは、現在のパラメータでの損失関数の勾配、すなわち、それぞれのパラメータで損失関数を微分した値を計算し、その値を使って損失関数の減少する方向へパラメータを更新する。ただし、ＢＰＴＴを使ったＲＮＮの学習は、勾配が爆発的に大きくなることが知られており、この現象によって損失関数が減少せず学習が失敗する。
【０００５】
このため、学習失敗を防ぐ方法として、Gradient  Clippingという手法（例えば、非特許文献３参照）が提案されている。また、ＲＮＮの性能の一つとして長期記憶性能があり、長期に記憶できるＲＮＮの構造の一つとして、ＧＲＵ（Gated  Recurrent  Unit）が研究されている（例えば、非特許文献４参照）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Jeffrey  L.  Elman,  “Finding  Structure  in  Time”,  Cognitive  science14,  179-211,  1990
【非特許文献２】Alex  Graves,  Abdel-rahman  Mohamed,  and  Geoffrey  Hinton,  “Speech  Recognition  with  Deep  Recurrent  Neural  Networks”,  In  proceedings  of  IEEE  international  conference  on  acoustics,  speech  and  signal  processing,  2013
【非特許文献３】Razvan  Pascanu,  Tomas  Mikolov,  and  Yoshua  Bengio,  “On  the  difficulty  of  training  recurrent  neural  networks”,  In  proceedings  of  ICML,  2013
【非特許文献４】Kyunghyun  Cho,  Bart  van  Merrienboer,  Caglar  Gulcehre,  Dzmitry  Bahdanau,  Fethi  Bougares,  Holger  Schwenk,  and  Yoshua  Bengio,  “Learning  Phrase  Representations  using  RNN  Encoder-Decoder  for  Statistical  Machine  Translation”,  In  proceedings  of  EMNLP,  2014
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このように、ＲＮＮは、勾配を使って学習する。しかしながら、ＲＮＮでは、勾配が爆発的に増加して学習が失敗してしまい、所望の性能の時系列データのモデルが得られないという問題がある。
【０００８】
これに対し、勾配の爆発的増加を防ぐGradient  Clippingでは、調整パラメータとして閾値を設けている。しかしながら、Gradient  Clippingでは、この調整パラメータに上限がなく、定性的な意味合いが薄いため、調整が難しく、チューニングコストが増加するという問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、ＲＮＮを用いた学習において、調整パラメータを容易に調整できるとともに、急激な勾配の増加を防いで安定的に学習を進めることができる学習装置、学習方法および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明に係る学習装置は、ＲＮＮのモデルを用いて学習を行う学習装置であって、ＲＮＮのモデルのパラメータである重み行列による損失関数の勾配を計算する勾配計算部と、勾配を用いてパラメータを更新するとともに、重み行列を特異値分解し、該分解した特異値に制約を加えて学習を進めるパラメータ更新部と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ＲＮＮを用いた学習において、調整パラメータを容易に調整できるとともに、急激な勾配の増加を防いで安定的に学習を進めることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、ＲＮＮモデルの一例を示す図である。
【図２】図２は、本発明の実施の形態に係る学習装置の構成の一例を示すブロック図である。
【図３】図３は、図２に示すパラメータ更新部が行うパラメータ更新処理の処理手順を示すフローチャートである。
【図４】図４は、図３に示す置換処理の処理手順を示すフローチャートである。
【図５】図５は、図２に示すパラメータ更新部が行うパラメータ更新処理の他の処理手順を示すフローチャートである。
【図６】図６は、プログラムが実行されることにより、学習装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の一実施の形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１４】
［従来の数理的背景］
まず、従来の背景知識について述べる。なお、以後の（１）式〜（１７）式において、大文字は行列を、小文字は列ベクトルを表し、行ベクトルは転置を使って表現する。ＲＮＮを用いたデータ処理では、与えられた入力と出力との時系列データに対してデータの分類や次の値の予想、クラスタリングなどのタスクに応じて損失関数を設定し、この関数が最小となるようにＲＮＮのパラメータを更新する。この学習済みのＲＮＮを用いて、新たに得られた入力データに対して上記のようなタスクを行う出力を計算する。
【００１５】
図１は、ＲＮＮモデルの一例を示す図である。図１に示すように、ＲＮＮは、ユニットの出力が次の時刻の入力となるような状態を持つニューラルネットワークである。時刻ｔにおける入力を、列ベクトルｘｔ（ｘｔ∈Ｒｍ）とし、状態を、列ベクトルｈｔ（ｈｔ∈Ｒｎ）とし、出力を列ベクトルｙｔ（ｙｔ∈Ｒｐ）とすると、ＲＮＮは、一般的に、以下の（１）式及び（２）式で表現できる。
【００１６】
【数１】
2018067039.tif 000003
【００１７】
【数２】
2018067039.tif 000004
【００１８】
ただし、行列Ｗｘ（Ｗｘ∈Ｒｎ×ｍ）、行列Ｗｈ（Ｗｈ∈Ｒｎ×ｎ）、行列Ｗｙ（Ｗｙ∈Ｒｐ×ｎ）は、ＲＮＮのパラメータである重み行列である。また、ｆ，ｇは、なんらかのベクトル値関数でＲＮＮのモデルによって異なる。
【００１９】
学習は、あるデータに対しＢＰＴＴを使って勾配を計算し、確率的勾配降下法（ＳＧＤ：Stochastic  Gradient  Descent）によって重み行列を更新する。本実施の形態では、学習するパラメータ（行列Ｗｘ、行列Ｗｈ、行列Ｗｙの全要素）を並べたベクトルをθ∈Ｒｑとし、データに対する誤差を評価する損失関数をＬ（θ）とし、（３）式によってパラメータを更新する。
【００２０】
【数３】
2018067039.tif 000005
【００２１】
ただし、τは、τステップ目の更新であることを示し、ηは、学習率と呼ばれる学習の更新量を調整するパラメータである。ＢＰＴＴを使ったＲＮＮの学習は、ある不動点が分岐（bifurcation）を生じたときに勾配が急増することが知られている。ただし不動点とは、（４）式となるような状態ｈｔ＊であり、分岐とはパラメータの変化によって不動点近傍のｈｔの時間変化の流れが変わることをいう。
【００２２】
【数４】
2018067039.tif 000006
【００２３】
そして、ＲＮＮに求められる性能の一つである長期記憶性能を持つモデルがＧＲＵである。ｎ次元の状態を持ち、バイアスを０としたＧＲＵのモデル構造は、（５−１）式〜（５−４）式で表せる。
【００２４】
【数５】
2018067039.tif 000007
【００２５】
ただし、列ベクトルｗｔ（ｗｔ∈Ｒｍ）は、時刻ｔにおける入力であり、列ベクトルｈｔ（ｈｔ∈Ｒｎ）は、状態であり、ｈｔｉは、ｈｔのｉ番目の要素を示す。学習するパラメータは、（６）式及び（７）式に示す重み行列である。
【００２６】
【数６】
2018067039.tif 000008
【００２７】
【数７】
2018067039.tif 000009
【００２８】
「＊」には、（５）式のｘｒ，ｈｒ，ｘｚ，ｈｚ，ｘｈ，ｈｈが入り、それに従い、ｋ，ｌは、異なる値をとる。ＧＲＵは、ゲートのような構造を持つことで状態の保持と忘却を制御しており、この構造によって長期記憶性能を実現する。
【００２９】
［実施の形態の数理的背景］
続いて、本実施の形態の数理的背景について説明する。なお、以下の説明では、議論を簡潔にするため、まずは、特に、１層のＧＲＵに焦点を絞って説明を行う。もちろん、多層のＧＲＵにおいても同様の手続きによって安定的な学習が実現される。
【００３０】
本実施の形態では、学習中に分岐が起こる条件を求め、分岐によって勾配が急増して学習が失敗することを防止する。なお、本実施の形態では、簡単のため安定性の変化する分岐を生じる条件を求める。ここで、不動点近傍で安定性が変化する分岐の条件は不動点近傍で線形に近似したシステムの固有値の絶対値の最大値（スペクトル半径）を調べることで求められる。
【００３１】
まず、本実施の形態では、バイアスのないＧＲＵのモデルは、原点を不動点に持つため、ＧＲＵの原点近傍における線形近似モデルについて述べる。この不動点近傍において、安定から不安定に変化する分岐を起こす条件を求める。そして、入力を０としたときの原点まわりのヤコビ行列を計算すると、（８）式となる。
【００３２】
【数８】
2018067039.tif 000010
【００３３】
Ｉは、ｎ×ｎの単位行列である。この行列のスペクトル半径｜λ１（Ｊ）｜が、｜λ１（Ｊ）｜＜１から｜λ１（Ｊ）｜＞１へと変化するとき、或いは、｜λ１（Ｊ）｜＞１から｜λ１（Ｊ）｜＜１へと変化するときに、不動点の安定性が変化する分岐が起きる。そして、（８）式より、学習時の重み行列Ｗｈｈのスペクトル半径が、｜λ１（Ｊ）｜＜２から｜λ１（Ｊ）｜＞２へと変化するとき、或いは、｜λ１（Ｊ）｜＞２から｜λ１（Ｊ）｜＜２へ変化するときに、分岐し、勾配が爆発すると考えられる。また、スペクトル半径｜λ１（Ｗ）｜と、最大特異値σ１（Ｗ）とには、以下の（９）式で示す関係がある。
【００３４】
【数９】
2018067039.tif 000011
【００３５】
この（９）式の関係を基に、本実施の形態では、重み行列Ｗｈｈの最大特異値に対して制約を加えて学習させる。
【００３６】
なお、多層の場合には、１層の場合と同様の分岐解析を行い、重み行列の特異値に制約を加えればよい。
【００３７】
［特異値に制約を加えた学習］
本実施の形態における学習方法、すなわち、特異値に制約を加えた学習方法について説明する。まず、本実施の形態では、従来と同じように重み行列Ｗｈｈを（１０）式によって更新する。
【００３８】
【数１０】
2018067039.tif 000012
【００３９】
続いて、本実施の形態では、（１１）式〜（１３）式に示す演算処理を行うことによって、特異値が閾値以下となるように、重み行列を修正する。
【００４０】
【数１１】
2018067039.tif 000013
【００４１】
【数１２】
2018067039.tif 000014
【００４２】
【数１３】
2018067039.tif 000015
【００４３】
ここで、（１１）式は、特異値分解である。また、（１２）式に示すａは、安定性に関係する閾値である。本実施の形態では、分岐解析の結果から、０＜ａ＜２の範囲で、適当な値をａとして調整する。本実施の形態では、（１１）式〜（１３）式を用いた演算処理を繰り返し行うことによって、特異値が閾値以下に抑えられたままの状態でＲＮＮを学習できる。
【００４４】
このため、本実施の形態では、このアルゴリズムによってパラメータが分岐点へ近づくことなく学習できる。また、本実施の形態として説明した以上の制約付き最小化は、モデルに適当な制約を加えることによって、学習用のデータに過学習することを防ぎ、新たなデータに対しても高精度に予測などを行うことができる。なお、過学習とは、ＲＮＮの学習に使用したデータに対して損失関数を最小化した結果、新たに得られたデータに対して損失関数が大きくなる現象を指す。
【００４５】
もちろん、本実施の形態では、ＧＲＵを重ねた多層のＧＲＵに対しても同様の手続きで安定的な学習を実現できる。具体的には、ｌ層のＧＲＵのｊ層目を（１４−１）式〜（１４−４）式とする。
【００４６】
【数１４】
2018067039.tif 000016
【００４７】
同様に、入力０としたときの原点近傍のヤコビ行列は（１５）式となる。
【００４８】
【数１５】
2018067039.tif 000017
【００４９】
このヤコビ行列はブロック三角行列となっており、その固有値は、対角にあるブロック行列と一致する。したがって、それぞれの対角ブロック行列を（１６）式で示す。
【００５０】
【数１６】
2018067039.tif 000018
【００５１】
この場合には、（１６）式で示す、それぞれの対角ブロック行列の固有値について考えればよく、１層の場合と同様に重み行列Ｗｈｈ（ｊ）の特異値に対し、閾値以下となるように制約を加えた学習を行えばよい。
【００５２】
［実施の形態］
上記の実施の形態の数理的背景を踏まえ、本実施の形態に係る学習装置などについて説明する。なお、以下の実施の形態は、一例を示すに過ぎない。
【００５３】
［学習装置の構成］
図２は、本発明の実施の形態に係る学習装置１０の構成の一例を示すブロック図である。学習装置１０は、ＲＮＮを用いて学習を行う。図２に示すように、学習装置１０は、パラメータを初期化する初期化部１１、現在のパラメータで損失関数の勾配を計算する勾配計算部１２、及び、勾配計算部１２が計算した損失関数の勾配を基にパラメータを更新するパラメータ更新部１３を有する。
【００５４】
パラメータ更新部１３は、時系列データとモデルとの差を表現した損失関数を最小にするＲＮＮのパラメータを前述のように探索する。すなわち、パラメータ更新部１３は、勾配計算部１２が計算した勾配を用いて、パラメータを更新する。そして、パラメータ更新部１３は、分岐に関わる重み行列に対して特異値分解を行う。
【００５５】
続いて、パラメータ更新部１３は、重み行列を特異値分解し、該分解した特異値に制約を加えて学習を進める。具体的には、パラメータ更新部１３は、勾配を用いてパラメータを更新するとともに、重み行列を特異値分解する。そして、パラメータ更新部１３は、該分解した特異値と所定の閾値との大小を比較する。パラメータ更新部１３は、分解した特異値のうち、所定の閾値を超える特異値の全てを閾値に置換する。続いて、パラメータ更新部１３は、閾値に置換後の特異値を対角に並べた行列に対し、特異値分解で得られた左特異ベクトル、右特異ベクトルを使って重み行列を再構成する。そして、パラメータ更新部１３は、再度パラメータ更新処理に戻り、学習を行う。
【００５６】
［パラメータ更新処理の処理手順］
次に、パラメータ更新部１３が行うパラメータ更新処理の処理手順について説明する。図３は、図２に示すパラメータ更新部１３が行うパラメータ更新処理の処理手順を示すフローチャートである。
【００５７】
まず、勾配計算部１２は、重み行列による損失関数の勾配を、確率的勾配降下法を用いて計算する。そして、図３に示すように、パラメータ更新部１３は、勾配計算部１２が計算した損失関数の勾配を使って、パラメータを更新する（ステップＳ１）。そして、パラメータ更新部１３は、分岐に関わる重み行列に対して特異値分解を行う（ステップＳ２）。続いて、パラメータ更新部１３は、所定の閾値を超える特異値の全てを閾値に置換する置換処理を行う（ステップＳ３）。そして、パラメータ更新部１３は、特異値分解で得られた左特異ベクトル、右特異ベクトルを使って重み行列を再構成する（ステップＳ４）。
【００５８】
［置換処理の処理手順］
次に、図３に示す置換処理（ステップＳ３）の処理手順について説明する。図４は、図３に示す置換処理の処理手順を示すフローチャートである。
【００５９】
図４に示すように、パラメータ更新部１３は、特異値の番号を示すｉを初期化し、ｉ＝１とする（ステップＳ１１）。そして、パラメータ更新部１３は、ｉ番目の特異値と所定の閾値とを比較し、ｉ番目の特異値が所定の閾値よりも大きいか否かを判断する（ステップＳ１２）。
【００６０】
パラメータ更新部１３は、ｉ番目の特異値が所定の閾値以下であると判断した場合（ステップＳ１２：Ｎｏ）、以降の特異値も閾値よりも大きくはならないと判断できるため、本置換処理を終了する。
【００６１】
一方、パラメータ更新部１３は、ｉ番目の特異値が所定の閾値よりも大きいと判断した場合（ステップＳ１２：Ｙｅｓ）、ｉ番目の特異値を閾値に置き換える（ステップＳ１３）。そして、パラメータ更新部１３は、次の特異値について処理を行うため、ｉに１を加算する（ステップＳ１４）。そして、パラメータ更新部１３は、ｉが重み行列のサイズよりも大きいか否かを判断する（ステップＳ１５）。
【００６２】
パラメータ更新部１３は、ｉが重み行列のサイズよりも小さいと判断した場合（ステップＳ１５：Ｎｏ）、ステップＳ１２に戻り、ｉ番目の特異値と所定の閾値との比較を行う。パラメータ更新部１３は、ｉが重み行列のサイズよりも大きいと判断した場合（ステップＳ１５：Ｙｅｓ）、置換処理を終了する。
【００６３】
［実施の形態の効果］
このように、本実施の形態では、ＲＮＮのモデルを用いて学習を行う際に、特異値分解を行い取得した特異値に制約を加えて学習を進める。このため、本実施の形態では、このアルゴリズムによってパラメータが分岐点へ近づくことなく学習できる。すなわち、本実施の形態によれば、ＲＮＮを用いた学習において、急激な勾配の増加を防いで安定的に学習を進めることができる。
【００６４】
また、本実施の形態では、ＲＮＮを用いた学習において、従来技術に係るGradient  Clippingの上限のないパラメータの代わりに、上限が明確な調整パラメータを用いるため、パラメータの調整が容易となり、チューニングコストの増加を防止することができる。
【００６５】
また、本実施の形態では、ＲＮＮのモデルに適当な制約を加えることによって、学習用のデータが過学習することを防ぎ、新たな未知データに対しても高精度に推定することができる。
【００６６】
［変形例］
本実施の形態の変形例について説明する。本変形例では、パラメータ更新部１３は、ＲＮＮを用いた学習において、勾配計算部１２が計算した勾配を用いて、パラメータを更新し、重み行列に対して特異値分解を行う。そして、パラメータ更新部１３は、重み行列を特異値の最大値で除算することによって、特異値に制約を加えて学習を進める。
【００６７】
具体的には、パラメータ更新部１３は、従来と同じように重み行列Ｗｈｈを（１０）式によって更新する。そして、パラメータ更新部１３は、（１１）式を用いて、特異値分解を実行した後、（１７）式を用いた演算処理を行う。すなわち、パラメータ更新部１３は、重み行列を特異値の最大値σ１で除算する。
【００６８】
【数１７】
2018067039.tif 000019
【００６９】
図５は、図２に示すパラメータ更新部１３が行うパラメータ更新処理の他の処理手順を示すフローチャートである。図５に示すステップＳ２１及びステップＳ２２は、図３に示すステップＳ１及びステップＳ２である。パラメータ更新部１３は、重み行列を特異値の最大値によって除算する（ステップＳ２３）。
【００７０】
本変形例のように重み行列を特異値の最大値で除算する場合も、ＲＮＮを用いた学習において、特異値に制約を加えて学習を進めることができるため、実施の形態と同様の効果を奏する。
【００７１】
［実施形態のシステム構成について］
図２に示した学習装置１０の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、学習装置１０の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【００７２】
また、学習装置１０においておこなわれる各処理は、全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）、及び、ＣＰＵ，ＧＰＵにより解析実行されるプログラムにて実現されてもよい。また、学習装置１０においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【００７３】
また、実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【００７４】
［プログラム］
図６は、プログラムが実行されることにより、学習装置１０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００７５】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００７６】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、学習装置１０の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、学習装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００７７】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００７８】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７９】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００８０】
１０  学習装置
１１  初期化部
１２  勾配計算部
１３  パラメータ更新部
【図１】
2018067039.tif 000020
【図２】
2018067039.tif 000021
【図３】
2018067039.tif 000022
【図４】
2018067039.tif 000023
【図５】
2018067039.tif 000024
【図６】
2018067039.tif 000025