RMSprop (G検定)

RMSprop

1. 定義と概要

RMSpropとは、勾配降下法(損失が小さくなる方向にパラメータを少しずつ更新していく最適化の基本手法)の系統に連なる最適化アルゴリズムの一つです。AdaGradは勾配二乗を累積和(過去の値をこれまでの分すべて単純に足し合わせていく計算方法)として扱うため、学習が進むほど学習率が下がりすぎて更新が止まってしまうという欠点を抱えています。

RMSpropは、この累積和を指数移動平均に置き換えることで欠点を解決した手法です。パラメータごとに過去の勾配の大きさをもとに学習率を自動調整する仕組みそのものはAdaGradと共通しており、置き換わっているのは過去の勾配二乗をどう平均するかという一点にあたります。

2. 試験対策ポイント

G検定における重要な論点は、AdaGradにおける勾配二乗の累積和を指数移動平均に置き換えた点です。累積和は過去のすべての勾配二乗をそのまま蓄積し続けるため、値が単調に増加し続けます。

一方、指数移動平均は減衰率(指数移動平均で、直近の値と過去の値をどれくらいの比率で混ぜるかを決める設定値。0.9〜0.99程度の値が一般的に使われます)に応じて直近の勾配を重く、古い勾配を徐々に軽く扱うため、値が際限なく増え続けることを防ぎます。累積和が過去の記録をすべて残したまま足し続ける台帳だとすれば、指数移動平均は新しい記録を重視し、古い記録は少しずつ薄めていく台帳に近い扱い方といえます。

この違いにより、AdaGradでは学習率が0に近づいて更新が止まっていく状況でも、RMSpropは直近の勾配の大きさに応じた学習率を維持し続けられます。

RMSpropは、Geoffrey Hintonが2012年のCoursera講義『Neural Networks for Machine Learning』の中で紹介した手法として知られています。この手法は査読付き論文としては発表されておらず、講義の中で示された経緯自体が特徴として知られています。

AdaGradの学習率減衰という課題に対しては、同時期にAdaDelta(RMSpropと同時期に提案された、AdaGradの学習率減衰問題への別の解決策となる最適化手法)という別解も提案されています。AdaDeltaもRMSprop同様に指数移動平均を使う点は共通していますが、更新量自体の指数移動平均も用いる点でRMSpropとは異なる設計になっています。

RMSpropは、モーメンタム法(過去の更新の勢いを引き継いで、パラメータの更新を滑らかにする工夫)と組み合わされます。この組み合わせにより、現在広く使われる最適化アルゴリズムAdam(勾配の向きと大きさの両方を指数移動平均で扱う、モーメンタムとRMSpropを組み合わせた最適化手法)の構成要素の一つになっています。

RMSprop単体では勾配の大きさ、つまり二乗の値を指数移動平均で扱いますが、Adamはこれに勾配の向きの指数移動平均も加える点が異なります。

3. 関連概念との比較・相違点

AdaGradとの最大の違いは、学習が進むにつれて学習率を下げすぎてしまうかどうかという点にあります。AdaGradは勾配二乗を累積和として扱うため、学習が進むほど分母となる値が単調に増加し続け、学習率がどんどん小さくなって最終的には更新がほとんど止まってしまいます。これに対してRMSpropは、累積和ではなく指数移動平均を使うことで直近の勾配の大きさを重視し続けるため、学習の終盤になっても学習率が下がりすぎることを防げます。

AdaDeltaとの違いは、同じAdaGradの欠点に対する別解であるという位置づけにあります。AdaDeltaもRMSpropと同様に指数移動平均を使う点は共通していますが、AdaDeltaは勾配二乗だけでなく更新量自体の指数移動平均も計算に用いる点が異なります。この工夫によって、AdaDeltaは学習率の初期値をあらかじめ設定する必要がなくなるという特徴を持ちます。

Adamとの違いは、モーメンタムとの組み合わせの有無にあります。RMSpropは勾配の大きさ、つまり二乗の値についての指数移動平均のみを使いますが、Adamはこれにモーメンタム法による勾配の向きの指数移動平均を組み合わせています。

