「Deep Learning」Note on AMSGrad(比Adam好的优化算法)

QQ Group: 428014259
Tencent E-mail:[email protected]
http://blog.csdn.net/dgyuanshaofeng/article/details/80370826

今时今日,SGD是训练深度网络的首选利器。后来,提出了一堆变种算法,比如,ADAGRAD,RMSPROP,ADAM,ADADELTA,NADM等。

####基于指数滑动平均(exponential moving averages)的自适应方法
1、基于简单平均函数的ADAGrad
平均策略为: ϕ t ( g 1 , . . . , g t ) = g t \phi_{t}(g_1,...,g_t)=g_t ϕt(g1,...,gt)=gt ψ t ( g 1 , . . . , g t ) = d i a g ( ∑ i = 1 t ) g i 2 \psi_{t}(g_1,...,g_t)=\frac{diag(\sum_{i=1}^{t})}{g^2_{i}} ψt(g1,...,gt)=gi2diag(i=1t)
2、基于指数滑动平均的方法
方法包括:RMSprop、Adam、NAdam和ADADELTA。
针对Adam,其采用的平均函数为 ϕ t ( g 1 , . . . , g t ) = ( 1 − β 1 ) ∑ i = 1 t β 1 t − i g i \phi_{t}(g_1,...,g_t)=(1-\beta_1)\sum^{t}_{i=1}\beta_1^{t-i}g_i ϕt(g1,...,gt)=(1β1)i=1tβ1tigi ψ t ( g 1 , . . . , g t ) = ( 1 − β 1 ) d i a g ( ∑ i = 1 t β 2 t − i g i 2 ) \psi_{t}(g_1,...,g_t)=(1-\beta_1)diag(\sum_{i=1}^{t} \beta_{2}^{t-i}g_{i}^{2}) ψt(g1,...,gt)=(1β1)diag(i=1tβ2tigi2)。其中, β 1 \beta_1 β1 β 2 \beta_2 β2是我们熟知的两个超参数,通常分别取值为0.9和0.999。

[1] On the Convergence of Adam and Beyond 2018 [paper]

你可能感兴趣的:(「Deep Learning」Note on AMSGrad(比Adam好的优化算法))