【OCR多模态大模型paper阅读笔记--3】mPLUG-DocOwl1.5: Unified Structure Learning for OCR-free Document Understandi

来自阿里的文档理解开源大模型,对多模态闭源大模型挑战的一步。

关键点:

  1. 跨数据模态(图、表、pdf等)的统一结构学习;
  2. H-Reducer:用卷积层聚合水平相邻的视觉特征,更好地保持视觉和语言特征对齐过程中的结构和空间信息

3 方法

3.1 模型结构

在这里插入图片描述

高分辨率图像编码

OCR任务用高分辨率更好,利用无参数的形状自适应裁剪模块将形状可变的高分辨率图像I裁剪成多个固定大小的子图像(I1, I2,…,…, IC )
为了保持整体布局信息,原始图像也被调整为低分辨率图像I0。然后,(I0, I1,…)中的每个图像Ii。…, IC ) 独立编码为一系列视觉特征。

H-reducer

Spatial-aware Vision-to-Text Module: H-Reducer
多模态大型语言模型有两种流行的vision-to-text方式:MLP和可学习查询的交叉注意力模块。作者认为这两种方式不能适应于高分辨率的富文本信息的图片。前者在处理高分辨率图像时token太长,后者减少视觉序列的长度到可学习查询的数量,但在语义融合过程中可能会丢失空间信息。
作者设计了H-Reducer,它不仅减少了视觉序列长度,而且保留了空间信息。
由卷积层组成,以减少序列长度,全连接层将视觉特征投影到语言嵌入空间。由于文档图像中的大多数文本信息从左到右排列,因此水平文本信息在语义上通常是连贯的。因此,卷积层中的内核大小和步幅大小设置为 1x4 以集成水平 4 个视觉特征。
卷积可表示为:
在这里插入图片描述
接全连接层后:
在这里插入图片描述

MAM

沿用mPLUG-Owl2做法,在LLM中使用Modality-adaptive Module(MAM)来更好的区分视觉的和文本的输入。
During self-attention, MAM utilizes two sets of linear projection layers to separately perform the key/value projection for visual features and textual features.
为了表征裁剪图像在原图的位置,只需在每个裁剪图像的视觉特征之前添加特殊的文本标记“<rowx_coly>”,其中 x 和 y 分别代表行和列索引。全图的索引为“<global_img>”,避免了引入额外的参数。

LLM解码过程

在这里插入图片描述

3.2 统一结构学习

一般的多模态大模型使用图像-文本对进行学习。使用这些大模型参数初始化只能继承shallow的文本识别能力,但远不具备从各种各样的富文本图像中理解复杂文本以及结构信息的能力。
为了使模型获得这种能力,作者设计了覆盖5个domain的统一结构学习(Unified Structure Learning),包括(natural images, documents, tables, charts, and webpages)。包含结构解析化任务和多粒度文字定位任务(structure-aware parsing tasks and multi-grained text localization tasks)。
构造的数据集:Struct4M:
https://www.modelscope.cn/datasets/iic/DocStruct4M/summary
在这里插入图片描述

在这里插入图片描述

Document Parsing文档解析

Pix2Struct使用基于HTML的condensed HTML DOM树进行网页解析,这种方法不适用于其他格式的文件和网页截图。
在文档或网页中,文本之间的水平和垂直距离形成了主要的布局信息。因此,为了使结构感知解析任务适用于大多数文档和网页,作者在文本序列中添加额外的’\n’和空格来表示不同的线和水平距离,水平距离越大,空格越多。
数据集选择:
CCpdf:多语言PDF数据集,涵盖不同领域,作者主要选取了英文文档。
RVL-CDIP:包含16类行业文件,如“信件”、“电子邮件”和“科学报告”,进一步删除了一些带有翻转和模糊文本的类别
DUE-Benchmark:tables, graphs, lists, and infographics
VisualMRC:网页截图,并对图像进一步做切分处理以匹配标签。

标签的制作:
CCpdf和DUE-Benchmark:使用pdfplumber3来生成以 PDF 页面作为输入的结构感知文本序列。
VisualMRC和RVL-CDIP:通过计算和比较边界框的水平和垂直距离来插入换行和空格。

为了避免过多的空格字符导致文本稀疏,作者进一步将连续空格的最大数量限制为4。

