我在谷歌实习时发现了一个模型 bug,于是有了这篇 ACL

d8e6683483e004215608822099677b4e.png

文 | AlbertYang
编 | 小轶

表格的自动理解与检索已经成为 NLP 以及多模态任务中重要的一环。如果我们给模型一个冬奥会的奖牌榜并且问,“哪个国家的金牌最多?”,现有的模型已经可以毫不费力地输出正确的答案(通常都是表格首行的国家金牌最多)。

但是如果我们把表格的所有行顺序打乱,模型还能输出正确答案吗?又或者模型依然无脑选择首行的国家呢?

小编在谷歌实习期间,发现模型在理解表格时总是通过行列顺序的线索作弊。于是乎,为了解决这个问题,我在 ACL2022 的这篇文章里提出了 TableFormer一种对表格行列顺序扰动严格鲁棒的架构引入了 13 种可学习的注意力偏置标量

由此,TableFormer 还能够更好地编码表格结构,以及对齐表格和相应的文本描述(例如自动问答中的问题)。

TableFormer 在基于表格的自动问答和事实核查的三个常用数据集中都取得了不俗的表现,并在基于表格的连续问答任务中实现SOTA。当面临表格行列扰动时,TableFormer由于其严格的鲁棒性,比之前最好的模型得到6%-10%的绝对提升!

下面我们来看看这篇文章的具体细节吧。

论文题目
TableFormer: Robust Transformer Modeling for Table-Text Encoding

论文链接
https://arxiv.org/pdf/2203.00274.pdf

代码将于以下地址开源
https://github.com/google-research/tapas

9d2ec7ccd7da75887239eff98cb20bfd.png关于表格理解30be2a64e13cff140796e98afccfb2fb.png

需要模型编码表格的典型任务包括:

  • 基于表格的语义解析(如文本转SQL),输出常常是能够在表格上执行的SQL语句

  • 基于表格的自动问答,输出是从表格中提取或者生成的答案

  • 基于表格的事实核查,输出是二分类标签(表示语言表述是否符合表格事实)

模型除了要编码半结构化的表格数据,还需要具有能够同时编码表格与文本的能力

很多图片与文本编码的多模态模型也被用来编码表格与文本。

同时,为了在表格理解推理的任务上实现SOTA结果,需要在预先收集的表格文本对上大规模预训练,甚至数据扩增。

最新的方法与文章可以参考本文的相关工作,或者作者整理的论文列表:
https://github.com/JingfengYang/Multi-modal-Deep-Learning#table

此前应用最广泛的架构是 TAPAS [4],也是很长时间里 huggingface transformers 里唯一存在的表格问答模型 [2]。为了编码表格结构,TAPAS 以及之前的工作都需要将表格序列化并和文本拼接起来当作 BERT(或者 BART)的输入。

为了在序列化的表格中加入表格结构信息,在编码单元格时,TAPAS使用了行 ID 向量和列 ID 向量作为额外的特征,其他很多模型把表头中相应的列名当作额外的特征或者单元格的前置 token。

然而,行列 ID 以及 BERT(BART)中存在的序列相对位置或者绝对位置编码会引入表格行列顺序的虚假偏置(spurious bias)。

在回答绝大多数问题时,我们希望模型真正理解表格内容,而不是根据行列顺序的虚假偏置来作出判断。理想情况下,模型只需要知道同行同列信息即可,不需要知道额外的行及列的顺序信息。

实验表明,用TAPAS执行表格问答任务时,如果在预测阶段加入随机的行列扰动,模型的表现会下降4%-6%。

3ab446bf1904d2d2989aa6da2c327598.pngTableFormer结构f0edda6a9ffb4136381e6e63fb3869ef.png

为了解决上述问题,并且进行更好的表格结构编码以及文本表格内容对齐,本文引入了13种结构化注意力偏置,每种偏置用一个可学习的标量表示,与self-attention 中key value计算好并且scaling之后的similarity score相加,以针对不同的结构位置自动调整注意力程度

举例来说,表格中某个token对同一行或者同一列的token会有特定的注意力分数,对文本token会有特定的注意力分数,对表头相应的列名称也会有特定的注意力分数。

用公式表示的话,就是对Transfomer中的self-attention机制做了如下调整:

402 Payment Required

其中,是序列中第i个query 的向量表示, 是序列中第j个key的向量表示, 是query和key的关系对应的归纳偏置标量。前面提到,共有13种关系对应13种偏置:

