爱吧机器人网 » 技术 > 神经网络 > 正文

AutoMl及NAS概述:更有效地设计神经网络模型工具

随着人工智能的迅速发展,深度学习工具箱也发生比较大的变化,从之前受欢迎的Caffe到Tensorflow等框架,好的深度学习框架能够帮助开发人员快速且高效地开发出相应的任务模型,完成相关的任务。这类深度学习工具箱都需要自己设计对应的网络模型,需要大量的实验以获得最终模型,整个过程比较费时费力。那在这个构造模型的过程中,肯定会想到,能不能让机器自己根据数据集构建合适的模型呢?答案是可以的。本文介绍的是近来新的一种深度学习工具箱——AutoML和神经架构搜索( Neural Architecture Search,NAS),它们是深度学习领域中新一任国王,以快速且简单粗暴的方式,并在不需要太多人为参与的情况下为我们的机器学习任务获得高精度模型。使用起来简单有效,这才是我们想要的人工智能!那么它是怎样工作的?如何使用呢?下面为大家一一展开介绍。以下是需要了解有关AutoML和NAS的所有信息。

神经架构搜索(NAS)

开发神经网络模型通常需要大量的模型工程,一般可以通过迁移学习快速搭建出一个“能用”的模型出来,但如果真的想要获得最佳性能,通常最好是自己根据具体任务设计自己的网络,这就需要专业的技能( 从商业角度来看,这是昂贵的),并且总的来说自己设计网络模型具有很高的挑战性,而且我们甚至可能不知道当前最先进的技术!且在设计模型的过程中需要进行很多次的试验,并根据实验结果调整网络模型,整个实验本身耗时耗力,代价昂贵。

这就是NAS的用武之地,NAS是一种搜索最佳神经网络架构的算法。大多数模型算法都具有以下结构,首先定义一组可能用于我们网络的“构建块”。例如,在最先的NASNet论文中,为图像识别网络提出了一些常用的块:




AutoMl及NAS概述:更有效地设计神经网络模型工具
用于图像识别网络的NASNet模块

在NAS算法中,控制器递归神经网络(RNN)对这些构建块进行采样,将它们组合在一起以创建某种端到端模型。该体系结构通常体现出与最先进的网络(例如ResNets 或 DenseNets)相同的模型样式 ,只是使用的构建块有着差别或配置的方式不同罢了。

然后对这种新的网络架构进行训练以使得模型收敛,并在验证集上保持获得一些准确性,由此产生的精度可以用于更新控制器,以便控制器随着时间的推移产生更好的架构,可能选择出更好的构建块或更好的组合方式,使用策略梯度更新控制器权重。整个端到端设置如下所示。



AutoMl及NAS概述:更有效地设计神经网络模型工具
NAS算法

这是一种相当直观的方法!简单来说:让算法抓住不同的构建块并将这些块放在一起构成一个网络,然后训练并测试该网络。根据模型的结果,调整用于制作网络的构建块和组合方式。

这个算法成功的部分原因及论文中证明出这样的好结果是由于它的约束和假设。NAS发现的体系结构在比实际数据小得多的数据集上进行训练和测试,这样做是因为像ImageNet这样的大型数据集训练需要耗费很长的时间。但是,在较小但结构相似的数据集上表现好的网络也应该在更大、更复杂的数据集上表现更好,这在深度学习领域中通常是这样。

其次,搜索空间本身是非常有限的。NAS旨在构建与当前最先进技术风格非常相似的架构。对于图像识别,网络中有一组重复的构建块,同时逐步进行下采样,如左下图所示。在当前的研究中,可以选择重复用于构建块的组合也是非常常用的。NAS发现网络的主要创新部分在于构建块是如何连接的。右下方就是在ImageNet网络中发现的最佳构建块和模型结构。



AutoMl及NAS概述:更有效地设计神经网络模型工具


AutoMl及NAS概述:更有效地设计神经网络模型工具
 

结构搜索的相关进展

NASNet论文可以说是非常创新的,因为它为深度学习研究提供了新的方向。不幸的是,对于Google公司以外的普通用户来说,这种方法是非常低效且无法复现的。该方法使用了 450块GPU,且需要3-4天的训练才能找到表现优异的结构。因此,NAS的许多最新研究都集中在使这一过程更加高效。

