PaddingValid convolutionsSame convolutions

2019-05-26 14:59:21 浏览数 (1)

整理并翻译自吴恩达深度学习系列视频:卷积神经网络1.4。

Padding

在对一张6X6图片进行卷积后,它变成了一张4X4的图片。直接卷积有以下2个缺点:

  • Shrinking the output(缩小输出图像大小)
  • Throw away info from edge(相对于中间经过多次卷积计算的部分,图像边缘信息被抛弃了)

为了解决这一点问题,我们可以在图像的边缘填充(padding)0,来使得边缘部分也能够被经过多次卷积计算。

假设原图是n×nntimes nn×n,filter是f×fftimes ff×f,那么卷积后的图像大小是(n−f 1)×(n−f 1)(n-f 1)times(n-f 1)(n−f 1)×(n−f 1)。

假设填充p=1p=1p=1,填充之后再卷积得到的图像大小是(n 2p−f 1)×(n 2p−f 1)(n 2p-f 1)times(n 2p-f 1)(n 2p−f 1)×(n 2p−f 1)。

如果要维持原图大小,令(n 2p−f 1)=n(n 2p-f 1)=n(n 2p−f 1)=n,得p=f−12p=frac{f-1}{2}p=2f−1​

Valid convolutionsSame convolutions

Valid convolution,即不填充,卷积后的图像大小是(n−f 1)×(n−f 1)(n-f 1)times(n-f 1)(n−f 1)×(n−f 1)。

Same convolution,即填充使其保持原图大小,选择p=f−12p=frac{f-1}{2}p=2f−1​。

通过上式你也能够理解,为什么通过选fff是奇数,如果fff是偶数,也能达到我们的目的,但填充使得图像不对称了,左边填的比右边多或者反过来。选择fff奇为数也可以使得filter有明确的中心点。

当然这些理由并没有那么的有说服力。

3X3、7X7、9X9,都是论文里常见的filter大小。

0 人点赞