【LayoutLM】LayoutLMv1---基于大规模未标记扫描文档图像进行自监督训练

LayoutLMv1

Paper : LayoutLM : Pre-training of Text and Layout for Document Image Understanding

Author : Yiheng Xu,Minghao Li, Lei Cui,Shaohan Huang,Furu Wei,Ming Zhou

Affiliation : Microsoft Research Asia

Publication:KDD-2020

Code : https://aka.ms/layoutlm

• 首次在单一框架中对扫描文档图像的文本和布局信息进行预训练,利用图像特征来实现新的最先进的结果。

• LayoutLM 使用屏蔽视觉语言模型和多标签文档分类作为训练目标,在文档图像理解任务中显着优于几种 SOTA 预训练模型。

0 前景

​ 理解商业文档是一项非常具有挑战性的任务。文档 AI 模型和算法旨在自动对业务文档中的信息进行分类、提取和结构化,从而加速自动化文档处理工作流程。

0.1 动机

​ 尽管一些模型在深度神经网络的文档人工智能领域取得了重大进展,但大多数方法都面临两个局限性:

​ (1)它们依赖于少量人类标记的训练样本,而没有充分探索使用大规模无标记训练的可能性样品。

​ (2)他们通常利用预训练的CV模型或NLP模型,但不考虑文本和布局信息的联合训练。因此,研究文本和布局的自监督预训练如何在文档人工智能领域提供帮助非常重要。

1 方法

​ LayoutLM,一种简单而有效的文本和布局预训练方法,用于文档图像理解任务。受 BERT 模型 的启发,输入文本信息主要由文本嵌入和位置嵌入表示,LayoutLM 进一步添加了两种类型的输入嵌入:(1)二维位置嵌入,表示 token 在一个文件中的相对位置; (2) 文档中扫描的token的图像嵌入。 LayoutLM 的架构如图所示。作者添加这两个输入嵌入是因为二维位置嵌入可以捕获文档中标记之间的关系,同时图像嵌入可以捕获一些外观特征,例如字体方向、类型和颜色。

​ 此外,作者为 LayoutLM 采用多任务学习目标,包括掩码视觉语言模型(MVLM)损失和多标签文档分类(MDC)损失,这进一步加强了文本和布局的联合预训练。在这项工作中,作者的重点是基于扫描文档图像的文档预训练,而数字文档的挑战性较小,因为它们可以被视为不需要 OCR 的特殊情况,因此它们不在本研究的范围。具体来说,LayoutLM 在 IIT-CDIP 测试集 1.0上进行了预训练,其中包含超过 600 万个扫描文档和 1100 万个扫描文档图像。在这里插入图片描述

LayoutLM 模型 虽然类似 BERT 的模型已成为几个具有挑战性的 NLP 任务的最先进技术,但它们通常仅利用输入的文本信息。当涉及视觉丰富的文档时,可以将更多信息编码到预训练模型中。因此,作者建议利用文档布局中丰富的视觉信息,并将其与输入文本对齐。基本上,有两种类型的功能可以显着改善视觉丰富的文档中的语言表示,它们是:

文档布局信息
显然,文档中单词的相对位置对语义表示有很大贡献。以表单理解为例,给定表单中的一个键(例如“护照ID:”),其对应的值更有可能位于其右侧或下方,而不是左侧或上方。因此,作者可以将这些相对位置信息嵌入为二维位置表示。基于 Transformer 内的自注意力机制,将 2-D 位置特征嵌入到语言表示中将更好地将布局信息与语义表示对齐。

视觉信息。
与文本信息相比,视觉信息是文档表示中另一个显着重要的特征。通常,文档包含一些视觉信号来显示文档片段的重要性和优先级。视觉信息可以通过图像特征来表示并有效地用于文档表示。对于文档级视觉特征,整个图像可以指示文档布局,这是文档图像分类的重要特征。对于单词级视觉特征,粗体、下划线和斜体等样式也是序列标记任务的重要提示。因此,作者相信将图像特征与传统文本表示相结合可以为文档带来更丰富的语义表示。

1.1 模型架构

​ 为了利用现有的预训练模型并适应文档图像理解任务,作者使用 BERT 架构作为主干,并添加两个新的输入嵌入:二维位置嵌入和图像嵌入。

1.1.1 二维位置嵌入

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

1.1.2 图像嵌入

​ 为了利用文档的图像特征并将图像特征与文本对齐,作者添加图像嵌入层来表示语言表示中的图像特征。更详细地说,利用 OCR 结果中每个单词的边界框,作者将图像分成几块,它们与单词一一对应。作者使用 Faster R-CNN模型中的这些图像作为标记图像嵌入来生成图像区域特征。对于 [CLS] token,作者还使用 Faster R-CNN 模型使用整个扫描文档图像作为感兴趣区域 (ROI) 来生成嵌入,以有利于需要 [CLS] token表示的下游任务。

