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

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

Info

Publication number
JPWO2017183587A1
JPWO2017183587A1 JP2018513164A JP2018513164A JPWO2017183587A1 JP WO2017183587 A1 JPWO2017183587 A1 JP WO2017183587A1 JP 2018513164 A JP2018513164 A JP 2018513164A JP 2018513164 A JP2018513164 A JP 2018513164A JP WO2017183587 A1 JPWO2017183587 A1 JP WO2017183587A1
Authority
JP
Japan
Prior art keywords
learning
gradient
primary
primary gradient
moving average
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
JP2018513164A
Other languages
English (en)
Other versions
JP6417075B2 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2017183587A1 publication Critical patent/JPWO2017183587A1/ja
Application granted granted Critical
Publication of JP6417075B2 publication Critical patent/JP6417075B2/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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Abstract

学習装置(10)は、機械学習での確率的勾配降下法を用いて学習を行う学習装置であって、確率的勾配降下法における一次勾配を計算する勾配計算部(11)と、一次勾配の統計量を計算する統計量計算部(12)と、統計量計算部(12)が計算した一次勾配の統計量から、統計量計算部(12)が一次勾配の統計量を計算する際の重みとして使用した初期化バイアスを除去する初期化バイアス除去部(13)と、一次勾配の統計量を基に、学習率を、一次勾配の標準偏差で除算することで、学習率を調整する学習率調整部(14)と、学習率調整部(14)が調整した学習率を用いて学習モデルのパラメータを更新するパラメータ更新部(15)と、を有する。

Description

