探究布局模型:从LayoutLM到LayoutLMv2与LayoutXLM

news2025/2/28 16:57:24

LAYOUT LM

联合建模文档的layout信息和text信息,
预训练
文档理解模型。

模型架构

使用BERT作为backbone,
加入2-D绝对位置信息,图像信息
,分别捕获token在文档中的相对位置以及字体、文字方向、颜色等视觉信息。

2D位置嵌入

文档页面视为坐标系统(左上为原点), 使用2张embedding table构造4种位置嵌入,横纵轴各使用1张嵌入表;

图像嵌入

将文档页面图像分割成小图片序列,基于Faster R-CNN建模整张图片特征丰富
[CLS]
token表征;

预训练数据集及任务

预训练集 IIT-CDIP Test Collection 1.0(600万扫描件,含1200万扫描图片,含信件、邮件、表单、发票等)。

  • MVLM, Masker Visual-Language Model

: 随机掩盖输入tokens,保留2-D信息,预测被掩盖token分布;

  • MDC, Multi-label Document Classification

: 监督预训练
多标签文档分类
,促使模型聚类不同文档特征,增强文档级特征表示;

模型预训练细节

  • 除2-D positional embeddings之外,其余参数使用bert base初始化;
  • 预测15%的token,选其中80%替换为
    [MASK]
    ,10%随机替换,余下10%不变;
  • 标准化所有坐标点为0~1000;
  • 使用ResNet-101作为Fatser R-CNN的backbone;

源码解析

9种embeddings相加,再经layer norm后作为第1层输入:

 embeddings = (
     words_embeddings
     + position_embeddings
     + left_position_embeddings
     + upper_position_embeddings
     + right_position_embeddings
     + lower_position_embeddings
     + h_position_embeddings
     + w_position_embeddings
     + token_type_embeddings
 )

余下结构与BERT一致。


LAYOUT LM V2

与Layout LM的区别:

  • 预训练阶段,使用Transformer建模文本、布局、图像多模态信息,而Layout LM是在微调阶段利用图像信息;
  • 使用空间相对注意力机制,表征token对,而Layout LM使用绝对2-D位置;
  • 新增引入文本、图像对齐策略,文本、图像匹配策略,学习文本与图像是否相关;

模型架构

以文本、布局、图像作为输入,建模交叉模态:

文本嵌入

与BERT一致,

t

i

=

TokEmb

(

w

i

)

PosEmb1D

(

i

)

SegEmb

(

s

i

)

\bm t_i=\text{TokEmb}(w_i) + \text{PosEmb1D}(i) + \text{SegEmb}(s_i)

t

i

=

TokEmb

(

w

i

)

PosEmb1D

(

i

)

SegEmb

(

s

i

)

视觉嵌入

将图像缩放至224x224,喂入ResNeXt-FPN编码(参数在预训练时更新),平均池化为

W

×

H

W×H

W

×

H

的特征图(3维),展开为2维序列;

v

i

=

Proj

(

VisTokEmb

(

I

)

i

)

PosEmb1D

(

i

)

SegEmb

(

[

C

]

)

,

0

i

W

H

=

L

\bm v_i=\text{Proj}(\text{VisTokEmb}(I)_i) + \text{PosEmb1D}(i) + \text{SegEmb}([\text{C}]),\quad 0\leq i \leq WH=L

v

i

=

Proj

(

VisTokEmb

(

I

)

i

)

PosEmb1D

(

i

)

SegEmb

(

[

C

]

)

,

0

i

W

H

=

L

版面嵌入

标准化点位至

[

0

,

10000

]

[0, 10000]

[

0

,

1

0

0

0

0

]

x

,

y

x, y

x

,

y

点位各使用一个嵌入层,对于边界框

box

i

=

(

x

m

i

n

,

x

m

a

x

,

y

m

i

n

,

y

m

a

x

,

w

,

h

)

\text{box}_i=(x_{min},x_{max},y_{min},y_{max},w,h)

box

i

=

(

x

m

i

n

,

x

m

a

x

,

y

m

i

n

,

y

m

a

x

,

w

,

h

)

l

i

=

Concat