1.2 预训练 LayoutLM

​ 任务 #1:Masked Visual-Language Model。受掩码语言模型的启发,作者提出了掩码视觉语言模型(MVLM),以二维位置嵌入和文本嵌入为线索来学习语言表示。在预训练期间,作者随机屏蔽一些输入标记,但保留相应的二维位置嵌入,然后训练模型在给定上下文的情况下预测屏蔽标记。通过这种方式,LayoutLM 模型不仅可以理解语言上下文,还可以利用相应的二维位置信息,从而弥合视觉和语言模态之间的差距。

问题?

MVLM— mask 部分text信息,但保留其2d position embedding,使模型根据上下文、位置信息,推断被遮挡的词汇。让模型更好地学习文本位置和文本语义的模态对齐关系。

利用二维位置嵌入–》视觉??

​ 任务#2:Multi-label Document Classification。对于文档图像理解,许多任务需要模型生成高质量的文档级表示。由于 IIT-CDIP 测试集包含每个文档图像的多个标签,因此作者还在预训练阶段使用多标签文档分类 (MDC) 损失。给定一组扫描文档,作者使用文档标签来监督预训练过程,以便模型可以对来自不同领域的知识进行聚类并生成更好的文档级表示。由于 MDC 损失需要每个文档图像的标签,而对于较大的数据集可能不存在,因此它在预训练期间是可选的,并且将来可能不会用于预训练较大的模型。

二分类采用Sigmoid激活函数和BCE损失函数;

多分类采用Softmax激活函数和多类别交叉熵损失函数。;

多标签分类采用Sigmoid激活函数和BCE损失函数了。

BCE(binary cross-entropy loss)

对输出向量的每个元素单独使用交叉熵损失函数,然后计算平均值。

1.3 Fine-tuning LayoutLM

​ 预训练的 LayoutLM 模型针对三个文档图像理解任务进行了微调,包括表单理解任务、收据理解任务以及文档图像分类任务。对于表单和收据理解任务,LayoutLM 预测每个token的 {B, I, E, S, O} 标签,并使用顺序标签来检测数据集中的每种类型的实体。对于文档图像分类任务,LayoutLM 使用 [CLS] 标记的表示来预测类标签。

1.4 整体流程

Layoutlm全流程:

​ 文档图像通过ocr获取识别文本text及定位框信息bbox。基于text获取text embedding。基于bbox的左上点(x0,y0)和右下点(x1,y1),将两个坐标归一化为虚拟点,并获取x、y、w、h的position embedding,转为最终的2d position embedding;bbox作为Faster R-CNN的候选框(即ROI),获取每个文本切片的图像特征。将text和position的embedding信息作为layoutlm预训练模型的输入,输出和image的embedding相加后作为下游任务的输入。 Image Embedding 的融合在预训练模型之后。Text embedding中Cls是整个输入文本的语义,相应的,需要整个的bbox(0,0,maxW,maxH)及整张图的image embedding。可以看到,layoutlm结合了整体和局部的信息

2.1 预训练数据集

​ 模型在 IIT-CDIP Test Collection 1.0 上进行了预训练,其中包含超过 600 万份文档以及超过 1100 万张扫描文档图像。此外,每个文档都有其相应的文本和元数据存储在 XML 文件中。文本是对文档图像应用OCR产生的内容。元数据描述文档的属性,例如唯一标识和文档标签。尽管元数据包含错误和不一致的标签,但这个大型数据集中的扫描文档图像非常适合预训练作者的模型。

​ 元数据(metadata)是指从信息资源中抽取出来的用于说明其特征、内容的结构化的数据 (如题名,版本、出版数据、相关说明,包括检索点等),用于组织、描述、检索、保存、管理信息和知识资源。

2.2微调数据集

2.2.1 FUNSD 数据集

​ 作者在 FUNSD 数据集上评估作者的方法,以理解嘈杂的扫描文档中的形式。该数据集包括 199 个真实的、完全注释的扫描表单,其中包含 9,707 个语义实体和 31,485 个单词。这些表单被组织为相互链接的语义实体列表。每个语义实体包括唯一标识符、标签(即问题、答案、标题或其他)、边界框、与其他实体的链接列表以及单词列表。数据集分为 149 个训练样本和 50 个测试样本。作者采用词级F1分数作为评价指标。

2.2.2 SROIE 数据集

​ 作者还在 SROIE 数据集上评估作者的模型,以提取收据信息(任务 3)。该数据集包含 626 个训练收据和 347 个测试收据。每张收据都被组织为带有边框的文本行列表。每张收据都标有四种类型的实体:{公司、日期、地址、总计}。评估指标是F1分数中实体识别结果的精确匹配。

2.2.3 RVL-CDIP 数据集

