熟悉CNN应该都知道常见的卷积核都是3 * 3或者5 * 5等,也就是奇数*奇数,似乎都没看过偶数的,这是为什么呢?
为什么 CNN 中的卷积核半径都是奇数?

在CNN中,卷积核的大小是3 * 3 或者5 * 5是最常见的。也就是说我们见到的卷积核几乎都是奇数 * 奇数的。在LeNet5中两个卷积层的卷积核都是5*5。

而在AlexNet中共有5个卷积层,conv1的卷积核大小是11* 11;conv2的卷积核大小是5* 5;conv3的卷积核大小是3* 3;conv4的卷积核大小是3* 3;conv5的卷积核大小是3*3。

看到了吗?都是奇数!这是为什么呢?

  • 解答1:更容易padding

在卷积时,我们有时候需要卷积前后的尺寸不变。这时候我们就需要用到padding。假设图像的大小,也就是被卷积对象的大小为nn,卷积核大小为kk,padding的幅度设为(k-1)/2时,卷积后的输出就为(n-k+2*((k-1)/2))/1+1=n,即卷积输出为n*n,保证了卷积前后尺寸不变。但是如果k是偶数的话,(k-1)/2就不是整数了。

  • 解答2:更容易找到卷积锚点

在CNN中,进行卷积操作时一般会以卷积核模块的一个位置为基准进行滑动,这个基准通常就是卷积核模块的中心。若卷积核为奇数,卷积锚点很好找,自然就是卷积模块中心,但如果卷积核是偶数,这时候就没有办法确定了,让谁是锚点似乎都不怎么好。

相关文章:

  • 2022-12-23
  • 2021-05-22
  • 2021-10-19
  • 2021-12-13
  • 2021-10-31
  • 2021-04-30
  • 2021-07-16
猜你喜欢
  • 2021-09-15
  • 2021-09-15
  • 2021-07-18
  • 2021-04-19
  • 2021-06-07
  • 2021-08-27
相关资源
相似解决方案