前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谷歌发布MobileNetV2:推动下一代移动计算机视觉网络

谷歌发布MobileNetV2:推动下一代移动计算机视觉网络

作者头像
新智元
发布2018-05-29 15:27:17
5860
发布2018-05-29 15:27:17
举报
文章被收录于专栏:新智元新智元

新智元报道

来源:research.googleblog.com

作者:Mark Sandler and Andrew Howard

编译:文强

【新智元导读】谷歌今天发布MobileNet重大更新,推出MobileNetV2,在结构上使用depthwise可分离卷积为基础,在层与层之间增加了线性的bottleneck,并且bottleneck之间也增加了残差连接,因此速度更快,精度更高,更适合设备上处理。

去年我们推出了MobileNetV1,这是一系列专为移动设备设计的通用计算机视觉神经网络,支持分类、检测等功能。在个人移动设备上运行深度网络的能力可改善用户体验,随时随地访问,并为安全性、隐私和能耗提供额外优势。随着新应用的出现,用户可以与真实世界进行实时交互,因此对更高效的神经网络也提出了需求。

今天,我们很高兴地宣布推出支持下一代移动视觉应用的MobileNetV2。相比MobileNetV1,MobileNetV2有了一些重大改进,推进了分类、对象检测和语义分割等移动视觉识别技术的最好性能。MobileNetV2作为TensorFlow-Slim图像分类库的一部分发布,你也可以在下载Jupyter笔记本,或者直接在Colaboratory环境中探索MobileNetV2。

MobileNetV2也并入谷歌最新发布的TensorFlow Hub当中作为TF-Hub上的模块使用,预训练好的checkpoints可以在Github上找到。

MobileNetV2基于MobileNetV1的思想,使用在深度上可分离的卷积(depthwise separable convolution)作为构建模块。不过,V2引入了两种新的架构特性:1)在层与层之间的线性的bottleneck,以及2)bottleneck之间的shortcut链路。基本结构如下所示。

MobileNetV2的架构:蓝色模块代表深度可分离卷积层

MobileNetV2的设计直觉是,bottleneck对模型的中间输入和输出进行编码,而内部的层则封装了模型从低级概念(比如像素)转换为更高级的描述(比如图像类别)的能力。最后,与传统的残差连接一样,shortcut可以让训练速度更快,准确性更高。

更多技术细节参见论文“MobileNet V2:Inverted Residuals and Linear Bottlenecks”。

与第一代MobileNets相比性能如何?

总体而言,MobileNetV2模型在精度相同的情况下,整体速度都更高。特别是,V2使用的操作次数减少了2倍,参数减少了30%,在Google Pixel手机上的速度比MobileNetV1模型快30%至40%,同时实现了更高的准确性。

MobileNetV2作为物体检测和分割的特征提取器是非常有效的。例如,当与SSDLite[2]配对进行检测时,新模型在取得相同精度的情况下,要比MobileNetV1快大约35%。我们已经在Tensorflow Object Detection API下开源了这一模型[4]。

为了实现设备上语义分割(on-device semantic segmentation),我们使用MobileNetV2作为语义分割模型DeepLabv3简化版的特征提取器[3]。在语义分割基准PASCAL VOC 2012中,这一模型获得了与使用MobileNetV1作为特征提取器相似的性能,但参数要少5.3倍,MIultiply-Adds操作次数减少了5.2倍。

MobileNetV2提供了一个非常高效的面向移动的模型,可以用作许多视觉识别任务的基础。希望通过与更广泛的学术和开源社区分享这一技术,我们能够帮助推动研究和应用程序的开发。

致谢

感谢核心贡献者朱梦龙, Andrey Zhmoginov Liang-Chieh Chen。特别感谢Bo Chen, Dmitry Kalenichenko, Skirmantas Kligys, Mathew Tang, Weijun Wang, Benoit Jacob, George Papandreou, Zhichao Lu, Vivek Rathod, Jonathan Huang, Yukun Zhu,以及Hartwig Adam

论文MoblieNetV2:反向残差和线性瓶颈

摘要

在本文中,我们描述了一种新的移动架构MobileNetV2,改善了移动模型在很多任务和基准中的state of the art,并且在很多不同尺寸的移动模型上做到了这一点。我们描述了将这些移动模型应用在我们称之为SSDLite的新框架中进行对象检测的有效方法。此外,我们还演示了如何通过我们称为Mobile DeepLabv3的简化形式DeepLabv3来构建移动语义分割模型。

MobileNetV2架构基于反向残差结构,其中残差块的输入和输出是薄的瓶颈层,与传统残差模型相反——传统残差模型在输入中使用扩展表示(expanded representations),而MobileNetV2使用轻量级深度卷积过滤中间扩展层中的特征。此外,我们发现为了维持表示的能力(representational power),去除很窄的层中的非线性非常重要。我们证明这可以提高性能,并提供得出这一设计的直觉。最后,我们的方法能将输入/输出域与转换的表达性分开,为进一步分析提供了便利的框架。我们衡量了新模型在ImageNet分类,COCO物体检测,VOC图像分割方面的性能。我们评估了精度和MAdd操作次数之间的trade-off,以及参数的数量。

论文专门对比了几种移动视觉模型的架构:NasNet是谷歌使用神经网络自动搜索得到的,ShuffleNet则是去年孙剑团队提出的,基于分组逐点卷积和通道重排操作,优于谷歌MobileNet

了解更多:

  1. MobileNetV2论文:https://arxiv.org/pdf/1801.04381.pdf
  2. MobileNet Github:https://github.com/tensorflow/models/tree/master/research/slim/nets/mobilenet
  3. 谷歌博客:https://research.googleblog.com/2018/04/mobilenetv2-next-generation-of-on.html
  4. ShuffleNet介绍:孙剑团队提出移动端神经网络ShuffleNet,优于谷歌MobileNet
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档