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

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。




上一篇:技术前沿|图像去雨滴算法
下一篇:用人工智能神经网络给黑白照片上色 复现记忆中的旧时光
精选推荐
哈佛大学《自然》发表新驱动技术,让飞行机器人悬停且不受损伤
哈佛大学《自然》发表新驱动技术,让飞行机器人悬停且不受损伤

[2019-11-06]  哈佛大学研究人员发表在《自然》杂志上的一项最新研究,他们开发了一种由柔软的人造肌肉驱动的机器人蜜蜂(RoboBee),这种机器人在撞墙、 ...

2022年全球工业机器人市场将达到790亿美元
2022年全球工业机器人市场将达到790亿美元

[2017-09-04]  预计到 2022年, 全球工业机器人市场将达到790亿美元, 并在预测期内登记11 5% 的复合年增长率。随着发展中国家中小型企业需求的不断增长, 采用自动化技术以确保生产质量......

可编辑神经网络,有望简化深度学习?
可编辑神经网络,有望简化深度学习?

[2019-10-04]  深度学习是一个计算繁重的过程。 降低成本一直是 Data curation 的一大挑战。 关于深度学习神经网络大功耗的训练过程,已经有研究人员 ...

集群机器人领域最新研究:一种用于探测未知环境的微型无人机群
集群机器人领域最新研究:一种用于探测未知环境的微型无人机群

[2019-10-26]  (图:无人机扩散至不同方向来探索环境。当一个无人机注意到另一个无人机在它的首选方向,它将试图飞到另一个方向。若首选方向冲突,低优先 ...

受大脑控制的机器人
受大脑控制的机器人

[2017-03-21]   想让机器人做我们想做的,首先,他得全面地了解我们。通常,这就意味着人类需要要付出更多。比如,教机器人复杂的人类语言或者把一项任务 ...

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

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

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

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

Crossbar将电阻式RAM推入嵌入式AI
Crossbar将电阻式RAM推入嵌入式AI

[2018-05-17]  电阻RAM技术开发商Crossbar表示,它已与航空航天芯片制造商Microsemi达成协议,允许后者在未来的芯片中嵌入Crossbar的非易失性存储器。此举是在先进制造业节点的领先代工厂选......

本周栏目热点

飞桨火力全开,重磅上线3D模型:PointNet++、PointRCNN!

[2020-03-26]  11 年前的「阿凡达」让少年的我们第一次戴上 3D 眼镜,声势浩大的瀑布奔流而下,星罗棋布飘浮在空中的群山,无一不体现着对生命的敬意, ...

从基础概念到数学公式,这是一份520页的机器学习笔记(图文并茂)

[2018-06-19]  近日,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang)公开了自己所写的一份 520 页的学习教程(英文版),详细、明了地介绍了机器学习中的相关概念、数学知识和各......

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

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

神经网络和模糊逻辑的工作流

[2016-11-20]   行业观察 神经网络 和模糊逻辑的工作流 null 来源:神州数码erp 发布时间: 2009-10-14 9:06:01 关键词: 工作流,协同,B2B,OA  以下 ...

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

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