点击我爱计算机视觉标星,更快获取CVML新技术


在现代深度学习算法研究中,通用的骨干网+特定任务网络head成为一种标准的设计模式。比如VGG + 检测Head,或者inception + 分割Head。

在移动端部署深度卷积网络,无论什么视觉任务,选择高精度的计算量少和参数少的骨干网是必经之路。这其中谷歌家去年发布的 MobileNetV2是首选。

在MobileNetV2论文发布时隔一年4个月后,MobileNetV3 来了!

这必将引起移动端网络升级的狂潮,让我们一起来看看这次又有什么黑科技!

昨天谷歌在arXiv上公布的论文《Searching for MobileNetV3》,详细介绍了MobileNetV3的设计思想和网络结构。

先来说下结论:MobileNetV3 没有引入新的 Block,题目中Searching已经道尽该网络的设计哲学:神经架构搜索!

研究人员公布了 MobileNetV3 有两个版本,MobileNetV3-Small 与 MobileNetV3-Large 分别对应对计算和存储要求低和高的版本。

下图分别是MobileNetV3两个版本与其他轻量级网络在Pixel 1 手机上的计算延迟与ImageNet分类精度的比较。可见MobileNetV3 取得了显著的比较优势。

下图是ImageNet分类精度、MADD计算量、模型大小的比较,MobileNetV3依然是最优秀的。

高效的网络构建模块

前面已经说过,MobileNetV3 是神经架构搜索得到的模型,其内部使用的模块继承自:

1. MobileNetV1 模型引入的深度可分离卷积(depthwise separable convolutions);

2. MobileNetV2 模型引入的具有线性瓶颈的倒残差结构(the inverted residual with linear bottleneck);

3. MnasNet 模型引入的基于squeeze and excitation结构的轻量级注意力模型。

这些被证明行之有效的用于移动端网络设计的模块是搭建MobileNetV3的积木。

互补搜索

在网络结构搜索中,作者结合两种技术:资源受限的NAS(platform-aware NAS)与NetAdapt,前者用于在计算和参数量受限的前提下搜索网络的各个模块,所以称之为模块级的搜索(Block-wise Search) ,后者用于对各个模块确定之后网络层的微调。

这两项技术分别来自论文:

M. Tan, B. Chen, R. Pang, V. Vasudevan, and Q. V. Le. Mnasnet: Platform-aware neural architecture search for mobile. CoRR, abs/1807.11626, 2018.

T. Yang, A. G. Howard, B. Chen, X. Zhang, A. Go, M. Sandler, V. Sze, and H. Adam. Netadapt: Platform-aware neural network adaptation for mobile applications. In ECCV, 2018

前者相当于整体结构搜索,后者相当于局部搜索,两者互为补充。

到这里,我们还没看到算法研究人员的工作在哪里(启动训练按钮?)

继续往下看。

网络改进

作者们发现MobileNetV2 网络端部最后阶段的计算量很大,重新设计了这一部分,如下图:

这样做并不会造成精度损失。

另外,作者发现一种新出的激活函数swish x 能有效改进网络精度:

但就是计算量太大了。

于是作者对这个函数进行了数值近似:

事实证明,这个近似很有效:

从图形上看出,这两个函数的确很接近。

MobileNetV3 网络结构!

这就是今天的主角了!

使用上述搜索机制和网络改进,最终谷歌得到的模型是这样(分别是MobileNetV3-Large和MobileNetV3-Small):

内部各个模块的类型和参数均已列出。

谷歌没有公布用了多少时间搜索训练。

目前谷歌还没有公布MobileNetV3的预训练模型,不过读者可以按照上述结构构建网络在ImageNet上训练得到权重。

实验结果

作者使用上述网络在分类、目标检测、语义分割三个任务中验证了MobileNetV3的优势:在计算量小、参数少的前提下,相比其他轻量级网络,依然在在三个任务重取得了最好的成绩。

下图是ImageNet分类Top-1精度、计算量、参数量及在Pixel系列手机实验的结果:

下图是与前一代MobieNetV2的比较结果:

这是使用其构筑的SSDLite目标检测算法在MS COCO数据集上的比较结果:

V3-Large取得了最高的精度,V3-Small 取得了V2近似的精度,速度却快很多。

另外作者基于MobieNetV3设计了新的轻量级语义分割模型Lite R-ASPP:

下图是使用上述分割算法在CItyScapes验证集上的结果比较:

精度提升不明显,速度有显著提升。

下图是与其他轻量级语义分割算法的比较,MobileNetV3取得了不小的优势。

总结一下:

MobileNetV3-Large在ImageNet分类上的准确度与MobileNetV2相比提高了3.2%,同时延迟降低了15%。

MobileNetV3-large 用于目标检测,在COCO数据集上检测精度与MobileNetV2大致相同,但速度提高了25%。

在Cityscapes语义分割任务中,新设计的模型MobileNetV3-Large LR-ASPP 与 MobileNetV2 R-ASPP分割精度近似,但快30%。

期待谷歌早日将其预训练模型开源~

神经架构搜索火了,但感觉是不是算法设计也越来越乏味了。。。

欢迎发表你的看法。

加群交流

关注网络压缩与深度学习应用部署技术,欢迎加入52CV-相关专业讨论群,扫码添加52CV君拉你入群,

(请务必注明:部署)

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:702781905。

(不会时时在线,如果没能及时通过验证还请见谅)


