卷积核的kernel size为什么要设置为奇数

卷积的3种模式

卷积有3种模式:full、same、valid

full:从filter与image开始相交就做卷积

same:当filter的中心与image相交开始做卷积,通常输入和输出的大小一样

vaild:当filter与image完全相交开始做卷积

卷积核的移动范围:full>same>vaild

同一输入image的情况下,输出的特征大小:full>same>vaild

kernel size设置奇数的原因

1. padding

通常使用的卷积模式是same convolution。

在步长为1的情况下,需要padding k-1个0才能使得输入和输出的尺寸一致。

若kernel size是奇数的,k-1则为偶数,能够均分到image的两边,就可以进行对称的padding;

若kernel size是偶数的,k-1则为奇数,则不能均分到image的两边;

2. 奇数的卷积核具有天然的中心点

卷积核的移动是默认用中心点作为基准,而kernel size为奇数的卷积核具有天然的中心点;

因此,也更加便于卷积操作获取到有效的中心信息。

3.奇数的效率比偶数更高(参考他人经验)

参考:为什么CNN中的卷积核一般都是奇数*奇数,没有偶数*偶数的? - 知乎

你可能感兴趣的:(NLP,#,DL,cnn,深度学习,计算机视觉)