gpt4 book ai didi

math - (可微分图像采样)自定义整数采样内核,空间更改器(mutator)网络

转载 作者:行者123 更新时间:2023-12-04 15:03:07 25 4
gpt4 key购买 nike

我正在浏览Spatial Transformer Network论文,我正在尝试在 PyTorch 中为整数采样内核实现自定义 grid_sample 函数(继承 autograd.Function 类)。
在定义向后函数时,我遇到了以下难题。
鉴于整数采样的工作原理如下:
enter image description here
我认为输入贴图和转换后的网格 (x_i^s, y_i^s) 的梯度应该如下所示:
梯度 w.r.t.输入 map :
enter image description here
梯度 w.r.t 变换网格 (x_i^s):
enter image description here
梯度 w.r.t 变换网格 (y_i^s):
enter image description here
因为 Kronecker delta 函数的导数为零(我不确定!-帮助)
克罗内克三角洲的导数?
enter image description here
因此,我得出一个结论,输入的梯度应该是:一个与输入相同大小的张量,如果像素被采样,则填充为 0,如果没有采样,则梯度 wrt 变换网格应该是一个充满零的张量。
但是,如果变换网格的梯度为 0,那么由于链式法则,整数采样器之前的层将不会有任何信息传递。因此,我认为关于网格的导数应该是别的东西。有人能指出我做错了什么吗?
提前谢谢了!

最佳答案

供将来引用,以及那些可能与我发布的问题有类似问题的人。

我已经就这个问题给 Jaderberg 博士(“空间变压器网络”的作者之一)发了电子邮件,他已经确认: “整数采样坐标的梯度为 0。” .所以我没有做错任何事,而且一直都是对的!
他的回答非常友好,并表示论文中提到了整数采样来介绍双线性采样方案,并且如果我真的想的话,他就如何实现整数采样给出了见解:
“您可以考虑使用一些数值微分技术(例如,查看 x 与其邻居的差异。这将假设图像 wrt 坐标中的平滑度。”
非常感谢 Jaderberg 博士,我很高兴结束这个问题。
我想考虑如何使用数值方法来实现采样函数的整数内核对我自己来说是另一个挑战,但在那之前我猜双线性采样器是我的 friend ! :)

关于math - (可微分图像采样)自定义整数采样内核,空间更改器(mutator)网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66633854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com