文档智能:OCR+Rocketqa+layoutxlm

news2024/9/20 17:50:43

此次先记录LayoutLMv2,梳理相关论文,记录如下:

首先认识一下 visually-rich document understanding tasks → \to VrDU

其次,the text fields of interest,与图像识别的感兴趣区域 region of Interest 类似,AI对该词做出的解释如下:

在文档智能领域,处理和分析文档时,系统需要能够自动识别和提取文档中的关键信息。这些信息通常以文本字段的形式出现,并被定义为“text fields of interest”。这些字段的重要性在于它们提供了文档的核心内容,有助于实现文档的快速检索、分类、摘要生成等目的。

作者介绍到,最近的VrDU任务主要依赖于两个方向:

第一个方向通常建立在文本和视觉/布局/风格信息之间的浅层融合之上。这些方法分别利用预训练的NLP和CV模型,并将来自多种模态的信息组合起来进行监督学习。尽管已经取得了良好的性能,但一种文档类型的领域知识不能轻易转移到另一种,因此一旦文档类型发生变化,这些模型通常需要重新训练。

第二个方向依赖于不同领域中大量未标记文档的文本、视觉和布局信息之间的深度融合;
预训练的模型从不同的文档类型中吸收跨模态知识,从而保持了这些布局和样式之间的局部不变性。此外,当模型需要转移到具有不同文档格式的另一个域时,只有几个标记的样本就足以微调通用模型;

LayoutLMv2在预训练阶段,利用Transformer来学习视觉和文本信息之间的跨模态交互,集成了视觉信息;

For the pre-training strategies, we use two new training objectives for LayoutLMv2 in addition to the masked visual-language modeling.

The first is the proposed text-image alignment strategy, which aligns the textlines and the corresponding image regions.

The second is the text-image matching strategy , where the model learns whether the document image and textual content are correlated.

在这里插入图片描述
在这里插入图片描述

在第二章节的模型介绍中,首先介绍了三部分:Text Embedding、Visual Embedding、Layout Embedding;

1. Text Embedding

除了对文本进行分词编码之外,还加了起始和终止符号;使用了1-D位置编码,以及 segment s i s_i si ∈ \in { [ A ] , [ B ] } \{[A], [B]\} {[A],[B]}

其中,segment embedding is used to distinguish different text segments.
在这里插入图片描述

注意,序列的最大长度设定为L:
Extra [PAD] tokens are appended to the end so that the final sequence’s length is exactly the maximum sequence length L.

2. Visual Embedding

使用ResNeXt-FPN结构之后,通过 flatten 操作,得到了W × H 的 VisTokEmb(I);再然后,使用一个线性层将 visual token embedding 与text embeddings 保持在同样的维度;
同理,使用了1-D位置编码,the 1D positional embedding is shared with the text embedding layer.
同理,for the segment embedding, we attach all visual tokens to the visual segment [C].

在这里插入图片描述

3. Layout Embedding:

embedding the spatial layout information represented by axis-aligned token bounding boxes from the OCR results, in which box width and height together with corner coordinates are identified.
在这里插入图片描述

4. Multi-modal Encoder with Spatial-Aware Self-Attention Mechanism

The encoder concatenates visual embeddings { v 0 v_0 v0, …, v W H − 1 v_{W H−1} vWH1 } and text embeddings { t 0 t_0 t0, …, t L − 1 t_{L−1} tL1 } to a unified sequence,

and fuses spatial information by adding the layout embeddings to get the i-th (0 ≤ i < W H + L) first layer input:
在这里插入图片描述

然后,为了引入相对位置而非绝对位置,在transformer-attention机制中,softmax之前,引入偏置项,b:
在这里插入图片描述
we model the semantic relative position and spatial relative position as bias terms to prevent adding too many parameters.

Let b ( 1 D ) b^{(1D)} b(1D), b ( 2 D x ) b^{(2D_x)} b(2Dx) and b ( 2 D y ) b^{(2D_y)} b(2Dy) denote the learnable 1D and 2D relative position biases respectively.

Assuming ( x i x_i xi, y i y_i yi) anchors the top left corner coordinates of the i-th bounding box, we obtain the spatial-aware attention score:
在这里插入图片描述


关于此处的偏置项:
在深度学习和计算机视觉的上下文中,偏置项通常被设计为与模型中的其他参数(如权重)一起学习和优化,但它们并不直接对应于输入数据的连续特征或位置。

相反,偏置项是模型参数的一部分,用于调整激活函数的输出或注意力机制的分数,以引入额外的灵活性。

在处理具有空间位置信息的任务(如图像中的物体检测或自然语言处理中的位置编码)时,我们可能会想要将空间位置信息以某种方式整合到模型中。
由于空间位置是连续的(例如,图像中的像素坐标),但模型参数(包括偏置项)是离散的(存储在内存中的数值),因此我们需要一种方法来将连续的空间位置映射到离散的参数上。


The biases are different among attention heads but shared in all encoder layers.

  • The biases are different among attention heads:

