由于其有效的模型架构和大规模未标记的扫描/数字文档,文本和布局的预训练已经在各种富含视觉元素的文档理解任务中证明了其有效性。我们提出了LayoutLMv2架构,其中包含了新的预训练任务,以在单一的多模态框架中建模文本、布局和图像之间的交互。具体来说,LayoutLMv2采用了一个 two-stream multi-modal Transformer encoder,不仅使用了现有的遮蔽视觉-语言建模任务,还使用了新的文本-图像对齐和文本-图像匹配任务,从而更好地捕捉了预训练阶段的跨模态交互。同时,它还将空间感知的自注意力机制集成到Transformer架构中,使模型能够充分理解不同文本块之间的相对位置关系。实验结果表明,LayoutLMv2在各种下游富含视觉元素的文档理解任务中都大幅优于LayoutLM,并在FUNSD(0.7895 → 0.8420)、CORD(0.9493 → 0.9601)、SROIE(0.9524 → 0.9781)、Kleister-NDA(0.8340 → 0.8520)、RVL-CDIP(0.9443 → 0.9564)和DocVQA(0.7295 → 0.8672)等多个任务上取得了新的最优结果。We made our model and code publicly available at https://aka.ms/layoutlmv2.
“富含视觉元素的文档理解(VrDU)旨在分析扫描/数字化的商业文件(发票图像、PDF格式的表单等),可以自动提取和组织结构化信息,用于许多商业应用。与传统信息提取任务不同,VrDU任务不仅依赖于文本信息,还依赖于对富含视觉元素的文档至关重要的视觉和布局信息。不同类型的文档表明感兴趣的文本字段位于文档的不同位置,这通常由每种类型的文档的风格和格式以及文档内容确定。因此,要准确识别感兴趣的文本字段,必须充分利用富含视觉元素的文档的跨模态特性,在单一框架中端到端地联合建模和学习文本、视觉和布局信息。”
最近对于VrDU的进展主要有两个方向。第一个方向通常建立在文本与视觉/布局/样式信息之间的浅层融合之上(Yang等,2017;Liu等,2019;Sarkhel和Nandi,2019;Yu等,2020;Majumder等,2020;Wei等,2020;Zhang等,2020)。这些方法分别利用预训练的自然语言处理(NLP)和计算机视觉(CV)模型,将来自多个模态的信息结合进行监督学习。尽管取得了良好的性能,但一个文档类型的领域知识不能轻松转移到另一个文档类型,因此这些模型通常需要在文档类型发生变化时重新训练。因此,通用文档布局中的局部不变性(左右布局中的键值对,网格布局中的表格等)无法得到充分利用。为此,第二个方向依赖于来自不同领域的大量未标记文档中的文本、视觉和布局信息的深度融合,其中预训练技术在以端到端方式学习跨模态交互方面发挥了重要作用(Lockard等,2020;Xu等,2020)。通过这种方式,预训练模型吸收了来自不同文档类型的跨模态知识,这些布局和样式之间的局部不变性得到了保留。此外,当模型需要转移到具有不同文档格式的另一个领域时,只需要少量已标记的样本就足以对通用模型进行微调,以实现最先进的准确性。因此,本文提出的模型遵循第二个方向,并探讨如何进一步改进VrDU任务的预训练策略。
在这篇论文中,我们介绍了LayoutLM的改进版本,即LayoutLMv2(Xu等,2020)。与传统的LayoutLM模型不同,其中视觉嵌入是在微调阶段合并的,LayoutLMv2在预训练阶段通过利用Transformer架构来整合视觉信息,从而学习视觉和文本信息之间的跨模态交互。此外,受到1-D相对位置表示(Shaw等,2018;Raffel等,2020;Bao等,2020)的启发,我们为LayoutLMv2提出了空间感知的自注意机制,其中包括用于标记对的2-D相对位置表示。与LayoutLM用于模拟页面布局的绝对2-D位置嵌入不同,相对位置嵌入明确地提供了更广泛的上下文空间建模视角。 对于预训练策略,我们为LayoutLMv2使用了两种新的训练目标,除了遮蔽的视觉-语言建模。第一种是提出的文本-图像对齐策略,它对齐文本行和相应的图像区域。第二种是在先前的视觉-语言预训练模型中流行的文本-图像匹配策略(Tan和Bansal,2019;Lu等,2019;Su等,2020;Chen等,2020;Sun等,2019),其中模型学习文档图像和文本内容是否相关。
我们选择了六个公开可用的基准数据集作为下游任务,以评估预训练的LayoutLMv2模型的性能,包括FUNSD数据集(Jaume等,2019)用于形式理解,CORD数据集(Park等,2019)和SROIE数据集(Huang等,2019)用于收据理解,Kleister-NDA数据集(Gralinski等,2020)用于具有复杂布局的长文档理解,RVL-CDIP数据集(Harley等,2015)用于文档图像分类,以及DocVQA数据集(Mathew等,2021)用于文档图像上的视觉问答。实验结果表明,LayoutLMv2模型明显优于强基线模型,包括传统的LayoutLM,并在所有这些任务中取得了新的最先进的结果。
本文的贡献总结如下:
在本节中,我们将介绍LayoutLMv2的模型架构和多模态预训练任务,如图1所示。
我们构建了一个多模态Transformer架构作为LayoutLMv2的骨干,该架构将文本、视觉和布局信息作为输入,以建立深入的跨模态交互。我们还为模型架构引入了一个空间感知的自注意机制,以更好地对文档布局进行建模。模型的详细描述如下。
Text Embedding
按照通常的做法,我们使用WordPiece(Wu等人,2016年)对OCR文本序列进行分词,并将每个标记分配给某个段落si ∈ {[A],[B]}。然后,我们在序列的开头添加[CLS],在每个文本段落的末尾添加[SEP]。额外的[PAD]标记被附加到末尾,以便最终序列的长度恰好等于最大序列长度L。最终的文本嵌入是三个嵌入的总和。标记嵌入表示标记本身,1D位置嵌入表示标记索引,段落嵌入用于区分不同的文本段落。
形式上,我们有第i个(0 ≤ i < L)文本嵌入。
Visual Embedding
尽管我们需要的所有信息都包含在页面图像中,但模型难以捕捉整个页面的详细特征,因为它需要将这些信息转化为一个信息丰富的固定长度序列表示。因此,我们利用基于CNN的视觉编码器的输出特征图,该编码器将页面图像转换为一个固定长度的序列。我们使用ResNeXt-FPN(Xie等人,2017年;Lin等人,2017年)架构作为视觉编码器的主干,其参数可以通过反向传播进行更新。
给定一个文档页面图像 I,首先将其调整为 224 × 224 的大小,然后输入到视觉主干中。接下来,对输出的特征图进行平均池化,使其宽度为 W,高度为 H。然后,将其展平为长度为 W × H 的视觉嵌入序列。该序列被命名为 VisTokEmb(I)。接着,对每个视觉令牌嵌入应用线性投影层,以统一其维度与文本嵌入的维度。由于基于CNN的视觉主干不能捕获位置信息,我们还向这些视觉令牌嵌入添加了一个1D位置嵌入。这个1D位置嵌入与文本嵌入层共享。至于分段嵌入,我们将所有视觉令牌附加到视觉分段 [C] 上。第 i 个(0 ≤ i < W H)视觉嵌入可以表示为:
Layout Embeddin
布局嵌入层用于嵌入由OCR结果表示的轴对齐令牌边界框所代表的空间布局信息,其中边界框的宽度和高度以及角坐标都被识别出来。与原始的 LayoutLM 一样,我们将所有坐标标准化并离散化为位于 [0, 1000] 范围内的整数,并使用两个嵌入层分别嵌入 x 轴特征和 y 轴特征。对于第 i 个(0 ≤ i < W H + L)文本/视觉令牌的规范化边界框 boxi = (xmin、xmax、ymin、ymax、width、height),布局嵌入层将六个边界框特征连接起来,构建一个令牌级别的二维位置嵌入,也称为布局嵌入。
请注意,CNN执行局部转换,因此可以逐个将视觉令牌嵌入映射回图像区域,既不重叠也不遗漏。在计算边界框时,可以将视觉令牌视为均匀划分的网格。一个空的边界框 boxPAD = (0, 0, 0, 0, 0, 0) 附加到特殊令牌 [CLS]、[SEP] 和 [PAD]。
按照Transformer的架构,我们构建了一个多模态编码器,包括一堆多头自注意力层和一个前馈网络。然而,原始的自注意力机制只能隐式捕捉输入令牌之间的关系,带有绝对位置提示。为了高效地建模文档布局中的局部不变性,我们需要显式地插入相对位置信息。因此,我们在自注意力层中引入了空间感知自注意力机制。为了简化描述,以下内容涉及单个自注意力层中的单个头,其隐藏大小为dhead,并且包括投影矩阵WQ、WK、WV。原始的自注意力机制通过对查询项xi和关键项xj进行投影,然后计算注意力分数来捕获它们之间的相关性。
类似于原始的LayoutLM,我们使用了“Masked Visual-Language Modeling”(MVLM)来让模型在语言方面学习更好,借助跨模态线索。我们随机遮盖一些文本标记,要求模型恢复被遮盖的标记。同时,布局信息保持不变,这意味着模型知道每个被遮盖标记在页面上的位置。来自编码器的遮盖标记的输出表示被馈送到整个词汇表上的分类器,由交叉熵损失驱动。为了避免视觉线索泄漏,在将原始页面图像输入视觉编码器之前,我们会遮盖与被遮盖标记对应的图像区域。
为了帮助模型学习图像与文本标记之间的空间位置对应关系,我们提出了“文本-图像对齐”(TIA)作为一项精细的跨模态对齐任务。在TIA任务中,会随机选择一些文本行,并在文档图像上覆盖它们的图像区域。我们称这个操作为“覆盖”,以避免与MVLM中的掩码操作混淆。在预训练期间,在编码器输出之上构建了一个分类层。该层根据每个文本标记是否被覆盖(即[Covered]或[Not Covered])来预测标签,并计算二进制交叉熵损失。考虑到输入图像的分辨率有限,而一些文档元素(例如图中的符号和条形图中的线条)可能看起来像被覆盖的文本区域,因此找到一个与词大小相符的覆盖图像区域可能会有噪音。因此,覆盖操作是在行级别执行的。当MVLM和TIA同时执行时,不考虑在MVLM中被屏蔽的标记的TIA损失。这可以防止模型学习从[MASK]到[Covered]的无用但直接的对应关系。
此外,还应用了一项粗粒度的跨模态对齐任务,即“文本-图像匹配”(TIM),以帮助模型学习文档图像和文本内容之间的对应关系。我们将[CLS]位置的输出表示输入到一个分类器中,以预测图像和文本是否来自同一文档页面。正常的输入被视为正样本。为构建负样本,可以将图像替换为来自另一份文档的页面图像,或者直接舍弃图像。为防止模型通过找到任务相关特征来作弊,我们对负样本中的图像执行相同的掩码和覆盖操作。在负样本中,TIA的目标标签都设置为[Covered]。在优化过程中,我们应用 binary cross-entropy loss。
按照典型的预训练和微调策略,我们更新所有参数,包括视觉编码器层,并为所有设置端到端地训练整个模型。有关训练细节,请参阅附录。
我们训练了两个不同参数大小的LayoutLMv2模型。在LayoutLMv2BASE中,我们使用了一个12层12头的Transformer编码器,并设置了隐藏大小d = 768。而在LayoutLMv2LARGE中,编码器具有24个Transformer层,16个头和d = 1024。两个模型中的视觉骨干都基于相同的ResNeXt101-FPN架构。LayoutLMv2BASE和LayoutLMv2LARGE的参数数量分别约为200M和426M。
对于编码器以及文本嵌入层,LayoutLMv2使用了与UniLMv2相同的架构,因此它是从UniLMv2初始化的。对于视觉嵌入层中的ResNeXt-FPN部分,采用了在PubLayNet上训练的Mask-RCNN模型的骨干网络。模型中的其余参数是随机初始化的。
在预训练过程中,我们从IIT-CDIP数据集中随机选择页面,并在样本太长时选择文本序列的随机滑动窗口。我们将最大序列长度设置为L = 512,并将所有文本标记分配给段落[A]。平均池化层的输出形状被设置为W = H = 7,这样它可以将特征图转换成49个视觉标记。在MVLM中,有15%的文本标记被掩盖,其中80%被替换为特殊标记[MASK],10%被替换为从整个词汇表中随机抽样的随机标记,而10%保持不变。在TIA中,有15%的文本行被覆盖。在TIM中,有15%的图像被替换,而5%的图像被删除。
我们在文档级别的分类任务RVL-CDIP中使用[CLS]输出,以及汇总的视觉标记表示作为全局特征。对于抽取式问答任务DocVQA和其他四个实体抽取任务,我们遵循类似于(Devlin et al., 2019)的常见做法,构建了特定任务的头部层,覆盖LayoutLMv2输出的文本部分。
在实验中,我们选择了三个基准模型来与LayoutLMv2进行比较,这些基准模型包括仅使用文本进行预训练的模型,以及原始的LayoutLM模型。具体来说,我们将LayoutLMv2与BERT (Devlin等人,2019)、UniLMv2 (Bao等人,2020) 和 LayoutLM (Xu等人,2020) 进行了比较,针对所有的实验设置都使用了这些基线方法。我们使用了公开可用的PyTorch模型来实现BERT (Wolf等人,2020) 和LayoutLM,而对于UniLMv2模型,我们使用了我们内部的实现。对于每个基线方法,实验都使用了BASE和LARGE两种参数设置。
近年来,预训练技术在自然语言处理(NLP)和计算机视觉(CV)领域变得非常流行,并且也被应用于视觉丰富的文档理解(VrDU)任务。
Devlin等人(2019)引入了一种新的语言表示模型称为BERT,它旨在通过联合考虑所有层中的左右上下文,在未标记的文本上进行深度双向表示的预训练。 Bao等人(2020)提出了一种统一的语言模型,用于自动编码和部分自回归语言建模任务,采用了一种称为伪掩码语言模型的新型训练过程。我们的多模态Transformer架构和MVLM预训练策略扩展了Transformer和MLM,以利用视觉信息。
Lu等人(2019)提出了ViLBERT,用于学习图像内容和自然语言的任务无关的联合表示,通过将流行的BERT架构扩展为多模态的双流模型。Su等人(2020)提出了VL-BERT,采用Transformer模型作为骨干,并将其扩展为接受视觉和语言嵌入特征作为输入。与这些视觉-语言预训练方法不同,LayoutLMv2的视觉部分直接使用特征图,而不是池化的ROI特征,并受益于新的TIA预训练任务。
Xu等人(2020)提出了LayoutLM,以联合建模扫描文档图像中的文本和布局信息之间的交互作用,从而受益于大量的真实世界文档图像理解任务,例如从扫描文档中提取信息。这项工作是对基本的LayoutLM的自然扩展,它利用文本、布局和视觉信息在单一的多模态预训练框架中。
在这篇论文中,我们提出了一种用于富于视觉的文档理解任务的多模态预训练方法,即LayoutLMv2。与现有的VrDU方法不同,LayoutLMv2模型不仅考虑文本和布局信息,还在预训练阶段与单一的多模态框架集成了图像信息。与此同时,我们还在Transformer架构中集成了一种空间感知的自注意机制,以捕捉不同边界框之间的相对关系。此外,我们还利用了新的预训练目标来强制学习不同模态之间的跨模态交互。在6种不同的VrDU任务上的实验结果表明,预训练的LayoutLMv2模型在文档智能领域大大优于SOTA基线,这极大地有利于许多实际的文档理解任务。
对于未来的研究,我们将进一步探讨LayoutLM家族的网络架构和预训练策略。同时,我们还将研究语言扩展,使多语言的LayoutLMv2模型适用于不同的语言,特别是世界各地的非英语地区。
This work was supported by the National Key R&D Program of China via grant 2020AAA0106501 and the National Natural Science Foundation of China (NSFC) via grant 61976072 and 61772153.
- 🎉 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️
- ❤️ 过去的每一天、想必你也都有努力、祝你披荆斩棘、未来可期