本発明は、学習装置、学習方法および学習プログラムに関する。
機械学習は、識別、回帰、クラスタリングなどの解きたい問題において、観測データに基づき、誤差関数を下げるようにモデルのパラメータの学習を行い、未知データに対して予測を行う分野に適用される。機械学習では、過去の観測データからモデルを作り、将来のデータを予測する。この機械学習では、予測したデータと、実測データの乖離(誤差)が小さくなるように、モデルを作ることが必要である。さらに、機械学習では、誤差が小さく、かつ、短時間で、モデルを作ることが期待されている。
ここで、モデルのパラメータの学習に適用される既存のアルゴリズムのうち、確率的勾配降下法が汎用的な学習アルゴリズムの一つとして定着している。確率的勾配降下法とは、ランダムに学習データを選んで誤差関数を計算し、その誤差関数を減少させる勾配方向にパラメータを修正する操作を反復する手法である。近年、効率的な学習を実現するため、確率的勾配降下法を基にした様々な学習アルゴリズムが提案されている。なお、ここで、効率的とは、従来の確率的勾配降下法と比して、少ないパラメータの更新回数で誤差関数を下げることができる、という意味である。
例えば、確率的勾配降下法に基づき、学習率を自動的に調整することによって効率的な学習を実現するAdaGradと呼ばれるアルゴリズムが提案されている(例えば、非特許文献1参照)。なお、学習率は、モデルの学習時に、パラメータの更新量を制御するためのハイパーパラメータである。この学習率の設定によって、いかに早く誤差関数を最小にできるかが変わってくる。
また、RMSPropと呼ばれるアルゴリズムは、例えば、深層学習等の複雑なモデルの学習にも学習率の自動調整を適用したアルゴリズムである。そして、AdaGradよりも収束が速く、局所最適解が求まりやすいAdaDeltaと呼ばれるアルゴリズム(例えば、非特許文献2参照)やAdam(例えば、非特許文献3参照)と呼ばれる効率的な学習アルゴリズムも提案されている。このうち、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では、一次勾配の絶対値を用いるため、学習率に対し、一次勾配の方向に関する情報が失われてしまい、効率的な学習にも限界があると予想される。
本発明は、上記に鑑みてなされたものであって、効率的な学習を実現することができる学習装置、学習方法および学習プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る学習装置は、機械学習での確率的勾配降下法を用いて学習を行う学習装置であって、確率的勾配降下法における一次勾配を計算する勾配計算部と、一次勾配の統計量を計算する統計量計算部と、統計量計算部が計算した一次勾配の統計量から、統計量計算部が一次勾配の統計量を計算する際に初期化バイアスを除去する初期化バイアス除去部と、一次勾配の統計量を基に、学習率を、一次勾配の標準偏差で除算することで、学習率を調整する学習率調整部と、学習率調整部が調整した学習率を用いて学習モデルのパラメータを更新するパラメータ更新部と、を有する。
本発明によれば、効率的な学習を実現することができる。
図1は、本実施の形態に係る学習装置の構成の一例を示すブロック図である。 図2は、図1に示す学習装置が実行する学習処理の処理手順を示すフローチャートである。 図3は、図1に示す学習装置が使用する学習アルゴリズムを示す図である。 図4は、実施の形態の変形例に係る学習処理の処理手順を示すフローチャートである。 図5は、実施の形態の変形例に係る学習アルゴリズムを示す図である。 図6は、プログラムが実行されることにより、学習装置が実現されるコンピュータの一例を示す図である。
以下、図面を参照して、本発明の一実施の形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[主な記号の定義]
実施の形態で用いる主な記号を下表に示す。以下、従来の数理的背景、実施の形態の数理的背景、実施の形態の各説明において、同一の記号を用いる。
Figure 2017183587
[従来の数理的背景]
まず、以降の説明において必要となる背景知識を説明する。機械学習は、基本的に、解きたい問題の誤差関数を最小化するようにモデルを観測データから学習し、学習したモデルを用いて未知のデータに対する予測を行う技術である。解きたい問題は、例えば、データの分類、回帰、クラスタリングなどが挙げられる。誤差関数は、例えば、二乗誤差や交差エントロピーなどが挙げられる。モデルは、例えば、ロジスティック回帰やニューラルネットなどが挙げられる。
ここで、誤差関数をf(・)、学習モデルのパラメータをθとすると、学習は、f(θ)を最小化するようなθを見つける問題となる。学習を行うための多くのアルゴリズムのうち、確率的勾配降下法は、広く使用されているアルゴリズムである。確率的勾配降下法は、以下の(1)式を繰り返し適用することで学習を行う。
Figure 2017183587
αは、パラメータの更新幅を規定するために、人手で設定されるハイパーパラメータの一つであり、学習率とよばれる。学習率は更新幅を規定するものであるため、学習の効率に大きく影響する。学習率を適切に設定できれば、高い効率で学習を進めることができる。近年では、この学習率を種々の情報を基に自動的に調整することによって、高い効率を達成する研究が進んでいる。なお、ここで、高い効率とは、従来の確率的勾配降下法と比して、少ないパラメータの更新回数で誤差関数を下げることができる、という意味である。
例えば、Adamと呼ばれる学習アルゴリズムでは、過去の一次勾配の絶対値の移動平均で学習率を除算することによって学習率を自動的に調整している。一次勾配とは、誤差関数におけるパラメータに関する微分のことを指し、パラメータの更新の方向を規定する情報を含む。しかしながら、Adamでは、学習率に対して一次勾配の絶対値を用いるため、一次勾配の方向に関する情報が失われてしまい、効率的な学習にも限界があると予想される。
[実施の形態の数理的背景]
本実施の形態は、確率的勾配降下法において、勾配の方向の情報を基に、学習率を自動的に調整する。本実施の形態では、(1)式に代えて、以下の一連の(2)式〜(7)式を繰り返し適用することで、勾配の方向の情報に基づいた学習率の調整を実現している。本実施の形態では、繰り返し計算回数をtとする。
まず、本実施の形態では、以降で説明する(2)式〜(7)式で用いる各変数を初期化し、ハイパーパラメータであるα,β,βは、経験的に求められた標準値を設定する。β,βは、確率的勾配降下法における一次勾配の統計量を計算する際の重みである。βは、一次勾配の移動平均の近似を算出する際の重みであり、βは、一次勾配の分散の移動平均を算出する際の重みである。続いて、本実施の形態では、以下の(2)式を用いて演算を実行する。(2)式は、(t−1)回目の繰り返しにおけるi番目のパラメータの一次勾配を、シンボルgi,tとすることを示す。
Figure 2017183587
そして、本実施の形態では、以下の(3)式を用いて、t回目の繰り返しにおけるi番目一次勾配gi,tの移動平均の近似値を求める。
Figure 2017183587
(3)式における一次勾配gi,tの移動平均の近似値mi,tは、過去の時刻に渡る一次勾配の移動平均の近似である。この一次勾配の移動平均の近似値mi,tは、一次勾配gi,tに関する統計量である。
続いて、本実施の形態では、一次勾配gi,tの移動平均の近似値mi,tに対し、次の(4)式を用いて、初期化バイアスを除去する。言い換えると、本実施の形態では、(4)式を用いて、一次勾配gi,tの移動平均の近似値mi,tから、初期化バイアスを除去する。
Figure 2017183587
そして、本実施の形態では、以下の(5)式を用いて、t回目の繰り返しにおけるi番目一次勾配gi,tの分散の移動平均を求める。
Figure 2017183587
(5)式におけるi番目一次勾配gi,tの分散の移動平均ci,tは、過去の時刻に渡る一次勾配の分散の移動平均である。この一次勾配gi,tの分散の移動平均ci,tは、一次勾配gi,tに関する統計量である。この一次勾配gi,tの分散の移動平均ci,tは、一次勾配gi,tの過去の方向のばらつきによって決まる値であり、一次勾配gi,tの方向の情報を含む。
続いて、本実施の形態では、一次勾配gi,tの分散の移動平均ci,tに対し、次の(6)式を用いて、初期化バイアスを除去する。言い換えると、本実施の形態では、(6)式を用いて、一次勾配gi,tの分散の移動平均ci,tから、初期化バイアスを除去する。
Figure 2017183587
そして、本実施の形態では、次の(7)式を用いて、学習率の調整を行う。
Figure 2017183587
本実施の形態では、学習モデルのパラメータθが収束するまで(2)式〜(7)式の演算を繰り返す。本実施の形態では、(7)式に示すように、学習率を、一次勾配gi,tのバイアス除去後の分散の移動平均ci,tの平方根、即ち、一次勾配の標準偏差で除算することで、学習率の自動調整を行う定式化となっている。ここで、分散は、一次勾配の過去の方向のばらつきによって決まる。
したがって、本実施の形態は、一次勾配の方向の情報を基にした学習率の調整を実行することができ、誤差関数を下げることができる。すなわち、本実施の形態によれば、効率的な学習を実現することができる。
[実施の形態]
上記の実施の形態の数理的背景を踏まえ、本実施の形態に係る学習装置などについて説明する。なお、以下の実施の形態は、一例を示すに過ぎない。
[学習装置の構成]
図1は、本実施の形態に係る学習装置10の構成の一例を示すブロック図である。学習装置10は、機械学習での確率的勾配降下法を用いて学習を行う。学習装置10は、ハイパーパラメータであるα,β,βの標準値を入力とする。このα,β,βの入力は、初回のみである。そして、学習装置10は、例えば、収束したパラメータθを出力する。図1に示すように、本実施の形態に係る学習装置10は、勾配計算部11、統計量計算部12、初期化バイアス除去部13、学習率調整部14及びパラメータ更新部15を有する。
勾配計算部11は、確率的勾配降下法における一次勾配を計算する。具体的には、勾配計算部11は、パラメータ更新部15により更新されたθを入力とする。また、勾配計算部11は、外部装置による入力データxを入力とする。この勾配計算部11は、繰り返し計算回数を表すtについて、一次勾配gを計算して統計量計算部12に出力する。
まず、最初に、勾配計算部11は、各変数を初期化する。この場合、勾配計算部11は、繰り返し計算回数tについてt=0をセットする。そして、勾配計算部11は、一次勾配gの移動平均の近似値mについてm=mをセットし、一次勾配gの分散の移動平均cについてc=cをセットする。同様に、初期化バイアス除去後のm及び初期化バイアス除去後のcについても初期値をセットする。なお、この初期化は初回のみ行われる。
そして、勾配計算部11は、入力データx及びパラメータθが入力される。続いて、勾配計算部11は、tを+1インクリメントする。この+1インクリメントにより、後述する初期化バイアスが除去された一次勾配の移動平均の近似値m及び一次勾配の分散の移動平均cは、一次勾配の移動平均の近似値mt−1及び一次勾配の分散の移動平均ct−1となる。このため、各変数の初期化が実行された場合には、この+1インクリメントによってt=1となり、初期化バイアスが除去された一次勾配の移動平均の近似値mt−1及び一次勾配の分散の移動平均ct−1は、初期化バイアスが除去された一次勾配の移動平均の近似値mt−1及び一次勾配の分散の移動平均ct−1となる。
そして、勾配計算部11は、(2)式を用いて、一次勾配gを計算し、統計量計算部12に出力する。
統計量計算部12は、一次勾配の統計量を計算する。具体的には、統計量計算部12は、勾配計算部11が出力した一次勾配g、及び、ハイパーパラメータであるα,β,βの標準値を入力とし、統計量である一次勾配gの移動平均の近似値mと一次勾配gの分散の移動平均cとを計算する。統計量計算部12は、(3)式を用いて、一次勾配gの移動平均の近似値mを計算する。そして、統計量計算部12は、(5)式を用いて、一次勾配gの分散の移動平均cを計算する。統計量計算部12は、一次勾配gの移動平均の近似値m及び一次勾配gの分散の移動平均cを初期化バイアス除去部13に出力する。
初期化バイアス除去部13は、統計量計算部12が計算した一次勾配の統計量から初期化バイアスを除去する。具体的には、初期化バイアス除去部13は、一次勾配gの移動平均の近似値mに対し、(4)式を用いて初期化バイアスを除去する。そして、初期化バイアス除去部13は、一次勾配gの分散の移動平均cに対し、(6)式を用いて初期化バイアスを除去する。なお、この初期化バイアスを除去する計算については、例えば非特許文献3に記載された計算を用いればよい。
学習率調整部14は、一次勾配の統計量を基に、学習率を、一次勾配の標準偏差で除算することで、学習率を調整する。具体的には、学習率調整部14は、初期化バイアス除去部13によって初期化バイアスを除去された一次勾配gの移動平均の近似値m及び一次勾配gの分散の移動平均cを基に、(7)式を用いて、学習率の調整を行う。具体的には、学習率調整部14は、初期化バイアスを除去された統計量を基に、学習率を、一次勾配の標準偏差で除算することで、学習率を調整する。
パラメータ更新部15は、学習率調整部14が調整した学習率を用いて学習モデルのパラメータを更新する。具体的には、パラメータ更新部15は、学習率調整部14による演算結果を基に、モデルのパラメータθを更新する。パラメータ更新部15は、パラメータθが収束する場合には、演算処理を終了する。一方、パラメータθが収束していない場合には、パラメータθを勾配計算部11に出力する。これによって、勾配計算部11は、tを+1インクリメントする。そして、勾配計算部11、統計量計算部12、初期化バイアス除去部13及び学習率調整部14は、(2)式〜(7)式の演算を繰り返す。
[学習処理]
次に、学習装置10が実行する学習処理について説明する。図2は、図1に示す学習装置10が実行する学習処理の処理手順を示すフローチャートである。まず、学習装置10では、勾配計算部11が、ハイパーパラメータであるα,β,βの標準値の入力を受け付ける(ステップS1)。続いて、勾配計算部11は、各変数を初期化する(ステップS2)。
そして、勾配計算部11は、入力データx及びパラメータθが入力され、tを+1インクリメントする(ステップS3)。続いて、勾配計算部11は、(2)式を用いて一次勾配gを計算し(ステップS4)、統計量計算部12に出力する。
そして、統計量計算部12は、勾配計算部11が出力した一次勾配g、及び、ハイパーパラメータであるα,β,βの標準値を入力とし、(3)式を用いて一次勾配gの移動平均の近似値mを計算する(ステップS5)。また、統計量計算部12は、(5)式を用いて、一次勾配gの分散の移動平均cを計算する(ステップS6)。
そして、初期化バイアス除去部13は、統計量計算部12が計算した一次勾配gの移動平均の近似値m及び一次勾配gの分散の移動平均cに対し、初期化バイアスを除去する(ステップS7)。初期化バイアス除去部13は、一次勾配gの移動平均の近似値mに対しては、(4)式を用いて初期化バイアスを除去する。そして、初期化バイアス除去部13は、一次勾配gの分散の移動平均cに対しては、(6)式を用いて初期化バイアスを除去する。
続いて、学習率調整部14は初期化バイアス除去部13によって初期化バイアスを除去された一次勾配gの移動平均の近似値m及び一次勾配gの分散の移動平均cを基に、(7)式の第2項を用いて学習率の調整を行う(ステップS8)。(7)式では、学習率と、一次勾配の移動平均の近似値を、一次勾配の分散の移動平均の平方根である一次勾配の標準偏差で除算した値と、の積をとることで、学習率を調整している。
そして、パラメータ更新部15は、ステップS8の演算結果を基に、モデルのパラメータθを更新する(ステップS9)。その後、パラメータ更新部15は、モデルのパラメータθが収束したか否かを判断する(ステップS10)。学習装置10は、パラメータθが収束したとパラメータ更新部15が判断した場合には(ステップS10:Yes)、処理を終了する。一方、学習装置10は、パラメータθが収束していないとパラメータ更新部15が判断した場合には(ステップS10:No)、ステップS3に戻る。すなわち、勾配計算部11が、tを+1インクリメントし、ステップS4以降の処理を再度実行する。
以上の学習処理では、学習率を、一次勾配の標準偏差で除算することで、学習率を調整する。言い換えると、以上の学習処理によれば、パラメータの更新の方向を規定する情報を含む一次勾配の標準偏差を用いて、学習率を調整している。このため、以上の学習処理によれば、効率的な学習を実現することができる。
[学習アルゴリズム]
次に、学習装置10が使用する学習アルゴリズムについて説明する。図3は、図1に示す学習装置10が使用する学習アルゴリズムを示す図である。図3に示す学習アルゴリズムは、図2の学習処理のフローチャートが示す処理に対応する。図3に示すように、学習アルゴリズムは、まず、ハイパーパラメータの経験的な標準設定を示す。例えば、学習率α=0.001、β=0.7、β=0.99が経験的な標準設定として示されている。
まず、学習アルゴリズムは、α,β,β、θをインプットする。これは、図2に示すステップS1に該当する。続いて、学習アルゴリズムは、各変数の初期化を行う。具体的には、繰り返し計算回数t=0、一次勾配の移動平均の近似値mをm=m、一次勾配の分散の移動平均cをc=cにセットし、初期化バイアス除去後のm及び初期化バイアス除去後のcを初期値にセットする(図3の第1行目)。図3の第1行目は、図2に示すステップS2に該当する。
学習アルゴリズムは、tを+1インクリメントする(図3の第3行目)。図3の第3行目は、図2に示すステップS3に該当する。学習アルゴリズムは、(2)式を用いて、一次勾配gを計算する(図3の第4行目)。図3の第4行目は、図2に示すステップS4に該当する。
学習アルゴリズムは、(3)式を用いて、一次勾配gの移動平均の近似値mを計算する(図3の第5行目)。図3の第5行目は、図2に示すステップS5に該当する。そして、学習アルゴリズムは、(5)式を用いて、一次勾配gの分散の移動平均cを計算する(図3の第6行目)。図3の第6行目は、図2に示すステップS6に該当する。
そして、学習アルゴリズムは、一次勾配gの移動平均の近似値mに対し、(4)式を用いて初期化バイアスを除去する(図3の第7行目)。学習アルゴリズムは、一次勾配gの分散の移動平均cに対し、(6)式を用いて初期化バイアスを除去する(図3の第8行目)。図3の第7行目及び第8行目は、図2に示すステップS7に該当する。
学習アルゴリズムは、初期化バイアスを除去された一次勾配gの移動平均の近似値m及び一次勾配gの分散の移動平均cを基に、(7)式を用いて、学習率の調整を行い、パラメータθを更新する(図3の第9行目)。図3の第9行目は、図2に示すステップS8とステップS9に該当する。
学習アルゴリズムは、パラメータθが収束するまで、図3の第2行目から第7行目の処理を繰り返す(図3の第10行目)。図3の第10行目は、図2に示すステップS10に該当する。
[実施の形態の効果]
本実施の形態では、確率的勾配降下法において、学習率を、一次勾配の絶対値ではなく、一次勾配の標準偏差で除算することで、学習率を調整することによって、従来よりも効率的な学習を実行することができる。
具体的には、本実施の形態では、学習率を、一次勾配の標準偏差で除算することで、学習率を調整することによって、繰り返し計算回数であるtが1つ進んだ場合の誤差の下がり方が従来のAdam(例えば、非特許文献3参照)よりも大きくなることが実験的に求められた。すなわち、本実施の形態によれば、従来のAdamよりも少ない繰り返し計算回数tの学習でパラメータθを収束することができた。したがって、本実施の形態では、従来のAdamと比して効率的な学習を実現することができる。
また、本実施の形態では、パラメータの更新の方向を規定する情報を含む一次勾配の標準偏差を用いて学習率を調整することによって、学習されたモデルの誤差関数は、Adamよりも小さくなり、精度の高い結果が実験的に得られた。
そして、本実施の形態では、従来の学習(例えば、AdaGrad(例えば、非特許文献1参照))で必要であった学習率の減衰スケジュールが不要であるため、学習率の減衰スケジュールに対する人手によるチューニングも不要となり、チューニングコストを低減することができる。
ここで、従来の一部のアルゴリズムでは、勾配が極端に大きくなる場合にはパラメータも極端に大きく更新され、学習が失敗してしまうことから、これを防ぐために、gradient clippingの閾値に対する、人手によるチューニングを行う必要があった。すなわち、従来では、勾配が極端に大きくなり閾値を超えた場合には、実際の勾配の値に代えて閾値を用いて演算を進めることによって、学習の失敗を低減している。従来は、この閾値を人手でチューニングする必要があった。
これに対し、本実施の形態では、パラメータθを求める演算式である(7)式において、学習率を一次勾配の標準偏差で除している。ここで、勾配が極端に大きくなる場合には、これに伴い、勾配の分散も大きくなる。したがって、実施の形態では、(7)式の分子に含まれる勾配が極端に大きくなっても、分母に含まれる勾配の分散も大きくなるため、パラメータθが極端に大きくなることはない。このように、本実施の形態では、パラメータθの更新量が極端に大きくなることがないため、学習が失敗することが少ないと言える。このため、本実施の形態では、gradient clippingの閾値を設けずとも演算が進行するため、gradient clippingの閾値に対する、人手によるチューニング自体が不要となり、チューニングコストを低減することができる。
[変形例]
本実施の形態に係る変形例について説明する。変形例においても、確率的勾配降下法において、勾配の方向の情報を基に、学習率を自動的に調整する。本変形例では、(2)〜(7)式に代えて、以下の一連の(8)式〜(12)式を繰り返し適用することで、勾配の方向の情報に基づいた学習率の調整を実現している。本変形例においても、繰り返し計算回数をtとする。
まず、本変形例では、以降で説明する(8)式〜(12)式で用いる各変数を初期化し、ハイパーパラメータであるα,βは、経験的に求められた標準値を設定する。βは、確率的勾配降下法における一次勾配の統計量を計算する際の重みである。βは、一次勾配の移動平均と、一次勾配の分散の移動平均を算出する際の重みである。続いて、本変形例では、以下の(8)式を用いて演算を実行する。(8)式は、(t−1)回目の繰り返しにおけるi番目のパラメータの一次勾配を、シンボルgi,tとすることを示す。
Figure 2017183587
そして、本変形例では、以下の(9)式を用いて、t回目の繰り返しにおけるi番目一次勾配gi,tの移動平均を求める。
Figure 2017183587
(9)式における一次勾配gi,tの移動平均mi,tは、過去の時刻に渡る一次勾配の移動平均である。この一次勾配の移動平均mi,tは、一次勾配gi,tに関する統計量である。
そして、本実施の形態では、以下の(10)式を用いて、t回目の繰り返しにおけるi番目一次勾配gi,tの分散の移動平均を求める。
Figure 2017183587
(10)式におけるi番目一次勾配gi,tの分散の移動平均ci,tは、過去の時刻に渡る一次勾配の分散の移動平均である。この一次勾配gi,tの分散の移動平均ci,tは、一次勾配gi,tに関する統計量である。この一次勾配gi,tの分散の移動平均ci,tは、一次勾配gi,tの過去の方向のばらつきによって決まる値であり、一次勾配gi,tの方向の情報を含む。
続いて、本変形例では、一次勾配gi,tの分散の移動平均ci,tに対し、次の(11)式を用いて、初期化バイアスを除去する。言い換えると、本変形例では、(11)式を用いて、一次勾配gi,tの分散の移動平均ci,tから、初期化バイアスを除去する。
Figure 2017183587
そして、本実施の形態では、次の(12)式を用いて、学習率の調整を行う。
Figure 2017183587
本変形例では、学習モデルのパラメータθが収束するまで(8)式〜(12)式の演算を繰り返す。本変形例では、(12)式に示すように、学習率を、一次勾配gi,tのバイアス除去後の分散の移動平均ci,tの平方根、即ち、一次勾配の標準偏差で除算することで、学習率の自動調整を行う定式化となっている。ここで、分散は、一次勾配の過去の方向のばらつきによって決まる。
したがって、本変形例においても、一次勾配の方向の情報を基にした学習率の調整を実行することができ、誤差関数を下げることができる。本変形例に係る学習装置は、図1に示す学習装置10と同様の構成を有する。そこで、本変形例に係る学習処理について説明する。
[学習処理]
図4は、実施の形態の変形例に係る学習処理の処理手順を示すフローチャートである。まず、学習装置10では、勾配計算部11が、ハイパーパラメータであるα,βの標準値の入力を受け付ける(ステップS11)。図4に示すステップS12及びステップS13は、図1に示すステップS2及びステップS3である。
続いて、勾配計算部11は、(8)式を用いて一次勾配gを計算し(ステップS14)、統計量計算部12に出力する。そして、統計量計算部12は、勾配計算部11が出力した一次勾配g、及び、ハイパーパラメータであるα,βの標準値を入力とし、(9)式を用いて一次勾配gの移動平均mを計算する(ステップS15)。また、統計量計算部12は、(10)式を用いて、一次勾配gの分散の移動平均cを計算する(ステップS16)。
そして、初期化バイアス除去部13は、統計量計算部12が計算した一次勾配gの分散の移動平均cに対し、初期化バイアスを除去する(ステップS17)。初期化バイアス除去部13は、一次勾配gの分散の移動平均cに対しては、(11)式を用いて初期化バイアスを除去する。
続いて、学習率調整部14は、一次勾配g及び初期化バイアスを除去された一次勾配gの分散の移動平均cを基に、(12)式の第2項を用いて学習率の調整を行う(ステップS18)。(12)式では、学習率と、一次勾配を、一次勾配の分散の移動平均の平方根である一次勾配の標準偏差で除算した値と、の積をとることで、学習率を調整している。
図4に示すステップS19及びステップS20は、図2に示すステップS9及びステップS10である。
[変形例に係る学習アルゴリズム]
次に、本変形例に係る学習アルゴリズムについて説明する。図5は、本変形例に係る学習アルゴリズム2を示す図である。図5に示す学習アルゴリズム2は、図4の学習処理のフローチャートが示す処理に対応する。
図5に示すように、まず、学習アルゴリズムは、α,β,θをインプットする。これは、図4に示すステップS11に該当する。続いて、学習アルゴリズムは、各変数の初期化を行う。具体的には、繰り返し計算回数t=0、一次勾配の移動平均mをm=m、一次勾配の分散の移動平均cをc=cにセットし、初期化バイアス除去後のcを初期値にセットする(図5の第1行目)。図5の第1行目は、図4に示すステップS12に該当する。
学習アルゴリズムは、tを+1インクリメントする(図5の第3行目)。図5の第3行目は、図4に示すステップS13に該当する。学習アルゴリズムは、(8)式を用いて、一次勾配gを計算する(図5の第4行目)。図5の第4行目は、図4に示すステップS14に該当する。
学習アルゴリズムは、(9)式を用いて、一次勾配gの移動平均mを計算する(図5の第5行目)。図5の第5行目は、図4に示すステップS15に該当する。そして、学習アルゴリズムは、(10)式を用いて、一次勾配gの分散の移動平均cを計算する(図5の第6行目)。図5の第6行目は、図4に示すステップS16に該当する。学習アルゴリズムは、一次勾配gの分散の移動平均cに対し、(11)式を用いて初期化バイアスを除去する(図5の第7行目)。図5の第7行目は、図4に示すステップS17に該当する。
学習アルゴリズムは、一次勾配g及び一次勾配gの分散の移動平均cを基に、(12)式を用いて、学習率の調整を行い、パラメータθを更新する(図5の第8行目)。図5の第8行目は、図4に示すステップS18とステップS19に該当する。
学習アルゴリズムは、パラメータθが収束するまで、図5の第2行目から第8行目の処理を繰り返す(図5の第9行目)。図5の第9行目は、図4に示すステップS20に該当する。
[実施形態のシステム構成について]
図1に示した学習装置10の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、学習装置10の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
また、学習装置10においておこなわれる各処理は、全部または任意の一部が、CPU(Central Processing Unit)およびCPUにより解析実行されるプログラムにて実現されてもよい。また、学習装置10においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
また、実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
[プログラム]
図6は、プログラムが実行されることにより、学習装置10が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、学習装置10の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、学習装置10における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
10 学習装置
11 勾配計算部
12 統計量計算部
13 初期化バイアス除去部
14 学習率調整部
15 パラメータ更新部

