在Transformers颠覆了自然语言处理和计算机视觉之后,他们现在把目光投向了最大的数据类型:表格数据。

在这篇文章中,我们将介绍亚马逊的最新论文TabTransformer。

首先,我们将回答为什么可以将transformer应用于表格数据。然后,我们将看到他们如何处理表格数据。

那么下面就开始吧:汽车人,变形出发!

为什么我们可以将Transformers应用于表格数据?

transformer最初是作为一种建模语言的方法被提出的。那么,表格数据是一种语言吗?把普通的表格和人类的语言进行比较感觉很奇怪。

事实是,统计模型并不关心我们的感觉。

他们所关心的只是表征数据的统计属性。这里我们要展示的是表格数据和语言有很多相同的属性。在某种意义上,分类表数据是一种超结构化的语言子集。

假设每一行都是一个“句子”,每一列值都是一个“单词”或一个标记。从语言到表格数据的额外约束如下:

这些句子都是固定长度的:每一行都有相同数量的列。

单词的顺序并不重要,但在定义表格语言时已达成共识。 重要的是语言的真实顺序。

在每个位置,一个单词可以采用的值都是固定的,并且每个单词的取值都不同:每个单词都是一个分类特征。 使用常规语言,您可以在字典中的所有单词之间进行选择,甚至可以根据需要创建新的单词。

事实证明,这些限制并没有限制Transformers的使用。事实正好相反。

当令牌的顺序不重要时,Transformers变得更加完美的。它甚至简化了模型。现在可以省去原始论文中的位置编码步骤。

这也解释了为什么递归神经网络(RNN)不能很好地处理表格数据。RNNs本身就使用令牌的顺序性和位置。

下图显示了TabTransformer的模型架构:

因此,我们都同意至少在表格数据上尝试Transformers是有意义的。现在让我们看看它们与其他表格数据模型的比较情况。

Transformers的三个优点

模型特征与上下文嵌入的交互

在许多列表“语言”中,都存在有意义的特性交互。一个特性的值会影响另一个特性的解释方式。

由于决策树具有连续的决策制定过程,因此它可以很自然地为这些交互行为建模。树中更深层次的决策依赖于从根开始的所有以前的决策,因此以前的特征值会影响当前特征的解释。

其他模型,比如线性支持向量机,无法捕捉这些交互作用。

在自然语言中,这个概念(称为一词多义)也是至关重要的。正如英国语言学家约翰·r·弗斯所说:

“你应该根据一个词的语境来认识它。”

这就是为什么transformer还通过它的多头自注意机制来显式地建模令牌交互。通过这种方式,模型产生了上下文嵌入。

DeepEnFM的研究人员是第一个解决多头注意力表格数据中特征交互问题的研究人员。

使用了强大的半监督学习技术

在关于TabTransformer的文章中,作者指出可以从自然语言处理中复制两种强大的半监督训练技术。

第一个是BERT介绍的一种技术,称为掩蔽语言建模。与语言模型一样,您也可以通过屏蔽输入句子中的标记并学习预测屏蔽标记来训练表格数据上的transformers。

第二种是基于关于ELECTRA的论文的学习技术。 这是“替换令牌检测”。 他们没有掩盖功能,而是将其替换为替代类别。 然后对TabTransformer进行训练,以预测哪些功能已换出。

处理缺失和嘈杂的数据

transformers的最后一个优点是,它们在处理缺失和嘈杂的特征方面表现出色。 这些来自TabTransformer的图表显示了MLP和transformers之间的比较。

因为transformers使用上下文嵌入,所以它们可以从上下文中提取信息以纠正丢失或嘈杂的数据。

MLP还可以学习嵌入,但是它们无法对矢量方向的功能交互进行建模。 它们的体系结构将它们限制为按位交互,但是这会损害其性能。

结论

TabTransformer打开了表示学习天堂的大门,同时匹配了基于树的集成模型的性能。 这是MLP无法提供的。

很好奇,看看接下来的几个月还会有什么!

论文地址:TabTransformer: Tabular Data ModelingUsing Contextual Embeddings https://arxiv.org/pdf/2012.06678.pdf

本文作者:Jakob Cassiman

deephub翻译组

