Searching for MobileNetV3
1. 摘要
基于网络架构搜索和 NetAdapt 算法,作者提出了新一代的 MobileNets,并通过一些先进的结构对其进行了改进。
作者发布了两个模型 MobileNetV3-Large 和 MobileNetV3-Small 分别应用于资源较多和较少的场景,这些模型也可以被调整并应用到目标检测和语义分割等其它领域。
2. 高效的网络构建块
MobileNetV1 引入了深度可分离卷积作为传统卷积的有效替代,MobileNetV2 引入了线性瓶颈和反转残差结构来构建更加高效的网络层,MnasNet 在 MobileNetV2 的基础上基于 SENet 的思想在瓶颈结构中引入了轻量级的注意力机制。
MobileNetV3 结合了上面这些结构块来构建最高效的模型,除此之外,作者还对 swish 作了改进来作为网络中的激活函数。

作者将注意力模块放在了扩展层的深度卷积后面,此外每一层的非线性激活函数也不一定相同。
3. 网络搜索
网络搜索技术已经是一个用来发现和优化网络架构的强有力工具。针对 MobileNetV3,作者先利用 NAS 优化每个网络块来搜索全局的网络架构,然后再利用 NetAdapt 算法来按顺序微调每一个单独的层。
4. 网络改进
4.1. 重新设计代价比较大的层
通过网络搜索得到模型后,作者观察到网络中一些前面和后面的层比其余的层计算代价更高,因此,作者提出了一些改进来在减少时延的同时保持准确率。
当前基于 MobileNetV2 的变种网络都在最后用一个 1×1 的卷积来扩展到一个高维空间(比如通道数为 1280)用于预测最后的分类。这个操作一般是在池化之前,比如是应用到一个空间大小为 7×7 的特征图上,现在作者将这个 1×1 的卷积放到了池化层后面,这样特征图的空间大小就变成了 1×1,可以大大减少计算量和时延。
一旦这个层被迁移到池化层后面,那么其前面一个瓶颈结构的投影层也就没有必要再存在来降低计算量了,所以作者移除了前面的特征提取层和投影层,来进一步降低计算复杂性。

可以看到,原始最后阶段的 960-960 深度卷积特征提取层和 960-320 的投影层被移除了。
另一个计算代价比较高的层是一开始的卷积层,现在的移动端网络一般都采用 3×3 的卷积,卷积核个数为 32。作者发现这个层采用 hard swish 激活函数和其它激活函数效果一样好,并将卷积核个数减少到了 16 个。
4.2. 非线性激活函数
最近提出了一个称之为 swish 的激活函数用来作为 ReLU 的替代品,其可以显著提高网络的准确性。
\[swish \space x = x \cdot \sigma(x)\]
虽然这个激活函数可以提高准确率,但在移动设备上 sigmoid 函数计算代价是很高的,所以作者对它进行了两个方面的改进。
- 用分段线性的函数来硬模拟 sigmoid;
\[hard-swish[x]=x\frac{ReLU6(x+3)}{6}\]

这样做在实际中有三个好处:ReLU6在几乎所有的软件和硬件上都可以实现;在量化模式下,可以消除 sigmoid 带来的潜在数值精度损失;hard-swish 可以用分段线性函数来实现减少导致时延的内存访问次数。
- 将 swish 应用在较深的网络层就可以带来大部分好处,因此作者只在网络的后半段应用它们;
4.3 大的 squeeze-and-excite 层
这里 SE 层的中间通道数作者设置为扩展层通道数的四分之一,这样做可以在适当增加参数量的情况下提升准确率,对时延没有明确影响。
4.4 网络结构

exp size 表示扩展层的通道数,#out 表示输出通道数,SE 表示是否有 squeeze-and-excite 层,NL 代表激活函数为 ReLU 或者 Hard-Swish,s 表示步长。上面是 MobileNetV3-Large 的结构,下面是 MobileNetV3-Small 的结构。

5. 实验结果
在 Pixel 系列手机上性能对比如下所示:

同样地,我们也可以用宽度乘子和分辨率乘子进一步调整网络大小:

采用不同的激活函数结果对比如下:

获取更多精彩,请关注「seniusen」!