f90946b108b60bffaa77724c0faf5352.png

其中同行注意力偏置能够帮助编码token位于表格同一行的信息,同列注意力偏置、当前token对相应表头列名的注意力偏置、表头列名对该列单元格token的注意力偏置能够帮助编码同一列信息,当前token对相应表头列名的偏置能够让单元格注意到表头信息而不需要多次重复地将表头前置于每个单元格,表头对文本以及单元格对文本的注意力偏置能够帮助对齐文本描述和相应表格内容(grounding)。

为了实现对行列扰动的严格鲁棒性,本文删除了 TAPAS 的表格行 ID 以及列ID,并把BERT的全序列位置编码改成每个单元格独立的位置编码,即每个单元格的 token 序列从 0 开始编码。

删除这些行列顺序相关的信息后,表格结构的编码完全由行列注意力偏置实现。这样,无论如何扰动表格行列顺序,在 TableFormer 的视角,输入总是完全相同的,由此可以保证扰动前后预测的完全一致性。

TableFormer 的模型输入以及注意力偏置结构如图所示:

d15918e7d1c94ded42076cdda614f4b7.png

31957ad6ed1991a71dfebd6a1b0b7ed1.png实验与分析408190a2adb282ab8719c81f88d7f686.png

本文在三个表格理解与推理的数据集上进行了实验,分别为SQA(基于表格的连续问答),WTQ(基于表格的复杂问答),和TabFact(基于表格的事实核查)。

除了标准的评测数据,本文还将SQA和TabFact的测试集中的表格行列施加随机扰动,构造了扰动测评的场景。

除了标准的评测指标,本文还提出了一个 VP(variation percentage)指标来度量所有测试样例中扰动前后预测出现变化的比例的下界,可以作为样例水平鲁棒性的上界(VP越低越鲁棒)。

402 Payment Required

其中 t2t, t2f, f2t, f2f 分别表示扰动后预测从正确变为正确,从正确变为错误,从错误变为正确,从错误变为错误的样例数目。

在SQA的标准测试集上,TableFormer超过了所有baseline实现了SOTA,在扰动测试的场景下取得了比相应TAPAS模型高出6% - 10%的绝对提升

b6d60e4caa9358d26672a48ce176980d.png

在TabFact上同样取得了比TAPAS显著的提升,在扰动测试的场景下提升更为明显:

c8220538a66f0e0f53287e62be3d5575.png

同样,在WTQ上TableFormer也稳定超越了TAPAS(具体实验结果可见原文)。

本文还设计了一系列对比实验,指出在设计TableFormer时,有一些重要的启示:

  • 可学习的注意力偏置比注意力掩码更适合表格结构编码,可能是因为严格的行列掩码限制了token注意到非同行同列单元格token的能力。

  • 施加注意力偏置的位置很重要,要在计算key value 的相似分数以及scaling之后加注意力偏置标量,而非在scaling之前。即

    402 Payment Required

    优于

    402 Payment Required

    ,这是因为scaling的目的是为了调整key value 高维向量点积后向量的模长,而注意力偏置是一个标量,不需要scaling,注意力偏置的 scaling会导致偏置分数缩小,从而限制偏置对于最终注意力分数的影响,并且影响表格结构偏置的注入效果。
  • TAPAS删除行列ID以及将序列全局位置编码改成单元格内部位置编码后,模型效果显著下降,而TableFormer在这些改动之后可以维持效果,说明TableFormer的注意力偏置已经足够用来编码表格结构,而不需要额外的行列信息。

相关实验数据如下表:

9bf5c970f58597de95b6bed66050351a.png

另一个很自然的想法来解决表格行列顺序扰动带来的影响是在训练时随机扰动表格进行数据扩增,而不改变TAPAS的模型结构。

本文也对TableFormer和这种数据扩增进行了对比实验。实验表明,数据扩增虽然可以减小扰动对于模型总体效果的影响,但最好的表现依然逊色于TableFormer,可能由于TableFormer带来了额外的有效偏置信息(如文本表格对齐等)。

并且,数据扩增无法保证样例水平模型预测对扰动的鲁棒性,从而VP远远高于TableFormer接近于0的VP:

e5811d83ed51eb3b4c79b1db955f965c.png

1a633861cf2a5fbb82b3c64f2f57a7e6.png启示03175fbf4e499772a65dedd79ba071b9.png

