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つの考え方のどちらに当たるかが、手法名と説明を対応させる形で問われます。
混同しやすい用語
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
RMSpropは、学習の最初からの勾配の2乗をすべて足し合わせ、その合計の平方根で勾配を割って更新する。
答えを見る
答え × 誤り
合計を使うのはAdaGradです。RMSpropは指数移動平均を使い、古い勾配の影響を少しずつ薄めます。そのため、学習が長く続いても歩幅が0に近づき続けることはありません。
-
RMSpropの減衰率(移動平均の係数)を1に近づけるほど、より長い期間の勾配の大きさが平均に反映される。
答えを見る
答え ◯ 正しい
係数が大きいほど、過去の値が残る割合が大きくなります。Hintonの講義では0.9が例として示され、直近の勾配の2乗には0.1の重みが付きます。
-
RMSpropを使うと、すべてのパラメータが同じ大きさの歩幅で更新される。
答えを見る
答え × 誤り
RMSpropは、パラメータごとに勾配の大きさの記録を持ち、歩幅を個別に調整します。勾配が大きく揺れるパラメータは小さく、勾配が小さいパラメータは相対的に大きく動かします。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Geoffrey Hinton, Nitish Srivastava, Kevin Swersky, Neural Networks for Machine Learning, Lecture 6 slides (6e: rmsprop)
- John Duchi, Elad Hazan, Yoram Singer, Adaptive Subgradient Methods for Online Learning and Stochastic Optimization, Journal of Machine Learning Research 12, 2121–2159 (2011)
- Matthew D. Zeiler, ADADELTA: An Adaptive Learning Rate Method, arXiv:1212.5701 (2012)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (8.5.2 RMSProp)