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相关推荐

  1. 轻量级网络之mobilenet_v1详解

    轻量级网络之mobilenet_v1详解 前言:学习网络结构有一段时间了,记录下mobilenet_v1的结构 论文地址:https://arxiv.org/pdf/1704.04861.pdf 一. ...

  2. 『高性能模型』轻量级网络梳理

    墙裂推荐:那些Network能work的本质究竟是啥? SqueezeNet 轻量化网络:SqueezeNet 2017年的文章,和后面的几篇文章一对比思路显得比较老套:大量的1*1的卷积和少量的3* ...

  3. 检测、分割用什么轻量级网络呢?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 由于深度学习的关系,计算机视觉领域发展迅速,各大榜单精度刷的很高, ...

  4. 14种轻量级网络综述 — 主干网络篇

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨VincentLee 来源丨晓飞的算法工程笔记 编辑丨极市平台 导读 早期的卷积神经很少考虑参数 ...

  5. 混合深度卷积,更少参数下的轻量级网络

    作者:Tom Hardy Date:2020-01-08 来源:混合深度卷积,更少参数下的轻量级网络

  6. 基于Attention机制的轻量级网络架构以及代码实现

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要10分钟 Follow小博主,每天更新前沿干货 导读 之前详细介绍了轻量级网络架构的开源项目,详情请看深度学习中的轻量级网络架构总结与代码实现 ...

  7. MobileNetV1/V2/V3简述 | 轻量级网络

    MobileNet系列很重要的轻量级网络家族,出自谷歌,MobileNetV1使用深度可分离卷积来构建轻量级网络,MobileNetV2提出创新的inverted residual with line ...

  8. 大幅涨点!孙剑团队提出新激活层ACON和轻量级网络TFNet

    知乎原文: https://zhuanlan.zhihu.com/p/363274457 论文链接: https://arxiv.org/pdf/2009.04759.pdf 代码: https:// ...

  9. nmap扫描ipv6端口_Flan Scan:Cloudflare开源的轻量级网络漏洞扫描程序

    日前,Cloudflare宣布开源其内部的轻型网络漏洞扫描工具Flan Scan.Flan Scan是一款基于Nmap打包的Python漏洞扫描程序.基于Nmap的开源强大,灵活性,Cloudflar ...

最新文章

  1. 深入理解:RabbitMQ的前世今生
  2. 高级交换路由课程PPT下载打包了
  3. 【数据结构(C语言版)系列一】 线性表
  4. LibJson数据解析方法
  5. 使用nginx代理跨域,使用nginx代理bing的每日一图
  6. 两个引用指向同一个数组的内存图
  7. Hadoop常见问题 | Hadoop能干什么?
  8. day31 java的多线程(1)
  9. 前端零碎问题(四)css3
  10. jQuery.fn.extend()方法
  11. 你见过花140年拼出来的现存“古代最高积木”吗?
  12. 【财富空间】一个人为什么要努力?(见过最好的回答)
  13. python求矩阵的秩_python – 计算所有子矩阵有多少个矩阵具有满秩
  14. 写好一份数据分析报告需要注意的13个要点
  15. 记一次线上微信公众号迁移遇到的坑
  16. 深度剖析为何选取相关性系数评价因子
  17. 10649物联卡查询, 10649物联卡官网
  18. 旋转编码器:如何在 Arduino 上使用 Keys KY-040 编码器
  19. 汇编(六):[BX] 和 Loop 指令
  20. 深入浅出原核基因表达调控(乳糖操纵子、色氨酸操纵子)

热门文章

  1. ensp保存文件在哪_eNSP——配置通过FTP进行文件操作
  2. 开源项目管理软件 禅道
  3. canopen服务器协议,ZOPC_Server(ZLG通用OPC服务器)CANopen协议插件
  4. 新的一年babel了解一下
  5. Google、Facebook、GitHub、Babel核心成员齐聚,第13届D2前端技术论坛正式启动
  6. Android Studio 2.3 Canary 3 版本发布
  7. 关于996,我想说的 - 人在高潮享受成就,人在低潮享受人生
  8. Apache中的Order Allow,Deny用法详解
  9. [ZZ]Debug VBScript with Visual Studio
  10. oracle usehash,/*+use_hash(t1 t2)*/的神奇