华为诺亚方舟实验室开源ViTLP文档大模型:预训内置OCR、版式识别与文档理解

文摘   2024-11-30 09:57   美国  


ViTLP,一款颠覆性的视觉引导生成式文本-布局预训练模型,由华为诺亚方舟实验室重磅开源!无需OCR引擎,ViTLP直接从图像中学习文本和布局,轻松处理任意长度文档,并生成可解释的视觉定位信息。在OCR和VDU任务中表现卓越,ViTLP开启文档智能新纪元!

文档智能处理之痛,ViTLP的破局之道

数字化转型浪潮下,海量文档数据的自动化处理成为企业和个人提升效率的关键。如何让计算机像人类一样理解和处理各种类型的文档,一直是文档智能领域的核心挑战。传统的文档智能处理流程依赖于光学字符识别(OCR)引擎,如同给文档处理设置了“关卡”:先将文档图像转换为文本信息,再进行下游任务。这类似于将一幅画先描绘成文字,再让其他人根据描述理解画意,过程中难免信息丢失、误差产生。这种方法存在 OCR 错误传播、处理长文档效率低下等问题,制约着文档智能技术的发展。传统的 VDU 方法依赖于预处理的 OCR 文本和对应的二维坐标,而外部 OCR 流水线可能产生错误或不完整的识别结果,且无法通过 VDU 模型进行联合优化,如同建筑地基不稳,上层建筑再宏伟也难以屹立。华为诺亚方舟实验室开源的 ViTLP (Visually guided generative Text-Layout Pre-training) 彻底打破了这一僵局!ViTLP 无需 OCR 引擎,将 OCR 和视觉文档理解(VDU)能力融入统一的生成式预训练框架。这意味着 ViTLP 能够直接从文档图像中学习文本和布局信息,避免 OCR 错误干扰,实现端到端的文档处理,大幅提升效率和性能,并能够生成文本的二维布局位置,用于视觉定位。ViTLP 在各种 VDU 基准测试任务(包括信息提取、文档分类和文档问答)中展现出极具竞争力的性能,引领文档智能进入全新纪元!

ViTLP:技术架构深度剖析

ViTLP 采用编码器-解码器框架(图 2),巧妙地将图像信息转化为文本布局序列。编码器使用 Vision Transformer (ViT) 将文档图像 编码为视觉特征,其中为 ViT 图像块数量,为隐藏维度。解码器是一个因果文本-布局解码器,接收视觉表示和文本-布局输入嵌入,通过 Transformer 交叉注意力机制进行多模态交互,生成多模态表示。ViTLP 的核心在于分层生成模块和多段生成式预训练方案,这两个模块如同 ViTLP 的左膀右臂,使其在复杂文档信息处理中游刃有余。


分层生成模块:全局到局部,精准捕获文本布局

ViTLP 的分层生成模块包含全局文本布局建模和局部布局建模两部分,以全局到局部的层次化方式进行文本和布局生成,兼顾效率和效果,如同一位绘画大师,先勾勒整体轮廓,再细致刻画局部细节。

  • 全局文本布局建模: 将布局坐标 替换为通用布局标记 [LOC],将文本和布局信息交错生成,形成统一的文本-布局序列 。这种方法将布局信息巧妙地融入语言模型,实现高效的多模态信息融合,并显著降低序列长度,提高模型效率。其目标是最大化似然函数 ,可分解为自回归文本和布局建模:
  • 其中, 分别表示第 个词的文本和布局标记。这种方式避免了扁平化序列的低效性,使模型更高效地处理文本和布局信息。
  • 局部布局建模: 从全局布局标记 [LOC] 的隐藏状态 中解码出具体的坐标信息 ,并使用一个轻量级的序列 MLP 布局头捕捉坐标之间的空间关系,提升布局预测的准确性。该模块为每个通用布局标记生成特定的布局位置,其损失函数如下:
  • 其中, 为 [LOC] 标记的索引集合, 表示第 个 [LOC] 标记的第 个坐标。序列 MLP 布局头有效捕捉坐标间的空间依赖关系,提高布局预测精度。

ViTLP 预训练的目标函数是全局文本布局建模和局部布局建模损失函数之和:


多段生成式预训练方案:打破Transformer长度限制,驾驭长文档

Transformer 模型在处理长序列时,计算复杂度呈平方级增长,限制了其在长文档处理中的应用。ViTLP 引入多段生成式预训练方案来解决此问题。该方案将长文本-布局序列分割成多个连续的片段进行生成。起始片段包含个待生成的标记,连续片段包含个前缀标记和个待生成的标记,为预定义的前缀比例(实验中设置为 0.25)。起始片段 添加特殊的模式标记 [BOS],连续片段 添加 [CONT],最后一个片段 添加 [EOS] 表示生成结束。前缀标记来自前一个片段的尾部,如同“记忆片段”,帮助模型理解上下文信息。这种分段生成方式使 ViTLP能够处理任意长度的文档,无需修改 Transformer 架构或引入稀疏注意力等复杂机制,如同分章节阅读长篇小说,更容易理解和记忆。

