轻量级网络之mobilenet_v1
1、动机
MobileNet是为移动和嵌入式设备提出的高效模型,使用深度可分离卷积(depthwise separable convolutions,即Xception变体结构)来构建轻量级深度神经网络。
2、核心技术
depthwise separable卷积
depthwise separable convolution可以进一步拆分成depthwise卷积和pointwise卷积,如下图所示为普通卷积和depthwise separable卷积的对比
优点:既增加了网络的非线性,又极大的减少了计算量。大约变成了 1 / (K_h * K_w) 的计算量。对于3*3的卷积核,差不多减少了9倍。然而在实际的使用中,dw卷积加速没有那么快,一是加速库支持的不好,另外就是dw卷积对访存性能要求比较高。
Relu6
使用relu6. 对relu输出的最大值进行clip。Relu在x>0的区域使用x进行线性激活,有可能造成激活后的值太大,影响模型的稳定性,为抵消ReLU激励函数的线性增长部分,可以使用Relu6函数。
另外一种解释:主要是为了在移动端设备float16/int8的低精度时也能有很好的数值分辨率,如果对普通relu函数的激活范围不加限制,输出的范围为0到正无穷,如果激活值非常大,分布在一个很大的范围内,则低精度的loat16/int8就无法良好地精确描述如此大范围地数值,从而带来精度地损失。
网络大小控制
MobileNetV1引入了两个超参数来进一步平衡模型大小以及准确率:通道系数α∈(0,1]与分辨率系数ρ∈(0,1]。所有层的 通道数(channel) 乘以 α 参数(四舍五入),模型大小近似下降到原来的 α^2倍,计算量下降到原来的 α^2 倍;输入层的 分辨率(resolution) 乘以 ρ 参数 (四舍五入),等价于所有层的分辨率乘 ρ ,模型大小不变,计算量下降到原来的 ρ^2倍
3、网络结构
4、网络性能
Model |
Million MACs |
Million Parameters |
Top-1 Accuracy |
Top-5 Accuracy |
MobileNet_v1_1.0_224 |
569 |
4.24 |
70.9 |
89.9 |
MobileNet_v1_1.0_192 |
418 |
4.24 |
70.0 |
89.2 |
MobileNet_v1_1.0_160 |
291 |
4.24 |
68.0 |
87.7 |
MobileNet_v1_1.0_128 |
186 |
4.24 |
65.2 |
85.8 |
MobileNet_v1_0.75_224 |
317 |
2.59 |
68.4 |
88.2 |
MobileNet_v1_0.75_192 |
233 |
2.59 |
67.2 |
87.3 |
MobileNet_v1_0.75_160 |
162 |
2.59 |
65.3 |
86.0 |
MobileNet_v1_0.75_128 |
104 |
2.59 |
62.1 |
83.9 |
MobileNet_v1_0.50_224 |
150 |
1.34 |
63.3 |
84.9 |
MobileNet_v1_0.50_192 |
110 |
1.34 |
61.7 |
83.6 |
MobileNet_v1_0.50_160 |
77 |
1.34 |
59.1 |
81.9 |
MobileNet_v1_0.50_128 |
49 |
1.34 |
56.3 |
79.4 |
MobileNet_v1_0.25_224 |
41 |
0.47 |
49.8 |
74.2 |
MobileNet_v1_0.25_192 |
34 |
0.47 |
47.7 |
72.3 |
MobileNet_v1_0.25_160 |
21 |
0.47 |
45.5 |
70.3 |
MobileNet_v1_0.25_128 |
14 |
0.47 |
41.5 |
66.3 |
5、参考资料
MobileNet 进化史: 从 V1 到 V3(V1篇)
来自 <https://blog.csdn.net/kuweicai/article/details/103267230>
来自 <https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet_v1.md>
轻量级网络之mobilenet_v1相关推荐
- 轻量级网络之mobilenet_v1详解
轻量级网络之mobilenet_v1详解 前言:学习网络结构有一段时间了,记录下mobilenet_v1的结构 论文地址:https://arxiv.org/pdf/1704.04861.pdf 一. ...
- 『高性能模型』轻量级网络梳理
墙裂推荐:那些Network能work的本质究竟是啥? SqueezeNet 轻量化网络:SqueezeNet 2017年的文章,和后面的几篇文章一对比思路显得比较老套:大量的1*1的卷积和少量的3* ...
- 检测、分割用什么轻量级网络呢?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 由于深度学习的关系,计算机视觉领域发展迅速,各大榜单精度刷的很高, ...
- 14种轻量级网络综述 — 主干网络篇
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨VincentLee 来源丨晓飞的算法工程笔记 编辑丨极市平台 导读 早期的卷积神经很少考虑参数 ...
- 混合深度卷积,更少参数下的轻量级网络
作者:Tom Hardy Date:2020-01-08 来源:混合深度卷积,更少参数下的轻量级网络
- 基于Attention机制的轻量级网络架构以及代码实现
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要10分钟 Follow小博主,每天更新前沿干货 导读 之前详细介绍了轻量级网络架构的开源项目,详情请看深度学习中的轻量级网络架构总结与代码实现 ...
- MobileNetV1/V2/V3简述 | 轻量级网络
MobileNet系列很重要的轻量级网络家族,出自谷歌,MobileNetV1使用深度可分离卷积来构建轻量级网络,MobileNetV2提出创新的inverted residual with line ...
- 大幅涨点!孙剑团队提出新激活层ACON和轻量级网络TFNet
知乎原文: https://zhuanlan.zhihu.com/p/363274457 论文链接: https://arxiv.org/pdf/2009.04759.pdf 代码: https:// ...
- nmap扫描ipv6端口_Flan Scan:Cloudflare开源的轻量级网络漏洞扫描程序
日前,Cloudflare宣布开源其内部的轻型网络漏洞扫描工具Flan Scan.Flan Scan是一款基于Nmap打包的Python漏洞扫描程序.基于Nmap的开源强大,灵活性,Cloudflar ...
最新文章
- 深入理解:RabbitMQ的前世今生
- 高级交换路由课程PPT下载打包了
- 【数据结构(C语言版)系列一】 线性表
- LibJson数据解析方法
- 使用nginx代理跨域,使用nginx代理bing的每日一图
- 两个引用指向同一个数组的内存图
- Hadoop常见问题 | Hadoop能干什么?
- day31 java的多线程(1)
- 前端零碎问题(四)css3
- jQuery.fn.extend()方法
- 你见过花140年拼出来的现存“古代最高积木”吗?
- 【财富空间】一个人为什么要努力?(见过最好的回答)
- python求矩阵的秩_python – 计算所有子矩阵有多少个矩阵具有满秩
- 写好一份数据分析报告需要注意的13个要点
- 记一次线上微信公众号迁移遇到的坑
- 深度剖析为何选取相关性系数评价因子
- 10649物联卡查询, 10649物联卡官网
- 旋转编码器:如何在 Arduino 上使用 Keys KY-040 编码器
- 汇编(六):[BX] 和 Loop 指令
- 深入浅出原核基因表达调控(乳糖操纵子、色氨酸操纵子)
热门文章
- ensp保存文件在哪_eNSP——配置通过FTP进行文件操作
- 开源项目管理软件 禅道
- canopen服务器协议,ZOPC_Server(ZLG通用OPC服务器)CANopen协议插件
- 新的一年babel了解一下
- Google、Facebook、GitHub、Babel核心成员齐聚,第13届D2前端技术论坛正式启动
- Android Studio 2.3 Canary 3 版本发布
- 关于996,我想说的 - 人在高潮享受成就,人在低潮享受人生
- Apache中的Order Allow,Deny用法详解
- [ZZ]Debug VBScript with Visual Studio
- oracle usehash,/*+use_hash(t1 t2)*/的神奇