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

填充行(伪输入)是否影响反向传播?均值计算相关技术疑问

关于填充行对模型权重更新的疑问解答

你的思路完全正确,模型不会基于这些固定为0的填充行更新权重,具体原因如下:

  • 填充行被设成固定值0,反向传播计算梯度时,根据链式法则,固定常数的导数为0,所以填充行对应的梯度会直接变为0,不会对模型权重的更新产生任何影响。
  • 你用torch.sum(..)/(number_of_non_padded_rows)计算均值的方式,本质上只让有效行的输出参与到损失计算中——填充行的0值在求和时不改变结果,再加上它们是固定死的数值,反向传播时梯度根本传不到模型权重上。

另外给你个小建议:可以试试用**掩码(mask)**来处理,逻辑会更清晰。比如创建一个和输入同形状的布尔掩码,标记哪些是有效行,然后用torch.sum(input * mask, dim=1) / torch.sum(mask, dim=1)来计算均值。这种方式不用修改输入值,逻辑一目了然,但你现在的方法在梯度更新这块是完全没问题的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:12:06