why 3*3 convolution in VggNet

3 * 3 vs 7 * 7 卷积对比

phenomenon:

VggNet中密集地 使用3 * 3卷积核,不管是在浅层仍是深层中。 网络

reason:

knowledge preparation:

在了解缘由以前,先得知道一个概念:感觉野(Receptive Field) 。3d

举个栗子:
通过3层3*3卷积核的卷积,在第三层的feature map中的一个元素实际上是表明了第一层中7*7个元素的信息。 code

reason1:

节省显存以及计算量。3*3卷积核卷3层和 直接7*7卷积核卷积一层的感觉野是相同的,可是二者的占用显存(或者说是参数量)倒是有明显差别的:27C< 49C。 cdn

reason2:

这样卷积能换算出更多的加法运算,利于 winograd 卷积加速。(乘法和加法在硬件实现上的时间复杂度通常是不同的,乘法运算所需的时间一般远大于加法所需的时间。winograd就是用更多的乘法运算换算成加法运行,用廉价运算代替昂贵运算)blog

disadvantage:

这样小核卷积实际上是丢失了很多特征细节的,特别是在浅层网络中。虽然二者的感觉野是同样的,但别忘了每次卷积以后还要进行非线性拟合的ReLu激活,这个操做会损失一部分信息的。 在卷积以后中小于0的元素都置0了,形成了信息的丢失。 it

相关文章
相关标签/搜索