机器学习面试:请介绍几种常用的学习率衰减方式

学习率衰减( Learning Rate Decay)是指在训练过程中逐渐降低学习率的策略。通过衰减学习率 ,可以在训练的早期阶 段使用 较大 的学习率以快速收敛,然后逐渐降低学习率以细化参数更新并提高 模型的泛化能力 。

学习率是深度学习中最关键的超参数之一。它决定了每次参数更新的步长。在训练初期,较大的学习率有助于快速收敛;但到了训练后期,如果学习率仍然很大,优化可能会在最优点附近震荡,无法收敛到最佳解,甚至可能"越过"最优点导致发散。

学习率衰减策略就是为了解决这个问题而设计的,其核心思想是:在训练过程中随着迭代次数的增加,逐渐减小学习率,从而使得模型在初期快速收敛,在后期精细调参,达到更好的性能和稳定性。

以下是几种常见且重要的学习率衰减方法:


1. 按时间步衰减 / 指数衰减

这是最直接的方法。学习率在每个epoch或每一定数量的step之后按一个固定的比率下降。

  • 公式lr = initial_lr * decay_rate ^ (step / decay_steps)

  • 特点:实现简单,是早期最常用的方法。

  • 缺点:需要手动设置衰减率和衰减步长,对超参数比较敏感。

2. 阶梯衰减

在训练达到预设的特定"里程碑"时,将学习率乘以一个衰减系数(例如0.1)。这是目前最常用、最有效的策略之一。

  • 操作:例如,可以设定在训练到总epoch数的50%和75%时,各将学习率降为之前的十分之一。

  • 特点:性能稳定,可解释性强,在许多经典模型(如ResNet)的训练中都被使用。

  • 缺点:需要预先设定好衰减的时间点,对于不同的任务可能需要调整这些"里程碑"。

3. 余弦退火

学习率的变化遵循余弦函数的一部分,从初始值缓慢地下降到0。

  • 公式lr = initial_lr * 0.5 * (1 + cos(π * current_epoch / total_epochs))

  • 特点

    • 平滑下降:衰减过程非常平滑,没有突然的断点。

    • 实验表现好:在很多任务上(尤其是图像分类)表现出色,通常是效果强大的基准方法。

    • 重启变体 :其改进版带重启的余弦退火 ,在每次余弦周期结束时不是将学习率降到0,而是突然重启到一个较大的值("热身"),然后开始一个新的余弦下降周期。这种"重启"策略有助于帮助模型跳出局部最优点或鞍点,找到更优的解。

4. 线性衰减

学习率从一个初始值开始,随着训练过程线性地减小到0。

  • 公式lr = initial_lr * (1 - current_step / total_steps)

  • 特点:比指数衰减更线性、更可控,下降过程稳定且可预测。在很多Transformer系列的模型训练中常用。

5. 性能平台衰减

这不是一个固定的数学 schedule,而是一种基于验证集指标的自适应策略。

  • 操作:持续监控验证集损失(或准确率)。如果其在连续的若干个epoch内(即一个"耐心"区间)没有再提升,则认为性能进入了"平台期",此时就将学习率降低一个比例(如减半)。

  • 特点 :非常实用,因为它根据模型的实际表现 来决定何时衰减,避免了预设schedule可能不合理的问题。ReduceLROnPlateau 在PyTorch和Keras等框架中都是标准实现。

  • 缺点:需要在每个epoch后评估验证集,增加了一些计算开销。

6. 反比例衰减 / 多项式衰减

学习率与训练步数的反平方根成比例衰减。这种方法在Transformer模型的原始论文中被提出并广泛应用。

  • 公式lr = initial_lr * (1 / sqrt(step)) 或更常见的 lr = initial_lr * (warmup_steps ^ 0.5) * min(step ^ -0.5, step * warmup_steps ^ -1.5)

  • 特点 :通常与学习率预热配合使用。在训练初期,学习率从一个很小的值线性增加(预热),达到初始学习率后,再开始按反平方根衰减。这种"先升后降"的模式被证明对训练大规模Transformer网络非常有效。


总结与建议

方法 优点 缺点 适用场景
阶梯衰减 稳定有效,可解释性强 需要预设里程碑 CNN图像分类等广泛任务
余弦退火 平滑,收敛性能好,重启版能逃离局部最优 需要知道总训练步数 图像分类检测等(常用作强基线)
线性衰减 简单,线性可控 需要知道总训练步数 NLP(如Transformer)目标检测
性能平台衰减 自适应,无需预设schedule 需验证集,增加计算 通用,尤其当不确定训练动态时
反比例衰减(带预热) 对大规模模型训练稳定 需要精心调参 Transformer/BERT等大型NLP模型

现代深度学习的实践建议:

  1. 默认起点 :可以首先尝试余弦退火线性衰减,它们通常能提供不错且稳定的性能。

  2. 使用预热 :无论采用哪种衰减策略,在训练的最开始(例如前5%的步数或epoch)使用学习率预热(Learning Rate Warmup)几乎总是一个好主意。它允许模型在初期稳定地建立梯度,避免训练初期的不稳定。

  3. 组合策略 :先进的方法通常是组合策略,例如 "线性预热 + 余弦退火" 是当前非常流行的选择。

  4. 框架支持 :主流框架(如PyTorch的 torch.optim.lr_scheduler 和 TensorFlow/Keras的 tf.keras.optimizers.schedules)都内置了上述所有方法,可以方便地调用和实验。

  5. 注意自适应优化器:对于Adam、AdamW这类自适应优化器,它们自身有一定的调节步长的能力,因此对学习率衰减的敏感度可能不如传统的SGD+Momentum那么高,但使用衰减通常仍然能带来提升。

选择哪种方法取决于具体任务、模型结构和经验,在实际应用中需要通过实验来选择最适合当前任务的学习率衰减策略。

相关推荐
2501_948114245 分钟前
2026年大模型API聚合平台技术评测:企业级接入层的治理演进与星链4SAPI架构观察
大数据·人工智能·gpt·架构·claude
小小工匠6 分钟前
LLM - awesome-design-md 从 DESIGN.md 到“可对话的设计系统”:用纯文本驱动 AI 生成一致 UI 的新范式
人工智能·ui
黎阳之光23 分钟前
黎阳之光:视频孪生领跑者,铸就中国数字科技全球竞争力
大数据·人工智能·算法·安全·数字孪生
小超同学你好33 分钟前
面向 LLM 的程序设计 6:Tool Calling 的完整生命周期——从定义、决策、执行到观测回注
人工智能·语言模型
_李小白40 分钟前
【OSG学习笔记】Day 38: TextureVisitor(纹理访问器)
android·笔记·学习
智星云算力1 小时前
本地GPU与租用GPU混合部署:混合算力架构搭建指南
人工智能·架构·gpu算力·智星云·gpu租用
jinanwuhuaguo1 小时前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin
xiaozhazha_1 小时前
效率提升80%:2026年AI CRM与ERP深度集成的架构设计与实现
人工智能
枫叶林FYL1 小时前
【自然语言处理 NLP】7.2.2 安全性评估与Constitutional AI
人工智能·自然语言处理
AI人工智能+1 小时前
基于高精度身份证OCR识别、炫彩活体检测及人脸比对技术的人脸核身系统,为通信行业数字化转型提供了坚实的安全底座
人工智能·计算机视觉·人脸识别·ocr·人脸核身