趋近智
尽管随机梯度下降(SGD)及其小批量变体相比标准批量梯度下降在计算上提供了显著优势,但它们也带来了一系列自身问题,主要源于其梯度估计的噪声特性以及深度学习中损失曲面的复杂结构。弄清这些问题对于理解为何开发了更高级的优化器非常必要。
与批量梯度下降不同,后者使用整个数据集计算精确梯度,而SGD每次更新只使用一个示例,小批量GD则使用一小部分数据。这意味着每一步计算出的梯度仅仅是真实梯度的一种估计。这种估计可能噪声很大,尤其是在批量大小非常小(或SGD的批量大小为1)时。
想象一下蒙着眼睛试图找到一个多山山谷的底部。批量梯度下降会感受周围整个山谷底部的坡度来迈出一步。小批量梯度下降则感受脚下小块地面的坡度。SGD只感受它所站立的那个微小点上的确切坡度。
这种噪声会带来以下几个结果:
下方的图表展示了由于噪声梯度估计,SGD的路径与批量梯度下降可能采取的更平滑路径如何不同。
一个简化的二维损失曲面,显示了平滑路径(如批量梯度下降)与噪声路径(如SGD/小批量梯度下降)向最小值(中心)移动的区别。
尽管通常可以控制,尤其是在有适当学习率的情况下,这种噪声是SGD和小批量方法的一个基本特点。
深度学习的损失曲面极其复杂且维度很高。它们并非简单的凸形碗状。相反,它们包含许多可能阻碍优化的特征:
局部最小值: 这些点上的损失比所有周围点都低,但并非整个空间中最低的损失(全局最小值)。如果优化器陷入局部最小值,梯度将变为零,标准梯度下降方法将停止,可能使模型困在次优状态。
鞍点: 这些点上的梯度也为零,但它们不是最小值。想象一下马鞍:如果你沿着马的脊柱向前或向后移动,你处于最小值,但如果你左右移动(沿着马鞍的侧翼),曲面会向下弯曲。数学上,曲率在某些方向上为正,在其他方向上为负。
下方的图表展示了这些点在一个二维损失曲面上的位置。
损失曲面的特点:一个全局最小值(最低点),一个局部最小值(低点,但不是最低点),以及一个鞍点(平坦,但在某些方向向下弯曲,在其他方向向上弯曲)。SGD在鞍点附近可能会遇到困难。
总而言之,尽管SGD和小批量梯度下降由于其效率而成为训练深度模型的主力,但它们的噪声更新以及高维度损失曲面中鞍点的普遍存在,对收敛速度和稳定性提出了严峻挑战。这些困难促使了更精巧的优化算法的开发,例如动量法和像Adam这样的自适应方法,我们接下来将讨论。这些算法包含克服噪声和加速通过损失曲面困难区域的机制。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造