NeurIPS 2022 | 如何实现表格数据上的迁移学习和零样本学习?

2022-10-14 11:40 1013 阅读 ID:409
将门
将门

    论文链接:

    https://arxiv.org/pdf/2205.09328.pdf
    代码链接:
    https://github.com/RyanWangZf/transtab
    文档链接:
    https://transtab.readthedocs.io/en/latest/

    一、 不够flexible的表格学习

    表格学习(tabular learning)顾名思义也就是在表格上的学习(废话)。比方说,很多 kaggle 上的比赛都是属于表格学习的范畴,都是构建若干个 feature,然后预测对应的标签。

    可以说比起 CV 和 NLP,tabular learning 才是现实世界中机器学习会更经常用到的场景。

    在 CV,NLP 领域通常有一个通用的输入(CV:由像素组成的图片;NLP:由词或者 token 组成的文本),但是 tabular learning(表格学习)领域的模型往往限定在同一个设定的表格。导致已经学好的模型只能在同一个表格上预测。

    大家都知道最近在 NLP 和 CV 领域各种预训练模型大杀四方,属于深度学习方法的 BERT,ViT 之流都已经成了标配的 backbone。但是,在表格领域往往还是 “xgboost is all you need”。无他,简单直接好用,效果还不差。在这种情况下,自然就有了不少研究者把目光投到了这片传统机器学习的“最后的堡垒”。

    最近的方法,比如 VIME [1],SCARF [2],SubTab [3] 等都把自监督学习引入了表格领域,或是做一些 masked cell modeling(感觉上就是 auto-encoder 的变种),或是做一些 contrastive learning 把一行的 feature 做一些替换,删除之类的操作来构建正负样本。

    但是,他们的设定都不大符合真实场景。我们往往不是说有一个巨大的表格,然后只有其中一点点样本有标签。而是说我们有若干个有标签的表格,但是每个表格的列名(column)都不大一样。问题在于怎样把这些表格都利用起来,学习一个大模型,才能最大程度地利用手上的数据。

    但是,已知的所有方法都只能处理固定 column 的表格。一旦表格的 column 有一丝丝变化,比如 age->ages,或者 age 这一列被删掉。那么之前训练好的模型就没用了,只能重新 数据处理->特征工程->模型训练 这一个流程。这无疑是不利于我们实现像 CV 和 NLP 里那样做表格学习的大模型训练的。

    那么,有没有一种可能,我们设计一种模型,不管表格变成啥样,都能进行编码和预测呢?

    二、足够flexible的表格学习

    事实上,如果我们仔细观察每一个表格,会发现其实表格的列名(column names)其实蕴含了丰富的信息。比如在上图中,age 列对应了 25,我们自然就知道是 25 岁;income 列对应了 10000,我们知道可能是 10000 个某种货币单位。如果 age 列改成 weight,25 就不再表示 25 岁,而是 25kg 或者其它重量单位。由此可见,表格中 feature 所代表的语义信息是由 column 所决定的。如果我们想要迁移表格的信息,则必须要考虑到 column 的语义。

    上表有三种 feature,分别是 gender (类别型),age(数值型),和 is_grduated(布尔型)。

    对于三种类型的 feature,我们可作不同的处理。

    • 对于类别型(categorical),我们直接把列名与其拼在一起,“male” 变为 “gender male”;
    • 对于数值型(numerical),我们先把列名 tokenize 和 embedding,再把数值 和 embedding 作 element-wise 相乘;
    • 对于布尔型(boolean),我们把列名 tokenize 和embedding,再根据 feature 是 1 或者 0 来决定是否保留此 embedding。如果是 1,则直接保留;是 0 则不将此 feature 加入之后的 embedding;

    对应下图的特征处理模块。

                                                                         TransTab的特征处理模块

    有了这个处理模块,理论上任意 column 的表格,TransTab 都可以将其处理成 embedding,作为后续 transformers 的输入进行处理和预测。

    三、TransTab能做什么

    因为可以编码任意的表格数据,TransTab 可以支持以下一些新任务:

    1. 在多个表格上直接进行 supervised learning,然后做 finetuning
    2. 在来自同一个领域但是 feature 不同的表格上一起 supervised learning
    3. 在多个领域有或无标签的表格上做 contrastive pretraining
    4. 在多个表格上 supervised learning 后在一个新的表格上直接做预测

    对应下图的(1)-(4)项任务。

                                                          TransTab支持的tabular learning任务

    四、TransTab的预训练

    下面我们再简单讲一下怎样基于 TransTab 做预训练。我们的设定如上图(3)所示,假定我们有一系列上游表格,它们有可能有标签或者没标签。我们在有标签的数据上更希望能利用到标签信息,那么可能的想法是:对于所有表格共享一个 backbone,然后对每一个表格单独设置一个 classification head 做 supervised learning。

                                      在多个表格上共享 backbone,单独设置 head 的方式不容易学习

    但是我们发现,这样做会导致 backbone encoder 很难学到好的表征。因为每个表格的标签类别不同,或者可能是相反的定义(比如 mortality 和 survival)。考虑到这点,我们引入了一种基于标签的 supervised contrastive learning,在论文里叫做 vertical partition contrastive learning(VPCL)。

    论文中提出的 supervised vertical partition contrastive learning(VPCL)。每一个样本按列分成若干个 partition,来自同一个类别的 partition 互为正样本。

    实验发现,这种 supervised CL 获得更好的预训练模型。

    五、TransTab表现如何

    接下来就是枯燥的实验环节啦。篇幅所限,只展示一小部分,更多的请参考论文。

                                                                TransTab预训练实验结果

    左边是在多个临床试验数据集上进行预训练和 finetune 之后的结果。与单独在每个表格上训练的 baseline 相比,预训练带来了较大的平均提升。

    右边是同样的实验,但是在一些公开表格数据上进行预训练和 finetune。因为公开数据来自多种领域,非常不同,我们看到 VPCL 还是升。

    5.2 零样本预测

                                                                   TransTab零样本预测结果

    我们尝试了在上游数据上 supervised learning 然后在下游表格上不训练直接预测。上图的 x 轴是上下游表格列之间重合的比例。我们可以看到,在上下游表格没有任何重合的情况下,TransTab 仍然能在多个表格上做出优于 random guess 的预测(AUC 达到 0.55 左右)。这说明了 TransTab 具有一定的零样本推断能力。

    六、总结

    总体来说,这篇文章的方法属于 simple and effective (高情商)。我们希望能够让 deep learning 在表格领域发光发热,就需要发挥 deep learning 做表征学习的能力。这篇文章初步探索了做表格学习的迁移和零样本预测。之后可以更多地利用 language modeling 的方法,来提升语义学习的能力,提升迁移能力和预测能力。

    参考文献

    [1] Jinsung Yoon, Yao Zhang, James Jordon, and Mihaela van der Schaar. VIME: Extending the success of self-and semi-supervised learning to tabular domain. Advances in Neural Information Processing Systems, 33:11033–11043, 2020.

    [2] Dara Bahri, Heinrich Jiang, Yi Tay, and Donald Metzler. SCARF: Self-supervised contrastive learning using random feature corruption. In International Conference on Learning Representations, 2022.

    [3] Talip Ucar, Ehsan Hajiramezanali, and Lindsay Edwards. SubTab: Subsetting features of tabular data for self-supervised representation learning. Advances in Neural Information Processing Systems, 34, 2021.

    公众号:【PaperWeekly】作者:Zifeng Wang
    Illustration by Manypixels Gallery from IconScout

    -The End-

    免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
    反馈
    to-top--btn