1行定義
モーメンタムとは、勾配降下法で、前回までの更新の向きと勢いを慣性のように引き継ぎ、今回の勾配と合わせて重みを更新する最適化手法のことです。
くわしく
モーメンタムは、確率的勾配降下法(SGD)を改良した最適化手法の1つです。坂を転がるボールが勢いをつけて進むように、前回までの更新の流れを引き継いで重みを動かします。英語のmomentumは「運動量」「勢い」という意味です。
更新の式
通常の勾配降下法は、その時点の勾配だけを見て重みを動かします。モーメンタムでは、速度にあたる量vを用意し、次の2段階で更新します。
v ← α × v − η × (誤差の勾配)w ← w + v
ηは学習率、αはモーメンタム係数で、0.9程度の値がよく使われます。αは前回の速度をどれだけ残すかを表し、α = 0にすると通常のSGDと同じ更新になります。
何がよくなるのか
谷が細長い形をした誤差関数では、SGDは谷の壁から壁へ行ったり来たりして、なかなか谷底の方向へ進みません。モーメンタムを使うと、毎回向きが入れ替わる成分は打ち消し合い、毎回同じ向きの成分は積み重なって大きくなります。その結果、振動が抑えられ、進みたい方向へ速く進めます。勢いがあるため、勾配がほとんど0の平らな場所や浅いくぼみを通り過ぎやすくなる効果も期待できます。
他の手法との違い
モーメンタムは、更新の向きと勢いを工夫する手法です。これに対し、AdaGradやRMSpropは、パラメータごとに学習率の大きさを自動で調整する手法です。Adamは、勾配の移動平均を使うモーメンタムの考え方と、RMSpropのような学習率の調整を組み合わせています。
モーメンタムの改良版として、少し先に進んだ位置で勾配を計算するNesterovの加速勾配法(NAG)もあります。
覚え方
「モーメンタムは慣性。同じ向きなら加速、逆向きなら相殺」と覚えます。
G検定での出題
出題のされ方
過去の更新量を引き継ぐことで振動を抑え、学習を速める仕組みが問われます。学習率を自動で調整するAdaGradやRMSpropとの違い、両方の考え方を組み合わせたAdamとの関係も問われます。
混同しやすい用語
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
モーメンタムでは、勾配が何回も続けて同じ向きになる場面ほど、1回あたりの更新の幅が大きくなる。
答えを見る
答え ◯ 正しい
前回までの速度に今回の勾配が積み重なるためです。同じ勾配が続けば、更新量は通常のSGDのおよそ1 ÷ (1 − α)倍に近づきます。
-
モーメンタムは、パラメータごとに過去の勾配の二乗を使って学習率を自動で調整する手法である。
答えを見る
答え × 誤り
それはAdaGradやRMSpropの考え方です。モーメンタムは学習率の大きさではなく、更新の向きと勢いを工夫します。
-
モーメンタム係数を0にすると、モーメンタムの更新は通常の確率的勾配降下法と同じになる。
答えを見る
答え ◯ 正しい
前回の速度をまったく残さないため、その時点の勾配に学習率を掛けた分だけ動く、通常の更新になります。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- B. T. Polyak, Some methods of speeding up the convergence of iteration methods, USSR Computational Mathematics and Mathematical Physics 4(5), 1–17 (1964)
- Ilya Sutskever, James Martens, George Dahl, Geoffrey Hinton, On the importance of initialization and momentum in deep learning, ICML 2013, PMLR 28(3):1139–1147
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (8.3.2 Momentum)