作者罗志鹏 陈相宁 方鑫

NeurIPS 2018 AutoML中国队伍表现强势!Phase1冠亚季队伍联合经验分享

近期,NeurIPS 2018 AutoML 挑战赛公布了最终结果。本次竞赛由第四范式、ChaLearn、微软和阿卡迪亚大学联合举办,专注于终生机器学习领域。竞赛总共分为两个阶段,Feed-Back 阶段及 Blind-Test 阶段,在 Feed-Back 阶段,微软与北京大学组成的 DeepSmart 团队斩获第一名,MIT 和清华大学组成的 HANLAB 斩获第二名,南京大学 PASA 实验室斩获第三名。Blind-Test 阶段由 Autodidact.ai、Meta_Learners、GrandMasters 斩获前三名。

Feed-Back Top3 队伍介绍

DeepSmart 队伍:

  • 罗志鹏:微软 Bing 搜索广告算法工程师,北京大学软件工程专业硕士,专注于深度学习技术在 NLP、广告相关性匹配、CTR 预估等方面的研究及应用。

  • 黄坚强:北京大学软件工程专业硕士在读,擅长特征工程、AutoML、自然语言处理深度学习

DeepSmart 队伍曾经获奖记录:

  • CIKM Cup 2018 1st place

  • KDD Cup 2018 (Second 24-Hour Prediction Track) 1st place

  • KDD Cup 2018 (Last 10-Day Prediction Track) 1st place

  • Weibo Heat Prediction 1st place 

  • Shanghai BOT Big Data Application Competition 1st place

  • Daguan text Classification 1st place

MIT HAN LAB 队伍:

  • 陈相宁:清华大学大四本科生。

  • 韩松:麻省理工大学助理教授。

HAN Lab (Hardware, AI, and Neural-nets) 专注于深度学习的硬件软件协同优化,高性能、低功耗的 AI 处理器以及高效 AI 模型的设计自动化。

  • H: High performance, High energy efficiency Hardware 

  • A: AutoML, Architectures and Accelerators for AI

  • N: Novel algorithms for Neural Networks

  • S: Small models, Scalable Systems, and Specialized Silicon

PASA (formly Fong)(南京大学 PASA 实验室团队)队伍:

PASA 团队研究方向包括 AutoML 算法研究与系统实现, 团队提出的基于强化学习的 AutoML 算法和框架曾获得 PAKDD2018 AutoML2 Challenge Feed-back phase 1-st place and Blind-test phase 3-rd。

大赛简介

人工智能的时代,许多实际应用程序都依赖于机器学习,然而这些程序的开发人员却并不都具备专业的机器学习算法研发能力,因而非常需要部署 AutoML 算法来自动进行学习。此外,有些应用中的数据只能分批次获取,例如每天、每周、每月或每年,并且数据分布随时间的变化相对缓慢。这就要求 AutoML 具备持续学习或者终生学习的能力。这一类的典型问题包括客户关系管理、在线广告、推荐、情感分析、欺诈检测、垃圾邮件过滤、运输监控、计量经济学、病人监控、气候监测、制造等。本次 AutoML for Lifelong Machine Learning 竞赛将使用从这些真实应用程序中收集的大规模数据集。相比于与之前的 AutoML 比赛,本次比赛的重点是概念漂移,即不再局限于简单的 i.i.d. 假设。要求参与者设计一种能够自主(无需任何人为干预)开发预测模型的计算机程序,利用有限的资源和时间,在终身机器学习环境下进行模型训练和评估。

本次比赛分为 Feed-Back 阶段及 Blind-Test 阶段:

  • Feed-Back 阶段: 反馈阶段是代码提交的阶段,可以在与第二阶段的数据集具有相似性质的 5 个数据集上进行训练和测试。最终代码提交将转发到下一阶段进行最终测试。

  • Blind-Test 阶段:该阶段不需要提交代码。系统自动使用上一阶段的最后一次提交的代码对 5 个新数据集进行盲测。代码将自动进行训练和预测,无需人工干预。最终得分将通过盲测的结果进行评估。

