Ch.03
学习率调度:适时放慢脚步
想象蒙眼从山顶走向谷底。起初大步快走很高效;但接近谷底时,若仍迈大步,会越过最低点,在对岸坡面来回震荡。
Ch.02 的优化器像指南针决定往哪走;Ch.03 的学习率调度器是刹车与油门,决定何时缩小步幅。先宽步探索,接近目标时小步精准落地,释放模型全部潜力。
Ch.02 优化器=指南针(方向),Ch.03 调度器=刹车·油门(步幅)。学习率曲线对比。
固定StepCosineWarmup+Cosine
循环展示 固定→Step→Cosine→Warmup+Cosine,圆点表示当前步幅。
一步顺序:查误差 → 迈步 → 定下一步幅
调度器每 epoch/步 设定下一步幅
- ① 固定学习率 — 全程同一步幅,后期可能越过最小值
- ② Step decay — 在 30/60/90 等 epoch 大幅减速
- ③ Cosine — 平滑减速,长训·文字 AI 常用
- ④ Warmup+Cosine — 预热后平滑下降,与 Ch.02 优化器绝配
学习率调度:适时放慢脚步
1. 什么是学习率调度?(固定步幅的陷阱)
概念: Ch.02 优化器定方向,调度则按时间调整步幅(学习率 )。每步的 不同,一步的大小也会变。
比喻: 下山先走大路大步,接近谷底再小步精准落地。全程固定 则前期慢、后期易越过最小值并持续振荡。
实践: Ch.02 定方向后,Ch.03 是时间维度的步幅设计。在笔记里同时记下“步幅·误差”,可一眼看出减速时机与成绩反应。
2. 阶梯衰减:咔嗒踩刹车
概念: 在指定区间将 大幅降低,常为 ×0.1()。可在 30·60·90 等多个时点分别衰减。
比喻: 电梯到固定楼层就减速。“何时”减速定好,其余交给调度器。
实践: 像图像分类那样长时间训练时常用。 过小或过早 → 学不够。请记录衰减次数与时机。
3. 平滑减速与 Warmup:预热
概念: 余弦平滑降低 ,利于后期微调。Warmup 仅在初期从 0 缓升到目标,避免初期过大 的冲击。
比喻: 余弦像过山车平稳停下;Warmup 像冷天预热引擎。
实践: 文字 AI·图像 AI 等大模型常用 预热 + 平滑减速。Warmup 常为总训练的 5~10%,与 Ch.02 优化器搭配可抑制初期误差乱跳。
4. Plateau 与 OneCycle
概念: Plateau 看考试成绩(验证损失/准确率)。patience 个区间无改善则 (如 0.1)。OneCycle 在短训中先升后降 。
比喻: Plateau 只在堵车时导航减速;OneCycle 像短跑冲刺后平滑停止。
实践: 数据/模型规模不确定时 Plateau 较稳妥。OneCycle 适合短练习。与 Ch.02 优化器搭配,方向与速度齐备。
调度器速览
Step / MultiStep — 每 N 个区间(时点):。 常为 0.1。长时间训练常用的阶梯衰减。
Cosine Annealing — 。平滑后期微调。
Warmup — 初期 步: 缓慢上升。缓解大模型初期误差乱跳。
ReduceLROnPlateau — patience 个 epoch 验证无改善:。“卡住时才”刹车。
为什么重要
1. 相同训练时间,更好结果
好调度常在相同时间内得到更低误差、更高精度。后程减速可精准落地,节省训练时间与实验轮次。
2. 补全 Ch.02 优化器的“另一半”
优化器定方向与各处步幅,随时间缩小整体步幅是调度器职责。无 Warmup + 大初期 → 误差爆炸;无后期减速 → 在最小值附近永远绕圈。
3. 成绩不涨时先看这张图
步幅(LR)曲线 完全平坦(━) → 调度未更新或时机错误;过早急降 → 学不够;一直偏高 → 后期振荡。与 Ch.02 的 lr、优化器优先联查。
如何使用
① 开头·中间·结尾 — 步幅要变
逛陌生城镇:大街→小巷→门口一步步。训练分 探索→收敛→落地 三幕。前期大 广撒网,中期刹车,后期小 精修。调度器是当前第几幕的计时器。
② 各调度器性格不同 — 按场景选
Step=固定时点猛减速(长训)。Cosine=平滑后期(文字 AI 等)。Warmup=初期预热(大模型)。Plateau=成绩停滞才介入。OneCycle=短练习。
③ 一步的黄金顺序 — 顺序错了调度就不生效
① 看误差/损失有多陡 → ② Ch.02 优化器迈一步 → ③ 调度器定下一步幅。Plateau 看验证成绩,卡住才刹车。
④ 学习率与损失曲线一起看
损失停滞后刚缩小步幅就“瀑布式”下降,说明调度有效。过早减速可能学不够。
症状应对: 初期误差乱跳 → Warmup;后期锯齿 → Cosine/Step/Plateau;LR 平坦(━) → 查调度是否更新。做笔记。
总结
一句话: 学习率调度按进度调整步幅(),兼顾前期探索与后期精准落地。
主要调度器: Step、Cosine、Warmup、Plateau、OneCycle — 按场景选用。
点检(症状→优先检查)
- 初期误差乱跳:降低步幅、Warmup
- 后期锯齿/不收敛:Cosine/Step/Plateau、、patience
- 步幅曲线平坦(━):调度未更新、区间混淆
- 仅成绩停滞:Plateau、数据·模型设置
调参顺序: 1) 误差·步幅笔记 → 2) 基本步幅+Warmup → 3) Ch.02 优化器 → 4) 调度 → 5) 一次只改一项
Ch.02 优化器(指南针) + Ch.03 调度器(刹车·油门) = 日常标配。
解题说明
学习率调度在 Ch.02 优化器定方向的前提下,按时间或验证成绩调整步幅。Step 阶梯衰减、Cosine 平滑减速、Warmup 初期抬高步幅、Plateau 仅在停滞时介入。一步循环:查误差 → 移动 → 定下一步幅;Plateau 需看验证成绩。初期误差乱跳 → Warmup;后期锯齿 → Cosine/Step/Plateau;步幅曲线平坦 → 调度未更新。
例(定义)
"阶梯衰减中每 N 个区间乘以 的系数叫什么?
① patience
② gamma
③ beta"
衰减系数是 (gamma)。 → 答案 2
例(应用)
"文字 AI 训练初期误差不稳定。与 Ch.02 优化器一起应优先检查哪种组合?
① 预热 + 平滑减速
② 无限增大
③ 仅移除调度器"
初期不稳定 → 优先尝试 预热 + 平滑减速。 → 答案 1
例(计算)
, , Step 衰减 2 次 后 (×1000, 整数)是?
→ ×1000 = 1。 → 答案 1
定义例 — "Warmup 的主要目的是?
① 数据增强
② 缓解初期大学习率导致的不稳定
③ 权重置零" → Warmup 在初期缓慢提高 以减轻冲击。 答案 2
判断例 — "ReduceLROnPlateau 使用验证指标。" → 正确。 答案 1
应用例 — "验证损失连续 5 个 epoch 未改善" → Plateau 在验证停滞时介入。 答案 1
选择例 — "哪种更接近后期平滑减速?
① 仅 StepLR
② CosineAnnealing" → Cosine 沿 cos 曲线平滑减速。 答案 2
概念例 — "Ch.02 优化器 + Ch.03 调度组合常见的原因?
① 方向选择与时间步长调节互补
② 替代反向传播" → 优化器与调度器互补。 答案 1
计算例 — "128 样本、batch 32 时每个 epoch 步数(整数)?" → 。 答案 4