首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(可微图像采样)自定义整数采样核,空间变压器网络

(可微图像采样)自定义整数采样核,空间变压器网络
EN

Stack Overflow用户
提问于 2021-03-15 07:25:54
回答 1查看 458关注 0票数 4

我正在浏览空间变压器网文件,并试图在PyTorch中为Integer取样内核实现一个自定义的grid_sample函数(继承autograd.Function类)。

在定义向后函数时,我遇到了以下难题。

假定整数抽样的工作方式如下:

我认为渐变w.r.t输入映射和转换后的网格(x_i^s,y_i^s)应该如下所示:

梯度w.r.输入地图:

梯度w.r.t转换网格(x_i^s):

梯度w.r.t转换网格(y_i^s):

由于Kronecker函数的导数为零(我不确定这一点!!-帮助)

Kronecker三角洲的导数?

因此,我得出的结论是,对于输入的梯度w.r.t应该是:一个与输入相同大小的张量,如果像素被采样,则填充1,如果没有采样,则为0,而梯度w.r.t转换后的网格应该是一个充满零的张量。

但是,如果转换后的网格的梯度为0,则由于链式规则,整数采样器之前不会将任何信息传递给各层。因此,我认为关于网格的派生应该是其他的东西。有人能指出我做错了什么吗?

事先非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-22 16:23:23

供将来参考,以及那些可能有类似问题的人,我张贴的。

我给Jaderberg博士(“空间变压器网络”的作者之一)发了邮件,他证实:“梯度wrt,整数采样的坐标是0。”。所以我没有做错事,而且一直都是对的!

他的回应非常好,并表示文件中提到整型抽样,以引入双线性抽样方案,并就如何实施整数抽样提出了见解,如果我真的想这样做的话:

“您可以考虑使用一些数值微分技术(例如,查看x与其邻居的差异),这将假定图像wrt坐标的光滑性。”

非常感谢Jaderberg博士,我很高兴结束这个问题。

我想考虑如何用数值方法来实现采样函数的整数核是我自己面临的另一个挑战,但在那之前,我想双线性取样器是我的朋友!)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66633854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档