6.11 学习率调度的艺术
学习率(Learning Rate, LR)是训练神经网络最重要的超参数之一。它决定了每一步参数更新的幅度:太大,跳过最优点甚至发散;太小,训练慢得像蜗牛。学习率调度(LR Schedule)就是让学习率在训练过程中动态变化,在不同阶段使用不同的步长。
6.11.1 从常数到余弦退火:四种经典策略
1. 常数学习率(Constant LR)
最简单的做法:从头到尾用同一个学习率。2012年AlexNet就是这么干的。问题是:训练初期需要大步长快速接近最优区域,训练后期需要小步长精细调参——常数学习率两头不讨好。现在几乎没人用了。
2. 阶梯衰减(Step Decay)
每隔固定步数,学习率乘以一个衰减因子(如0.1)。例如:初始LR=0.1,每30个epoch降为原来的1/10。优点是简单直观,缺点是衰减时机是人为设定的,不一定对齐模型的真实需求——可能在模型还在快速进步时突然降了学习率,也可能在平台期还维持着过大的学习率。
3. 余弦退火(Cosine Annealing)
让学习率按余弦曲线从初始值平滑降到接近0。公式:lr(t) = lr_min + 0.5*(lr_max - lr_min)*(1 + cos(π*t/T))。相比阶梯衰减,余弦退火更平滑,而且训练后期学习率会非常小,可以做精细的最终收敛。2018年之后逐渐成为CV领域的主流选择。
4. Warmup + Cosine(预热+余弦退火)
在训练最开始(通常是前几千步),学习率从0线性增长到目标值(预热阶段),然后再按余弦曲线衰减。预热阶段解决了两个问题:
- 训练初期模型参数是随机的,梯度方向不稳定,用大学习率容易”跑偏”
- 大batch训练时,前几步的梯度估计方差很大,需要小学习率缓冲
Warmup + Cosine 是2026年Transformer训练的事实标准。GPT-3、Llama、Chinchilla等所有主流LLM都使用这个策略。
6.11.2 策略对比
| 策略 | 收敛速度 | 最终效果 | 调参难度 | 2026年使用场景 |
|---|---|---|---|---|
| 常数 | 慢 | 一般 | 低 | 几乎不用 |
| 阶梯衰减 | 中 | 中等 | 中(需要设衰减时机) | 教学实验、快速原型 |
| 余弦退火 | 快 | 好 | 低 | CV模型训练 |
| Warmup+Cosine | 快 | 最好 | 低(固定套路) | Transformer/LLM标配 |
| 循环学习率(OneCycleLR) | 最快 | 好 | 中 | 计算资源有限时的快速实验 |
6.11.3 2026年Transformer训练标配
一个标准的LLM训练学习率配置长这样:
最大学习率:3e-4(或根据batch size和模型大小微调)
预热步数:前 2000 步从 0 线性增长到 3e-4
衰减策略:余弦退火,最终降到 3e-5(最大值的 1/10)
优化器:AdamW(Adam + 权重衰减)
这个配置经过了从GPT-2(2019)到Llama 4(2026)的多次大规模验证,基本上可以”拿来就用”。如果你不确定该用什么学习率策略,Warmup+Cosine+AdamW就是2026年的安全默认值。
← 上一节:6.10 反向传播:怎么让模型变好 | 下一节:6.12 2026年:从零手写神经网络还有意义吗 →