这意味着在每个注意力头(attention head)中,偏置项都是不同的。在基于多头注意力(multi-head attention)的模型中,模型会并行地计算多个注意力权重集合,每个集合被称为一个“头”。由于每个头可能关注输入的不同部分或特征,因此为每个头分配不同的偏置项有助于模型捕获并区分这些不同的信息。

  • but shared in all encoder layers:

虽然每个注意力头有自己的偏置项,但这些偏置项在所有的编码器层(encoder layers)之间是共享的。在像Transformer这样的模型中,编码器通常由多个堆叠的层组成,每层都包含注意力机制和其他组件。这句话意味着,无论在哪个编码器层,同一注意力头的偏置项都是相同的。这种设计有助于减少模型参数的数量,并可能促进不同层之间的信息流动和一致性。

即,在一个具有多头注意力的模型中,每个注意力头都有自己的独特偏置项,但这些偏置项在模型的所有编码器层之间是共享的。这种设计方式结合了模型的表达能力和参数效率。


5. Masked Visual-Language Modeling

randomly mask some text tokens and ask the model to recover the masked tokens.

Meanwhile, the layout information remains unchanged, which means the model knows each masked token’s location on the page.

The output representations of masked tokens from the encoder are fed into a classifier over the whole vocabulary, driven by a cross-entropy loss.
在交叉熵损失的驱动下,来自编码器的 masked tokens 的输出表示,被馈送到整个词汇表上的分类器中。

To avoid visual clue leakage, we mask image regions corresponding to masked tokens on the raw page image input before feeding it into the visual encoder.

6. Text-Image Alignment

In the TIA task, some tokens lines are randomly selected, and their image regions are covered on the document image.

注意,这里是tokens被选择,然后覆盖对应的图像;

During pre-training, a classification layer is built above the encoder outputs.
This layer predicts a label for each text token depending on whether it is covered, i.e., [Covered] or [Not Covered], and computes the binary cross-entropy loss.

7. Text-Image Matching

We feed the output representationat [CLS] into a classifier to predict whether the image and text are from the same document page.

  • Regular inputs are positive samples.
  • To construct a negative sample, an image is either replaced by a page image from another document or dropped.

在训练过程中,分类器会接收来自正样本和负样本的输入,并学习如何区分这两种情况。
具体来说,分类器会尝试从[CLS]标记的输出表示中提取足够的信息,以判断图像和文本是否匹配。通过最小化分类损失(如交叉熵损失),分类器可以逐渐学习到区分正样本和负样本的有效特征。

To prevent the model from cheating by finding task features, we perform the same masking and covering operations to images in negative samples.

关于cheating:模型可能不是通过学习真正的特征或规律来区分正负样本,而是可能通过一些捷径或非预期的方式(例如,仅仅基于图像的某些无关紧要的特征)来做出判断。

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

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

相关文章

MySQL数据的增删改查(一)

目录 新增&#xff08;create&#xff09; 插入单条记录 插入多条记录 查询&#xff08;retrieve&#xff09; 查询所有列 查询特定列 查询字段为表达式 别名 去重 排序 按单列排序 按多列排序 使用表达式或别名排序 排序NULL值 条件查询 比较运算符 逻辑运算…

双向dfs,多次dfs

前言&#xff1a;这个答案给我们提供了一种多次dfs的思路&#xff0c;记录queue的size&#xff0c;每次只取size个&#xff0c;就刚刚好只处理了上一次的‘ 题目地址 #include<bits/stdc.h> using namespace std;//定义队列节点 struct node {int x,y; }rear,front; //Q[…

Leetcode面试经典150题-350.两个数组的交集II

题目比较简单&#xff0c;散散心吧 这个题竟然是349更简单的版本&#xff0c;可以先看看349题的解法&#xff1a; Leetcode面试经典150题-349.两个数组的交集-CSDN博客 349会了&#xff0c;这个也就会了 解法都在代码里&#xff0c;不懂就留言或者私信 class Solution {/…

C51单片机矩阵键盘输入数码管静态显示

【实验目的】 学会矩阵键盘的检测&#xff0c;掌握数码管静态显示原理。 【实验现象】 依次按下4*4矩阵键盘上从第1到第20个键&#xff0c;同时在六位数码管上依次显示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。 【实验说明】 本开发板上数码管为共阴极。静态数码管显示…

R与机器学习系列|15.可解释的机器学习算法(Interpretable Machine Learning)(下)

今天我们介绍可解释机器学习算法的最后一部分&#xff0c;基于XGBoost算法的SHAP值可视化。关于SHAP值其实我们之前的很多个推文中都介绍到&#xff0c;不论是R版本的还是Python版本的&#xff0c;亦不论是普通的分类问题还是生存数据模型的。在此推文中我们将基于XGBoost模型理…

付费进群付费入群流量掘金入群系统九牧云版源码系统搭建

