前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >谷歌大脑AutoML新进展:用进化算法发现神经网络架构

谷歌大脑AutoML新进展:用进化算法发现神经网络架构

作者头像
刀刀老高
发布于 2018-04-10 09:44:59
发布于 2018-04-10 09:44:59
9420
举报
文章被收录于专栏:奇点大数据奇点大数据

作者|谷歌大脑高级工程师 Esteban Real

编译|Debra

从 5 亿年前非常简单的蠕虫大脑到各种现代化结构,大脑经历了漫长的进化过程。如今,人类的大脑可以毫不费力地完成各种各样的活动,例如,告诉我们在某一个视觉场景中是否包含动物或建筑物。然而,为了执行这些简单的任务,开发人工神经网络的专家则需要经过数年甚至数十年的艰难研究和缜密的设计,并且通常需要设定网络完成一项具体目标,例如查找照片中的遗传变异,或辅助诊断疾病。理想情况下,人们希望能够有一种方法,能够自动化为任何给定的任务生成合适的架构。

其中一种生成这些体系结构的方法,是通过进化算法(evolutionary algorithms)。关于拓扑结构神经进化的传统研究(例如 Stanley 和 Miikkulainen 2002 https://www.mitpressjournals.org/doi/abs/10.1162/106365602320169811 )为我们今天能够大规模应用这些算法奠定了基础,目前许多团队正在研究这一课题,包括 OpenAI、Uber Labs、Sentient Labs 和 DeepMind。当然,Google Brain 团队也一直在考虑使用 AutoML 来实现这个目的。

除了基于学习的方法(例如强化学习)之外,我们想知道是否可以使用我们的计算资源以前所未有的规模进行图像分类器的编程进化。我们能否以最少的专家资源提出最好的解决方案?如今的人工进化神经网络究竟发展到了什么水平?我们通过两篇论文来解决这些问题。

在 ICML 2017 上发表的“图像分类器的大规模演化”(https://arxiv.org/abs/1703.01041 )中,我们用简单的构建模块和简单的初始条件创建了一个进化程序。这个想法是放任大规模演化来完成创建架构的工作。这个过程从非常简单的网络开始,结果显示,分类器与当时手动设计的模型效果相当。

这是一个令人鼓舞的结论,因为许多应用程序可能需要较低的用户参与度,例如,一些用户可能需要更好的模型,用更少的时间就可以成为机器学习方面的专家。很自然地,接下来要考虑的一个问题是手动设计和进化方法结合起来的效果,是否比单独使用任意一种方法的效果更好。

因此,在我们最近的论文《图像分类器体系结构搜索的正则化演化》(2018 年 https://arxiv.org/abs/1802.01548 )中,我们用复杂的构建模块和良好的初始条件(下面讨论)演示了该过程。而且,我们使用 Google 的新 TPUv2 芯片(https://ai.google/tools/cloud-tpus/ )扩大了计算范围。

现代硬件、专家知识和演化方法相结合,在 CIFAR-10 和 ImageNet 这两种流行的图像分类基准测试过程中生成了最新的模型。

一个简单的方法

以下是我们第一篇论文中的其中一个实验案例。

在下图中,每个点都是在 CIFAR-10 数据集上训练的神经网络,通常用于训练图像分类器。最初,所有的点由 1000 个相同的简单种子模型(seed models)组成(没有隐藏层)。从简单的种子模型启动此程序非常重要,而如果我们从初始条件包含专家知识的高质量模型开始,最终获得高质量模型会相对容易。

简单的种子模型开始工作后,该过程就会逐步推进。在每一步中,系统会随机选择一对神经网络。具有更高准确度的网络作为 parent,并经过复制变异生成一个 child,然后将其添加到 population 中,而另一个神经网络将消失。所有其他网络在此步骤中保持不变。

这样,随着这个步骤的重复进行,population 得到了进化。

进化实验进程。每个点代表 population 中的一个元素。这四个列表是发现架构的示例,这些结构对应最好的个体(最右边,根据验证准确性筛选)和其三个 ancestor。

我们第一篇论文中所示的突变(mutations)过程非常简单:随机删除卷积,在任意层之间添加跳转连接,或者改变学习速率等。结果凸显初进化算法的潜力,而不是搜索空间的质量。例如,如果我们在某一步中使用单一突变将一个种子网络转换为 Inception-ResNet 分类器,我们可能错误地推断出该算法找到了一个好的答案。

然而,在那种情况下,我们所做的一切都是将最终答案硬编码到一个复杂的变异中,以此来操纵结果。相反,如果我们坚持进行简单的突变,这种情况就不会发生,演化也能正常进行。在图中所示实验中,简单的突变和选择过程使得网络随着时间的推移而改进,即使从未使用过测试集也能达到较高的测试精度。

在本文中,网络也可以继承 parents 的权重。因此,除了进化架构外,population 在探索初始条件和学习率计划搜索空间的同时,还在训练网络。结果,该过程生成了超参数经过优化的完整训练模型。而且,实验开始后并不需要输入专家知识。

综上所述,尽管我们通过简单的初始架构和直观的突变来最大程度减少研究人员的参与,但构建这些架构的构建块还是包含大量的专家知识,包括卷积、ReLUs 和批量标准化层等。我们正在对一个由这些成分构成的架构进行进化。“架构”一词并不是胡乱取的:这与建造高质量砖房的过程相似。

结合进化和手动设计

在发表第一篇论文之后,我们希望通过减少算法的选择来缩小搜索空间,使其更易于管理。和建造房屋一样,我们删除了所有可能造成大规模错误的方法,例如将墙放在屋顶之上。与神经网络结构搜索类似,通过修复网络的大规模结构,我们解决了一些算法问题。那么我们是如何做到这一点的呢?

Zoph et al.(2017 https://arxiv.org/abs/1707.07012 )为架构搜索引入了类似模块的初始模块,后来被证明效果非常强大。他们的想法是引入一堆称之为单元(cells)的重复模块,堆栈是固定的,但各个模块的架构可以改变。

Zophet al. 中引入的构建模块。图左表示整个神经网络对外部结构,其通过重复的 cell 把地步的数据映射到顶部。右图比啊是 cell 的内部结构。该实验的目的是发现能批生成高精度网络的 cells

在我们的第二篇论文《图像分类器架构搜索的正则化进化》(2018)中,我们介绍了将进化算法应用于上述搜索空间的结果。

突变通过随机重新连接输入(图中右侧箭头)或随机替换操作来修改 cells(例如,它们可以用任意选择替换图中的“max 3x3”最大池操作)。

这些突变仍然相对简单,但初始条件并不简单:population 现在使用专家设计的符合外部 cells 堆叠的模型进行初始化。尽管这些种子模型中的 cells 是随机的,但我们不再从简单的模型开始,这使得最终获得高质量模型变得更容易。

如果进化算法进行顺利,最终得出的网络应该比我们已知的在搜索空间内构建的所有网络都好得多。我们的论文表明,进化算法确实能得到可以与手动设计相媲美,甚至超越手动设计效果的最先进的模型。

控制比较法

即使突变 / 选择进化的过程并不复杂,但也许还有更直接的方法(如随机搜索)可以做到这一点。在文献中,我们也可以找到复杂度稍高但可以解决这一问题的替代方法,如强化学习。正因为如此,我们第二篇论文的主要目的是用控制比较的方法,对这些技术进行对比。

使用演化法、强化学习和随机搜索法进行架构搜索结果对比。这些实验在 CIFAR-10 数据集上完成,条件与 Zophet al. 相同,他们使用强化学习进行空间搜索。

上图比较了演化法、强化学习和随机搜索法。在左侧,每条曲线代表实验的进展,说明在搜索的早期阶段演化法比强化学习更快。这一点很重要,因为如果计算能力较低,实验可能不得不提前停止。

此外,演变在数据集或搜索空间的变化非常稳定。总的来说,这种控制比较实验的目标是帮助研究界提供一个不同搜索算法之间对比关系的案例,来促进架构搜索的研究工作,而这样的实验计算成本非常高昂。

请注意,如上图显示,通过演化法获得的模型具有相当高的精度,同时浮点运算量减少。

我们在第二篇论文中使用的进化算法的一个重要特征是正则化:我们不是让表现最差的神经网络消失,而是删除最初的网络,无论它们的表现有多好。这改善了正在优化的任务中变化的健壮性,并最终生成精准度更高的网络。

其中一个原因可能是我们不允许权重继承,所有的网络都必须从头开始训练。因此,重新训练中会保持正则化选择,好的网络得以保留。

换句话说,因为一个模型变得更加精确是出于偶然,即使是训练过程中的噪声也可能导致相同的结构会得到不同的准确度值,而只有在迭代中保持准确度的架构才能长期存活,从而选择重新训练良好的网络。更多细节可以在此论文中找到(https://arxiv.org/abs/1802.01548)。

我们生成的最先进的模型被命名为 AmoebaNets,是我们在 AutoML 方面的最新成果之一。所有这些实验消耗了巨大的计算量,在数百个 GPU / TPU 上跑了数天时间。就像一台现代式计算机胜过数千年前的机器一样,我们希望将来这些实验可以走入千家万户,有一个美好的未来。

致谢

感谢 Alok Aggarwal、Yanping Huang、Andrew Selle、Sherry Moore、Saurabh Saxena、Yutaka Leon Suematsu、Jie Tan、Alex Kurakin、Quoc Le、Barret Zoph、Jon Shlens、Vijay Vasudevan、Vincent Vanhoucke、Megan Kacholia、Jeff Dean,以及谷歌大脑团队的其他成员,没有他们就没有这项成果的面世。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奇点 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
谷歌大脑AutoML最新进展:不断进化的阿米巴网络
才把神经系统从最原始的雏形——阿米巴(Amoeba)变形虫分化出可对外界环境刺激做出响应的内浆,进化到现在的高度复杂的人脑。
量子位
2018/07/24
4990
谷歌大脑AutoML最新进展:不断进化的阿米巴网络
业界 | 进化算法 + AutoML,谷歌提出新型神经网络架构搜索方法
选自Google Research Blog 作者:Esteban Real 机器之心编译 参与:刘晓坤、路雪、李亚洲 通过在 AutoML 中结合进化算法执行架构搜索,谷歌开发出了当前最佳的图像分类模型 AmoebaNet。本文是谷歌对该神经网络架构搜索算法的技术解读,其中涉及两篇论文,分别是《Large-Scale Evolution of Image Classifiers》和《Regularized Evolution for Image Classifier Architecture Search
机器之心
2018/05/08
9420
业界 | 进化算法 + AutoML,谷歌提出新型神经网络架构搜索方法
谷歌AutoML新进展,进化算法加持,仅用数学运算自动找出ML算法
AutoML-Zero 旨在通过从空程序或随机程序开始,仅使用基础数学运算,来自动发现能够解决机器学习任务的计算机程序。其目标是同时搜索 ML 算法的所有属性,包括模型结构和学习策略,同时将人类偏见最小化。
机器之心
2020/07/14
5580
谷歌AutoML新进展,进化算法加持,仅用数学运算自动找出ML算法
解读 | 如何用进化方法优化大规模图像分类神经网络?
机器之心原创 作者:Angulia Chao 参与:Joni、侯韵楚、高振 让机器具备生物一样的进化能力一直是计算机科学的一个热门研究领域,今年三月份,谷歌的多位研究者提出了一种图像分类器的大规模进化方法,机器之心也曾报道过这项研究,参阅:《深度 | 谷歌和 OpenAI 新研究:如何使用达尔文进化论辅助设计人工智能算法?》。研究发布之后,机器之心的技术分析师又对这项重要研究进行了更加深度细致的解读。 论文:图像分类器的大规模进化(Large-Scale Evolution of Image Classi
机器之心
2018/05/08
1.3K0
解读 | 如何用进化方法优化大规模图像分类神经网络?
Transformer在进化!谷歌大脑用架构搜索方法找到Evolved Transformer
在过去的几年里,神经架构搜索领域取得了极大进展。通过强化学习和进化得到的模型已经被证明可以超越人类设计的模型(Real et al., 2019; Zoph et al., 2018)。这些进展大多聚焦于改善图像模型,但也有一些研究致力于改善序列模型(Zoph & Le, 2017; Pham et al., 2018)。但在这些研究中,研究者一直致力于改良循环神经网络(RNN),该网络长期以来一直用于解决序列问题(Sutskever et al., 2014; Bahdanau et al., 2015)。
机器之心
2019/04/30
6790
Transformer在进化!谷歌大脑用架构搜索方法找到Evolved Transformer
神经网络架构搜索(NAS)
我们大多数人可能都知道ResNet的成功,它是2015年ILSVRC图像分类、检测和定位的大赢家,也是2015年MS COCO检测和分割的大赢家。它是一个巨大的体系结构,到处都有跳跃连接。当我使用这个
商业新知
2019/07/02
1.6K0
神经网络架构搜索(NAS)
神经网络架构搜索(NAS)基础入门
网络架构搜索(NAS)已成为机器学习领域的热门课题。商业服务(如谷歌的AutoML)和开源库(如Auto-Keras[1])使NAS可用于更广泛的机器学习环境。在这篇文章中,我们主要探讨NAS的思想和方法,希望可以帮助读者更好地理解该领域并发现实时应用程序的可能性。
deephub
2020/08/03
1.3K0
归一化激活层的进化:谷歌Quoc Le等人利用AutoML 技术发现新型ML模块
批归一化和激活函数是深度神经网络的重要组成部分,二者的位置常常重合。以往的神经网络设计中通常对二者分别进行设计,而最近谷歌大脑和 DeepMind 研究人员合作提出了一种新方案:将二者统一为一个计算图,从低级原语开始进行结构进化。研究者利用层搜索算法发现了一组全新的归一化-激活层 EvoNorms。这些层中的一部分独立于批统计量(batch statistics)。
机器之心
2020/04/14
6820
归一化激活层的进化:谷歌Quoc Le等人利用AutoML 技术发现新型ML模块
CVPR 2019 神经网络架构搜索进展综述
本文将介绍今年于美国长滩举办的CVPR2019会议上展示的神经网络架构搜索(NAS)领域的研究成果。原标题:Neural Architecture Search at CVPR 2019
AI科技评论
2019/07/30
6380
机器学习论文笔记—如何利用高效的搜索算法来搜索网络的拓扑结构
分层表示高效的架构搜索(HIERARCHICAL REPRESENTATIONS FOR EFFICIENT ARCHITECTURE SEARCH)这篇文章讲的是如何利用高效的搜索算法来搜索网络的拓扑结构。用一个简单但功能强大的演化算法。 这个方法可以发现具有卓越性能的新架构。它这篇文章很大程度上借鉴了GECNN的一些东西,或者说,我之前写了GECNN的论文笔记,里面也是讲演化算法的:https://zhuanlan.zhihu.com/p/36758195 。
机器学习算法工程师
2018/07/26
8020
机器学习论文笔记—如何利用高效的搜索算法来搜索网络的拓扑结构
学界 | DeepMind提出架构搜索新方法:使用分层表示,时间短精度高
选自arXiv 机器之心编译 参与:刘晓坤、路雪 DeepMind 联合 CMU 近日提出一种结合模型结构分层表示和进化策略的高效架构搜索方法,通过比较人工设计的架构、使用强化学习找到的架构、使用随
机器之心
2018/05/10
1.2K0
深度 | 谷歌和OpenAI新研究:如何使用达尔文进化论辅助设计人工智能算法?
选自QZ 作者:Dave Gershgorn 机器之心编译 参与:吴攀、黄小天、李亚洲 现代机器智能建立在模仿自然的基础之上——这一领域的主要目的是在计算机中复制人类通过生物方式具备的强大决策能力。
机器之心
2018/05/07
7320
深度 | 谷歌和OpenAI新研究:如何使用达尔文进化论辅助设计人工智能算法?
告别深度学习炼丹术!谷歌大脑提出“权重无关”神经网络
前不久,新智元报道了谷歌给出首个神经网络训练理论的证明。这一研究在训练深度神经网络被戏谑为 “调参炼丹” 的当下,犹如一道希望的强光,射进还被排除在 “科学” 之外的深度学习领域,激动人心。
新智元
2019/06/19
6460
告别深度学习炼丹术!谷歌大脑提出“权重无关”神经网络
计算成本降低35倍!谷歌发布手机端自动设计神经网络MnasNet
【新智元导读】神经结构自动搜索是最近的研究热点。谷歌大脑团队最新提出在一种在移动端自动设计CNN模型的新方法,用更少的算力,更快、更好地实现了神经网络结构的自动搜索。
新智元
2018/08/16
6290
计算成本降低35倍!谷歌发布手机端自动设计神经网络MnasNet
鸡生蛋与蛋生鸡,纵览神经架构搜索方法
深度学习在感知任务中取得的成功主要归功于其特征工程过程自动化:分层特征提取器是以端到端的形式从数据中学习,而不是手工设计。然而,伴随这一成功而来的是对架构工程日益增长的需求,越来越多的复杂神经架构是由手工设计的。神经架构搜索(NAS)是一个自动架构工程过程,因此成为自动化机器学习的合理发展方向。NAS 可以看做 AutoML 的子领域,与超参数优化和元学习有诸多交叉之处。我们根据三个维度对 NAS 方法进行分类:搜索空间、搜索策略及性能评估策略:
机器之心
2018/09/20
5240
鸡生蛋与蛋生鸡,纵览神经架构搜索方法
【机器学习】---神经架构搜索(NAS)
随着深度学习的成功应用,神经网络架构的设计变得越来越复杂。模型的性能不仅依赖于数据和训练方法,还依赖于网络架构本身。然而,手工设计一个适用于不同任务的高效架构需要大量的领域知识和实验。这时,**神经架构搜索(Neural Architecture Search,NAS)**应运而生,作为自动化寻找神经网络最佳架构的工具,它在一定程度上缓解了设计者的工作量,并能找到比人类手工设计更高效的架构。
Undoom
2024/09/23
9910
AmoebaNet:经费在燃烧,谷歌提出基于aging evolution的神经网络搜索 | AAAI 2019
论文: Regularized Evolution for Image Classifier Architecture Search
VincentLee
2021/01/20
5230
学界 | 结合遗传算法与DNN的EDEN:自动搜索神经网络架构与超参数
机器之心编译 参与:蒋思源 在该论文中,研究者提出了一种进化深度网络(Evolutionary Deep Network/EDEN),即一种神经进化(neuro-evolutionary)算法。该算法结合了遗传算法和深度神经网络,并可用于探索神经网络架构的搜索空间、与之相关联的超参数和训练迭代所采用的 epoch 数量。机器之心简要介绍了该论文。 论文地址:https://arxiv.org/abs/1709.09161 在 Emmanuel 等人的研究工作中,除了探索超参数和 epoch 数以外,他们还
机器之心
2018/05/09
2.8K0
神经架构搜索:自动化设计神经网络的方法
在人工智能(AI)和深度学习(Deep Learning)快速发展的背景下,神经网络架构的设计已成为一个日益复杂而关键的任务。传统上,研究人员和工程师需要通过经验和反复试验来手动设计神经网络,耗费大量时间和计算资源。随着模型规模的不断扩大,这种方法显得愈加低效和不够灵活。为了解决这一挑战,神经架构搜索(Neural Architecture Search,NAS)应运而生,成为自动化设计神经网络的重要工具。
平凡之路.
2025/06/02
1740
学界 | 谷歌云提出渐进式神经架构搜索:高效搜索高质量CNN结构
选自arXiv 机器之心编译 作者:Chenxi Liu等 参与:Panda 李飞飞最近宣布谷歌在中国正式设立了人工智能研究中心,参阅《刚刚,李飞飞在谷歌开发者大会宣布谷歌 AI 中国中心正式成立》;同时她自己参与的人工智能研究也仍在继续出炉发布。在本月初发布在 arXiv 上的一项研究中,来自谷歌多个部门的研究者提出了一种渐进式神经架构搜索方法,可用于高效地搜索 CNN 结构。该论文的第一作者为来自约翰·霍普金斯大学的谷歌实习生 Chenxi Liu,另外还有李佳、李飞飞以及《Machine Learni
机器之心
2018/05/10
9650
推荐阅读
谷歌大脑AutoML最新进展:不断进化的阿米巴网络
4990
业界 | 进化算法 + AutoML,谷歌提出新型神经网络架构搜索方法
9420
谷歌AutoML新进展,进化算法加持,仅用数学运算自动找出ML算法
5580
解读 | 如何用进化方法优化大规模图像分类神经网络?
1.3K0
Transformer在进化!谷歌大脑用架构搜索方法找到Evolved Transformer
6790
神经网络架构搜索(NAS)
1.6K0
神经网络架构搜索(NAS)基础入门
1.3K0
归一化激活层的进化:谷歌Quoc Le等人利用AutoML 技术发现新型ML模块
6820
CVPR 2019 神经网络架构搜索进展综述
6380
机器学习论文笔记—如何利用高效的搜索算法来搜索网络的拓扑结构
8020
学界 | DeepMind提出架构搜索新方法:使用分层表示,时间短精度高
1.2K0
深度 | 谷歌和OpenAI新研究:如何使用达尔文进化论辅助设计人工智能算法?
7320
告别深度学习炼丹术!谷歌大脑提出“权重无关”神经网络
6460
计算成本降低35倍!谷歌发布手机端自动设计神经网络MnasNet
6290
鸡生蛋与蛋生鸡,纵览神经架构搜索方法
5240
【机器学习】---神经架构搜索(NAS)
9910
AmoebaNet:经费在燃烧,谷歌提出基于aging evolution的神经网络搜索 | AAAI 2019
5230
学界 | 结合遗传算法与DNN的EDEN:自动搜索神经网络架构与超参数
2.8K0
神经架构搜索:自动化设计神经网络的方法
1740
学界 | 谷歌云提出渐进式神经架构搜索:高效搜索高质量CNN结构
9650
相关推荐
谷歌大脑AutoML最新进展:不断进化的阿米巴网络
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档