优化器

优化器

一、优化器概述

    根据前向传播求得损失,然后利用优化器对模型参数进行优化。

二、常见的优化器

2.1 SGD

    数学公式:

    利用损失函数J(θ),反向传播求得θ的导数,通过链式法则对θ进行更新。其中η为学习步长(学习率)。
    原先的SGD是对每个样本都计算一次损失,然后根据每个样本的损失更新一次参数,这样的话波动比较大,并且数据中可能存在噪音数据,对参数影响会比较大。
之后的话就是选择一个batchsize的样本,计算其平均损失,然后修改一次参数。
    缺点
    1、学习率的调整非常的关键,若是学习率较小,收敛速度会比较慢,学习率较大,会非常抖动,可能达不到收敛的最情况。可以预先指定学习的学习规则,但是规则的学习率没有得到比较好的验证。
    2、容易陷入局部最小值。

2.2 Momentum(动量)

    数学公式:

    基于SGD的方法,然后在求更新量的时候,加入了一个动量。若是t-1时刻vt-1的方向和t时刻vt的方向相同,则会加快更新速度;若是相反,则会放慢学习。相当于加了一个上一时刻的动量,因此容易突破局部最小值。

2.3 Adagrad

    数学公式:

    其中ϵ为平滑项,为了避免分母为0的情况,一次会取一个非常小的值。Gt表示的是参数的对角矩阵,Gt,ii表示第t轮的时候,第i,i位置上对应参数θi从第i轮到第t轮梯度的平方和。因此,Gt,ii随着t的增加,也是不断增大,学习率因此也在不断的下降。好的地方确实是学习率在自动调整,但是问题在于到随着梯度平方和累计非常大的时候,就会趋近于0,训练会出现提前结束。

2.4 RMSprop

    数学公式:

    RMSprop是基于Adagrad算法进行改进。Adagrad是求的其梯度累计平方的和,因此容易出现的问题在于很快就数值非常大,导致学习率趋向于0,训练结束。在RMSprop中,用到的是对之前梯度进行平均加权求和的方法。因此可以减缓学习率趋向于0的速度。

2.5 Adam

    数学公式:

    mt和vt分别是梯度的一阶矩估计(均值)和二阶矩估计(方差)。mt和vt可以看作是对mt和vt的纠正,其中β1一般设置为0.9, β2一般设置为0.999,ϵ为平滑项,一般设置为10e-8。调整的参数过程比较稳定。

2.6 AdaMax

    数学公式:

    为了和Adam区分开,这里用ut表示。

    Adam中用到的是二范数更新,论文中提到二范数更新不是稳定,无穷范数是稳定的,因此通过计算无穷范数,使得收敛到稳定。

三、参考链接

    1、https://www.jianshu.com/p/0acd30a23e4e
    2、https://blog.csdn.net/u010089444/article/details/76725843
    3、https://blog.csdn.net/willduan1/article/details/78070086

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值