【文档智能】多模态预训练模型及相关数据集汇总

news2025/1/20 3:40:25

前言

大模型时代,在现实场景中或者企业私域数据中,大多数数据都以文档的形式存在,如何更好的解析获取文档数据显得尤为重要。文档智能也从以前的目标检测(版面分析)阶段转向多模态预训练阶段,本文将介绍目前一些前沿的多模态预训练模型及相关数据集。

多模要预训练模型导图

在这里插入图片描述

LayoutLM

概述:该模型主要针对文档信息的处理,传统的类Bert模型仅使用文本信息,该模型引入了布局信息(即文本的位置坐标)和视觉信息,并使用MVLM和MDC训练策略进行预训练。

paper:LayoutLM: Pre-training of Text and Layout for Document Image Understanding

link:https://arxiv.org/abs/1912.13318

code:https://github.com/microsoft/unilm/tree/master/layoutlm

模型结构

  • 文本嵌入:Bert backbone
  • 布局嵌入:(1)利用Bert的backbone,增加边界框嵌入( x 0 x_0 x0 y 0 y_0 y0 x 1 x_1 x1 y 1 y_1 y1),其中( x 0 x0 x0 , y 0 y_0 y0)对应于边界框中左上角的位置,( x 1 x_1 x1 , y 1 y_1 y1)表示右下角的位置;(2)[CLS]位置则用整个文本块的边界框坐标;
  • 视觉嵌入(仅在finetune阶段使用):(1)用FasterRCNN提取扫描件的视觉特征,将其与bert的输出融合;(2)利用OCR获取文本和对应布局信息;(3)[CLS]使用Faster R-CNN模型来生成嵌入,使用整个扫描的文档图像作为感兴趣区域(ROI);

预训练任务

  • Masked Visual-Language Model (MVLM):使用bert的MLM任务MASK掉token,但保留对应的布局信息,借助布局信息和上下文信息预测对应token。
  • Multi-label Document Classification (MDC):一个可选策略,旨在对文档进行分类,模型可以对来自不同领域的知识进行聚类,并生成更好的文档级表示

LayoutLMv2

概述:相比于LayoutLM更好的融入了视觉信息,以及视觉、文档和布局信息的对齐,引入空间自注意力编码,提出两种新的损失函数TIA和TIM进行预训练。LayoutLMv1仅在fine-tuning阶段用到视觉特征,pretraining阶段没有视觉特征与文本特征的跨模态交互。Pretraining阶段,提出multi-modal transformer,融合text、layout、visual information;在LayoutLMv1中MVLM基础上,新增text-image alignment与text-image matching两个预训练任务。

paper:LayoutLMv2: Multi-modal Pre-training for Visually-rich Document Understanding

link:https://arxiv.org/abs/2012.14740

code:https://github.com/microsoft/unilm/tree/master/layoutlmv2

模型结构

  • 文本嵌入:Bert backbone

  • 视觉嵌入 :
    V i = P r o j ( V i s T o k E m b ( I ) i ) + P o s E m b 1 D ( i ) + S e g E m b ( [ C ] ) V_i=Proj(VisTokEmb(I)_i)+PosEmb1D(i)+SegEmb([C]) Vi=Proj(VisTokEmb(I)i)+PosEmb1D(i)+SegEmb([C])

    • 视觉特征提取backbone:ResNeXt-FPN
    • 将图片统一缩放到224x224大小,经过backbone后平均池化成固定大小WxH(7x7),再展平得到长度为49的序列,再经过一个线性层映射到与文本嵌入相同的维度;
    • 额外增加一维位置嵌入,与文本一维位置嵌入共享参数
  • 布局嵌入:

    • 除边界框嵌入( x 0 x_0 x0 y 0 y_0 y0 x 1 x_1 x1 y 1 y_1 y1)外,还增加宽w和高h嵌入;

    • 布局嵌入与LayoutLM中四个坐标相加不同,这里拼接六个位置嵌入为一个输入,每个位置嵌入维度为隐层维度/6;
      I i = C o n c a t ( P o s E m b 2 D x ( x m i n , x m a x , w i d t h ) , P o s E m b 2 D y ( y m i n , y m a x , h e i g h t ) ) I_i=Concat(PosEmb2D_x(x_{min},x_{max},width),PosEmb2D_y(y_{min},y_{max},height)) Ii=Concat(PosEmb2Dx(xmin,xmax,width),PosEmb2Dy(ymin,ymax,height))

    • 图像经backbone得到长度为49的序列,将其视为把原图切分成49个块,视觉部分的布局嵌入使用每个块的布局信息;

    • 对于[CLS], [SEP]和[PAD],布局信息使用(0,0,0,0,0,0)表示;

