深度学习的优化算法

批量梯度下降法

受电脑GPU限制,在训练网络时,通常不会将所有数据一起训练,为了加快学习速度,我们首先引入批量梯度下降法,但是会有震荡问题,如图1的的右图。
深度学习的优化算法_第1张图片图1 批量梯度下降法

动量(Momentum)梯度下降法

首先需要掌握指数加权平均的概念,计算公式如下:
在这里插入图片描述
深度学习的优化算法_第2张图片
β 越大相当于求取平均利用的天数越多,曲线自然就会越平滑而且越滞后。但是在头部区域,由于数据不足的问题,那么头几个数据的值就会异常的小。需要想一个办法来修正这种开头的问题。但是又不影响后面的数据。这一过程叫做偏差修正。
深度学习的优化算法_第3张图片
动量(Momentum)梯度下降法则是计算梯度的指数加权平均。其中β一般设置为0.9。
深度学习的优化算法_第4张图片
梯度下降法则会变得更加平滑,如下图:
深度学习的优化算法_第5张图片

使用动量梯度下降时,通过累加过去的梯度值来减少抵达最小值路径上的波动,加速了收敛,因此在横轴方向下降得更快,从而得到图中红色或者紫色的曲线。当前后梯度方向一致时,动量梯度下降能够加速学习;而前后梯度方向不一致时,动量梯度下降能够抑制震荡。

RMSprop梯度下降法

RMSprop方法全称为root mean square prop。由于利用动量梯度下降法在执行梯度下降时,虽然横轴方向正在推进,但纵轴方向会有大幅度摆动。RMSprop算法可以减缓纵轴方向的学习,同时加快,至少不是减缓横轴方向的学习。
深度学习的优化算法_第6张图片
Sdw能表示过去一段时间dw的平均大小。平方是为了防止正负抵消。
给学习率除以Sdw就可以达到调节学习率的目的。如果dw大,那么除以的数也大。相当步长减小。dw小则除以的数也小。步长相对影响不大。从而达到了平衡的目的,让不同的维度可以基本保证同时到达最低点。最后要开根号是为了去掉之前平方的影响。

Adam梯度下降法

Adam算法则是将动量梯度下降法和RMSprop梯度下降法结合起来。
深度学习的优化算法_第7张图片
Adam算法包含以下几个超参数。
学习率 α:需要调试;
β1:常用的缺省值为 0.9;
β2:Adam 算法的作者建议为 0.999;
ϵ:不重要,不会影响算法表现,Adam 算法的作者建议为 10−8;
通常只要调试学习率 α即可。

你可能感兴趣的:(深度学习,深度学习,算法,人工智能)