轻量化网络:SqueezeNet
SqueezeNet 发表于ICLR-2017,作者分别来自Berkeley和Stanford,SqueezeNet不是模型压缩技术,而是 “design strategies for CNN architectures with few parameters”
创新点:
1. 采用不同于传统的卷积方式( 类似于inception思想) ,提出fire module;fire module包含两部分分:squeeze层+expand层
创新点inception的思想太接近,应该不算是突破性的。首先squeeze层,就是1*1卷积,其卷积核数要少于上一层feature map数,这个操作从inception系列开始就有了,并称之为压缩,但我觉得“压缩”更为妥当。
Expand层用1*1 和3*3 分别卷积,然后concat,这个操作再inception系列里面也有啊。。。
——————————————分割线————————————-
SqueezeNet的核心在于Fire module,Fire module 由两层构成,分别是squeeze层+expand层,如下图所示,squeeze层是一个1*1卷积核的卷积层,expand层是1*1 和3*3卷积核的卷积层,expand层中,把1*1 和3*3 得到的feature map 进行concat,具体操作如下图2所示
Fire module输入的feature map为H*W*M的,输出的feature map为H*M*(e1+e3),可以看到feature map的分辨率是不变的,变的仅是维数,也就是通道数,这一点和VGG的思想一致。
首先,H*W*M的feature map经过Squeeze层,得到S1个feature map,这里的S1均是小于M的,以达到“压缩”的目的,详细思想可参考Google的Inception系列。
其次,H*W*S1的特征图输入到Expand层,分别经过1*1卷积层和3*3卷积层进行卷积,再将结果进行concat,得到Fire module的输出,为 H*W*(e1+e3)的feature map。
fire模块有三个可调参数:S1,e1,e3,分别代表卷积核的个数,同时也表示对应输出feature map的维数,在本文提出的SqueezeNet结构中,e1=e3=4s1
接下来看squeezenet.网络结构:
首先经过conv1,之后是fire2-9,最后是一个conv10,最终采用global avgpool代替FC层进行输出;
更详细参数如下图所示:
看看squeezenet与alexnet的对比:
这里采用了deep compression技术,对squeezenet进行了压缩,最终才会得到0.5M的模型,并且模型性能还不错;
Deep compression是ICLR-2016 best paper!详细见:
(https://arxiv.org/pdf/1510.00149.pdf)
看了上图再回头看一看论文题目:
SqueezeNet :AlexNet-level accuracy with 50x fewer parameters and <0.5MB
Squeezenet比alexnet参数少50倍,这个没问题,上图倒数第三行可见;但是, and < 0.5MB, 这个和squeezenet完全没关系啊!是用了别的技术获得的。很容易让人误以为squeezenet可以压缩模型!!
轻量化网络:SqueezeNet相关推荐
- 经典网络结构 (八):轻量化网络 (SqueezeNet, MobileNet, ShuffleNet)
目录 SqueezeNet Fire Module: Squeeze and Expand SqueezeNet SqueezeNet 总结 MobileNet 深度可分离卷积 (Depthwise ...
- 轻量化网络-SqueezeNet(2016)
A.为什么需要轻量化网络? 小模型有更高效的分布式训练效率.通信开销一直是分布式CNN训练的制约因素,在数据并行训练中,通信开销与模型参数是成比例的,模型越小,通信开销就越小. 推送一个新模型到客户端 ...
- 轻量化网络:SqueezeNext
<SqueezeNext: Hardware-Aware Neural Network Design> 于2018年3月公开在arXiv(美[ˈɑ:rkaɪv]) :https://arx ...
- 轻量化网络—ShuffleNet V1 V2理解
轻量化网络-ShuffleNetV2理解 ShuffleNetV2原始论文:https://openaccess.thecvf.com/content_ECCV_2018/html/Ningning_ ...
- 深度学习之轻量化网络
人工智能大力发展的趋势下,移动端和嵌入式设备上部署是迫切需求,由于现如今模型越来越深,越来越大,所以轻量化是有必要的. 轻量化网络要做什么呢?在尽量保持精度的前提下,从体积和速度两方面对网络进行轻量化 ...
- 【神经网络】(11) 轻量化网络MobileNetV1代码复现、解析,附Tensorflow完整代码
各位同学好,今天和大家分享一下如何使用 Tensorflow 复现轻量化神经网络模型 MobileNetV1.为了能将神经网络模型用于移动端(手机)和终端(安防监控.无人驾驶)的实时计算,通常这些设备 ...
- 突破置换模块计算瓶颈,MSRA开源轻量版HRNet,超越主流轻量化网络!|CVPR2021...
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨happy 审稿丨邓富城 编辑丨极市平台 极市导读 本文从HRNet与轻量化网络ShuffleN ...
- 【论文解读】突破置换模块计算瓶颈,MSRA开源轻量版HRNet,超越主流轻量化网络!|CVPR2021...
作者丨happy 审稿丨邓富城 编辑丨极市平台 极市导读 本文从HRNet与轻量化网络ShuffleNet的组合出发,针对置换模块存在的计算瓶颈问题,提出了一种高效条件通道加权单元替换1x1卷积,并得 ...
- 轻量化网络MobileNet解析
论文题目:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 论文链接:https:/ ...
- 轻量化网络:ShuffleNet V2
Guideline 1-4: ShuffleNet V2 疑问: ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture ...
最新文章
- double free or corruption (fasttop)
- GPU 机器学习开箱即用
- Java中Socket通信-客户端向服务端发送照片
- centos7修改ip地址命令_CentOS7 安装 httpd 服务
- ETE - 在线可视化进化树和多序列比对
- 开发者如何学好 MongoDB
- 安装pgsql解压版操作步骤
- 微信小程序|开发实战篇之request请求(单个、多个参数,json对象,header)
- c语言将两个文件合成一个,keil中怎么把两个c程序怎么同时同时编译生成一个hex文件...
- spine findBone
- 平面图设计软件测试自学,CAD平面自学网教程
- 计算机在中医方剂中的应用,计算机中医应用(精).docx
- Google Earth Engine(GEE)——使用Combining reducers计算均值和标准差
- 基层群众工作存在的问题_联系服务群众方面存在的问题及原因
- 上传身份证照片js_web端上传图片,截取证件照
- 互联网公司为何杀死中年人?三年醇,五年陈,十年滚!
- 神经网络(Neural Networks)简介
- vue引入腾讯地图,去除水印
- Leetcode 994 腐烂的柿子
- 玩转系统|如何Windows Update自动更新
热门文章
- hdu1212(大数取模)
- 解决 网上下载的例子 My Mac 64-bit 不能运行的问题
- TeeChart.Pro.v7.06在BDS2006中的安装(For Win32)
- 数据访问类用静态方法。。。当多个人调用时返回值会返回别人的?。。。特别奇怪的问题???...
- 面向对象第四单元总结和期末总结
- JS_prototype
- 在Java中调用与系统有关的剪切板Clipboard
- ORM(Object Relational Mapping,对象/关系映射)
- 一文彻底明白linux中的selinux到底是什么
- [转]6个开源数据科学项目