【论文笔记】LayoutLMv2:将视觉信息加入到预训练阶段的跨模态文档预训练模型

概述

LayoutLMv2是对LayoutLM的改进,主要有以下几点区别:

  • 将视觉信息加入到了预训练阶段,而不是LayouLM中的微调阶段
  • 删除了MDC,添加了text-image alignment和text-imgae matching两个预训练任务
  • 将spatial-aware的自注意力机制整合到了transformer中

模型

模型的整体结构如图1所示:

图1 LayoutLMv2总体结构

Embedding

由于大部分和LayoutLM一样,就不多介绍了,这里简单说下不一样的地方。首先是加入了visual embedding,对于token的embedding,先将图片缩放到224x224,输入到CNN中,大小变为WxH,然后将其flatten,并通过全连接层将维度变换到和其它embedding层一样;对于1D position embedding,和text embedding layer共享;对于segment embedding使用符号[C](text的segment embedding用的是[A]和[B])。如图2所示:

图2 Visual Embedding组成
然后是layout embedding(也就是2d position embedding),v2在v1的基础之上把bbox的宽和高也加入了进去,如图3所示:
图3 Layout Embedding组成
另外由于设置$box_{pad}$=(0,0,0,0,0,0),用于对齐[CLS]、[SEP]和[PAD]。

Spatial-Aware Self-Attention

为了获得局部不变性,LayoutLMv2使用了这个机制,即在原始attention权重矩阵下加上1维和2维的偏置,如图4所示:

图4 Spatial-Aware Self-Attention

预训练

预训练有三个任务:Masked Visual-Language Modeling、Text-Image Alignment、Text-Image Matching。

Masked Visual-Language Modeling

和v1一样,预测遮蔽(mask)的text token。对于被遮蔽的text token,对应的图片区域也要遮蔽掉,防止信息泄露。

Text-Image Alignment

这是一个细粒度的跨模态对齐任务。图片上的一些token lines会被覆盖(cover)掉,然后使用对应的text token预测图片中的token line是否被覆盖。这样就能够将视觉和文本信息在预训练阶段结合起来。在计算TIA Loss的时候,被遮蔽(mask)的text token不会参与计算。

Text-Image Matching

这是一个粗粒度的跨模态对齐任务,用于预测该文本在该文档里(还是在其它文档里)。预训练时会构造负样本(替换文档或丢弃文档),正负样本使用同样的覆盖和遮蔽操作。最后通过[CLS]预测是否匹配,不匹配的话text token全部为“已覆盖(Covered)”

实验

实体提取的F1分数如图5所示:

图5 实体提取F1分数
可以看到,LayoutLMv2达到了SOTA的效果。 文档分类的准确率如图6所示:
图6 文档分类准确率
可以看到,LayoutLMv2同样取得了最优的结果。 文档VOA的结果如图7所示:
图7 文档VOA的结果
可以看到,LayoutLMv2仍然是最好的,同样可以看出LayoutLM不适合VQA任务,也说明了LayoutLMv2适用于更多的下游任务。 消融实验如图8所示:
图8 消融实验
消融实验是在VQA任务上做的。可以看到,论文提出的attention,TIA,TIM对于性能的提升都有帮助。另外和v1一样,选择不同的初始化方法对于结果也有很大的影响,这里选择UniLMv2初始化到达了最好的效果。

总结

LayoutLMv2最大的贡献在于将视觉信息也加入到了预训练阶段中,并通过TIA和TIM实现文本和视觉两个模态的信息联合。

posted @ 2022-09-07 14:24  SpicyWonton  阅读(755)  评论(1编辑  收藏  举报