大赛结果

图 1:Feed-Back 阶段排行榜

榜单链接:https://competitions.codalab.org/competitions/20203#results

从 Feed-Back 榜单来看 Top3 队伍取得了非常优异的成绩,特别是 DeepSmart 队伍在 5 项任务上取得了 4 项第一,1 项第二的好成绩,其中 4 项任务表现尤为突出。

图 2:Blind-Test 阶段排行榜

上图分别展示了 Feed-Back 阶段及 Blind-Test 阶段的排行榜。值得注意的是,在 Feed-Back 阶段的 Top6 队伍中有 5 支队伍并未进入 Blind-Test 阶段的排行榜。本次 AutoML 竞赛在时间及内存上有很大的限制,其中两个阶段在内存上都限制为 16G,Feed-Back 阶段 5 个任务限制总时间为 7800 秒,Blind-Test 阶段 5 个任务限制总时间在 10400 秒以上。比赛说明中明确 Blind-Test 与 Feed-Back 的数据是可比的,在 Feed-Back 阶段中 Top 队伍都能在限制的时间和内存内完成 5 项任务的建模,然而在 Blind-Test 中 Feed-Back 阶段具有领先优势的 Top 队伍在 Blind-Test 中因在某个数据或者特征量相对较大的任务上没能在限制的内存之内完成 AutoML 的整个建模流程,因此在 Blind-Test 中无得分,尽管 Feed-Back 阶段 Top 队伍做了许多优秀的工作,但最后 Top 队伍还是无缘 Blind-Test 榜单。

本次比赛在五个不同数据集上以 AUC 作为评分指标,以 5 个数据集的平均排名作为排行榜排名,在 Blind-Test 阶段,切换到五个不同的数据集。对比 Feed-Back Top3 队伍与 Blind Test Top3 队伍的成绩,从平均 Rank 指标上 Feed-Back Top3 均值为 2.8,Blind Test Top3 队伍的均值为 8.467,相当于整体实力要至少落后 5 个队伍;从平均 AUC 指标来看,Feed-Back Top3 队伍最差成绩比 Blind Test 最好成绩差 3.864%。从每项任务的 AUC 来看,Feed-Back Top3 最好成绩比 Blind Test 最好成绩分别高 4.43%、3.85%、5.71%、12.47%、8.39%。AUC 指标是一项相对而言很难提升的指标,通常在竞赛中 top 队伍只能在该指标上拉开千分位、万分位的差距,而 Feed-Back Top3 在 5 项任务中领先 Blind-Test 阶段 Top 3 队伍 3.85-12.47%,具有非常明显的优势。所以 Feed-Back 阶段的 Top 队伍的方案具有非常重要的价值。所以主办方也非常认可 Feed-Back 阶段解决方案的价值,向前三名分别授予了奖牌和证书,并且邀请他们参加 NeurIPS 会议进行解决方案分享。在本篇文章的后文,Feed-Back Top3 队伍将分享他们队伍在这次比赛中的经验。

经验分享

DeepSmart:

