表格预训练2022_TransTab学习跨表的可转换表格转换器
TransTab:学习跨表的可转换表格转换器
摘要
表格数据(或表格)是机器学习(ML)中使用最广泛的数据格式。然而,ML模型通常假设表结构在训练和测试中保持固定。在ML建模之前,需要进行大量的数据清理,以合并具有不同列的不同表。这种预处理通常会导致显著的数据浪费(例如,移除不匹配的柱和样品)。
如何从具有部分重叠列的多个表中学习ML模型?
如何随着时间的推移随着更多列变得可用而增量地更新ML模型?
我们可以在多个不同的表上利用模型预训练吗?
如何训练一个可以在看不见的表上进行预测的ML模型?
为了回答所有这些问题,我们建议放宽固定的表结构,引入一个可转移的表格Transformer(transTab)的表。TransTab的目标是将每个样本(表中的一行)转换为可泛化的嵌入向量,然后应用堆栈转换器进行特征编码。一种方法学见解是将列描述和表单元格组合起来作为门控Transformer模型的原始输入。另一个观点是引入监督和自我监督的预训练来提高模型性能。
我们在不同的基准数据集和五个肿瘤学临床试验数据集上比较了TransTab与多种基线方法。总体而言,TransTab在监督学习、特征增量学习和迁移学习场景中的12种方法中分别排名1.00、1.00和1.78;并且所提出的预训练导致监督学习平均提高了2.3%的AUC。
1引言
表格数据在医疗保健,工程,广告和金融中无处不在。它们通常作为表或电子表格存储在关系数据库中。表中的行表示数据样本,列表示不同数据类型的特征变量(分类、数字、二进制和文本)。最近的工作使用深度网络或设计自我监督来增强表格ML建模。这些现有的工作需要相同的表结构的训练和测试数据。但是,在真实的世界中,可能有多个表共享部分重叠的列。因此,跨表学习是不适用的。传统的补救措施是在训练任何ML模型之前通过删除不重叠的列和不匹配的样本来执行数据清理,这会浪费数据资源。
因此,跨具有不同列的表进行学习并跨表传输知识对于将深度学习/预训练的成功扩展到表格领域至关重要。表是高度结构化的,但灵活。实现跨表学习的第一步是重新思考表格数据建模中的基本元素。
在计算机视觉中,基本元素是像素或补丁;在自然语言处理中,基本元素是单词或令牌。在表格域中,将每列中的单元格视为独立单元格是很自然的元素列被映射到唯一索引,然后模型采用单元格值进行训练和推理。这种建模公式的前提是在所有表中保持相同的列结构。但是表格通常有不同的协议,其中列和单元格的命名法不同。相比之下,我们提出的工作上下文列和单元格。例如,先前的方法通过引用码本{man:0,woman:1}的0来表示列gender下的单元格值man。我们的模型将表格输入转换为序列输入(例如,性别是男性),其可以用下游序列模型建模。我们认为这样的featurizing协议是通用的表,从而使模型适用于不同的表。
简而言之,我们提出了用于表格分析的可转换器(TransTab),一个多功能的表格学习框架1。TransTab适用于多个用例,如图1所示。TransTab背后的关键贡献是·一个系统化的特征化管道,同时考虑列和单元格语义,作为跨表的基本协议共享。垂直分区对比学习,支持在多个表上进行预训练,还允许在目标数据集上进行微调。如图1所示,由于固定列假设,所有现有的工作都只处理相同结构表上的监督学习或预训练。相反,TransTab放宽了这一假设,并适用于另外四种情况,我们将在第2.1节详细介绍。

图1:不同表格数据设置的ML建模演示。以前的表格方法只在同一个表上进行普通的监督训练或预训练,因为它们只接受固定列的表。相比之下,TransTab涵盖了更多的新任务(1)到(4),因为它接受可变列表。详情见§2.1。
2方法!!!
在本节中,我们将介绍TransTab的详细信息。图2示出了其工作流程,包括以下关键组件:1)输入处理器将任意表格输入特征化并嵌入到令牌级嵌入;
2)堆叠的门控Transformer层进一步编码令牌级嵌入;
3)最后,学习模块包括在标记数据上训练的分类器和用于对比学习的投影器。
接下来,我们将介绍每个组件的详细信息。

