目录
1. 指数加权平均(exponentially weighted averages)
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~
花书+吴恩达深度学习(六)优化方法之 Mini-batch(SGD, MBGD, BGD)
花书+吴恩达深度学习(七)优化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)
0. 前言
在使用 Mini-batch 的时候,通常梯度估计的方向不直接指向最小值点,容易造成曲折波动的路线。
为了防止这种路线,改善梯度估计的方向,可对反向传播作修改。
如下图所示(图源:深度学习),黑色路线是未修改的梯度估计方向,红色路线是修改后的梯度估计方向:
1. 指数加权平均(exponentially weighted averages)
假设, 表示前 个值的和, 表示第 个值,则指数加权平均表示为:
根据 的不同, 表示大约前 个数的平均。
被称为指数的原因是,表达式递归展开,从 0 到 t 的权重表现为指数的形式:
因初始化 ,所以造成 等几个初始点会较小,可进行偏差修正:
但是这种方法不常用,通常可以接受在开始阶段的误差,随着迭代更新,误差会逐渐消失。
2. Momentum 动量
动量的方法旨在加速学习,特别是处理高曲率、小但一致的梯度,或是带噪声的梯度。
动量算法通过指数加权平均,累计了之前的梯度,调整了梯度估计的方向。
注: 的取值一般为 0.5,0.9,0.99 。
3. Nesterov 动量
Nesterov 和 Momentum 的区别在于,先施加当前的累计速度,然后再计算梯度。
但是,在 Mini-batch 的情况下,这并没有改进收敛率。
4. AdaGrad
具有损失最大偏导的参数相应地有一个快速下降的学习率,而具有小偏导的参数在学习率上有相对较小的下降。
这可防止下降过快,或者在平坦区域下降过慢。
但是从训练开始时累计梯度平方会导致有效学习率过早和过量的减小。
5. RMSProp
RMSProp 修改 AdaGrad 以在非凸设定下效果更好,改变梯度累计为指数加权平均。
RMSProp 已被证明是一种有效且实用的深度神经网络优化算法。
注: 的取值一般推荐为 0.999, 的取值一般推荐为 。
6. Adam
Adam 全称是 Adaptive Moments Estimation 。
Adam 是结合了 Momentum 和 RMSProp 的算法。
如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~