DeepTables: 为结构化数据注入深度学习的洪荒之力

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


    推荐阅读