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

使用更小卷积核的作用

使用更小的卷积核是当前在保证网络精度的情况下,减少参数的趋势之一,在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可以减少近一半的计算量。

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

时间: 2024-10-07 19:22:46

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

参数量与计算量

例:输入是m*m*c的图像,卷积核大小是k*k,其输出是n*n*d,也表示卷积核的数量是d,其总参数是多少,总的乘法计算量是多少? 总参数:c*k*k*d 总乘法计算量:c*k*k*n*n*d 解释如下: 对于输出feature-map上某一个channel的点,经过如下两步得到: 1. 卷积核k*k与输入的每个channel卷积,把每个channel上的内容加起来,就得到最后一个点.如下图1所示,那么输出feature-map上每个点的计算量为c*k*k 2. 那么输出feature-map上

深度学习面试题19:1*1卷积核的作用

目录 举例 在Inception module上的应用 参考资料 可以减少计算量,可以增加非线性判别能力 举例 假设有1个高为30.宽为40,深度为200的三维张量与55个高为5.宽为5.深度为200的卷积核same卷积,步长=1,则结果是高为30.宽为40.深度为55的三维张量,如图所示: 该卷积过程的乘法计算量大约为5*5*200*30*40*55=330000000,这个计算量很大. 接着,我们可以考虑第二种卷积过程,先利用1*1的卷积核在深度上降维,然后升维: 上述卷积过程的计算量大约为

ResNeXt——与 ResNet 相比,相同的参数个数,结果更好:一个 101 层的 ResNeXt 网络,和 200 层的 ResNet 准确度差不多,但是计算量只有后者的一半

from:https://blog.csdn.net/xuanwu_yan/article/details/53455260 背景 论文地址:Aggregated Residual Transformations for Deep Neural Networks 代码地址:GitHub 这篇文章在 arxiv 上的时间差不多是今年 cvpr 截稿日,我们就先理解为是投的 cvpr 2017 吧,作者包括熟悉的 rbg 和何凯明,转战 Facebook 之后代码都放在 Facebook 的主页里面

深度学习面试题16:小卷积核级联卷积VS大卷积核卷积

目录 感受野 多个小卷积核连续卷积和单个大卷积核卷积的作用相同 小卷积核的优势 参考资料 感受野 在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(feature map)上的像素点在输入图片上映射的区域大小.再通俗点的解释是,特征图上的一个点对应输入图上的区域,如下图所示: 返回目录 多个小卷积核连续卷积和单个大卷积核卷积的作用相同 像LeNet.AlexNet网络,都是用了较大的卷积核,目的是提取出输入图像更大邻域范围的信息,一般是卷积与池化操

低功耗计算机视觉技术前沿,四大方向,追求更小、更快、更高效

深度学习在广泛应用于目标检测.分类等计算机视觉任务中.但这些应用往往需要很大的计算量和能耗.例如处理一张图片分类,VGG-16需要做 150亿次计算,而YOLOv3需要执行390亿次计算. 这就带来一个问题,如何在低功耗的嵌入式系统或移动设备中部署深度学习呢?一种解决办法是将计算任务转移到云侧,但这并不能最终解决问题,因为许多深度学习应用程序需要在端侧进行计算,例如部署在无人机(通常会在断网情况下工作)或卫星上的应用. 从2016年起,业界便开始探索模型加速和小型化的研究,也提出了大量小型化方案

【小命令大作用】第三篇 ls 命令 - 查看目录或文件

ls命令查看目录或文件 [语法] ls [选项] (路径) [常用选项] -l    长文本查看文件=windows的右键属性 -d    查看目录 PS:一般配合-l使用 -a    查看目录下所有文件(包括隐藏文件) -i    显示索引号(inode) -F    给文件加标识 -t    以文件修改时间排序 -r    倒序排列 -k    以K为单位显示大小 [实例] 查看/etc/最近修改的文件并以长格式显示 [[email protected] ~]# ls -lrt /etc/ 

新型序列化类库MessagePack,比JSON更快、更小的格式

MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte i

虚拟机极限精简系统XP、7、8.1|体积更小更稳定

一.WinXP 虚拟磁盘(C):5G 系统占用大小:656M 优化列表: 声卡,打印机去掉,无声音(对我来说没用) 禁止一堆无用开机启动项(基本只剩20多项吧) 删除多余右键(基本能删的就删) 去除右下角时间 关闭视频预览 禁用一堆东西(报错,媒体中心等等好多) 禁止外接设置(USB,光盘等等) 利用各种清理工具清理各种注册表,垃圾,字体...... (系统超干净) 二.WIN7 虚拟磁盘(C):5G 系统占用大小:1.49G 优化列表: 声卡,打印机去掉,无声音(对我来说没用) 禁止一堆无用开

Xcode中文件名旁边的小标记的作用

这两天老大教会了我要留意Xcode中文件名右边的小标记,例如: 这里的M就是Xcode中类名旁边的一个symbol,还有A,D等,这些标记用于显示当前文件和代码仓库中该文件对比后的状态: M = Locally modified U = Updated in repository A = Locally added D = Locally deleted I = Ignored R = Replaced in the repository – = The contents of the fold