G検定(ジェネラリスト検定)
あーるえむえすぷろっぷ
RMSprop
RMSprop
Root Mean Square Propagation
Geoff HintonがCourseraの講義で提案した、未発表の適応学習率手法。勾配の2乗の指数移動平均で学習率を割り、Adagradの学習率が小さくなりすぎる問題を解消する。
詳しい説明
どこから生まれた手法か
RMSpropは、Geoff Hintonが自身のCourseraの講義(Lecture 6e)で提案した適応学習率手法です。論文として発表されたものではなく、未発表の手法として広まったという珍しい出自を持っています。G検定ではシラバス2024のキーワードに含まれる最適化手法の1つです。
Adagradの弱点を解決するために
Adagradは、過去の勾配の2乗をすべて足し合わせた値を分母に置いて学習率を調整します。この累積和は学習の間ずっと増え続けるため、学習率は縮み続け、最終的には限りなく小さくなってしまいます。これがAdagradの主な弱点です。
RMSpropとAdadeltaは、このAdagradの学習率が急激に小さくなる問題を解決する必要から、互いに独立して、ほぼ同じ時期に開発されました。
更新式
RMSpropの更新は次の2つの式で表されます。
E[g^2]_t = γ*E[g^2]_(t-1) + (1-γ)*g_t^2
θ_(t+1) = θ_t - (η/sqrt(E[g^2]_t+ε))*g_t
ここでg_tは時刻tの勾配、θはパラメータ、ηは学習率、γは過去の平均をどれだけ残すかを決める減衰率、εは分母が0になるのを防ぐ小さな定数です。
1つ目の式は、直前の平均E[g^2]_(t-1)と現在の勾配の2乗g_t^2を、γと(1-γ)の割合で混ぜています。過去の勾配の2乗をすべて累積するのではなく、減衰する平均として再帰的に定義しているため、古い勾配の影響は時間とともに薄れていきます。また、過去の勾配を1つずつ保存しておく必要がなく、直前の平均と現在の勾配だけで計算できます。
2つ目の式では、学習率ηをsqrt(E[g^2]_t+ε)で割ってから勾配に掛けています。Adagradと違って分母が際限なく大きくなり続けることがないため、学習率が消えてしまう問題を避けられます。
Adadeltaとの関係
RMSpropの更新式は、Adadeltaを導出する過程で最初に得られる更新ベクトルと同一です。Adadeltaも、過去の勾配の2乗をすべて累積する代わりに、減衰する平均を使うところから出発しており、Adadeltaはそこからさらに導出を進めた手法です。両者は、勾配の2乗の指数移動平均で学習率を割るという核心部分を共有しています。
推奨される設定値
Hintonは、減衰率γを0.9に、学習率ηのデフォルト値を0.001にすることを勧めています。
Adamとの違い
Adamは、RMSpropやAdadeltaと同じく過去の勾配の2乗の指数移動平均を保持しますが、それに加えて、モーメンタムのように過去の勾配そのものの指数移動平均も保持します。RMSpropが持つのは勾配の2乗の平均だけである、という点が区別の手がかりになります。
試験で問われること
G検定
- RMSpropはGeoff HintonがCourseraの講義(Lecture 6e)で提案した適応学習率手法であり、論文として発表されていない未発表の手法だという出自を押さえておく。
- Adagradは勾配の2乗を累積し続けるため学習率が限りなく小さくなる弱点があり、RMSpropとAdadeltaはこの問題を解決するために同じ時期に互いに独立して開発された。
- RMSpropは勾配の2乗の指数移動平均E[g^2]_t = γ*E[g^2]_(t-1) + (1-γ)*g_t^2を求め、学習率ηをsqrt(E[g^2]_t+ε)で割ってからパラメータを更新する。
- RMSpropの更新式はAdadeltaの導出過程で最初に得られる更新ベクトルと同一であり、両者は過去の勾配の2乗を累積和ではなく減衰する平均で扱う点を共有している。
- Hintonはγを0.9、学習率ηのデフォルト値を0.001にすることを勧めている。またAdamと違い、RMSpropは過去の勾配そのものの指数移動平均を保持しない。
最終更新日: 2026/09/23