LESSON 2.6 · 推导 · 150 分钟

手工反传:成为 Backprop Ninja

手工反传:成为 Backprop Ninja:理解cross entropy、tanh、BatchNorm 的张量级反传,完成“不调用 backward 完成整网反传”。属于「语言如何变成概率」学习阶段。

学完你应该能够

  1. 能不用术语堆砌,解释「手工反传:成为 Backprop Ninja」解决了什么问题。
  2. 能围绕 cross entropy、tanh、BatchNorm 的张量级反传 画出变量与因果关系。
  3. 能完成「不调用 backward 完成整网反传」,并用证据而不是感觉判断结果。

核心概念

cross entropy

cross entropy最终都要回答它怎样改变下一个 token 的条件分布,以及这种改变如何被 NLL 观测。 先给它一个可操作的定义,并指出它解决的具体问题。

tanh

tanh决定信号与梯度能否穿过网络。观察均值、方差和饱和比例比只看 loss 更早发现问题;激活分布一旦挤在平坦区,前层几乎收不到学习信号。

BatchNorm 的张量级反传

BatchNorm 的张量级反传控制深层网络中的数值尺度。目标不是让所有值都一样,而是让每层前向激活与反向梯度处在可学习范围,同时区分训练期统计与推理期行为。

实践任务

不调用 backward 完成整网反传

  • 预测:在运行代码前,写下你预期的输出、趋势或失败位置。
  • 构建:写出已知量与目标量,只保留回答核心问题所需的最小组件。
  • 验证:使用计数基线、困惑度、encode/decode 往返与未见样本;保存参数、随机种子与原始结果。
  • 迁移:更换语言、词表或上下文长度后解释性能变化,说明原结论是否仍成立。

进入完整互动课程