深度学习优化算法Momentum, RMSprop, Adam简单解释!

作者: 托尼 分类: AI 发布时间: 2019-10-09 09:40

 

从SGD说起

我们初学的算法一般都是从SGD入门的,参数更新是:

https://img1.mukewang.com/5d2fd1ba0001241101870083.jpg

它的梯度路线为:

https://img.mukewang.com/5d2fd1bd0001c4fe07150120.jpg

 

Momentum优化算法

通过SGD可以看出它的上下波动很大,收敛的速度很慢。因此有人提出了Momentum优化算法,这个是基于SGD的算法,简单理解就是为了防止波动,取前几次波动的平均值当做这次的W。这里就用到了理论的计算梯度的指数加权平均数,引进超参数beta(一般取0.9):

https://img1.mukewang.com/5d2fd1c10001e20502540165.jpg

β和1-β分别代表之前的dW权重和现在的权重。

效果图如下(红色):

https://img.mukewang.com/5d2fd1c60001593f07160135.jpg

 

 

RMSprop优化算法

 

下面继续另一种加速下降的一个算法RMSprop,全称Root Mean Square prop。也用到权重超参数beta(一般取0.999),和Momentum相似:

https://img1.mukewang.com/5d2fd1c900017cf702740171.jpg

其中dW的平方是(dW)^2,db的平方是(db)^2。如果严谨些,防止分母为0,在分数下加上个特别小的一个值epsilon,通常取10^-8。

效果图如下(绿色):

https://img1.mukewang.com/5d2fd1cd000184d007060140.jpg

 

Adam优化算法

 

研究者们其实提出了很多的优化算法,可以解决一些问题,但是很难扩展到多种神经网络。而Momentum,RMSprop是很长时间来最经得住考研的优化算法,适合用于不同的深度学习结构。所以有人就有想法,何不将这俩的方法结合到一起呢?然后,Adam问世了。Adam全称为Adaptive Moment Estimation。算法中通常设置 beta_1=0.9,beta_2=0.999。

算法为:

https://img.mukewang.com/5d2fd1e00001d8f802410415.jpg

很明显看出是两者的结合,其中多了一步V和S的调节,t为迭代次数,除以1-β^t表示越近的重要,越远的就可以忽视

因为Adam结合上述两种优化算法的优点于一身,所以现在经常用的是Adam优化算法。

 

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

打赏      

发表评论

电子邮件地址不会被公开。 必填项已用*标注