拿下技术面上传简历

你用 torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0) 训练一个模型,在某一步打印出裁剪前的全局梯度范数是 30。请回答:(1) 这一步的参数更新相比不裁剪时被缩小了多少倍;(2) 如果训练中绝大多数 step 的梯度范数都在 20~50 之间、始终被截断到 1,模型实际上等效于在用什么学习率;(3) 这种情况你会怎么判断是该调大 max_norm,还是该去查别的问题。

深度学习基础训练工程校招知识点 1 个

面试官在考什么

是否理解按范数裁剪是“全局范数等比缩放”而不是逐元素截断,以及裁剪与学习率之间的耦合关系。

梯度裁剪

回答框架 · 前两步

  1. 裁剪是全局的:把所有参数的梯度拼成一个向量求 L2 范数得到 total_norm,再按 max_norm/total_norm 对全部梯度等比缩放,方向不变、只缩步长。
  2. total_norm=30、max_norm=1,所有梯度被统一乘 1/30,等效于这一步的学习率被缩小了 30 倍。

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

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

延伸阅读

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

同一能力域的其他题