预训练任务
  • Masked Visual-Language Model (MVLM):与LayoutLM相同,为了避免视觉信息泄露,在送入视觉backbone之前,将对应掩码token的视觉区域掩盖掉。
  • Text-Image Alignment (TIA):作用:帮助模型学习图像和边界框坐标之间的空间位置对应关系。(1)随机选择一些文本行,覆盖对应图像区域;(2)在编码器最后一层设置一个分类层,预测是否被覆盖,分类标签为[Convered]、[Not Convered],计算二元交叉熵损失;当同时被mask和cover时,不计算TIA损失,为了防止学习到mask到cover的映射。
  • Text-Image Matching (TIM):将[CLS]处的输出表示输入分类器,以预测图像和文本是否来自同一文档页面。帮助模型学习文档图像和文本内容之间的对应关系。

LayoutLMv3

概述:文本的布局信息使用了片段级别,一段文本共用一组坐标。视觉借鉴了ViT的方法替换CNN,减少了参数以及省去了很多的预处理步骤。使用了两种新的损失MIM和WPA进行预训练。

paper:LayoutLMv3: Pre-training for Document AI with Unified Text and Image Masking

link:https://arxiv.org/abs/2204.08387

code:https://github.com/microsoft/unilm/tree/master/layoutlmv3

模型结构

在这里插入图片描述

  • 文本嵌入:RoBerta backbone
  • 视觉嵌入:与layoutLMv2相同,与之前的单词级别的边界框不同,此处使用了片段级别的嵌入,即:块边界框。
  • 布局嵌入:不再使用CNN网络,采用类似ViT思想的backbone,将图片切分成一个个的patches。

预训练任务

  • Masked Language Modeling (MLM):使用span掩码策略,mask掉30%的文本token,maks的span长度服从泊松分布(λ=3)
  • Masked Image Modeling (MIM):
    • 用分块掩码策略随机掩盖掉40%的图像token,用交叉熵损失驱动其重建被掩盖的图像区域;
    • 图像token的标签来自一个图像tokenizer,通过图像vocab将密集图像的像素转化成离散token,相比于低级高噪声的细节部分,更促进学习高级特征;
  • Word-Patch Alignment (WPA):学习文本单词和图像patches之间的细粒度对齐。WPA的目的是预测文本单词的相应图像补丁是否被屏蔽。具体地说,当对应的图像标记也被取消屏蔽时,为未屏蔽的文本标记分配一个对齐的标签[aligned]。否则,将指定一个未对齐的标签[unaligned]。

LayoutXLM

概述:该模型是LayoutLMv2的多语言版本,这里不再详细赘述。

paper:LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding

link:https://arxiv.org/abs/2104.08836

code:https://github.com/microsoft/unilm/tree/master/layoutxlm

在这里插入图片描述

ERNIE-Layout

概述:通过增强布局知识的预训练模型,以学习更好的表示,结合文本、布局和图像的特征。旨在利用文档布局相关信息,进行文档理解,进一步提高文档信息抽取的性能。

paper:ERNIE-Layout: Layout Knowledge Enhanced Pre-training for Visually-rich Document Understanding

link:https://arxiv.org/abs/2210.06155

code:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/ernie-layout

该模型之前介绍过,详细请移步《文档智能:ERNIE-Layout》

在这里插入图片描述

GeoLayoutLM

概述:GeoLayoutLM通过显式建模几何关系和特殊的预训练任务来提高文本和布局的特征表示。该模型能够提高文档信息抽取的性能。

paper:GeoLayoutLM: Geometric Pre-training for Visual Information Extraction

link:https://arxiv.org/abs/2304.10759

code:https://github.com/AlibabaResearch/AdvancedLiterateMachinery/tree/main/DocumentUnderstanding/GeoLayoutLM

该模型之前介绍过,详细请移步《【文档智能】:GeoLayoutLM:一种用于视觉信息提取(VIE)的多模态预训练模型》

在这里插入图片描述

数据集

总结

本文简单介绍了文档智能领域关于多模态预训练语言模型相关内容及相关数据集,相对于基于目标检测(版面分析)的pipline形式,多模态预训练模型能够一定程度的实现端到端的提取文本内容。但实际应用还需要根据特定的场景进行进一步的研究。

参考文献

【1】https://mp.weixin.qq.com/s/cw5wCpJCYo7Wdi1PtsRgGw

【2】https://mp.weixin.qq.com/s/3l4NvGfy8LaKuj_3HGH5pg

【3】LayoutLM: Pre-training of Text and Layout for Document Image Understanding

【4】LayoutLMv2: Multi-modal Pre-training for Visually-rich Document Understanding

【5】LayoutLMv3: Pre-training for Document AI with Unified Text and Image Masking

【6】LayoutXLM: Multimodal Pre-training for Multilingual Visually-rich Document Understanding

【7】ERNIE-Layout: Layout Knowledge Enhanced Pre-training for Visually-rich Document Understanding

【8】GeoLayoutLM: Geometric Pre-training for Visual Information Extraction

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

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

相关文章

分享项目管理软件排行榜!

无论是大型企业还是小型团队,项目管理是企业不可或缺的一部分。一个好的项目管理软件可以帮助企业有效地规划和实施项目,对于团队成员来说,也可以更好地分配任务、查看进度和提高团队合作能力。面对众多的项目管理软件,如何选择适…

JMM模型与并发三大特性

如何学: 分理解并发的三大特性,JMM工作内存和主内存关系,知道多线程之间如何通信的,掌握volatile能保证可见性和有序性,CAS就可以了 并发和并行 目标都是最大化CPU的使用率 并行(parallel):指在同一时刻&a…

Arcgis对图像重采样、打开查看运行结果的窗口、逐像元提取数值

1、Arcgis对图像重采样 然后打开数据管理工具-栅格-栅格处理-重采样 打开后,此处我们输入数据用导入的影像,X和Y代表重采样的大小为8*8 注意:输出文件需要有文件后缀,否则报错。 采样后,像元就变成了8*8一个像元。 2…

安装gymnasium[box2d]的问题

安装时总会报错 Building wheels for collected packages: box2d-pyBuilding wheel for box2d-py (setup.py) ... errorerror: subprocess-exited-with-error python setup.py bdist_wheel did not run successfully.│ exit code: 1╰─> [16 lines of output]Using setup…

gitlab自编译 源码下载

网上都是怎么用 gitlab,但是实际开发中有需要针对 gitlab 进行二次编译自定义实现功能的想法。 搜索了网上的资料以及在官网的查找,查到了如下 gitlab 使用 ruby 开发。 gitlab 下载包 gitlab/gitlab-ce - Packages packages.gitlab.com gitlab/gitl…

leetcode做题笔记174. 地下城游戏

恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0…

21GA-ELM,遗传算法优化ELM预测,并和优化前后以及真实数值进行对比,确定结果,基于MATLAB平台,程序已经调通,可以直接运行,需要直接拍下。

