
目次
ADAM(Adaptive Moment Estimation、適応的モーメント推定) とは
ADAMは、深層学習において広く用いられる最適化アルゴリズムです。勾配降下法を改良したもので、パラメータの更新において過去の勾配情報を用いることで、効率的な学習を実現します。
学習率の調整を自動で行うため、手動で調整する必要がなく、様々なタスクにおいて安定した性能を発揮します。これは、学習率の調整が機械学習モデルの性能に大きく影響を与えるため、非常に重要な特徴です。
第一モーメントと第二モーメントの推定値を用いてパラメータを更新します。これによって、局所解に陥りにくく、より良い解を発見する可能性が高まります。
ADAMアルゴリズムの仕組み
「ADAMアルゴリズムの仕組み」に関して、以下を解説していきます。
- 第一モーメントと第二モーメントの推定
- バイアス補正とパラメータ更新
第一モーメントと第二モーメントの推定
ADAMは、過去の勾配の平均(第一モーメント)と二乗平均(第二モーメント)を推定します。第一モーメントは勾配の指数移動平均、第二モーメントは勾配の二乗の指数移動平均として計算されます。これらを用いることで、勾配の変動を考慮した効率的なパラメータ更新を実現します。
第一モーメントと第二モーメントの推定は、それぞれ過去の勾配情報と勾配の二乗の情報を用いて計算されます。これによって、勾配の変動が大きい場合でも、安定した学習を行うことができます。
変数 | 説明 | 計算式 |
---|---|---|
mt | 第一モーメント(平均) | β1mt-1 + (1 – β1)gt |
vt | 第二モーメント(分散) | β2vt-1 + (1 – β2)gt2 |
gt | t時点での勾配 | – |
β1 | 第一モーメントの減衰率 | 0.9 |
β2 | 第二モーメントの減衰率 | 0.999 |
バイアス補正とパラメータ更新
第一モーメントと第二モーメントの推定値は、初期値の影響を受けやすくバイアスがかかります。そこで、ADAMではバイアス補正を行い、より正確な推定値を用いてパラメータを更新します。バイアス補正は、推定値を調整することで、初期値の影響を軽減します。
バイアス補正された第一モーメントと第二モーメントを用いて、パラメータを更新します。学習率は、第二モーメントの平方根で正規化することで、勾配の大きさに応じて自動的に調整されます。これによって、学習の効率が向上します。
変数 | 説明 | 計算式 |
---|---|---|
mt^ | バイアス補正された第一モーメント | mt / (1 – β1t) |
vt^ | バイアス補正された第二モーメント | vt / (1 – β2t) |
θt+1 | 更新後のパラメータ | θt – αmt^ / (√vt^ + ε) |
α | 学習率 | – |
ε | 小さな正の定数 | 1e-8 |