前言
大模型时代,在现实场景中或者企业私域数据中,大多数数据都以文档的形式存在,如何更好的解析获取文档数据显得尤为重要。文档智能也从以前的目标检测(版面分析)阶段转向多模态预训练阶段,本文将介绍目前一些前沿的多模态预训练模型及相关数据集。
多模要预训练模型导图
LayoutLM
概述:该模型主要针对文档信息的处理,传统的类Bert模型仅使用文本信息,该模型引入了布局信息(即文本的位置坐标)和视觉信息,并使用MVLM和MDC训练策略进行预训练。
paper:LayoutLM: Pre-training of Text and Layout for Document Image Understanding
link:https://arxiv.org/abs/1912.13318
code:https://github.com/microsoft/unilm/tree/master/layoutlm
模型结构
- 文本嵌入:Bert backbone
- 布局嵌入:(1)利用Bert的backbone,增加边界框嵌入( x 0 x_0 x0, y 0 y_0 y0, x 1 x_1 x1, y 1 y_1 y1),其中( x 0 x0 x0 , y 0 y_0 y0)对应于边界框中左上角的位置,( x 1 x_1 x1 , y 1 y_1 y1)表示右下角的位置;(2)[CLS]位置则用整个文本块的边界框坐标;
- 视觉嵌入(仅在finetune阶段使用):(1)用FasterRCNN提取扫描件的视觉特征,将其与bert的输出融合;(2)利用OCR获取文本和对应布局信息;(3)[CLS]使用Faster R-CNN模型来生成嵌入,使用整个扫描的文档图像作为感兴趣区域(ROI);
预训练任务
- Masked Visual-Language Model (MVLM):使用bert的MLM任务MASK掉token,但保留对应的布局信息,借助布局信息和上下文信息预测对应token。
- Multi-label Document Classification (MDC):一个可选策略,旨在对文档进行分类,模型可以对来自不同领域的知识进行聚类,并生成更好的文档级表示
LayoutLMv2
概述:相比于LayoutLM更好的融入了视觉信息,以及视觉、文档和布局信息的对齐,引入空间自注意力编码,提出两种新的损失函数TIA和TIM进行预训练。LayoutLMv1仅在fine-tuning阶段用到视觉特征,pretraining阶段没有视觉特征与文本特征的跨模态交互。Pretraining阶段,提出multi-modal transformer,融合text、layout、visual information;在LayoutLMv1中MVLM基础上,新增text-image alignment与text-image matching两个预训练任务。
paper:LayoutLMv2: Multi-modal Pre-training for Visually-rich Document Understanding
link:https://arxiv.org/abs/2012.14740
code:https://github.com/microsoft/unilm/tree/master/layoutlmv2
模型结构
-
文本嵌入:Bert backbone
-
视觉嵌入 :
V i = P r o j ( V i s T o k E m b ( I ) i ) + P o s E m b 1 D ( i ) + S e g E m b ( [ C ] ) V_i=Proj(VisTokEmb(I)_i)+PosEmb1D(i)+SegEmb([C]) Vi=Proj(VisTokEmb(I)i)+PosEmb1D(i)+SegEmb([C])- 视觉特征提取backbone:ResNeXt-FPN
- 将图片统一缩放到224x224大小,经过backbone后平均池化成固定大小WxH(7x7),再展平得到长度为49的序列,再经过一个线性层映射到与文本嵌入相同的维度;
- 额外增加一维位置嵌入,与文本一维位置嵌入共享参数
-
布局嵌入:
-
除边界框嵌入( x 0 x_0 x0, y 0 y_0 y0, x 1 x_1 x1, y 1 y_1 y1)外,还增加宽w和高h嵌入;
-
布局嵌入与LayoutLM中四个坐标相加不同,这里拼接六个位置嵌入为一个输入,每个位置嵌入维度为隐层维度/6;
I i = C o n c a t ( P o s E m b 2 D x ( x m i n , x m a x , w i d t h ) , P o s E m b 2 D y ( y m i n , y m a x , h e i g h t ) ) I_i=Concat(PosEmb2D_x(x_{min},x_{max},width),PosEmb2D_y(y_{min},y_{max},height)) Ii=Concat(PosEmb2Dx(xmin,xmax,width),PosEmb2Dy(ymin,ymax,height)) -
图像经backbone得到长度为49的序列,将其视为把原图切分成49个块,视觉部分的布局嵌入使用每个块的布局信息;
-
对于[CLS], [SEP]和[PAD],布局信息使用(0,0,0,0,0,0)表示;
-
预训练任务
- Masked Visual-Language Model (MVLM):与LayoutLM相同,为了避免视觉信息泄露,在送入视觉backbone之前,将对应掩码token的视觉区域掩盖掉。
- Text-Image Alignment (TIA):作用:帮助模型学习图像和边界框坐标之间的空间位置对应关系。(1)随机选择一些文本行,覆盖对应图像区域;(2)在编码器最后一层设置一个分类层,预测是否被覆盖,分类标签为[Convered]、[Not Convered],计算二元交叉熵损失;当同时被mask和cover时,不计算TIA损失,为了防止学习到mask到cover的映射。
- Text-Image Matching (TIM):将[CLS]处的输出表示输入分类器,以预测图像和文本是否来自同一文档页面。帮助模型学习文档图像和文本内容之间的对应关系。
LayoutLMv3
概述:文本的布局信息使用了片段级别,一段文本共用一组坐标。视觉借鉴了ViT的方法替换CNN,减少了参数以及省去了很多的预处理步骤。使用了两种新的损失MIM和WPA进行预训练。
paper:LayoutLMv3: Pre-training for Document AI with Unified Text and Image Masking
link:https://arxiv.org/abs/2204.08387
code:https://github.com/microsoft/unilm/tree/master/layoutlmv3
模型结构
- 文本嵌入:RoBerta backbone
- 视觉嵌入:与layoutLMv2相同,与之前的单词级别的边界框不同,此处使用了片段级别的嵌入,即:块边界框。
- 布局嵌入:不再使用CNN网络,采用类似ViT思想的backbone,将图片切分成一个个的patches。
预训练任务
- Masked Language Modeling (MLM):使用span掩码策略,mask掉30%的文本token,maks的span长度服从泊松分布(λ=3)
- Masked Image Modeling (MIM):
- 用分块掩码策略随机掩盖掉40%的图像token,用交叉熵损失驱动其重建被掩盖的图像区域;
- 图像token的标签来自一个图像tokenizer,通过图像vocab将密集图像的像素转化成离散token,相比于低级高噪声的细节部分,更促进学习高级特征;
- Word-Patch Alignment (WPA):学习文本单词和图像patches之间的细粒度对齐。WPA的目的是预测文本单词的相应图像补丁是否被屏蔽。具体地说,当对应的图像标记也被取消屏蔽时,为未屏蔽的文本标记分配一个对齐的标签[aligned]。否则,将指定一个未对齐的标签[unaligned]。
LayoutXLM
概述:该模型是LayoutLMv2的多语言版本,这里不再详细赘述。
paper:LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding
link:https://arxiv.org/abs/2104.08836
code:https://github.com/microsoft/unilm/tree/master/layoutxlm
ERNIE-Layout
概述:通过增强布局知识的预训练模型,以学习更好的表示,结合文本、布局和图像的特征。旨在利用文档布局相关信息,进行文档理解,进一步提高文档信息抽取的性能。
paper:ERNIE-Layout: Layout Knowledge Enhanced Pre-training for Visually-rich Document Understanding
link:https://arxiv.org/abs/2210.06155
code:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/ernie-layout
该模型之前介绍过,详细请移步《文档智能:ERNIE-Layout》
GeoLayoutLM
概述:GeoLayoutLM通过显式建模几何关系和特殊的预训练任务来提高文本和布局的特征表示。该模型能够提高文档信息抽取的性能。
paper:GeoLayoutLM: Geometric Pre-training for Visual Information Extraction
link:https://arxiv.org/abs/2304.10759
该模型之前介绍过,详细请移步《【文档智能】:GeoLayoutLM:一种用于视觉信息提取(VIE)的多模态预训练模型》
数据集
总结
本文简单介绍了文档智能领域关于多模态预训练语言模型相关内容及相关数据集,相对于基于目标检测(版面分析)的pipline形式,多模态预训练模型能够一定程度的实现端到端的提取文本内容。但实际应用还需要根据特定的场景进行进一步的研究。
参考文献
【1】https://mp.weixin.qq.com/s/cw5wCpJCYo7Wdi1PtsRgGw
【2】https://mp.weixin.qq.com/s/3l4NvGfy8LaKuj_3HGH5pg
【3】LayoutLM: Pre-training of Text and Layout for Document Image Understanding
【4】LayoutLMv2: Multi-modal Pre-training for Visually-rich Document Understanding
【5】LayoutLMv3: Pre-training for Document AI with Unified Text and Image Masking
【6】LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding
【7】ERNIE-Layout: Layout Knowledge Enhanced Pre-training for Visually-rich Document Understanding
【8】GeoLayoutLM: Geometric Pre-training for Visual Information Extraction