码迷,mamicode.com
首页 > 其他好文 > 详细

使用更小卷积核的作用——参数量和计算量的分析

时间:2019-03-14 19:57:39      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:http   div   data   class   卷积   求和   tin   问题   track   

使用更小卷积核的作用

使用更小的卷积核是当前在保证网络精度的情况下,减少参数的趋势之一,在VGG16中,使用了3个3*3卷积核来代替7*7卷积核,使用了2个3*3卷积核来代替5*5卷积核,这样做的主要目的是在保证具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果。

以下简单地说明一下小卷积(3*3)对于5×5网络感知野相同的替代性。

技术图片

关于3个3×3卷积核对于7× 7 卷积的替代性思考方式同上。

接下来说明以下减少参数的作用。

对于两个3*3卷积核,所用的参数总量为2*(3*3)*channels, 对于5*5卷积核为5*5*channels, 因此可以显著地减少参数的数量。

下面是7*7的用三个3*3卷积核替代的情况 
技术图片


问题:7*7的卷积核,不是只需要一次加权求和就成了1*1的输出了么。3*3的卷积核,先过滤成5*5,再用3*3卷积核就成了3*3,再一次,就成了1*1。
3*3的卷积核只有9个参数,卷积3次,也就27个参数。而7*7的卷积核是49个参数,我承认参数变少了。但在加权求和的过程中,显然后者运算步骤更多。
参数少了,运算步骤却多了,我的疑问就在这。

 

假设输入的图片大小为100*100*3,卷积操作不改变大小(padding=same)。先看用128个7*7*3的核进行卷积操作,需要100*100*7*7*3*128次乘法操作然后我们用3层3*3卷积代替上面的7*7卷积,每层仍取128个核,需要100*100*3*3*3*128*3次乘法操作,约掉相同部分,分别剩下7*7=49和3*3*3=27.显然,用三层3*3代替一层7*7可以减少近一半的计算量。

使用更小卷积核的作用——参数量和计算量的分析

标签:http   div   data   class   卷积   求和   tin   问题   track   

原文地址:https://www.cnblogs.com/xiaoboge/p/10532962.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!