卷积的padding操作

1、为什么要padding

(1)在不使用padding的情况下,每次卷积后的图片会越变越小。比如初始图片大小为6*6(n*n),每次卷积操作的步长为1(s),过滤器大小为3*3(f*f),则卷积后的矩阵大小为4*4((n-f)/s+1)*((n-f)/s+1)。这样操作后图片大小会越来越小。而在原始图片周围加上像素点就可以解决此问题。比如在原始图像周围加上一层像素点(p=1),则卷积后的图片大小为6*6((n+2*p-f)/s(向下取整)+1)*((n+2*p-f)/s+1)。

(2)如果不使用padding,四个角上的像素点只参与一次卷积运算,而最中间的像素点会参加多次运算。这样会使得我们对于图片边缘的信息利用不足,在之后的学习中会丢失很多边缘的信息。因此,我们在卷积之前,可以对图像进行padding操作(填充)。

2、padding的大小

 (1)valid convolutions:no padding(不进行填充),此时padding的大小是0

  (2) same convolutions:使用padding保证Output size和input size一样。则有(n+2p-f)+1=n,则有p=(f-1)/2。卷积核大小f通常为奇数,几乎没有偶数尺寸的过滤器在计算机视觉领域使用,因此这里不需要考虑p的取整问题。

     (3) 也可以按自身需求指定p的大小。

你可能感兴趣的:(深度学习,人工智能)