最終更新日:2026年8月21日
gk neural_network optimization
G検定トップ
> モーメンタム(Momentum)とは?慣性で振動を抑える【G検定】
まず結論
Momentumは、過去の更新方向を利用して「慣性」を持たせる最適化手法です。
G検定では、
- 慣性・速度・過去の更新方向 → Momentum
- 勾配二乗の移動平均 → RMSprop
- 1次・2次モーメント → Adam
と切り分けます。
直感的な説明
坂を転がるボールをイメージします。
- SGD:その時点の傾きを見て更新する
- Momentum:これまで進んできた勢いも使って更新する
谷の左右を行き来するような振動を抑え、同じ方向へ勾配が続くと加速しやすくなります。
定義・仕組み
Momentumでは、現在の勾配だけでなく、過去の更新方向を蓄積した速度を使います。
過去の更新方向
+
現在の勾配
↓
次の更新方向
重要なのは、RMSpropのように勾配二乗を使ってパラメータごとの実効学習率を調整する手法ではないことです。
Adamとの関係
Adamは、Momentumに近い勾配の1次モーメントと、RMSpropに近い勾配二乗の2次モーメントを組み合わせます。
したがって、
Momentum = Adamそのもの
ではありません。
いつ使う?(得意・不得意)
得意なこと
- SGDの振動を抑えたい
- 同じ方向へ続く更新を加速したい
- 単純なSGDより滑らかに学習を進めたい
注意点
- 学習率に加えてMomentum係数などの設定が必要
- 常にAdamや他の手法より優れるわけではない
- 「学習停滞を必ず防ぐ」手法ではない
G検定ひっかけポイント
- ❌「Momentumは勾配二乗の移動平均で学習率を調整する」
- それはRMSprop系です。
- ❌「MomentumとAdamは同じ」
- Adamは1次・2次モーメントの両方を使います。
- ❌「ミニバッチ学習=Momentum」
- ミニバッチは勾配計算に使うデータ量の話です。
判断基準
- 慣性・速度・振動抑制 → Momentum
- 二乗の移動平均 → RMSprop
- 1次+2次モーメント → Adam
まとめ(試験直前用)
- Momentum=慣性
- 過去の更新方向を利用する
- 振動を抑え、進みたい方向へ加速しやすい
- RMSpropの「勾配二乗」とは別
- AdamはMomentum系+RMSprop系の考え方を組み合わせる