在VGG中,使用了3个3x3卷积核来代替7x7卷积核,使用了2个3x3卷积核来代替5x5卷积核,这样做的主要目的是在保证具有相同感知野的条件下,提升了网络的深度。

3x3卷积的作用:https://www.bilibili.com/video/BV1fU4y1E7bY/

假设图片是32x32的;

通常(k核的高宽,p填充),当垂直步幅为Sh、水平步幅为Sw时,输出形状为:

\[\lfloor(n_h-k_h+p_h+s_h)/s_h\rfloor \times \lfloor(n_w-k_w+p_w+s_w)/s_w\rfloor.
\]

两个3x3的卷积核替代5x5卷积核

  • 使用一个5x5卷积核,步长为1,填充为0,得到的feature map高宽为28;
  • 使用两个3x3卷积核,步长为1,填充为0,第一个30,第二个后为28;
  • 使用两个3x3的卷积核和使用一个5x5卷积核得到的结果是一样的,但两个3x3的参数量更少,计算量也更少;
    • 参数量:Cin x Kh x Kw x Cout,这里具体参数量是多少参考VGG论文。

假设图片是32x32的;

三个3x3的卷积核替代7x7卷积核

  • 使用一个7x7卷积核,步长为1,填充为0,得到的feature map高宽为26;
  • 使用三个3x3卷积核,步长为1,填充为0,第一层后30,第二层后为28,第三层后26;
  • 使用三个3x3的卷积核和使用一个7x7卷积核得到的结果是一样的,但三个3x3的参数量更少,计算量也更少;

总结:堆叠含有小尺寸卷积核的卷积层来代替具有大尺寸的卷积核的卷积层,并且能够使得感受野大小不变,虽然层数增加,但总参数减少了,而且多个3x3的卷积核比一个大尺寸卷积核有更多的非线性,提取更多特征。