[warning] 整个历史的收缩学习率为什么会造成这样的效果。
[warning] [?]初始化于该碗状结构的AdaGrad算法实例?
RMSProp的标准形式如算法8.5所示,结合Nesterov动量的形式如算法8.6所示。 相比于AdaGrad,使用移动平均引入了一个新的超参数$\rho$,用来控制移动平均的长度范围。
[success] 这一节对比了三种算法
临时更新计算梯度累积梯度参数更新应用更新Adagradg←m1∇θi∑L(f(x(i);θ),y(i))r←r+g⊙gΔθ←−δ+rϵ⊙gθ←θ+ΔθRMSPropg←m1∇θi∑L(f(x(i);θ),y(i))r←ρr+(1−ρ)g⊙gΔθ←−δ+rϵ⊙gθ←θ+ΔθNesterov+RMSPropθ~←θ+αvg←m1∇θ~i∑L(f(x(i);θ~),y(i))r←ρr+(1−ρ)g⊙gv←αv−rϵ⊙gθ←θ+v r代表以$\rho$为参数的$g\odot g$的指数衰减平均。积累的历史梯度。g代表当时的梯度。
$\Delta \theta \leftarrow - \frac{\epsilon g}{\sqrt {\delta+ r}}$
短轴方向上,r小,因此$\Delta \theta$小。长轴方向是r大,因此$\Delta \theta$大。
$\delta$用于保证分母不为0。
应该再对比一下RMSProp算法和动量算法,它们都是以指数权重平均为依据,区别是用于g的平方还是g。
某个方向的梯度大时,就让它的lr小。某个方向梯度小时,就让它的lr大。
[success] Adagrad:在某些深度学习模型上效果不错
RMSProp:有效且实用的深度神经网络优化算法。优点:可以用大一点的学习加快学习,而不用担心在短轴方向上的偏离。
Nesterov + RMSProp:RMSProp用于深度神经网络。而Nesterov对SGD没有效果,这两个合在一起想干吗?