知了AI学习平台Logo知了
🧠AI 冷知识

你知道吗?

这些有趣的 AI 小知识可能让你大吃一惊

💡
概念

PyTorch的autograd用"磁带"(tape)记录前向计算,反向播放时自动求导。神奇的是,你甚至可以对梯度再求导(高阶导数)——autograd会递归地构建梯度的计算图。这种"自动微分"比数值微分精确得多,是深度学习框架的核心魔法。

一句话总结
💡

autograd 通过记录运算构建动态计算图,在反向传播时自动沿图求导,无需手动推导梯度公式。

常见误区

这些坑别踩

✗

误区 1

调用 backward() 后会自动清零梯度。

✓

正确理解

梯度默认会累加,需手动调用 optimizer.zero_grad() 清零,否则会与上一步梯度叠加导致更新方向错误。

✗

误区 2

反向传播前必须保留所有中间变量。

✓

正确理解

默认只保留计算梯度所需的中间结果;不需要梯度的 Tensor 可设置 requires_grad=False 减少开销,autograd 会自动释放非必要中间结果。

✗

误区 3

任何操作都能被 autograd 跟踪。

✓

正确理解

原地操作(in-place)、numpy() 转换、detach() 等会断开计算图;需要梯度时需避免这些操作或使用受限方式。