gpt4 book ai didi

machine-learning - PyTorch 或 TensorFlow 中可以使用位置相关的卷积滤波器吗?

转载 作者:行者123 更新时间:2023-11-30 09:49:01 25 4
gpt4 key购买 nike

假设除了图像之外,我还在图像的 X 轴上有一个从左到右的渐变,以及在 Y 轴上从上到下的另一个渐变。这两个渐变与图像大小相同,范围都在 -0.5 到 0.5 之间。

现在,我想让卷积核(又名卷积滤波器或卷积权重)取决于梯度中的 (x, y) 位置。因此,内核是梯度的函数,就好像内核是嵌套迷你神经网络的输出一样。这将使过滤器的权重在每个位置都不同,但与其邻居稍微相似。如何在 PyTorch 或 TensorFlow 中做到这一点?

当然,我可以计算 Toeplitz matrix (a.k.a. diagonal-constant matrix) 我自己,但如果假装x==y==n,矩阵乘法将需要O(n^3)次运算,而卷积可以在O中实现(n^2) 通常。或者我可以自己迭代每个元素并以非矢量化的方式进行乘法。

还有更好的想法吗?我希望在这里看到创造力,思考如何巧妙地实现这一点。我相信编码将是构建网络层的一种有趣的方式,该网络层能够执行类似于 Spatial Transformer Networks 的简化版本的操作。 ,但其空间变换将独立于图像。

最佳答案

这是我针对此问题的简化版本想到的解决方案,其中将使用权重的线性组合,而不是真正使用嵌套的迷你神经网络:

可以进行 4 次不同的卷积传递,以获得 4 个特征图,然后将这 4 个图与梯度(2 个垂直梯度和 2 个水平梯度)相乘,并将它们加在一起,以便只剩下 1 个图。然而,这将是不同映射的线性组合,这比真正使用嵌套神经网络更简单,而嵌套神经网络首先会改变内核。

关于machine-learning - PyTorch 或 TensorFlow 中可以使用位置相关的卷积滤波器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48331966/

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