DeepTables: 为结构化数据注入深度学习的洪荒之力
近年来深度学习在 CV、NLP 等非结构化领域展现出超强的统治力,突破最高水平的算法层出不穷。深度学习在结构化和非结构化领域表现出来的巨大反差已成为热门话题,自从以 XGBoost、LightGBM 为代表的高性能集成树模型训练框架的问世,深度学习在结构化领域就一直没有超越配角的地位。到目前为止,Kaggle 结构化数据竞赛中,传统机器学习算法依然是最主要的赢家。
神经网络强大的表示学习能力真的在结构化数据上无法展现威力吗?近日由国内的数据科学平台领导厂商——九章云极发布的开源项目 DeepTables 正在打破这个局面。DeepTables(简称 DT)经过大量的测试验证,在使用相同数据训练模型的条件下,DT 在 70% 以上的测试数据集上超越 XGBoost 和 LightGBM,DT 团队后续会发布详细的测试报告。在 3 月 31 日刚刚结束的 Kaggle 竞赛 Categorical Feature Encoding Challenge II 中 DT 团队获得了第 1 名的成绩,其中 DT 的一个单模型得到第 3 名,这在 Kaggle 比赛动则用数十数百个模型 Ensemble 的标准动作下,单模型取得如此突出的成绩实属不易。
本届比赛来自全球的参赛队伍超过 1100 支,其中不乏 Bojan Tunguz, Sergey Yurgenson, KazAnova 这些 Kaggle 顶级大神的身影,Google 的 Auto Tables 也参加了本场比赛但排名在 300 以外,所以虽然是 Playground 类竞赛,但这个冠军的含金量依然不低,DeepTables 正在为深度学习正名。
实际近年来深度学习在结构化的一些细分领域里已经开始崭露头角,在 CTR 预测和推荐系统方面,神经网络算法利用其在高维稀疏特征上先进的表示学习能力逐步超越了传统机器学习算法。
◆ 从 2015 年 Google 公司的 Wide&Deep 网络开始,到 Deep&Cross、PNN、DeepFM、xDeepFM 这些模型不断刷新在公开数据集上的纪录。研究人员也在不断尝试将 CV、NLP 上的技术引入到结构化领域。
◆ 2019 年北京大学的研究团队提出的 AutoInt 网络应用了大名鼎鼎的 BERT 中 Multi-head Attention 思想,有效的提升了结构化数据自动特征生成和提取的效率,并且一定程度上解决了深度学习缺乏解释性的问题。
◆ 华为诺亚实验室提出的 FGCNN 在利用卷积神经网络的同时创新性的提出 Recombination Layer 将局部特征组合进一步重组,有效的避免了 CNN 过于关注局部特征交互的短板,FGCNN 在华为 AppStore 的推荐系统中大幅提升原有算法的表现。
以上成果确实足以让业界重拾深度学习在结构化数据上的信心,但目前这些成果主要在少数的互联网巨头企业中发挥价值,对于大多数企业和数据科学家来说只是看上去很美,想要应用到实际的建模工作中面临着不小的代价。
- 这些模型大多落在论文层面,部分论文虽然提供了用于验证模型的源码,但想把这些源码应用到实际业务上,代码改造的工作量和难度都不小。
- 结构化和非结构化数据之间最明显的区别是在结构化领域每一个数据集的语义空间和数值的物理含义都有所不同,同一个模型在不同数据集上的表现有时天差地别,常常需要同时评估各种不同模型才能找到最优方案,这也进一步放大了第 1 点中提到的工程代价。
- 上面提到的大部分模型重点解决的是高维稀疏的类别型特征的学习能力,对于连续型的数值特征关注有限,这个部分恰恰是 GBM 模型的杀手锏,因此遇到以连续型特征为主的数据集这些模型往往不尽人意。
九章云极的研发团队基于以上痛点,加上长期服务于金融和保险行业所积累的经验开发并且开源了 DeepTables 深度学习工具包,目前后端计算框架支持 Tensorflow2.0 以上版本。
DT 极其易用,仅 5 行代码即可完成任意一个数据集的建模工作,数据不做任何的预处理和加工也可以完成建模,不管是专家型的数据科学家还是没有建模能力的业务分析人员,DT 都能够提供开箱即用的卓越性能,这是高度依赖手工特征工程的传统机器学习算法难以实现的。
另外,DT 有着非常开放的架构设计,DT 把近年来最优秀的研究成果中的关键网络架构抽取出一组神经网络构件(nets),这些构件可以任意组合出一个新的网络架构,可以非常简便的在不同数据集上探索最优的网络组合。
同时,DT 支持插件式的扩展方式,用户可以按 DT 的接口开发自己的构件和内置的构件融合在一起构成一个新的模型。之前需要几周甚至上月的时间完成的工作,在 DT 的助力下几个小时甚至几分钟就可以完成。
DT 项目地址:https://github.com/DataCanvasIO/deeptableso:p
DT 官方文档:https://deeptables.readthedocs.io/o:p
DT 目前还处于相对早期的阶段,刚刚发布了 0.1.9。DT 下一个计划是开放神经架构搜索(NAS)引擎,用 AI 算法实现在不同的数据集上自动搜索最佳的网络架构,实现真正智能的 AutoDL。
九章云极一直以来秉持拥抱开源的态度,旗下的分布式机器学习平台 APS,其开放的技术架构和开源生态完美融合,受到广大企业客户的青睐。九章云极受益于开源社区,同时也在持续大力回馈于开源社区。
最后插播一个广告
DT 团队目前人才紧缺,欢迎有志于 AutoML、AutoDL 领域的各类人才加盟,为 DT 团队注入洪荒之力。有兴趣的同学可以直接向 DT 团队负责人*(yangjian@zetyun.com)*投递简历。广阔天地,大有可为!