导读:2020 年 5 月 16 日上午,在北京智源人工智能研究院主办的智源论坛第 31 期上,AutoML-Zero 团队核心成员梁辰做了题为《AutoML-Zero: Evolving Machine Learning Algorithms from Scratch》的学术报告,并和特约嘉宾、字节跳动人工智能实验室总监李航进行了对话,探讨了自动机器学习(AutoML)技术的前沿发展。
梁辰,博士毕业于 Northwestern University,是 Google Brain 研究员,主要研究方向包括 AutoML、Neural Symbolic Methods、RL、NLP,在NeurIPS/ICML/ICLR/ACL/IJCAI/AAAI 等会议发表了多篇论文。
AutoML 是目前机器学习中发展比较迅速的一个领域,并且在自然语言处理和计算机视觉等任务上取得了不错的效果。但是目前 AutoML 有一些局限性,主要体现在两个方面:自动机器学习方法还不够自动,很多方面依然需要机器学习专家的手动设计;搜索的范围只是整个机器学习算法中很少一部分,限制了 AutoML 的潜力。
Google Brain团队最新的研究成果,可以很好地规避这两个局限性——这项技术被称之为AutoML-Zero,意为“从零开始的自动机器学习”。作为AutoML-Zero团队的核心成员,梁辰在报告中详细介绍了AutoML-Zero的设计思想和工作原理。据梁辰介绍,AutoML-Zero 探索了一个新的研究方向:从零开始从基本的数学操作去搜索机器学习算法,包括实验展示了可以通过进化算法重新发现包括反向传播在内的很多机器学习算法。
下面,我们先来阅读梁辰带来的精彩分享。
整理:智源社区 车飞虎 季葛鹏 高洛生 杨依帆
一、背景介绍
机器学习(Machine Learning,ML)算法的设计与应用需要大量的专家干预,这些人工干预表现在:特征提取、模型设计、算法优化和参数调节等几个方面。而自动机器学习(Automated Machine Learning,AutoML) 技术的出现,则试图实现自动化地学习以上几个重要步骤,使得 ML 模型无需专家干预即可被应用于科研或者工程项目之中。
图1:自动机器学习成功案例
AutoML 技术的发展已为机器学习及其衍生领域带来巨大的福祉,众多优秀的搜索算法案例如雨后春笋般接踵而出,在很多现有的基准测评上面取得了优异的性能排名,例如:图像分类 [1]、目标检测 [2]、自然语言处理 [3]。另外,它在评估协议和应用方面的发展也不可忽视。而梁辰在这次分享报告中提到的工作,从 Why、How、What 三个方面依次为大家介绍了他在 AutoML 领域的探索——AutoML-Zero。
二、Why——为什么要做Auto-ML?
(一)AutoML 算法的局限性
图2:自动机器学习的局限性
梁辰在报告中指出,虽然 AutoML 算法在众多领域取得了如此优异的成绩,但是其算法设计也存在一定的局限性。他将 AutoML 这个技术名词拆解成两个部分来看:
1. 自动化(Automatic,Auto):现有的算法往往被大家诟病并没有那么自动化,很多元素和模块仍旧依赖于机器学习专家的手工设计。举一个最直接的例子就是:算法中搜索空间的限定需要机器学习专家的设计,但是近来研究者发现很多结构空间中的搜索方法不是那么重要,即便做一个随机搜索(Random Search)也可以得到一个具有竞争力的结果。
2. 机器学习(Machine Learning,ML):大多数算法搜索的只是整个机器学习算法中的一小部分,比如只聚焦于结构(Architecture),优化的方法(Optimizer)或者激活函数(Activation Function)等子模块的搜索,而算法中其余的大部分都是由专家预先设定的。
(二)如何消除 AutoML 算法局限性?
图3:AutoML-Zero 能否消除自动机器学习算法的局限性?
上面提到的局限性,虽说不影响算法在基准测评中的表现结果,但是很大程度上面限制了 AutoML 技术巨大的潜力(小编:AutoMLer 的终极梦想)。于是梁辰团队开始提出了对于 AutoML 技术的思考:如何移除局限性?我们是否能够在最小的专家干预情况下搜索整个机器学习算法?
答案是:可以。我们可以从两个方面来缓解局限性:(1)尽量减少手工设计从而摆脱对于先验知识的依赖,即做到真正从零开始;(2)用最少的专家设计去搜索整个算法空间。
图4:一个简单的例子——如何建立一个神经网络模型?
作为引入,我们来看一个简单的例子:一般地,我们使用现有的机器学习库来实现一个神经网络并不困难,只需要调用库中现成的 API 函数和模块即可,但是无形之中会引入很多 Expert Knowledge。“从零开始”的一个最直接的想法是,借助 Numpy 数学库中的数学操作来实现神经网络这样的机器学习算法,这便在某种意义上实现了不依赖于机器学习专家的设计。这也是我们 AutoML-Zero 需要探索的问题:能不能只用基本的数学操作来搜索新的机器学习算法?
(三)什么是 AutoML-Zero?
图5:拓展——建立一个AutoML-Zero模型
如果将上述例子拓展一下,就是给出数学基本操作空间集合,给出既定的机器学习任务空间集合,我们通过AutoML-Zero 模型,在以上两者的基础上探索发现一些机器学习算法。
三、How——如何从零设计AutoML模型?
(一)算法的定义和评估