设为首页 - 加入收藏 临沧站长网 (http://www.0883zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 中国 技术 可能 全球
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

想知道深度学习优化算法的原理?点我!快点我

发布时间:2019-08-23 02:23 所属栏目:[经验] 来源:读芯术
导读:深度学习是一个高度迭代的过程。必须尝试超参数的各种排列才能确定最佳组合。因此,在不影响成本的前提下,深度学习模式必须在更短的时间内进行训练。本文将解释深度学习中常用优化算法背后的数学原理。 优化算法 在算法f(x)中,优化算法可得到f(x)的最大

深度学习是一个高度迭代的过程。必须尝试超参数的各种排列才能确定最佳组合。因此,在不影响成本的前提下,深度学习模式必须在更短的时间内进行训练。本文将解释深度学习中常用优化算法背后的数学原理。

想知道深度学习优化算法的原理?点我!快点我

优化算法

在算法f(x)中,优化算法可得到f(x)的最大值或最小值。在深度学习中,可通过优化代价函数J来训练神经网络。代价函数为:

想知道深度学习优化算法的原理?点我!快点我

代价函数J的值是预测值y '与实际值y之间损失L的均值。利用网络的权值W和偏置b,在正向传播过程中得到y '值。通过优化算法更新可训练参数W和b的值,从而使代价函数J的值最小化。

梯度下降法

权值矩阵W是随机初始化的。利用梯度下降法可使代价函数J最小化,得到最优权矩阵W和偏置b。梯度下降法是一种求函数最小值的一阶迭代优化算法。将代价函数J应用于梯度下降法来最小化成本。数学上可定义为:

想知道深度学习优化算法的原理?点我!快点我

第一个方程表示权值矩阵W的变化量,第二个方程表示偏置b的变化量。这两个值的变化由学习率和成本J对权值矩阵W和偏置b的导数决定。反复更新W和 b,直到代价函数J最小化。接下来本文将通过下图来解释梯度下降法的原理:

想知道深度学习优化算法的原理?点我!快点我
  • 案例1. 假设W初始值小于其达到全局最小值时的值。这一点的斜率J对W的偏导数为负,因此,根据梯度下降方程,权值增加。
  • 案例2. 假设W初始值大于其达到全局最小值时的值。这一点的斜率J对W的偏导数为正,因此,根据梯度下降方程权值下降。

因此,W和b都取得最优值,代价函数J的值被最小化。

想知道深度学习优化算法的原理?点我!快点我

以上给出了以梯度下降法为优化算法的基本策略。

小批量梯度下降法

梯度下降法的缺点之一是只有在经过完整的训练数据后才可更新参数。当训练数据过大无法载入计算机内存时,这无疑构成了一大挑战。小批量梯度下降法是解决上述梯度下降问题的一种应变之法。

在小批量梯度下降中,可根据用例将整个训练数据分布在大小为16、32、64等的小批量中。然后使用这些小批量来迭代训练网络。使用小批量有以下两个优点:

  1. 在最初的几个训练案例中,只要遍历第一个小批量,即可开始训练。
  2. 当拥有大量不适合储入内存的数据时,可以训练一个神经网络。

现在batch_size成为新的模型超参数。

  1. 当batch_size = number of training examples (训练样本数)时,称为批量梯度下降。此时就存在着需要遍历整个数据集后才能开始学习的问题。
  2. 当batch_size = 1时,称为随机梯度下降。由于没有充分利用矢量化,训练将变得非常缓慢。
  3. 因此,通常选择64或128或256或512。然而,这取决于用例和系统内存,换而言之,应确保一个小批量能载入系统内存。
想知道深度学习优化算法的原理?点我!快点我

以上给出了采用小批量梯度下降法作为优化算法的基本策略。

Momentum

动量梯度下降法是一种先进的优化算法,可加快代价函数J的优化。动量梯度下降法利用移动平均来更新神经网络的可训练参数。

移动平均值是在n个连续值上计算的平均值,而不是整组值。数学上表示为:

想知道深度学习优化算法的原理?点我!快点我

这里,A[i]表示X[i]值在i数据点处的移动平均值。参数β决定计算平均值的数值n。例如,如果β= 0.9,移动平均值用10个连续值来计算;如果β= 0.99, 移动平均值用100个连续值来计算。一般情况下,n的值可近似为:

想知道深度学习优化算法的原理?点我!快点我

下图显示了移动平均线的工作原理。随着β值增加,n增加,图形偏向右边,这是因为初始阶段,这些值都会增加。然而,当β减少,n减少,就可以正确建模X。因此有必要找出适当的β值以得到良好的移动平均线。可以看出β= 0.9时适用于大多数情况。

想知道深度学习优化算法的原理?点我!快点我

现在,了解了什么是移动平均线,接下来试着理解其在动量算法中的应用。训练神经网络时,目标是优化代价函数J,使其值最小化。传统梯度下降优化器遵循蓝色路径,而动量优化器遵循绿色路径以达到最小值(红色)。

想知道深度学习优化算法的原理?点我!快点我

与动量相比,梯度下降的路径步骤过多。这是因为梯度下降在y轴上有很大波动,而在x轴上移动得很少,也就接近最小值。正确的解决方案是通过抑制y轴的运动来减少波动。这就是移动平均线发挥作用的地方。

观察蓝色的路径,可以看到y轴上的运动是一系列的正负变化。将加权平均应用于几乎为零的运动,随后即出现y轴上的波动。对于x轴的运动也有类似的直觉。这减少了路径上的波动,最终,随着训练迭代次数的减少,神经网络在较短的时间内达到最小值。为此,引入两个新的变量VdW和Vdb来跟踪权值dW和偏置db的导数的加权平均值。

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章