ERNIE-Layout阅读笔记

ERNIE-Layout: Layout Knowledge Enhanced Pre-training for Visually-rich Document Understanding

发表于 EMNLP 2022;

团队:Baidu Inc, Zhejiang University

Abstract

指出说在vrdu方面,于训练技术已经取得了不错的成绩;然而对于利用布局作为中心的只是挖掘和利用还是太少了。

文章提出了ERNIE-Layout模型来解决这个问题,这是一个通过增强布局知识的预训练模型,以学习更好的表示,结合文本、布局和图像的特征。
具体来说,首先在序列化阶段重新排列输入序列,然后提出一个相关的预训练任务,即1)阅读顺序预测,以学习正确的文档阅读顺序。为了提高模型的布局意识,我们在多模态transformer中整合了一个空间感知的分离式注意力(Spatial-aware Disentangled Attention),并在预训练阶段整合了一个2)替换区域预测任务。
实验结果表明,ERNIE-Layout在各种下游任务上取得了卓越的性能,在关键信息提取、文档图像分类和文档问题回答数据集上创造了新的先进水平。

Conclusion

ERNIE-Layout对识别到的文档字词进行重新排列,设计了一种新的注意力机制,以帮助ERNIE-Layout在文本/图像和布局特征之间建立更好的联系。

通过大量的实验证明了ERNIE-Layout的有效性,各种分析显示了不同的布局知识利用对VrDU任务的影响。

Introduction

指出现有的文档预训练方法通常都是简单的将2D坐标作为1D位置的延伸。

所以作者要通过两个方面来挖掘和利用布局知识:

  1. 文档中的布局反映了文档的正确阅读顺序,由于过往的方法是OCR的结果来进行序列化,也就大大致是从上到下和从左到右的方式来排列标记的(序列化);但是对于布局复杂的文件(如表格、表单等)就会导致效果变差。
    在文本输入后的序列化过程中加入一个基于布局的文档解析器,为每个输入文档生成一个合适的阅读顺序,这么做可以比ocr出来的结果的顺序更符合人类阅读习惯,然后为每个文本、视觉token都设置位置嵌入和布局嵌入

  2. 布局也算是一种模态,但是现有的模型都是将布局作为一种特殊的位置特征,如输入层布局嵌入(layoutlm)或在attention层添加bias(layoutlmv2),布局和文本/图像之间缺少跨模态的链接,这导致模型在布局的语义表达上有欠缺。

    为了增强模态之间的互动,作者提出了一种空间感知的分解注意力机制(灵感来源于DeBERTa的注意力分解),其中token之间的注意力权重是使用基于其隐藏状态和相对位置的分解矩阵来计算的
    最后,布局不仅作为输入token的二维位置属性,而且还为语义相似性的计算提供了空间信息(体现在Attention计算的那边)

在训练的阶段采用了四个预训练任务:

  1. 设计预训练任务——阅读顺序预测(ROP),以预测每个位置的下一个token,这有利于在相同排列(布局顺序)的文本片段中保持一致性,并区分不同的片段。
  2. 在预训练时,还采用了经典的屏蔽式视觉语言建模和文本图像对齐任务,并提出了一个细粒度的多模式任务——替换的区域预测任务Replaced Region Prediction.(RRP),即替换区域预测,以学习语言、视觉和布局之间的相关性。
  3. 统的屏蔽式视觉语言建模。
  4. 文本-图像对齐任务。

Methodology

Serialization Module序列化模块

在将vrd送入神经网络之前,对文档进行序列化,即先识别文本,然后将文本排列成适当的顺序。从图1中看起来应该是为每个段落提供一个阅读顺序标签。
首先,使用OCR工具来获取文件中的单词和它们的坐标。然后,传统的方法通过raster-scan识别出的元素从左到右、从上到下排列起来,生成输入序列(这是一种最常见的处理方法,但是如果遇到复杂布局的文档例如下图,图中有两张表格,而表格有多个单元格,对于单元格中的文字也存在换行的情况,所以如果按照 raster-scanning的方进行扫描,可能就会出现提取效果差的情况,因为同一单元格中的字是分散的)。

image-20230417095401964

基于OCR识别出的单词及其方框,它首先检测出文档元素(如段落、列表、表格、图表),然后根据不同元素的特点,使用特定的算法获得单词之间的逻辑关系,从而获得正确的阅读顺序。如下图所示。

image-20230417095455427

ERNIE-Layout的结构和预训练目标。引入序列化模块来纠正栅格扫描的顺序,视觉编码器提取相应的图像特征。通过空间感知的分解注意力机制,ERNIE-Layout被预训练了四个任务。

以计算的困惑度(PPL)作为评价指标来定量分析布局知识增强序列化的好处。

Input Represent输入表示

