AI 科技评论按:卷积神经网络(CNN)被广泛用于图像分类、人脸识别、物体检测以及其他许多任务中。然而,为移动设备设计 CNN 模型是一个有挑战性的问题,因为移动模型需要又小又快,同时还要保持足够的准确率。虽然研究人员们已经花了非常多的时间精力在移动模型的设计和改进上,做出了 MobileNet 和 MobileNetV2 这样的成果,但是人工设计高效的模型始终是很有难度的,其中有许许多多的可能性需要考虑。

受到 AutoML 神经网络架构搜索研究的启发,谷歌大脑团队开始考虑能否通过 AutoML 的力量让移动设备的 CNN 模型设计也更进一步。在谷歌 AI 博客的新博文中,他们介绍了用 AutoML 的思路为移动设备找到更好的网络架构的研究成果。雷锋网 AI 科技评论把博文编译如下。

在谷歌的论文《MnasNet: Platform-Aware Neural Architecture Search for Mobile》中,他们尝试了一种基于强化学习范式的自动神经网络架构搜索方法来设计移动模型。为了应对移动设备的运行速度限制,谷歌大脑的研究人员们专门显式地把运行速度信息也加入了搜索算法的主反馈函数中,这样搜索到的模型就是一个可以在运行速度和识别准确率之间取得良好平衡的模型。通过这样的方法,MnasNet 找到的模型要比目前顶级的人工设计的模型 MobileNetV2 快 1.5 倍,比 NASNet 快 2.4 倍,同时还保持了同样的 ImageNet 首位准确率。

以往的网络架构搜索方法中,模型的运行速度通常是借助另一种指标进行参考(比如考虑设备的每秒运算数目),而谷歌大脑此次的方法是通过在给定的上设备上运行模型,直接测量模型的运行时间长短;在这项研究中他们使用的就是自家的 Pixel 手机。通过这种方式,他们可以直接测量出模型在真实环境运行时的具体表现,尤其是,不同型号的移动设备有各自不同的软硬件属性,仅凭运算速度这一项指标无法概括全部情况;为了达到准确率和运行速度之间的最佳平衡,所需的模型架构也会有所不同。

谷歌大脑方法的总体流程主要由三个部分组成:一个基于 RNN 的控制器用于学习模型架构并进行采样,一个训练器用于构建模型并训练模型得到准确率,还有一个推理引擎,它会在真实的手机上通过 TensorFlow Lite 运行模型、测量模型的运行速度。他们把这个任务公式化为一个多目标优化问题,优化过程中得以兼顾高准确率和高运行速度;其中使用的强化学习算法带有一个自定义的反馈函数,可以在不断的探索中找到帕累托最优的解决方案(比如,不断提升模型的准确率,同时并不会让运行速度降低)。

为移动设备自动搜索神经网络架构的总体流程图
对于网络架构搜索过程,为了在搜索的灵活性和搜索空间大小之间取得合适的平衡,谷歌大脑的研究人员们提出了一种新的因子分解层级化搜索空间,它的设计是把一整个卷积网络分解为一系列按顺序连接的模块,然后用一个层级化搜索空间来决定每一个模块中的层的结构。借助这样的做法,他们设计的搜索流程可以允许不同的层使用不同的操作和连接方式。同时,他们也强制要求同一个模块内的所有层都共享同一种结构,相比于普通的每一层独立搜索结构,这种做法也就把搜索空间显著减小了数个数量级。

图示为从新的因子分解层级化搜索空间中采样得到的一个 MnasNet 网络,整个网络架构中可以有多种不同的层
谷歌大脑的研究人员们在 ImageNet 图像分类和 COCO 物体检测任务中测试了这种方法的效果。实验中,这种方法找到的网络在典型的移动设备计算速度限制下达到了准确率的新高。下面图中就展示了 ImageNet 上的结果。

ImageNet 上的首位准确率与推理延迟对比。论文新方法找到的模型标记为 MnasNet
在 ImageNet 上,如果要达到同样的准确率,MnasNet 模型可以比目前顶级的人工设计的模型 MobileNetV2 快 1.5 倍,比 NASNet 快 2.4 倍,其中 NASNet 也是用网络架构搜索找到的。在采用了「压缩-激励」(squeeze-and-excitation)优化之后,谷歌新的 MnasNet + SE 的模型的首位准确率可以达到 76.1%,这已经达到了 ResNet-50 的水平,但却比 ResNet-50 的参数少了 19 倍,乘-加的计算操作数目也减少了 10 倍。在 COCO 上,谷歌的模型家族可以同时在准确率和运行速度上领先 MobileNet,它的准确率已经与 SSD300 模型相当,但所需计算量要少了 35 倍。

谷歌大脑的研究人员们很高兴看到自动搜索得到的模型可以在多个复杂的移动计算机视觉任务中取得顶级的成绩。未来他们计划在搜索空间中集成更多的操作和优化方法供选择,也尝试把它应用到语义分割等更多的移动计算机视觉任务中。

