学习率

学习率

每次更新走多大步

学习率是梯度下降优化中最核心的超参数,决定每次参数更新沿梯度方向移动的步幅大小。设置得当则训练稳健收敛,设置失当则震荡发散或停滞不前,其对模型最终性能的影响往往超过网络结构本身。

概述

学习率(Learning Rate)在每次反向传播后决定参数沿梯度方向走多大一步。

  • 核心公式:θ ← θ − η·∇L,其中 η 为学习率,∇L 为损失对参数的梯度。
  • 过大的后果:更新步幅超过损失曲面曲率,参数在谷底两侧震荡甚至发散,训练失败。
  • 过小的代价:收敛极慢,容易陷入鞍点(saddle point),浪费算力。
  • 无普适最优值:合适的 η 依赖于模型规模、批大小、优化器及数据分布,须针对具体设置调整。
  • 最重要的超参数之一:业界普遍认为 η 对训练结果的影响超过大多数网络结构选择。

工作原理

现代训练几乎不使用固定学习率,而是通过调度器(scheduler)动态调整以兼顾速度与稳定性。

  • Warmup(预热):训练初期数百至数千步将 η 从极小值线性升至目标值,防止随机初始化带来的大梯度导致参数早期严重偏移;GPT 系列、LLaMA 系列均采用此策略。
  • 余弦退火(Cosine Annealing):预热后 η 按余弦曲线平滑降至接近零,避免阶梯衰减的突变,是大语言模型(LLM)预训练的事实标准。
  • 自适应优化器AdamAdamW 等为每个参数维护独立的自适应步长(基于一阶矩与二阶矩估计),使全局 η 的作用被局部缩放,但 η 本身仍是关键旋钮。
  • 梯度累积的影响:批大小翻倍时,每步梯度估计噪声降低,通常需按线性缩放规则同步翻倍 η,但极大批大小下该规则会失效。

调度策略与变体

不同任务和规模对调度策略的需求各异,以下是主流选项。

  • 线性衰减(Linear Decay):η 从目标值线性降至零,实现简单,BERT 微调早期广泛使用。
  • 余弦退火(Cosine Annealing):曲线平滑、无需手动设置衰减节点,大规模预训练首选;变体「带热重启的余弦退火(SGDR)」在衰减结束后重新升温,有助于跳出局部极小,Loshchilov & Hutter 发表于 ICLR 2017
  • 阶梯衰减(Step Decay):每隔固定 epoch 将 η 乘以衰减因子(如 0.1),常见于 ResNet 等图像分类任务,简单粗暴。
  • 循环学习率(Cyclic LR)Leslie Smith(2017 前后) 提出,周期性升降 η 帮助模型探索更广的参数空间,适合中小规模实验。
  • Warmup + Cosine:二者组合已成 LLM 训练标配,warmup 步数通常为总步数的 1%–5%。

应用场景

不同训练阶段和任务对学习率的需求存在显著差异。

  • 大模型预训练:η 通常设在 1e-4 至 3e-4 之间,配合余弦衰减到 η/10 量级;GPT-3 峰值 η 约为 6e-5,LLaMA-2 约为 3e-4。
  • 全量微调(Full Fine-tuning):η 比预训练低一到两个数量级(常见 1e-5 至 5e-5),过高会导致灾难性遗忘(catastrophic forgetting)。
  • 参数高效微调(PEFT / LoRA):可训练适配器部分可使用相对较高的 η(如 1e-4),主干参数冻结,需独立调整。
  • RLHF 的 PPO 阶段:对 η 极为敏感,过高的 η 会导致策略崩溃(policy collapse),通常远低于预训练量级。
  • 图像分类ResNet 等经典模型常以 0.1 起步配合阶梯衰减,与 NLP 场景差异较大。

与相邻概念的区别

学习率常与其他优化超参数并列讨论,理解其差异有助于整体调参。

  • η vs 动量(Momentum):动量决定历史梯度对当前更新的影响权重,与 η 协同作用;动量越大等效步长越大,此时往往需适当降低 η。
  • η vs 权重衰减(Weight Decay):权重衰减是正则化手段(每步微缩参数值),AdamW 将其与自适应学习率解耦,使正则化效果更稳定,优于原始 Adam 的 L2 实现。
  • η vs 批大小(Batch Size):批大小影响梯度估计的噪声水平(间接影响收敛动态),η 决定步长;二者强耦合,不可单独孤立调优。
  • 全局 η vs 逐层 η:分层学习率策略(Layer-wise LR)对不同层设不同 η,如微调时底层用更小 η 以保留预训练特征,顶层用更大 η 适应下游任务。

局限与常见误区

即便了解基本原理,实践中仍有若干高频陷阱。

  • 直接沿用他人默认值:不同批大小、模型规模下最优 η 差异极大,盲目复用论文或开源代码的默认值是最常见失误。
  • 忽视 warmup 必要性:跳过 warmup 直接用大 η 启动大参数量模型,极易出现训练初期损失剧烈抖动乃至 NaN。
  • 只看训练损失:更可靠的信号是验证集损失梯度范数(gradient norm);梯度范数持续偏大通常意味着 η 过高。
  • 误以为自适应优化器无需调 η:Adam / AdamW 降低了对 η 精确值的敏感度,但并不消除调参需求,选错量级同样影响显著。
  • 衰减过早或过激:学习率过早降到极低值,模型在训练末期几乎无法继续学习,造成算力浪费。

发展脉络

学习率研究随深度学习的演进持续深化,从固定值到自适应再到精密调度。

  • 1986Rumelhart、Hinton、Williams 在反向传播论文中使用固定 η,奠定现代学习率概念基础。
  • 2011Duchi 等 提出 Adagrad,首次实现逐参数自适应学习率,适合稀疏梯度场景。
  • 2012Hinton 在课程中提出 RMSProp,引入梯度平方的指数移动平均,稳定自适应步长。
  • 2015Kingma & Ba 在 ICLR 2015 正式发表 Adam 论文(2014 年挂出预印本),结合一阶矩与二阶矩估计,成为深度学习最广泛使用的优化器。
  • 2017Loshchilov & Hutter 在 ICLR 2017 上发表带热重启的余弦退火(SGDR),cosine decay 由此进入主流。
  • 2017Facebook Research 在 ImageNet 大规模实验中验证线性缩放规则,批大小与 η 的关系被系统化。
  • 2019Loshchilov & Hutter 提出 AdamW,将权重衰减与自适应 η 解耦,成为 LLM 预训练标配优化器。

常见误解

日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。

  • 「每次更新走多大步」
  • 「机器学习基础概念」
  • 「跟 学习率 是一回事吗」

相关术语

和本术语关联紧密的其他词条,便于串联理解。

🎯 考点练习

含该术语的高频面试题,含标准答案与追问。

延伸阅读

从知识库精选 2 篇文章,帮助深入理解该术语。

  1. 1

    反向传播:神经网络如何学习

    深入理解反向传播算法的数学原理、计算图实现和训练中的关键问题

  2. 2

    机器学习基础:从线性模型到决策树

    机器学习入门必读。涵盖线性回归、逻辑回归、决策树、KNN、SVM 等核心算法,从数学原理到 Python 实战,配合对比表格和可视化图解,帮你建立完整的 ML 知识框架。

外部参考

维基百科:查看「学习率」词条

本页内容为本站原创撰写;维基百科链接仅作延伸参考。