LayoutLMv2:视觉丰富文档理解的多模态预训练

文本和布局的预训练由于其有效的模型架构和大规模未标记扫描/数字出生文档的优势,在各种视觉丰富的文档理解任务中被证明是有效的。我们提出了具有新的预训练任务的LayoutLMv2架构,以在单个多模态框架中对文本、布局和图像之间的交互进行建模。具体而言,LayoutLMv2采用双流多模态Transformer编码器,不仅使用了现有的掩模视觉语言建模任务,还使用了新的文本-图像对齐和文本-图像匹配任务,从而更好地捕捉了预训练阶段的跨模态交互。同时,在Transformer架构中集成了空间感知自关注机制,使模型能够充分理解不同文本块之间的相对位置关系。实验结果表明,LayoutLMv2在FUNSD(0.7895→0.8420)、CORD(0.9493→0.9601)、SROIE(0.9524→0.9781)、klester - nda(0.8340→0.8520)、RVL-CDIP(0.9443→0.9564)、DocVQA(0.7295→0.8672)等多种下游视觉丰富的文档理解任务上取得了比LayoutLM更好的结果。我们在https://aka.ms /layoutlmv2上公开了模型和代码。

可视化丰富的文档理解(VrDU,Visually-rich Document Understanding)旨在分析扫描/数字生成的业务文档(发票图像,PDF格式的表单等),其中结构化信息可以自动提取和组织用于许多业务应用程序。与传统的信息提取任务不同,VrDU任务不仅依赖于文本信息,还依赖于视觉和布局信息,这些信息对于视觉丰富的文档至关重要。不同类型的文档表明感兴趣的文本字段位于文档中的不同位置,这通常由每种类型的样式和格式以及文档内容决定。因此,为了准确地识别感兴趣的文本字段,不可避免地要利用视觉丰富文档的跨模态特性,在单个框架中,文本、视觉和布局信息应该被端到端地联合建模和学习。

VrDU的最新进展主要有两个方向。第一个方向通常建立在文本和视觉/布局/样式信息之间的浅层融合上(Yang et al., 2017;Liu et al., 2019;Sarkhel and Nandi, 2019;Yu et al., 2020;Majumder et al., 2020;Wei et al., 2020;Zhang等人,2020)。这些方法分别利用预训练的NLP和CV模型,并将来自多种模式的信息结合起来进行监督学习。虽然已经取得了良好的性能,但是一种文档类型的领域知识不能轻易地转移到另一种文档类型,因此一旦文档类型发生变化,这些模型通常需要重新训练。因此,不能充分利用一般文档布局(左右布局中的键值对、网格布局中的表等)中的局部不变性。为此,第二个方向依赖于来自不同领域的大量未标记文档的文本、视觉和布局信息之间的深度融合,其中预训练技术在以端到端方式学习跨模态交互方面发挥重要作用(Lockard et al., 2020;Xu et al., 2020)。通过这种方式,预训练的模型吸收了来自不同文档类型的跨模态知识,其中保留了这些布局和样式之间的局部不变性。此外,当需要将模型转移到具有不同文档格式的另一个领域时,仅需要少量标记的样本就足以对通用模型进行微调,以达到最先进的精度。因此,本文提出的模型遵循第二个方向,我们探索如何进一步改进VrDU任务的预训练策略。

在本文中,我们提出了LayoutLM的改进版本(Xu et al., 2020),即LayoutLMv2。与传统的LayoutLM模型在微调阶段结合视觉嵌入不同,我们在LayoutLMv2中利用Transformer架构在预训练阶段整合视觉信息学习视觉信息和文本信息之间的跨模态交互。此外,受一维相对位置表示的启发(Shaw et al., 2018;拉斐尔等人,2020;Bao等人,2020),我们提出了LayoutLMv2的空间感知自注意机制,该机制涉及令牌对的二维相对位置表示。与LayoutLM用来对页面布局建模的绝对二维位置嵌入不同,相对位置嵌入明确地为上下文空间建模提供了更广阔的视角。对于预训练策略,除了屏蔽视觉语言建模之外,我们还为LayoutLMv2使用了两个新的训练目标。首先是本文提出的文本-图像对齐策略,该策略将文本行和相应的图像区域对齐。第二种是在之前的视觉语言预训练模型中流行的文本-图像匹配策略(Tan and Bansal, 2019;Lu et al., 2019;Su et al., 2020;Chen et al., 2020;Sun et al., 2019),其中模型学习文档图像和文本内容是否相关

