AdaGradの弱点「学習率が下がり続けて学習が止まる」を、たったひとつの発想転換——古い勾配情報を指数的に「忘れる」——で解決したのがRMSpropです。のちにAdamの片翼となる第二モーメントの計算法はここで確立されました。系譜の中継点として、前後のつながりごと理解しましょう。

📖 ひと言でいうと

RMSpropとは、AdaGradの問題点を改善するために開発された最適化アルゴリズムで、過去の勾配の二乗和の「指数移動平均」を用いて学習率を調整します。古い勾配の影響が指数的に薄れていくため、長期間の訓練でも学習率が枯れずに効率よく収束できます。

身近な例えでいえば、天気予報での「最近の傾向」の扱いです。今後を予測するのに1年前の天気まで平等に数える(AdaGrad的)のではなく、直近数日を重視して古い情報の重みをどんどん下げる(RMSprop的)方が、変化する状況に追従できます。厳密には平均しているのは勾配の二乗という「更新の激しさ」ですが、「新しい情報ほど重く、古い情報は忘れる」という構造は同じです。

🖼 1枚でわかるRMSprop

RMSprop
  • 目的 — AdaGradの「学習初期に学習率が急低下する」問題の緩和
  • 固有の工夫 — 勾配の二乗和を指数移動平均に置き換え=「忘れる」機構
  • 効果 — 長期間の訓練でも学習率が枯れず、効率よく収束
  • 強み — 新しい情報に適応的で、変化する状況に追従しやすい
  • その後 — Momentumと合流してAdamへ(第二モーメント側の親)
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

Adagradの問題点を改善するために開発された最適化アルゴリズムで、過去の勾配の二乗和の指数移動平均を用いて学習率を調整する。これにより、学習の初期段階で急速に学習率が低下するAdagradの問題を緩和し、長期間の訓練でも効率よく収束することが可能になる。過去の情報を「忘れる」機構を導入することで、新しい情報により適応的になり、精度向上を狙う。

3つの文がそのまま「動機→効果→本質」に対応しています。動機はAdagradの学習率低下問題の改善。効果は長期間の訓練でも効率よく収束できること。そして本質が、過去の情報を「忘れる」機構です。

「指数移動平均」は、直近の値に大きな重み、古い値には指数的に小さくなる重みを付けて平均する計算です。AdaGradの単純な足し込みと違って合計が無限に膨らまないため、学習率の分母が暴走せず、一定の水準で安定します。

🔍 しっかり理解する

AdaGradのどこが問題だったのか

AdaGradは、パラメータごとに過去の勾配の二乗和を累積し、その平方根で学習率を割ることで「よく動いたパラメータほど慎重に」という適応的調整を実現しました。画期的でしたが、二乗和は増える一方で決して減りません。勾配が大きい序盤ほど累積は急速に膨らむため、学習率は早い段階から急低下し、深いネットワークの長い訓練では目的地に着く前に歩幅がほぼゼロになってしまいます。

「忘れる」機構という解決

RMSpropの修正は一点突破です。二乗和の「単純累積」を「指数移動平均」に置き換えました。新しい勾配の二乗を取り込むとき、これまでの平均値を少し割り引いてから足し合わせるため、古い勾配の影響は時間とともに指数的に消えていきます。

勾配を計算
誤差逆伝播でパラメータごとの勾配を得る
二乗を指数移動平均へ
古い分を割り引き、新しい分を足す
学習率を調整
平均の平方根で学習率を割る
枯れない更新
分母が安定し長期訓練でも歩幅が残る

この変更で、分母は「最近の勾配の大きさの水準」を表すようになります。最近の勾配が大きければ歩幅を絞り、勾配が落ち着いてくれば歩幅が自然に回復する——過去の総量ではなく現在の状況に応じた調整に変わったのです。「忘れる」ことは手抜きではなく、変化する損失地形への適応力の源だという逆説が、RMSpropの核心です。

