关于扩张卷积与带填充的最大池化

Regarding Dilated Convolutions vs Max-Pooling with Padding

我一直在看论文,Multi-Scale Context Aggregation by Dilated Convolutions

他们在其中建议使用扩张卷积来获取全局上下文,而不是 max-pooling/downsampling 因为池化会缩小图像而扩张卷积不会。

我的第一个问题是: 他们修改了 VGG16 并删除了最后两个最大池化层,但他们留下了另外 3 个最大池化层池化层。为什么他们不只是删除所有最大池化层?计算效率?这不会导致图像变小吗?他们如何将其扩展回原始大小,双线性插值?

我的第二个问题是: 他们在论文中指出:

"We also remove the padding of the intermediate feature maps. Intermediate padding was used in the original classification network, but is neither necessary nor justified in dense prediction."

为什么会这样,如果你不填充,你会不会进一步减小我们最终输出的大小,特别是考虑到空洞卷积可以有非常大的感受野?

回答你的第一个问题,我认为你是对的,输出是原始大小的 1/8,他们使用插值上采样到原始大小。您可以在可用的源代码中找到证据 here。在文件 test.py、函数 test_image 中,默认缩放设置为 8(第 103 行)。更多证据可以在文件 train.py 中找到,其中默认缩放再次设置为 True 并且他们使用上采样层。

并且由于他们已经在缩小尺寸,因此不需要使用填充来保持尺寸。我认为在他们的情况下不需要填充的原因是分割是密集预测的情况,因此从我们自己这边引入一些像素在直觉上没有意义。但是再次争论相同问题的最佳方法是实际测试有和没有中间池的网络。