图2:TransTab框架的演示。输入处理器将样本编码为标记级嵌入E;在L个门控Transformer层之后的表示ZL中的[cls]嵌入z[cls]用于预测和学习。在监督学习中,z[cls]被分类器用来预测目标y;在对比学习中,投影的z[cls]用于自我或监督的对比损失。
2.1 TransTab的应用场景
在详细介绍我们的方法之前,我们首先介绍了四个新的应用场景,这些场景是由TransTab处理的,如图1所示。假设我们的目标是使用多个临床试验表来预测乳腺癌试验的治疗效果,这里有几个我们经常遇到的场景。
S1迁移学习。我们从多个癌症试验中收集数据表,以测试相同药物对不同患者的疗效。这些表格是独立设计的,列重叠。我们如何通过利用所有试验的表格来学习一次试验的ML模型?
S2增量学习。随着时间的推移,可能会添加其他列。例如,在不同的试验阶段收集额外的特征。我们如何使用所有试验阶段的表格更新ML模型?
S3预训练+微调。试验结果标签(例如,死亡率)可能并不总能从所有表源获得。我们可以在没有标签的桌子上进行预训练吗?我们如何用标签微调目标表上的模型?
S4Zero-shot推理。我们根据我们的试验记录建立了药物疗效模型。下一步是使用模型进行推理,以找到可以从药物中受益的患者。但是,患者表与试验表不共享相同的列,因此不可能进行直接推断。总的来说,我们看到固定表结构的假设是将ML用于各种应用的障碍。接下来,我们将介绍TransTab并演示它如何解决这些场景。
2.2列和单元格的输入处理器
我们构建输入处理器(1)来接受可变列表(2)来保留表格数据集的知识。其思想是将表格数据(列中的单元格)转换为语义编码的标记序列。
我们利用以下观察来创建序列:列描述(例如,列名)决定该列中单元格的含义。例如,如果列吸烟历史中的单元格的值为1,则表示该个人有吸烟历史。类似地,列重量中的单元格值60指示60 kg的重量而不是60岁。
在讨论的推动下,我们建议在表格建模中包含列名。因此,TransTab将任何表格数据视为三个元素的组合:文本(用于分类和文本单元格和列名),连续值(用于数值单元格)和布尔值(用于二进制单元格)。图2示出了如何利用这些元素来处理四种基本类型的特征的可视化示例:分类/文本cat、二进制bin和数值num。
分类/文本特征。类别或文本特征包含一系列文本标记。对于分类特征cat,我们将列名与特征值xc连接起来,这形成了一个标记序列。然后将该句子标记化并匹配到标记嵌入矩阵以生成特征嵌入Ec ∈ Rnc×d,其中d是嵌入维数,nc是标记的数量。
二进制特征。二进制特征箱通常是断言描述,其值xb ∈ {0,1}。如果xb = 1,则bin被标记化并编码为嵌入Eb ∈ Rnb×d;如果不是,则不会处理到后续步骤。当输入具有高维和稀疏的one-hot特征时,这种设计显著降低了计算和存储成本。
数字特征。我们不连接数值特征的列名和值,因为众所周知,标记化嵌入范式在区分数字方面很差。相反,我们将它们分开处理。num与cat和bin一样编码,得到Eu,col ∈ Rnu×d。然后,我们将数值特征与列嵌入相乘,以产生数值嵌入Eu = xu ×Eu,col 2,我们发现它在更复杂的数值嵌入技术上具有优势。
最后,Ec,Eu,Eb都通过层归一化和相同的线性层对齐到相同的空间,然后与[cls]嵌入连接以产生E = Ec Eu Eb e[cls]。
因此,所有单元格值都根据相应的列属性进行上下文化,因此一个元素的语义含义可能会因上下文组成而异。这种表述方式有利于跨表格的知识转移。例如,以前吸烟描述了吸烟史相同的事情。以前的方法从不捕获这种连接,而TransTab可以学习识别两列下的1是等效的。
2.3门控变压器
门控表格变压器是NLP中经典变压器的改编。它由两个主要部分组成:多头自注意层和门控前馈层。首先采用第1层的输入表示Z1来探索特征之间的交互:

其中,在第一层Z 0 = E; WO ∈ Rd×d; {WQ i,WK i,WV i }是第i个头部自注意模块的查询、键、值的权重矩阵(在Rd×d h中)。多头注意力输出Zl att进一步由令牌式门控层变换为gl = σ(Zl attwG),其中σ(·)是S形函数; gl ∈ [0,1]n控制Zatt进入线性投影之前每个令牌嵌入的幅度。然后,此门控将过滤线性图层输出以获得Transformer输出Zl+1 ∈ Rn×d。这种机制通过将注意力重新分配到令牌上来关注重要特征。第L层的最终[cls]嵌入z[cls]由分类器用于预测。

2.4 TransTab的自监督和监督预训练
输入处理器接受可变列表,这为异构表的表格预训练打开了大门。详细地说,TransTab是可行的自我监督和监督预训练。自我监督的VPCL。大多数SSL表格方法都适用于整个固定的列集,这需要很高的计算成本,并且容易过拟合。**相反,我们采用表格式垂直分区来构建CL的正样本和负样本,假设强大的表示应该对视图不变因子进行建模。**详细地,我们如图3所示对列进行子集化,其中Self-VPCL位于右上方。假设样本Xi = {v1 i,…,vK i },其中K个分区vk i .相邻的分区可以有重叠的区域,这些区域由分区的列的百分比来调整。Self-VPCL将来自相同样品的分区作为阳性,将其他分区作为阴性:

其中,B是批量大小;ψ(·, ·)是余弦相似性函数。与SCARF 等普通CL相比,Self-VPCL显着扩展了正采样和负采样,以学习更强大和丰富的嵌入。更重要的是,这种垂直分区采样对面向列的数据库非常友好,它支持从巨型数据仓库中快速查询列的子集。为了计算效率,当K > 2时,我们随机抽样两个分区。
监督VPCL。当我们拥有用于预训练的标记表格数据时,一个自然的想法是将特定于任务的预测头用于对vanilla监督损失进行预训练,例如,交叉熵损失在微调中,这些头会被丢弃,并在预训练的编码器上添加一个新的头。
然而,我们认为这是次优的,可能会破坏模型的可移植性。背后的原因是表格数据集在大小、任务定义和类分布方面差异很大。使用监督损失的预训练TransTab不可避免地导致编码器偏向主要任务和类。
此外,当应用监督损失时,合适的超参数范围在表格数据中通常是不同的。同一组超参数可能会导致一个数据集上的过拟合和另一个数据集上的欠拟合。
因此,基于vanilla监督损失来选择适当的超参数进行预训练是很棘手的。

图3:对比学习方法的演示(不同的部分可以是不同的,也可以部分重叠)。Self-VPCL:阳性对是同一样本的分区; VPCL:阳性对是属于同一类的样本的分区。
在本文中,我们提出了VPCL用于受监督CL启发的预训练,该方法被证明对噪声和超参数具有鲁棒性。如图3所示,我们构建正对,考虑来自相同类的视图,除了仅来自相同样本的视图:

y = {yi}B i是标签; 1{·}是指示函数。VPCL减轻了需要调整到不同数据集的多个预训练预测器。此外,VPCL通过分区将更多的特征嵌入暴露给监督,从而提供更具区分性和可推广性的表示。
3实验
在本节中,我们旨在通过广泛的实验回答以下问题:
· Q1 在常规监督设置下,与基线相比,TransTab的表现如何?
· Q2 TransTab如何处理来自数据流(图1中的S(2))的增量列?
· Q3 从同一领域的多个表(具有不同的列)中学习的TransTab对其预测能力(图1中的S(1))有何影响?
· Q4 当在表格上进行预训练并在新表格上进行推断时,TransTab是否可以成为零机会学习器(图1中的S(4))?
· Q5 建议的垂直分区CL是否优于vanilla监督预训练和自监督CL(图1中的S(3))?

