https://www.toutiao.com/a6706311102759698948/
我们知道现在在构建CNN时大家喜欢用3*3的卷积,而不是早期的5*5,7*7等更大尺寸的卷积,如vgg系列网络中全部使用了3*3的卷积。那么你知道为什么这样做吗?
这里既然用3*3卷积来替代更大尺寸的卷积,那么有一个前提,就是要保证两者具有同样大小的输出和感受野。
两个3*3的卷积才能代替一个5*5的卷积;三个3*3的卷积才能代替一个7*7的卷积。
以stride=1,padding=0我们来看看为何。
我们首先看一下采用5*5卷积的方案。
假设图像大小为n*n,采用5*5的卷积核其输出为(n-5)/1+1=n-4。
我们再看一下采用3*3卷积的方案。
同样图像大小为n*n,第一次卷积后输出为(n-3)/1+1=n-2,第二次卷积后输出为(n-2-3)/1+1=n-4。
从上面的图可以看出,采用一个5*5卷积核和两个3*3卷积核,它们卷积后的输出是相同大小,输出的每一个像素的感受野也相等。
在这样的前提下,有什么好处呢?
1、网络层数增加了,这增加了网络的非线性表达能力。
2、参数变少了,两个3*3和一个5*5的参数比例为3×3×2/(5×5)=0.72,同样的三个3×3和一个7×7参数比例为3×3×3/(7×7)=0.55,将近一倍的压缩,这可是很大提升。
这就是用3*3卷积带来的最明显的两个优势。
思考:近几年的经典网络中多半都采用了3*3的小卷积,关于它的好处还有一些值得研究的空间,大家可以延伸思考下。