决定神经网络学习处理速度的因素.doc
《决定神经网络学习处理速度的因素.doc》由会员分享,可在线阅读,更多相关《决定神经网络学习处理速度的因素.doc(4页珍藏版)》请在三一文库上搜索。
1、决定神经网络学习处理速度的因素今天的文章会重点关注决定神经网络学习处理速度的因素,以及获得预测的精确度,即优化策略的选择。我们会讲解多种主流的优化策略,研究它们的工作原理,并进行相互比较。机器学习算法的优化优化是寻找可以让函数最小化或最大化的参数的过程。当我们训练机器学习模型时,我们通常会使用间接优化,选择一种特定的衡量尺度,例如精确度或查全率等可以表现模型解决方法表现的指标。但是我们现在进行优化的是另一种不同的价值函数J(),希望通过将它的值最小化后,提高目标指标的表现。当然,价值函数的选择通常和正在解决的问题有关,更重要的是,它通常表示我们距离理想解决方案的距离。可以想象,这一话题非常复杂
2、。优化算法的可视化陷阱无处不在通常,找到非凸价值函数的最小值并不容易,我们必须用高级的优化策略定位它们。如果你学过微积分,你会了解“局部最小值”的定义这可能是优化器最容易陷入的陷阱。此类情景的例子可以从上图左边看到,可以清楚地发现,优化器定位的点并不是最优解。想克服所谓的“鞍点”问题会更困难。在水平处,价值函数的值几乎是常数,上图右侧体现了这一问题,在这些点上,梯度在各个方向上几乎为零,所以很难逃脱。有时,尤其是在多层网络中,我们要处理的价值函数可能很陡。在这种区域,梯度的值可能会急剧增加,即形成梯度爆炸,导致巨大的步长。但是这一问题可以通过梯度裁剪(gradient clipping)避免。
3、梯度下降在了解高级算法之前,先让我们看看基础算法。也许最直接的方法之一就是向梯度的相反方向发展。这一策略可以用以下公式表示:其中是一个称为学习速率的超参数,是每次迭代中采取的步长长度。在某种程度上,它的选择表示了在学习速度和精确度之间的权衡。选择的步长太小就会导致繁琐的计算,不可避免地会进行多次迭代。但是,选择的值过大,又无法找到最小值。如下图所示,我们可以看到在相邻的两次迭代上是如何变化的,而不是趋于稳定。同时,如果模型确定了合适的步长,可能会立刻找到一个最小值。低学习率和高学习率下梯度下降除此之外,算法还对“鞍点”问题很脆弱,因为在连续迭代中的修正尺寸对计算梯度是成比例的,这样的话,就无法
4、从平坦处逃脱。最后,重点是这种算法并不高效,它在每次迭代中都需要用全部的训练集。这意味着,在每个epoch中我们都要查看所有样本,从而在下次进行优化。如果只有几千个样本还好,但如果有上百万个样本呢?在这种情况下,很难想象每次迭代需要花费多少时间mini-batch梯度下降梯度下降和mini-batch梯度下降对比在这一部分,我们要重点解决梯度下降不高效的问题。虽然向量化处理加速了计算,当数据集有百万个样本时,可以一次性处理多个训练样本。这里我们可以试试另一种方法,将整个数据集分成多个更小的批次(batch),用它们进行连续迭代。如上面动图所示,由于每次处理的数据量更少了,新算法做决策的速度更快
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 决定 神经网络 学习 处理 速度 因素
链接地址:https://www.31doc.com/p-3389874.html