论文地址:https://arxiv.org/abs/1807.11626
润桐专利查询-

谷歌大脑用强化学习为移动设备量身定做最好最快的CNN模型相关推荐

  1. 业界 |「多巴胺」来袭!谷歌推出新型强化学习框架Dopamine

    作者:Pablo Samuel Castro.Marc G. Bellemare 来源:Google AI Blog,机器之心 摘要:在过去几年里,强化学习研究取得了多方面的显著进展. 在过去几年里, ...

  2. 「干货」谷歌大脑:元学习最新进展与挑战(40 PPT下载)

    https://www.toutiao.com/a6651792282443842055/ 2019-01-29 13:51:18 [新智元导读]Hugo Larochelle是谷歌大脑的研究员.深度 ...

  3. 谁说导航一定要用地图?谷歌DeepMind的强化学习模型靠街景认路

    Root 编译自 DeepMind 量子位 出品 | 公众号 QbitAI 还记得小时候从家到学校的那段路怎么走吗? 那会儿你可能还不知道什么是地图,也没有导航软件.但那条路的画面都在脑子里刻着.茂密 ...

  4. 使用强化学习建立下一个最佳活动(或称行动营销)模型【译文初稿】

    原文:<Building a Next Best Action model using reinforcement learning> Ilya Katsov, May 15, 2019 ...

  5. 深度强化学习(资源篇)(更新于2020.11.22)

    理论 1种策略就能控制多类模型,华人大二学生提出RL泛化方法,LeCun认可转发 | ICML 2020 AlphaGo原来是这样运行的,一文详解多智能体强化学习的基础和应用 [DeepMind总结] ...

  6. 谷歌大脑开源Trax代码库,你的深度学习进阶路径

    2020-02-27 14:37:02 机器之心报道 参与:思 感觉深度学习建模只不过调库与堆叠层级?你需要谷歌大脑维护的这条路径 Trax,从头实现深度学习模型. 从最开始介绍卷积.循环神经网络原理 ...

  7. 【深度学习】近几年,关于基于Imagenet数据集图像分类的模型总结

    「@Author:Runsen」 在过去的几年里,许多深度学习模型涌现出来,例如层的类型.超参数等.在本系列中,我将回顾几个最显着的 deeplearn 图像分类的模型. AlexNet (2012 ...

  8. 强化学习应用简述---强化学习方向优秀科学家李玉喜博士创作

    强化学习 (reinforcement learning) 经过了几十年的研发,在一直稳定发展,最近取得了很多傲人的成果,后面会有越来越好的进展.强化学习广泛应用于科学.工程.艺术等领域. 下面简单列 ...

  9. 谷歌发布最新官方年报,回首谷歌大脑2017年的9大事件

    1月12日凌晨,谷歌大脑负责人Jeff Dean,按照惯例,发布了2017年度的谷歌大脑年度总结.本次总结分为两部分,主要会重点介绍2017年的一些工作,包括一些基础研究工作,以及开源软件,数据集和机 ...

最新文章

  1. JAVA IO - 删除特定扩展名的文件
  2. scikit-learn (sklearn) 官方文档中文版
  3. CentOS系统安装桌面
  4. 计算机科学与技术 单片机,单片机-兰州交通大学计算机科学与技术实验教学中心...
  5. SPOJ GCDEX (数论)
  6. 【HISI系列】之内存开辟的方法
  7. 多线程编程(1): python对多线程的支持
  8. 一个按钮控制暂停和开始java_《第一炉香》|一个女人的自甘堕落,从控制不住欲望开始...
  9. 使用SecretScanner发现容器镜像和文件系统中的敏感数据
  10. [Python图像处理] .获取图像属性、兴趣ROI区域及通道处理
  11. 网上零食销售系统(Java;JSP;JDBC)附源码+数据库+论文
  12. 记sublime手动下载安装emmet和PyV8文件记录
  13. 周易版化学元素周期表
  14. s3c2416 AT070TN83的LCD wince6.0驱动移植
  15. 亨登谈判策略(转载)
  16. 51NOD 1278 相离的圆(二分 + 排序 好题)
  17. 典型相关分析如何分析两组变量的关系
  18. 积木盒子工作室第一次博客汇总
  19. 这里有一个“天梯排行榜”,来看看你在哪一级?
  20. 因为 ‘PRIMARY‘ 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长

热门文章

  1. AutoCAD利用SCRIPT脚本生成齿轮
  2. 放一下自己的拙作——《用Webshell做隐藏BBS管理员》
  3. 如何使用ChatGPT快速构建一个网站模板?
  4. Best Windows App
  5. matlab如何查看函数源代码,通达信fft函数,如何查看matlab fft函数源代码
  6. 恶意代码分析实战 Lab 3-3
  7. Java架构师的升级之路
  8. 系统设计中的非功能性需求
  9. 2022年12月编程语言排行榜,数据来了!
  10. 在线招聘逐利,简历泄露的背后是对隐性价值的忽视