为什么CNN模型要使用很多小的卷积核,比如3x3,而不是7x7或者9x9呢?

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么CNN模型要使用很多小的卷积核,比如3x3,而不是7x7或者9x9呢?相关的知识,希望对你有一定的参考价值。

为什么CNN模型要使用很多小的卷积核,比如3x3,而不是7x7或者9x9呢?

 

(1)3x3是最小的能够捕获像素八邻域信息的尺寸。

(2)两个3x3的堆叠卷基层的有限感受野是5x5;三个3x3的堆叠卷基层的感受野是7x7,故可以通过小尺寸卷积层的堆叠替代大尺寸卷积层,并且感受野大小不变。所以可以把三个3x3的filter看成是一个7x7filter的分解中间层有非线性的分解, 并且起到隐式正则化的作用。


这一点在VGGNet论文中得到了很好的解释。有两个原因:首先,你可以使用几个较小的卷积核而不是几个较大的卷积核来获得相同的感受野并捕获更多的空间上下文,但是对于较小的卷积核,你使用的参数和计算更少。其次,因为使用了更小的卷积核,你会使用更多的过滤器,你将能够使用更多的激活函数,因此CNN将学习到更有区分度的映射函数。

以上是关于为什么CNN模型要使用很多小的卷积核,比如3x3,而不是7x7或者9x9呢?的主要内容,如果未能解决你的问题,请参考以下文章

CNN基础为什么要用较小的卷积核

深度学习之卷积神经网络(CNN)学习

pytorch 中实现CNN,对CNN的理解心得

pytorch 中实现CNN,对CNN的理解心得

pytorch Vgg网络模型

pytorch Vgg网络模型