表1:使用临床试验死亡率预测数据集的统计。所有这些都是二元分类任务。正比例是指属于正类的数据点的比例。NCTxxx是试验标识符,可链接到ClinicalTrials.gov上的试验。
数据集。我们介绍了临床试验死亡率预测数据集,其中每个数据集包括一组不同的患者和第3列。数据统计见表1。在临床试验中准确预测患者死亡率是至关重要的,因为它有助于识别灾难性治疗,从而保存患者免受伤害,并改善临床试验设计。考虑到它们来自相似的领域,我们可以利用它们来测试TransTab是否可以实现迁移学习。此外,我们还包括一组公共表格数据集,统计数据见表7。
数据集预处理。对于所有基线,如果需要指定分类特征,则通过序数编码表示分类特征,否则使用独热编码。数值特征通过最小-最大归一化缩放到[0,1]。对于TransTab例外,我们将分类特征索引映射到其原始描述,例如,将“性别”下的“1”类映射为“女性”。
模型和实现协议。除非另有说明,否则我们在所有实验中保持设置不变。TransTab使用2层门控转换器,其中数字和令牌的嵌入维度为128,中间密集层的隐藏维度为256。注意力模块有8个头。我们选择ReLU激活,不激活dropout。我们使用Adam优化器[27]训练TransTab,学习率为{2 e-5,5e-5,1 e-4},没有权重衰减;批量大小为{16,64,128}。我们将最大自我监督预训练时期设置为50,监督训练时期设置为100。保持10的耐心进行监督训练,以便尽早停止。实验使用RTX 3070 GPU、i7-10700 CPU和16 GB RAM进行。
基线。我们包括以下基线进行比较:逻辑回归(LR); XGBoost [28];多层感知器(MLP); SeLU MLP(SNN)[29]; TabNet [30]; DCN [1]; AutoInt [31]; TabTransformer [5]; FT-Transformer [32]; VIME [2]; SCARF [11]。我们在附录B中提供了基线架构和实现。
3.1 Q1.监督学习
表2总结了临床试验死亡率预测数据集的监督学习结果。请注意,包括我们的方法在内的所有方法都不执行预训练。我们看到我们的方法在所有方面都优于基线。从方法等级的角度来看,我们惊讶地发现LR赢得了一半以上的基线方法。除了TransTab之外,FT-Transformer是唯一一个显示出明显优于LR的模型,这说明了transformer在表格建模中的潜力。公共数据集的其他结果见表8,我们证明我们的方法与最先进的基线表格模型相当。我们还发现从CTR预测文献(DCN和AutoInt)中提取的基线在表格建模中具有竞争力。
4相关作品
列表预测。为了增强表格预测,许多最近的作品试图设计新的算法。然而,有人认为,提升算法和MLP仍然是表格数据建模的竞争选择,特别是当样本量很小时。为了缓解标签稀缺问题,引入了对未标记表格数据的SSL预训练。
尽管如此,它们中没有一个是跨表可转移的,然后能够将预训练的成功扩展到表格域。对于实际的表格预测,常见的情况是,我们拥有大量通过不同协议收集的标记样本,因此需要通过丢弃许多样本或许多特征来进行大量预处理以对齐它们。相比之下,TransTab接受可变列表,因此可以大规模地从不同的表中学习并转移到目标任务。此外,它可以支持如图1所示的各种表格预测任务,这是现成的表格方法无法完成的。
迁移学习。自ImageNet [48]提出以来,迁移学习一直是一个热门的研究领域,它在大型通用数据库上利用监督预训练并在小型下游任务上进行微调。TL在NLP中也快速增长,从BERT开始,它经常利用网络规模的未标记文本进行自我监督预训练,然后应用于特定任务。然而,很少有工作是在TL的表格预测。如第1节所述,TransTab通过建立适用于大多数表输入的特征处理协议,为有效的表格TL铺平了道路,这样它就可以跨表共享知识。
自我监督学习和对比学习。SSL使用带有借口任务的未标记数据来学习有用的表示,其中大多数都在CV和NLP中。最近的SSL表格模型可以分为基于重建和对比的方法:TabNet [30]和VIME 试图恢复自动编码丢失的损坏输入; SCARF 在样本和其损坏版本之间采取类似SimCLR的对比损失; SubTab采取两者的组合。
尽管如此,所有人都无法在表格中学习可转移的模型,因此无法从规模化的预训练中受益。对比学习也可以应用于监督学习,通过利用类标签来构建正样本。我们的工作将其扩展到表格域,我们证明它比香草监督预训练效果更好。垂直分区采样还可以从通常面向列的大型数据库中获得高查询速度。另一条研究路线是表预训练表语义解析或表到文本生成。但是这些方法要么是对整个表而不是每一行进行编码,要么还没有证明对表格预测有好处。
5结论
本文提出了接受可变列输入的TransTab。通过所提出的垂直分区对比学习,它可以受益于多个表格数据集的监督预训练,具有较低的内存成本。我们设想它是基础的表格基础模型和广泛使用的表格相关的应用程序在未来。
更多推荐
所有评论(0)