ここまでの違いを、勾配二乗の扱い方という軸で並べると次のように整理できます。

手法 勾配二乗の扱い RMSpropとの関係で押さえる点
AdaGrad 累積和 学習が進むほど学習率が下がりすぎ、更新がほとんど止まる
RMSprop 指数移動平均 直近の勾配の大きさを重視し、学習の終盤でも学習率を保てる
AdaDelta 指数移動平均に加えて更新量自体の指数移動平均も使う 学習率の初期値をあらかじめ設定する必要がない
Adam 指数移動平均に加えて勾配の向きの指数移動平均も使う モーメンタム法とRMSpropを組み合わせた手法にあたる

AdaGradとの分かれ目は累積和か指数移動平均かという点にあり、AdaDeltaやAdamとの分かれ目は指数移動平均を何にまで広げるかという点にあります。同じ系統の手法が並んでいても、どこを平均するかを追いかければ違いを見分けられます。

4. ビジネス・実務での活用シナリオ

自然言語処理(人間が使う言葉をコンピュータに処理させる技術分野)や系列データを扱うモデルの学習では、RNN(再帰型ニューラルネットワーク。過去の情報を内部に保持しながら時系列データを扱うニューラルネットワークの一種)が用いられる場面が多くあります。

RNNは、層や時刻を経るごとに勾配が急激に大きくなったり小さくなったりしやすいという課題を抱えています。RMSpropは直近の勾配の二乗を指数移動平均で正規化する仕組みによってこの変動を抑えやすく、RNN系列モデルの学習で好んで使われてきました。

画像認識モデルの学習でも、RMSpropは実務上の意味を持ちます。大規模な畳み込みニューラルネットワークの学習では、AdaGradのように学習率が枯渇せず、学習の終盤まで安定して更新が進みます。大量の画像データを扱うモデルほど、この安定性の違いが学習全体の所要時間に影響します。

最適化アルゴリズムを選ぶ実務の場面では、RMSprop単体で使うよりも、モーメンタムを組み合わせたAdamが既定の選択肢として使われる場面が多くなっています。そのため、RMSpropは実務でそのまま使われる頻度よりも、Adamの仕組みを理解するための土台として位置づけられる場面が目立ちます。

5. 要点まとめ

  • RMSpropは、AdaGradが学習率を下げすぎて更新が止まる欠点を、勾配二乗の累積和ではなく指数移動平均に置き換えることで解決した最適化アルゴリズムです。
  • 指数移動平均は直近の勾配を重く、古い勾配を徐々に軽く扱うため、値が際限なく増え続けず、学習の終盤まで適切な学習率を維持できます。
  • Geoffrey Hintonが2012年のCoursera講義で示した手法で査読論文としての発表はなく、モーメンタムと組み合わせるとAdamになるという位置づけにあります。

6. 確認問題

問1RMSpropは、AdaGradにおける勾配二乗の累積和を指数移動平均に置き換えることで、学習率が下がりすぎて更新が止まる問題を緩和する。

解答・解説をみる

○ 正しい

累積和を指数移動平均に置き換える点がRMSpropの中核の仕組みです。直近の勾配を重く、古い勾配を軽く扱うことで学習率の下がりすぎを防ぎます。

問2RMSpropは、これまでの勾配二乗のすべての値を均等に足し合わせる累積和を用いて学習率を調整する手法である。

解答・解説をみる

× 誤り

正しくは、RMSpropは指数移動平均を用いており、直近の勾配を重く古い勾配を軽く扱います。累積和をそのまま使うのはAdaGradの説明であり、両者を取り違えた記述です。

問3RMSpropは、Geoffrey Hintonが2012年のCoursera講義で紹介した手法であり、査読付き論文としては発表されていない。

解答・解説をみる

○ 正しい

RMSpropはHintonの講義『Neural Networks for Machine Learning』の中で示された手法として知られており、正式な論文としては公表されていない点が特徴です。