谷歌从 17 年发布 MobileNets 以来,每隔一年即对该架构进行了调整和优化。现在,开发者们对 MobileNetV3 在一次进行了改进,并将 AutoML 和其他新颖的思想融入到该移动端的深度学习框架中。谷歌发布了相关文章对升级后的 MobileNetV3 进行了讲解,雷锋网 AI 开发者将其整理编译如下。

深度学习融入到移动端的最新创意

将深度学习融合到移动端正成为人工智能领域最活跃的研究领域之一。而设计能够在移动端运行时有效执行的深度学习模型,则需要对神经网络中的许多架构范例进行更进一步的思考。

移动端的深度学习模型需要平衡复杂神经网络结构的精度和移动运行时的性能约束。在移动端深度学习领域中,计算机视觉仍然是最具挑战性的领域之一。

在 2017 年,谷歌推出了基于 TensorFlow 的计算机视觉系列模型 MobileNets。而最新的 MobileNets 架构正是于几天前发布,其中包含了一些改进移动端计算机视觉模型的有趣想法。

MobileNetV3 是该模型结构的第三个版本,它能够为许多主流的移动应用程序提供图像分析的功能。该体系结构还被集成到流行的框架中,例如:TensorFlow Lite。

MobileNet 需要尽可能维持其中发展较快的计算机视觉和深度学习领域与移动环境局限性之间平衡。因此,谷歌一直在定期对 MobileNets 架构进行更新,其中也加入了一些有关于深度学习领域中最新颖的想法。

MobileNetV3 论文地址:

https://arxiv.org/abs/1905.02244

来自 MobileNetV1 的启发

MobileNets 的第一个版本于 2017 年春季发布,其核心思想是引入一系列基于 TensorFlow 的计算机视觉模型,在最大限度地提高精度的同时,平衡设备上或嵌入式应用程序的有限资源。从概念上讲,MobileNetV1 正试图实现两个基本目标,以构建移动第一计算机视觉模型:

  • 较小的模型 参数数量更少

  • 较小复杂度 运算中乘法和加法更少

遵循这些原则,MobileNetV1 是一个小型、低延迟、低功耗的参数化模型,可以满足各种用例的资源约束。它们可以用于实现:分类、检测、嵌入和分割等功能。

MobileNetV1 的核心架构则基于一个流线型架构,该架构使用深度可分离卷积网络来构建了轻量级深度神经网络。就神经网络结构而言,深度可分离卷积将卷积核分成两个单独的卷积核,这两个卷积核依次进行两个卷积,即先是深度卷积,然后进行逐点卷积,如下图所示。

在 MobileNetV1 中,深度卷积网络的每个输入信道都应用了单个滤波器。然后,逐点卷积应用 1 x1 卷积网络来合并深度卷积的输出。这种标准卷积方法既能滤波,又能一步将输入合并成一组新的输出。在这之中,深度可分离卷积将其分为两层,一层用于滤波,另一层则用于合并。

第一代 MobileNetV1 的实现作为了 TensorFlow Slim 图像分类库的一部分;而随着新的移动应用程序使用全新的模式进行构建,就诞生出了新的想法以改进整体架构。

升级后的二代 MobileNetV2

第二个版本的 MobileNet 架构于 2018 年初发布。MobileNetV2 则基于 MobileNetV1 的一些思想,并结合新的思想来优化了诸如:分类、目标检测和语义分割等任务的体系结构。从架构的角度来看,MobileNetV2 为架构增添了两个新模块:

  • 引入了层与层之间的线性瓶颈

  • 瓶颈之间的快捷连接。(基本结构如下所示)

MobileNetV2 之中的核心思想是,瓶颈对模型的中间输入和输出进行编码,而内层则用于封装模型从较低级别概念(如:像素等)转换到较高级别描述符(如:图像类别等)的能力。最后,与传统的剩余连接一样,快捷方式能够实现更快地训练速度和更高的准确性。

加入 AutoML 的 MobileNetsV3

