优化梯度下降算法

学习地址:https://mooc.study.163.com/university/deeplearning_ai#/c

今天开始对自己这几个月在深度学习和机器学习的learning做一些总结:

 如何能让自己的算法更加高效,除了我之后将提到的归一化处理,今天先来看看adam算法。

Adam 结合了mouteum 和 rep,过程类似于归一化对算法提速的作用,能够使得loss function 的界面趋向于圆形,使得变量w,b的变化较为缓和,减少上下大幅度的摆动,这是adam算法的作用,x

在深度学习的历史上,包括许多知名研究者在内,提出了优化算法,并很好地解决了一些问题,但随后这些优化算法被指出并不能一般化,并不适用于多种神经网络,时间久了,深度学习圈子里的人开始多少有些质疑全新的优化算法,很多人都觉得动量(Momentum)梯度下降法很好用,很难再想出更好的优化算法。所以RMSprop以及Adam优化算法(Adam优化算法也是本视频的内容),就是少有的经受住人们考验的两种算法,已被证明适用于不同的深度学习结构,这个算法我会毫不犹豫地推荐给你,因为很多人都试过,并且用它很好地解决了许多问题。

Adam优化算法基本上就是将MomentumRMSprop结合在一起,那么来看看如何使用Adam算法。

 

优化梯度下降算法_第1张图片

所以Adam算法结合了MomentumRMSprop梯度下降法,并且是一种极其常用的学习算法,被证明能有效适用于不同神经网络,适用于广泛的结构,以下我将直观的说明一些这个算法:

   

观察上图我们可以发现算法的学习曲线摆动的幅度逐渐的减少,这是momentum的作用,系数B1可以使得学习参数的迭代,同时与本次迭代值dw和上一次迭代值相关,增加了参数迭代的稳定性,提高了学习速率。

 

RMSprop算法的主要参数是B,Sdw 和Sdb的迭代,分别作为权重W和偏移量b导数的分母,观察上图可知,在参数的迭代过程中,在纵轴方向的b变化的幅度较大,由于b:=b-a*dw/Sdb 那么将会增大Sdb的值,减缓在纵轴方向的变化幅度

 

上面这个曲面有一段较为平坦,我们可以使用adam算法帮助我们快速的通过这个面,可以提高我们的学习速率。

对以上的说明如有不明的,可以留言讨论,我看博客的时候会解释清楚。

你可能感兴趣的:(深度学习)