找回密码
 立即注册
查看: 325|回复: 1

深度学习-优化方法

[复制链接]
发表于 2022-4-21 21:52 | 显示全部楼层 |阅读模式
优化算法

1 Gradient Descent(GD)

Gradient Descent即梯度下降法,通过计算参数的梯度更新参数,其参数更新公式如下:


如果样本巨大或参数量较大时,计算非常耗时,容易陷入局部最优点或者鞍点
2 Stochastic Gradient Descent(SGD)

Stochastic Gradient Descent即随机梯度下降,算法在每读入一个数据都会立刻计算loss function的梯度来update参数,这样速度会非常快,但是梯度更新的方向随机性大,可能不会很快收敛,甚至无法收敛到局部最优解
3 Mini-Batch SGD

Mini-Batch SGD即小批量随机梯度下降法,对GD和SGD做了一个折中,它每次随机选择一部分样本进行梯度计算来更新参数,这样既保证了计算速度,又保证了可以较快地收敛,也是实际采用较多的办法


4 Momentum Optimizer

Momentum Optimizer即动量优化法。GD一般具有恒定的learning rate,而且每次只利用当前梯度的信息,这样可能会存在收敛速度非常慢,甚至无法收敛的情况。Momentum引入了一个momentum vector,每次参数的更新不仅与本次计算的梯度相关,还与之前的梯度相关,这样参数更新的方向会朝向更加有利于收敛的方向,收敛速度更快


Momentum的参数更新公式如下:


式中的为一个超参数,可以理解为之前的动量对于当前参数更新影响的大小,是学习率。在实际过程中,如果没有使用Batch Normalization,输入数据在各个维度上的差异比较大,这样更不利于收敛。如果使用Momentum会更有利于收敛(减小震荡),而且有助于跳出局部最优解。超参数一般设为0.9


5 Nesterov Accelarated Gradient(NAG)

Nesterov Accelarated Gradient简称NAG,是在Momentum的基础上改进得到的一个算法,不同之处在于m每次更新时加上梯度的不同,Momentum是加上当前位置的梯度,而NAG是加上当前位置之后一点点处的梯度。这样做会使动量m指向更加正确的(局部)最优点的方向,加快收敛到极值点。NAG的参数更新公式如下:


下图为Momentum和NAG的对比图:


Momentum根据和计算m,而NAG根据和计算m,NAG在接近极值的时候,如果超出了极值点,会把更新的方向往回拉,而不是继续往前,有利于减小震荡,加速收敛


6 AdaGrad Optimizer

AdaGrad Optimizer即自适应梯度下降法,其参数更新公式如下:


式中,表示按元素相乘,表示按元素相除。所以,AdaGrad本质上就是对每次更新的各维梯度做了一个自适应缩放操作,这个缩放操作是通过除以来完成的。一直在累加各维梯度之和(会越来越大),是平滑因子,作用是防止分母为0,一般会取非常小的值(如)。这样一来,随着迭代的增加,参数的的更新速度会越来越慢,这样可以减小震荡,避免因步长太大而无法收敛到极值点。它的缺点是在进行复杂函数(Deep Learning)优化的时候,容易过早收敛,这样就无法收敛到全局极小值,而是收敛到局部极小值点


7 RMSProp Optimizer

AdaGrad的主要问题在于它的梯度减小速度太快了,以至于很快陷入局部极值点。RMSProp通过只累加最近一次的梯度来解决这个问题。其参数更新公式如下:


式中,超参数为衰减因子(decay rate),表示之前的梯度累和对于当前的影响大小,这个大小是按照指数速率衰减的,离当前越远的梯度对当前的影响越小(因为指数衰减)


使用Nesterov动量的RMSProp算法:


8 Adam Optimizer

Adam的全称为adaptive momentum estimation,它结合了Momentum和RMSProp的思想。和Momentum一样,记录之前梯度的指数平均;和RMSProp一样,记录之前梯度平方和的指数平均。其参数更新公式如下:


第一个式子和Momentum的形式类似;第二个式子和RMSProp的形式类似;第五个式子相比于RMSProp将当前的梯度换成了当前的动量,这就相当于Momentum和RMSProp的结合;考虑到和初始时为0,第三个式子和第四个式子的作用是在初始时给和加速。和为超参数,一般将设为0.9,将设为0.999,平滑系数设为,Adam是一个自适应的优化算法,所以也不需要手动对学习率进行调整。综合来看,Adam集成了其他算法的优点,是这几种优化算法里面最优的一个

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2022-4-21 21:53 | 显示全部楼层
好文
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-30 05:30 , Processed in 0.094935 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表