我们选择了六个公开可用的基准数据集作为下游任务,以评估预训练的LayoutLMv2模型的性能,它们是用于表单理解的fundd数据集(Jaume等人,2019),用于收据理解的CORD数据集(Park等人,2019)和SROIE数据集(Huang等人,2019),用于复杂布局的长文档理解的Kleister-NDA数据集(Grali ' nski等人,2020),用于RVL-CDIP数据集(Harley等人,2019)。2015)用于文档图像分类,以及DocVQA数据集(Mathew et al., 2021)用于文档图像的视觉问答。实验结果表明,LayoutLMv2模型显著优于强基线(包括普通LayoutLM),并在所有这些任务中获得了最新的结果。本文的贡献总结如下:•我们提出了一个多模态Transformer模型来集成文档文本、布局和可视化信息

2方法

在本节中,我们将介绍LayoutLMv2的模型架构和多模态预训练任务,如图1所示。

2.1模型架构

2.1模型架构我们构建了一个多模态的Transformer架构作为LayoutLMv2的主干,它以文本、视觉和布局信息作为输入,建立深度的跨模态交互。我们还在模型体系结构中引入了空间感知自关注机制,以便更好地对文档布局进行建模。模型的详细描述如下。

Text Embedding 按照通常的做法,我们使用WordPiece (Wu et al., 2016)对OCR文本序列进行标记,并将每个标记分配给特定的片段si∈{[A], [B]}。然后,我们在序列的开头添加[CLS],在每个文本片段的末尾添加[SEP]。额外的[PAD]标记被附加到末尾,以便最终序列的长度正好是最大序列长度L.最终文本嵌入是三个嵌入的总和。令牌(token)嵌入表示令牌本身,一维位置嵌入表示令牌索引,段嵌入用于区分不同的文本段。形式上,我们有第i次(0≤i < L)文本嵌入。Token embedding rep-resents the token itself, 1D positional embedding represents the token index, and segment embed-ding is used to distinguish different text segments.Formally, we have the i-th (0 ≤ i < L) text em-bedding

视觉嵌入 虽然我们需要的所有信息都包含在页面图像中,但该模型很难在整个页面的单个信息丰富的表示中捕获详细特征。因此,我们利用基于cnn的视觉编码器的输出特征映射,它将页面图像转换为固定长度的序列我们使用ResNeXt-FPN (Xie et al., 2017;Lin et al., 2017)架构作为视觉编码器的主干,其参数可以通过反向传播更新。给定文档页面图像I,将其大小调整为224 × 224,然后输入视觉主干。然后将输出的特征图平均池化为固定大小,宽度为W,高度为h。然后将其平展为可视化嵌入序列lengthW×H。该序列被命名为VisTokEmb(I)。然后对每个视觉标记嵌入应用线性投影层,使其维度与文本嵌入统一。于基于cnn的视觉主干无法捕获位置信息,我们还在这些视觉标记嵌入中添加了一维位置嵌入一维位置嵌入与文本嵌入层共享。对于片段嵌入,我们将所有的视觉标记附加到视觉片段上[C]。第i个(0≤i < WH)视觉嵌入可以表示为

布局嵌入 布局嵌入层用于从OCR结果中嵌入以轴线对齐的令牌边界框表示的空间布局信息,其中识别框的宽度和高度以及角坐标。遵循LayoutLM,我们将所有坐标归一化并离散为[0,1000]范围内的整数,并使用两个嵌入层分别嵌入x轴特征和y轴特征。给定第i个(0≤i < WH L)文本/视觉标记boxi = (xmin, xmax, ymin, ymax, width, height)的归一化边界框,布局嵌入层将6个边界框特征连接起来,构建一个标记级二维位置嵌入,即布局嵌入

注意,cnn进行了局部变换,因此视觉标记嵌入可以一个接一个地映射回图像区域,既没有重叠也没有遗漏。在计算边界框时,可视标记可以视为均匀划分的网格。空边界框boxPAD =(0,0,0,0,0,0)附加到特殊令牌[CLS], [SEP]和[PAD]。

具有空间感知自注意机制的多模态编码器, vWH−1}和文本嵌入{0,…, tL−1}进行统一序列,通过添加布局嵌入融合空间信息,得到第i(0≤i < WH L)层输入Multi-modal Encoder with Spatial-Aware Self-Attention Mechanism The encoder concate-nates visual embeddings {v0, ..., vWH−1} and text embeddings {t0, ..., tL−1} to a unified sequence and fuses spatial information by adding the layout embeddings to get the i-th (0 ≤ i < WH + L) first layer input

就是文本嵌入和视觉嵌入加上布局嵌入

