找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 28|回复: 0

使用进化 AutoML 发现神经网络架构

[复制链接]

545

主题

0

回帖

1677

积分

金牌会员

积分
1677
发表于 2024-12-12 19:56:14 | 显示全部楼层 |阅读模式
大脑经过了漫长的进化,从5 亿年前非常简单的蠕虫大脑发展到今天多种多样的现代结构。例如,人类大脑可以完成各种各样的活动,其中许多活动毫不费力 — — 例如,判断一个视觉场景中是否包含动物或建筑物对我们来说感觉微不足道。要执行这些活动,人工神经网络需要专家经过多年艰苦研究精心设计,并且通常解决一项特定任务,例如找出照片中的内容、调用基因变异或帮助诊断疾病。理想情况下,人们希望有一种自动化的方法来为任何给定的任务生成正确的架构。
生成这些架构的一种方法是使用进化算法。对拓扑神经进化的传统研究(例如Stanley 和 Miikkulainen 2002)奠定了让我们今天大规模应用这些算法的基础,许多团体都在研究这个主题,包括OpenAI、Uber Labs、Sentient Labs和DeepMind。当然,Google Brain 团队也在考虑AutoML。除了基于学习的方法(例如强化学习)之外,我们还想知道是否可以使用我们的计算资源以前所未有的规模以编程方式演化图像分类器。我们能否在专家参与最少的情况下获得解决方案?当今人工演化的神经网络能有多好?我们通过两篇论文回答了这些问题。在ICML 2017
上发表的“图像分类器的大规模演化”中,我们建立了一个具有简单构建块和简单初始条件的演化过程。这个想法是“坐下来”,让大规模演化完成构建架构的工作。从非常简单的网络开始,该过程找到了与当时手工设计的模型相当的分类器。这令人鼓舞,因为许多应用程序可能几乎不需要用户参与。例如,一些用户可能需要更好的模型,但可能没有时间成为机器学习专家。接下来要考虑的一个自然问题是,手工设计和演化的结合是否比单独使用任何一种方法都更好。因此,在我们最近的论文《图像分类器架构搜索的正则化进化》(2018 年)中,我们通过提供复杂的构建块和良好的初始条件(如下所述)参与了该过程。此外,我们使用 Google 的新TPUv2 芯片。现代硬件、专家知识和进化的结合共同作用,在CIFAR-10和ImageNet(两个流行的图像分类基准)上产生了最先进的模型。
一种简单的方法
以下是我们第一篇论文中的一个实验示例。在下图中,每个点都是在CIFAR-10数据集上训练的神经网络,该数据集通常用于训练图像分类器。最初,种群由一千个相同的简单种子模型(没有隐藏层)组成。从简单的种子模型开始很重要——如果我们从一个初始条件包含专家知识的高质量模型开始,那么最终获得高质量模型会更容易。一旦用简单模型播种,该过程就会逐步推进。在每个步骤中,都会随机选择一对神经网络。选择准确率更高的网络作为父网络,并进行复制和变异以生成子网络,然后将其添加到种群中,而另一个神经网络则消亡。在此步骤中,所有其他网络保持不变。随着许多此类步骤的连续实施,种群不断进化。
进化实验的进展。每个点代表种群中的一个个体。这四张图展示了已发现架构的示例。它们对应于最佳个体(最右边;按验证准确度选择)及其三个祖先。
我们第一篇论文中的突变故意设计得简单:随机移除卷积、在任意层之间添加跳跃连接或更改学习率,仅举几例。这样,结果就显示了进化算法的潜力,而不是搜索空间的质量。例如,如果我们使用单个突变将其中一个种子网络一步转换为Inception-ResNet分类器,我们就会错误地得出结论,认为该算法找到了一个好的答案。然而,在这种情况下,我们所做的只是将最终答案硬编码为复杂的突变,操纵结果。如果我们坚持使用简单的突变,这种情况就不会发生,进化才是真正的工作。在图中实验中,简单的突变和选择过程使网络随着时间的推移而改进并达到较高的测试准确率,即使在过程中从未见过测试集。在本文中,网络还可以继承其父级的权重。因此,除了发展架构之外,种群还会在探索初始条件和学习率计划的搜索空间的同时训练其网络。因此,该过程会产生具有优化超参数的完全训练模型。实验开始后不需要专家输入。
在上述所有方面,尽管我们通过简单的初始架构和直观的突变来最大限度地减少研究人员的参与,但大量的专家知识投入到了这些架构的构建块中。这些包括卷积、ReLU 和批量归一化层等重要发明。我们正在开发由这些组件组成的架构。术语“架构”并非偶然:这类似于用优质砖块建造房屋。
结合进化和手工设计
在我们的第一篇论文之后,我们希望通过给算法更少的选择来将搜索空间缩小到更易于管理的范围。使用我们的建筑类比,我们从搜索空间中移除了所有可能犯大规模错误的方式,例如将墙放在屋顶上方。与神经网络架构搜索类似,通过修复网络的大规模结构,我们可以帮助算法。那么如何做到这一点?Zoph 等人在论文中引入的类似 inception 的模块。(2017)用于架构搜索的目的被证明非常强大。他们的想法是拥有一个称为单元的重复模块的深层堆栈。堆栈是固定的,但各个模块的架构可以改变。
Zoph 等人(2017 年)介绍的构建块。左图是完整神经网络的外部结构,它通过一堆重复的单元从下到上解析输入数据。右图是单元的内部结构。目标是找到一个可以产生准确网络的单元。
在我们的第二篇论文“图像分类器架构搜索的正则化进化”(2018)中,我们展示了将进化算法应用于上述搜索空间的结果。突变通过随机重新连接输入(图中右图上的箭头)或随机替换操作(例如,它们可以用任意替代方案替换图中的“最大 3x3”,即最大池化操作)来修改单元。这些突变仍然相对简单,但初始条件并非如此:现在使用必须符合专家设计的外部单元堆栈的模型初始化种群。即使这些种子模型中的单元是随机的,我们也不再从简单模型开始,这使得最终更容易获得高质量的模型。如果进化算法做出了有意义的贡献,那么最终的网络应该比我们已经知道可以在这个搜索空间内构建的网络好得多。我们的论文表明,进化确实可以找到与手工设计相匹配或优于手工设计的最先进的模型。
受控比较
尽管突变/选择进化过程并不复杂,但也许更直接的方法(如随机搜索)也能达到同样的效果。文献中也存在其他替代方案,尽管并不简单(如强化学习)。因此,我们第二篇论文的主要目的是提供技术之间的受控比较。
针对架构搜索目的对进化、强化学习和随机搜索进行比较。这些实验是在 CIFAR-10 数据集上进行的,条件与Zoph 等人(2017) 相同,其中搜索空间最初用于强化学习。
上图比较了进化、强化学习和随机搜索。左侧的每条曲线代表实验的进度,表明在搜索的早期阶段,进化比强化学习更快。这很重要,因为可用的计算能力较少,实验可能不得不提前停止。此外,进化对数据集或搜索空间的变化非常稳健。总体而言,这种受控比较的目标是为研究界提供计算成本高昂的实验结果。通过这样做,我们希望通过提供不同搜索算法之间关系的案例研究,为每个人提供架构搜索便利。例如,请注意,上图显示,使用进化获得的最终模型可以在使用更少的浮点运算的情况下达到非常高的精度。我们在第二篇论文中使用的进化算法的一个重要特征是一种正则化
形式:我们不会让最差的神经网络消亡,而是删除最老的神经网络——无论它们有多好。这提高了对正在优化的任务变化的稳健性,并倾向于最终产生更准确的网络。其中一个原因可能是,由于我们不允许权重继承,所有网络都必须从头开始训练。因此,这种形式的正则化会选择在重新训练时仍然表现良好的网络。换句话说,因为模型可能偶然变得更准确——训练过程中的噪声意味着即使是相同的架构也可能获得不同的准确度值——只有经过几代仍能保持准确的架构才能长期生存,从而导致选择重新训练效果良好的网络。有关这一猜想的更多细节,请参阅论文。我们开发的最先进的模型被昵称为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 以及Google Brain 团队的其他成员的合作,使得这项工作成为可能。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|绿色天空实验室

GMT+8, 2024-12-28 02:24 , Processed in 0.087003 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表