输入序列包括一个文本部分和一个视觉部分。ERNIE-Layout的输入序列包括一个文本部分和一个视觉部分,每个部分的表示是其模式特征和布局嵌入的组合。

Text Embedding

文本嵌入。序列化模块之后的文档标记被用作文本序列。在BERT-Style模型的预处理之后,用两个特殊的标记[CLS]和[SEP]分别附加在文本序列的开始和结束。

文本embedding如下:

image-20230417095945889

Etk(T)是token的embedding,E1p(T)是1d position embedding,Etp(T)token类型embedding。

Visual Embedding

用Faster-RCNN作为视觉编码骨干提取文档的视觉特征。文档图像被调整为224×224大小,然后送入视觉骨干网络,通过一个自适应池化层,将输出转换为一个具有固定宽度W和高度H的特征图(文章将它们设置为7)。然后将特征图转变成一个视觉序列V,并通过线性层Fvs(·)将每个视觉标记投射到与文本嵌入相同的维度(线性降纬)

image-20230417100319258

Layout Embedding

对于每个文本标记,OCR的bbox提供的二维坐标与边界框的宽度和高度(x0 , y0 , x1 , y1 , w, h),其中(x0 , y0 )表示边界框左上角的坐标,(x1 , y1 )表示右下角,w = x1 - x0,h = y1 - y0,所有的坐标值都在[0, 1000]范围内被规范化。对于视觉token,也可以进行类似的计算过程。

image-20230417101043481

为了查找文本/视觉标记的布局嵌入,在x轴和y轴方向上构建单独的嵌入层。

H是ERNIE-layout的最终输入,由每个文本和视觉的token的embedding结果与相对应的布局embedding结合,最终的序列长度为(文本部分的最大长度N)+(视觉特征的图宽度(这里是7))*(视觉特征的图高度(这里是7))

Multi-modal Transformer

论文认为布局特征也应该参与注意力权重的计算,并且它与文本和图像之间的紧密联系也应该考虑进去。
token之间的注意权重是使用其内容和相对位置的disentangled矩阵计算的(这里就是将视觉、文本和布局的特征分开),我们为多模态transformer提出了空间感知的disentangled注意力,以使布局特征参与其中。

首先定义一个函数δ1p (i, j )计算第i个token和第j个token之间的相对距离

image-20230417103020572

这个应该是设定了一个阈值,小于这个阈值的负数认为相对距离就是0,而跨行了就是other.

在注意力的计算过程中,原始的A=QKT拆成4个,以实现一维/二维特征和内容的深度交换,如下所示

image-20230417103341906

经过一系列的投影矩阵将这些相对位置向量以及内容向量映射到注意力机制中的Q*、K*、V*,其中* ∈{ct, 1p, 2x, 2y }。这里应该就是跨模态注意力的一种体现,通过不同的特征的Q和K的乘积得到注意力分数,不同模态的KQ出现正反相乘是可以增强而这的相关性

image-20230417103459012

将所有这些注意力分数相加,得到注意力矩阵A_hat,然后对A_hat做缩放和归一化操作,空间感知分解注意力的输出。

Pre-training Tasks

Reading Order Prediction

对序列化后的文本(有几个文本段组成,包括了单词和坐标)给予适当的阅读顺序来组织输入单词,但是由于transformer的输入序列没有明确的文本界限(不知道每段是否结束,段与段之间的区分)。所以为了模型对布局知识和阅读顺序之间的关系有更好的理解,就提出了阅读顺序预测(ROP),并且要让A_hat携带阅读顺去知识,所以赋予A_hatij一个特殊含义,即A_hatji是第j个token是第i个token的下一个token的概率。ground truth是一个0-1矩阵用G表示,其中1表示两个标记之间是有阅读顺序关系的,0表示没有。对于结束位置,下一个token是他自己。

用交叉熵损失计算ROP这个分类任务的损失:

image-20230417103826636

Replaced Region Prediction

在视觉编码器中,每个文件图像被处理成一个具有固定长度H*W的序列。为了使模型能够感知到图像斑块和文本之间的细微对应关系,在布局知识的帮助下,我们提出了替换区域预测(RRP)。具体来说,随机选择10%的斑块,用另一幅图像的斑块来替换,处理后的图像由视觉编码器编码,并输入多模态变换器中。然后,Transformer输出的[CLS]向量被用来预测哪些斑块被替换。
这里应该就是用mask的方式,只不过是通过替换别的图像位置的图像块,然后用[CLS]来代表整个句子的信息。LOSS如下

image-20230417104105226

Masked Visual-Language Modeling

目的是根据其文本上下文和整个多模态线索来恢复被遮蔽的文本标记。

Text-Image Alignment

帮助模型学习图像区域和边界框的坐标之间的空间对应关系。 在这里,一些文本行被随机选择,然后覆盖对应区域的文档图像。 然后,引入一个分类层来预测每个文本标记是否被覆盖。是layoutlmv2的预训练任务是一样的。