なお、名前のRMSはRoot Mean Square(二乗平均平方根)に由来します。勾配の二乗の平均の平方根で学習率を割る、という更新式の構造がそのまま名前になっています。ちなみにRMSpropは査読論文ではなく、ジェフリー・ヒントンのオンライン講義の中で提案されたことで知られる、少し変わった出自の手法です。

系譜の中継点として: AdaDeltaとAdamへ

同じ問題意識から、ほぼ同時期にAdaDeltaも独立に提案されています。「二乗和の累積を指数移動平均に置き換える」という核は共通で、AdaDeltaはさらに更新量の統計を使って基準学習率の手動設定をほぼ不要にした点が異なります。

そしてRMSpropの真の歴史的意義は、Adamの部品になったことです。Adamは「RMSprop由来の第二モーメント(勾配の二乗の指数的減衰平均)」と「Momentum由来の第一モーメント(勾配の移動平均)」を組み合わせ、バイアス補正を加えた手法です。RMSpropを理解していれば、Adamの半分は理解済みということになります。

💡 具体例で考える

RNNで時系列データを学習する場面はRMSpropの持ち味がよく出る例です。時系列の損失地形は場所によって勾配の大きさが激しく変わり、訓練の進行とともに「どのパラメータの勾配が大きいか」も移り変わります。AdaGradでは、序盤に勾配が大きかったパラメータは累積が膨らみ、後半に本当は動くべき場面が来ても歩幅が戻りません。RMSpropなら、数百ステップも経てば古い記録はほぼ忘れられ、「いまの勾配の水準」に合わせた歩幅で更新が続きます。実際、RMSpropはRNN系の学習で好んで使われてきた歴史があり、深層学習フレームワークには現在も標準搭載されています。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • AdaGradとの違い — どちらも勾配の二乗で学習率を調整しますが、AdaGradは「単純累積(忘れない)」、RMSpropは「指数移動平均(忘れる)」です。この一点が学習率が枯れるか否かを分けます。
  • AdaDeltaとの混同 — 「忘れる」機構は共通です。AdaDeltaはさらに基準学習率の手動設定をほぼ不要にした点で区別します。RMSpropは基準学習率を人間が与えます。
  • Momentumとの混同 — RMSpropが平均するのは勾配の「二乗」(大きさの情報)で、歩幅の調整に使います。Momentumは勾配「そのもの」を平均して方向をスムーズにします。この2つを合成したのがAdamです。
  • 「精度が必ず上がる」わけではない — 公式テキストの表現は「精度向上を狙う」です。適応的になることで改善が期待できる、という位置づけで理解しましょう。

📝 試験でのポイント

💡 ポイント
  • 定義問題では「Adagradの問題点を改善」「勾配の二乗和の指数移動平均」「過去の情報を忘れる機構」の3フレーズが正解の目印です。
  • AdaGrad(単純累積)・RMSprop(指数移動平均)・AdaDelta(指数移動平均+学習率設定ほぼ不要)の3手法の説明文を判別させる問題が最も想定されます。
  • 「Adamの構成要素はどれとどれか」→ RMSpropとMomentum、という合成関係の出題に備えましょう。
  • 「学習の初期段階で急速に学習率が低下する」のはAdaGradの問題であり、RMSpropの性質として書かれていたら誤りです。主語の入れ替えに注意しましょう。

📚 まとめ

💡 ポイント
  • RMSpropは、AdaGradの「学習率が急速に低下して学習が停滞する」問題を改善するために開発された最適化アルゴリズムです。
  • 勾配の二乗和の指数移動平均という「忘れる」機構により、分母が暴走せず、長期間の訓練でも効率よく収束できます。
  • 過去の総量ではなく「最近の勾配の水準」で歩幅を決めるため、変化する状況への適応力が高まります。
  • 同じ発想のAdaDeltaと並ぶ系譜の中継点であり、Momentumと合流してAdamを生んだ「第二モーメント側の親」として重要です。