Gradient Descent即梯度下降法,通过计算参数的梯度更新参数,其参数更新公式如下
如果样本巨大或参数量较大时,计算非常耗时,容易陷入局部最优点或者鞍点
随机梯度下降SGD,算法在每读入一个数据都会立刻计算loss function的梯度来update参数,这样速度会非常快,但是梯度更新的方向随机性大,可能不会很快收敛,甚至无法收敛到局部最优解
Mini-Batch SGD即小批量随机梯度下降法
按照数据生成分布抽取m个小批量(独立同分布)样本,通过计算它们的梯度均值,得到梯度无偏估计
批量梯度下降在理论上比随机梯度下降有更好的收敛率
Momentum Optimizer即动量优化法。GD一般具有恒定的learning rate,而且每次只利用当前梯度的信息,这样可能会存在收敛速度非常慢,甚至无法收敛的情况。
带动量的SGD
Nesterov Accelarated Gradient简称NAG,是在Momentum的基础上改进得到的一个算法,不同之处在于m每次更新时加上梯度的不同,Momentum是加上当前位置的梯度,而NAG是加上当前位置之后一点点
处的梯度

AdaGrad独立地适应所有模型参数的学习率,缩放每个参数反比于其所有梯度历史平方值总和的平方根
AdaDelta
RMSProp算法修改AdaGrad以在非凸设定下效果更好,AdaGrad的主要问题在于它的梯度减小速度太快了,以至于很快陷入局部极值点,RMSProp改变梯度累积为指数加权的移动平均

Adam被看作结合RMSProp和具有一些重要区别的动量的变种

牛顿法
共轭梯度是一种通过迭代下降的共轭方向以有效避免Hessian矩阵求逆计算的方法
