未对特征图进行下采样时转置卷积的必要性
Posted
技术标签:
【中文标题】未对特征图进行下采样时转置卷积的必要性【英文标题】:necessity of transposed convolution when feature maps are not downsampled 【发布时间】:2017-12-02 05:29:42 【问题描述】:我正在阅读一篇论文here。论文中的作者提出了一种对称生成器网络,该网络包含一堆卷积层,然后是一堆反卷积(转置卷积)层。还提到了使用适当填充的步长 1 来确保特征图大小与输入图像大小相同。
我的问题是,如果没有下采样,那么为什么要使用转置卷积层?不能只用卷积层来构造生成器吗?我在这里遗漏了一些关于转置卷积层的东西(它是否被用于其他目的)?请帮忙。
更新:我重新打开这个问题,因为我遇到了this 论文,该论文在第 2.1.1 节中指出“反卷积用于补偿细节”。但是,我无法理解这一点,因为在提议的模型中没有对特征图进行下采样。有人可以在这里解释为什么反卷积比卷积更受欢迎吗?在这种情况下,是什么让反卷积层的性能优于卷积?
【问题讨论】:
【参考方案1】:理论上,空间卷积可以用作分数步幅卷积的替代品。通常会避免这种情况,因为即使没有某种类型的池化,卷积层也可以产生小于其相应输入的输出(参见文档here 中的owidth
和oheight
的公式)。使用nn.SpatialConvolution
生成比输入更大的输出将需要大量低效的零填充才能达到原始输入大小。为了使逆向过程更容易,添加了torch functionality 用于部分步幅卷积。
话虽如此,这种情况有点不同,因为每一层的大小保持不变。所以很有可能对整个生成器使用nn.SpatialConvolution
会起作用。您仍然需要镜像编码器的 nInputPlane
和 nOutputPlane
模式以成功地从特征空间移回输入空间。
作者可能将解码器过程称为使用转置卷积只是为了清晰和通用。
This 文章讨论了卷积和分数步幅卷积,并提供了漂亮的图形,我不想在这里复制。
【讨论】:
嗨,我在阅读了一篇新论文后重新打开了这个问题。我请求您阅读更新后的问题。如果您能提供帮助,我会很高兴!以上是关于未对特征图进行下采样时转置卷积的必要性的主要内容,如果未能解决你的问题,请参考以下文章
上采样下采样以及Pytorch中的卷积与反卷积(转置卷积)方法介绍(conv2d和convTranspose2d)