1行定義
AdaDeltaとは、勾配の二乗と過去の更新量の二乗の指数移動平均を使い、学習率を手で決めずに更新幅を調整する最適化手法のことです。
くわしく
AdaDeltaは、2012年にMatthew D. Zeilerが発表した最適化手法です。勾配降下法の歩幅を、パラメータごとに自動で調整します。原論文は、学習率を手で調整しなくてよい点を大きな特徴としています。
AdaGradの2つの弱点
AdaGradは、過去の勾配の二乗を足し続け、その平方根で勾配を割って更新します。足し続けるので分母は大きくなる一方で、学習が長く続くと更新幅がほぼ0になります。もう1つの弱点は、全体の学習率を人が決める必要があることです。
2つの移動平均
AdaDeltaは、次の2つを指数移動平均で記録します。
- 勾配の二乗の平均:RMSpropと同じく、古い勾配の影響を少しずつ薄めます。これで1つ目の弱点が和らぎます。
- 更新量の二乗の平均:これまでに実際どれだけパラメータを動かしたかを覚えます。
更新量はΔx_t = -(RMS[Δx]_(t-1) / RMS[g]_t) × g_tで求めます。RMSは、二乗の平均に小さな値εを足して平方根をとった値です。分子の「これまでの更新量の大きさ」が学習率の役割を果たすので、全体の学習率を決めずに済みます。これで2つ目の弱点も解消されます。論文は、こうすると更新量の単位がパラメータの単位とそろう、と説明しています。
注意点
減衰率ρと、0での割り算を防ぐ小さな値εは、ハイパーパラメータとして残ります。論文の実験ではρ = 0.95、ε = 1e-6でした。なお、深層学習のライブラリには、更新量全体に掛ける係数として、学習率の引数を用意しているものもあります。
覚え方
「Delta(変化量)=過去の更新量で歩幅を決める」と覚えます。
G検定での出題
出題のされ方
AdaGradの学習率が小さくなり続ける弱点を改良した手法として、RMSpropとの違い(過去の更新量も使う点)や、Adam・AdaBoundなどほかの手法名と説明の対応が問われます。
混同しやすい用語
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
AdaDeltaは、AdaGradと同じく、学習の最初からの勾配の二乗をすべて足し合わせた値を使って更新幅を決める。
答えを見る
答え × 誤り
AdaDeltaは勾配の二乗の指数移動平均を使い、古い勾配の影響を少しずつ薄めます。分母が増え続けないため、AdaGradのように更新幅が縮み続けることを避けられます。
-
AdaDeltaでも、減衰率ρと、0での割り算を防ぐ小さな値εは、ハイパーパラメータとしてあらかじめ決めておく必要がある。
答えを見る
答え ◯ 正しい
AdaDeltaで不要になるのは、全体の学習率の設定です。ρとεは残ります。原論文の実験では、ρ=0.95、ε=1e-6が使われました。
-
AdaDeltaは、Adamを改良して生まれた最適化手法である。
答えを見る
答え × 誤り
AdaDeltaは2012年に発表された、AdaGradの改良にあたる手法です。Adamの発表は2014年で、AdaDeltaより後です。Adamを改良した手法にはAdaBoundがあります。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目16 最適化手法)
- Matthew D. Zeiler, ADADELTA: An Adaptive Learning Rate Method, arXiv:1212.5701 (2012) (Algorithm 1、3.2 Idea 2: Correct Units with Hessian Approximation)
- John Duchi, Elad Hazan, Yoram Singer, Adaptive Subgradient Methods for Online Learning and Stochastic Optimization, Journal of Machine Learning Research 12, 2121–2159 (2011)