(

PosEmb2D

x

(

x

m

i

n

,

x

m

a

x

,

w

)

,

PosEmb2D

y

(

y

m

i

n

,

y

m

a

x

,

h

)

)

\bm l_i=\text{Concat}(\text{PosEmb2D}_x(x_{min},x_{max},w),\text{PosEmb2D}_y(y_{min},y_{max},h))

l

i

=

Concat

(

PosEmb2D

x

(

x

m

i

n

,

x

m

a

x

,

w

)

,

PosEmb2D

y

(

y

m

i

n

,

y

m

a

x

,

h

)

)

使用

box

PAD

=

(

0

,

0

,

0

,

0

,

0

,

0

)

\text{box}_\text{PAD}=(0,0,0,0,0,0)

box

PAD

=

(

0

,

0

,

0

,

0

,

0

,

0

)

,表示特殊token
[CLS]

[SEP]

[PAD]

空间感知多模态编码器

拼接视觉嵌入和文本嵌入,并加上版面嵌入,生成第一层输入

x

i

(

0

)

=

X

i

l

i

,

X

=

{

v

0

,

.

.

.

,

v

W

H

1

,

t

0

,

.

.

.

,

t

L

1

}

\bm x_i^{(0)}=X_i+\bm l_i,\quad X={\bm v_0,…,\bm v_{WH-1}, \bm t_0, …,\bm t_{L-1}}

x

i

(

0

)

=

X

i

l

i

,

X

=

{

v

0

,

.

.

.

,

v

W

H

1

,

t

0

,

.

.

.

,

t

L

1

}

第一层输入只考虑到绝对位置,为建模版面局部不变性,引入空间感知相对注意力,

α

i

j

=

1

d

h

e

a

d

(

x

i

W

Q

)

(

x

j

W

K

)

,

α

i

,

j

=

α

i

j

b

j

i

1

D

b

x

j

x

i

2

D

x

b

y

j

y

i

2

D

y

,

h

i

=

j

exp

α

i

j

k

exp

α

i

k

x

j

W

V

