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

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

核心提示:还在为自己构建深度模型框架而抓耳饶腮吗?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。



上一篇:技术前沿|图像去雨滴算法
下一篇:用人工智能神经网络给黑白照片上色 复现记忆中的旧时光

本周栏目热点

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

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

[干货]一张地铁图看懂人工智能算法发展(含代码)

[2018-06-19]  如果你说我是个AI小白,也想了解人工智能深度学习,尤其是想解决应用方面的问题,那就照着下面这张地铁图,按不同方向,来学习菜谱,原料,调料和基本功吧。...

tensorflow 神经网络分类模型构建全过程

[2017-11-08]  很多人行业中的老人都在向刚刚入行的新手提出建议:一开始进入到机器学习之中,最需要涉足的便是工作原理,只有将整套的工作原理弄清楚之后,才可以正式开始动手实践,这才是......

通过对抗性图像黑入大脑

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

[2016-11-20]   BP人工 神经网络 改进 算法 C语言BP网络接受样本的顺序会对训练结果有较大的影响,基本 算法 比较偏爱较后出现的样本,因此,改进 算法 为 ...

精选推荐

助力卷积神经网络时空特征学习 史上最大行人重识别视频数据集被提出
助力卷积神经网络时空特征学习 史上最大行人重识别视频数据集被提出

[2017-12-25]  本文提出了一个大型的、长序列的、用于行人重识别的视频数据集,简称LVreID。与现有的同类数据集相比,该数据集具有以下特点:1)长序列:平均每段视频序列长为200帧,包含丰......

从AI中窥探人性
从AI中窥探人性

[2018-01-03]  人们对人造智能的恐惧早已成为科幻书籍和电影的极好题材。但现在,一些同样的担忧开始影响关于现实世界AI技术的政策讨论。如果这样的担忧演变成为一种技术恐慌...

改变保险市场的格局:无人机如何通过更快的估算、响应时间和利益交付来使消费者受益
改变保险市场的格局:无人机如何通过更快的估算、响应时间和利益交付来

[2018-12-08]  市场研究公司IHS Markit预测,到2020年,专业无人机市场将通过农业,能源和建筑等行业利用测量,制图,规划等技术实现77 1%的复合年增长率(CAGR)。与此同时,消费者无人......

智能机器人困惑的时候知道该问什么问题
智能机器人困惑的时候知道该问什么问题

[2017-03-20]   照片:Nick Dentamaro 布朗大学 上周,我们提到了麻省理工学院的一些研究,即通过链接人的大脑来帮助机器人在他们将要犯错误的时 ...

揭秘达芬奇手术机器人
揭秘达芬奇手术机器人

[2018-04-19]  达芬奇手术系统是由美国Intuitive Surgical公司制造的机器人手术系统。美国食品和药物管理局(FDA)于2000年通过该标准,旨在利用微创手段 ...

国外眼科手术机器人为视网膜静脉阻塞患者带来希望
国外眼科手术机器人为视网膜静脉阻塞患者带来希望

[2017-03-20]  视网膜静脉阻塞,简称RVO,对患者来说是一种严重的疾病。该病病因为视网膜静脉中存在血液凝块,这可能导致视力严重下降,在某些情况下,病 ...

农业将为高科技行业 农业机器人的应用领域
农业将为高科技行业 农业机器人的应用领域

[2017-12-17]  农业正在迅速成为一个令人兴奋的高科技产业,吸引了新专业人士,新公司和新投资者。技术发展迅速,不仅提高了农民的生产能力,而且促进了我们所知道的机器人和自动化技术的发展。...

机器人工程师具体都做什么?
机器人工程师具体都做什么?

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