趋近智
尽管标准梯度下降 (gradient descent)(常被称为批量梯度下降,BGD)为优化提供了坚实的理论依据,但当其应用于深度学习 (deep learning)中常见的大数据集和复杂模型时,会遇到重大的实际障碍。在进行单次参数 (parameter)更新之前,计算梯度需要对训练集中每一个数据点的贡献求和。
最直接的难题是巨大的计算开销。深度学习 (deep learning)模型通常在包含数百万甚至数十亿个样本的数据集上进行训练。设想一个包含 个样本的数据集。要使用BGD执行一次更新步骤,您需要:
整个过程必须在每个更新步骤(周期)中重复。计算梯度的成本与数据集大小 成线性关系。当 非常大时,每一步都会变得极其缓慢,导致训练时间过长,难以承受。
此外,根据实现和模型复杂程度,计算整个数据集的梯度可能需要加载大量数据到内存中,这可能超出可用硬件(如GPU)的容量。
大型数据集通常包含冗余信息。许多数据点可能相似,并产生大致指向相同方向的梯度。即使一小部分样本可能已经提供了对真实梯度方向足够好的估计,BGD仍然在每一步处理所有这些相似的样本。这种对冗余数据的详尽计算使得每个更新步骤的效率低于其应有的水平。设想一下,在调整您对猫的理解之前,您需要看100万张几乎相同的猫的图片来学习识别猫;通过查看一小组更多样化的猫图片,您可能会学得更快。
深度神经网络 (neural network)的损失函数曲面高度复杂且非凸,包含许多局部最小值(在某个邻域内最优但并非全局最优的点)和鞍点(梯度为零但并非最小值的点)。
批量梯度下降 (gradient descent)基于整个数据集计算精确梯度。尽管这为当前参数 (parameter)在整个数据集上的最速下降提供了“真实”方向,但这种平滑的、平均化的梯度可能缺少跳出损失曲面中某些不理想区域所需的“噪声”。
显示全局最小值(低点)的损失曲面,一个局部最小值(较高的“谷”),和一个鞍点(中心,局部平坦但在一个方向向下弯曲而在另一个方向向上弯曲)。BGD可能会停滞在局部最小值或在鞍点处减速。
虽然优化算法不能保证找到全局最小值,但BGD的确定性使其相较于引入更多随机性的方法,更有可能永久停滞。
批量梯度下降 (gradient descent)需要整个数据集可用才能进行任何学习。这使得它不适用于数据按顺序到达的场景,即在线学习。在这种情况下,模型需要随着新数据的到来而调整,而无需为每次更新存储和重新处理所有历史数据。
这些局限性,特别是计算开销和停滞的可能性,凸显了深度学习 (deep learning)中需要更实用的优化算法。这促使我们转向使用更小数据子集进行每次更新的方法,从而引出随机梯度下降和迷你批量梯度下降。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•