我们团队基于所给数据实现了一个 AutoML 框架,包括自动特征工程、自动特征选择、自动模型调参、自动模型融合等步骤,并且利用了多种策略对运行时间进行了有效的控制,以确保解决方案能在限制时间内通过。尽管我们在 Feed-Back 阶段使用内存的峰值只有 8G, 但是出乎我们意料的是,最终我们的解决方案却由于内存不足而无缘最终排行榜。

  • 自动特征工程目前,在大部分机器学习工业界应用中,数据和特征对于模型往往是最为关键的,在现有的 AutoML 框架中,大部分特征的提取是通过数值特征进行高阶组合,它们的模型很难提取出跟时序问题或者概念漂移有关的关键特征,这也是我们取得不错效果的重要原因。然而现实中存在大量的时序问题,而且往往带有概念漂移。我们构建的自动特征工程不仅是基于数值特征做横向高阶组合,同时我们基于分类变量、数值变量、时间变量、多值分类变量自动提取跨时间和样本的横向及纵向高阶组合。我们借鉴了之前多次比赛经验,如何处理数据和不同类型的特征才能表现得更好,这次竞赛,一方面是我们不断强化提升的过程,同时也是我们总结的过程。这是我们团队所做出的不同于以往模型的自动特征工程方案,同是也是我们在比赛中能取得显著优势的重要因素。

  • 自动特征选择高阶组合往往容易导致生成大量特征,但我们通过构建自动快速特征选择来提取重要特征,这能极大地加速我们的特征工程,同时也极大地减少模型所使用的特征总量。

  • 自动模型调参:我们采用 GBDT 模型,通过验证集调整模型学习率、叶子结点、树的深度等,由于时间有限,我们只能进行较少次的模型调参及验证,这三个参数对于 GBDT 的影响较大,能取得较为显著的效果提升。由于数据是极度不平衡的,有的数据集甚至只有几千个正样本,负样本却能达到几十万个。所以,我们在树提升的过程中使用了不同的行采样方法。在现有的树提升模型中,他们对正负样本采用同一个行采样率来控制采样。我们使用不同的正负样本行采样率,以使得模型可以使用足够多的正样本和合适的负样本。它不仅可以大大减少模型的运行时间,同时模型也可以取得更好的效果。

  • 自动模型融合:基于所给时间,我们使用不同的行采样及列采样来训练多个不同的模型,这不仅仅更加充分的利用了样本,也使得每个模型使用的数据和特征具有充分的差异性,同时大大减少了过拟合的风险。

MIT HAN LAB:

针对终身学习的 task 下,提出 Hierarchical Ensemble Successive Halving(HESH)。将 GBDT 中的 tree boosting 类比神经网络学习中 back propagation,创新性的将 Successive Halving 运用到 GBDT 中,高效筛选出最优的模型以及超参数。HESH 只基于当前 batch 建立新 model,不涉及数据集的存储与继承,保证速度与高效性。另外,HESH 运用两级 ensemble selection,当新 batch 到达,首先调整底层 ensemble 权重适应当前 concept,同时剪枝模型自适应超参数。之后建立顶层 ensemble 融合历史模型,有效提取适应当前 concept 的信息。通过模型剪枝以及两层自适应集成学习,HESH 能够有效进行终身学习中的模型筛选以及调参,并解决潜在的概念漂移问题。

提出基于强化学习的自动特征工程框架。自动构建并筛选特征。针对数值特征,主要是加减乘除变换;针对类别特征,主要是 value_count 以及 groupby 变换。Automated Feature Engineering 利用 controller 预测变换序列,接着运用 policy gradient 更新 controller。为了应对紧缺的时间,reward 信号被重新设计成为全新的 feature importance 函数,在不需要训练模型的情况下就能有效推断 feature 的价值。实验证明,自动特征工程对于最终的性能带来了较大提升。

PASA (formly Fong):

本届 AutoML 比赛和之前 AutoML 比赛最大的区别主要存在两个方面:一是输入数据集的特征具有较强的多样性,而且需要选手自行处理输入数据集的特征;二是需要处理 Lifelong mechine learning 场景下的概念漂移(concept drift)问题。首先,在特征工程方面,PASA 团队运用了自动化特征编码、自动化特征组合以及自动化特征选择等方法实现特征的设计和提取。其次,在处理概念漂移方面 PASA 团队通过设计在线增量学习框架捕获长期的 concept 和短期的 concept,并采用基于时间窗口的自适应模型加权集成学习算法提升预测性能,集成学习的基学习器可采用梯度提升树模型。

除此之外,为了提升算法的通用性,PASA 团队在模型自动选择和超参调优方面也做了一定的优化。因篇幅有限,不再赘述,欢迎感兴趣者与南京大学 PASA AutoML 团队交流。

总结

近几年来,AutoML 发展十分迅速,人们期待它能够将机器学习从业者从解决繁冗复杂的数据预处理、特征工程、模型选择、模型调参过程中解放出来,更加专注于自己的目标,同时也为非专业人士带来方便可用的自动化机器学习工具;同时,AutoML 本身的复杂性引起了学术界的广泛关注,为学术界带来了更多挑战。

