リソースに関して:
ADADELTA:アダプティブラーニングレートメソッド
からの中心的な引用と、いくつかの例と簡単な説明を次に示します。
ADAGRAD
ADAGRADの更新ルールは次のとおりです。
ここで、分母は以前のすべての勾配のノルムを次元ごとに計算し、ηはすべての次元で共有されるグローバルな学習率です。手動で調整されたグローバル学習率がありますが、各次元には独自の動的率があります。 l2
Δxt=−η∑tτ=1g2τ√gt(5)
l2
つまり、最初の3つのステップのグラデーションが、次に:Δ X 3 = - ηg1=⎛⎝a1b1c1⎞⎠,g2=⎛⎝a2b2c2⎞⎠,g3=⎛⎝a3b3c3⎞⎠
Δx3=−η∑3τ=1g2τ−−−−−−−√g3=−η⎛⎝⎜a21+a22+a23b21+b22+b23c21+c22+c23⎞⎠⎟−−−−−−−−−−−−−−⎷⎛⎝a3b3c3⎞⎠↓Δx3=−⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜ηa21+a22+a23−−−−−−−−−−√a3ηb21+b22+b23−−−−−−−−−√b3ηc21+c22+c23−−−−−−−−−√c3⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟
ここで、約束どおり、各次元に独自の動的学習率があることが簡単にわかります。
ADADELTAが対抗しようとするADAGRADの問題
このペーパーで提示されているアイデアは、メソッドの2つの主な欠点を改善するためにADAGRADから派生したものです。
2番目の欠点は自明です。
最初の欠点が問題で
ある場合の例を示しますの各成分の絶対値が、他のステップの勾配のそれぞれの成分の絶対値よりもはるかに大きい場合をます。
いずれかのために、それのすべてのコンポーネントと考えているの各成分の絶対値よりも大きい。しかし、のすべてのコンポーネントの絶対値は、のそれぞれのコンポーネントの絶対値よりもはるかに大きいため、は非常に小さくなります。g2
t>2∑tτ=1g2τ−−−−−−−√g2g2gtΔxt
さらに、アルゴリズムが進むにつれて、最小値に近づくため、勾配が小さくなり、は次第に小さくなります。
したがって、アルゴリズムが最小値に達する前に実質的に停止する可能性があります。Δxt
ADADELTA
計算されたすべての勾配を考慮する代わりに、ADADELTAは最後の勾配のみを考慮します。w
前の 2乗勾配を保存することは非効率的であるため、この手法はこの累積を2乗勾配の指数関数的に減衰する平均として実装します。時間この移動平均がと仮定すると、次のように計算されます:
ここで、は減衰定数[...]です。パラメータの更新にはこの量の平方根が必要なので、これは事実上、
時間までの前の2乗勾配のになり。
wtE[g2]t
E[g2]t=ρE[g2]t−1+(1−ρ)g2t(8)
ρRMStRMS[g]t=E[g2]t+ϵ−−−−−−−−√(9)
ここで、分母をよりよく調整するために定数が追加されますϵ
(は二乗平均平方根を意味します。)RMS
同様に、
そして最後に:
E[Δx2]t−1=ρE[Δx2]t−2+(1−ρ)Δx2t−1
RMS[Δx]t−1=E[Δx2]t−1+ϵ−−−−−−−−−−−−√
[...]近似計算指数関数的に減衰することによってサイズのウィンドウにわたって前のが ADADELTA方法を与える:
ここで、分子にも同じ定数が追加されています。この定数は、である最初の反復を開始する目的と、以前の更新が小さくなっても進行が続けられるようにする目的の両方に役立ちます。[...]ΔxtRMSwΔx
Δxt=−RMS[Δx]t−1RMS[g]tgt(14)
ϵRMSΔx0=0
分子は加速項として機能し、時間枠にわたって以前の勾配を累積します[...]
つまり、ステップの勾配がおよび、次に:
rgr=⎛⎝arbrcr⎞⎠Δxr=⎛⎝irjrkr⎞⎠
Δxt=−RMS[Δx]t−1RMS[g]tgt=−E[Δx2]t−1+ϵ−−−−−−−−−−−√E[g2]t+ϵ−−−−−−−−√gt=−ρE[Δx2]t−2+(1−ρ)Δx2t−1+ϵ−−−−−−−−−−−−−−−−−−−−−−−−−√ρE[g2]t−1+(1−ρ)g2t+ϵ−−−−−−−−−−−−−−−−−−−−√gt=−ρ(ρE[Δx2]t−3+(1−ρ)Δx2t−2)+(1−ρ)Δx2t−1+ϵ−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√ρ(ρE[g2]t−2+(1−ρ)g2t−1)+(1−ρ)g2t+ϵ−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√gt=−ρ2E[Δx2]t−3+p1(1−ρ)Δx2t−2+p0(1−ρ)Δx2t−1+ϵ−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√ρ2E[g2]t−2+p1(1−ρ)g2t−1+p0(1−ρ)g2t+ϵ−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√gt=−ρt−1E[Δx2]0+∑r=1t−1ρt−1−r(1−ρ)Δx2r+ϵ−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√ρt−1E[g2]1+∑r=2tρt−r(1−ρ)g2r+ϵ−−−−−−−−−−−−−−−−−−−−−−−−−−−√gt
ρは減衰定数なので、(通常は)になるように選択します。
したがって、高指数を掛けると、非常に小さな数になります。
してみましょう、我々はによって正気値を乗算の積と考えるような最低の指数も無視できるが。
これで、無視できる項を削除して概算できます。
ρ∈(0,1)ρ≥0.9
ρ
wρw
Δxt
Δxt≈−∑r=t−wt−1ρt−1−r(1−ρ)Δx2r+ϵ−−−−−−−−−−−−−−−−−−−−−√∑r=t+1−wtρt−r(1−ρ)g2r+ϵ−−−−−−−−−−−−−−−−−−−−√gt=−∑r=t−wt−1ρt−1−r(1−ρ)⎛⎝⎜i2rj2rk2r⎞⎠⎟+ϵ−−−−−−−−−−−−−−−−−−−−−−−−⎷∑r=t+1−wtρt−r(1−ρ)⎛⎝⎜a2rb2rc2r⎞⎠⎟+ϵ−−−−−−−−−−−−−−−−−−−−−−−−⎷⎛⎝atbtct⎞⎠↓Δxt≈−⎛⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜∑r=t−wt−1ρt−1−r(1−ρ)i2r+ϵ−−−−−−−−−−−−−−−−−−−−√∑r=t+1−wtρt−r(1−ρ)a2r+ϵ−−−−−−−−−−−−−−−−−−−−√at∑r=t−wt−1ρt−1−r(1−ρ)j2r+ϵ−−−−−−−−−−−−−−−−−−−−√∑r=t+1−wtρt−r(1−ρ)b2r+ϵ−−−−−−−−−−−−−−−−−−−−√bt∑r=t−wt−1ρt−1−r(1−ρ)k2r+ϵ−−−−−−−−−−−−−−−−−−−−√∑r=t+1−wtρt−r(1−ρ)c2r+ϵ−−−−−−−−−−−−−−−−−−−−√ct⎞⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