神经架构优化(NAO):新的神经架构搜索(NAS)算法

栏目: 编程工具 · 发布时间: 7年前

内容简介:本文为 AI 研习社编译的技术博客,原标题 :Discovering the best neural architectures in the continuous space | Microsoft Research

神经架构优化(NAO):新的神经架构搜索(NAS)算法

本文为 AI 研习社编译的技术博客,原标题 :

Discovering the best neural architectures in the continuous space | Microsoft Research

作者 |    Fei Tian

翻译 |  孙稚昊2

校对 | 酱番梨       整理 | 菠萝妹

原文链接:

https://www.microsoft.com/en-us/research/blog/discovering-the-best-neural-architectures-in-the-continuous-space/

神经架构优化(NAO):新的神经架构搜索(NAS)算法

如果你是一名深度学习实践者,你可能发现自己经常会遇到同一个关键问题:我应该为现在的任务选择哪种神经网络架构?这个决定取决于多种因素以及很多其他问题的答案。我应该给这一层选择什么操作----卷积,深度可分卷积,或者最大池化?卷积层应该选多大的核?3*3 还是 1*1 ? 还有哪个节点该拿来作为循环神经网络(RNN)节点的输入?这些决定对架构的成功至关重要。如果你既是神经网络建模也是手头特定任务的专家,你可能很容易找到答案。但如果你在某一方面的经验有限呢?

这种情况下,你可能会尝试神经架构搜索(NAS),这是一种自动的过程,另一个机器学习算法根据以往观察到的架构和他们的表现,来指导创建更好的架构。多亏了NAS,我们可以发现在被广泛使用的公开数据集,比如 ImageNet, 上表现最好的神经网络架构,且不需要人工干预。

然而现存的自动设计神经网络架构的方法 -- 通常基于增强学习或者进化算法 -- 需要在指数级增长的离散空间中做搜索,我的同伴和我在微软亚洲研究院机器学习组 设计了一种简化的,更有效的方法,基于连续空间内的优化。有了我们的新方法,叫做 神经架构优化 (NAO),我们利用基于梯度的方法在更紧密的空间中做优化。这项工作参加了今年的 神经信息处理系统会议 (NeurIPS)

    NAO的关键组件

驱动NAO进行在连续空间中基于梯度的优化,是靠以下三个组件:

  • 一个把离散的神经网络架构转化为连续值向量的编码器,也叫嵌入模型

  • 一个结果预估函数,它把向量作为输入,并产生一个数值作为架构的表现 (比如,准确率)

  • 一个把连续值向量恢复成网络架构的解码器

  • 这三个组件是一起训练的。我们完成训练后,从一个架构x 开始,我们用编码器E把x 转化为向量表示 ex , 再通过结果预估函数f给的梯度方向,把ex 转化为新的嵌入 ex` (如绿线表示)。既然我们在做梯度上升,只要步长够小,我们就能保证 f(ex`) >= f(ex)。最后,我们用decoder D把ex`转化为离散的架构 x`。这样,我们得到了一个可能更好的架构 x`.通过不断这样更新架构。我们得到了最终的架构,它应该有最好的表现。

神经架构优化(NAO):新的神经架构搜索(NAS)算法

图1: NAO的流程

    有有限的资源达到好的结果

我们做了后续的实验来验证NAO自动发现最好神经架构的有效性。表1(如下)展示了不同卷积神经网络(CNN)架构在CIFAR-10图片分类数据集上的表现,这些架构由不同 NAS 算法生成。从表中我们可以看出,用NAO发现的网络得到了最低的错误率。另外,将NAO和权重共享机制结合起来(叫做 NAO-WS),我们得到了显著的搜索速度提升。权重共享可以降低网络架构搜索的计算成本,它通过让多种网络结构共用同一份参数来做到。在我们的实验中,我们用一块图像处理器(GPU),在7个小时内得到了一个CNN架构,达到了3.53的错误率。通过权重共享,我们不必从头训练其它不同的神经网络。

表2(如下)总结了PTB语言模型的结果。越低的Perplexity表示更好的表现。又一次,我们用NAO来找到的RNN架构取得了好结果,而且只用有限的计算资源。

通过在连续空间上的优化,NAO得到了更好的结果,相比于现有的NAS方法,他们直接在离散架构空间中搜索。至于未来的应用,我们计划用NAO来为其它重要的AI任务搜索架构,比如神经机器翻译。同样重要的,更简单高效的自动神经架构设计,可以使机器学习技术为各阶段的人所用。

神经架构优化(NAO):新的神经架构搜索(NAS)算法

表1:CIFAR-10分类结果

神经架构优化(NAO):新的神经架构搜索(NAS)算法

表2:PTB语言模型结果

想要继续查看该篇文章相关链接和参考文献?

长按链接点击打开或点击【 神经架构优化(NAO):新的神经架构搜索(NAS)算法 】:

https://ai.yanxishe.com/page/TextTranslation/1335

AI研习社每日更新精彩内容,观看更多精彩内容: 雷锋网雷锋网 (公众号:雷锋网) 雷锋网

五个很厉害的 CNN 架构

一文带你读懂计算机视觉

用Pytorch做深度学习(第一部分)

Python高级技巧:用一行代码减少一半内存占用

等你来译:

(Python)3D人脸处理工具face3d

25个能放到数据湖中的语音研究数据集

如何在数据科学面试中脱颖而出 

Apache Spark SQL以及DataFrame的基本概念,架构以及使用案例


以上所述就是小编给大家介绍的《神经架构优化(NAO):新的神经架构搜索(NAS)算法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Android编程权威指南(第3版)

Android编程权威指南(第3版)

比尔·菲利普斯 (Bill Phillips)、克里斯·斯图尔特 (Chris Stewart)、克莉丝汀·马西卡诺 (Kristin Marsicano) / 王明发 / 人民邮电出版社 / 2017-6 / 129.00元

Big Nerd Ranch 是美国一家专业的移动开发技术培训机构。本书主要以其Android 训练营教学课程为基础,融合了几位作者多年的心得体会,是一本完全面向实战的Android 编程权威指南。全书共36 章,详细介绍了8 个Android 应用的开发过程。通过这些精心设计的应用,读者可掌握很多重要的理论知识和开发技巧,获得宝贵的开发经验。 第3 版较之前版本增加了对数据绑定等新工具的介......一起来看看 《Android编程权威指南(第3版)》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具