在此次的 AutoML challenge 中,竞争异常激烈,在长达近三个月的比赛过程中,大家不断刷新榜单成绩,迸发出许多有用的想法和创新,对于每一支参赛队伍来说都是一次成长过程,并且间接的推动了 AutoML 领域的发展。我们相信 AutoML 技术将为许多实际问题提供一个良好的解决方案。

最后感谢主办方的辛勤付出,为我们提供本次竞赛机会,让我们能够与 AutoML 领域的其他团队同台竞技,感谢所有的参赛队伍,让我们不断进取,不断创新,助力 AutoML 领域的发展。

工程NIPSAutoML
1
相关数据
微软机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
第四范式机构

第四范式成立于2015年初,是国际领先的人工智能技术与服务提供商,已服务20多个行业完成上千个AI落地案例。目前国内重要的国有银行和全国性股份制银行,超过一半都是第四范式的客户,此外,公司在互联网、医疗、政府、能源、零售、媒体等行业均有涉猎,诸多案例取得百分之一百以上的效果提升。

https://www.4paradigm.com/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

增量学习技术

增量学习作为机器学习的一种方法,现阶段得到广泛的关注。对于满足以下条件的学习方法可以定义为增量学习方法: * 可以学习新的信息中的有用信息 * 不需要访问已经用于训练分类器的原始数据 * 对已经学习的知识具有记忆功能 * 在面对新数据中包含的新类别时,可以有效地进行处理

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

集成学习技术

集成学习是指使用多种兼容的学习算法/模型来执行单个任务的技术,目的是为了得到更佳的预测表现。集成学习的主要方法可归类为三大类: 堆叠(Stacking)、提升(Boosting) 和 装袋(Bagging/bootstrapaggregating)。其中最流行的方法包括随机森林、梯度提升、AdaBoost、梯度提升决策树(GBDT)和XGBoost。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

剪枝技术

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

提升算法技术

Boosting是一种主要用于减少偏差的机器学习集成元算法,也是监督学习的一个变化,是一种将弱学习器转换为强学习器的机器学习算法家族。 Boosting是基于Kearns和Valiant(1988,1989)提出的问题:一组弱学习器能创造一个强大的学习器吗?一个弱的学习器被定义为一个分类器,它与真实的分类只有轻微的相关性(它可以比随机猜测更好地标注示例)。相反,强大的学习器是一个与真实分类任意相关的分类器。

梯度提升技术

梯度提升是用于回归和分类问题的机器学习技术,其以弱预测模型(通常为决策树)的集合的形式产生预测模型。 它像其他增强方法一样以阶段式方式构建模型,并且通过允许优化任意可微损失函数来推广它们。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

特征工程技术

特征工程是利用数据所在领域的相关知识来构建特征,使得机器学习算法发挥其最佳的过程。它是机器学习中的一个基本应用,实现难度大且代价高。采用自动特征工程方法可以省去采用人工特征工程的需求。Andrew Ng 说“挖掘特征是困难、费时且需要专业知识的事,应用机器学习其实基本上是在做特征工程。”

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

特征选择技术

在机器学习和统计学中,特征选择(英语:feature selection)也被称为变量选择、属性选择或变量子集选择。 它是指:为了构建模型而选择相关特征(即属性、指标)子集的过程。

批次技术

模型训练的一次迭代(即一次梯度更新)中使用的样本集。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

自动化机器学习技术

机器学习最近在许多应用领域取得了长足的进步,这促成了对机器学习系统的不断增长的需求,并希望机器学习系统可以被新手快速地熟悉并使用。相应地,越来越多的商业企业推出产品旨在满足这种需求。这些服务需要解决的核心问题是:在给定数据集上使用哪种机器学习算法、是否以及如何预处理其特征以及如何设置所有超参数。这即是自动化学习(AutoML)企图解决的问题。

推荐文章
暂无评论
暂无评论~