拿下技术面上传简历

你在 CIFAR-10 上训练 ResNet-18,batch=128,SGD momentum=0.9,weight_decay=5e-4,初始 lr=0.1。比较三种调度:(A) 常数 0.1;(B) StepLR 每 30 epoch 乘 0.1,共 100 epoch;(C) CosineAnnealing 从 0.1 退火到 0,共 100 epoch。结果 B 和 C 最终训练 loss 相近,但 B 测试精度更高,C 后半程训练 loss 更低。请问:为什么降低学习率通常能提升最终测试精度?B 和 C 的差异可能来自哪里?如果 C 后半程训练 loss 更低但测试没更好,你会先怀疑什么?

机器学习基础优化算法校招知识点 1 个

面试官在考什么

判断是否理解学习率调度同时影响优化精度和泛化,以及训练 loss 低不等于测试好。

学习率调度

回答框架 · 前两步

  1. 训练后期降低 lr 可以减小参数更新噪声和步长,使模型在损失盆地内更稳定地精调,通常有利于最终精度;高 lr 长期探索可能无法收敛到较好的局部区域。
  2. StepLR 在固定 epoch 突降,前期保持高 lr 探索,后期低 lr 精调;Cosine 平滑连续下降,后期 lr 非常小甚至到 0,可能更充分拟合训练集。

还有 2 条答案要点、 3 层追问、 4 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

延伸阅读

想看这个方向的整体准备路线? 进入「机器学习基础」方向页

同一能力域的其他题