池化层与卷积层中使用填充的区别

4

我理解当我们进行卷积时需要使用填充,因为使用过滤器进行卷积会减小输出的维度并且会遗失输入矩阵的边缘/角落信息。然而,在多个Conv层之后,我们也会使用池化层来对特征图进行下采样。这不是有些矛盾吗?我们使用填充是因为我们不想减少空间维度,但随后我们又使用池化来减少空间维度。能否提供一些有关这两者背后直觉的信息呢?

1个回答

3
不失一般性,我们假设输入为图像。填充的原因不仅是为了保持尺寸不变小,还要确保在输入的角落和边缘上的像素不会在影响输出时处于劣势地位。如果不进行填充,图像角上的像素与一个过滤器区域重叠,而图像中间的像素与许多过滤器区域重叠。因此,中间的像素会影响下一层中更多的单元,从而对输出产生更大的影响。其次,你实际上想要缩小输入的维数(记住,深度学习的核心是压缩,即查找数据中解开变化因素的低维表示)。卷积没有填充导致的缩小不理想,如果你有一个非常深的网络,那么很快就会得到非常低维的表示,这将损失大部分有关数据的相关信息。相反,你希望以一种聪明的方式缩小维数,这可以通过池化来实现。特别地,最大池化已被证明有效。这实际上是一种经验结果,即没有太多理论可以解释为什么会出现这种情况。你可以想象通过对附近激活的最大值,仍然保留关于该区域中特定功能存在的信息,但失去了有关其确切位置的信息。这可能是好的也可能是坏的,好处是它能够带来平移不变性,而坏处在于确切位置对你的问题可能很重要。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接