优化器

it2022-05-05  164

优化器

一、优化器概述

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

二、常见的优化器

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


最新回复(0)