【译】An Opinionated Introduction to AutoML and Neural Architecture Search

这是系列文章的第2部分。 在这里查看第1部分第3部分

来自CMU和DeepMind的研究人员最近发布了一篇有趣的新论文,称为差异化架构搜索(DARTS) ,它提供了一种神经架构搜索的替代方法,这是目前机器学习的一个非常热门的领域。 神经架构搜索在去年受到了大肆宣传,Google首席执行官Sundar Pichai和谷歌的AI负责人Jeff Dean宣传神经架构搜索及其所需的大量计算能力 对于向大众提供机器学习至关重要 。 谷歌在神经架构搜索方面的工作得到了科技媒体的广泛和崇拜(见这里这里这里这里的例子)。

关于谷歌的AutoML和神经架构搜索的许多文章中的一小部分的头条新闻

关于谷歌的AutoML和神经架构搜索的许多文章中的一小部分的头条新闻

在2018年3月TensorFlow DevSummit的主题演讲 (大约22:20左右开始)期间,Jeff Dean认为,未来谷歌可能会用100倍的计算能力取代机器学习专业知识 。 他给出了计算上昂贵的神经架构搜索作为一个主要的例子(他给出的唯一例子),为什么我们需要100倍的计算能力才能使更多人能够访问ML。

在TensorFlow开发者峰会上滑出Jeff Dean的主题演讲

在TensorFlow开发者峰会上滑出Jeff Dean的主题演讲

什么是神经结构搜索? 将机器学习提供给非机器学习专家是关键吗? 我将在这篇文章中深入研究这些问题,在下一篇文章中,我将专门研究Google的AutoML。 神经架构搜索是一个名为AutoML的更广泛领域的一部分 ,它也受到了很多炒作,我们将首先考虑。

第2部分目录:

什么是AutoML?

传统上,术语AutoML用于描述模型选择和/或超参数优化的自动化方法 。 这些方法适用于许多类型的算法,例如随机森林,梯度增强机器,神经网络等。 AutoML领域包括开源AutoML库研讨会研究竞赛 。 初学者常常觉得他们只是猜测他们为模型测试不同的超参数,并且自动化过程可以使这部分机器学习管道变得更容易,并且即使对于经验丰富的机器学习从业者也可以加快速度。

有许多AutoML库,其中最早的是AutoWEKA ,它于2013年首次发布,并自动选择模型并选择超参数。 其他值得注意的AutoML库包括auto-sklearn (将AutoWEKA扩展为python), H2O AutoMLTPOTAutoML.org (以前称为ML4AAD,用于自动算法设计的机器学习)自2014年以来一直在学术机器学习会议ICML中组织 AutoML研讨会

AutoML有用吗?

AutoML提供了一种选择模型和优化超参数的方法。 它还可用于获取基线以了解问题可能的性能级别。 这是否意味着可以替换数据科学家? 还没有,因为我们需要保持机器学习从业者所做的其他事情的背景。

对于许多机器学习项目,选择模型只是构建机器学习产品的复杂过程的一部分。 正如我在上一篇文章中所述 ,如果参与者没有看到管道的各个部分是如何相互关联的,那么项目就会失败 。 我想到了过程中可能涉及的30多个不同步骤 。 我强调了机器学习(特别是深度学习)中最耗时的两个方面: 清洁数据是的,这是机器学习中不可分割的一部分 )和培训模型 。 虽然AutoML可以帮助选择模型并选择超参数,但重要的是要了解仍然需要哪些其他数据专业知识以及仍然存在的难题。

我将建议一些替代AutoML的方法,以使机器学习从业者在最后一节更有效。

什么是神经结构搜索?

现在我们已经介绍了AutoML的一些内容,让我们来看看该领域特别活跃的子集: 神经架构搜索 。 谷歌首席执行官桑达·皮采 Sundar Pichai) 写道“设计神经网络非常耗费时间,并且需要专业知识将其用途限制在较小的科学家和工程师社区。 这就是为什么我们创建了一种名为AutoML的方法,表明神经网络可以设计神经网络 。“

Pichai所说的使用“神经网络设计神经网络”被称为神经结构搜索 ; 通常使用强化学习进化算法来设计新的神经网络架构。 这很有用,因为它允许我们发现比人们想象的要复杂得多的架构,并且这些架构可以针对特定目标进行优化。 神经架构搜索通常在计算上非常昂贵。

确切地说,神经架构搜索通常涉及学习像层(通常称为“单元”)之类的东西,它可以组装成一堆重复的单元格来创建神经网络:

来自Zoph等的图。人。 2017.左边是堆叠细胞的完整神经网络,右边是细胞的内部结构

来自Zoph等的图。 人。 2017.左边是堆叠细胞的完整神经网络,右边是细胞的内部结构

关于神经结构搜索的学术论文的文献很多,所以我将在这里重点介绍几篇最近的论文:

来自Le和Zoph博客文章的图表:左边更简单的架构是由人设计的,右边更复杂的架构是由神经网络设计的。