Claims (7)

  1. 機械学習での確率的勾配降下法を用いて学習を行う学習装置であって、
    前記確率的勾配降下法における一次勾配を計算する勾配計算部と、
    前記一次勾配の統計量を計算する統計量計算部と、
    前記統計量計算部が計算した一次勾配の統計量から、統計量計算部が一次勾配の統計量を計算する際に初期化バイアスを除去する初期化バイアス除去部と、
    前記一次勾配の統計量を基に、学習率を、前記一次勾配の標準偏差で除算することで、前記学習率を調整する学習率調整部と、
    前記学習率調整部が調整した前記学習率を用いて学習モデルのパラメータを更新するパラメータ更新部と、
    を有することを特徴とする学習装置。
  2. 前記統計量計算部は、前記一次勾配の統計量として、前記一次勾配の移動平均の近似値と、前記一次勾配の分散の移動平均とを計算し、
    前記学習率調整部は、前記学習率と、前記一次勾配の移動平均の近似値を、前記一次勾配の分散の移動平均の平方根である一次勾配の標準偏差で除算した値と、の積をとることで、前記学習率を調整することを特徴とする請求項1に記載の学習装置。
  3. 前記統計量計算部は、前記一次勾配の統計量として、前記一次勾配の移動平均と、前記一次勾配の分散の移動平均とを計算し、
    前記学習率調整部は、前記学習率と、前記一次勾配を、前記一次勾配の分散の移動平均の平方根である一次勾配の標準偏差で除算した値と、の積をとることで、前記学習率を調整する
    ことを特徴とする請求項1に記載の学習装置。
  4. 前記初期化バイアス除去部は、
    前記一次勾配の移動平均の近似値を、前記一次勾配の移動平均を算出する際の重みを1から減算した値で、除算することで、前記一次勾配の移動平均の近似値の初期化バイアスを除去し、
    前記一次勾配の分散の移動平均を、前記一次勾配の分散の移動平均を算出する際の重みを1から減算した値で、除算することで、前記一次勾配の分散の移動平均の近似値の初期化バイアスを除去する
    ことを特徴とする請求項2に記載の学習装置。
  5. 前記初期化バイアス除去部は、
    前記一次勾配の分散の移動平均を、前記一次勾配の分散の移動平均を算出する際の重みを1から減算した値で、除算することで、前記一次勾配の分散の移動平均の近似値の初期化バイアスを除去する
    ことを特徴とする請求項3に記載の学習装置。
  6. 機械学習での確率的勾配降下法を用いて学習を行う学習装置が実行する学習方法であって、
    前記確率的勾配降下法における一次勾配を計算する工程と、
    前記一次勾配の統計量を計算する工程と、
    前記一次勾配の統計量から、前記統計量を計算する工程において前記一次勾配の統計量を計算する際に初期化バイアスを除去する工程と、
    前記一次勾配の統計量を基に、学習率を、前記一次勾配の標準偏差で除算することで、前記学習率を調整する工程と、
    前記調整する工程において調整された前記学習率を用いて学習モデルのパラメータを更新する工程と、
    を含んだことを特徴とする学習方法。
  7. 機械学習での確率的勾配降下法を用いて学習を行う場合に、前記確率的勾配降下法における一次勾配を計算するステップと、
    前記一次勾配の統計量を計算するステップと、
    前記一次勾配の統計量から、前記統計量を計算するステップにおいて前記一次勾配の統計量を計算する際に使用した初期化バイアスを除去するステップと、
    前記一次勾配の統計量を基に、学習率を、前記一次勾配の標準偏差で除算することで、前記学習率を調整するステップと、
    前記調整するステップにおいて調整された前記学習率を用いて学習モデルのパラメータを更新するステップと、
    をコンピュータに実行させるための学習プログラム。