​ RVL-CDIP 数据集由 16 个类别的 400,000 张灰度图像组成,每个类别有 25,000 张图像。有 320,000 张训练图像、40,000 张验证图像和 40,000 张测试图像。图像已调整大小,因此其最大尺寸不超过 1,000 像素。这 16 个类别包括{信件、表格、电子邮件、手写、广告、科学报告、科学出版物、规范、文件夹、新闻文章、预算、发票、演示文稿、调查问卷、简历、备忘录}。评价指标是总体分类准确率。

2.3 文档预处理

​ 为了利用每个文档的布局信息,作者需要获取每个标记的位置。然而,预训练数据集(IIT-CDIP 测试集)仅包含纯文本,而缺少相应的边界框。在这种情况下,作者重新处理扫描的文档图像以获得必要的布局信息。与 IIT-CDIP 测试集中的原始预处理一样,作者通过将 OCR 应用于文档图像来类似地处理数据集。不同的是,作者同时获得了识别出的单词及其在文档图像中的对应位置。借助开源 OCR 引擎 Tesseract6,可以轻松获得识别结果以及二维位置。作者以 hOCR 格式存储 OCR 结果,这是一种标准规范格式,它使用分层表示形式清楚地定义了单个文档图像的 OCR 结果。

2.4 模型预训练

​ 作者使用预训练的 BERT 基础模型初始化 LayoutLM 模型的权重。具体来说,作者的 BASE 模型具有相同的架构:一个 12 层 Transformer,具有 768 个隐藏尺寸,以及 12 个注意力头,其中包含约 113M 个参数。因此,作者使用 BERT 基础模型来初始化模型中除 2-D 位置嵌入层之外的所有模块。对于 LARGE 设置,作者的模型有一个 24 层 Transformer,具有 1,024 个隐藏尺寸和 16 个注意力头,由预训练的 BERT LARGE 模型初始化,包含约 343M 个参数。作者选择 15% 的输入标记进行预测。作者在 80% 的情况下将这些屏蔽标记替换为 [MASK] 标记,在 10% 的情况下使用随机标记,在 10% 的情况下使用未更改的标记。然后,模型用交叉熵损失来预测相应的标记。

此外,作者还添加了具有四个嵌入表示(x0,y0,x1,y1)的二维位置嵌入层,其中(x0,y0)对应于边界框左上角的位置,(x1, y1)代表右下位置。考虑到不同页面尺寸的文档布局可能会有所不同,作者将实际坐标缩放为“虚拟”坐标:实际坐标缩放为 0 到 1,000 之间的值。此外,作者还使用 ResNet-101 模型作为 Faster R-CNN 模型中的主干网络,该模型是在 Visual Genome 数据集上进行预训练的。

​ 作者在 8 个 NVIDIA Tesla V100 32GB GPU 上训练模型,总批量大小为 80。使用 Adam 优化器,初始学习率为 5e-5,采用线性衰减学习率计划。 BASE 模型需要 80 小时才能完成 11M 个文档的 1 个 epoch,而 LARGE 模型需要近 170 小时才能完成 1 个 epoch。

2.5 针对特定任务的微调

​ 作者在三个文档图像理解任务上评估 LayoutLM 模型:表单理解、收据理解和文档图像分类。作者遵循典型的微调策略,并在特定于任务的数据集上以端到端的方式更新所有参数。

2.5.1 表单理解

​ 此任务需要提取和构建表单的文本内容。它的目的是从扫描的表单图像中提取键值对。更详细地说,该任务包括两个子任务:语义标记和语义链接。语义标记是将单词聚合为语义实体并为其分配预定义标签的任务。语义链接是预测语义实体之间关系的任务。在这项工作中,作者专注于语义标记任务,而语义链接超出了范围。为了在此任务上微调 LayoutLM,作者将语义标记视为序列标记问题。作者将最终表示传递到线性层,然后是 softmax 层来预测每个标记的标签。该模型训练了 100 个 epoch,批量大小为 16,学习率为 5e-5

2.5.2 收据理解

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

2.5.3 文档图像分类

​ 给定一个视觉丰富的文档,该任务旨在预测每个文档图像的相应类别。与现有的基于图像的方法不同,作者的模型不仅包括图像表示,还包括使用 LayoutLM 中的多模态架构的文本和布局信息。因此,作者的模型可以更有效地结合文本、布局和图像信息。为了在此任务上微调作者的模型,作者将 LayoutLM 模型的输出和整个图像嵌入连接起来,然后是用于类别预测的 softmax 层。作者将模型微调为 30 个时期,批量大小为 40,学习率为 2e-5。

2.6 结果

2.6.1 形式理解