本文除了发现表格行列扰动下模型的鲁棒性问题以及提出TableFormer严格的解决方案外,还带给我们一些启示:

  • 类似TableFormer、Graphomer [3],很多结构化与半结构化的数据都可以用注意力偏置标量来编码token间的关系。

  • 结构化数据编码模型的鲁棒性问题应该被重视。

  • 设计模型时每一个component的选择都要非常用心,例如归纳偏置加在scaling之后或者之前,对模型表现就有很大的影响。

作者简介:
本科毕业于北大,Georgia Tech硕士毕业后,暂时放弃UW CS NLP的PhD,去工业界Amazon做了Applied Scientist。不管在哪里,还是希望能做一些扎实的研究或者应用问题。

4cca2d2b1ba20a69b365fbcf0ab18ec5.png后台回复关键词【入群

加入卖萌屋NLP、CV与搜推广求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

48164c0252653d308818f23759036cca.gif 48695a2e0f346c65306fce8b3224668d.png

[1] Yang, Jingfeng, et al. "TableFormer: Robust Transformer Modeling for Table-Text Encoding." ACL 2022.

[2] https://huggingface.co/models?pipeline_tag=table-question-answering&sort=downloads

[3] Ying, Chengxuan, et al. "Do Transformers Really Perform Badly for Graph Representation?." Advances in Neural Information Processing Systems 34 (2021).

[4] Herzig, Jonathan, et al. "TaPas: Weakly supervised table parsing via pre-training." ACL 2020.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Cloud Zuul的fallback优化

如何在Zuul中使用fallback功能 我们在项目中使用Spring cloud zuul的时候,有一种这样的需求,就是当我们的zuul进行路由分发时,如果后端服务没有启动,或者调用超时,这时候我们希望Zuul提供一种降级功能,而不…

技术动态 | 「新一代知识图谱关键技术」最新2022进展综述

转载公众号 | 专知链接:https://crad.ict.ac.cn/CN/10.7544/issn1000-1239.20210829近年来,国内外在新一代知识图谱的关键技术和理论方面取得了一定进展,以知识图谱为载体的典型应用也逐渐走进各个行业领域,包括智能问答、推荐系统、个人助手…

LeetCode 397. 整数替换(递归 贪心)

文章目录1. 题目2. 解题2.1 递归2.2 记忆化递归2.3 贪心1. 题目 给定一个正整数 n,你可以做如下操作: 如果 n 是偶数,则用 n / 2替换 n。如果 n 是奇数,则可以用 n 1或n - 1替换 n。 n 变为 1 所需的最小替换次数是多少&#…

搭配对比学习,万能的 prompt 还能做可控文本生成

文 | ZenMoore编 | 小轶可控文本生成,旨在让语言模型的输出带有我们想要的某种属性。比如情感、主题、三元组等。一般我们习惯采用 CTRL[1] 或者 PPLM[2] 等方式。但是,CTRL 是对整个语言模型进行 Finetuning, PPLM 因为需要在生成的过程中迭代更新 hidd…

Eureka Client注册到Eureka Server的秘密

前言 我们知道Eureka分为两部分,Eureka Server和Eureka Client。Eureka Server充当注册中心的角色,Eureka Client相对于Eureka Server来说是客户端,需要将自身信息注册到注册中心。本文主要介绍的就是在Eureka Client注册到Eureka Server时R…

论文浅尝-综述 | 基于强化学习的知识图谱综述

转载公众号 | 人工智能前沿讲习论文来源:https://crad.ict.ac.cn/CN/10.7544/issn1000-1239.20211264摘要:知识图谱是一种用图结构建模事物及事物间联系的数据表示形式,是实现认知智能的重要基础,得到了学术界和工业界的广泛关注.…

AI当下要破局,不能没有知识图谱!

AI或AI赋能已是传统行业智能化升级和转型的基本模式。近年来越来越多的传统行业的核心战略转移到人工智能领域,但随着大数据红利的消失殆尽,以深度学习为代表的感知智能水平日益接近其“天花板”(来自肖仰华老师分享)。数据驱动的…

LeetCode 495. 提莫攻击

1. 题目 在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输…

Spring Cloud Config的配置中心获取不到最新配置信息的问题

本篇源于Spring Cloud Config的一个问题,但这个问题并非所有人都会遇到。如果您遇到了,那必须得看看这篇,如果没有遇到您也应该看看,防患于未然! 问题描述 之前有朋友提出Spring Cloud Config的配置中心在运行一段时间…