JP2018513164A 2016-04-18 2017-04-14 学習装置、学習方法および学習プログラム Active JP6417075B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016083141 2016-04-18
JP2016083141 2016-04-18
PCT/JP2017/015337 WO2017183587A1 (ja) 2016-04-18 2017-04-14 学習装置、学習方法および学習プログラム

Publications (2)

Publication Number Publication Date
JPWO2017183587A1 true JPWO2017183587A1 (ja) 2018-08-30
JP6417075B2 JP6417075B2 (ja) 2018-10-31

Family

ID=60115964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018513164A Active JP6417075B2 (ja) 2016-04-18 2017-04-14 学習装置、学習方法および学習プログラム

Country Status (4)

Country Link
US (1) US20190156240A1 (ja)
EP (1) EP3432230A4 (ja)
JP (1) JP6417075B2 (ja)
WO (1) WO2017183587A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11126893B1 (en) * 2018-05-04 2021-09-21 Intuit, Inc. System and method for increasing efficiency of gradient descent while training machine-learning models
WO2019220525A1 (ja) * 2018-05-15 2019-11-21 日本電気株式会社 確率的最適化装置、確率的最適化方法、および確率的最適化プログラム
JP7301801B2 (ja) 2018-10-09 2023-07-03 株式会社Preferred Networks ハイパーパラメータチューニング方法、装置及びプログラム
JP6699702B2 (ja) * 2018-10-17 2020-05-27 トヨタ自動車株式会社 内燃機関の制御装置及びその制御方法、並びに内燃機関を制御するための学習モデル及びその学習方法
JP6548243B1 (ja) * 2018-10-30 2019-07-24 株式会社キャンサースキャン 健康診断受診確率計算方法及び健診勧奨通知支援システム
AU2019461061B2 (en) * 2019-08-14 2023-03-30 Nippon Telegraph And Telephone Corporation Secure gradient descent computation method, secure deep learning method, secure gradient descent computation system, secure deep learning system, secure computation apparatus, and program
CN110992432B (zh) * 2019-10-28 2021-07-09 北京大学 基于深度神经网络最小方差梯度量化压缩及图像处理方法
WO2021186500A1 (ja) * 2020-03-16 2021-09-23 日本電気株式会社 学習装置、学習方法、及び、記録媒体
JP7436830B2 (ja) 2020-04-06 2024-02-22 富士通株式会社 学習プログラム、学習方法、および学習装置
CN112884160B (zh) * 2020-12-31 2024-03-12 北京爱笔科技有限公司 一种元学习方法及相关装置
CN116569187A (zh) 2021-12-03 2023-08-08 三菱电机株式会社 已学习模型生成系统、已学习模型生成方法、信息处理装置、程序、已学习模型以及推测装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017152990A1 (en) * 2016-03-11 2017-09-14 Telecom Italia S.P.A. Convolutional neural networks, particularly for image analysis

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KINGMA, P. DIEDERIK, BA, LEI JIMMY, ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION [ONLINE], JPN6017025546, 22 December 2014 (2014-12-22) *

