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个边界框的左上角坐标,我们得到空间感知注意力得分

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

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

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

相关文章

Apache防盗链、网页压缩、网页缓存

目录 网页压缩 类型 示例 动态添加模块操作步骤 重装Apache操作步骤 网页缓存 示例 操作步骤 隐藏版本信息 操作步骤 Apache防盗链 定义 原理 配置防盗链实验环境 实验环境 本地图片盗链示例 操作步骤 防盗链示例 操作步骤 网页压缩 网站的访问速度是由多个…

Golang | Leetcode Golang题解之第229题多数元素II

题目&#xff1a; 题解&#xff1a; func majorityElement(nums []int) (ans []int) {cnt : map[int]int{}for _, v : range nums {cnt[v]}for v, c : range cnt {if c > len(nums)/3 {ans append(ans, v)}}return }

oracle 23ai新的后台进程bgnn介绍

前言 昨天发文研究了哪些oracle 后台不能杀 具体文章如下链接 oracle哪些后台进程不能杀&#xff1f;-CSDN博客 其中23ai中新增了一个后台进程bgnn 但是在oracle 23ai database reference中并没有找到该后台进程 有点不甘心就开了个SR&#xff0c;找oracle 官方来看看这个后…

【鸿蒙学习笔记】元服务

官方文档&#xff1a;元服务规格 目录标题 什么是元服务特征第一个元服务-案例介绍创建项目源码启动模拟器启动entry创建卡片出发元服务 什么是元服务 特征 免安装分包预加载老化和更新机制 第一个元服务-案例介绍 创建项目 源码 Entry Component struct WidgetCard {buil…

如何做好IT类的技术面试?

我们在找工作时&#xff0c;需要结合自己的现状&#xff0c;针对意向企业做好充分准备。作为程序员&#xff0c;你有哪些面试IT技术岗的技巧&#xff1f; 方向一&#xff1a;分享你面试IT公司的小技巧 我分享一些基于广泛观察和用户反馈的面试IT公司的小技巧&#xff1a; 技术准…

BUG解决:postman可以请求成功,但Python requests请求报403

目录 问题背景 问题定位 问题解决 问题背景 使用Python的requests库对接物联数据的接口之前一直正常运行&#xff0c;昨天突然请求不通了&#xff0c;通过进一步验证发现凡是使用代码调用接口就不通&#xff0c;而使用postman就能调通&#xff0c;请求参数啥的都没变。 接口…

【JavaScript 算法】快速排序:高效的排序算法

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、算法原理二、算法实现三、应用场景四、优化与扩展五、总结 快速排序&#xff08;Quick Sort&#xff09;是一种高效的排序算法&#xff0c;通过分治法将数组分为较小的子数组&#xff0c;递归地排序子数组。快速排序通常…

NSIS使用方法

拒绝废话&#xff01; NSIS下载地址NSIS V3.08 简体中文增强版 - 水晶石 - 博客园 (cnblogs.com) 安装方法参考&#xff1a;使用NSIS打包程序安装包-CSDN博客 打包前需要准备好一个编译好带图标的程序文件&#xff0c;否则安装程序文件产生的快捷方式无图标&#xff01; 一…

Echarts实现github提交记录图

最近改个人博客&#xff0c;看了github的提交记录&#xff0c;是真觉得好看。可以移植到自己的博客上做文章统计 效果如下 代码如下 <!DOCTYPE html> <html lang"en" style"height: 100%"><head><meta charset"utf-8"> …

日常的学习

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Android ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 正文 7.11 resAndroidManifest 笔记 <> <> selector shape resources main下的AndroidMainifest.xml文件 application …

MySQL 面试相关问题

写在前面&#xff1a; 不喜勿喷&#xff0c;暴躁作者又不求你给钱【没办法&#xff0c;遇见的狗喷子太多了&#x1f436;】欢迎大家在评论区留言&#xff0c;指正文章中的信息错误有一些其他相关的问题&#xff0c;可以直接评论区留言&#xff0c;作者看到会及时更新到文章末尾…

【Java】垃圾回收学习笔记(一):Root Search 根可达算法+垃圾回收的起点

文章目录 1. 引用计数法优点缺点 2. 可达性分析 Root Search2.1 那些对象是GC Roots2.2 引用的分类2.3 回收方法区 3. 实现细节3.1 GC的起点&#xff1a;节点枚举OopMap&#xff1a;帮助高效的根节点枚举 3.2 何时开始GC&#xff1a;安全点与安全区域如何选取安全点如何让程序进…

html+css+js随机验证码

随机画入字符、线条 源代码在图片后面 点赞❤️关注&#x1f60d;收藏⭐️ 互粉必回 图示 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"…

Web安全:SQL注入

一、SQL注入三要素 1、用户可以对输入的参数值进行修改。 2、后端不对用户输入的参数值进行严格过滤。 3、用户修改后的参数值可以被带入后端中成功执行&#xff0c;并返回一定结果。 二、SQL注入原理 简单来说&#xff0c;用户输入的值会被插入到SQL语句中&#xff0c;然后…

【ARM】CCI缓存一致性整理

目录 1.CCI500提供的功能 2.CCI500在SOC系统中所处的位置​编辑 3.CCI500内部结构​编辑 4.功能描述 1.CCI500提供的功能 2.CCI500在SOC系统中所处的位置 3.CCI500内部结构 Transaction Tracker&#xff08;TT&#xff09;是用来解决一致性和ordering问题的&#xff0c;它…

MES系统在装备制造行业核心应用场景介绍

MES软件在企业中有着广泛的应用场景&#xff0c;主要包括生产计划排程、生产过程监控、质量管理、设备管理、库存管理、数据分析等领域。 通过实时监控生产过程、收集数据、进行分析&#xff0c;MES软件可以帮助企业实现生产过程可视化、透明化&#xff0c;提高生产效率&#…

Java | Leetcode Java题解之第229题多数元素II

题目&#xff1a; 题解&#xff1a; class Solution {public List<Integer> majorityElement(int[] nums) {HashMap<Integer, Integer> cnt new HashMap<Integer, Integer>();for (int i 0; i < nums.length; i) {if (cnt.containsKey(nums[i])) {cnt.…

【Tomcat目录详解】关于Tomcat你还需要了解的详细内容

希望文章能给到你启发和灵感&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏 支持一下博主吧&#xff5e; 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、Tomcat的文件结构2.1 bin目录2.1.1 startup和shutdown2.1.2 Catalina2.1.3 serv…

Java高级重点知识点-25-Stream流、方法引用

文章目录 Stream流流式思想概述获取流常用方法 方法引用方法引用符通过对象名引用成员方法通过类名称引用静态方法通过super引用成员方法通过this引用成员方法类的构造器引用数组的构造器引用 Stream流 通过循环遍历来讲解流的优势&#xff1b; 要求&#xff1a;筛选所有姓张的…

记一次若依框架和Springboot常见报错的实战漏洞挖掘

目录 前言 本次测实战利用图​ 1.判段系统框架 2.登录页面功能点测试 2.1 弱口令 2.2 webpack泄露信息判断 2.3 未授权接口信息发现 3.进一步测试发现新的若依测试点 3.1 默认弱口令 3.2 历史漏洞 4.访问8080端口发现spring经典爆粗 4.1 druid弱口令 4.2 SwaggerU…