deep-learning - 关于膨胀卷积与带填充的最大池化

标签 deep-learning conv-neural-network convolution image-segmentation

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

在其中,他们建议使用扩张卷积来获得全局上下文,而不是最大池化/下采样,因为池化会缩小您的图像,而扩张卷积则不会。

我的第一个问题是:他们修改了 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 并且它们使用上采样层。

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

关于deep-learning - 关于膨胀卷积与带填充的最大池化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47244179/

相关文章:

python - 关于 tf.nn.leaky_relu 中 alpha 的详细信息(features, alpha=0.2, name=None)

python - 更深的卷积神经网络可以得到更少的参数吗?

machine-learning - Keras 目标尺寸不匹配

machine-learning - 结合神经网络 Pytorch

python - 如何在 Keras 中使用经过训练的模型预测输入图像?

python - dx=(x>0)*dout x>0 在此代码中代表什么?

neural-network - 图表可视化未显示在 seq2seq 模型的张量板上

python - TensorFlow:EVAL 和 INFER 之间的区别

tensorflow - 在 TensorFlow 中将 2D 卷积转换为 1D 卷积 + 仿射变换?

machine-learning - Keras 中 Conv2D 和 Convolution2D 的区别