【问题标题】:upconvolution implementation: where do the implementation come and effect of upsampling上卷积实现:实现在哪里以及上采样的效果
【发布时间】:2017-11-09 02:17:38
【问题描述】:

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

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

【问题讨论】:

    标签: deep-learning conv-neural-network


    【解决方案1】:

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

    更具体地说:

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

    (2)CNN可视化[3]:通过将CNN-conv学习到的特征图还原为像素图,我们可以弄清楚什么样的模式可以激活这些特征图。

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

    由于 padding 始终是 trans-conv 的第一步,所以现在有不同种类的 padding 方法可能导致不同的 de-conv 方法。

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

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

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

    [4] Long J, Shelhamer E, Darrell T, et al.Fully convolutional networks for semantic segmentation[C]。计算机视觉和模式识别,2015 年。

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

    【讨论】:

      【解决方案2】:

      上一个答案几乎可以回答所有问题 我想补充一点,无论您使用插值还是转置转换进行上采样,这确实很重要

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

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

      【讨论】:

        猜你喜欢
        • 2019-05-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-27
        • 1970-01-01
        • 2012-06-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多