TabTransformer:用于表格数据的Transformer相关推荐

  1. 表格数据深度学习框架-DeepTables

    DeepTables:用于表格数据的深度学习工具包 简介 MLP(也称为全连接神经网络)已被证明在学习分布表示方面效率低下. 事实证明,感知器层的"Add"操作在探索乘法特征交互时 ...

  2. 赠书 | 新手指南——如何通过HuggingFace Transformer整合表格数据

    作者 | Ken Gu 翻译| 火火酱~,责编 | 晋兆雨 出品 | AI科技大本营 头图 | 付费下载于视觉中国 *文末有赠书福利 不可否认,Transformer-based模型彻底改变了处理非结 ...

  3. 《预训练周刊》第9期:TABBIE:表格数据的预训练表示、「视觉预训练神作」:不用图片却训出图像识别SOTA?...

    No.09 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第9期< ...

  4. 【论文解读】NN如何在表格数据中战胜GBDT类模型!

    作者:一元,四品炼丹师 TabNet: Attentive Interpretable Tabular Learning(ArXiv2020) 01 背景 本文提出了一种高性能.可解释的规范深度表格数 ...

  5. Python新工具:用三行代码提取PDF表格数据

    点击上方"视学算法",星标公众号 重磅干货,第一时间送达 项目作者:vinayak mehta 参与:一鸣 从 PDF 表格中获取数据是一项痛苦的工作.不久前,一位开发者提供了一个 ...

  6. 一个简单的更改让PyTorch读取表格数据的速度提高20倍:可大大加快深度学习训练的速度...

    来源:DeepHub IMBA 本文约3000字,建议阅读5分钟 我在PyTorch中对表格的数据加载器进行的简单更改如何将训练速度提高了20倍以上,而循环没有任何变化! 深度学习:需要速度 在训练深 ...

  7. 删除表格数据后自动刷新_Calliope: 表格数据的自动故事生成系统

    视觉数据故事以叙事可视化的形式呈现,如海报或数据视频,通常用于面向数据的故事讲述中,以促进对故事内容的理解和记忆.虽然有用,但技术障碍(如数据分析.可视化和脚本)使可视化数据故事的生成变得困难.现有的 ...

  8. Camelot:从pdf中提取表格数据

    Camelot:从pdf中提取表格数据 文章目录: 一.Camelot的介绍和安装 1. Camelot介绍 2. Camelot的安装 3. 其他 二.Camelot的使用 1. 快速入门使用 2. ...

  9. ajax从mysql提取数据在html中_Python骚操作,提取pdf文件中的表格数据!

    在实际研究中,我们经常需要获取大量数据,而这些数据很大一部分以pdf表格的形式呈现,如公司年报.发行上市公告等.面对如此多的数据表格,采用手工复制黏贴的方式显然并不可取.那么如何才能高效提取出pdf文 ...

最新文章

  1. 流畅的python读书笔记-第一章Python 数据模型
  2. Python学习笔记 ---第三章
  3. mysql 数据库授权(给某个用户授权某个数据库)
  4. 2017沈阳站 Tree
  5. php置顶文章,php实现文章置顶功能的方法
  6. 服务端I/O性能:Node、PHP、Java、Go的对比
  7. 加密算法使用(三):用用BASE64
  8. c语言结构体实验报告加注释,C语言结构体实验报告.doc
  9. 如果你是测试在职,我给你几条快速成长的建议!供所有做软件测试的参考...
  10. 成大事必备9种能力.9种手段.9种心态
  11. 机器学习深度学习教程
  12. 两向量点乘坐标运算_向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读...
  13. 2021 腾讯校招 + 后台开发面经(已 offer)
  14. Java中抽象类和接口的区别
  15. 【Fuzzy】不确定规划:模糊变量
  16. html の第一天(上)-----适合新手入门前端
  17. 【java】微信支付生成签名的过程
  18. python画红色填充三角形_用单独的颜色填充Matplotlib三元组中的三角形
  19. 物联网网关神器 Kong ( 四 )- 利用 Konga 来配置生产环境安全连接 Kong
  20. Fintech趣店总部(厦门)技术招聘

热门文章

  1. 研究生入门,如何高效阅读论文
  2. vue cle新建vue项目
  3. 126网易邮箱设置授权码
  4. NIN:Network in Network
  5. 区块链将成为引导第四次工业革命的重要力量
  6. Altium Designer18之修改画图光标大小
  7. SQL 的一点简单的面试题求助
  8. 和程序员薪酬差不多的工作
  9. 和外国bi相比,国产bi软件更适合中国企业
  10. matlab编程999玫瑰花,网上收到的用matlab画玫瑰花的代码怎么不行啊,报告错误,求大神...