MobileNets 架构的最新改进在今年发表的一篇研究论文中(https://arxiv.org/abs/1905.02244)进行了总结,其主要贡献是使用 AutoML 为给定的问题找到最佳的神经网络架构;这与之前版本架构的人工设计形成了鲜明对比。

具体来说,MobileNetV3 利用了两种 AutoML 技术,即:

  • MnasNet(一种自动移动神经体系结构搜索(MNAS)方法,https://ai.google/research/pubs/pub47217/)

  • NetAdapt(适用于移动应用程序的平台感知型算法,https://arxiv.org/pdf/1804.03230.pdf)

MobileNetV3 首先使用 MnasNet 进行粗略结构的搜索,然后使用强化学习从一组离散的选择中选择最优配置。之后,MobileNetV3 再使用 NetAdapt 对体系结构进行微调,这体现了 NetAdapt 的补充功能,它能够以较小的降幅对未充分利用的激活通道进行调整。

除此之外,MobileNetV3 的另一个新颖想法是在核心架构中加入一种名为「Squeeze-and-Excitation」的神经网络(简称 SE-Net,也是 ImageNet 2017 图像分类冠军)。该神经网络的核心思想是通过显式地建模网络卷积特征通道之间的相互依赖关系,来提高网络所产生表示的质量。具体而言,就是通过学习来自动获取到每个特征通道的重要程度,然后依照这一结果去提升有用的特征并抑制对当前任务用处不大的特征。

为此,开发者们提出了一种允许网络进行特征重新校准的机制。通过该机制,网络可以学习使用全局信息来选择性地强调信息性特征,并抑制不太有用的特征。

而在 MobileNetV3 的例子中,该架构扩展了 MobileNetV2,将 SE-Net 作为搜索空间的一部分,最终得到了更稳定的架构。

MobileNetV3 中还有一个有趣的优化,则是重新设计了体系结构中一些运行成本较高的层。第二代 MobileNetV2 中的一些层是模型准确性的基础,但也引入了潜在变量。通过合并一些基本的优化功能,MobileNetV3 能够在不牺牲准确性的情况下,删除 MobileNetV2 体系结构中三个运行成本较高的层。

因此,MobileNetV3 相比以前的架构有了显著的改进。例如,在目标检测任务中,MobileNetV3 的操作延迟在减少 25% 的同时,维持和以前版本相同的精度。在分类任务中,也能看到类似的改进,如下图所示:

目前,可以看到 MobileNets 仍然是移动计算机视觉中最先进的体系结构之一。而在这过程中,AutoML 在 MobileNetV3 中的融合也为我们打开了一扇通向更多充满创意的的架构大门,这些架构可能也是我们曾经从未想过的。

GitHub 中提供了 MobileNets 的最新版本,Tensorflow 目标检测 API 中则包含了 MobileNetV3 的具体实现,相关地址如下。

MobileNets 最新版本 GitHub 地址:

https://github.com/tensorflow/models/tree/master/research/slim/nets/mobilenet

MobileNetV3 的具体实现:

https://github.com/tensorflow/models/tree/master/research/object_detection

谷歌开源 MobileNetV3:新思路 AutoML 改进计算机视觉模型移动端相关推荐

  1. 模型部署到移动端_谷歌开源 MobileNetV3:新思路 AutoML 改进计算机视觉模型移动端...

    雷锋网 AI 开发者按:谷歌从 17 年发布 MobileNets 以来,每隔一年即对该架构进行了调整和优化.现在,开发者们对 MobileNetV3 在一次进行了改进,并将 AutoML 和其他新颖 ...

  2. Model Search:炼丹师最强危机,谷歌开源最强AutoML工具!

    作者:杰少,公众号:炼丹笔记 Model Search 简介 神经网络(NN)的成功通常取决于它对各种任务的泛化能力.然而,设计一个泛化性较好的神经网络是非常具有挑战性的,因为研究界对神经网络如何泛化 ...

  3. 谷歌开源MobileNets:在移动设备上高效运行的计算机视觉模型

    吴唯 编译自 Google Research Blog 量子位出品 | 公众号 QbitAI 今早谷歌在自家的科研博客上发文,宣布开源MobileNets--一组移动端优先的计算机视觉模型.通过Ten ...

  4. AutoML大提速,谷歌开源自动化寻找最优ML模型新平台

    为了帮助研究者自动.高效地开发最佳机器学习模型,谷歌开源了一个不针对特定领域的 AutoML 平台.该平台基于 TensorFlow 构建,非常灵活,既可以找出最适合给定数据集和问题的架构,也能够最小 ...

  5. AutoML大提速,谷歌开源自动化寻找最优ML模型新平台Model Search

    作者|魔王.杜伟 来源|机器之心 为了帮助研究者自动.高效地开发最佳机器学习模型,谷歌开源了一个不针对特定领域的 AutoML 平台.该平台基于 TensorFlow 构建,非常灵活,既可以找出最适合 ...

  6. 用AutoML找到更小、更快、更好的模型,谷歌开源Model Search

    本文转载自机器之心. 作者:Hanna Mazzawi等 编辑:魔王.杜伟 为了帮助研究者自动.高效地开发最佳机器学习模型,谷歌开源了一个不针对特定领域的 AutoML 平台.该平台基于 Tensor ...

  7. AI周报丨全新图像分类方法ViR,性能全面超越ViT;谷歌开源最大视觉模型V-MoE

    01# 行业大事件 全新图像分类方法ViR,参数量下降85%,性能全面超越ViT 近一年来,视觉 Transformer(ViT)在图像任务上大放光芒,比如在图像分类.实例分割.目标检测分析和跟踪等任 ...

  8. 150亿参数,谷歌开源了史上最大视觉模型V-MoE的全部代码

    来源:机器之心 本文共2400字,建议阅读5分钟 本文为你介绍谷歌开源史上最大视觉模型V-MoE的全部代码. 还记得谷歌大脑团队去年 6 月份发布的 43 页论文<Scaling Vision ...

  9. 谷歌开源EfficientDet:实现新SOTA,又快又准的目标检测器

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 来源:机器之心@微信公众号 什么检测器能够兼顾准确率和模型效率?如何才能实现? 去 ...

最新文章

  1. 关于成功的因素-----谨记
  2. Android ANR产生的原理和如何避免
  3. Java 基础之 Random类和Math.random()方法
  4. Jwt Token 的刷新机制设计
  5. 小屏手机大势已去!iPhone 12 Pro Max被买空mini居然还有货
  6. java快速排序代码6_分分钟掌握快速排序(Java / Scala 实现)
  7. 数据库镜像怎么还原数据库_如何创建数据库镜像
  8. 用html做工资查询登陆页面,薪资筛选页面.html
  9. Linux——CMake更新和安装
  10. matplotlib常用绘图方法【转】
  11. txt文件参数化200用户,返回在表格中查看只能看到100行数据
  12. 测试一软件测试基础知识总结
  13. 2017北理复试机试题
  14. 菜鸟教程学习Java
  15. windows sqlmap 安装教程
  16. iphone修改imei_iPhone这些隐藏代码你肯定不知道
  17. 工科数学分析之数学感悟
  18. PC微信逆向之发送消息
  19. 华电研究生学习和工作总结(2021.11.08-2021.11.12)-围城
  20. elk6.4.3安装部署指导手册

热门文章

  1. java help
  2. 提到“子类”和“子类型”是不同的
  3. c语言 删除小写字母,c++ - 使用C字符串和指针。 删除除小写字母和空格以外的所有字符 - 堆栈内存溢出...
  4. ImageNet的top-1终于上了90%,网友质疑:用额外数据集还不公开,让人怎么信服?...
  5. 政、企、学三方视角下的智慧城市发展 | 2020中关村论坛“人工智能与城市可持续发展论坛”成功举办...
  6. 仅仅是又多了一本设计书吗 《软件框架设计的艺术》序
  7. 初学者指南:使用 Numpy、Keras 和 PyTorch 实现最简单的机器学习模型线性回归
  8. 9个value_counts()的小技巧,提高Pandas 数据分析效率
  9. 独家 | 用随机森林预测“美版拼多多”商品销量
  10. 独家 | 手把手教你推导决策树算法