趋近智
随机梯度下降 (gradient descent) (SGD)、动量 (Momentum) 和 Nesterov 加速梯度 (NAG) 等优化器是训练深度学习 (deep learning)模型的常用方法。这些方法之间的一个共同点是使用单一的全局学习率,通常表示为 。此学习率根据计算出的梯度,决定了更新模型所有参数 (parameter)的步长。虽然学习率调度等技术(我们将在后面讨论)可以随时间调整此全局学习率,但在单次更新步中,它对每个参数保持不变。
然而,这种统一的方法在训练复杂的深度神经网络 (neural network)时可能低效甚至存在问题。为什么?因为“理想”的步长可能不适用于所有参数。我们来思考几个单一学习率表现不足的情况。
思考一个细长损失曲面的简单可视化实例:
此等高线图显示了一个损失函数,其中沿水平轴 (w1) 的进展远比沿陡峭垂直轴 (w2) 的进展容易。
在这种情况下,梯度沿 方向比沿 方向陡峭得多。如果我们使用全局学习率 :
带有动量或 NAG 的 SGD 可以帮助平滑振荡并加速沿浅方向的进展,但它们仍然使用单一学习率,限制了它们在高度非球形曲面上的有效性。
理想情况下,我们希望有一种优化算法,能够独立地为每个参数 (parameter)调整步长。它应该能够:
这正是自适应学习率算法的原理所在。AdaGrad、RMSprop 和 Adam 等方法维护每个参数的过往梯度信息,并使用这些历史数据单独调整学习率。它们有效地为每个参数提供了在训练期间动态变化的独立学习率。
通过逐参数调整学习率,这些算法通常能更有效地应对复杂的损失曲面,从而加快收敛速度,有时能找到更好的解,与标准 SGD 或其动量变体相比,特别是在默认超参数 (hyperparameter)设置下表现更优。
在接下来的章节中,我们将了解 AdaGrad、RMSprop 和 Adam 的具体机制,以明白它们如何达到这种自适应调整行为。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•