Table Parsing表格解析

遵循Markdown的主要语法,用’|‘和换行符(’\n’)表示表结构。为了表示跨越多行和多列的单元格,在值之前添加了特殊的文本标记’<COLSPAN=x>‘和’<ROWSPAN=y>’
在这里插入图片描述

Chart Parsing图表解析

与文档和表格不同,按阅读顺序组织文本不能代表图表的结构。考虑到图表是表格的可视化形式,将图表解析为表格可以最好地保持图表的数学特征。这要求模型理解图表的结构和x/y轴的对齐方式。此外,为了与Table Parsing任务保持一致,仍然使用了Markdown代码来表示图表的数据。

采用PlotQA[32]、FigureQA[20]、DVQA[19]和ChartQA[29]来支持结构感知的图表解析任务。
这些数据集涵盖了合成数据[20,19]和真实来源数据[32,29]的图表。图表类型包括垂直条形图、水平条形图、线条图、点线条图和饼图。
图表的源数据以JSON[32,20,32]或CSV格式[29]提供,两者都可以方便地转换为Markdown代码。
然而,一些原始值不适合作为解析的标准答案,因为图表上有太多有效数字要表示。因此,为了降低估计数值的难度,使模型更加注重对结构的理解,对所有的数值都保留了4位有效数字。
在这里插入图片描述

Natural Image Parsing自然图像解析

与上述以文本为主导的图像不同,自然图像的语义是自然物与场景文本的结合。作者通过拼接通用描述和OCR文本来构造。
在这里插入图片描述OCR- CC是Conceptual Caption的一个子集[38],它包含了由Microsoft Azure OCR系统检测到的带有场景文本的图像

多粒度文本定位

对于可视化文档理解,结构感知解析任务主要侧重于根据整体结构组织文本,而忽略了特定文本与局部位置之间的对应关系。将文本与图像中的具体位置联系起来是视觉文档的另一种基本结构理解能力。
为了支持文本位置学习,我们设计了两个对称的任务,即多粒度文本grounding和多粒度文本识别。前者预测给定文本的边界框,后者给定边界框后识别框中文本。
四种粒度是:
word:边界框的最小粒度,仅指1个单词。为了确保单词可见并且答案是唯一的,太小的单词(归一化面积< 0.001)和在同一图像中出现多次的单词被排除在候选词之外
phrase:由同一行内的多个相邻单词组成
line:通过垂直距离判断为水平平行的文本
block:多个line组成,2行到总长度的一半不等。

单词级和短语级问答的文本序列要比其他两个短得多。因此,为了更有效地学习定位,每个单词级或短语级样本由最多5个相同图像的问答对组成。对于边界框的表示,将规范化边界框中的每个连续值转换为一个离散的位置标记,范围从0到999。

3.3 多任务微调

通过统一结构学习,模型可以很好地理解各种文档图像的结构,但不能按照用户的指令去做不同类型的任务,例如信息提取。
数据集:DocReason25K
https://www.modelscope.cn/datasets/iic/DocReason25K/summary
在这里插入图片描述
使用的文档带有详细推理解释的指令微调训练集。 DocReason25K中的问题来源于DocVQA, InfographicsVQA, WikiTableQuestions, VisualMRC, ChartQA以及TextVQA。 DocReason25K中的详细推理解释由GPT3.5或GPT4V产生,并通过和人工标注的简单回复进行对比来过滤错误的答案。
与基准数据集中的原始问题相比,DocReason25K中的问题增加了“'Answer the question with detailed explanation”的提示。

3.4 训练模式

在这里插入图片描述
一阶段冻结LLM
二阶段冻结视觉编码器

4 实验

从mPLUG-Owl2[58]初始化的,使用ViT/L-14[12]作为视觉编码器,使用7B大型语言模型和模态自适应模块MAM作为语言解码器。

每张图像根据纵横比和分辨率,被裁剪成9个子图像,固定分辨率为448x448,通过ViT编码为1024的特征,再由H-reducer降维到256。

The model is trained with 12,000 iterations on DocStruct4M, with the learning rate and batch size set as 1e-4 and 1,024. It costs about 128 A100 days. During the Multi-task finetuning, the model is trained for 6,500 iterations with the batch size set as 256 and the learning rate set as 2e-5. This further costs about 24 A100 days.

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值