为什么卷积核size通常都是奇数
本博客用于自我学习,如有错误,烦请指教!
在卷积神经网络模型中卷积核大小一般都是奇数,很少有偶数或者没有偶数的卷积核,这是为什么呢?
LeNet()卷积核大小55,AlexNet模型(2012)中用到1111,55,33,VGG(2014)系列用得都是33大小卷积核,ResNet(2015)使用33大小卷积核等等,都是使用奇数得卷积核。
原因有2:
1. 保证锚点在中间
锚点也就是卷积核滑动时得中心点,一个参考点,奇数大小的卷积核刚好是中心位置,避免位置信息发生偏移,在CNN中,进行卷积操作时一般会以卷积核模块的一个位置为基准进行滑动,这个基准通常就是卷积模块的中心,若卷积核为奇数,卷积锚点很好找,自然就是中心。若卷积核大小为偶数,则无法确定锚点,且卷积上下移动位置信息都会发生偏移。
2. 为了same padding 时,图像两边对称
首先卷积之后尺寸大小计算公式为:
n=(w-k+2*p)/s+1,其中
w为卷积前图像大小
k为卷积核大小
p为padding补充的像素数
s为步长
same padding 时处理时,n x n * f x f =>(n+2p-f+1) x (n+2p-f+1)因为输入与输出图像尺寸相同,则计算出来p=(f-1)/2
因此如果卷积大小为偶数,则padding总数为奇数,两边补充大小不一致,卷积核大小为奇数,2p为偶数,则图像两边补充相等的0.