モーメンタムとは

もーめんたむmomentum別名 慣性項、モメンタム、Momentum SGD

1行定義

モーメンタムとは、勾配降下法で、前回までの更新の向きと勢いを慣性のように引き継ぎ、今回の勾配と合わせて重みを更新する最適化手法のことです。

くわしく

モーメンタムは、確率的勾配降下法(SGD)を改良した最適化手法の1つです。坂を転がるボールが勢いをつけて進むように、前回までの更新の流れを引き継いで重みを動かします。英語のmomentumは「運動量」「勢い」という意味です。

更新の式

通常の勾配降下法は、その時点の勾配だけを見て重みを動かします。モーメンタムでは、速度にあたる量vを用意し、次の2段階で更新します。

  1. v ← α × v − η × (誤差の勾配)
  2. w ← w + v

ηは学習率、αはモーメンタム係数で、0.9程度の値がよく使われます。αは前回の速度をどれだけ残すかを表し、α = 0にすると通常のSGDと同じ更新になります。

何がよくなるのか

谷が細長い形をした誤差関数では、SGDは谷の壁から壁へ行ったり来たりして、なかなか谷底の方向へ進みません。モーメンタムを使うと、毎回向きが入れ替わる成分は打ち消し合い、毎回同じ向きの成分は積み重なって大きくなります。その結果、振動が抑えられ、進みたい方向へ速く進めます。勢いがあるため、勾配がほとんど0の平らな場所や浅いくぼみを通り過ぎやすくなる効果も期待できます。

他の手法との違い

モーメンタムは、更新の向きと勢いを工夫する手法です。これに対し、AdaGradやRMSpropは、パラメータごとに学習率の大きさを自動で調整する手法です。Adamは、勾配の移動平均を使うモーメンタムの考え方と、RMSpropのような学習率の調整を組み合わせています。

モーメンタムの改良版として、少し先に進んだ位置で勾配を計算するNesterovの加速勾配法(NAG)もあります。

覚え方

「モーメンタムは慣性。同じ向きなら加速、逆向きなら相殺」と覚えます。

G検定での出題

過去の更新量を引き継ぐことで振動を抑え、学習を速める仕組みが問われます。学習率を自動で調整するAdaGradやRMSpropとの違い、両方の考え方を組み合わせたAdamとの関係も問われます。

混同しやすい用語

用語意味
AdaGradパラメータごとに過去の勾配の二乗を足し合わせ、その値が大きいパラメータほど学習率を小さくして更新する最適化手法
RMSprop勾配の2乗の指数移動平均をパラメータごとに記録し、その平方根で勾配を割って更新の大きさを調整する最適化手法

◯×チェック

  1. モーメンタムでは、勾配が何回も続けて同じ向きになる場面ほど、1回あたりの更新の幅が大きくなる。

    答えを見る

    答え ◯ 正しい

    前回までの速度に今回の勾配が積み重なるためです。同じ勾配が続けば、更新量は通常のSGDのおよそ1 ÷ (1 − α)倍に近づきます。

  2. モーメンタムは、パラメータごとに過去の勾配の二乗を使って学習率を自動で調整する手法である。

    答えを見る

    答え × 誤り

    それはAdaGradやRMSpropの考え方です。モーメンタムは学習率の大きさではなく、更新の向きと勢いを工夫します。

  3. モーメンタム係数を0にすると、モーメンタムの更新は通常の確率的勾配降下法と同じになる。

    答えを見る

    答え ◯ 正しい

    前回の速度をまったく残さないため、その時点の勾配に学習率を掛けた分だけ動く、通常の更新になります。

練習問題

モーメンタムの問題(3問)
  1. 勾配降下法の改良手法の違い
  2. モーメンタムの更新計算
  3. 学習の停滞への対処

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術16

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習