LayoutLM 模型文章总结

模型处理的文本图片样例:

LayoutLM,一种简单而有效的文本和布局预训练方法,用于文档图像理解任务。BERT模型中输入的文本信息主要通过文本嵌入和位置嵌入来表示,LayoutLM 增加了两种输入嵌入:

(1) 二维位置嵌入,用于表示文档中一个标记(token)的相对位置;

2) 图像嵌入,用于文档中的扫描标记图像。

LayoutLM 架构:

二维位置嵌入可以捕捉文档中各标记之间的关系,图像嵌入可以捕捉一些外观特征,例如字体的方向、类型和颜色。LayoutLM 同时采用了多任务学习目标,包括掩码视觉-语言模型(MVLM)损失和多标签文档分类(MDC)损失,强化文本和布局的联合预训练。

基于扫描文档图像的文档预训练,而数字原生文档的挑战性较小,因为它们可以被视为一个不需要OCR的特殊情况,因此不在本文的讨论范围之内。具体来说,LayoutLM在IIT-CDIP测试集合上进行了预训练,该集合包含超过600万份扫描文档和1100万张扫描文档图像。

选择了三个基准数据集作为下游任务,以评估预训练的LayoutLM模型的性能。

第一个是用于空间布局分析和表单理解的FUNSD数据集。

第二个是用于扫描收据信息抽取的SROIE数据集。

第三个是用于文档图像分类的RVL-CDIP数据集,该数据集包含16个类别中的40万张灰度图像。

LayoutLM可以在一个框架内对扫描文档图像中的文本和布局信息进行预训练。

LayoutLM采用掩码视觉-语言模型和多标签文档分类作为训练目标,在文档图像理解任务中性能优异。

LayoutLM模型

文档布局信息,文档中单词的相对位置对语义表示有着重要贡献。以表单理解为例,给定表单中的一个键(例如“护照号码:”),其对应的值更有可能出现在其右侧或下方,而不是左侧或上方。因此可以将这些相对位置信息嵌入为二维位置表示。基于Transformer中的自注意力机制,将二维位置特征嵌入语言表示中,能够更好地将布局信息与语义表示对齐。

视觉信息,文档中包含一些视觉信号,用于显示文档段落的重要性或优先级。视觉信息可以通过图像特征来表示,并在文档表示中有效利用。对于文档级别的视觉特征,整个图像可以指示文档的布局,这是文档图像分类的一个重要特征。对于单词级别的视觉特征,诸如加粗、下划线和斜体等样式,也是序列标注任务的重要线索。因此将图像特征与传统文本表示相结合,能够为文档带来更丰富的语义表示。

二维位置嵌入,不同于单词位置的位置嵌入,二维位置嵌入旨在建模文档中元素的相对空间位置。为了表示扫描文档图像中元素的空间位置,将文档页面视为一个以左上角为原点的坐标系。在这种设置下,边界框可以通过(x0, y0, x1, y1)精确定义,其中(x0, y0)对应边界框左上角的位置,而(x1, y1)表示边界框右下角的位置。添加四个位置嵌入层,并使用两个嵌入表,表示相同维度的位置嵌入层共享同一个嵌入表,在嵌入表X中查找x0和x1的位置嵌入,在表Y中查找y0和y1的位置嵌入。

图像嵌入,为了利用文档的图像特征,并将其与文本对齐,添加图像嵌入层,以在语言表示中表示图像特征。根据OCR结果中每个单词的边界框,将图像分割成若干片段,这些片段与单词具有一一对应关系。使用这些图像片段从Faster R-CNN模型中生成图像区域特征,作为标记的图像嵌入。对于[CLS]标记,使用Faster R-CNN模型,以整个扫描文档图像作为感兴趣区域(Region of Interest, ROI)生成嵌入,从而为需要[CLS]标记表示的下游任务提供支持。

预训练任务

任务 1:掩码视觉-语言模型

