微凉的衣柜 2023-05-17 20:44 采纳率: 64.7%
浏览 12
已结题

pytorch:y = identity(x) 和 y = x 两种操作在反向求导是不是没区别?

问了gpt这个问题,给出的答案如下:

假设有两个变量 x 和 y,它们的值分别为 23,而 z = y * identity(x)。则有:

z = y * identity(x) = 3 * identity(2) = 3 * 2 = 6
dz/dy = identity(x) = 2
dz/dx = y * d(identity(x))/dx = 3 * 1 = 3
而如果使用 y = x,则有:

z = y * x = 3 * 2 = 6
dz/dy = x = 2
dz/dx = y = 3

二者在反向传播上是否没有区别?区别貌似identity函数类似深拷贝?

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-05-17 20:50
    关注

    参考GPT和自己的思路:在反向传播时,y = identity(x) 和 y = x 两种操作是没有区别的,因为它们在计算图中的梯度都是1。在PyTorch中,两者的计算图不同,但是它们的结果相同,因此可以认为它们是等价的。无论使用哪种操作,都能正确地计算梯度。而identity函数并不类似于深拷贝,它只是把输入直接返回,不做任何处理。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月2日
  • 已采纳回答 5月25日
  • 创建了问题 5月17日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。