近日,由第四范式、ChaLearn、微软和阿卡迪亚大学联合举办的《The 3rd AutoML Challenge: AutoML for Lifelong Machine Learning》挑战赛落下帷幕。自 8 月份上线以来,本次赛事吸引了二百余支队伍参赛,其中包括 MIT、UC Berkeley、清华大学、北京大学等国内外顶尖高校,微软、腾讯、阿里巴巴等科技巨头,Rapids.ai 等新兴创业公司,以及一些来自开源社区的开发者。
「今年的 AutoML 竞赛赛题使用了新的问题设置,大数据、复杂数据类型,资源限制依然很大,」比赛组织者之一,第四范式机器学习架构师涂威威表示,「我们准备了一个简单的基线,令人惊讶的是,参赛者们的成绩远远超出了这个基线。此外,这次比赛吸引了大量国内外顶级研究机构的研究人员参与,比赛最后一个月竞争非常激烈。」
经过数月角逐,在 NeurIPS 大会正式开幕前夕,本次大赛公布了最终竞赛的结果:
最终,来自印度的团队 Autodidact.ai 取得本次竞赛的第一名,清华团队 Meta_Learners 获得第二名,来自中南大学、北京邮电大学和浪潮的 Grandmasters 取得了第三名。
本次竞赛包括两个阶段:
- 反馈阶段(Feedback phase):代码提交阶段,参赛者可以在与第二阶段所用数据集本质相似的 5 个数据集上进行实践。参赛者可以进行有限次数的代码提交,可以下载标注训练数据和无标注测试数据集。也就是说,参赛者可以在家准备该阶段的代码提交。最后一次提交的代码将会到下一阶段进行最终测试。
- AutoML 阶段(AutoML phase):盲测阶段,该阶段无需提交代码。上一阶段最后提交的代码将在五个新数据集上进行盲测。参赛者的代码将自动进行训练和测试,该过程没有人类干预。最后得分根据盲测结果而定。
因此,大赛官方也给出了反馈阶段的前三名:
第一名:来自微软、北京大学的团队 Deepsmart
第二名:清华、MIT 的团队 HANLAB
第三名:南京大学 PASA 实验室的团队 Fong
NeurIPS 2018 AutoML for Lifelong Machine Learning 竞赛结果以及团队成员名单。
大赛简介
在很多现实世界的机器学习应用开发过程中,由于机器学习专家数量稀缺,AutoML 显得非常有意义。此外,很多现实世界应用中的数据批次可能随时都在变化,数据分布随时间变化的速度相对较慢。这种情况为 AutoML 系统带来了持续学习或终身学习(Lifelong Machine Learning)的挑战。这类典型的学习问题包括客户关系管理、广告推荐、情感分析、欺诈检测、垃圾邮件过滤、交通监控、计量经济学、病人监控、气候监测、制造等。「AutoML for Lifelong Machine Learning」竞赛使用的大量数据来自于现实世界应用。
据官网介绍,与先前 AutoML 竞赛相比,该挑战赛更加注重概念漂移,而不是较简单的独立同分布情况。在比赛中,参与者需要设计一种可以自动开发预测模型的计算机程序(无需任何人为干预),这个模型需要在终身机器学习环境中进行训练和评估。
虽然,该竞赛场景相对标准,不过也有很多困难,例如:
- 算法可扩展性(Algorithm scalability):竞赛提供的数据集大小是之前赛事的 10-100 倍。
- 不同的特征类型(Varied feature types):包含不同的特征类型(连续、二元、顺序、类别、多值类别、时序),包含具备遵循幂定律(power law)的大量值的类别变量。
- 概念漂移(Concept drift):数据分布随着时间会缓慢变化。
- 终身环境(Lifelong setting):该竞赛所有数据集均按照时间顺序被分割为 10 个批,这意味着所有数据集中的实例批(instance batch)都是按时间顺序排列的(注意每一批中的实例未必按时间顺序排列)。将算法用于时间顺序的连续测试批,以测试算法适应数据分布变化的能力。测试结束后,标签将与学习机器相关,且被包含在训练数据中。
谈到概念漂移和终身学习环境对该竞赛难度的影响以及参赛者的解决方案,涂威威告诉机器之心,「概念漂移和终身学习的环境使得自动化机器学习变得更为困难,自动化机器学习不再是解决一个满足独立同分布的,只有一个训练集和测试集的静态问题,而是解决一个更加贴近实际业务的动态环境问题,数据分布会发生变化。由于数据不断的增加,资源有限,就需要更加精巧的算法如何更好地进行迁移学习。参赛者们从样本、特征和模型的角度都做了很多有趣的改进,比如会做时序特征,也会做样本的选择、模型的迁移等等。」
复杂的特征类型使得特征工程变得更加复杂和困难。在很多实际业务中,特征工程往往也是开发过程中更重要的部分。本次竞赛的获奖者们在自动特征工程上有非常多的创新。据介绍,除了常见的一些单特征处理之外,他们还做出了很多组合特征,前几名的队伍甚至做出了一些自动化的时序特征。
国内获胜团队解决方案
虽然第一名的解决方案还无法了解到,但我们已经获知国内两支参赛队伍在比赛中采用的技术。
据新智元报道,获得此次比赛第二名的清华大学 Meta_Learners 团队成员包括计算机系博士毕业生张文鹏、在读硕士生熊铮、在读博士生蒋继研,由张文鹏担任队长,朱文武教授担任指导教师。
在本次比赛中,Meta_Learners 团队采用了梯度提升树(Gradient Boosting Tree)的方法,在传统的 AutoML 框架上,结合本次比赛数据的特性做了有针对性的设计:
- 特征工程方面,参赛团队针对类别特征高基数、长尾分布的特点,采用了频数编码、中值编码等不同编码方式,以及离散化、分位数变换等处理技巧。
- 迁移适应方面,针对数据存在概念迁移的问题采用了自适应的流式编码技术。
- 资源控制方面,通过自动监测系统中各个组件的运算花销,并使用 Bandit 技术对搜索空间进行压缩和剪枝。
该团队认为,AutoML 比赛的关键在于做好不同层次的权衡(Tradeoff)。
在比赛结果出炉后,排名第三的团队,来自中南大学、北京邮电大学等组成的 Grandmasters 向机器之心分享了自己的模型设计。该团队由来自中南大学的本科生常鉴耕担任队长,队员包括北京邮电大学的研究生柴金龙、赵亚坤,以及来自浪潮的 AI 工程师刘宏刚。
常鉴耕告诉机器之心,Grandmaster 团队采取的是基于单模型的 GBDT 的架构,主要创新点有如下几点:
- 对原始数据的双重编码:由于数据是匿名处理的,我们无法判断原始数据的实际意义,也无法从业务逻辑上考虑特征工程。鉴于这些问题,我们放弃了自动化组合特征,采用了数据再编码的方法。我们对于原始数据使用 ordinalEncoder 以及 frequence 的两种方法进行编码。其中 ordinalEncoder 是序列编码器。其原理是将不同类别按照整数顺序进行编码操作。我们认为此种编码方式有简洁快速、可适用于多值类特征的优点,但其会给数据引入不必要的信息干扰。使得相关性未知的类别之间被编码赋予了已知的相关性。因此另采用了 frequence 编码的方式。我们通过观察数据的变化曲线发现,基于不同的 batch 之间,不同类别出现的频次不同,将特征的频次作为编码,可以保留一定的信息量。实验证明,frequence 编码大幅度提升了模型的性能。
- 增量学习的引入:增量学习是将训练好的模型保存下来,所引入的新数据是基于上一个模型的基础下训练的。这种做法有效的将不同的数据分布引入到同一个模型训练过程中来,有效的改善了大赛重点提及的数据漂移现象,即数据的分布随时间变化导致的模型鲁棒性不高的现象。
- 全量学习的使用:在 py2 赛道上,我们使用了全量学习的思维。即将所有的数据 batch 拼接起来,让模型可以学习到更多分布变化的信息。全量学习与增量学习的配合使用,使我们模型应对不同数据集的鲁棒性大大提升,并在 py2 赛道上斩获第一名。
- 滑窗法的使用:py3 赛道上,由于时间的限制,我们放弃了全量学习,转而使用了滑动窗口采样的方法。秉着「时间越相近的数据越有相关性」的想法,我们保留了最后两个 batch,抛弃更远的数据,提升了运行速度。
- 学习步长的调节:随着 batch 的叠加,我们使学习步长逐步增大,使得模型学习到更多信息的同时,保证了学习速率。
经过这一系列数据处理过程,我们对于数据进行了一个可迁移的深入挖掘。我们采用了 LightGBM 作为基本模型,并在构建模型的初期,使用 gridsearch 方法针对一个数据特征最为丰富的数据集进行调参。我们进一步在之后的调节过程中不断优化参数,使得 AUC 值稳步提升。
Top 战队解决方案详情将在现场分享会上呈现。
- 时间:12 月 7 号下午 13:30 - 15:00
- 地点:Room 518 Competition Track
小结
AutoML 技术作为一种通用机器学习技术,在未来应用的范围非常广泛。第四范式表示,AutoML 技术可以应用于金融、零售、医疗、能源、政府等行业中,并有效降低机器学习算法的门槛,加速人工智能在各行业落地。目前,第四范式等公司的 AutoML 技术已在上述领域中有很多落地案例了。
本次竞赛中,参赛者们提出的方案对 AutoML 在工业界的应用带来了一些启发,其中不仅包括新的思路,也提出了新的问题。希望随着更多交流的出现,人们能够进一步推动 AutoML 在学术界和工业界的发展。
赛事网站:https://competitions.codalab.org/competitions/19836