(57)【要約】  学習装置（１０）は、機械学習での確率的勾配降下法を用いて学習を行う学習装置であって、確率的勾配降下法における一次勾配を計算する勾配計算部（１１）と、一次勾配の統計量を計算する統計量計算部（１２）と、統計量計算部（１２）が計算した一次勾配の統計量から、統計量計算部（１２）が一次勾配の統計量を計算する際の重みとして使用した初期化バイアスを除去する初期化バイアス除去部（１３）と、一次勾配の統計量を基に、学習率を、一次勾配の標準偏差で除算することで、学習率を調整する学習率調整部（１４）と、学習率調整部（１４）が調整した学習率を用いて学習モデルのパラメータを更新するパラメータ更新部（１５）と、を有する。
2017183587.tif 000002
【特許請求の範囲】
【請求項１】
機械学習での確率的勾配降下法を用いて学習を行う学習装置であって、
前記確率的勾配降下法における一次勾配を計算する勾配計算部と、
前記一次勾配の統計量を計算する統計量計算部と、
前記統計量計算部が計算した一次勾配の統計量から、統計量計算部が一次勾配の統計量を計算する際に初期化バイアスを除去する初期化バイアス除去部と、
前記一次勾配の統計量を基に、学習率を、前記一次勾配の標準偏差で除算することで、前記学習率を調整する学習率調整部と、
前記学習率調整部が調整した前記学習率を用いて学習モデルのパラメータを更新するパラメータ更新部と、
を有することを特徴とする学習装置。
【請求項２】
前記統計量計算部は、前記一次勾配の統計量として、前記一次勾配の移動平均の近似値と、前記一次勾配の分散の移動平均とを計算し、
前記学習率調整部は、前記学習率と、前記一次勾配の移動平均の近似値を、前記一次勾配の分散の移動平均の平方根である一次勾配の標準偏差で除算した値と、の積をとることで、前記学習率を調整することを特徴とする請求項１に記載の学習装置。
【請求項３】
前記統計量計算部は、前記一次勾配の統計量として、前記一次勾配の移動平均と、前記一次勾配の分散の移動平均とを計算し、
前記学習率調整部は、前記学習率と、前記一次勾配を、前記一次勾配の分散の移動平均の平方根である一次勾配の標準偏差で除算した値と、の積をとることで、前記学習率を調整する
ことを特徴とする請求項１に記載の学習装置。
【請求項４】
前記初期化バイアス除去部は、
前記一次勾配の移動平均の近似値を、前記一次勾配の移動平均を算出する際の重みを１から減算した値で、除算することで、前記一次勾配の移動平均の近似値の初期化バイアスを除去し、
前記一次勾配の分散の移動平均を、前記一次勾配の分散の移動平均を算出する際の重みを１から減算した値で、除算することで、前記一次勾配の分散の移動平均の近似値の初期化バイアスを除去する
ことを特徴とする請求項２に記載の学習装置。
【請求項５】
前記初期化バイアス除去部は、
前記一次勾配の分散の移動平均を、前記一次勾配の分散の移動平均を算出する際の重みを１から減算した値で、除算することで、前記一次勾配の分散の移動平均の近似値の初期化バイアスを除去する
ことを特徴とする請求項３に記載の学習装置。
【請求項６】
機械学習での確率的勾配降下法を用いて学習を行う学習装置が実行する学習方法であって、
前記確率的勾配降下法における一次勾配を計算する工程と、
前記一次勾配の統計量を計算する工程と、
前記一次勾配の統計量から、前記統計量を計算する工程において前記一次勾配の統計量を計算する際に初期化バイアスを除去する工程と、
前記一次勾配の統計量を基に、学習率を、前記一次勾配の標準偏差で除算することで、前記学習率を調整する工程と、
前記調整する工程において調整された前記学習率を用いて学習モデルのパラメータを更新する工程と、
を含んだことを特徴とする学習方法。
【請求項７】
機械学習での確率的勾配降下法を用いて学習を行う場合に、前記確率的勾配降下法における一次勾配を計算するステップと、
前記一次勾配の統計量を計算するステップと、
前記一次勾配の統計量から、前記統計量を計算するステップにおいて前記一次勾配の統計量を計算する際に使用した初期化バイアスを除去するステップと、
前記一次勾配の統計量を基に、学習率を、前記一次勾配の標準偏差で除算することで、前記学習率を調整するステップと、
前記調整するステップにおいて調整された前記学習率を用いて学習モデルのパラメータを更新するステップと、
をコンピュータに実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法および学習プログラムに関する。
【背景技術】
【０００２】
機械学習は、識別、回帰、クラスタリングなどの解きたい問題において、観測データに基づき、誤差関数を下げるようにモデルのパラメータの学習を行い、未知データに対して予測を行う分野に適用される。機械学習では、過去の観測データからモデルを作り、将来のデータを予測する。この機械学習では、予測したデータと、実測データの乖離（誤差）が小さくなるように、モデルを作ることが必要である。さらに、機械学習では、誤差が小さく、かつ、短時間で、モデルを作ることが期待されている。【０００３】
ここで、モデルのパラメータの学習に適用される既存のアルゴリズムのうち、確率的勾配降下法が汎用的な学習アルゴリズムの一つとして定着している。確率的勾配降下法とは、ランダムに学習データを選んで誤差関数を計算し、その誤差関数を減少させる勾配方向にパラメータを修正する操作を反復する手法である。近年、効率的な学習を実現するため、確率的勾配降下法を基にした様々な学習アルゴリズムが提案されている。なお、ここで、効率的とは、従来の確率的勾配降下法と比して、少ないパラメータの更新回数で誤差関数を下げることができる、という意味である。【０００４】
例えば、確率的勾配降下法に基づき、学習率を自動的に調整することによって効率的な学習を実現するAdaGradと呼ばれるアルゴリズムが提案されている（例えば、非特許文献１参照）。なお、学習率は、モデルの学習時に、パラメータの更新量を制御するためのハイパーパラメータである。この学習率の設定によって、いかに早く誤差関数を最小にできるかが変わってくる。【０００５】
また、RMSPropと呼ばれるアルゴリズムは、例えば、深層学習等の複雑なモデルの学習にも学習率の自動調整を適用したアルゴリズムである。そして、AdaGradよりも収束が速く、局所最適解が求まりやすいAdaDeltaと呼ばれるアルゴリズム（例えば、非特許文献２参照）やAdam（例えば、非特許文献３参照）と呼ばれる効率的な学習アルゴリズムも提案されている。このうち、Adamは、これらの学習率を自動的に調整するアルゴリズムの中でも最も高い効率を持つことが実験で示されている。【０００６】
上記したAdaGrad、RMSProp、AdaDelta及びAdamは、過去の一次勾配の絶対値の移動平均で学習率を除算することによって、学習率を自動的に調整している。なお、一次勾配とは、誤差関数におけるパラメータに関する微分のことを指す。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】J.  Duchi，E.  Hazan,  and  Y.  Singer,  “Adaptive  Subgradient  Methods  for  Online  Learning  and  Stochastic  Optimization，”  The  Journal  of  Machine  Learning  Research,  12,  2121-2159，  2011
【非特許文献２】M.  D.  Zeiler，  “ADADELTA:  AN  ADAPTIVE  LEARNING  RATE  METHOD，”  arXiv  preprint  arXiv:1212.5701，  2012
【非特許文献３】D.  Kingma,  and  J.  Ba,  “ADAM:  A  METHOD  FOR  STOCHASTIC  OPTIMIZATION，”  arXiv  preprint  arXiv:1412.6980，  2014
【発明の概要】
【発明が解決しようとする課題】
【０００８】
この一次勾配は、パラメータの更新の方向を規定する情報である。したがって、学習率の調整には、一次勾配の方向の情報が重要であると推測できる。しかしながら、AdaGrad、RMSProp、AdaDelta及びAdamでは、一次勾配の絶対値を用いるため、学習率に対し、一次勾配の方向に関する情報が失われてしまい、効率的な学習にも限界があると予想される。【０００９】
本発明は、上記に鑑みてなされたものであって、効率的な学習を実現することができる学習装置、学習方法および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明に係る学習装置は、機械学習での確率的勾配降下法を用いて学習を行う学習装置であって、確率的勾配降下法における一次勾配を計算する勾配計算部と、一次勾配の統計量を計算する統計量計算部と、統計量計算部が計算した一次勾配の統計量から、統計量計算部が一次勾配の統計量を計算する際に初期化バイアスを除去する初期化バイアス除去部と、一次勾配の統計量を基に、学習率を、一次勾配の標準偏差で除算することで、学習率を調整する学習率調整部と、学習率調整部が調整した学習率を用いて学習モデルのパラメータを更新するパラメータ更新部と、を有する。
【発明の効果】
【００１１】
本発明によれば、効率的な学習を実現することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施の形態に係る学習装置の構成の一例を示すブロック図である。
【図２】図２は、図１に示す学習装置が実行する学習処理の処理手順を示すフローチャートである。
【図３】図３は、図１に示す学習装置が使用する学習アルゴリズムを示す図である。
【図４】図４は、実施の形態の変形例に係る学習処理の処理手順を示すフローチャートである。
【図５】図５は、実施の形態の変形例に係る学習アルゴリズムを示す図である。
【図６】図６は、プログラムが実行されることにより、学習装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の一実施の形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１４】
［主な記号の定義］
実施の形態で用いる主な記号を下表に示す。以下、従来の数理的背景、実施の形態の数理的背景、実施の形態の各説明において、同一の記号を用いる。
【００１５】
【表１】
2017183587.tif 000003
【００１６】
［従来の数理的背景］
まず、以降の説明において必要となる背景知識を説明する。機械学習は、基本的に、解きたい問題の誤差関数を最小化するようにモデルを観測データから学習し、学習したモデルを用いて未知のデータに対する予測を行う技術である。解きたい問題は、例えば、データの分類、回帰、クラスタリングなどが挙げられる。誤差関数は、例えば、二乗誤差や交差エントロピーなどが挙げられる。モデルは、例えば、ロジスティック回帰やニューラルネットなどが挙げられる。
【００１７】
ここで、誤差関数をｆ（・）、学習モデルのパラメータをθとすると、学習は、ｆ（θ）を最小化するようなθを見つける問題となる。学習を行うための多くのアルゴリズムのうち、確率的勾配降下法は、広く使用されているアルゴリズムである。確率的勾配降下法は、以下の（１）式を繰り返し適用することで学習を行う。
【００１８】
【数１】
2017183587.tif 000004
【００１９】
αは、パラメータの更新幅を規定するために、人手で設定されるハイパーパラメータの一つであり、学習率とよばれる。学習率は更新幅を規定するものであるため、学習の効率に大きく影響する。学習率を適切に設定できれば、高い効率で学習を進めることができる。近年では、この学習率を種々の情報を基に自動的に調整することによって、高い効率を達成する研究が進んでいる。なお、ここで、高い効率とは、従来の確率的勾配降下法と比して、少ないパラメータの更新回数で誤差関数を下げることができる、という意味である。
【００２０】
例えば、Adamと呼ばれる学習アルゴリズムでは、過去の一次勾配の絶対値の移動平均で学習率を除算することによって学習率を自動的に調整している。一次勾配とは、誤差関数におけるパラメータに関する微分のことを指し、パラメータの更新の方向を規定する情報を含む。しかしながら、Adamでは、学習率に対して一次勾配の絶対値を用いるため、一次勾配の方向に関する情報が失われてしまい、効率的な学習にも限界があると予想される。
【００２１】
［実施の形態の数理的背景］
本実施の形態は、確率的勾配降下法において、勾配の方向の情報を基に、学習率を自動的に調整する。本実施の形態では、（１）式に代えて、以下の一連の（２）式〜（７）式を繰り返し適用することで、勾配の方向の情報に基づいた学習率の調整を実現している。本実施の形態では、繰り返し計算回数をｔとする。
【００２２】
まず、本実施の形態では、以降で説明する（２）式〜（７）式で用いる各変数を初期化し、ハイパーパラメータであるα，β１，β２は、経験的に求められた標準値を設定する。β１，β２は、確率的勾配降下法における一次勾配の統計量を計算する際の重みである。β１は、一次勾配の移動平均の近似を算出する際の重みであり、β２は、一次勾配の分散の移動平均を算出する際の重みである。続いて、本実施の形態では、以下の（２）式を用いて演算を実行する。（２）式は、（ｔ−１）回目の繰り返しにおけるｉ番目のパラメータの一次勾配を、シンボルｇｉ，ｔとすることを示す。
【００２３】
【数２】
2017183587.tif 000005
【００２４】
そして、本実施の形態では、以下の（３）式を用いて、ｔ回目の繰り返しにおけるｉ番目一次勾配ｇｉ，ｔの移動平均の近似値を求める。
【００２５】
【数３】
2017183587.tif 000006
【００２６】
（３）式における一次勾配ｇｉ，ｔの移動平均の近似値ｍｉ，ｔは、過去の時刻に渡る一次勾配の移動平均の近似である。この一次勾配の移動平均の近似値ｍｉ，ｔは、一次勾配ｇｉ，ｔに関する統計量である。
【００２７】
続いて、本実施の形態では、一次勾配ｇｉ，ｔの移動平均の近似値ｍｉ，ｔに対し、次の（４）式を用いて、初期化バイアスを除去する。言い換えると、本実施の形態では、（４）式を用いて、一次勾配ｇｉ，ｔの移動平均の近似値ｍｉ，ｔから、初期化バイアスを除去する。
【００２８】
【数４】
2017183587.tif 000007
【００２９】
そして、本実施の形態では、以下の（５）式を用いて、ｔ回目の繰り返しにおけるｉ番目一次勾配ｇｉ，ｔの分散の移動平均を求める。
【００３０】
【数５】
2017183587.tif 000008
【００３１】
（５）式におけるｉ番目一次勾配ｇｉ，ｔの分散の移動平均ｃｉ，ｔは、過去の時刻に渡る一次勾配の分散の移動平均である。この一次勾配ｇｉ，ｔの分散の移動平均ｃｉ，ｔは、一次勾配ｇｉ，ｔに関する統計量である。この一次勾配ｇｉ，ｔの分散の移動平均ｃｉ，ｔは、一次勾配ｇｉ，ｔの過去の方向のばらつきによって決まる値であり、一次勾配ｇｉ，ｔの方向の情報を含む。
【００３２】
続いて、本実施の形態では、一次勾配ｇｉ，ｔの分散の移動平均ｃｉ，ｔに対し、次の（６）式を用いて、初期化バイアスを除去する。言い換えると、本実施の形態では、（６）式を用いて、一次勾配ｇｉ，ｔの分散の移動平均ｃｉ，ｔから、初期化バイアスを除去する。
【００３３】
【数６】
2017183587.tif 000009
【００３４】
そして、本実施の形態では、次の（７）式を用いて、学習率の調整を行う。
【００３５】
【数７】
2017183587.tif 000010
【００３６】
本実施の形態では、学習モデルのパラメータθｔが収束するまで（２）式〜（７）式の演算を繰り返す。本実施の形態では、（７）式に示すように、学習率を、一次勾配ｇｉ，ｔのバイアス除去後の分散の移動平均ｃｉ，ｔの平方根、即ち、一次勾配の標準偏差で除算することで、学習率の自動調整を行う定式化となっている。ここで、分散は、一次勾配の過去の方向のばらつきによって決まる。
【００３７】
したがって、本実施の形態は、一次勾配の方向の情報を基にした学習率の調整を実行することができ、誤差関数を下げることができる。すなわち、本実施の形態によれば、効率的な学習を実現することができる。
【００３８】
［実施の形態］
上記の実施の形態の数理的背景を踏まえ、本実施の形態に係る学習装置などについて説明する。なお、以下の実施の形態は、一例を示すに過ぎない。
【００３９】
［学習装置の構成］
図１は、本実施の形態に係る学習装置１０の構成の一例を示すブロック図である。学習装置１０は、機械学習での確率的勾配降下法を用いて学習を行う。学習装置１０は、ハイパーパラメータであるα，β１，β２の標準値を入力とする。このα，β１，β２の入力は、初回のみである。そして、学習装置１０は、例えば、収束したパラメータθｔを出力する。図１に示すように、本実施の形態に係る学習装置１０は、勾配計算部１１、統計量計算部１２、初期化バイアス除去部１３、学習率調整部１４及びパラメータ更新部１５を有する。
【００４０】
勾配計算部１１は、確率的勾配降下法における一次勾配を計算する。具体的には、勾配計算部１１は、パラメータ更新部１５により更新されたθｔを入力とする。また、勾配計算部１１は、外部装置による入力データｘｔを入力とする。この勾配計算部１１は、繰り返し計算回数を表すｔについて、一次勾配ｇｔを計算して統計量計算部１２に出力する。
【００４１】
まず、最初に、勾配計算部１１は、各変数を初期化する。この場合、勾配計算部１１は、繰り返し計算回数ｔについてｔ＝０をセットする。そして、勾配計算部１１は、一次勾配ｇｔの移動平均の近似値ｍｔについてｍｔ＝ｍ０をセットし、一次勾配ｇｔの分散の移動平均ｃｔについてｃｔ＝ｃ０をセットする。同様に、初期化バイアス除去後のｍｔ及び初期化バイアス除去後のｃｔについても初期値をセットする。なお、この初期化は初回のみ行われる。
【００４２】
そして、勾配計算部１１は、入力データｘｔ及びパラメータθｔが入力される。続いて、勾配計算部１１は、ｔを＋１インクリメントする。この＋１インクリメントにより、後述する初期化バイアスが除去された一次勾配の移動平均の近似値ｍｔ及び一次勾配の分散の移動平均ｃｔは、一次勾配の移動平均の近似値ｍｔ−１及び一次勾配の分散の移動平均ｃｔ−１となる。このため、各変数の初期化が実行された場合には、この＋１インクリメントによってｔ＝１となり、初期化バイアスが除去された一次勾配の移動平均の近似値ｍｔ−１及び一次勾配の分散の移動平均ｃｔ−１は、初期化バイアスが除去された一次勾配の移動平均の近似値ｍｔ−１及び一次勾配の分散の移動平均ｃｔ−１となる。
【００４３】
そして、勾配計算部１１は、（２）式を用いて、一次勾配ｇｔを計算し、統計量計算部１２に出力する。
【００４４】
統計量計算部１２は、一次勾配の統計量を計算する。具体的には、統計量計算部１２は、勾配計算部１１が出力した一次勾配ｇｔ、及び、ハイパーパラメータであるα，β１，β２の標準値を入力とし、統計量である一次勾配ｇｔの移動平均の近似値ｍｔと一次勾配ｇｔの分散の移動平均ｃｔとを計算する。統計量計算部１２は、（３）式を用いて、一次勾配ｇｔの移動平均の近似値ｍｔを計算する。そして、統計量計算部１２は、（５）式を用いて、一次勾配ｇｔの分散の移動平均ｃｔを計算する。統計量計算部１２は、一次勾配ｇｔの移動平均の近似値ｍｔ及び一次勾配ｇｔの分散の移動平均ｃｔを初期化バイアス除去部１３に出力する。
【００４５】
初期化バイアス除去部１３は、統計量計算部１２が計算した一次勾配の統計量から初期化バイアスを除去する。具体的には、初期化バイアス除去部１３は、一次勾配ｇｔの移動平均の近似値ｍｔに対し、（４）式を用いて初期化バイアスを除去する。そして、初期化バイアス除去部１３は、一次勾配ｇｔの分散の移動平均ｃｔに対し、（６）式を用いて初期化バイアスを除去する。なお、この初期化バイアスを除去する計算については、例えば非特許文献３に記載された計算を用いればよい。
【００４６】
学習率調整部１４は、一次勾配の統計量を基に、学習率を、一次勾配の標準偏差で除算することで、学習率を調整する。具体的には、学習率調整部１４は、初期化バイアス除去部１３によって初期化バイアスを除去された一次勾配ｇｔの移動平均の近似値ｍｔ及び一次勾配ｇｔの分散の移動平均ｃｔを基に、（７）式を用いて、学習率の調整を行う。具体的には、学習率調整部１４は、初期化バイアスを除去された統計量を基に、学習率を、一次勾配の標準偏差で除算することで、学習率を調整する。
【００４７】
パラメータ更新部１５は、学習率調整部１４が調整した学習率を用いて学習モデルのパラメータを更新する。具体的には、パラメータ更新部１５は、学習率調整部１４による演算結果を基に、モデルのパラメータθｔを更新する。パラメータ更新部１５は、パラメータθｔが収束する場合には、演算処理を終了する。一方、パラメータθｔが収束していない場合には、パラメータθｔを勾配計算部１１に出力する。これによって、勾配計算部１１は、ｔを＋１インクリメントする。そして、勾配計算部１１、統計量計算部１２、初期化バイアス除去部１３及び学習率調整部１４は、（２）式〜（７）式の演算を繰り返す。
【００４８】
［学習処理］
次に、学習装置１０が実行する学習処理について説明する。図２は、図１に示す学習装置１０が実行する学習処理の処理手順を示すフローチャートである。まず、学習装置１０では、勾配計算部１１が、ハイパーパラメータであるα，β１，β２の標準値の入力を受け付ける（ステップＳ１）。続いて、勾配計算部１１は、各変数を初期化する（ステップＳ２）。
【００４９】
そして、勾配計算部１１は、入力データｘｔ及びパラメータθｔが入力され、ｔを＋１インクリメントする（ステップＳ３）。続いて、勾配計算部１１は、（２）式を用いて一次勾配ｇｔを計算し（ステップＳ４）、統計量計算部１２に出力する。
【００５０】
そして、統計量計算部１２は、勾配計算部１１が出力した一次勾配ｇｔ、及び、ハイパーパラメータであるα，β１，β２の標準値を入力とし、（３）式を用いて一次勾配ｇｔの移動平均の近似値ｍｔを計算する（ステップＳ５）。また、統計量計算部１２は、（５）式を用いて、一次勾配ｇｔの分散の移動平均ｃｔを計算する（ステップＳ６）。
【００５１】
そして、初期化バイアス除去部１３は、統計量計算部１２が計算した一次勾配ｇｔの移動平均の近似値ｍｔ及び一次勾配ｇｔの分散の移動平均ｃｔに対し、初期化バイアスを除去する（ステップＳ７）。初期化バイアス除去部１３は、一次勾配ｇｔの移動平均の近似値ｍｔに対しては、（４）式を用いて初期化バイアスを除去する。そして、初期化バイアス除去部１３は、一次勾配ｇｔの分散の移動平均ｃｔに対しては、（６）式を用いて初期化バイアスを除去する。
【００５２】
続いて、学習率調整部１４は初期化バイアス除去部１３によって初期化バイアスを除去された一次勾配ｇｔの移動平均の近似値ｍｔ及び一次勾配ｇｔの分散の移動平均ｃｔを基に、（７）式の第２項を用いて学習率の調整を行う（ステップＳ８）。（７）式では、学習率と、一次勾配の移動平均の近似値を、一次勾配の分散の移動平均の平方根である一次勾配の標準偏差で除算した値と、の積をとることで、学習率を調整している。
【００５３】
そして、パラメータ更新部１５は、ステップＳ８の演算結果を基に、モデルのパラメータθｔを更新する（ステップＳ９）。その後、パラメータ更新部１５は、モデルのパラメータθｔが収束したか否かを判断する（ステップＳ１０）。学習装置１０は、パラメータθｔが収束したとパラメータ更新部１５が判断した場合には（ステップＳ１０：Ｙｅｓ）、処理を終了する。一方、学習装置１０は、パラメータθｔが収束していないとパラメータ更新部１５が判断した場合には（ステップＳ１０：Ｎｏ）、ステップＳ３に戻る。すなわち、勾配計算部１１が、ｔを＋１インクリメントし、ステップＳ４以降の処理を再度実行する。
【００５４】
以上の学習処理では、学習率を、一次勾配の標準偏差で除算することで、学習率を調整する。言い換えると、以上の学習処理によれば、パラメータの更新の方向を規定する情報を含む一次勾配の標準偏差を用いて、学習率を調整している。このため、以上の学習処理によれば、効率的な学習を実現することができる。
【００５５】
［学習アルゴリズム］
次に、学習装置１０が使用する学習アルゴリズムについて説明する。図３は、図１に示す学習装置１０が使用する学習アルゴリズムを示す図である。図３に示す学習アルゴリズムは、図２の学習処理のフローチャートが示す処理に対応する。図３に示すように、学習アルゴリズムは、まず、ハイパーパラメータの経験的な標準設定を示す。例えば、学習率α＝０．００１、β１＝０．７、β２＝０．９９が経験的な標準設定として示されている。
【００５６】
まず、学習アルゴリズムは、α，β１，β２、θ０をインプットする。これは、図２に示すステップＳ１に該当する。続いて、学習アルゴリズムは、各変数の初期化を行う。具体的には、繰り返し計算回数ｔ＝０、一次勾配の移動平均の近似値ｍｔをｍｔ＝ｍ０、一次勾配の分散の移動平均ｃｔをｃｔ＝ｃ０にセットし、初期化バイアス除去後のｍｔ及び初期化バイアス除去後のｃｔを初期値にセットする（図３の第１行目）。図３の第１行目は、図２に示すステップＳ２に該当する。
【００５７】
学習アルゴリズムは、ｔを＋１インクリメントする（図３の第３行目）。図３の第３行目は、図２に示すステップＳ３に該当する。学習アルゴリズムは、（２）式を用いて、一次勾配ｇｔを計算する（図３の第４行目）。図３の第４行目は、図２に示すステップＳ４に該当する。
【００５８】
学習アルゴリズムは、（３）式を用いて、一次勾配ｇｔの移動平均の近似値ｍｔを計算する（図３の第５行目）。図３の第５行目は、図２に示すステップＳ５に該当する。そして、学習アルゴリズムは、（５）式を用いて、一次勾配ｇｔの分散の移動平均ｃｔを計算する（図３の第６行目）。図３の第６行目は、図２に示すステップＳ６に該当する。
【００５９】
そして、学習アルゴリズムは、一次勾配ｇｔの移動平均の近似値ｍｔに対し、（４）式を用いて初期化バイアスを除去する（図３の第７行目）。学習アルゴリズムは、一次勾配ｇｔの分散の移動平均ｃｔに対し、（６）式を用いて初期化バイアスを除去する（図３の第８行目）。図３の第７行目及び第８行目は、図２に示すステップＳ７に該当する。
【００６０】
学習アルゴリズムは、初期化バイアスを除去された一次勾配ｇｔの移動平均の近似値ｍｔ及び一次勾配ｇｔの分散の移動平均ｃｔを基に、（７）式を用いて、学習率の調整を行い、パラメータθｔを更新する（図３の第９行目）。図３の第９行目は、図２に示すステップＳ８とステップＳ９に該当する。
【００６１】
学習アルゴリズムは、パラメータθｔが収束するまで、図３の第２行目から第７行目の処理を繰り返す（図３の第１０行目）。図３の第１０行目は、図２に示すステップＳ１０に該当する。
【００６２】
［実施の形態の効果］
本実施の形態では、確率的勾配降下法において、学習率を、一次勾配の絶対値ではなく、一次勾配の標準偏差で除算することで、学習率を調整することによって、従来よりも効率的な学習を実行することができる。
【００６３】
具体的には、本実施の形態では、学習率を、一次勾配の標準偏差で除算することで、学習率を調整することによって、繰り返し計算回数であるｔが１つ進んだ場合の誤差の下がり方が従来のAdam（例えば、非特許文献３参照）よりも大きくなることが実験的に求められた。すなわち、本実施の形態によれば、従来のAdamよりも少ない繰り返し計算回数ｔの学習でパラメータθｔを収束することができた。したがって、本実施の形態では、従来のAdamと比して効率的な学習を実現することができる。
【００６４】
また、本実施の形態では、パラメータの更新の方向を規定する情報を含む一次勾配の標準偏差を用いて学習率を調整することによって、学習されたモデルの誤差関数は、Adamよりも小さくなり、精度の高い結果が実験的に得られた。
【００６５】
そして、本実施の形態では、従来の学習（例えば、AdaGrad（例えば、非特許文献１参照））で必要であった学習率の減衰スケジュールが不要であるため、学習率の減衰スケジュールに対する人手によるチューニングも不要となり、チューニングコストを低減することができる。
【００６６】
ここで、従来の一部のアルゴリズムでは、勾配が極端に大きくなる場合にはパラメータも極端に大きく更新され、学習が失敗してしまうことから、これを防ぐために、gradient  clippingの閾値に対する、人手によるチューニングを行う必要があった。すなわち、従来では、勾配が極端に大きくなり閾値を超えた場合には、実際の勾配の値に代えて閾値を用いて演算を進めることによって、学習の失敗を低減している。従来は、この閾値を人手でチューニングする必要があった。
【００６７】
これに対し、本実施の形態では、パラメータθｔを求める演算式である（７）式において、学習率を一次勾配の標準偏差で除している。ここで、勾配が極端に大きくなる場合には、これに伴い、勾配の分散も大きくなる。したがって、実施の形態では、（７）式の分子に含まれる勾配が極端に大きくなっても、分母に含まれる勾配の分散も大きくなるため、パラメータθｔが極端に大きくなることはない。このように、本実施の形態では、パラメータθｔの更新量が極端に大きくなることがないため、学習が失敗することが少ないと言える。このため、本実施の形態では、gradient  clippingの閾値を設けずとも演算が進行するため、gradient  clippingの閾値に対する、人手によるチューニング自体が不要となり、チューニングコストを低減することができる。
【００６８】
［変形例］
本実施の形態に係る変形例について説明する。変形例においても、確率的勾配降下法において、勾配の方向の情報を基に、学習率を自動的に調整する。本変形例では、（２）〜（７）式に代えて、以下の一連の（８）式〜（１２）式を繰り返し適用することで、勾配の方向の情報に基づいた学習率の調整を実現している。本変形例においても、繰り返し計算回数をｔとする。
【００６９】
まず、本変形例では、以降で説明する（８）式〜（１２）式で用いる各変数を初期化し、ハイパーパラメータであるα，β１は、経験的に求められた標準値を設定する。β１は、確率的勾配降下法における一次勾配の統計量を計算する際の重みである。β１は、一次勾配の移動平均と、一次勾配の分散の移動平均を算出する際の重みである。続いて、本変形例では、以下の（８）式を用いて演算を実行する。（８）式は、（ｔ−１）回目の繰り返しにおけるｉ番目のパラメータの一次勾配を、シンボルｇｉ，ｔとすることを示す。
【００７０】
【数８】
2017183587.tif 000011
【００７１】
そして、本変形例では、以下の（９）式を用いて、ｔ回目の繰り返しにおけるｉ番目一次勾配ｇｉ，ｔの移動平均を求める。
【００７２】
【数９】
2017183587.tif 000012
【００７３】
（９）式における一次勾配ｇｉ，ｔの移動平均ｍｉ，ｔは、過去の時刻に渡る一次勾配の移動平均である。この一次勾配の移動平均ｍｉ，ｔは、一次勾配ｇｉ，ｔに関する統計量である。
【００７４】
そして、本実施の形態では、以下の（１０）式を用いて、ｔ回目の繰り返しにおけるｉ番目一次勾配ｇｉ，ｔの分散の移動平均を求める。
【００７５】
【数１０】
2017183587.tif 000013
【００７６】
（１０）式におけるｉ番目一次勾配ｇｉ，ｔの分散の移動平均ｃｉ，ｔは、過去の時刻に渡る一次勾配の分散の移動平均である。この一次勾配ｇｉ，ｔの分散の移動平均ｃｉ，ｔは、一次勾配ｇｉ，ｔに関する統計量である。この一次勾配ｇｉ，ｔの分散の移動平均ｃｉ，ｔは、一次勾配ｇｉ，ｔの過去の方向のばらつきによって決まる値であり、一次勾配ｇｉ，ｔの方向の情報を含む。
【００７７】
続いて、本変形例では、一次勾配ｇｉ，ｔの分散の移動平均ｃｉ，ｔに対し、次の（１１）式を用いて、初期化バイアスを除去する。言い換えると、本変形例では、（１１）式を用いて、一次勾配ｇｉ，ｔの分散の移動平均ｃｉ，ｔから、初期化バイアスを除去する。
【００７８】
【数１１】
2017183587.tif 000014
【００７９】
そして、本実施の形態では、次の（１２）式を用いて、学習率の調整を行う。
【００８０】
【数１２】
2017183587.tif 000015
【００８１】
本変形例では、学習モデルのパラメータθｔが収束するまで（８）式〜（１２）式の演算を繰り返す。本変形例では、（１２）式に示すように、学習率を、一次勾配ｇｉ，ｔのバイアス除去後の分散の移動平均ｃｉ，ｔの平方根、即ち、一次勾配の標準偏差で除算することで、学習率の自動調整を行う定式化となっている。ここで、分散は、一次勾配の過去の方向のばらつきによって決まる。
【００８２】
したがって、本変形例においても、一次勾配の方向の情報を基にした学習率の調整を実行することができ、誤差関数を下げることができる。本変形例に係る学習装置は、図１に示す学習装置１０と同様の構成を有する。そこで、本変形例に係る学習処理について説明する。
【００８３】
［学習処理］
図４は、実施の形態の変形例に係る学習処理の処理手順を示すフローチャートである。まず、学習装置１０では、勾配計算部１１が、ハイパーパラメータであるα，β１の標準値の入力を受け付ける（ステップＳ１１）。図４に示すステップＳ１２及びステップＳ１３は、図１に示すステップＳ２及びステップＳ３である。
【００８４】
続いて、勾配計算部１１は、（８）式を用いて一次勾配ｇｔを計算し（ステップＳ１４）、統計量計算部１２に出力する。そして、統計量計算部１２は、勾配計算部１１が出力した一次勾配ｇｔ、及び、ハイパーパラメータであるα，β１の標準値を入力とし、（９）式を用いて一次勾配ｇｔの移動平均ｍｔを計算する（ステップＳ１５）。また、統計量計算部１２は、（１０）式を用いて、一次勾配ｇｔの分散の移動平均ｃｔを計算する（ステップＳ１６）。
【００８５】
そして、初期化バイアス除去部１３は、統計量計算部１２が計算した一次勾配ｇｔの分散の移動平均ｃｔに対し、初期化バイアスを除去する（ステップＳ１７）。初期化バイアス除去部１３は、一次勾配ｇｔの分散の移動平均ｃｔに対しては、（１１）式を用いて初期化バイアスを除去する。
【００８６】
続いて、学習率調整部１４は、一次勾配ｇｔ及び初期化バイアスを除去された一次勾配ｇｔの分散の移動平均ｃｔを基に、（１２）式の第２項を用いて学習率の調整を行う（ステップＳ１８）。（１２）式では、学習率と、一次勾配を、一次勾配の分散の移動平均の平方根である一次勾配の標準偏差で除算した値と、の積をとることで、学習率を調整している。
【００８７】
図４に示すステップＳ１９及びステップＳ２０は、図２に示すステップＳ９及びステップＳ１０である。
【００８８】
［変形例に係る学習アルゴリズム］
次に、本変形例に係る学習アルゴリズムについて説明する。図５は、本変形例に係る学習アルゴリズム２を示す図である。図５に示す学習アルゴリズム２は、図４の学習処理のフローチャートが示す処理に対応する。
【００８９】
図５に示すように、まず、学習アルゴリズムは、α，β１，θ０をインプットする。これは、図４に示すステップＳ１１に該当する。続いて、学習アルゴリズムは、各変数の初期化を行う。具体的には、繰り返し計算回数ｔ＝０、一次勾配の移動平均ｍｔをｍｔ＝ｍ０、一次勾配の分散の移動平均ｃｔをｃｔ＝ｃ０にセットし、初期化バイアス除去後のｃｔを初期値にセットする（図５の第１行目）。図５の第１行目は、図４に示すステップＳ１２に該当する。
【００９０】
学習アルゴリズムは、ｔを＋１インクリメントする（図５の第３行目）。図５の第３行目は、図４に示すステップＳ１３に該当する。学習アルゴリズムは、（８）式を用いて、一次勾配ｇｔを計算する（図５の第４行目）。図５の第４行目は、図４に示すステップＳ１４に該当する。
【００９１】
学習アルゴリズムは、（９）式を用いて、一次勾配ｇｔの移動平均ｍｔを計算する（図５の第５行目）。図５の第５行目は、図４に示すステップＳ１５に該当する。そして、学習アルゴリズムは、（１０）式を用いて、一次勾配ｇｔの分散の移動平均ｃｔを計算する（図５の第６行目）。図５の第６行目は、図４に示すステップＳ１６に該当する。学習アルゴリズムは、一次勾配ｇｔの分散の移動平均ｃｔに対し、（１１）式を用いて初期化バイアスを除去する（図５の第７行目）。図５の第７行目は、図４に示すステップＳ１７に該当する。
【００９２】
学習アルゴリズムは、一次勾配ｇｔ及び一次勾配ｇｔの分散の移動平均ｃｔを基に、（１２）式を用いて、学習率の調整を行い、パラメータθｔを更新する（図５の第８行目）。図５の第８行目は、図４に示すステップＳ１８とステップＳ１９に該当する。
【００９３】
学習アルゴリズムは、パラメータθｔが収束するまで、図５の第２行目から第８行目の処理を繰り返す（図５の第９行目）。図５の第９行目は、図４に示すステップＳ２０に該当する。
【００９４】
［実施形態のシステム構成について］
図１に示した学習装置１０の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、学習装置１０の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【００９５】
また、学習装置１０においておこなわれる各処理は、全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）およびＣＰＵにより解析実行されるプログラムにて実現されてもよい。また、学習装置１０においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【００９６】
また、実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【００９７】
［プログラム］
図６は、プログラムが実行されることにより、学習装置１０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００９８】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００９９】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、学習装置１０の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、学習装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【０１００】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【０１０１】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【０１０２】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【０１０３】
１０  学習装置
１１  勾配計算部
１２  統計量計算部
１３  初期化バイアス除去部
１４  学習率調整部
１５  パラメータ更新部
【図１】
2017183587.tif 000016
【図２】
2017183587.tif 000017
【図３】
2017183587.tif 000018
【図４】
2017183587.tif 000019
【図５】
2017183587.tif 000020
【図６】
2017183587.tif 000021
【国際調査報告】
2017183587.tif 000022
2017183587.tif 000023