学習率の調整方法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/04 07:58 UTC 版)
「バックプロパゲーション」の記事における「学習率の調整方法」の解説
学習率の調整方法として2011年にJohn DuchiらがAdaGradを発表し、2012年にRMSPropが発表された。ヤン・ルカンらは1998年にパラメータごとに学習率を変えた方が良いと述べているが、これらもパラメータごとに学習率を変えている。これらの手法のコンセプトは勾配がなめらかな所で学習率を高めることにある。 AdaGradは以下の方法で学習率 η t {\displaystyle \eta _{t}} をパラメータごとに設定していく。方法としてはパラメータごとに誤差関数の勾配の二乗累積和を計算し、学習率はその平方根で割る。 ϵ {\displaystyle \epsilon } はrが0に近い時に学習率が無限大に行かないようにするために入れる物で、例えば 10 − 4 {\displaystyle 10^{-4}} 等の小さな数値を入れる。 η 0 {\displaystyle \eta _{0}} は全パラメータ共通の学習率の初期値。tはエポック数。 r t = r t − 1 + ( ∂ E t ∂ w ) 2 η t = η 0 r t + ϵ {\displaystyle {\begin{aligned}r_{t}&=r_{t-1}+\left({\frac {\partial E_{t}}{\partial w}}\right)^{2}\\\eta _{t}&={\frac {\eta _{0}}{\sqrt {r_{t}+\epsilon }}}\end{aligned}}} RMSPropは以下の方法で学習率 η t {\displaystyle \eta _{t}} をパラメータごとに設定していく。AdaGrad との違いは、誤差関数の勾配の二乗を扱う際に累積和ではなく指数移動平均を使うことにある。追加になったハイパーパラメータは β {\displaystyle \beta } で0.9等を使う。AdaGradでは学習率は常に減少していくが、指数移動平均を使ったことにより、増減するようになった。 r t = β r t − 1 + ( 1 − β ) ( ∂ E t ∂ w ) 2 η t = η 0 r t + ϵ {\displaystyle {\begin{aligned}r_{t}&=\beta r_{t-1}+(1-\beta )\left({\frac {\partial E_{t}}{\partial w}}\right)^{2}\\\eta _{t}&={\frac {\eta _{0}}{\sqrt {r_{t}+\epsilon }}}\end{aligned}}}
※この「学習率の調整方法」の解説は、「バックプロパゲーション」の解説の一部です。
「学習率の調整方法」を含む「バックプロパゲーション」の記事については、「バックプロパゲーション」の概要を参照ください。
- 学習率の調整方法のページへのリンク