渐进式神经架构搜索(Progressive Neural Architecture Search, PNAS) 建议使用所谓的基于序列模型的优化(SMBO)策略,而不是NASNet中使用的强化学习。使用SMBO,我们不是随机抓取并尝试从外部设置构建块,而是测试块按复杂程度增加搜索结构。这种操作不会缩小搜索空间,但它确实使得搜索以更智能的方式完成。SMBO基本上是在说: 不要一次性尝试所有事情,从简单开始,只有在需要时才使得结构变得复杂。PNAS方法比原始NAS的效率高5-8倍。

高效神经架构搜索(Efficient Neural Architecture Search,ENAS) 是尝试使一般架构搜索更有效的另一种尝试,只使用一块GPU即可。作者的假设是,NAS的计算瓶颈是训练每个模型以使其收敛,在获得其测试精度,丢弃所有训练的权重。

在研究和实践中反复表明,迁移学习有助于在短时间内实现高精度模型,因为针对某些类似任务进行训练的网络发现了相似的权重,且迁移学习基本上只是网络权重的转移。ENAS算法强制所有模型共享权重,而不是从头开始训练使其收敛。在之前模型中尝试过的任何构建块都将使用之前学过的权重。因此,我们 每次训练新模型时都会进行迁移学习,其收敛速度更快!

该论文的实验结果展示了ENAS的效率,使用单个1080Ti GPU进行了半天的培训。




AutoMl及NAS概述:更有效地设计神经网络模型工具
ENAS的性能和效率

深度学习的新方法:AutoML

许多人将AutoML称为深度学习的新方式,即整个系统的变化。我们只需运行预设的NAS算法,而不是设计复杂的深度网络。Google最近通过提供Cloud AutoML将其发挥到了极致,只需上传你的数据,Google的NAS算法就会为你找到一个快速简便的架构!

AutoML的这个想法是简单地抽象出深度学习的所有复杂部分,只需要你的数据,让AutoML单独完成网络设计的难点!这样,深度学习变得像其他任何一个插件工具,获取一些数据并自动创建由复杂神经网络驱动的决策功能。



AutoMl及NAS概述:更有效地设计神经网络模型工具
Google Cloud的AutoML管道

Cloud AutoML需要花费20美元,且有一点不好的是,一旦经过训练,获得的模型并不能导出,必须使用他们的API在云上运行刚刚构建好的网络。当然,还有一些完全免费的可供选择,但确实需要进行更多的工作。

AutoKeras 是一个使用ENAS算法的GitHub项目,该软件可以使用pip安装。由于它是用Keras编写的,因此很容易被控制和使用,因此你甚至可以深入研究ENAS算法并尝试进行一些修改。如果你更喜欢TensorFlow或Pytorch,对应的也有公共代码项目!

总的来说,今天使用AutoML方法有多种选择,这取决于你是否会使用你想要的算法,以及你愿意花多少钱来获取更多的代码。

NAS和AutoML未来前景预测

很高兴看到过去几年在深度学习自动化方面取得的重大进展,它使得用户和业务更容易访问,且使得大众使用深度学习变得更加容易。但是,总有一些空间需要改进。

架构搜索变得更加有效。与ENAS一样,使用一块GPU并在一天的训练时间里就找到一个合适的网络是非常了不起的。但是,我们的搜索空间仍然是非常有限的。目前的NAS算法仍然使用的是之前人为设计的结构块,只是将它们组合在一起!

另外一个强大且可能具有突破性的未来发展方向将是一个更广泛的范围搜索,以真正寻找新颖的架构。这些算法可能会揭示这些庞大而复杂的网络中更隐藏的深层学习秘密。当然,这样的搜索空间需要有效的算法设计。

NAS和AutoML的这一新方向为AI社区提供了令人兴奋的挑战,并且真正有机会在科学领域取得另一项突破。

作者信息

George Seif ,机器学习工程师

个人主页:https://towardsdatascience.com/@george.seif94

本文由阿里云云栖社区组织翻译。

文章原标题《Everything You Need to Know About AutoML and Neural Architecture Search》,译者:海棠,审校:Uncle_LLD。