长按关注我爱计算机视觉

麻烦给我一个“在看”

重磅!MobileNetV3 来了!相关推荐

  1. 超越GhostNet!吊打MobileNetV3!MicroNet通过极低FLOPs实现图像识别(文末获取论文)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文提出Micro-Factorized卷积,将点和深度卷积分解为低秩矩阵,并提出新的激活函数,称为D ...

  2. 超越MobileNetV3,谷歌提出MobileDets:移动端目标检测新标杆

    [导读]:在移动端上的目标检测架构,目前比较流行的三大派系分别为:谷歌出品的MobileNet系列(v1-v3).旷视科技产品的ShuffleNet系列(v1-v2).Facebook出品的FBNet ...

  3. 重磅更新!YoloV4最新论文与源码!权重!结构!翻译!

    今年初 YOLO 之父Joseph Redmon宣布推出CV界,引起轩然大波,大家纷纷猜测YOLO是否不会再出v4版,退出历史舞台. 今天,YOLOv4重磅发布,作者为俄罗斯开发者 Alexey Bo ...

  4. 论文盘点:ICCV 2019 Top 20,MobileNetV3居首!

    ICCV 是计算机视觉领域三大顶会之一,往届都是奇数年开(与此对应ECCV 在偶数年开,CVPR 每年都开),ICCV 2019 于 2019年10月27日-11月2日召开,距今不足一年. 继盘点CV ...

  5. 荟聚NeurIPS顶会模型、智能标注10倍速神器、人像分割SOTA方案、3D医疗影像分割利器,PaddleSeg重磅升级!

    导读 图像分割是计算机视觉三大任务之一,基于深度学习的图像分割技术也发挥日益重要的作用,广泛应用于智慧医疗.工业质检.自动驾驶.遥感.智能办公等行业. 然而在实际业务中,图像分割依旧面临诸多挑战,比如 ...

  6. 重磅开源! 9 个 yyds 图像识别模型

    人脸.车辆.人体属性.卡证.交通标识等经典图像识别能力,在我们当前数字化工作及生活中发挥着极其重要的作用.业内也不乏顶尖公司提供的可直接调用的API.SDK,但这些往往面临着定制化场景泛化效果不好.价 ...

  7. YOLOv5目标检测源码重磅发布了!

    YOLOv5目标检测源码重磅发布了! https://github.com/ultralytics/yolov5 该存储库代表了对未来对象检测方法的超解析开源研究,并结合了在使用之前的YOLO存储库在 ...

  8. 【神经网络】(16) MobileNetV3 代码复现,网络解析,附Tensorflow完整代码

    各位同学好,今天和大家分享一下如何使用 Tensorflow 构建 MobileNetV3 轻量化网络模型. MobileNetV3 做了如下改动(1)更新了V2中的逆转残差结构:(2)使用NAS搜索 ...

  9. 东方日升重磅推出白色双玻组件 助力推动度电成本下滑

    近日,为期3天的日本国际太阳能展览会PVExpo2017在日本东京圆满落幕.A股光伏龙头企业东方日升携60片单多晶组件.72片单多晶组件与白色多晶双玻组件等一系列高效产品亮相展会,并凭借良好的抗PID ...

最新文章

  1. 在华为云服务器的Linux系统中搭建开发环境
  2. c#中的非托管资源释放 (Finalize和Dispose)
  3. C# 手动/自动保存图片
  4. 怎么设置电脑壁纸_电脑怎么设置双屏或多屏显示?
  5. 高性能浏览器网络(High Performance Browser Networking) 第二章
  6. MySQL复习值代码知识点(2)
  7. 百度云文章的链接地址抓取工具
  8. 小蚂蚁学习数据结构(16)——串的堆分配储存代码演示
  9. java接口多态的变量能_「JAVA」多态的灵魂,面向接口的程序设计,这才是你该懂得的接口(interface)...
  10. oracle滚动统计,sql – 按月滚动或运行Oracle总计
  11. 项目,项目集与项目组合的区别
  12. 计算机桌面设置,电脑入门(十一)桌面个性化设置
  13. Hadoop mapreduce课程设计-全球历史平均气温数据分析
  14. React源码解毒 - render方法解析
  15. 基带信号与频带信号的基础认识
  16. MATLAB 字符串数组
  17. Ubuntu20.04编译并运行imu_utils,并且标定IMU
  18. python解压zip_用Python处理ZIP压缩包
  19. 公众号文章链接被微信拦截(被封锁、被屏蔽、被和谐)的最新解决方法
  20. 胆碱能型荨麻疹(遇热过敏型)

热门文章

  1. c语言 printf_C语言(4) 屏幕输出指令printf
  2. 单片机外设基本概念_单片机基本概念
  3. android intent-filter category,android intent-filter category.DEFAULT
  4. cocos2dx标准容器_cocos2dx的模板容器简单使用(Vector,Map,Value)
  5. android10新功能,Android10(Api 29)新特性
  6. win10更新后开不了机_win7在线更新window10系统
  7. 计算机软件应用控制程序,一种计算机应用程序实时控制软件的制作方法
  8. linux vi 撤销与恢复,vi撤销与恢复
  9. java周志第二周_第二周JAVA学习日志
  10. 南华大学计算机学院吴取劲,一种基于图深度优先搜索的基本路径集自动生成优化算法-南华大学学报.PDF...