cross-entropy — 闪卡
交叉熵只看一件事:你给正确答案打的那个概率,有多"意外"。打了 0.9 罚一点点,打了 0.01 罚一大笔,打 0 罚到无穷。模型训练从头到尾就是在把这个罚分往下压。
记忆口诀
- 罚分只看正确答案那一格
- 罚多少 = 那一格有多"意外"(对数取负)
- 押对了几乎不罚,押离谱了罚一大笔,押 0 罚到破产
- 训练全程就干一件事:把罚分往下压
- 但压到 0 反而是坏消息 —— 那是在背书
Card 1
Q: 算交叉熵时,要看几个数?
A: 只看一个:你押给正确答案的那个概率。其余格子看都不看。
Card 2
Q: 为什么只看一格就够了?
A: 因为所有格子加起来正好是一整块蛋糕——给别的押多了,必然意味着给正确答案押少了。这件事已经体现在那一格里了。
Card 3
Q: 罚分怎么算?
A: 把你押给正确答案的概率取对数、加负号——就是上一篇讲的"意外程度"。正确答案在你眼里越不可能,罚得越狠。
Card 4
Q: 罚分曲线是什么形状?
A: 右缓左陡。押 0.9 再往上提没多少好处;押 0.01 稍微改改就能省一大笔——错得越离谱,改进收益越大。
Card 5
Q: 交叉熵是"预测减答案"吗?
A: 不是,是对数取负。减法封了顶(再离谱也只罚 1),于是押 0.01 和押 0 在它眼里差不多——可这两件事天差地别。
Card 6
Q: 押 0 会罚多少?为什么这么狠?
A: 无穷大。因为"我估得低"和"我认定不可能"是两码事。罚无穷等于警告:永远别把话说死。
Card 7
Q: 模型会真的踩到"押 0"这个雷吗?
A: 不会。softmax 出来的数永远是正的(指数保证的),不可能有哪个格子恰好是 0,天然躲开了这个雷。
Card 8
Q: 模型训练在干什么?
A: 循环四步:押注 → 揭晓 → 算罚分 → 微调参数让下次罚分更小。几万亿次下来,"懂中文"是躲罚分躲出来的副产品。
Card 9
Q: 损失降到 0 是不是最理想?
A: 恰恰相反,是出问题了。那意味着模型认定每个字"只可能是这一个"。可"今天天气真__"接好、接糟糕都对——它在背书不是学规律。
Card 10
Q: 非正确项的预测真的不影响罚分吗?
A: 影响,只是间接影响。所有格子抢同一块蛋糕,给错误项押高了会让正确答案那格变小,照样挨罚。所以"打压错误项"和"抬高正确项"是同一个动作的两面。