【アダム】
Adam(最適化アルゴリズム) とは?
最終更新:
💡 勾配の履歴を使い、パラメータごとの更新量を調整する
勾配と勾配の二乗の移動平均を使い、パラメータごとに更新量を調整する最適化アルゴリズム。移動平均の初期の偏りを補正して更新する。基準となる学習率などの設定は必要で、最適解や他の手法より良い性能を常に保証するものではない。
📌 このページのポイント
普通のSGDと何が違うの?
どんな履歴を記憶するの?
勾配の指数移動平均と、勾配を二乗した値の指数移動平均だよ。一次・二次のモーメントの推定に使う。二乗の平均は、平均からのズレを二乗して測る分散そのものではないので、「揺れだけ」を覚えているとは言えないんだ。
それをどう更新に使うの?
デフォルトの設定ならうまくいく?
AdamWなら必ずもっと良くなる?
まとめ:ざっくりこれだけ覚えればOK!
「Adam」って出てきたら「勾配とその二乗の履歴で更新量を調整する最適化手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Adaptive Moment Estimation」 = 適応的モーメント推定
💬 Adaptiveは「適応的」、Moment Estimationは「モーメント推定」。勾配の平均と二乗の平均を推定して更新に使うことに由来する名前だよ