来自Le和Zoph博客文章的图表:左边更简单的架构是由人设计的,右边更复杂的架构是由神经网络设计的。

  • NASNet来自可扩展图像识别的学习可转换架构博客文章 )。 这项工作在一个小数据集(Cifar10)上搜索一个架构构建块,然后为一个大型数据集(ImageNet)构建一个架构。 这项研究计算密集 ,花费1800个GPU天(相当于1个GPU的近5年)来学习架构(谷歌团队使用500个GPU 4天 !)。

  • AmoebaNet来自Regularized Evolution for Image Classifier Architecture Search这项研究的计算密集程度甚至超过了NASNet,它相当于3150 GPU天(相当于1 GPU的近9年)来学习架构(Google使用的团队450 K40 GPU 7天!)。 AmoebaNet由通过进化算法学习的“细胞”组成,表明人工进化的体系结构可以匹配或超越人工制作和强化学习设计的图像分类器。 在结合fast.ai的预付款(例如积极的学习计划)和随着培训的进展改变图像大小之后,AmoebaNet现在是在单台机器上训练ImageNet最便宜的方式

  • 高效的神经架构搜索(ENAS) :使用的GPU小时数比以前现有的自动模型设计方法少得多,特别是比标准的神经架构搜索要便宜1000倍。 这项研究使用单个GPU进行了16个小时。

DARTS怎么样?

可区分的架构搜索(DARTS) 。 这项研究最近是由卡内基梅隆大学和DeepMind的一个团队发布的,我对这个想法感到很兴奋。 DARTS假设候选架构的空间是连续的,而不是离散的,这允许它使用基于梯度的aproach,这比大多数神经架构搜索算法使用的低效黑盒搜索效率高得多。

来自DARTS的图表,它将所有可能的架构的空间视为连续的,而不是离散的

来自DARTS的图表,它将所有可能的架构的空间视为连续的,而不是离散的

要学习Cifar-10的网络, DARTS仅需4个GPU天 ,相比之下,NASNet1800 GPU天,AmoebaNet为 3150个GPU天 (所有学习精度相同)。 这是效率的巨大提升! 虽然需要更多的探索,但这是一个很有前景的研究方向。 鉴于Google经常将神经架构搜索与巨大的计算费用等同起来,有效的架构搜索方法很可能未被充分探索。

神经架构搜索有用吗?

在他的TensorFlow DevSummit主题演讲中 (从22:20开始),Jeff Dean建议深度学习工作的一个重要部分是尝试不同的架构。 这是Dean在他的简短演讲中强调的机器学习的唯一一步,我对他的重点感到惊讶。 Sundar Pichai的博文包含了类似的断言。

Jeff Dean的幻灯片显示,神经架构搜索可以尝试20种不同的模型来找到最准确的

Jeff Dean的幻灯片显示,神经架构搜索可以尝试20种不同的模型来找到最准确的

但是,选择模型只是构建机器学习产品的复杂过程的一部分。 在大多数情况下,架构选择远不是问题中最难,最耗时或最重要的部分。 目前,没有证据表明每个新问题最好用它自己独特的架构建模,大多数从业者认为不太可能出现这种情况。

谷歌等组织致力于架构设计,并与我们其他人共享他们发现的架构,这些组织正在提供重要且有用的服务。 然而,只有那些致力于基础神经结构设计的研究人员才需要基础架构搜索方法。 我们其他人可以使用他们通过转移学习找到的架构。

我们怎么能让机器学习从业者更有效? AutoML与增强ML

AutoML领域,包括神经架构搜索 ,主要关注的问题是: 我们如何自动化模型选择和超参数优化? 然而,自动化忽视了人类输入的重要作用。 我想提出另一个问题: 人类和计算机如何协同工作以使机器学习更有效? 增强型ML的重点在于弄清楚人和机器如何最好地协同工作以利用它们的不同优势。

扩充ML的一个例子是Leslie Smith的学习速率查找器此处 ),它在fastai库 (位于PyTorch之上的高级API)中实现,并作为我们免费深度学习课程中的关键技术进行教学学习率是一个超参数,可以确定模型训练的速度,甚至可以确定它是否成功训练。 学习速率查找器允许人通过查看生成的图表在单个步骤中找到良好的学习速率。 它比AutoML更快地解决同一问题,提高了数据科学家对培训过程的理解,并鼓励采用更强大的多步骤方法来训练模型。

来自Surmenok博客文章的关于学习率发现者的图表,显示了学习率与失败之间的关系

来自Surmenok博客文章的关于学习率发现者的图表,显示了学习率与失败之间的关系

关注自动化超参数选择存在另一个问题:它忽略了某些类型的模型更广泛有用,具有更少的超参数进行调整以及对超参数选择不太敏感的可能性。 例如,随机森林对梯度增强机器(GBM)的一个主要好处是随机森林更加稳健,而GBM往往对超参数的微小变化相当敏感。 因此,随机森林在工业中得到广泛应用。 研究有效删除超参数的方法(通过更智能的默认值或通过新模型)可以产生巨大的影响。 当我在2013年第一次对深度学习感兴趣时,感到压倒性地感到有如此多的超参数,我很高兴新的研究和工具帮助消除了许多(特别是初学者)。 例如,在fast.ai课程中,初学者只需要选择一个超参数,即学习率,我们甚至会给你一个工具来做到这一点!

敬请关注...

现在我们已经了解了AutoML和神经架构搜索领域的概况,我们可以在下一篇文章中仔细研究Google的AutoML。

http://www.fast.ai/2018/07/16/auto-ml2/

猜你喜欢

转载自blog.csdn.net/omnispace/article/details/81411610