Skip to content

20 · 损失函数 · 误差量尺之道


一、一句话理解

模型的答案和正确答案差多远,损失函数就是那把量尺

二、展开理解

想象你在练习投篮:

  • 每次投完,有人告诉你"偏左了10cm"——这个10cm就是损失值
  • 损失越小 = 投得越准
  • 训练的目标,就是让损失值不断减小

三、两种常见损失函数

名称用在哪直觉理解
MSE 均方误差回归任务(预测数字)把每个误差平方再取平均,惩罚大误差
Cross Entropy 交叉熵分类任务(预测类别)衡量预测的概率分布和真实分布差多远

大语言模型用的就是 Cross Entropy——每次预测下一个 Token,看预测对不对。

四、工作逻辑

损失函数是模型训练的指挥棒:

  1. 模型给出预测结果
  2. 损失函数计算和正确答案的差距
  3. 反向传播根据损失值调整模型参数
  4. 循环往复,直到损失值不再下降,模型训练完成

没有损失函数,模型就不知道自己预测得对不对,根本无法学习。

五、易经映射

每次占卜之后,对照实际发生的结果,看之前的判断差了多少,下次占卜时就调整自己的解卦思路,越来越准。 损失值就是占卜结果和实际结果的差距,训练就是不断校准解卦思路的过程。

六、核心特点

  • 可微分:必须能计算梯度,才能进行反向传播调整参数
  • 非负:误差不可能是负的,预测对了损失为0
  • 单调性:误差越大,损失值越高,引导模型朝减小误差的方向走

补充学习:生活化类比

损失函数就像考试的打分老师:

  • 你答题(模型预测)
  • 老师对照标准答案批改,给你打分(计算损失值)
  • 你看错题改,下次争取考更好(模型调整参数)
  • 满分(损失为0)就是完全预测正确

补充学习:为什么大模型用交叉熵?

大语言模型每次预测下一个词,本质是分类任务:几万个词里选哪个是对的。交叉熵特别适合这种场景:

  1. 对预测错误惩罚大:正确词预测概率越低,损失值飙升越快
  2. 梯度合适:不会出现梯度消失或爆炸,训练更稳定
  3. 直接对应概率:和模型输出的概率分布天然适配,计算高效

补充学习:常见误区澄清

❌ 误区:损失值越低模型一定越好 ✅ 真相:训练集损失很低但测试集损失很高,就是过拟合了,模型背下来了训练数据但不会举一反三,反而不好。

❌ 误区:所有任务都用同一种损失函数 ✅ 真相:不同任务目标不一样,需要选对应的损失函数。比如预测房价用MSE,图片分类用交叉熵,生成对抗网络用GAN专用损失。

❌ 误区:损失值到0才是最好的 ✅ 真相:真实场景里几乎不可能达到损失为0,而且强行追求0损失很容易过拟合,只要验证集损失不再下降就可以停止训练了。