卷积神经网络中卷积核越小越好吗?
多个小的卷积核叠加使用要远比一个大的卷积核单独使用效果要好的多,在连通性不变的情况下,大大降低了参数个数和计算复杂度。
当然,卷积核也不是越小越好,对于特别稀疏的数据比如下图所示,当使用比较小的卷积核的时候可能无法表示其特征,如果采用较大的卷积核则会导致复杂度极大的增加。
总而言之,我们应该选择多个相对小的卷积核来进行卷积。
比较一下
图一 3*3卷积核基本特征
图二 3*3卷积核等价分析
卷积核作用在这里不进行详细介绍了,可以简单理解为将N*N区域的特征提取到1*1的区域中,也就是通过卷积核得到的结果中一个像素(pixel)能够看到N*N区域的特征。
图一中可以看到,第一层卷积核的中心像素(pixel)区域(输入图中3*3的区域,可以理解成“连通性”),第二层卷积核作用在第一层之上,
这个卷积核中的像素可以“看到”原图的区域便扩大成5*5。图二中结果是将三个3*3的卷积核堆积起来得到的,这里能“看到”原图中的像素个数是7*7个,也就是说 它的效果和一个7*7的卷积核是一样的。
图三 复杂度计算
图四 3*3卷积核另一种简化
图三中对于前面提到的卷积核模式进行了复杂度分析,从图中我们看到,一个7*7卷积核的复杂度为49M(M,复杂度常数),三个3*3卷积核的复杂度是27M,这样复杂度降低了近50%,还有没有优化空间呢?答案是肯定的,我们可以将一个3*3的卷积核拆成两个1*3的卷积核,一个卷积核的复杂度就变成了6M,达到相同效果的同时,复杂度变为18!
---------------------
作者:DefineClass
来源:CSDN
原文:https://blog.csdn.net/kuangtun9713/article/details/79475457
本文链接:http://task.lmcjl.com/news/12142.html