20 · 损失函数 · 误差量尺之道
一、一句话理解
模型的答案和正确答案差多远,损失函数就是那把量尺。
二、展开理解
想象你在练习投篮:
- 每次投完,有人告诉你"偏左了10cm"——这个10cm就是损失值
- 损失越小 = 投得越准
- 训练的目标,就是让损失值不断减小
三、两种常见损失函数
| 名称 | 用在哪 | 直觉理解 |
|---|---|---|
| MSE 均方误差 | 回归任务(预测数字) | 把每个误差平方再取平均,惩罚大误差 |
| Cross Entropy 交叉熵 | 分类任务(预测类别) | 衡量预测的概率分布和真实分布差多远 |
大语言模型用的就是 Cross Entropy——每次预测下一个 Token,看预测对不对。
四、工作逻辑
损失函数是模型训练的指挥棒:
- 模型给出预测结果
- 损失函数计算和正确答案的差距
- 反向传播根据损失值调整模型参数
- 循环往复,直到损失值不再下降,模型训练完成
没有损失函数,模型就不知道自己预测得对不对,根本无法学习。
五、易经映射
每次占卜之后,对照实际发生的结果,看之前的判断差了多少,下次占卜时就调整自己的解卦思路,越来越准。 损失值就是占卜结果和实际结果的差距,训练就是不断校准解卦思路的过程。
六、核心特点
- 可微分:必须能计算梯度,才能进行反向传播调整参数
- 非负:误差不可能是负的,预测对了损失为0
- 单调性:误差越大,损失值越高,引导模型朝减小误差的方向走
补充学习:生活化类比
损失函数就像考试的打分老师:
- 你答题(模型预测)
- 老师对照标准答案批改,给你打分(计算损失值)
- 你看错题改,下次争取考更好(模型调整参数)
- 满分(损失为0)就是完全预测正确
补充学习:为什么大模型用交叉熵?
大语言模型每次预测下一个词,本质是分类任务:几万个词里选哪个是对的。交叉熵特别适合这种场景:
- 对预测错误惩罚大:正确词预测概率越低,损失值飙升越快
- 梯度合适:不会出现梯度消失或爆炸,训练更稳定
- 直接对应概率:和模型输出的概率分布天然适配,计算高效
补充学习:常见误区澄清
❌ 误区:损失值越低模型一定越好 ✅ 真相:训练集损失很低但测试集损失很高,就是过拟合了,模型背下来了训练数据但不会举一反三,反而不好。
❌ 误区:所有任务都用同一种损失函数 ✅ 真相:不同任务目标不一样,需要选对应的损失函数。比如预测房价用MSE,图片分类用交叉熵,生成对抗网络用GAN专用损失。
❌ 误区:损失值到0才是最好的 ✅ 真相:真实场景里几乎不可能达到损失为0,而且强行追求0损失很容易过拟合,只要验证集损失不再下降就可以停止训练了。