受掩码语言模型的启发,提出掩码视觉-语言模型(Masked Visual-Language Model, MVLM),用于在二维位置嵌入和文本嵌入的线索下学习语言表示。在预训练过程中,随机掩盖一些输入标记,但保留相应的二维位置嵌入,模型被训练为根据上下文预测被掩盖的标记。通过这种方式,LayoutLM模型不仅能够理解语言上下文,还能利用相应的二维位置信息,从而弥合视觉模态和语言模态之间的差距。

任务 2:多标签文档分类
对于文档图像理解,许多任务需要模型生成高质量的文档级表示。由于IIT-CDIP测试集合中每个文档图像都包含多个标签,在预训练阶段也使用了多标签文档分类(Multi-label Document Classification, MDC)损失。给定一组扫描文档,使用文档标签来监督预训练过程,从而使模型能够整合来自不同领域的知识,并生成更好的文档级表示。由于MDC损失需要每个文档图像的标签,而在更大的数据集中这些标签可能不存在,因此它在预训练中是可选的,并且在未来对更大模型的预训练中可能不会使用。

表单和收据理解任务,LayoutLM为每个标记预测{B, I, E, S, O}标签,并使用序列标注来检测数据集中每种类型的实体。文档图像分类任务,LayoutLM使用[CLS]标记的表示来预测类别标签。

使用预训练的BERT基础模型来初始化LayoutLM模型的权重。基础模型(BASE)架构:一个包含12层的Transformer,隐藏层大小为768,注意力头数为12,包含大约1.13亿个参数。使用BERT基础模型来初始化模型中的所有模块,除了二维位置嵌入层。LARGE模型包含一个24层的Transformer,隐藏层大小为1024,注意力头数为16,该模型由预训练的BERT LARGE模型初始化,包含大约3.43亿个参数。选择输入标记的15%来进行预测。80%的情况下将这些被掩盖的标记替换为[MASK]标记,10%的情况下替换为随机标记,还有10%的情况下保持标记不变,模型通过交叉熵损失来预测对应的标记。

二维位置嵌入层包含四个嵌入表示(x0, y0, x1, y1),其中(x0, y0)对应边界框左上角的位置,而(x1, y1)表示边界框右下角的位置。考虑到文档布局可能会因不同的页面大小而有所不同,将实际坐标缩放到一个“虚拟”坐标:实际坐标被缩放为0到1000之间的值。使用ResNet-101模型作为Faster R-CNN模型的骨干网络,该模型在Visual Genome数据集上进行了预训练。

表单理解:要求提取并结构化表单中的文本内容,目标是从扫描的表单图像中提取键值对。该任务包括两个子任务:语义标注和语义链接。语义标注的任务是将单词聚合为语义实体,并为它们分配预定义的标签。语义链接的任务是预测语义实体之间的关系。测试中专注于语义标注任务,语义链接不在讨论范围内。为了在该任务上微调LayoutLM,将语义标注视为一个序列标注问题,将最终表示传递到一个线性层,然后是一个softmax层,以预测每个标记的标签。

收据理解:根据扫描的收据图像填写几个预定义的语义槽。例如,给定一组收据,需要填写特定的槽(例如,公司、地址、日期和总计)。与表单理解任务(需要标记所有匹配的实体和键值对)不同,语义槽的数量是固定的,且具有预定义的键,模型只需要使用序列标注方法预测相应的值。

文档图像:给定一个视觉丰富的文档,该任务的目标是为每个文档图像预测相应的类别。与现有的基于图像的方法不同,LayoutLM 模型不仅包含图像表示,还通过多模态架构结合了文本和布局信息。模型可以更有效地结合文本、布局和图像信息。将LayoutLM模型的输出与整个图像嵌入拼接,然后通过softmax层进行类别预测。

结论

LayoutLM,一种简单而有效的预训练技术,能够在单一框架内结合文本和布局信息。基于Transformer架构作为骨干网络,LayoutLM利用多模态输入,包括标记嵌入、布局嵌入和图像嵌入。模型可以基于大规模未标记的扫描文档图像以自监督的方式轻松训练。

参考:

[1912.13318] LayoutLM: Pre-training of Text and Layout for Document Image Understanding

https://github.com/microsoft/unilm/tree/master/layoutlm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值