🧠AI 冷知识
你知道吗?
这些有趣的 AI 小知识可能让你大吃一惊
💡
概念PyTorch的autograd用"磁带"(tape)记录前向计算,反向播放时自动求导。神奇的是,你甚至可以对梯度再求导(高阶导数)——autograd会递归地构建梯度的计算图。这种"自动微分"比数值微分精确得多,是深度学习框架的核心魔法。
一句话总结
💡
autograd 通过记录运算构建动态计算图,在反向传播时自动沿图求导,无需手动推导梯度公式。
常见误区
这些坑别踩
✗
误区 1
调用 backward() 后会自动清零梯度。
✓
正确理解
梯度默认会累加,需手动调用 optimizer.zero_grad() 清零,否则会与上一步梯度叠加导致更新方向错误。
✗
误区 2
反向传播前必须保留所有中间变量。
✓
正确理解
默认只保留计算梯度所需的中间结果;不需要梯度的 Tensor 可设置 requires_grad=False 减少开销,autograd 会自动释放非必要中间结果。
✗
误区 3
任何操作都能被 autograd 跟踪。
✓
正确理解
原地操作(in-place)、numpy() 转换、detach() 等会断开计算图;需要梯度时需避免这些操作或使用受限方式。