自动机器学习(AutoML)的目的是使机器学习方法的应用尽可能不受人类干预。自ML诞生以来,这一直是许多研究和工程的目标。虽然在任何可能的应用上达到完全自动化的ML可能在几十年内仍然遥不可及,但有实际的和基本的动机来推动这一领域的先进性。本论文的目的是围绕这个多方面的问题建立一个正式的框架,为现有的方法设定基准,并探索新的方向。
在以前的工作中,AutoML通常是自动超参数优化(HPO)或模型选择的同义词,用于一个特定的学习问题,由一些训练数据定义。最终的性能评估是在一个测试集上进行的,测试集的数据分布与训练数据相同(i.i.d.假设)。在这个问题设置中,通常不考虑训练和测试时间。
我们对AutoML问题的定义与这种简化的设置有一些不同。其一,我们超越了 "单一任务 "的情况,将AutoML问题置于性质相似的一系列任务的更广泛背景中。因此,我们将迁移学习的问题纳入我们的设定中,其目标是将 "知识"从任务迁移到任务,无论是为了多任务学习还是领域适应。迁移学习可以通过各种形式的元学习来解决,利用感兴趣的任务系列例子来 "元训练"学习机器。其次,我们以一种更现实和实用的方式来定义学习任务:一个任务不仅包括一个数据集(分为训练集和测试集),还包括一个评估指标,一个时间预算(用于训练和测试),以及明确定义的计算资源(包括内存限制)。
为了以严格的方式制定AutoML问题,我们首先引入一个数学框架。(1)将所有涉及的算法分为三个层次(α、β和γ层次);(2)具体定义了任务的概念(尤其是在监督学习的环境下);(3)正式定义了HPO和元学习;(4)引入了一个任意时间的学习度量,不仅可以通过其准确性,而且可以通过其学习速度来评估学习算法,这在超参数优化(包括神经架构搜索)或元学习等环境下是至关重要的。这个数学框架统一了ML的不同子领域(如迁移学习、元学习、集合学习),使我们能够系统地对方法进行分类,并为我们提供正式的工具来促进理论发展(如与 "无免费午餐 "定理的联系)和未来的经验研究。特别是,它作为我们组织的一系列挑战的理论基础。
事实上,我们用深度学习解决AutoML的主要方法是在自动深度学习(AutoDL)系列挑战的背景下建立了一个广泛的基准,该挑战是与ChaLearn、Google和4Paradigm共同组织的。这些挑战提供了一套基准的AutoML解决方案,其中有大约100个数据集(来自上述所有领域),其中一半以上作为公共数据集发布,以促进元学习的研究。挑战平台、起始工具包、数据集格式化工具包和所有获胜的解决方案都是开源的。在这些挑战结束时,我们进行了广泛的挑战后分析,发现 (1)获胜的解决方案可以推广到新的未见过的数据集,这验证了在实现通用AutoML解决方案方面取得的进展;(2)尽管我们努力统一格式化所有数据集以鼓励通用解决方案,但参与者为每种模式采用了特定的工作流程;(3)任何时候的学习都被成功解决,而不牺牲最终性能;(4)尽管一些解决方案比提供的基线有所改进,但它强烈影响了许多;(5)深度学习解决方案占主导地位,但神经架构搜索在规定的时间预算内不切实际。大多数解决方案依赖于固定架构的预训练网络,并进行了微调。消融研究揭示了元学习、集合和高效数据加载的重要性,而数据增强并不关键。所有的代码和数据(包括挑战后的分析数据)都可以在autodl.chalearn.org获得。
除了引入AutoML问题的新的一般表述,设置和分析AutoDL挑战,本论文的贡献还包括:(1) 为我们向参与者提出的问题制定我们自己的解决方案。我们的工作GramNAS通过使用形式化的语法对神经架构进行编码来解决神经架构搜索(NAS)问题。这为算法表示提供了一个非常稳健和通用的解决方案,并为从本质上分析算法的学习提供了可能:毕竟,算法的最终表示是其代码(连同编译器)。已经对两种替代方法进行了实验研究:一种是基于蒙特卡洛树搜索(MCTS)的方法,一种是基于进化算法的方法。由于树状结构在形式化语法中非常自然地出现,蒙特卡洛树搜索可以相当自然地用作搜索算法。MCTS GramNAS算法在CIFAR-10数据集上取得了最先进的性能(94%的准确性)。我们还在GramNAS框架上使用了AgEBO(贝叶斯优化的老化进化)算法来说明另一种方法。这最后一种算法本身就适合并行。在4个大型知名数据集的基准测试中,它击败了最先进的软件包AutoGluon和AutoPytorch。GramNAS框架提供了对学习算法的理解和表述的见解。一个工具箱被开源,为新的应用制作定制的形式化语法,允许用户重复使用常见的底层搜索策略。(2) 为未来的元学习挑战打下基础。AutoDL挑战系列揭示了元学习对于成功解决AutoDL任务的重要性。然而,挑战赛的设置并没有评估元学习,因为元学习并没有在挑战赛的平台上进行:参与者提交的代码只是在几个任务上进行独立的训练和测试。在一名实习生的带领下,我们正在尝试各种元学习挑战协议。(3) 作出理论上的贡献。在本论文的研究过程中,进入了几个合作项目,以解决元学习和迁移学习的问题。我们在强化学习的背景下提出了元学习,并证明在某些条件下,随机搜索的平均性能不能被超越。我们还对我们提出的LEAP网的超泛化能力进行了理论分析,证明当系统的扰动为加法时,LEAP网能够实现超泛化。
机器学习(Bishop, 2006; Mitchell, 1997)利用数据的力量来自动构建(或学习)算法。它被用作解决现实世界问题的有力工具(尤其是在这个大数据时代),并且进一步达到某种形式的人工智能(AI)。作为机器学习的一个子领域,深度学习(LeCun等人,2015)在解决计算机视觉(He等人,2015;Krizhevsky等人,2012)、自然语言处理(Devlin等人,2018;Vaswani等人,2017)、语音识别(Graves等人,2013)以及基于特征的表格数据的更经典设置中表现出令人印象深刻的性能。然而,正如 "经典 "机器学习一样,深度学习在模型选择(如构建新的神经网络架构)或调整超参数(如学习率、权重衰减、批量大小、过滤器大小)方面存在繁琐的试错过程。为了应对这个问题,自动机器学习(AutoML)(Hutter等人,2018)旨在将这种耗费资源的程序自动化,在没有任何人工干预的情况下应用机器学习算法。这相当于以下目标(AutoML梦想):
有了这个总体目标,如果AutoML实现了,它将弥补数据科学家和机器学习专家的供需差距。
从历史上看,无论是学术界还是私营部门,都为实现这一AutoML梦想做出了许多努力。在学术界,从2015年到2018年,AutoML挑战赛(Guyon等人,2018)一直在组织,并与ICML和NeurIPS等顶级机器学习会议相配合,以激励机器学习社区的AutoML研究。之前此类挑战赛的获胜方法(如Auto-sklearn(Feurer等人,2015))现在被广泛用于研究和工业。最近,人们对神经架构搜索(NAS)的兴趣已经爆发(Baker等人,2017;Cai等人,2018;Elsken等人,2019;Liu等人,2019a;Negrinho和Gordon,2017b;Zoph和Le,2016)。在工业方面,许多公司,如微软(Fusi等人,2018)和谷歌正在开发AutoML解决方案。谷歌已经推出了他们自己的AutoML平台(Cortes等人,2017),由NAS(Pham等人,2018;Real等人,2017,2020;Zoph和Le,2016)和元学习(Finn等人,2017,2019)驱动。在这篇论文中,我们从理论和经验两方面考虑如何应用AutoML来实现深度学习的自动化。由于AutoML是一个相对年轻的领域,这两个方面的各种问题都有待解决。
理论预测正确地指出,当任务和/或算法之间没有相似性时,没有任何一种学习算法可以胜过所有其他的算法(Wolpert, 2001, 1996; Wolpert and Macready, 1997)。然而,在真实的应用场景中,某些学习算法在特定的领域中始终比其他算法更有效。例如,卷积神经网络(Lecun等人,1998年)在图像领域表现出惊人的学习能力(就训练误差和泛化误差而言)(Krizhevsky等人,2012年),而其他学习算法则效果不佳。这对元概括问题提出了有趣的理论问题:是否可以根据算法在过去(训练)任务中的表现,选择在未来(测试)任务中表现良好的算法。这是我们将在本论文中涉及的一个问题。其他问题也值得理论研究,比如学习算法的准确性和速度之间的权衡,特别是当模型选择和超参数优化(HPO)等耗时的算法作为学习过程的一部分被应用时。在神经架构搜索社区,一些方法甚至可以花费8000个GPU天(Zoph和Le,2016)。因此,我们希望我们的算法不仅能做出准确的预测,还能尽可能快地实现良好的准确性。因此,一个理想的AutoML算法应该能够探索潜在的更好的(超)参数选择,但也要利用已经很好的参数来更节俭地使用。这种探索-利用的权衡在AutoML中起着核心作用,我们将在本论文中对其进行阐述。
从实践和经验方面来看,我们将在一组不同的数据集上分析和测试现有的AutoML算法,以便进行比较和基准测试。我们将审查一个由大约100个数据集组成的资料库,这些数据集是在本博士期间格式化的,并展示广泛的基准测试结果。这些数据集涵盖了诸如计算机视觉、自然语言处理、语音识别和基于特征的表格数据等应用领域。部分结果来自AutoDL挑战(Liu等人,2021),这是我们在自动深度学习(AutoDL)领域组织的一系列比赛。这些AutoDL挑战赛要解决的问题与前述的AutoML梦想是一致的,我们可以从图1.1所示的AutoDL挑战赛的数据流中看到。从图中我们看到,所有类型(视频、语音、文本等)的数据首先被统一格式化为基于张量的格式。然后,这些例子被传递给AutoDL的核心部分,该部分应用一种单一的学习算法,并试图在评估指标方面使学习性能最大化。
图1.1 AutoDL挑战中的数据流。不同类型(视频、语音、文本等)的数据首先被统一为基于张量的格式,然后传递给AutoDL的核心部分,该部分应用一种单一的学习算法,并试图在评估指标方面使学习性能最大化。
由于我们意识到AutoDL这一目标的雄心和挑战性,我们将这一挑战分为几个小的挑战,每个挑战涉及一个领域/模式。这些挑战是AutoCV(图像)、AutoCV2(图像+视频)、AutoNLP(文本)、AutoSpeech(音频),最后是AutoDL(所有组合)。表1.1显示了参与AutoDL挑战的情况和一些基本事实。这些挑战清楚地定义了什么是AutoDL问题,为社区提供了一个拥有100个数据集的开源基准测试平台,并帮助推动该领域的最先进技术。
图1.2 本论文期间组织的AutoDL挑战系列的五项比赛。AutoCV(图像)、AutoCV2(图像+视频)、AutoNLP(文本)、AutoSpeech(音频)和AutoDL(全部合并)。
表1.1 关于AutoDL挑战的基本事实。
没有许多公司、机构和会议的帮助,我们无法实现这一目标。图1.3列出了其中的一些合作。
图1.3 本论文期间的合作。谷歌、4Paradigm和微软提供技术支持和GPU积分。ChaLearn是领导组织AutoDL挑战的非营利组织。挑战赛的结果在与NeurIPS 2019、ECML PKDD 2019、ICLR 2020和ICML 2020等会议同地举行的研讨会上分享。
本论文的总体安排如下。
第一章(本章)介绍了这项工作的背景和动机。
第二章回顾了文献中的最新进展。
第三章明确了本工作的范围,首先介绍了数学符号,然后定义了经验问题,并提出了此后解决的科学问题。
第四章介绍了AutoDL挑战赛的设计、结果和挑战赛后的分析。
第五章介绍了我们在神经结构搜索(NAS)方面的工作。作为AutoDL与AutoML相比的一个主要特征,NAS旨在自动选择深度学习模型的一个重要超参数:神经网络架构。这个超参数与更多传统的超参数不同,因为(1)它可以由任意长的字符串编码,因此是离散的和无限的选择;(2)它可以编码很多人类的知识(这可能是促成深度学习成功的主要原因之一),而这些知识是很难自动化的。
第六章介绍了元学习,这也是更经典的AutoML的一个重要组成部分。元学习,也被称为学习学习,试图从过去的学习任务中获得知识,并提高未来任务的性能。我们为未来的元学习挑战奠定了协议的基础,并提出了基线解决方案。我们还提供了理论分析,说明当 "无免费午餐 "定理的假设不被满足时,有前途的元学习是多么有用。
最后,我们在第七章中以结论和教训来总结我们的工作。
在附录中,我们附上本论文过程中发表的一些论文。