探究布局模型:从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.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

天地图 uniapp使用笔记

官网地址&#xff1a;天地图API 效果&#xff1a; <template><view><!-- 显示地图的DOM节点 --><view id"container" class"content"></view><!-- END --><!-- 数据显示 --><h3>城市名称(IP属地)&#x…

rollup学习笔记

一直使用的webpack,最近突然想了解下rollup,就花点时间学习下. 一,什么是rollup? rollup 是一个 JavaScript 模块打包器&#xff0c;可以将小块代码编译成大块复杂的代码,比如我们的es6模块化代码,它就可以进行tree shaking,将无用代码进行清除,打包出精简可运行的代码包. 业…

[Linux] 系统管理

全局配置文件 用户个性化配置 配置文件的种类 alias命令和unalias命令 进程管理 进程表

AI视频智能监管赋能城市管理:打造安全有序的城市环境

一、方案背景 随着城市化进程的加速和科技的飞速发展&#xff0c;街道治安问题日益凸显&#xff0c;治安监控成为维护社会稳定和保障人民安全的重要手段。当前&#xff0c;许多城市已经建立了较为完善的治安监控体系&#xff0c;但仍存在一些问题。例如&#xff0c;监控设备分…

基于PHP的奶茶商城系统

有需要请加文章底部Q哦 可远程调试 基于PHP的奶茶商城系统 一 介绍 此奶茶商城系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;ajax实现数据交换。系统角色分为用户和管理员。系统在原有基础上添加了糖度的选择。 技术栈 phpmysqlajaxphpstudyvscode 二 功能 用户…

深入了解RTMP推流技术:视频汇聚EasyCVR低延迟与高稳定性分析

RTMP&#xff08;Real Time Messaging Protocol&#xff09;视频推流技术&#xff0c;作为音视频传输领域的关键技术之一&#xff0c;已经在直播、视频会议、在线教育等多个场景中得到了广泛应用。RTMP以其独特的优势&#xff0c;为实时音视频传输提供了高效、稳定的解决方案。…

前端框架中的路由(Routing)和前端导航(Front-End Navigation)

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介前端框架中的路由&#xff08;Routing&#xff09;和前端导航&#xff08;Front-End Navigation&#xff09;1. 路由&#xff08;Routing&#xff09;1.1 定义1.2 路由的核心概念1.2.1 路由表&#xff08;Route Table&#xff09;1…

Renesas MCU之IO应用介绍

目录 概述 1 软硬件环境 1.1 软件版本信息 1.2 硬件接口介绍 2 FSP配置项目 2.1 项目参数配置 2.2 生成项目框架 3 IO OutPut功能 3.1 IO输出功能实现 3.2 IO输出功能测试代码 4 IO InPut功能 4.1 IO Input功能实现 4.2 测试代码实现 5 测试结果 概述 本文主要…

springboot应用cpu飙升的原因排除

1、通过top或者jps命令查到是那个java进程&#xff0c; top可以看全局那个进程耗cpu&#xff0c;而jps则默认是java最耗cpu的&#xff0c;比如找到进程是196 1.1 top (推荐)或者jps命令均可 2、根据第一步获取的进程号&#xff0c;查询进程里那个线程最占用cpu&#xff0c;发…

Redis的缓存击穿与解决

缓存击穿问题也叫热点Key问题&#xff0c;就是一个被高并发访问并且缓存重建业务较复杂的Key突然失效了&#xff0c;无数的请求访问会在瞬间给数据库带来巨大的冲击。 Redis实战篇 | Kyles Blog (cyborg2077.github.io) 目录 解决方案 互斥锁 实现 逻辑过期 实现 解决方案…

FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg

《FFmpeg开发实战&#xff1a;从零基础到短视频上线》一书的“第11章 FFmpeg的桌面开发”介绍了如何在Windows环境对Qt结合FFmpeg实现桌面程序&#xff0c;那么Windows系统通过Visual Studio开发桌面程序也是很常见的&#xff0c;下面就介绍如何在Visual Studio的C工程中集成F…

Day13—大语言模型

定义 大语言模型&#xff08;Large Language Models&#xff09;是一种基于深度学习的自然语言处理&#xff08;NLP&#xff09;模型&#xff0c;用于处理和生成人类语言文本。 一、认识NLP 什么是NLP ​ NLP&#xff08;Natural Language Processing&#xff09;&#xff0…

Word2Vec基本实践

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目…

西木科技Westwood-Robotics人型机器人Bruce配置和真机配置

西木科技Westwood-Robotics人型机器人Bruce配置和真机配置 本文内容机器人介绍Bruce机器人Gazebo中仿真代码部署Bruce真机代码部署 本文内容 人形机器人Brcue相关介绍docker中安装Gazebo并使用Bruce机器人控制器更换环境配置 机器人介绍 公司&#xff1a;西木科技Westwood-R…

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

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

CVPR24最佳论文 | 谷歌:生成图像动力学

原文&#xff1a;Generative Image Dynamics 地址&#xff1a;https://generative-dynamics.github.io/ 代码&#xff1a;未知 出版&#xff1a;CVPR 2024 机构: 谷歌 1 研究问题 本文研究的核心问题是: 如何从单张静止图片生成逼真的长时间动态视频&#xff0c;同时支持用…

Socket 原理和思考

众所周知Reactor是一种非常重要和应用广泛的网络编程模式&#xff0c;而Java NIO是Reactor模式的一个具体实现&#xff0c;在Netty和Redis都有对其的运用。而不管上层模式如何&#xff0c;底层都是走的Socket&#xff0c;对底层原理的了解会反哺于上层&#xff0c;避免空中楼阁…

【数学建模】解析几何与方程模型

文章目录 解析几何与方程模型1.几何建模思想2.Numpy在线性代数中的使用3.国赛求解3.1题目3.2 问题1求解建立模型代码求解 3.3 问题2求解 4.问题答疑Q1:什么是行列式&#xff0c;其使用场景是什么行列式的定义行列式的性质行列式的使用场景 Q2:2023B题问题一用相似三角形求解覆盖…

htb_Editorial

hack the book Editorial 端口扫描 80 22 目录扫描 /upload 是一个上传book information的页面 其中最顶上有一个可以上传书本封面的地方&#xff0c;可以从本地上传&#xff0c;也可以从远程下载 这里可能涉及ssrf和本地文件上传&#xff0c;逐一尝试 随便上传一个图片…

使用高斯混合模型(GMM)进行猫狗音频聚类(Kaggle Audio Cats and Dogs)

Audio Cats and Dogs | Kaggle 目录 一、实验目标 二、数据分析 三、实验结果 四、改进方向 一、实验目标 数据集包括164个标注为猫的.wav文件&#xff0c;总共1323秒和113个标注为狗叫声的.wav文件&#xff0c;总共598秒&#xff0c;要求判别每个音频是狗叫还是猫叫 二、…