卷积核大小一般是奇数
- 便于进行padding
same convolution时,有些情况偶数卷积核会出现问题。假设:输入图片大小W×W;Filter大小F×F;步长strides S;padding的像素数 P;输出大小NxN。于是 N = W − F + 12 ∗ P S + 1 N=\frac{W-F+12*P}{S}+1 N=SW−F+12∗P+1,当做一种same convolution时,若要卷积前后的尺寸不变,即要求输入和输出大小一样N=W,且步长S=1,则Padding P = ( F − 1 ) 2 P=\frac{(F-1)}{2} P=2(F−1),当卷积核的大小F为偶数则不是整数了。 - 容易找到卷积锚点
在像素这个领域里,偶数框其实是没有一个“绝对的物理中心”的。锚点也就是卷积核滑动时的一个参考点。奇数过滤器的锚点正好在中心位置,避免了位置信息发生偏移,如果卷积核是偶数时,这时候就没有办法确定了锚点了。让谁是锚点,卷积核上下左右移动之后,位置信息都会发生偏移。
padding问题
为什么加padding?做卷积时会出现两种问题:1)图像越来越小;2)图像边界信息丢失,即有些图像角落和边界的信息发挥作用较少。所以有时候我们会在图像的周围填补 0 ,1)来减缓图像变小的速度;2)保证边界信息不丢失。
卷积的三种模式:full, same, valid
其实这三种不同模式是对卷积核移动范围的不同限制,设 image的大小是7x7,filter的大小是3x3。
full mode
橙色部分为image, 蓝色部分为filter。full模式的意思是,从filter和image刚相交开始做卷积,白色部分为填0。filter的运动范围如图所示。
same mode
当filter的中心K与image的边角重合时,开始做卷积运算,可见filter的运动范围比full模式小了一圈。注意:这里的same还有一个意思,卷积之后输出的feature map尺寸保持不变(相对于输入图片)。当然,same模式不代表完全输入输出尺寸一样,也跟卷积核的步长有关系。same模式也是最常见的模式,因为这种模式可以在前向传播的过程中让特征图的大小保持不变,调参师不需要精准计算其尺寸变化(因为尺寸根本就没变化)。
valid
当filter全部在image里面的时候,进行卷积运算,可见filter的移动范围较same更小了。