NLP--优化器(Optimizer)总结【分析】

9 篇文章 0 订阅
6 篇文章 0 订阅

引言

在日常学习中,我们经常在机器学习与深度学习中,主要应用于梯度下降。
传统的优化器主要结合数据集,通过变化单次循环所采用的数据量的大小对梯度下降进行控制;
非传统的优化器则进一步集合数据集的特点和模型的训练时间,以不同的形式变化梯度下降的学习率。

梯度下降的原理:
梯度下降公式
其中, θ为学习率,在这里插入图片描述片描为更新前的参数,在这里插入图片描述
为更新后的参数,在这里插入图片描述
为当前参数的导数。

优化器的作用

  1. 用来计算和更新影响模型训练和模型输出的网络参数,使其逼近或达到最优值,从而最小化(或者最大化)代价函数
  2. 深度学习中,优化代价函数J来训练神经网络。

过程

通过优化算法更新可训练参数W和b值,从而是代价函数J的值最小化

各种优化器的介绍

梯度下降法(Gradient Descent)

标准梯度下降法(GD)

基本策略

在有限的视距内寻找最快路径下山,每走一步,参考当前位置最陡的方向(即梯度)进而迈出下一步
标准梯度下降

缺点:
  • 训练速度慢:从下山角度来看,因为每走一步,才能下降一次。过程缓慢,时间长才能得到收敛解。
  • 容易陷入局部最优解

批量梯度下降法(BGD)

基本策略

下山前掌握附近的地势,选择总体平均梯度最小的方向下山

每次权值调整发生在批量样本输入之后,而不是每输入一个样本就更新一次模型参数

优点
  • 比标准梯度下降法训练时间短,且下降的方向较好,较正确

随机梯度下降法(SGD)

基本策略

盲人下山,不是每一步都算下降,但过程扭扭曲曲

优点
  • 梯度要求低,计算速度快。引入噪声,(噪声不是特别大),SGD能很好收敛
  • 应用大型数据集,训练速度快,(随机抽取几百个点,速度快)
缺点
  • 引入噪声,权值更新方向不一定正确
  • 没有克服局部最优解

动量优化法

作用

在梯度下降法的基础山改变,具有加速度下降的作用

标准动量优化方法Momentum

定义

动量的随机梯度下降法

解决的问题
  1. 随机梯度的方法(引入噪声)
  2. Hessian矩阵病态问题(SGD在收敛过程中和正确梯度相比来回摆动比较大的问题)
基本策略

当前权值的改变会受到上一次权值改变的影响,类似于小球向下滚动的时候带上了惯性。这样可以加快小球向下滚动的速度

NAG(牛顿加速度梯度-Nesterov accelerated gradient)

定义

Momentum动量算法的变种

基本策略

加入一个校正因子,提前知道下一个位置的梯度,使得小球在往前滚动的时候,知道自己去哪。

自适应学习率优化算法

应用范围

针对机器学习模型的学习率

AdaGrad算法

应用范围

适用于数据稀疏或者分布不平衡的

优点
  • 不需要人为的调节学习率
缺点
  • 随着迭代次数的增多,学习率会越来越小,最终会趋近于0

RMSProp算法

作用

修改了AdaGrad的梯度积累为指数****加权的移动平均,使得非凸设定下效果更好,避免了学习率越来越低的问题,自适应地调节学习率

经常用的优化方法

AdaDelta算法

AdaGrad算法和RMSProp算法都需要指定全局学习率,AdaDelta算法结合两种算法每次参数的更新步长。

优点
  • 训练初期、中期,AdaDelta表现很好,加速效果不错,训练速度快
缺点
  • 训练后期,在局部最小值附近抖动

Adam算法

Adam中动量直接并入了梯度一阶矩(指数加权)的估计

对超参数的选择相当鲁棒,鲁棒性好

有图有真相【优化器对比分析】

对比实例-1

在一个曲面上,6种优化器的运动轨迹表现:
6种优化器的轨迹分析

下降速度分析

  1. 三个自适应学习优化器Adagrad、RMSProp与AdaDelta的下降速度明显比SGD要快,其中,Adagrad和RMSProp齐头并进,要比AdaDelta要快
  2. 两个动量优化器Momentum和NAG由于刚开始走了岔路,初期下降的慢;随着慢慢调整,下降速度越来越快,其中NAG到后期甚至超过了领先的Adagrad和RMSProp。

下降轨迹分析

  1. SGD和三个自适应优化器轨迹大致相同。两个动量优化器初期走了“岔路”,后期也调整了过来。

对比实例-2

一个存在鞍点的曲面,比较6中优化器的性能表现:
6种优化器的性能分析

下降速度分析

  1. 三个自适应学习率优化器没有进入鞍点,其中,AdaDelta下降速度最快,Adagrad和RMSprop则齐头并进

下降轨迹分析

  1. 两个动量优化器Momentum和NAG以及SGD都顺势进入了鞍点。但两个动量优化器在鞍点抖动了一会,就逃离了鞍点并迅速地下降,后来居上超过了Adagrad和RMSProp
  2. SGD进入了鞍点,却始终停留在了鞍点,没有再继续下降

对比实例-3

比较了6种优化器收敛到目标点(五角星)的运行过程:
收敛目标过程

下降速度分析

  1. 两个动量优化器Momentum和NAG的速度最快,其次是三个自适应学习率优化器AdaGrad、AdaDelta以及RMSProp,最慢的则是SGD。

下降轨迹分析

  1. 两个动量优化器虽然运行速度很快,但是初中期走了很长的”岔路”
  2. 三个自适应优化器中,Adagrad初期走了岔路,但后来迅速地调整了过来,但相比其他两个走的路最长;AdaDelta和RMSprop的运行轨迹差不多,但在快接近目标的时候,RMSProp会发生很明显的抖动。
  3. SGD相比于其他优化器,走的路径是最短的,路子也比较正。

总结

以上是我个人在学习过程中的记录所学,希望对正在一起学习的小伙伴有所帮助!!!

参考资料:

机器学习:各种优化器Optimizer的总结与比较
深度学习梯度更新各类优化器详细介绍
NLP面试题总结(包含8种优化器简介).03

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

故事挺秃然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值