预训练工程模块四 · 预训练任务计算约 12 分钟
困惑度与语言建模损失
把交叉熵翻译成「模型有多迷茫」
学完这节你能:
- 掌握困惑度(perplexity)的定义
- 由交叉熵算困惑度
- 理解困惑度的直觉含义
语言模型好不好,最常用的内在指标是困惑度。它就是交叉熵损失取指数——数值越小,模型对下一个词越「不迷茫」。
以 e 为底(若损失用自然对数);困惑度可理解为「平均每步在多少个词里纠结」。
▪ 手算
若平均交叉熵损失 = 2.0(nats)
困惑度 = e² ≈ 7.39
含义:模型平均像在约 7.4 个候选词里犹豫。损失降到 1.0 → 困惑度 e≈2.72,明显更确定。
🔑 两条直觉:① 困惑度 = 1 表示完美预测(毫不迷茫);② 均匀猜 V 个词的困惑度就是 V。所以困惑度可看作「有效候选数」。
▪ 均匀猜的困惑度就是候选数
若模型对 V=10000 个词完全没偏好(均匀猜)
交叉熵 = ln(10000) ≈ 9.21
困惑度 = e^9.21 ≈ 10000 = V
→ 印证「困惑度=有效候选数」;模型学得越好,困惑度越远小于 V
自测若语言模型的平均交叉熵损失为 0(自然对数),其困惑度为:
// 带走一句话
困惑度=exp(交叉熵),可理解为「平均在多少候选词里纠结」;越小越好,1 为完美。
独立练习
做到这些,才算完成本节
- 替换例题中的数值,从头独立算一遍。
- 用数量级、边界值或反向计算检查结果是否合理。
学习记录
记录本节阅读进度
建议先独立回答自测。读完记录不等于已经掌握。