Searching for MobileNetV3的更多相关文章
- 深度学习论文翻译解析(十九):Searching for MobileNetV3
论文标题:Searching for MobileNetV3 论文作者:Andrew Howard, Mark Sandler, Grace Chu, Liang-Chieh Chen, Bo Che ...
- (转载) AutoML 与轻量模型大列表
作者:guan-yuan 项目地址:awesome-AutoML-and-Lightweight-Models 博客地址:http://www.lib4dev.in/info/guan-yuan/aw ...
- (转)AutoML 与轻量模型大列表: awesome-AutoML-and-Lightweight-Models
Awesome-AutoML-and-Lightweight-Models 原文:http://bbs.cvmart.net/articles/414/zi-yuan-automl-yu-qing-l ...
- 神经网络模型(Backbone)
自己搭建神经网络时,一般都采用已有的网络模型,在其基础上进行修改.从2012年的AlexNet出现,如今已经出现许多优秀的网络模型,如下图所示. 主要有三个发展方向: Deeper:网络层数更深,代表 ...
- 自动网络搜索(NAS)在语义分割上的应用(二)
前言: 本文将介绍如何基于ProxylessNAS搜索semantic segmentation模型,最终搜索得到的模型结构可在CPU上达到36 fps的测试结果,展示自动网络搜索(NAS)在语义分割 ...
- MobileNetV1/V2/V3简述 | 轻量级网络
MobileNet系列很重要的轻量级网络家族,出自谷歌,MobileNetV1使用深度可分离卷积来构建轻量级网络,MobileNetV2提出创新的inverted residual with line ...
- CNN结构演变总结(二)轻量化模型
CNN结构演变总结(一)经典模型 导言: 上一篇介绍了经典模型中的结构演变,介绍了设计原理,作用,效果等.在本文,将对轻量化模型进行总结分析. 轻量化模型主要围绕减少计算量,减少参数,降低实际运行时间 ...
- 卷积神经网络学习笔记——轻量化网络MobileNet系列(V1,V2,V3)
完整代码及其数据,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/DeepLearningNote 这里结合网络的资料和Mo ...
- Codeforces Round #236 (Div. 2) C. Searching for Graph(水构造)
题目大意 我们说一个无向图是 p-interesting 当且仅当这个无向图满足如下条件: 1. 该图恰有 2 * n + p 条边 2. 该图没有自环和重边 3. 该图的任意一个包含 k 个节点的子 ...
随机推荐
- RouterOS Firewall v6 流程图
1. Firewall v5和Firewall v6对比图 2.Firewall v6的流程图
- Java内存泄漏真实案例
内存泄漏:当不再需要一个对象时,垃圾收集器会回收它:如果不需要的对象一直在产生而不被收回,就称作“内存泄漏”. 以下为本人在工作中遇到的内存泄漏的案例: 1.对于大量的请求,使用了Executors. ...
- 第二篇.1、python基础之数据类型与变量
一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作用:“变”=>变化,“量”=> ...
- 关于STM32中printf函数的重定向问题
printf函数一般是打印到终端的,stm32芯片调试中经常需要用到串口来打印调试信息,那能不能用串口实现类似windows的Console中的printf呢? 答案是肯定的,那就是printf函数的 ...
- redis 和 memache 缓存的区别
总结一: 1.数据类型 Redis数据类型丰富,支持set list等类型 memcache支持简单数据类型,需要客户端自己处理复杂对象 2.持久性 redis支持数据落地持久化存储 memcache ...
- chown -R lyd usbsend
chown -R lyd usbsend chown -R lyd usbsend chown -R lyd usbsend 某一个目录下所有文件授权给lyd
- 欧拉函数 || Calculation 2 || HDU 3501
题面: 题解:欧拉函数的基础应用,再套个很 easy 的等差数列前 n 项和就成了. 啊,最近在补作业+准备月考+学数论,题就没怎么写,感觉菜得一匹>_< CSL加油加油~! 代码: #i ...
- LogHelper
原文链接 public class LogHelper { static string strLogCOMPath = Directory.GetCurrentDirectory() + " ...
- BZOJ3329 Xorequ[数位DP+递推矩阵快速幂]
数 位 D P 开 long long 首先第一问是转化. 于是就可以二进制下DP了. 第二问是递推,假设最后$n-1$个01位的填法设为$f[i-1]$(方案包括 ...
- 【CF1187C】Vasya And Array
题目大意:给定一个长度为 N 的数组,以及 M 个区间,给出的区间有两个性质,性质一是给定区间中的元素单调不减,性质二是给定区间中的元素存在相邻单调减的元素对,求构造一个符合给定区间条件的序列,若不存 ...