整理并翻译自吴恩达深度学习系列视频:卷积神经网络1.4。
在对一张6X6图片进行卷积后,它变成了一张4X4的图片。直接卷积有以下2个缺点:
为了解决这一点问题,我们可以在图像的边缘填充(padding)0,来使得边缘部分也能够被经过多次卷积计算。
假设原图是n×nn\times nn×n,filter是f×ff\times 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 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大小。