手动实现神经网络反向传播的流程

1. 看这行是什么运算(@ / 逐元素 / 广播 / 索引)

2. 接住上游梯度(比如 dhpreact)

3. 按对应规则算局部梯度:

  • @ → 转置相乘,用形状凑
  • 逐元素 → 逐元素乘局部导数
  • 广播 → 算完再 sum 回原形状
  • 分叉/复用 → 多路梯度 相加

4. 检查:算出的梯度形状 == 原变量形状?不对就返工

5. 用cmp()验证 == PyTorch 的结果?

posted @ 2026-07-16 13:30  johnny_zhao  阅读(4)  评论(0)    收藏  举报