​ 在 FUNSD 数据集上评估表单理解任务。实验结果如表1所示。
在这里插入图片描述
作者将 LayoutLM 模型与两个 SOTA 预训练的 NLP 模型进行比较:BERT 和 RoBERTa 。 BERT BASE 模型在 F1 中达到 0.603,而 LARGE 模型达到 0.656。与 BERT 相比,RoBERTa 在该数据集上的表现要好得多,因为它是使用更大的数据和更多的 epoch 进行训练的。由于时间限制,作者为 LayoutLM 提供了 4 种设置,分别是 500K 文档页,6 个 epoch,1M,6 个 epoch,2M,6 个 epoch,以及 11M,2 个 epoch。据观察,LayoutLM 模型的性能大大优于现有的 SOTA 预训练基线。采用BASE架构,11M训练数据的LayoutLM模型在F1中达到0.7866,远高于参数大小相似的BERT和RoBERTa。此外,作者还在预训练步骤中添加了MDC损失,它确实给FUNSD数据集带来了实质性的改进。最后,当同时使用文本、布局和图像信息时,LayoutLM 模型取得了 0.7927 的最佳性能。

​ 此外,作者还在 FUNSD 数据集上使用不同数据和时期评估 LayoutLM 模型,如表 2 所示。对于不同的数据设置,作者可以看到,随着预训练步骤中训练更多的 epoch,整体精度单调增加。此外,随着更多数据输入 LayoutLM 模型,准确性也得到提高。由于 FUNSD 数据集仅包含 149 张用于微调的图像,结果证实文本和布局的预训练对于扫描文档的理解是有效的,尤其是在资源设置较低的情况下。在这里插入图片描述
此外,作者还比较了 LayoutLM 模型的不同初始化方法,包括从头开始、BERT 和 RoBERTa。表 3 的结果表明,使用 RoBERTaBASE 初始化的 LayoutLMBASE 模型在 F1 中比 BERTBASE 好 2.1 个点。对于 LARGE 设置,使用 RoBERTaLARGE 初始化的 LayoutLMLARGE 模型比 BERTLARGE 模型进一步提高了 1.3 个百分点。未来作者将使用 RoBERTa 作为初始化来预训练更多模型,特别是对于 LARGE 设置。
在这里插入图片描述

2.6.2 收据理解

在这里插入图片描述
​ 使用 SROIE 数据集评估收据理解任务。结果如表4所示。由于作者仅测试SROIE中关键信息提取任务的性能,因此作者希望消除不正确的OCR结果的影响。因此,作者使用ground truth OCR 预处理训练数据,并使用基线模型(BERT 和 RoBERTa)以及 LayoutLM 模型运行一组实验。结果显示,用11M文档图像训练的LayoutLMLARGE模型的F1得分为0.9524,明显优于竞赛排行榜第一名。此结果还验证了预训练的 LayoutLM 不仅在域内数据集 (FUNSD) 上表现良好,而且在 SROIE 等域外数据集上也优于多个强大的基线。

2.6.3 文档图像分类

在这里插入图片描述
最后,作者使用 RVL-CDIP 数据集评估文档图像分类任务。文档图像与其他自然图像不同,文档图像中的大部分内容是各种样式和布局的文本。传统上,经过预训练的基于图像的分类模型的性能比基于文本的模型要好得多,如表 5 所示。作者可以看到,BERT 或 RoBERTa 的性能都不及基于图像的方法,这说明文本信息对此是不够的任务,它仍然需要布局和图像特征。作者通过使用 LayoutLM 模型来解决此任务。结果表明,即使没有图像特征,LayoutLM 仍然优于基于图像的方法的单一模型。集成图像嵌入后,LayoutLM 的准确率达到 94.42%,明显优于文档图像分类的几个 SOTA 基线。据观察,作者的模型在“电子邮件”类别中表现最好,而在“表单”类别中表现最差。作者将进一步研究如何利用预训练的 LayoutLM 和图像模型,以及如何在 LayoutLM 模型的预训练步骤中涉及图像信息。

3 结论和未来的工作

​ 作者提出了 LayoutLM,这是一种简单而有效的预训练技术,在单个框架中包含文本和布局信息。 LayoutLM 以 Transformer 架构为骨干,利用多模态输入,包括token嵌入、布局嵌入和图像嵌入。同时,该模型可以基于大规模未标记扫描文档图像以自监督的方式轻松训练。作者在三个任务上评估 LayoutLM 模型:表单理解、收据理解和扫描文档图像分类。实验表明,LayoutLM 在这些任务中明显优于多个 SOTA 预训练模型。

​ 对于未来的研究,作者将研究具有更多数据和更多计算资源的预训练模型。此外,作者还将使用具有文本和布局的 LARGE 架构来训练 LayoutLM,并在预训练步骤中涉及图像嵌入。此外,作者将探索新的网络架构和其他自监督训练目标,这可能会进一步释放 LayoutLM 的力量。

  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸡不叫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值