学習率をパラメータごとに自動調整する最適化アルゴリズムを学ぶ項目です。SGDの「学習率を1つ決め打ちする難しさ」を解消する発想として、AdaGrad・RMSProp・Adamの3つの手法とその関係性を理解します。

📖 概要

確率的勾配降下法(SGD)では、すべてのパラメータに共通の学習率を用います。しかし実際のニューラルネットワークでは、頻繁に大きな勾配を受け取るパラメータと、まれにしか更新されないパラメータが混在しており、1つの学習率で両方をうまく学習させるのは困難です。そこで登場したのが、過去の勾配の情報を蓄積し、パラメータごとに実効的な学習率を自動調整する「適応的学習率」の系譜です。

この系譜は、勾配の2乗和を蓄積して学習率を割り引く AdaGrad から始まり、その「学習率が下がりすぎて学習が止まる」欠点を指数移動平均で解消した RMSProp、さらにモメンタム(勾配の1次の移動平均)を組み合わせた Adam へと発展しました。E資格ではこの3手法の更新式の形と、それぞれの改良ポイントの対応関係が問われやすいため、「何を蓄積し、どう学習率に反映するか」を軸に整理するのが効果的です。

🔍 キーワード解説

AdaGrad

AdaGrad (Adaptive Gradient) は、各パラメータについて過去の勾配の2乗を累積し、その平方根で学習率を割ることで、パラメータごとに異なる実効学習率を実現する手法です。更新式は概ね次のように書けます(gは勾配、εはゼロ除算防止の微小値)。

h = h + g * g w = w - lr * g / (sqrt(h) + ε)

大きな勾配を受け続けたパラメータほど h が大きくなり学習率が下がる一方、更新の少ないパラメータは相対的に大きな学習率を保ちます。このため、まれにしか現れない特徴(スパースな特徴)の学習に向くとされます。欠点は、h が単調増加し続けるため、学習が進むと実効学習率がゼロに近づき、それ以上パラメータが更新されなくなってしまう点です。

RMSProp

RMSProp は、AdaGradの累積和を「指数移動平均」に置き換えた手法です。減衰率 ρ(0.9 などの値)を使い、次のように更新します。

h = ρ * h + (1 - ρ) * g * g w = w - lr * g / (sqrt(h) + ε)

過去の勾配の影響が指数的に減衰していくため、h が無限に増え続けることがなく、AdaGradのように学習が止まってしまう問題を緩和できます。直近の勾配の大きさに応じて学習率が調整されるので、損失関数の形状が学習の途中で変化するような非定常な問題にも対応しやすくなります。

Adam

Adam (Adaptive Moment Estimation) は、RMSProp的な「勾配の2乗の指数移動平均(2次モーメント)」に加えて、モメンタムに相当する「勾配そのものの指数移動平均(1次モーメント)」も保持する手法です。2つの減衰率 β1、β2 を用いて次のように更新します。

m = β1 * m + (1 - β1) * g (1次モーメント) v = β2 * v + (1 - β2) * g * g (2次モーメント) m_hat = m / (1 - β1^t) v_hat = v / (1 - β2^t) w = w - lr * m_hat / (sqrt(v_hat) + ε)

m_hat、v_hat の計算は「バイアス補正」と呼ばれます。m と v はゼロで初期化されるため、学習初期には推定値が実際より小さい方向に偏ります。これを 1 - β^t で割ることで補正し、初期ステップでも適切な大きさの更新を可能にします。Adamは「モメンタムによる更新方向の安定化」と「適応的学習率による大きさの調整」を兼ね備えており、幅広いタスクで既定の最適化手法として用いられることが多いです。

📝 試験でのポイント

💡 ポイント
  • 更新式の穴埋め問題が頻出です。AdaGrad は「2乗和の累積」、RMSProp は「2乗の指数移動平均」、Adam は「1次・2次モーメントの併用+バイアス補正」という構造の違いを式レベルで区別できるようにしておきましょう
  • AdaGrad の欠点(累積により実効学習率が単調減少し学習が停止する)と、それを RMSProp がどう解決したか(指数移動平均への置き換え)の対応は定番の出題ポイントです
  • Adam のバイアス補正の目的(初期化がゼロであることによる推定の偏りを補正する)を問う問題に注意してください
  • ε(微小値)の役割は「ゼロ除算の防止」です。正則化項と混同しないようにしましょう
  • Momentum・NAG(前項目)との関係も整理を。Momentum は「更新方向の慣性」、AdaGrad系は「学習率の適応」、Adam は両者の組み合わせと捉えると覚えやすいです

📚 まとめ

適応的学習率の手法は、パラメータごとに学習率を自動調整することで SGD の学習率設定の難しさを緩和します。AdaGrad は勾配の2乗和の累積で学習率を割り引きますが、学習が進むと更新が止まる欠点があります。RMSProp は指数移動平均でこれを解消し、Adam はさらにモメンタム(1次モーメント)とバイアス補正を加えた手法です。試験では更新式の構造と改良の系譜を押さえておきましょう。