You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

理解PyTorch反向传播:示例代码梯度输出结果求分步解释

PyTorch标量自动求导结果推导

你看到的梯度结果本质是目标函数f对三个输入变量的偏导数值,我们可以通过基础的微积分规则分步推导:

步骤1:梳理函数关系

首先把代码里的计算逻辑转换为数学表达式:

  • 中间变量 q = x + y
  • 最终求导的目标函数 f = q * z
    也可以直接展开为输入变量的表达式:f = (x + y) * z

步骤2:分别计算偏导数

求导时把非求导变量都看作常数即可:

  • 对x求偏导∂f/∂x:导数结果为z,代入z=5,得到值为5,对应x的梯度
  • 对y求偏导∂f/∂y:导数结果为z,代入z=5,得到值为5,对应y的梯度
  • 对z求偏导∂f/∂z:导数结果为x+y,代入x=4、y=-3,计算得4+(-3)=1,对应z的梯度

链式法则验证(可选)

如果你习惯用链式法则分步计算,结果也完全一致:

  • 先算∂f/∂q = z,∂q/∂x=1、∂q/∂y=1
  • 因此∂f/∂x = ∂f/∂q * ∂q/∂x = 5 * 1 = 5
  • ∂f/∂y = ∂f/∂q * ∂q/∂y =5 *1=5
  • ∂f/∂z = q = x+y = 4 + (-3) =1
    整个推导结果和代码输出完全匹配。

内容的提问来源于stack exchange,提问作者CaitlinG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:15:01