每天给你送来NLP技术干货!
paper: https://arxiv.org/pdf/1912.13318.pdf
code: https://github.com/microsoft/unilm/tree/master/layoutlm
layout系列的三个多模态预训练模型都是微软提出的,分别是:LayoutLM、LayoutLMv2、LayoutXLM
2020.06,MSRA提出多模态文档预训练模型LayoutLM(1.0版本),KDD2020
2021.01,MSRA提出LayoutLMv2,ACL2021
2021.06,MSRA提出跨语言的文档理解预训练模型LayoutXLM
想要理解layout模型的2.0版本,先理解版本1.0,本文是对Layout1.0的解读
以BERT为首的NLP预训练模型,在文本任务上表现很好。但是对文档图像理解( document image understanding)任务来说,我们不仅要关注文本信息,更要关注布局和样式。本文针对这种文档级的多模态信息,首次提出了一种预训练模型Layout,对文本和布局进行联合学习。
同时,对于三个下游任务:【1.表单理解 2.发票理解 3.文档分类】,本文提出的预训练模型Layout表现优秀。
总的来说,LayoutLM有2个预训练任务:
1.MVLM
2.MDC
有3个微调任务,也就是下游任务:
1.表单理解
2.发票理解
3.文档分类
有3个微调数据集:
1.FUNSD
2. SROIE
3.RVL-CDIP
(分别是对应上面三个下游任务的专用数据集)
由于LayoutLM是基于模型BERT的,所以先介绍BERT模型。
BERT是经典的文本预训练模型,原文:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT是基于自注意力机制的双向语言模型,利用了大量的训练数据,且生成词向量时结合了上下文信息。BERT在预训练阶段使用两个任务:1.MLM(带有掩膜机制的语言模型) 2.NSP(下一句预测) ,且在下游任务上表现很好。
整个模型结构如下:
相对于BERT,添加了两个embedding:
1. 2-D位置信息的Embedding
2.图像的Embedding
【位置信息】
某段文本在数据中的标记是带有边框的,边界框可以由(x0、y0、x1、y1)精确定义,其中(x0、y0)对应于边界框中左上角的位置,(x1、y1)表示右下角的位置。
【图像信息】
总的来说,根据OCR生成单词的边界框,将图像分块,输入到faster R-CNN生成区域特征,作为图像的token的词向量嵌入(包括[CLS] 字符),这样[CLS] 就可以带有图像的全文信息,方便我们做文档分类任务。
有两个预训练任务,分别是MVLM、MDC,对应的数据集为 IIT-CDIP Test Collection 1.0。
对此数据集,我们需要用ORC来识别,这样我们可以同时得到文本和位置信息,丰富我们的词向量表示。
任务1:MVLM(带有掩膜机制的视觉语言模型)
基于带有mask机制的语言模型(MLM),MVLM加入2D位置嵌入,和文本嵌入一起做预训练,跨越了视觉和文本两个模态中间的鸿沟
任务2:MDC(多标签文档分类)
文档分类需要高质量的文档向量表示,本文在预训练时对一个文档采用多个标签,进行预训练
微调任务有三个,分别是表单理解、发票理解、文档分类。上述三个任务分别有对应的数据集:1.FUNSD 2. SROIE 3.RVL-CDIP
任务 |
数据集 |
下载地址 |
表单理解 |
FUNSD |
guillaumejaume.github.io |
发票理解 |
SROIE |
rrc.cvc.uab.es/? |
文档分类 |
RVL-CDIP |
docs.google.com/u/0/uc? |
采用BERT的base版本来初始化LayoutLM模型的权重:12层Transformer模型。而large版本就是24层Transformer。且跟原始的BERT采取相同的掩码机制。
除此之外,我们加入了2-D位置信息的词嵌入,即 (x0, y0, x1, y1),也就是左上角、右下角的坐标对应的向量。
【FUNSD数据集下的实验结果】
表单理解的实验结果对比如下:
不同的数据集和训练轮次数下,LayoutLM(BASE) 的效果对比:
不同初始化方式下LayoutLM的性能对比:
【SROIE数据集下的实验结果】
【 RVL-CDIP数据集下的实验结果】
本文提出了LayoutLM,一个处理多模态信息(文本和布局信息)的预训练模型,以Transformer为主干,同时利用了文本嵌入、位置坐标嵌入、图像嵌入。我们在三个下游任务表单理解、发票理解和文档分类上实验,均得到了SOTA的效果。
【补充】
微软研究院后续发布了Layout2.0和LyaoutXLM模型,之后会做下一步的论文解读。
投稿或交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。
方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。
记得备注呦
整理不易,还望给个在看!