按照Transformer的架构,我们用一堆多头自关注层和一个前馈网络来构建我们的多模态编码器。然而,原始的自注意机制只能隐式地捕获输入标记与绝对位置提示之间的关系。为了有效地对文档布局中的局部不变性进行建模,需要显式地插入相对位置信息。因此,我们将空间意识自注意机制引入自注意层。为简单起见,下面的描述是针对单个自关注层中的单个头部,头部的大小为隐藏,投影矩阵为WQ, WK, WV。原始的自注意机制通过投影两个向量并计算注意分数来捕获查询xi和键xj之间的相关性

考虑到位置的大范围,我们将语义相对位置和空间相对位置建模为偏置项,以避免添加过多的参数。类似的实践已被证明在纯文本Transformer架构上是有效的(rafael等人,2020;Bao et al., 2020)。设b(1D), b(2Dx), b(2Dy)分别表示可学习的1D和2D相对位置偏差。这种偏差在注意头之间是不同的,但在所有编码器层中是共享的。假设(xi, yi)锚定第i个边界框的左上角坐标,我们得到空间感知注意力得分

最后,将输出向量表示为所有投影值向量相对于标准化的空间感知注意力得分的加权平均值

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

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

相关文章

网络编程学习之tcp

按下*&#xff08;星号&#xff09;可以搜索当前光标下的单词。 Tcp编程的过程 打开网络设备 Bind&#xff1a;给服务地址把ip号和端口号连接进去 Tcp是有状态的 Listen是进入监听状态&#xff0c;看有没有客户端来连接服务器 Tcp比udp消耗过多资源 Upd类似于半双工&#…

Qt图形与图片(Qt位置相关函数、Qt基础图形的绘制、双缓冲机制、显示SVG格式图片)

此篇文章介绍几种主要位置函数及其之间的区别&#xff0c;以及各种与位置相关函数的使用场合&#xff1b;然后&#xff0c;通过一个简单绘图工具实例&#xff0c;介绍利用QPainter和QPainterPath两种方法绘制各种基础图形&#xff1b;最后&#xff0c;通过几个实例介绍如何利用…

Golang | Leetcode Golang题解之第230题二叉搜索树中第K小的元素

题目&#xff1a; 题解&#xff1a; type MyBst struct {root *TreeNodenodeNum map[*TreeNode]int // 统计以每个结点为根结点的子树的结点数&#xff0c;并存储在哈希表中 }// 统计以 node 为根结点的子树的结点数 func (t *MyBst) countNodeNum(node *TreeNode) int {if…

达梦数据库dm8安装步骤及迁移

目录 前言: 一、安装部署 1、下载 2、创建用户及安装目录 3、挂载下载的镜像 4、环境配置 5、安装 二、基本使用 1、DM工具使用 2、兼容性配置 2.1 兼容GBK字符集编码 2.2 兼容UTF-8字符集编码 3、创建用户和密码,表空间 4、整理数据库配置 5、启动脚本设置 …

基于YOLOV8的数粒机视觉计数解决方案

一:行业背景调查 随着全球市场商品大规模工业化生产技术的大规模发展,其中对各类产品生产包装以及原材料供给有了更多精准计数的要求,这些要求主要分布在一些产量较大,产品颗粒较小,单个成本较高的商品中,近几年主要从医药包装领域和接插件包装领域开始对产品包装中的计…

ENSP实现防火墙区域策略与用户管理

目录 实验拓扑与要求​编辑 交换机与防火墙接口的配置 交换机&#xff1a; 创建vlan 接口配置 防火墙配置及接口配置 防火墙IP地址配置 云配置​编辑​编辑​编辑 在浏览器上使用https协议登陆防火墙&#xff0c;并操作 访问网址&#xff1a;https://192.168.100.1:844…

弥合人类与人工智能的知识差距:AlphaZero 中的概念发现和迁移(1)

文章目录 一、摘要二、简介三、相关工作3.1 基于概念的解释3.2 强化学习中生成解释3.3 国际象棋与人工智能 四、什么是概念&#xff1f;五、发掘概念5.1 挖掘概念向量5.1.1 静态概念的概念约束5.1.2 动态概念的概念约束 5.2 过滤概念 一、摘要 人工智能&#xff08;AI&#xff…

2023年全国大学生电子信息竞赛E题——自动追踪系统(stm32和openmv+普通舵机)完美解决第四问

当时做的时候&#xff0c;当时看别人开源的23年的题&#xff0c;感觉一头雾水。两个字没思路。确实只有做了才会有思路。我这里清晰的整理出来思路。 1.第一问的复位问题就是写一个函数&#xff0c;如果按键按下&#xff0c;就进入&#xff0c;再按下就退出 当然这个复位是写死…

