梯度下降挑战之一:局部极小值到目前为止,梯度下降的故事听起来真的很美好 。现在,我来揭开它的面纱 。还记得我之前说过有种损失函数很好,而这种损失函数是不存在的这句话吗?它们确实是不存在的 。首先,神经网络是复杂的函数,我们在假设的函数中引入了大量的非线性变换 。得到的损失函数看起来并不太好,同样只有一个我们可以收敛到的最小值点 。
事实上,这种理想的损失函数被称作「凸函数」(总是向上弯曲的函数),而深度网络的损失函数很难是凸的 。实际上,它们很可能是这样的:在上图中,存在梯度为 0 的局部极小值点 。然而,我们想要达到的全局最小值点,却是无法实现的 。现在,如果你将权值初始化在 A 点,那么你将会收敛到局部极小值点,而且,一旦你收敛到这个极小值点,梯度下降将没法使你离开这里 。
梯度下降是由梯度驱动的,它在任何一个极小值点都会为 0 。局部极小值之所以被称作局部极小值,是因为损失函数在该点的值在局部区域是最小的 。而全局最小值被称作全局最小值,是因为在损失函数在该点的值在整个区域最小 。更糟糕的是,由于我们考虑的那个 3 维损失函数轮廓在实际中是从没有发生过的,损失函数的轮廓可能更加复杂 。
在实践中,我们的神经网络大约会有 10 亿个权重,给我们一个大约(10 亿 1)维的函数 。事实上,很难想象一个如此多维度的函数是什么样子的 。然而,深度学习领域如今人才济济,人们已经想出了以 3D 的形式可视化损失函数轮廓的方法 。最近的一篇论文提出了一种名为「Filter Normalization」的技术,该项技术解释了超出本文范围的内容 。
然而,它确实让我们看到了我们所处理的损失函数的潜在复杂性 。例如,下图是 VGG-56 在 CIFAR-10 数据集上构建的损失函数的 3D 架构 。一个复杂的损失函数图像(图源:https://www.cs.umd.edu/~tomg/projects/landscapes/)正如你所看到的,到处都是局部极小值点 。
梯度下降挑战之二:鞍点关于梯度下降的局限性,我们得到的基本教训是:一旦到达梯度为 0 的区域,不管极小值点的质量如何,它都几乎无法逃离 。我们面临的另一种问题是鞍点,它们的形状如下:鞍点你也可以在之前的图片中看到两座山峰相遇时候的鞍点 。鞍点得名于它的形状类似于马鞍 。尽管它在 x 方向上是一个最小值点,但是它在另一个方向上是局部最大值点,并且,如果它沿着 x 方向变得更平坦的话,梯度下降会在 x 轴振荡并且不能继续根据 y 轴下降,这就会给我们一种已经收敛到最小值点的错觉 。
随机性的解救那么,我们如何在尝试收敛到全局最优值的同时摆脱局部极小值和鞍点呢?答案是使用随机梯度下降 。到目前为止,我们一直使用通过对训练集上的所有可能样本的损失值求和得到的损失函数进行梯度下降 。如果我们进入局部极小值或者鞍点,我们就会被困住 。帮助梯度下降摆脱这些困境的一种方法就是随机梯度下降 。在随机梯度下降中,我们不是通过对所有损失函数求和来计算损失函数的梯度,而是通过计算仅仅一个随机抽样(不替换)例子的损失梯度来采取步骤 。
随机梯度下降中的每个样本都是随机选择的,相比之下,早期方法在一个批量中处理所有的样本,因此称为批量梯度下降 。更新规则也做了相应的改变 。这意味着,我们每一步采用的损失函数都不同于实际的损失函数(它是每一个样本的损失函数的和) 。这种「一个样本损失函数」在某一特定点的梯度实际上可能指向与「所有样本损失函数」的梯度略有不同的方向 。
- 论语十二章哪些是学习态度,《论语十二章》
- 如何组织教师学习感恩母亲,《感恩母亲》主题班会
- 手机的耳机优化开不了
- 有哪些实用的学习类,实用软件
- Proe/Creo学习心得,proe
- 符号学习,符号学是什么
- 良好的学习习惯要素有哪些,养成良好的学习习惯要素.ppt
- 学习幼儿园教师如何听评课讲座心得,一起来做听评课高手
- 厂规交流体会如何写,学习厂规厂纪心得体会
- 如何看待物流金融存在的风险,物流行业深度研究报告