\alpha_{ij}=\frac{1}{\sqrt{d_{head}}}(\bm x_i\bm W^Q)(\bm x_j\bm WK){\top},\quad \alpha_{i,j}‘=\alpha_{ij}+\bm b_{j-i}^{1D}+\bm b_{x_j-x_i}^{2D_x}+\bm b_{y_j-y_i}^{2D_y}, \quad \bm h_i=\sum_j\frac{\exp\alpha_{ij}’}{\sum_k\exp\alpha_{ik}'}\bm x_j\bm W^V

α

i

j

=

d

h

e

a

d

1

(

x

i

W

Q

)

(

x

j

W

K

)

,

α

i

,

j

=

α

i

j

b

j

i

1

D

b

x

j

x

i

2

D

x

b

y

j

y

i

2

D

y

,

h

i

=

j

k

exp

α

i

k

exp

α

i

j

x

j

W

V

预训练任务

数据集与LayoutLM使用的一致

  • MVLM, Masker Visual-Language Model

: 随机一些掩盖文本tokens,促使模型利用版面信息对其复原,为避免模型利用视觉线索,掩盖tokens对应的图像区域也应该掩盖;

  • TIA, Text-Image Alignment

: 随机选择一些文本行,覆盖对应的图像区域,使模型预测token对应的图像区域是否被掩盖,即
[Covered]

[Not Covered]
,促使模型学习边界框坐标与图像之间的关系;

  • TIM, Text-Image Matching

: 粗粒度的模态对齐任务,预测文本和图像的来源是否一致(当前文本是否来自于当前图像)。通用随机替换或删除图像构造负样本,负样本对应TIA任务的所有标签均为
[Covered]
*

TIA任务为什么要整行覆盖?

文档中某些元素(signs, bars)看起来很像是覆盖区域,图像中寻找词级别的覆盖区域噪音较大,整行覆盖可避免噪音。

实验细节

  • 使用UniLMv2模型初始化网络参数;
  • ResNeXt-FPN的backbone: MaskRCNN,基于PubLayNet训练;
  • 使用随机滑窗的方法随机截取长文本中的512个token;
  • 视觉编码器平局池化层输出维度W×H=7×7,即总共有49个视觉token;
  • MVLM,token mask的概率及方式与LayoutLM一致;
  • TIA,15%替换图像;
  • TIM,15%替换图像,5%删除图像;

LayoutXLM

文章简介

  • 作为LayoutLMv2的扩展,适用于多语言任务;
  • 与LayoutLMv2架构相同,参数基于SOTA多语言模型
    InfoXLM
    初始化参数;
  • 使用
    IIT-CDIP
    数据集和开源多语言PDF文件作为数据集;
  • 开源多语言(中文、日文、西班牙语、意大利语、德语)信息抽取数据集
    XFUND

不使用LayoutLMv2初始化参数的原因?

LayoutLMv2不覆盖多语言,词典不一致。

模型架构

与LayoutLMv2一致。

模型预训练

使用与LayoutLMv2一致的三个任务:MVLM、TIA、TIM。

预训练数据

  • 含53种语言文件;
  • 使用PyMuPDF解析、清洗数据集,获取页面文字、布局、图像;
  • 使用BlingFire检测文件语言;

(

n

l

/

n

)

α

(n_l/n)^\alpha

(

n

l

/

n

)

α

概率采样某一种语言文件,

α

=

0.7

\alpha=0.7

α

=

0

.

7

,共获得2200w富文档;

XFUND: 多语言票据理解基准数据集

扩充FUNSD至7种语言。

任务描述

语义实体识别任务, 关系抽取任务。

Semantic Entity RecognitionRelation Extraction
Baselines

Semantic Entity Recognition

基于BIO标注模式,构建特定任务层建模LayoutXLM的文本部分。

Relation Extraction

识别所有关系候选实体,对任一实体对,拼接头尾实体第一个token的语义向量,经投影变换、双仿射层,获得关系分类。

实验

  • 预训练base和large模型;
  • 微调XFUND,验证不同语言迁移学习、零样本学习、多任务微调,并与两种多语言预训练模型(XLM-R、InfoXLM)作对比;

1️⃣
language-specific fine-tuning
: 语言X上微调,语言X上测试;

2️⃣
Zero-shot transfer learning
: 英文上微调,其他语言上测试;

3️⃣
Multitask fine-tuning
: 所有语言上训练模型

特定语言微调

零样本微调

多任务微调


LAYOUTLMV3: Pre-training for Document AI with Unified Text and Image Masking

现有方法

  • DocFormer: 通过CNN解码器学习重建图像像素,任务倾向于学习噪声细节,而不是学习文档布局这种高层级特征;
  • SelfDoc: 回归掩盖的区域特征,任务噪声大,相比于小词表的离散特征分类任务更难;

The different granularities of image (e.g., dense image pixels or contiguous region features) and text (i.e., discrete tokens) objectives further add difficulty to cross-modal alignment learning.

LAYOUTLMV3特点

  • 不依赖于预训练的CNN或者Faster R-CNN提取视觉特征,降低了网络参数和区域监督标注;
  • 实用MLM、MIM任务降低了文本和视觉模态特征差异,使用WPA任务对齐交叉模态;
  • 可同时应用到文本(MLM任务)和图像任务(MIM任务)的通用预训练模型;

LayouLMv3 is pre-trained with a word-patch alignment objective to learn cross-modal alignment by predicting whether the corresponding image patch of a text word is masked.

https://blog.csdn.net/sinat_34072381/article/details/106993856

模型架构

Text Embeddings
  • word embeddings:
    from a pre-trained model RoBERTa.
  • position embeddings:
    • 1D position:
      the index of tokens within the text sequence.
    • 2D position:
      the bounding box cordinates of the text sequence (like LayouLM, using x-axis, y-axis, width and height), but adopt segment-level layout positions that words in a segment share the same 2D-position since the words usually express the same semantic meaning.
Image Embedding

Represent document images with linear projection features of image patches, as following steps:

  1. resize image to

H

×

W

H\times W

H

×

W

and denote image with

I

R

C

×

H

×

W

\pmb I\in \R^{C\times H \times W}

I

I

I

R

C

×

H

×

W
2. split image to a sequence of uniform

P

×

P

P\times P

P

×

P

patches
3. linear project the patches to

D

D

D

dimensions and flatten them into a sequence of vectors, which length is

M

=

H

W

/

P

2

M=HW/P^2

M

=

H

W

/

P

2
4. add standard learnable 1D position embeddings to eatch patch.

We insert semantic 1D relative position and spatial 2D relative position as bias term in self-attention networds for text and imga modalities following LayoutLMv2.

预训练任务

LayoutLMv3 learns to reconstruct masked word tokens of the text modality and symmetrically reconstruct masked patch tokens of the image modality.

I. Masked Language Modeling (MLM)

Inspired BERT, mask 30% of text tokens with a span masking strategy with span lengths drawn from a Possion distribution (

λ

=

3

\lambda=3

λ

=

3

).

利用布局信息和掩盖的文本、图像上下文序列,预测被掩盖的token,从而建模布局、文本、图像模态之间的相关性。

II. Maksed Image Modeling (MIM)

Making 40% of image tokens randomly with blockwise masking strategy that is a symmetry to the MLM objective.

MIM objective can transform dense image pixels into discrete tokens according to a visual vocabulary, that facilitates learning high-level layout structures rather than low-level noisy details.

引理 Image Tokenizer

基于discrete VAE训练,含固定图像词表,将图像转换为定长的离散tokens序列。

image tokens by discrete VAE (DALL-E、BEiT)

III. Word-Patch Alignment (WPA)

The WPA objective is to predict whether the corresponding image patch of a text word is masked.

具体地,对于未掩盖文本token,若其对应的image patch被掩盖,则标签为1,否则标签为0,不考虑掩盖文本token.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1841294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DOPE-FITC在细胞定位、动态追踪等方面的应用-星戈瑞

DOPE-FITC作为一种荧光标记磷脂,在细胞生物学研究中发挥着科研作用。其荧光特性和与细胞膜的亲和性,使其成为细胞定位、动态追踪等方面的工具。 细胞定位 DOPE-FITC能够有效地标记细胞膜,使得细胞膜在荧光显微镜下呈现出明亮的绿色荧光。这种…

NLP入门——复杂函数建模与链式求导

复杂函数建模 前面我们研究的梯度下降法分类,是简单的对每类中每个子词的分数进行求和,统计分数最大的类别并不断调整分数来提高准确率。 我们可以修改函数模型,用更加复杂的函数代替sum(),来达到更好的学习效果。 def compute_…

LLM大语言模型应用方案之RAG检索增强生成的实现步骤。

0.我理解的RAG 什么是RAG? RAG的全称是“检索增强生成模型”(Retrieval-Augmented Generation)。这是一种特别聪明的大语言模型。 RAG是怎么工作的呢? 1.检索:当你问RAG一个问题时,它会先去“图书…

Dockerfile封装制作pytorch(tensorflow)深度学习框架 + jupyterlab服务 + ssh服务镜像

一:docker-hub官网寻找需求镜像 1.我们在https://hub.docker.com/官网找到要封装的pytorch基础镜像,这里我们以pytorch1.13.1版本为例 2.我们找到的这个devel版本的镜像(我们需要cuda的编译工具) pytorch版本是1.13.1,…

Windows桌面运维----第四天

1、U盘故障打不开: 操作方式:WinR打开运行,输入cmd确定,在(C:\Users\Administrator>)后输入chkdsk,空格,输入U盘盘符,例如F:/F,回车,等待修复完成。 2、…

Bad return type in lambda expression: void cannot be converted to Unit

1.背景 当kotlin中声明需要传入一个返回值为空(Unit)的方法引用. 代码示例: 下方第二个参数为一个方法引用,(参数为BiometricPrompt.AuthenticationResult, 返回类型为Unit). object BiometricPromptUtil {private const val TAG "BiometricPromptUtil"fun cre…

Day6—热点搜索词统计

一、要求 根据用户上网的搜索记录对每天的热点搜索词进行统计,以了解用户所关心的热点话题。 要求完成:统计每天搜索数量前3名的搜索词(同一天中同一用户多次搜索同一个搜索词视为1次)。 二、数据 三、配置scala环境 1.下载sca…

思科PAP命令笔记

命令格式 含义 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/qq_44862120/article/details/115675197 ——————…

动态规划——活动安排问题II(C++)

Take it easy! 2024年6月19日 题目描述 假设有n个活动和一个资源,每个活动执行时都需要占用该资源,并且该资源在任何时间只能被一个活动所占用,一旦某个活动开始执行,中间将不能被打断,直到其执行完毕。每个活动i都有…

数据结构--顺序表(图文)

顺序表的概念和特点 顺序表是一种线性数据结构,它由一组数据元素构成,这些元素具有相同的特性,并按照一定的顺序排列。在顺序表中,数据元素通常存储在连续的内存空间中,这使得通过索引可以直接访问到表中的任意元素。…

考研计组chap2数据的表示和运算

3一、进位计数制 1.r进制 第i位表示r进制的权为i 2.进制转换 (1)r->10 对应位置数*权值 (2)2 -> 16 or 8 每三位2进制数可表示1位16进制 每四位2进制数可表示1位16进制 so 分开之后转为16进制即可 eg:1…

欧拉函数的求解

欧拉函数的定义 欧拉函数的性质 性质1是性质2的特殊情况 性质1的理解:一个数a是质数,前面的数b与a的gcd一定是1 性质2的理解:1,2,…p,p1,p2…2p,…3p…p^k 其中以np结尾的序列重复了p^(k-1)次,每一次的循环…

Day10—Spark SQL基础

Spark SQL介绍 ​ Spark SQL是一个用于结构化数据处理的Spark组件。所谓结构化数据,是指具有Schema信息的数据,例如JSON、Parquet、Avro、CSV格式的数据。与基础的Spark RDD API不同,Spark SQL提供了对结构化数据的查询和计算接口。 Spark …

星戈瑞FITC-Cytochrome C:荧光标记细胞色素C的研究与应用

细胞色素C(Cytochrome C)是一种位于线粒体内膜上的蛋白质。为了深入地研究细胞色素C在细胞生物学和病理学中的功能,科学家们常常采用荧光标记技术对其进行追踪和观察。其中,异硫氰酸荧光素(FITC)作为一种常…

iOS原生APP开发的技术难点

iOS原生APP开发的技术难点主要体现在以下几个方面,总而言之,iOS原生APP开发是一项技术难度较高的工作,需要开发者具备扎实的编程基础、丰富的开发经验和良好的学习能力。北京木奇移动技术有限公司,专业的软件外包开发公司&#xf…

再谈量化策略失效的问题

数量技术宅团队在CSDN学院推出了量化投资系列课程 欢迎有兴趣系统学习量化投资的同学,点击下方链接报名: 量化投资速成营(入门课程) Python股票量化投资 Python期货量化投资 Python数字货币量化投资 C语言CTP期货交易系统开…

数据结构之B树的理解与示例(C#)

文章目录 B树的基本概念与特点B树在C#数据结构中的应用创建一个B树节点的具体代码示例插入、删除和查找操作的示例B树在文件存储与处理中的具体应用示例总结 B树是一种自平衡的树数据结构,它维持数据的有序性,并且允许搜索、顺序访问、插入和删除的操作都…

前后端完整案例-简单模仿点点开黑抽奖

数据库 后台 源码:https://gitee.com/qfp17393120407/game 前台 源码: https://gitee.com/qfp17393120407/game-weeb vue项目打包 注意:打包时将IP改为自己公网IP npm run build公网页面 地址:点点模拟抽奖 进入页面抽奖…

电路笔记 :LM3481MM/NOPB升压模块,升压电路原理

LM3481MM/NOPB LM3481MM/NOPB 是德州仪器(Texas Instruments)的一款广泛应用的DC-DC控制器,常用于电源管理应用,特别是在需要升压(boost)、反激(flyback)、SEPIC或反向配置的场合。…

企业UDP文件传输工具测速的方式(下)

在前一篇文章中,我们深入讨论了UDP传输的基本概念和镭速UDP文件传输工具如何使用命令行快速进行速度测试。现在,让我们进一步探索更为高级和灵活的方法,即通过整合镭速UDP的动态或静态库来实现网络速度的测量,以及如何利用这一过程…