CS231N-优化器

AdaGrad

AdaGrad是基于随机梯度下降进行改进后的优化算法

AdaGrad的更新公式为:

其中 Gt 是历史梯度值平方的累加,公式为:

 ε 是用来防止分母为0的超参数。在这个公式下,历史梯度越大的特征Gt会越大,因此历史梯度越大的特征的学习率会下降越快。

  • 优点

    • 为不同参数设置不同的学习率,避免手动去调整学习率,减缓大梯度的更新速度,加快小梯度的更新速度

  • 缺点

    • 由于随着梯度增加,分母越来越大,学习率不断衰减甚至接近0,因此Adagrad后期的学习率非常小,容易学习困难

Momentum

首先构造表征包含历史梯度的参数 mt ,计算如下:

其中,参数 β 为动量因子。然后按照 mt 的方向与大小进行参数更新:

  • 优点

    • 在梯度方向改变时候,动量能够惩罚梯度方向的改变,从而减少震荡

    • 在梯度方向相同的时候,动量能加速参数更新,从而加速收敛

  • 缺点

    • 不能动态改变学习率

    • 动量因子的取值对结果有一定的影响

RMSprop

  • RMSprop = 动量 + AdaGrad

  • AdaGrad中学习率分母是历史梯度的平方和,会无限增大,我们采用动量的思想对其修改,这样他的历史梯度就不会无限增大导致学习率下降

  • 优点

    • 克服了AdaGrad的梯度消失问题

  • 缺点

    • 如果参数设置不好的话,可能会导致学习率不衰减,反而增大,这可能导致无法收敛

Adam

  • Adam = RMSprop + 动量

  • 他结合了两者的优势,在学习率和梯度上都应用的动量的思想

  • 在使用指数加权平均的时候,可以选择偏差修正

    • 目的是为了解决初始时期的偏差,在早期得到更好的预测,但是也可以不用

  • 除了传统的梯度下降,其他的梯度下降可以跳出局部最小值和鞍点

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值