图谱实战 | 京东基于时序知识图谱的问答系统

转载公众号 | DataFunSummit分享嘉宾:商超博士 京东硅谷研究院 研究员编辑整理:张存旺 北航杭州创新研究院出品平台:DataFunTalk导读:本文将分享Temporal Knowledge Graphs方向的一个最新尝试,如何在时序知识图谱上去做…

请不要吸开源的血

文 | 琴梨梨源 | 知乎今天无聊刷GitHub看到一个让我血压上来的项目乍一看,2.4k star,应该不像是什么小项目应该是比较有用的项目,但接下来的事情属实是让我气的很对于开源项目我是不喜欢下载预构建的成品的,我更喜欢自己动手从源代…

LeetCode 357. 计算各个位数不同的数字个数(DP)

1. 题目 给定一个非负整数 n&#xff0c;计算各位数字都不同的数字 x 的个数&#xff0c;其中 0 ≤ x < 10n。 示例: 输入: 2 输出: 91 解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外&#xff0c;在 [0,100) 区间内的所有数字。来源&#xff1a;力扣&#xff08;Lee…

SpringCloud实战小贴士:Zuul的路径匹配

路径匹配 不论是使用传统路由的配置方式还是服务路由的配置方式&#xff0c;我们都需要为每个路由规则定义匹配表达式&#xff0c;也就是上面所说的path参数。在Zuul中&#xff0c;路由匹配的路径表达式采用了Ant风格定义。 Ant风格的路径表达式使用起来非常简单&#xff0c;…

技术动态 | 一文读懂事件知识图谱

转载公众号 | 普适极客文章来源 | 中国科学院网络数据重点实验室【导读】随着事件这类动态知识得到越来越多的关注&#xff0c;学术界涌现出许多事件知识图谱相关的概念。但究竟事件知识图谱是怎么发展而来的&#xff1f;什么是事件知识图谱&#xff1f;它和其他相关概念之间有…

华为开源CTR Benchmark,学术界SOTAs的照妖镜?

文 | 卖萌酱大家好&#xff0c;我是卖萌酱。众所周知&#xff0c;与CV、NLP不同&#xff0c;搜索、广告、推荐领域的学术界paper在很多问题上喜欢各玩各的&#xff0c;缺乏一个统一可比的benchmark。就推荐/广告中核心的CTR预估问题来讲&#xff0c;从传统的LR、FM到Wide&D…

LeetCode 376. 摆动序列(贪心 动态规划)

文章目录1. 题目2. 解题2.1 贪心2.2 动态规划1. 题目 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为摆动序列。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。少于两个元素的序列也是摆动序列。 例如&#xff0c; [1,7,4,9,2…

Spring Cloud实战小贴士:Zuul的饥饿加载(eager-load)使用

上一篇我们介绍了如何使用Ribbon的earger-load配置加速Spring Cloud中对服务接口的第一次调用。可是这样只是解决了内部服务间的调用&#xff0c;另外一个问题依然经常困扰我们&#xff0c;那就是网关到内部服务的访问。由于Spring Cloud Zuul的路由转发也是通过Ribbon实现负载…

论文浅尝 | ESimCSE:无监督句子表示对比学习的增强样本构建方法

笔记整理&#xff1a;高超尘&#xff0c;中国科学院信息工程研究所硕士动机对比学习在学习无监督句向量方面引起了广泛的关注。其中最受关注的无监督方法是unsup-SimCSE&#xff08;Gao et al., EMNLP 2021)。Unsup-SimCSE使用Dropout作为数据增强方法&#xff0c;将相同的输入…

一份北大信科内部流传的 “CS 自救指南”

本文转载自公众号“夕小瑶的卖萌屋”&#xff0c;专业带逛互联网算法圈的神操作 -----》我是传送门 关注后&#xff0c;回复以下口令&#xff1a; 回复【789】 &#xff1a;领取深度学习全栈手册&#xff08;含NLP、CV海量综述、必刷论文解读&#xff09; 回复【入群】&#xf…

LeetCode 678. 有效的括号字符串(栈)

1. 题目 给定一个只包含三种字符的字符串&#xff1a;&#xff08; &#xff0c;&#xff09; 和 *&#xff0c;写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则&#xff1a; 任何左括号 ( 必须有相应的右括号 )。任何右括号 ) 必须有相应的左括号 ( 。…