看懂训练曲线:loss 在说什么

10 分钟

训练时屏幕上滚动的数字

代码跑起来,屏幕上一行行滚动着 loss 和 accuracy。别嫌它们枯燥——这是模型在给你「汇报病情」,学会读这两行数,你就学会了深度学习里最重要的一门手艺。

loss:错题扣分单

loss(损失)衡量「模型现在错得有多离谱」,越小越好。理想情况下它应该像下山一样一路走低。几种常见走势各有各的病:

  • 稳步下降:一切正常,继续等
  • 不降反升、甚至变成天文数字:学习率太大,步子迈过了山谷又弹回来,越弹越远。把学习率调小十倍再来
  • 一动不动:学习率太小,或者代码里梯度根本没回传。先检查再调参
  • 剧烈抖动:小批量的正常颠簸,抖而不降才是问题

accuracy:考了多少分

分类任务里 accuracy 是「答对的比例」。注意书里同时画两条:训练集分数和测试集分数。训练分一路涨、测试分却原地踏步甚至下跌,就是第一章说的过拟合——模型在背题,不是在学本事。

常见误区

只看最后那个数字,不看曲线形状。同一个「最终 loss 0.1」,一条是平滑降下来的,一条是震荡三天撞运气的,后者换个数据就露馅。

练一练:跑书里任意一个训练代码,把 loss 曲线截图,用一句话描述它的形状,再说说你觉得正常不正常。

小纸条

观察一次训练的 loss 曲线,回答:它是在下山、在平地上走,还是在爬坡?

登录 后可看答案