GA-ELM,遗传算法优化ELM预测,并和优化前后以及真实数值进行对比,确定结果,基于MATLAB平台,程序已经调通,可以直接运行,需要直接拍下。 21matlab时间序列预测极限学习遗传优化算 (xiaohongshu.co…

2023年(2024届)双非保研历程(中南、东南、浙大、信工所、国防科大、北邮)

个人情况 学校层次:双非 专业:信息安全(投的基本都是网安) 排名:2/66 英语:六级565,四级560 竞赛:大英赛国三、美赛H、蓝桥杯省一、数竞省一、词达人省一、数模国赛省三。 论文&…

【LeetCode刷题(数据结构与算法)】:二叉树之左叶子之和

给定二叉树的根节点 root ,返回所有左叶子之和 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 示例 2: 输入: root [1] 输出: 0 这都题目用递归的方法就可以解决…

牛客周赛 Round 15

A、 题目描述 游游拿到了一个正整数,她希望将它切割成两部分,使得它们的和为偶数。游游想知道有多少种合法的切割方案? 注:切割后的正整数允许出现前导零。 输入描述: 一个正整数,大小不超过10^100000 输出描述: 一个整…

参数解析(牛客)

目录 一、题目 二、代码 一、题目 二、代码 #include <iostream> #include <vector> using namespace std;int main() {string s;getline(cin, s);int i 0;vector<string>ret;while (i < s.size()){if (s[i] )//遇到空格直接跳过{i;}else if (s[i] …

[部署网站]01安装宝塔面板搭建WordPress

宝塔面板安装WordPress&#xff08;超详细&#xff09;_Wordpress主题网 参考教程 宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 官网 1.首先你需要一个服务器或者主机 &#xff08;Windows系统或者Linux系统都可以&#xff09; 推荐Linux系统更稳定&#xff0c;…

基于Java的个人健康管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

LeetCode 1095. 山脉数组中查找目标值【数组,二分】1827

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

CEC2013(MATLAB):霸王龙优化算法(Tyrannosaurus optimization)求解CEC2013

一、霸王龙优化算法TROA 霸王龙优化算法&#xff08;Tyrannosaurus optimization&#xff0c;TROA&#xff09;由Venkata Satya Durga Manohar Sahu等人于2023年提出&#xff0c;该算法模拟霸王龙的狩猎行为&#xff0c;具有搜索速度快等优势。 参考文献&#xff1a;Venkata S…

CEC2013(MATLAB):螳螂搜索算法(Mantis Search Algorithm,MSA)求解CEC2013

一、螳螂搜索算法 螳螂搜索算法&#xff08;Mantis Search Algorithm&#xff0c;MSA&#xff09;由Mohamed Abdel-Basset等人于2023年提出&#xff0c;该算法模拟螳螂独特的狩猎和性同类相食行为。MSA由三个优化阶段组成&#xff0c;包括寻找猎物&#xff08;探索&#xff09…

The normalized eigenfunction may not be uniformly bounded

See Article The Uniform Lipschitz Continuity of Eigenvalues of Sturm–Liouville Problems with Respect to the Weighted Function Jing Xu , Zhiwen Liu and Jiangang Qi https://doi.org/10.3390/sym15040911

Android Framework通信:Binder

文章目录 前言一、Linux传统跨进程通信原理二、Android Binder跨进程通信原理1、动态内核可加载模块2、内存映射3、Binder IPC 实现原理 三、Android Binder IPC 通信模型1、Client/Server/ServiceManager/驱动Binder与路由器之间的角色关系 2、Binder通信过程3、Binder通信中的…

Kibana安装、配置

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

如何利用 instructor 提高 RAG 的准确性和召回率

本文首发于博客 LLM 应用开发实践 RAG&#xff08;Retrieval Augmented Generation&#xff09;是一种检索增强生成技术&#xff0c;它利用大型语言模型来处理用户查询&#xff0c;RAG 技术的主要组成包括数据提取—embedding—创建索引—检索—排序&#xff08;Rerank&#xf…