bobofamilyNIU CHUN
标签10

#反向传播

2026-09-20·—阅读·—点赞·跟着 AI 学 AI

差 0.0001:二十六步压成六组,手写的梯度训出了同一个模型

前三篇把 loss 到每个参数的二十六步全推了一遍,但那是打开黑盒逐步走。这一篇把黑盒合回去:交叉熵的八步压成一行、BatchNorm 的十步压成一行,用的是同一个方法 —— 数一数变量在前向里出现几次,反向就有几项。压完撤掉 backward() 训 20 万步,val loss 2.1105,而 PyTorch 训的是 2.1106。

2026-09-18·—阅读·—点赞·跟着 AI 学 AI

看着对的那一行:96 次查表落在 27 行上,和 Ex1 收官

最后五步,没有分叉点,前三步是上一篇的复制粘贴。真正新的是后两步:view 的反向为什么就是它自己的逆操作(判据只有一条 —— 数的个数变没变),以及 dC[Xb] += demb 这行看着完全正确的代码为什么是错的。跑完这五步,4137 个参数的梯度全部手算出来。

2026-09-18·—阅读·—点赞·跟着 AI 学 AI

同一个偏差,既当分子又去造分母:BatchNorm 反向的十三步

上一篇停在 logits —— 那是网络的边界,八步里一个参数都没碰到。这一篇往里走十三步,参数第一次出现。而 BatchNorm 那九步之所以是全集最绕的一段,原因和 softmax 是同一个:归一化的分子必须先被拿去造分母。顺带遇到第一个「系数不是 1」的求和反向,以及一个只差 3% 的错 —— 它的 maxdiff 小到像浮点误差。