upconvolution实现:实现的位置和上采样的效果

时间:2017-11-09 02:17:38

标签: deep-learning conv-neural-network

人们以不同的方式实现上卷积。基本上一个是进行分步跨步卷积,另一个是首先对图像进行上采样然后进行卷积。我在FCN和UNet的实现中看到了第一个,但是我没有在已发表论文的任何官方实现中看到第二个。不知道是否有人可以指出在官方源代码出版中使用第二种方法的例子?

此外,在第二种方法中,上采样功能可以具有不同的行为(比如双线性,线性等),但纸的作者通常只是说“上卷积/上采样”。如何确定使用哪种上采样(除了尝试每种采样以查看最终结果)?或者,这没关系? (没有找到关于这个主题的论文)

2 个答案:

答案 0 :(得分:1)

实际上,上卷积或说转置卷积的应用(这更准确)是相当广泛的,涉及可视化/像素方面 预测/无监督学习/图像生成。

更具体地说:

(1)无监督学习:传统的卷积操作是从原始图像中获取特征图,tran-conv可以通过无监督学习来重建图像,从而帮助找到内核和特征图。与[1],[2]中描述的卷积稀疏编码一样。

(2)CNN可视化[3]:通过恢复从CNN-conv到像素图学习的特征图,我们可以找出哪种模式可以激活这些特征图。

(3)上采样[4] [5]:就像你在FCN和U-Net中所说的那样,max-pooling操作缩小了图像的大小,因此我们需要进行上采样,这也可以通过trans-conv完成。不同之处在于train-conv是可学习的上采样。可以在培训过程中学习参数。

由于填充始终是trans-conv的第一步,因此现在有不同类型的填充方法可能会导致不同的de-conv方法。

[1] Zeiler M D,Krishnan D,Taylor G W,etal。反卷积网络[C]。计算机视觉与模式识别,2010年。

[2] Zeiler M D,Taylor G W,Fergus R,et al。中高级特征学习的自适应反卷积网络[C]。 2011年计算机视觉国际会议。

[3] Zeiler M D,Fergus R.可视化和理解卷积网络[C]。欧洲计算机视觉会议,2013年。

[4] Long J,Shelhamer E,Darrell T,et al.Fully卷积网络用于语义分割[C]。计算机视觉和模式识别,2015年。

[5]深度卷积生成对抗网络的无监督表示学习

答案 1 :(得分:0)

之前的回答几乎可以回答所有问题 我想补充一点,无论你使用插值还是transposed-conv进行上采样

,都确实很重要

在FCN中,我们需要使用双线性插值。事实上,我尝试使用transposed-conv [初始化为0或随机],认为它会给我们更好的结果,因为它很复杂,但它不起作用。 然后我必须使用双线性插值初始化我的滤波器[trans-conv]的权重以使FCN工作

对于U-net,这会失败,因为它需要可学习的权重,我们无法修复它们并进行插值