Methods of optimization
Stochastic Gradient Descent (SGD)
use mini-batch (32/64/128) to do gradient descent
SGD + Momentum
continue moving in the general direction as the previous iterations
Build up “velocity” as a running mean of gradients
Rho gives “friction”; typically rho=0.9 or 0.99
vt+1=ρvt+∇f(xt)v_{t+1} = \rho v_t + \nabla f(x_t)vt+1=ρvt+∇f(xt)
xt+1=xt−αvt+1x_{t+1} = x_t - \alpha v_{t+1}xt+1=xt−αvt+1
Nesterov Momentum
“Look ahead” to the point where updating using velocity would take us
vt+1=ρvt−α∇f(xt+ρvt)v_{t+1} = \rho v_t - \alpha \nabla f(x_t+\rho v_t)vt+1=ρvt−α∇f(xt+ρvt)
xt+1=xt+vt+1x_{t+1} = x_t + v_{t+1}xt+1=xt+vt+1
AdaGrad
缩放每个参数反比于其所有梯度历史平方值总和的平方根
具有损失最大偏导的参数相应地有一个快速下降的学习率,而具有小偏导的参数在学习率上
有相对较小的下降。
净效果是在参数空间中更为平缓的倾斜方向会取得更大的进步。
然而,经验上已经发现,对于训练深度神经网络模型而言,从训练开始时积累梯度平方会导致有
效学习率过早和过量的减小。
RMSProp
AdaGrad 根据平方梯度的整个历史收缩学习率,可能使得学习率在达到这样的凸结构前就变得太小了。
RMSProp算法不是像AdaGrad算法那样暴力直接的累加平方梯度,而是加了一个衰减系数来控制历史信息的获取多少。
Adam

对超参数的鲁棒性更强
Second-Order Optimization
Problem : Hessian has O(N^2) elements Inverting takes O(N^3)N = (Tens or Hundreds of) Millions
optimizations:
BGFS
L-BFGS :Does not form/store the full inverse Hessian
优化方法:随机梯度下降、动量与自适应学习率算法详解
本文介绍了优化算法中的几种关键策略,如随机梯度下降(SGD)、带有动量(Momentum)、Nesterov动量、AdaGrad、RMSProp以及Adam。讨论了如何利用mini-batch更新和动量概念来改善收敛性能,同时提到了二阶优化问题及其挑战,如Hessian矩阵的处理和BGFS、L-BFGS等方法的对比。
937

被折叠的 条评论
为什么被折叠?



