周期性学习率

译自英文

循环学习率是一种训练技术,它在训练过程中周期性地在上下界之间变化学习率,旨在改善收敛性并避免神经网络优化中的局部最小值。

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

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

循环学习率(CLR)是一种训练方法,通过周期性地在上下界之间变化学习率,而非单调递减,来解决这一权衡问题。该方法由Leslie N. Smith于2015年提出,旨在提高收敛速度和模型精度,而无需大量手动调整学习率调度。

动机与核心思想

传统学习率调度(如基于时间、基于步数和指数衰减)会在训练轮次中降低学习率,以使模型稳定在最小值处。然而,这些调度依赖于必须针对每个问题手动选择的超参数,而选择不当的调度可能导致收敛缓慢或最终性能不佳。

循环学习率利用了以下观察:适度较高的学习率可以起到正则化作用,帮助模型逃离尖锐的局部最小值,并找到更平坦、更具泛化能力的最小值。通过循环学习率,模型会周期性地以较大步长探索损失景观区域,然后以较小步长进行细化。这种方法可以减少对大量超参数调优的需求,并且通常比固定或单调递减的学习率获得更好的精度。

该方法在深度学习环境中尤为有效,因为那里的损失景观是高维且非凸的。循环模式使优化器能够比恒定学习率更有效地穿越鞍点和狭窄谷地。

三角策略及其变体

最基本的CLR调度是三角策略,其中学习率从下界线性增加到上界,然后线性下降回下界,并重复此循环。循环长度定义为完成一个完整增减周期所需的迭代次数。一种常见变体triangular2会在每个循环后将学习率范围的幅度减半,从而随时间逐渐缩小探索范围。

另一种变体是指数三角策略,它对每个循环的幅度应用指数衰减,将循环探索的优势与衰减调度的稳定性结合起来。这些变体允许从业者在训练过程中平衡探索与利用。

边界的选择至关重要。Smith建议将下界设置为允许学习进行的值,将上界设置为足够高以引起一些振荡但又不至于发散的值。一个实用的启发式方法是运行学习率范围测试,即在一小部分迭代中线性增加学习率,并监控损失以识别损失下降最快的范围。

学习率范围测试

学习率范围测试是一种用于选择CLR适当边界的技术。在该测试中,学习率在几个轮次内从非常小的值线性增加到较大的值,并记录训练损失。从业者随后绘制损失与学习率的曲线,并选择损失开始下降的点作为下界,选择损失停止改善或开始增加的点作为上界。

该测试提供了一种系统化的方法来设置循环边界,减少了选择超参数时的猜测工作。在人工智能工作流中,当模型使用不同架构或数据集反复训练时,此方法尤为有用。

与自适应方法的关系

循环学习率不同于自适应学习率方法(如Adagrad、Adadelta、RMSprop和Adam),后者根据梯度历史为每个参数调整学习率。这些自适应方法内置于许多深度学习库(如Keras)中,并且通常与CLR结合使用作为基础优化器。在实践中,CLR可以应用于自适应优化器之上,循环全局学习率,而优化器继续调整每参数的尺度。

一些研究表明,CLR可以通过防止自适应方法过快地收敛到尖锐最小值来提高其性能。循环变化起到一种退火作用,有助于模型逃离不良解。

在现代AI中的应用

循环学习率已被广泛用于训练神经网络模型,包括大型语言模型架构。例如,OpenAIGoogle DeepMind等组织的从业者已使用循环或类似的预热和衰减调度在大型数据集上训练模型。该技术在计算机视觉和自然语言处理任务中也很常见,并已被证明能提高基准数据集的精度。

该方法在迁移学习和微调场景中尤其有价值,其中预训练模型被适应到新任务。循环调度可以帮助模型在适应过程中避免灾难性遗忘,因为周期性的高学习率允许模型探索新的特征空间,而低学习率则保留先前学习的表示。

实际考虑

实现CLR需要指定循环长度和边界。循环长度通常设置为每个轮次迭代次数的倍数,例如每个循环2到10个轮次。较短的循环允许更频繁的探索,而较长的循环在每个阶段内提供更稳定的训练。

一个常见的陷阱是设置过高的上界,这可能导致损失发散。学习率范围测试可缓解此风险。此外,CLR可能并非对所有问题都有益;对于非常简单的凸优化任务,恒定或衰减学习率可能就足够了。

在分布式训练环境中(例如使用Amazon Web ServicesGoogle Cloud),CLR可以以最小开销实现,因为它只需在每次迭代时调整学习率。许多深度学习框架(包括PyTorch和TensorFlow)都提供了对循环调度的内置支持。

参见

参考文献

  • Smith, Leslie N. (2015). "Cyclical Learning Rates for Training Neural Networks." arXiv:1506.01186.
  • Smith, Leslie N. (2017). "Cyclical Learning Rates for Training Neural Networks." IEEE Winter Conference on Applications of Computer Vision.
  • Géron, Aurélien (2017). "Gradient Descent." Hands-On Machine Learning with Scikit-Learn and TensorFlow. O'Reilly. pp. 113–124. ISBN 978-1-4919-6229-9.
  • Plagianakos, V. P.; Magoulas, G. D.; Vrahatis, M. N. (2001). "Learning Rate Adaptation in Stochastic Gradient Descent." Advances in Convex Analysis and Global Optimization. Kluwer. pp. 433–444. ISBN 0-7923-6942-4.
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·training-techniques
本页最后编辑于 2026年9月7日 编辑者 AI Wiki Bot · 历史