适用于各类资源类付费进群领取&#xff0c;私域类项目经营等 简洁大气直观。流量掘金类必备。 前端展示视频&#xff1a; https://pan.baidu.com/s/1lqyGCOrfmE4LDXb1cm-eDQ?pwdvnk6 https://yun.ktbf.xyz/s/by6jIzghpb 大致功能&#xff1a; 支持域名防红模式 支持对接…

QT+OSG+OSG-earth如何在窗口显示一个地球

1、环境配置 系统&#xff1a;windows10系统 QT:版本5.15.2 编译器&#xff1a;MSVC2019_64bit 编辑器&#xff1a;QT Creator OSG版本&#xff1a;3.7.0 64位 为MSVC环境下编译 osgQt:为第三方编译的库&#xff0c;OSG因为版本不同已经不提供osgQt的…

【一文就懂】计算机视觉期刊和会议缩写

下面IEEE相关的期刊及其缩写&#xff0c;并重新整理为期刊和会议两个部分。 期刊缩写 期刊全称缩写IEEE Transactions on Pattern Analysis and Machine IntelligenceIEEE Trans. Pattern Anal. Mach. Intell.IEEE Transactions on Image ProcessingIEEE Trans. Image Proce…

用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响

高效的数据处理对于依赖大数据分析做出明智决策的企业和组织至关重要。显著影响数据处理性能的一个关键因素是数据的存储格式。本文探讨了不同存储格式&#xff08;特别是 Parquet、Avro 和 ORC&#xff09;对 Google Cloud Platform &#xff08;GCP&#xff09; 上大数据环境…

机器学习--支持向量机(SVM)

支持向量机(线性) S V M SVM SVM 引入 S V M SVM SVM 用于解决的问题也是 c l a s s i f i c a t i o n classification classification&#xff0c;这里 y ∈ { − 1 , 1 } y \in \{-1, 1\} y∈{−1,1} 比如说这样一个需要分类的训练数据&#xff1a; 我们可以有很多直线来…

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉&#xff0c;那么对 shallowRef 和 shallowReactive 是否了解呢&#xff1f; 在编程和数据结构中&#xff0c;“shallow”&#xff08;浅层&#xff09;通常指对数据结构的最外层进行操作&#xff0c;而不递归地处理其内部或嵌套的数据…

Brave编译指南2024 Windows篇:安装Git(四)

1.引言 在编译Brave浏览器的过程中&#xff0c;Git是必不可少的工具之一。作为最流行的分布式版本控制系统&#xff0c;Git允许开发者高效地管理和协作开发源码。通过Git&#xff0c;您可以轻松获取、更新和提交Brave的源码版本&#xff0c;并跟踪所有更改记录。无论是独立开发…

大模型入门 ch 03:注意力机制

本文是github上的大模型教程LLMs-from-scratch的学习笔记&#xff0c;教程地址&#xff1a;教程链接 Chapter 3&#xff1a; Attention Mechanism 本文首先从固定参数的注意力机制说起&#xff0c;然后拓展到可以训练的注意力机制&#xff0c;然后加入掩码mask&#xff0c;最后…

基于 onsemi NCV78343 NCV78964的汽车矩阵式大灯方案

一、方案描述 大联大世平集团针对汽车矩阵大灯&#xff0c;推出 基于 onsemi NCV78343 & NCV78964的汽车矩阵式大灯方案。 开发板搭载的主要器件有 onsemi 的 Matrix Controller NCV78343、LED Driver NCV78964、Motor Driver NCV70517、以及 NXP 的 MCU S32K344。 二、开…

抖音微信超火国庆节国旗头像生成源码

源码介绍&#xff1a; 抖音微信超火国庆节国旗头像生成源码&#xff0c;静态页前端生成速度超快&#xff01;源码直接上传到服务器即可使用。 1、打开地址后点击上传->选一张你喜欢的头像->然后点右边箭头符合选款式->最后点保存头像->按照提示 2、保存到手机即…

开源多场景问答社区论坛Apache Answer本地部署并发布至公网使用

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

CCDO|数据跃动未来:首席数据官如何引领构建活数据引擎

在数字化浪潮汹涌澎湃的今天&#xff0c;数据已成为企业最宝贵的资产之一&#xff0c;它不仅记录着过去&#xff0c;更预示着未来的方向。随着大数据、人工智能、云计算等技术的飞速发展&#xff0c;数据的潜力被前所未有地激发&#xff0c;而首席数据官&#xff08;CDO&#x…

T4周:猴痘病识别

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊](https://mtyjkh.blog.csdn.net/)** 1. 设置GPU 如果使用的是CPU可以忽略这步 …

Eclipse折叠if、else、try catch的{}

下载插件com.cb.eclipse.folding_1.0.6.jar。将插件放到eclipse的dropins文件夹中。修改配置&#xff0c;然后保存&#xff0c;重启Eclipse即可。

Flink快速上手

Flink快速上手 批处理Maven配置pom文件java编写wordcount代码 有界流处理无界流处理 批处理 Maven配置pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://ww…