最適化アルゴリズム

Optimization Algorithm

最適化アルゴリズム(Optimization Algorithm / Optimizer)とは、損失関数を最小化するためにモデルのパラメータを更新する手法の総称です。機械学習の学習プロセスの中核を担い、モデルの収束速度と最終的な性能に大きく影響します。

主要な最適化アルゴリズム

SGD(確率的勾配降下法)は最も基本的な手法です。モメンタム付きSGDは過去の勾配情報を活用して振動を抑えます。AdaGradは各パラメータに適応的な学習率を割り当てます。RMSpropはAdaGradの学習率減衰の問題を改善し、Adamはモメンタムと適応的学習率を組み合わせた手法です。

表:最適化アルゴリズムの要点まとめ
ひとことで言うと損失を小さくするために、パラメータをどう更新するかを決める手順。
代表例SGD、モメンタム、RMSProp、Adam、AdamW。まずはAdamが無難。
注意点手法によって最適な学習率が違う。変えたら学習率も調整し直す。

Adamの優位性

Adam(Adaptive Moment Estimation)は最も広く使われているオプティマイザで、ハイパーパラメータの調整が比較的容易で安定した収束を示します。AdamW(重み減衰を分離)はさらに汎化性能を向上させた改良版です。

図:最適化アルゴリズムの位置づけ
1予測と損失どれだけ外れたか
▶
2勾配を計算誤差逆伝播法で求める
▶
3更新量を決めるここが最適化手法の役割
▶
4パラメータ更新モデルが少し賢くなる

最適化アルゴリズムの選択

深層学習ではAdamまたはAdamWが第一選択、学習率スケジューリングとの組み合わせが重要です。表形式データの機械学習では各ライブラリ(XGBoostなど)が独自の最適化を内蔵しています。