- @ThothChildren
- 2017.9.13
- PV 509
Adam最適化関数
ー 概要 ー
学習係数を自動で調整させる最適化関数の一つ.
Adagrad, RMSPropを改良し移動平均を付け加えた最適化関数.
この章を学ぶ前に必要な知識
ポイント
- 学習係数が自動で調整される
- 指数移動平均のバイアスをなくす係数をかけている
- Adagrad, RMSPropの改良
解 説
Adagrad, RMSPropを改良して、勾配の指数移動平均を用いる.
今まで移動平均でバイアスがかかった状態で計算していたが、バイアスを
除去するようにして解消. | Adagrad最適化関数 |
$$m_t = \beta_1 m_{t-1} + (1 - \beta_1)\nabla{J(w_t)}$$
$$v_t = \beta_2 v_{t-1} + (1 - \beta_2)\nabla{J(w_t)}^2$$ | 過去の勾配の値を使って
指数移動平均を計算 |
$$\widehat{m_t}=\frac{m_t}{1-\beta_1^t}$$
$$\widehat{v_t}=\frac{v_t}{1-\beta_2^t}$$ | バイアスを補正 |
$$w_t = w_{t-1} - \frac{\eta}{\sqrt{\widehat{v_t}}+\epsilon}\widehat{m_t}$$ | Adam最適関数 |
適応的な学習係数のアルゴリズムの中では、理論的な裏付けはないが経験則として適応的なものの中ではAdamがよいとされている.
ただし、実際の他論文の実装ではMomentumやSGDを使っている例は多い.
SGD等は収束に時間がかかるが極小値を適切に見つけやすい等が理由としてあげられる. | Adamが一番よいのか |
この章を学んで新たに学べる
Comments
Reasons
知識: Adagrad最適化関数
学習係数を自動調整していく最適化関数の一つ.
過去の勾配と最新の勾配を元に各パラメータごとに学習率を調整するのが特徴.
Adam, Adadelta, RMSPropはAdagradを改良したもの