1行定義
AdaGradとは、パラメータごとに過去の勾配の二乗を足し合わせ、その値が大きいパラメータほど学習率を小さくして更新する最適化手法のことです。
くわしく
AdaGradは、デュチらが2011年の論文で示した最適化手法です。名前はadaptive gradient(適応的な勾配)に由来します。確率的勾配降下法(SGD)ではすべてのパラメータに同じ学習率を使いますが、AdaGradはパラメータごとに学習率を自動で調整します。
更新のしかた
パラメータごとに、これまでの勾配gの二乗を足し続けた値hを記録し、次のように更新します。
h ← h + g²
θ ← θ − η × g / √h
ηは学習率です。実際には0で割らないよう、分母に小さな値を足します。過去に大きな勾配を何度も受けたパラメータほどhが大きくなり、実質的な学習率η / √hは小さくなります。逆に、勾配がまれにしか生じないパラメータは、学習率が大きめに保たれます。
何がうれしいのか
自然言語処理などで扱う疎なデータでは、多くの特徴量がたまにしか現れません。普通のSGDでは、こうした特徴量の重みはめったに更新されず、学習が進みにくくなります。AdaGradなら、まれな特徴量にも大きめの幅で学習させられます。パラメータごとの学習率を手で調整する手間も減ります。
弱点
hは勾配の二乗を足し続けるだけなので、学習が進むほど大きくなる一方です。そのため、実質的な学習率は小さくなり続け、やがてほとんど0になります。深いニューラルネットワークの学習では、よい解にたどり着く前に更新が止まってしまうことがあります。
後継の手法
この弱点を和らげる改良が続きました。
- RMSprop:勾配の二乗を単純に足すのではなく、指数移動平均をとって古い勾配の影響を徐々に薄めます。
- AdaDelta:RMSpropと同じく移動平均を使い、さらに過去の更新量も使うことで、学習率の設定を不要にしました。
- Adam:RMSpropの考え方に、モーメンタムを組み合わせました。
覚え方
「AdaGradは足すだけで忘れない。だから歩幅が縮み続ける」と覚えます。
G検定での出題
出題のされ方
勾配の二乗を累積してパラメータごとに学習率を調整する仕組み、学習が進むと学習率が0に近づいて更新が止まる弱点、それを改良したRMSprop・AdaDelta・Adamとの関係が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| AdaGradこのページの用語 | パラメータごとに過去の勾配の二乗を足し合わせ、その値が大きいパラメータほど学習率を小さくして更新する最適化手法 |
| RMSprop | 勾配の2乗の指数移動平均をパラメータごとに記録し、その平方根で勾配を割って更新の大きさを調整する最適化手法 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
AdaGradでは、これまでに大きな勾配を何度も受けたパラメータほど、実質的な学習率が小さくなる。
答えを見る
答え ◯ 正しい
学習率を、過去の勾配の二乗の累積の平方根で割るためです。累積が大きいパラメータほど慎重に動かします。
-
AdaGradは、学習が進むにつれて学習率を自動的に大きくしていくため、学習の終盤ほど重みが大きく動く。
答えを見る
答え × 誤り
逆です。勾配の二乗を足し続けるので分母は大きくなる一方で、実質的な学習率は小さくなり続けます。
-
AdaGradでは、まれにしか勾配が生じないパラメータの実質的な学習率が相対的に大きく保たれるため、疎なデータの学習に向くとされる。
答えを見る
答え ◯ 正しい
勾配の二乗の累積が小さいままなので、学習率があまり下がりません。めったに現れない特徴量の重みも学習が進みます。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- 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)
- Geoffrey Hinton, Nitish Srivastava, Kevin Swersky, Neural Networks for Machine Learning, Lecture 6 slides (rmsprop)
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press (2016) (8.5.1 AdaGrad)