git提交大文件服务500

错误如图 需保证git服务端能接收大文件 修改项目下.git文件中的config文件&#xff0c;加入 [http] postBuffer 524288000

Mybatis——增删改查

目录 一、准备工作 二、mybatis——新增 三、mybatis——删除 四、mybatis——更新 五、mybatis——查询 六、XML映射文件 一、准备工作 1.准备一个数据库表 2.创建一个新的springboot工程&#xff0c;选择引入对应的起步依赖&#xff08;Mybatis、mybatis等&#xff09…

C:数据结构---算法

1.1排序算法 稳定排序 不稳定排序 ①冒泡排序&#xff08;稳定&#xff09; 比较相邻的元素。如果第一个比第二个大&#xff0c;就交换他们两个。对每一对相邻元素作同样的工作&#xff0c;从开始第一对到结尾的最后一对 ②选择排序 在未排序序列中找到最小&#xff08;大…

一文入门【NestJs】Providers

Nest学习系列 ✈️一文入门【NestJS】 ✈️一文入门【NestJs】Controllers 控制器 &#x1f6a9; 前言 在NestJS的世界里&#xff0c;理解“Providers”是构建健壮、可维护的后端服务的关键。NestJS&#xff0c;作为Node.js的一个现代框架&#xff0c;采用了Angular的一些核…

【Dison夏令营 Day 16】如何使用 Python 中的 PyGame 制作俄罗斯方块游戏

俄罗斯方块(Tetris)是一款经典的益智游戏&#xff0c;游戏的目的是将落下的几何图形片&#xff08;称为 “俄罗斯方块”&#xff09;排列起来&#xff0c;填满水平线&#xff0c;不留空隙。当一条线被完全填满时&#xff0c;它就被清除了&#xff0c;玩家就能获得分数。随着四角…

【企业级监控】源码部署Zabbix与监控主机

Zabbix企业级分布式监控 文章目录 Zabbix企业级分布式监控资源列表基础环境一、LNMP环境搭建&#xff08;在zbx主机上&#xff09;1.1、配置Yum仓库1.1.1、下载阿里云的仓库文件1.2.2、安装PHP7的仓库1.2.3、生成Mariadb10.11的仓库文件1.2.4、快速重建Yum缓存 1.2、安装PHP7.4…

小巧低调的黑盒子,打造个性化音乐体验,欧尼士ONIX Alpha小尾巴上手

欧尼士ONIX的产品很有辨识度&#xff0c;这家来自英国的品牌&#xff0c;有着鲜明的黑金设计色彩&#xff0c;以及低调奢华的质感&#xff0c;当然最重要的是&#xff0c;欧尼士的音质表现非常出色&#xff0c;因此深受音乐爱好者的喜爱。在以手机等设备为载体的流媒体音乐盛行…

uniapp中使用uni-ui组件库

src目录下新建components目录从uni-ui引入对应的组件目录&#xff0c;如下图 直接使用组件&#xff0c;demo <template><view id"my" data-name"王五" data-age"18">my页面</view><uni-data-select :localdata"local…

WebDriver与浏览器通信的深度剖析与探索

在自动化测试的世界里&#xff0c;WebDriver无疑是连接测试脚本与浏览器之间的桥梁&#xff0c;它让复杂的自动化测试成为可能。本文将深入探讨WebDriver与浏览器之间的通信机制&#xff0c;揭示它们之间如何协同工作&#xff0c;以及这一过程中涉及的关键技术和挑战。 一、We…

sqlmap使用之-post注入、head注入(ua、cookie、referer)

1、post注入 1.1、方法一&#xff0c;通过保存数据包文件进行注入 bp抓包获取post数据 将数据保存到post.txt文件 加上-r指定数据文件 1.2、方法二、通过URL注入 D:\Python3.8.6\SQLmap>python sqlmap.py -u "http://localhost/login.php" --data "userna…

2024年06月CCF-GESP编程能力等级认证C++编程三级真题解析

本文收录于专栏《C等级认证CCF-GESP真题解析》&#xff0c;专栏总目录&#xff1a;点这里。订阅后可阅读专栏内所有文章。 一、单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 第 1 题 小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证考试的第1级&…

【JavaScript 报错】未捕获的范围错误:Uncaught RangeError

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、错误原因分析1. 递归调用次数过多2. 数组长度超出限制3. 数值超出允许范围 二、解决方案1. 限制递归深度2. 控制数组长度3. 检查数值范围 三、实例讲解四、总结 Uncaught RangeError 是JavaScript中常见的一种错误&…