RMSpropとは

アールエムエスプロップRMSprop (root mean square propagation)別名 RMSProp

1行定義

RMSpropとは、勾配の2乗の指数移動平均をパラメータごとに記録し、その平方根で勾配を割って更新の大きさを調整する最適化手法のことです。

くわしく

RMSpropは、勾配降下法の歩幅(学習率の効き方)をパラメータごとに自動で調整する最適化手法です。名前は、2乗平均の平方根を表すroot mean squareに由来します。2012年にGeoffrey Hintonがオンライン講義で紹介した手法で、単独の論文としては発表されていません。

AdaGradの弱点

先に提案されたAdaGradは、パラメータごとに過去の勾配の2乗を足し続け、その合計の平方根で勾配を割ります。これまでの勾配が大きかったパラメータほど、歩幅が小さくなるしくみです。ただし合計は増える一方なので、学習が進むと歩幅が0に近づき、途中で学習がほとんど止まってしまいます。

合計を移動平均に置き換える

RMSpropは、合計の代わりに指数移動平均を使います。

  • v ← ρ・v + (1 − ρ)・g²(gは勾配、ρは0.9などの減衰率)
  • θ ← θ − η・g / (√v + ε)(ηは学習率、εは0での割り算を防ぐ小さな値)

移動平均では古い勾配の影響が少しずつ薄れ、直近の勾配の大きさが主に反映されます。そのため、歩幅が小さくなり続けることはありません。損失の地形が場所によって大きく変わる、ニューラルネットワークのような問題で扱いやすい手法です。

ほかの手法との関係

同じころ、AdaDeltaもAdaGradの弱点を移動平均で和らげる手法として提案されました。AdaDeltaは過去の更新量の大きさも使い、学習率をあらかじめ設定しなくてよい形にしています。その後のAdamは、RMSpropの「勾配の2乗の移動平均で歩幅を調整する」考え方に、モーメンタムの「進む向きを平均する」考え方を組み合わせました。

覚え方

「AdaGradは合計、RMSpropは移動平均」と覚えます。

G検定での出題

過去の勾配の2乗を足し続けるAdaGradとの違い、AdaDeltaとの区別、Adamが取り入れた2つの考え方のどちらに当たるかが、手法名と説明を対応させる形で問われます。

混同しやすい用語

用語意味
AdaGradパラメータごとに過去の勾配の二乗を足し合わせ、その値が大きいパラメータほど学習率を小さくして更新する最適化手法
AdaDelta勾配の二乗と過去の更新量の二乗の指数移動平均を使い、学習率を手で決めずに更新幅を調整する最適化手法
AdamモーメンタムとRMSpropの考え方を組み合わせ、パラメータごとに更新の大きさを自動で調整する勾配降下法の一種

◯×チェック

  1. RMSpropは、学習の最初からの勾配の2乗をすべて足し合わせ、その合計の平方根で勾配を割って更新する。

    答えを見る

    答え × 誤り

    合計を使うのはAdaGradです。RMSpropは指数移動平均を使い、古い勾配の影響を少しずつ薄めます。そのため、学習が長く続いても歩幅が0に近づき続けることはありません。

  2. RMSpropの減衰率(移動平均の係数)を1に近づけるほど、より長い期間の勾配の大きさが平均に反映される。

    答えを見る

    答え ◯ 正しい

    係数が大きいほど、過去の値が残る割合が大きくなります。Hintonの講義では0.9が例として示され、直近の勾配の2乗には0.1の重みが付きます。

  3. RMSpropを使うと、すべてのパラメータが同じ大きさの歩幅で更新される。

    答えを見る

    答え × 誤り

    RMSpropは、パラメータごとに勾配の大きさの記録を持ち、歩幅を個別に調整します。勾配が大きく揺れるパラメータは小さく、勾配が小さいパラメータは相対的に大きく動かします。

練習問題

RMSpropの問題(4問)
  1. 勾配降下法の改良手法の違い
  2. 適応的手法の改良の系譜
  3. AdaGradの重みごとの更新量
  4. ハイパーパラメータと重みの区別

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

出典と作成について

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

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

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

改訂履歴

表示設定

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