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

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.mzph.cn/web/30504.shtml

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

相关文章

装备制造行业数据分析指标体系

数字化飞速发展的时代,多品种、定制化的产品需求、越来越短的产品生命周期、完善的售后服务、极佳的客户体验和快速的交货速度等,使得装备制造行业的经营环境越来越复杂,企业竞争从拼产品、拼价格迈向拼服务,装备制造企业正处于数…

阿里云 debian10.3 sudo apt-get updat 报错的解决方案

阿里云全新的debian10.3(buster)镜像,却无法正常执行 sudo apt-get update。主要报错信息如下: Err:6 http://mirrors.cloud.aliyuncs.com/debian buster-backports Release404 Not Found [IP: 100.100.2.148 80] Err:3 http://mirrors.cloud.aliyuncs…

无引擎游戏开发(1):EasyX图形库引入 + 跟随鼠标移动的小球

来自bilibili up主的Voidmatrix的视频教程:【从零开始的C游戏开发】 一、图形库引入 EasyX在国内文档最多,而且功能函数齐全,最适合入门。 环境配置:vs2022 (官网下载免费版) 百度搜EasyX官方&#xff0…

后方穿行预警系统技术规范(简化版)

后方穿行预警系统技术规范(简化版) 1 系统概述2 预警区域3 预警目标4 预警条件5 指标需求1 系统概述 RCTA后方穿行预警系统工作在驾驶员有倒车意向的时候。在倒车过程中当驾驶员视线因周围障碍物被遮挡而产生碰撞风险时,系统通过光学信号对驾驶员进行提醒。 2 预警区域 RCT…

前端入门篇(五十二)练习6:transition过渡小动画

所以应该先找到第n个li,找到li再找img,li没有找错,底下又各自只有一个img,解决 ul li:nth-child(1) img { } 描述文字从下往上: 一开始描述也在框框下面,当hover时,translateY(0)&#xff0…

【JS重点18】原型链(面试重点)

一:原型链底层原理 以下面一段代码为例,基于原型对象(Star构造函数的原型对象)的继承使得不同构造函数的原型对象关联在一起(此处是最大的构造函数Object原型对象),并且这种关联的关系是一种链…

CleanShot X for Mac v4.7 屏幕滚动长截图录像工具(保姆级教程,小白轻松上手,简单易学)

Mac分享吧 文章目录 一、下载软件二、部分特有功能效果1、截图软件的普遍常用功能(画框、箭头、加文字等)都具备,不再详细介绍2、ABCD、1234等信息标注(每按一下鼠标,即各是A、B、C、D...等)3、截图更换背…

SQL注入-下篇

HTTP注入 一、Referer注入 概述 当你访问一个网站的时候,你的浏览器需要告诉服务器你是从哪个地方访问服务器的。如直接在浏览器器的URL栏输入网址访问网站是没有referer的,需要在一个打开的网站中,点击链接跳转到另一个页面。 Less-19 判…

第29讲:Ceph集群使用RBD块存储设备与K8S的PV集成

文章目录 1.Ceph集群使用RBD块存储与K8S集成简介2.Ceph集群RBD块存储与K8S PV存储卷集成2.1.创建K8S集群PV使用的块存储2.2.创建K8S集群访问RBD块存储设备的认证用户2.3.将认证用户的Key存储在K8S Secret资源中2.4.在K8S集群的所有节点中安装Ceph命令2.5.创建PV及PVC资源使用RB…

C#开发-集合使用和技巧(八)集合中的排序Sort、OrderBy、OrderByDescending

C#开发-集合使用和技巧&#xff08;八&#xff09;集合中的排序Sort、OrderBy、OrderByDescending List<T>.Sort()IEnumerable<T>.OrderBy()Enumerable<T>.OrderByDescending() 在C#中&#xff0c;List<T> 类提供了多种方法来进行排序&#xff0c;最常…

jax.nn.initializers.glorot_normal()

import jax import jax.numpy as jnp from jax import random import jax.nn.initializers as init# 设置随机数种子 key random.PRNGKey(42)# 定义权重的形状 shape (in_dim, out_dim)# 获取 Glorot 正态初始化函数 glorot_normal_init init.glorot_normal()# 初始化权重 w…

QT基础 - QMainWindow主窗口

目录 零. 简介 一. 菜单栏 二. 工具栏 三. 状态栏 四. 可停靠区域 五. 总结 零. 简介 QMainWindow 是 Qt 中用于构建主窗口的类。 它通常包含以下几个主要部分&#xff1a; 菜单栏&#xff1a;用于提供各种操作选项。工具栏&#xff1a;放置常用的操作按钮。中心区域&…

搭建Vue的环境

目录 # 开篇 步骤一&#xff0c;准备Vue 的环境 步骤二&#xff0c;下载Vue.js的包 步骤三&#xff0c;创建并打开写前端代码的文件夹 步骤四&#xff0c;在VSCode中引入Vue.js的包 步骤五&#xff0c;创建第一个vue.html Vue其他知识 Vue.config命令 # 开篇 介绍&…

详细分析Element Plus的el-pagination基本知识(附Demo)

目录 前言1. 基本知识2. Demo3. 实战 前言 需求&#xff1a;从无到有做一个分页并且附带分页的导入导出增删改查等功能 前提一定是要先有分页&#xff0c;作为全栈玩家&#xff0c;先在前端部署一个分页的列表 相关后续的功能&#xff0c;是Java&#xff0c;推荐阅读&#x…

数据结构:4.1.2二叉搜索树的插入

整个框架和FInd函数的实现是一样的&#xff0c;但是也有不同&#xff08;注意&#xff09; 35>30 向30的右子树 35<41 向41的左子树 35>33 向33的右子树&#xff0c;但33右边为空&#xff0c;所以35就挂在33的右边 因为要把35挂在33的右边&#xff0c;所以要把33的…

Solkane 冷媒性能计算软件-管路计算

下载 制冷管道设计 制冷管路的压降会降低制冷量&#xff0c;增大功耗。但不同部分的管路允许的压降的数量级是不同的。 制冷管路的压降不是唯一的考虑因素&#xff0c;制冷剂的流速往往比压降更重要。 制冷系统中&#xff0c;压缩机、阀、汽液分离器或其他附件上的连接件的尺…

VSCode 安装NeoVim扩展(详细)

目录 1、安装NeoVim扩展 2、windows安装Neovim软件 3、优化操作相关的配置&#xff1a; 5、Neovim最好的兼容性配置 6、技巧和特点 6.1 故障排除 6.2、Neovim 插件组合键设置 6.3、跳转列表 1、安装NeoVim扩展 在扩展商店搜索NeoVim&#xff0c;安装扩展 2、windows安装…

重学java 77.JDK新特性 ③ Stream流

The road is long,it can be really hard.Whatever you do,you hold on to that foolishly hopeful smile —— 24.6.19 Stream流 stream流中的"流"不是特指"IO流",它是一种"流式编程"(编程方式),可以看做是"流水线 package S109Stream;im…

【Python机器学习实战】 | Lasso回归和弹性网回归详细分析研究

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

react使用OpenLayers实现类似船某网在地图放大时展示具体船舶符号缩小时显示聚合小点效果

一、效果 如图所示&#xff0c;地图缩小&#xff08;即比例尺放大&#xff09;时&#xff0c;显示聚合小绿点&#xff1b; 地图放大&#xff08;比例尺缩小&#xff09;时&#xff0c;展示具体船舶符号&#xff1a; 二、思路 1&#xff09;设置2个图层&#xff0c;一个展示…