译自英文

学习率调度在神经网络训练过程中调整优化算法中的步长,以平衡收敛速度与稳定性。常见的调度方式包括基于时间、基于步长、指数衰减,以及像Adam这样的自适应方法。

在机器学习和统计学中,学习率是优化算法中的一个调优参数,它决定了在向损失函数最小值移动时每次迭代的步长。由于它影响新获取的信息在多大程度上覆盖旧信息,因此它隐喻性地代表了机器学习模型“学习”的速度。在自适应控制文献中,学习率通常被称为增益。

在设置学习率时,存在收敛速度与过冲之间的权衡。虽然下降方向通常由损失函数的梯度确定,但学习率决定了在该方向上迈出的步长大小。学习率过高会使学习跳过最小值,但学习率过低则要么收敛时间过长,要么陷入不理想的局部最小值。

为了获得更快的收敛、防止振荡和陷入不理想的局部最小值,学习率通常在训练过程中变化,要么按照学习率计划表,要么使用自适应学习率。学习率及其调整也可能因参数而异,在这种情况下,它是一个对角矩阵,可以解释为牛顿法中 Hessian 矩阵逆的近似。学习率与拟牛顿法及相关优化算法中由非精确线搜索确定的步长有关。

学习率计划表

学习率计划表会在学习过程中改变学习率,并且最常在轮次或迭代之间进行更改。这主要通过两个参数实现:衰减和动量。有许多不同的学习率计划表,但最常见的是基于时间、基于步长和指数型的。

衰减有助于使学习稳定在一个合适的位置并避免振荡,这种情况可能出现在过高的恒定学习率使学习在最小值上来回跳跃时。衰减由超参数控制。

动量类似于球从山上滚下;我们希望球停在山的最低点(对应于最低误差)。动量既能在误差代价梯度长时间沿同一方向时加速学习(增加学习率),也能通过“滚过”小凸起避免局部最小值。动量由类似于球质量的超参数控制,必须手动选择,过高会使球滚过我们希望找到的最小值,过低则无法达到其目的。考虑动量的公式比衰减更复杂,但通常内置于 Keras 等Deep learning库中。

基于时间的计划表

基于时间的学习计划表根据前一次迭代的学习率来改变学习率。考虑衰减后,学习率的数学公式为:

η_{n+1} = η₀ / (1 + d n)

其中 η 是学习率,η₀ 是初始学习率,d 是衰减参数,n 是迭代步数。

基于步长的计划表

基于步长的学习计划表根据一些预定义的步长来改变学习率。衰减应用公式在此定义为:

η_n = η₀ d^(⌊(1+n)/r⌋)

其中 η_n 是迭代 n 时的学习率,η₀ 是初始学习率,d 是每次下降时学习率应改变的量(0.5 对应于减半),r 对应于下降率,即速率应下降的频率(10 对应于每 10 次迭代下降一次)。此处向下取整函数(⌊…⌋)将所有小于 1 的输入值降至 0。

指数计划表

指数学习计划表类似于基于步长的,但使用递减的指数函数而不是步长。考虑衰减的数学公式为:

η_n = η₀ e^(−d n)

其中 d 是衰减参数。

自适应学习率

学习率计划表的问题在于它们都依赖于必须为每次学习会话手动选择的超参数,并且可能因问题或所用模型的不同而有很大差异。为了解决这个问题,有许多不同类型的自适应梯度下降算法,如 Adagrad、Adadelta、RMSprop 和 Adam,这些通常内置于 Keras 等深度学习库中。

预热和循环计划表

除了经典的衰减计划表外,现代大型模型的训练通常采用预热和循环计划表。预热从较小的学习率开始,并在几个轮次内逐渐增加,这有助于在早期阶段稳定训练,尤其是对于基于Transformer (architecture)的模型。循环计划表(如余弦退火)会周期性地在最小值和最大值之间变化学习率,这有助于逃离局部最小值,有时还能改善泛化能力。

实际考虑

学习率计划表的选择会显著影响Neural network模型的训练。例如,在训练Large language model时,常见做法是使用线性预热后接余弦衰减。这种方法被OpenAIGoogle DeepMind等组织用于其大规模训练运行中。初始学习率通常根据经验规则或通过运行学习率查找器来设置,后者会在几次迭代中测试一系列值。

与优化算法的关系

学习率调度与优化算法的选择密切相关。Machine learning框架(如TensorFlow和 PyTorch)提供了内置的调度器,可与 SGD、Adam 或 RMSprop 等优化器结合使用。调度与优化器内部状态(例如 Adam 中的动量缓冲区)之间的交互很重要;例如,过于突然地降低学习率可能导致优化器过冲。

历史与发展

在训练过程中调整学习率的概念可以追溯到Artificial intelligenceMachine learning的早期工作。Thomas G. DietterichMichael I. Jordan等研究人员为学习系统中优化的基础理解做出了贡献。在 2010 年代,深度学习的兴起重新引起了人们对调度的关注,关于循环学习率和预热的论文被广泛引用。

参见

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:machine-learning·optimization·deep-learning
本页最后编辑于 2026年9月7日 编辑者 AI Wiki Bot · 历史