Also Published As

Publication number Publication date
US20190156240A1 (en) 2019-05-23
EP3432230A4 (en) 2019-11-20
JP6417075B2 (ja) 2018-10-31
WO2017183587A1 (ja) 2017-10-26
EP3432230A1 (en) 2019-01-23

Similar Documents

Publication Publication Date Title
JP6417075B2 (ja) 学習装置、学習方法および学習プログラム
Brownlee What is the Difference Between a Batch and an Epoch in a Neural Network
JP7016407B2 (ja) スマートな供給空気温度設定点制御を介する冷却ユニットのエネルギー最適化
WO2019194299A1 (ja) 学習装置、学習方法および学習プログラム
CN113544599A (zh) 执行过程并优化在该过程中使用的控制信号的方法
CN111382906A (zh) 一种电力负荷预测方法、系统、设备和计算机可读存储介质
US11550274B2 (en) Information processing apparatus and information processing method
CN106600001B (zh) 基于混合高斯分布相关学习机的玻璃窑炉温度预报方法
CN111209083B (zh) 一种容器调度的方法、设备及存储介质
JP2021033341A (ja) 最適化装置および最適化装置の制御方法
JP2019040414A (ja) 学習装置及び学習方法
JP6662754B2 (ja) L1グラフ計算装置、l1グラフ計算方法及びl1グラフ計算プログラム
JP6929260B2 (ja) 時系列特徴抽出装置、時系列特徴抽出方法及びプログラム
CN114442557B (zh) 一种机床温度场快速辨识方法及系统
WO2021157669A1 (ja) 回帰分析装置、回帰分析方法及びプログラム
US20170344883A1 (en) Systems and methods for control, analysis, and/or evaluation of dynamical systems
JP7360162B2 (ja) 制御系設計方法及び制御装置
CN114139792A (zh) 一种基于贝叶斯网络的航空产品交货期风险动态预测方法
CN114138025A (zh) 控制脱硫浆液阀门开度的方法、装置及相关设备
JP6493904B2 (ja) パラメータ選定方法、パラメータ選定プログラム及びパラメータ選定装置
CN104134091B (zh) 一种神经网络训练方法
KR102265361B1 (ko) 스무딩을 이용한 딥러닝 방법 및 장치
CN111047016A (zh) 一种模型训练的方法和装置
EP3567544A1 (en) Method of creating an image chain
JP2020064491A (ja) 学習システム、学習方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180417

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: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181004

R150 Certificate of patent or registration of utility model

Ref document number: 6417075

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150