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

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。



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

本周栏目热点

从人工神经网络谈机器究竟是怎么学习的?

[2018-06-19]  从算法的角度看,机器学习有很多种算法,例如回归算法、基于实例的算法、正则化算法、决策树算法、贝叶斯算法、聚合算法、关联规则学习算法和人工神经网络算法。很多算法可以......

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

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

计算机视觉领域前沿一览

[2018-07-30]  计算机视觉研究如何让计算机可以像人类一样去理解图片、视频等多媒体资源内容。例如用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等,并进一步处理成更适合人眼观察或......

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

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

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

精选推荐

科学家从蟑螂获得启发 教机器人更好地走路
科学家从蟑螂获得启发 教机器人更好地走路

[2017-12-11]  Weihmann指出:“我特别感到惊讶的是,动物运动稳定机制的变化与腿部协调的变化是一致的。昆虫的慢运行非常稳定,因为它的重心很低,三条腿总是以协调的方式运动。...

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

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

这些人型机器人是如此真实,你的肉眼几乎无法区分
这些人型机器人是如此真实,你的肉眼几乎无法区分

[2017-09-03]   我们生活在一个区分现实与幻想变得越来越困难的世界。由于机器人技术的进步,创造人工的人类正在逐渐接近完美的最终目标。我们现在看到的机器人不再只是一块发光二极管,......

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

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

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

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

比利时研发出可以自我愈合伤口的软体机器人
比利时研发出可以自我愈合伤口的软体机器人

[2017-09-03]  软体机器人是机器人技术的新兴领域; 他们“可以与人类相互作用,而不会杀死他们,并拿起像西红柿这样柔软的物体。” 从长远来看,布鲁塞尔大学队伍正在努力创建一个类似的材......

麻省理工正研究植物机器人 让植物自主控制机器人
麻省理工正研究植物机器人 让植物自主控制机器人

[2018-12-08]  控制论通常指人类用机器人部件增强自己。我们听说过动物机器人或昆虫机器人,但我们很少听说植物机器人对吧?一个机器人其实是对植物有很大益处的,因为一般植物根本无法移动......

基于生物启发的机器人很容易适应丢失附属器官
基于生物启发的机器人很容易适应丢失附属器官

[2017-12-17]  很多机器人被设计应用在危险环境,如灾难现场。在这些地方,他们的运动系统完全有可能被损坏。那这样会吓跑这些机器人吗?也许不是,如果它们像日本的东北和北海道大学创造的......