LESSON 0.4 · 理论 · 110 分钟
概率、信息量与交叉熵
概率、信息量与交叉熵:理解条件概率、期望、熵、KL 散度、最大似然,完成“从计数分布推导并计算 NLL”。属于「进入模型之前」学习阶段。
学完你应该能够
- 能不用术语堆砌,解释「概率、信息量与交叉熵」解决了什么问题。
- 能围绕 条件概率、期望、熵 画出变量与因果关系。
- 能完成「从计数分布推导并计算 NLL」,并用证据而不是感觉判断结果。
核心概念
条件概率
条件概率把不确定性写成可比较的数。语言模型学习的是 p(next token | context);最大似然要求模型把真实序列分配到更高概率,而不是直接“记住答案”。
期望
期望要落在一个可手算的小例子上:写清输入、运算、输出与单位,再用代码对拍。 把它放进前后依赖中:输入从哪里来,输出会改变谁。
熵
熵把概率预测变成可相加的代价。负对数会重罚模型对真实答案给出极低概率;交叉熵等于数据熵加上分布错配,因此优化时真正能降低的是错配部分。
KL 散度
KL 散度把概率预测变成可相加的代价。负对数会重罚模型对真实答案给出极低概率;交叉熵等于数据熵加上分布错配,因此优化时真正能降低的是错配部分。
最大似然
最大似然把不确定性写成可比较的数。语言模型学习的是 p(next token | context);最大似然要求模型把真实序列分配到更高概率,而不是直接“记住答案”。
实践任务
从计数分布推导并计算 NLL
- 预测:在运行代码前,写下你预期的输出、趋势或失败位置。
- 构建:从具体反例建立动机,只保留回答核心问题所需的最小组件。
- 验证:使用手算结果、NumPy/PyTorch 对拍与边界输入;保存参数、随机种子与原始结果。
- 迁移:换一个 shape、dtype 或数据分布后重新预测结果,说明原结论是否仍成立。