ViTLP性能评测:OCR与VDU性能双双突破

OCR 性能:原生OCR能力,告别外部依赖

ViTLP 原生支持 OCR 功能,无需依赖外部 OCR 引擎,如同自带“翻译”功能,一步到位。在 SROIE 2019 文本定位和识别任务中(表 2),ViTLP 性能优于大多数现有方法,展现了强大的文本定位和识别能力。与两阶段 OCR 模型相比,ViTLP 单阶段即可完成文本定位和识别,简化流程,提高效率。虽然在 SROIE 数据集上略逊于 TrOCR,但考虑到 TrOCR 使用了 ground-truth 文本区域信息,而 ViTLP 完全自学成才,其性能仍然非常出色。

VDU 性能:信息提取、文档分类、问答,样样精通

ViTLP 不仅能“读懂”文档,还能“理解”文档。在 FUNSD 表单理解、CORD 票据理解和 RVL-CDIP 文档分类任务中(表 3),ViTLP 取得了与最先进模型相当甚至更优的性能。尤其在 RVL-CDIP 文档分类任务中,ViTLP 准确率高达 95.36%,展现了强大的文档理解能力。这表明 ViTLP 不仅可以准确识别文本,还能深入理解文档结构和语义信息,在信息提取、文档分类、问答等任务中表现出色

在文档 VQA 任务中(表 5),ViTLP 表现优异,尤其在 InfographicVQA 数据集上显著优于其他生成式 VDU 模型,这证明了 ViTLP 在处理复杂图表和信息图形等方面具有独特的优势。此外,ViTLP 能够生成带有可解释性视觉定位的答案(图 3),使模型决策过程更透明,更易于理解和信任。

消融实验:模块有效性验证,奠定技术基石

消融实验(表 4)验证了 ViTLP 各个模块的有效性,如同对建筑的各个部分进行测试,确保其稳固性。移除布局建模模块会导致 FUNSD 和 CORD 数据集上的 F1 值分别下降 6.19 和 4.05;移除多段生成式预训练方案也会导致性能下降。这表明 布局建模和多段生成式预训练方案对 ViTLP 的性能提升至关重要,它们是 ViTLP 的两大基石,共同支撑着其卓越的性能。

ViTLP的应用前景:赋能千行百业,开启文档智能新时代

ViTLP 为文档智能领域带来了新的可能性,其应用前景广阔,例如:

  • 票据处理: ViTLP 自动识别和提取票据关键信息(金额、日期、商品名称等),大幅提高处理效率,降低人工成本。
  • 表单理解: ViTLP 自动识别和提取表单字段信息(姓名、地址、联系方式等),并转换为结构化数据,方便后续处理和分析。
  • 文档问答: ViTLP 根据文档内容回答用户问题,并给出可解释的视觉定位,帮助用户快速找到答案,提高问答效率和准确性。
  • 信息提取: ViTLP 从文档中提取关键信息(实体、关系、事件等),为知识图谱构建、文本摘要等下游任务提供高质量的结构化数据。

ViTLP开源项目信息与相关链接

为了推动文档智能领域的发展,华为诺亚方舟实验室已将 ViTLP 开源,并提供了预训练模型、代码、demo 等资源,方便开发者使用和研究。相信 ViTLP 的开源将加速文档智能技术的普及和应用,为各行各业带来更多价值。

ViTLP开源项目信息

  • 项目名称: ViTLP (Visually guided generative Text-Layout Pre-training)
  • 论文地址:https://aclanthology.org/2024.naacl-long.264.pdf
  • 仓库地址: https://github.com/Veason-silverbullet/ViTLP
  • Hugging Face 模型: https://huggingface.co/veason/ViTLP-medium/tree/main
  • 预训练模型: ViTLP-medium (380M)
  • 预训练数据集: IIT-CDIP Test Collection 1.0, SynthDog, PubLayNet, DocBank, SciTSR, IAM
  • 主要功能:
    • OCR 文本定位与识别
    • VDU 下游任务:信息提取、文档分类、文档 VQA
    • 文档合成工具 SynthDog-bbox
  • Demo: 提供了 OCR 的 demo,用户可以上传文档图像进行测试。
  • 微调: 提供了在 OCR 数据集上进行后训练以及在 VQA 数据集上进行微调的代码。

子非AI
子非AI,亦解AI之妙:一站式AI情报站,助你开启智能未来之门。
 最新文章