G検定(ジェネラリスト検定)
あだむ
アダム
Adaptive Moment Estimation
パラメータごとに学習率を適応的に調整する最適化手法。勾配の2乗の指数移動平均に加えて勾配そのものの指数移動平均も保持し、初期の偏りをバイアス補正で打ち消す。
詳しい説明
位置づけ
Adam(Adaptive Moment Estimation)は、パラメータごとに適応的な学習率を計算する最適化手法の一つです。AdadeltaやRMSpropと同じく、過去の勾配の2乗について指数関数的に減衰する平均 v_t を保持します。それに加えて、モーメンタムのように、過去の勾配そのものについても指数関数的に減衰する平均 m_t を保持します。勾配の大きさに応じて学習率を調整する仕組みと、勾配の向きをためていく仕組みを、一つの手法にまとめたものといえます。
重く、摩擦のあるボール
モーメンタムは、坂を転がり落ちるボールにたとえられます。これに対してAdamは、重く、摩擦のあるボールのようにふるまいます。摩擦があるため、誤差曲面の中でも平坦な最小値を好むとされます。
二つの移動平均
m_t と v_t は次の式で計算します。g_t は時刻 t の勾配です。
m_t = β1*m_(t-1) + (1-β1)*g_t
v_t = β2*v_(t-1) + (1-β2)*g_t^2
m_t は勾配の1次モーメント(平均)の推定値、v_t は2次モーメント(中心化しない分散)の推定値です。この二つのモーメントを推定することが、Adaptive Moment Estimation という名前の由来です。
バイアス補正
m_t と v_t は、どちらも0のベクトルで初期化されます。そのため、特に学習の初期の時刻や、減衰率が小さいとき(β1とβ2が1に近いとき)に、推定値がゼロの方向へ偏ります。Adamの提案者は、この偏りを打ち消すために、バイアスを補正した推定値を次のように計算します。
m̂_t = m_t / (1 - β1^t)
v̂_t = v_t / (1 - β2^t)
更新式
補正した推定値を使い、AdadeltaやRMSpropと同じ形でパラメータを更新します。
θ_(t+1) = θ_t - (η / (sqrt(v̂_t) + ε)) * m̂_t
η は学習率、ε は分母に加える小さな定数です。補正後の2次モーメントの平方根で学習率を割り、補正後の1次モーメントの方向へパラメータを動かす形になっています。
推奨される既定値
提案者は、β1 = 0.9、β2 = 0.999、ε = 10^(-8) を既定値として提案しています。また、Adamが実用上よく機能し、ほかの適応的な学習率の手法と比べても良好な結果を示すことを、実験によって示しています。
試験で問われること
G検定
- AdamはAdadeltaやRMSpropと同じく勾配の2乗の指数移動平均v_tを保持し、それに加えてモーメンタムのように勾配そのものの指数移動平均m_tも保持する、パラメータごとに学習率を適応させる手法である。
- m_tは勾配の1次モーメント(平均)、v_tは2次モーメント(中心化しない分散)の推定値であり、これらのモーメントを推定することがAdaptive Moment Estimationという名前の由来である。
- m_tとv_tは0で初期化されるため、学習初期や減衰率が小さいとき(β1とβ2が1に近いとき)にゼロ方向へ偏り、m̂_t = m_t/(1-β1^t)とv̂_t = v_t/(1-β2^t)で補正する。
- 更新式はθ_(t+1) = θ_t - (η/(sqrt(v̂_t)+ε))*m̂_tであり、補正後の2次モーメントの平方根で学習率を割り、補正後の1次モーメントの方向へパラメータを動かす。
- 提案者が示す既定値はβ1=0.9、β2=0.999、ε=10^(-8)であり、坂を転がるボールにたとえられるモーメンタムに対し、Adamは重く摩擦のあるボールのようにふるまい平坦な最小値を好む。
最終更新日: 2026/09/23