上一篇:技术前沿|图像去雨滴算法
下一篇:用人工智能神经网络给黑白照片上色 复现记忆中的旧时光
精选推荐
机器人工程师具体都做什么?
机器人工程师具体都做什么?

[2017-12-08]  机器人工程师是幕后设计师,负责创建机器人和机器人系统,能够执行人类无法完成或不愿意完成的任务。 通过他们的创造,机器人工程师帮助工作更安全,更轻松,更高效,特别是......

机器人灵巧手将成为智能机器人的下一个重大突破
机器人灵巧手将成为智能机器人的下一个重大突破

[2018-01-25]  计算机科学教授兼东北地区助手机器人实验室负责人罗伯特·普拉特(Robert Platt)说:“机器人手操作是下一步要解决的问题。想象一下,一个机器人可以在现实世界中用手去做事......

麻省理工学院最新研究:优化软体机器人的控制和设计
麻省理工学院最新研究:优化软体机器人的控制和设计

[2019-11-24]  软体机器人属于一个新的领域,它可能在诸如外科手术等领域发挥重要作用(手术时的纳米机器人需要在人体内部移动而不损伤软组织)。软体机器 ...

通过对抗性图像黑入大脑
通过对抗性图像黑入大脑

[2018-03-02]  在上面的图片中,左边是一张猫的照片。在右边,你能分辨出它是同一只猫的图片,还是一张看起来相似的狗的图片?这两张图片之间的区别在于, ...

MIT用深度学习处理3D点云数据 应用于无人汽车等领域
MIT用深度学习处理3D点云数据 应用于无人汽车等领域

[2019-10-23]  如果你见过自动驾驶汽车,也许会对车顶上那个一直在旋转的圆柱体感到好奇。这是一个雷达传感器,无人驾驶汽车依靠它在现实世界中进行导航。 ...

麻省理工又秀神技:推出如魔法般跳跃的方块机器人集群
麻省理工又秀神技:推出如魔法般跳跃的方块机器人集群

[2019-10-31]  几天前,小编向大家介绍过麻省理工(MIT)研发的一种自组装机器人集群(点此阅览),它们可以用统一标准的小单元自动组装出各种大型结构。 ...

苹果AI主管透露自动驾驶汽车项目关于机器学习方面的进展
苹果AI主管透露自动驾驶汽车项目关于机器学习方面的进展

[2017-12-11]  苹果隐秘的自动驾驶汽车项目多年来一直在转移焦点,但今年似乎正在加速。 4月份,公司获得了在加利福尼亚州进行自动驾驶汽车测试的许可证,而在6月份,苹果公司首席执行官库......

谷歌在中国成立一个新的人工智能(AI)研究中心
谷歌在中国成立一个新的人工智能(AI)研究中心

[2017-12-13]  谷歌正在中国建立一个新的人工智能(AI)研究中心,希望进一步扩展到中国,以充分利用中国高度重视的人工智能技术。人工智能是目前地球上最具竞争力的领域之一,亚马逊,微软......

本周栏目热点

神经网络:人工智能以及我们的未来

[2016-11-20]   作者:James Crowder翻译:王益军审校:心原文链接:techcrunch把自己想象成在一辆未来的自动驾驶汽车的乘客。这辆汽车与你以一种 ...

[2016-11-20]   include "stdio h" include "stdlib h" include "time h" include "math h" *********************************************i ...

OpenAI开辟全新AI音乐领域,发布Jukebox神经网络生产歌曲

[2020-05-19]  日前,外媒报道,人工智能(AI)技术生成的音乐会给人们带来非常奇妙体验。其中有两大原因,第一,这是一个非常吸引人的全新领域;第二,这 ...

50行代码玩转生成对抗网络GAN模型!(附源码)

[2018-07-30]  本文为大家介绍了生成对抗网络(Generate Adversarial Network,GAN),以最直白的语言来讲解它,最后实现一个简单的 GAN 程序来帮助大家加深理解。...

深度神经网络揭示了大脑喜欢看什么

[2019-11-06]  爱吧机器人网编者按:近日,《自然-神经科学》发表了一篇论文,研究人员创建了一种深度人工神经网络,能够准确预测生物大脑对视觉刺激所产 ...