最终的Pre-training的损失为:

image-20230417104452452

Result

image-20230417104549563

利用实体层面的F1得分来评估这些序列标签任务。ERNIE-Layout在FUNSD、CORD、Kleister-NDA上达到了新的最先进水平,在SROIE上的表现也具有竞争力。值得一提的是,在FUNSD中,ERNIE-Layout与之前的最佳结果相比,获得了7.98%(标准差为0.0011)的明显而稳定的改进。

相关知识

DeBERTa分解注意力机制

与 BERT 不同,DeBERTa 中每个词使用两个对其内容和位置分别进行编码的向量来表示,使用分解矩阵分别根据词的内容和相对位置来计算词间的注意力权重。采用这种方法是因为:词对的注意力权重(衡量词与词之间的依赖关系强度)不仅取决于它们的内容,还取决于它们的相对位置。例如,「deep」和「learning」这两个词在同一个句子中连着出现时的依赖关系要比它们出现在不同句子中强得多。

自适应池化层

即使输入固定大小的图像,使用传统的池化层也会存在一些问题。传统的池化层会通过指定固定大小的池化区域对输入数据进行降采样,以减小特征图的大小,提取更加鲁棒和有用的特征。然而,在不同的图像上,有些区域可能需要更多的细节信息才能更好地区分不同的目标或特征,而其他区域则可以采取更加粗略的降采样。因此,传统的池化层可能会丢失一些重要的特征信息,而且不同的图像可能需要不同的池化区域大小。

自适应池化层通过动态地调整池化区域的大小来解决这个问题。自适应池化层可以根据输入数据的大小和形状自动计算池化区域的大小,以确保每个区域的大小相等。这种方式可以使得自适应池化层更加灵活,能够适应不同大小和形状的输入数据,并且可以保留更多的特征信息,提高模型的性能。

Disentangled矩阵

假设我们有一个 4x4 的彩色图像,可以用一个三维矩阵来表示(长 x 宽 x 通道)。我们可以将这个三维矩阵转换成一个二维的 Disentangled Matrix,其中每一行都表示图像中的一个像素,每一列表示像素的一个特征。假设我们将图像的特征分成三个部分:颜色、亮度和纹理。

那么,我们可以将图像表示成一个 16x3 的矩阵,其中每一行代表一个像素,每一列代表一个特征:

| R    G    B |  亮度  纹理   |
|-------------|-------------|
| 128  64  32 |  0.8   0.2  |
| 255  0   0  |  0.4   0.9  |
| 0    255 0  |  0.2   0.6  |
| 0    0   255|  0.6   0.3  |

在这个例子中,颜色被拆分成三个特征(红、绿、蓝),亮度被表示为一个特征,纹理被表示为一个特征。通过使用 Disentangled Matrix,我们可以将图像数据分解成不同的特征,并对每个特征进行单独处理,这可以使得图像分析任务更加准确和高效。例如,如果我们想要修改这个图像的颜色,我们只需要修改 Disentangled Matrix 中与颜色相关的特征,而不会影响其他特征。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ERNIE-Bot-turbo是一种基于百度AI技术ERNIE(Enhanced Representation through Knowledge Integration)的聊天机器人,它可以进行智能对话和知识问答。ERNIE-Bot-turbo在原有ERNIE-Bot的基础上,通过使用更大的预训练模型ERNIE2.0和更多的训练数据,提高了对话和问答的准确性和流畅性,同时还增加了多轮对话和情感分析等功能。以下是关于ERNIE-Bot-turbo的一些信息: - ERNIE-Bot-turbo的提问方式与普通聊天机器人相同,用户可以直接在对话框中输入问题或语句,ERNIE-Bot-turbo会自动进行分析并给出回答。 - ERNIE-Bot-turbo的知识库涵盖了广泛的领域,包括文化、科技、体育、社会、历史等多个方面,用户可以向ERNIE-Bot-turbo提出不同领域的问题。 - ERNIE-Bot-turbo支持多轮对话,可以针对用户的问题进行追问和回答,实现更加流畅的对话。 - ERNIE-Bot-turbo还具有情感分析功能,可以识别用户的情感状态并根据情感状态给出不同的回答,增强了对话的真实感和情感交互性。 下面是一个样例对话: 用户:你好,请问你叫什么名字? ERNIE-Bot-turbo:你好,我是ERNIE-Bot-turbo,很高兴为您服务。 用户:你会哪些知识领域? ERNIE-Bot-turbo:我的知识库涵盖了广泛的领域,包括文化、科技、体育、社会、历史等多个方面,您可以向我提出不同领域的问题。 用户:你会情感分析吗? ERNIE-Bot-turbo:是的,我能够识别您的情感状态并根据情感状态给出不同的回答,增强了对话的真实感和情感交互性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值