返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

Alibaba开源UReader:通用免OCR文档理解

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 11:50 |阅读模式 打印 上一主题 下一主题

UReader 的特点

  • 通过统一的指令格式对各种视觉情境语言理解任务进行了联合微调

  • 为了增强视觉文本和语义理解,进一步应用了两个具有相同格式的辅助任务,即文本阅读和关键点生成任务。

  • 在 MLLM 的编码器-解码器架构之前设计了一个形状自适应裁剪模块,以利用冻结的低分辨率视觉编码器来处理高分辨率图像。

  • 构建了一个指令调整数据集,涵盖视觉情境语言理解的 5 个领域:文档、表格、图表、自然图像和网页屏幕截图。

  • 在没有下游微调的情况下,UReader在 10 个视觉情境语言理解任务中的 8 个中实现了最先进的无 OCR 性能。

UReader架构

  • 输入图像,首先由形状自适应裁剪模块(Shape-Adaptive Cropping Module),将文档中不同布局的内容裁剪出来

  • 然后,将裁剪出的子图像同时通过视觉编码器(visual Encoder)和视觉抽象器(visual Abstractor)

  • 最后,为了使大语言模型能够关联多个裁剪的子图像,应用裁剪位置编码模块(crop Postion Encoding)来引入跨子图像的空间信息, 送入LLM中

自适应裁剪模块(Shape-Adaptive Cropping Module)

带有文本的图像具有各种宽高比和多种分辨率,简单地将图像大小调整为MLLM 的原始分辨率会导致文本模糊、扭曲和无法识别。因此,提出了形状自适应裁剪模块。

如何自适应呢?

  • 首先,预先定义各种形状的网格,分别表示网格的行数和列数,网格的最小格子长宽为

  • 要为形状为的图像选择合适的网格,应遵循两个规则:

    为此,采用Iou算法,来获得最佳网格布局

  1. 网格应尽可能保留图像的分辨率

  2. 网格应适合输入图像的长宽比

大语言模型裁剪图像建模

MLLM 主要使用单个图像作为输入进行训练。由于裁剪模块,需要将多个图像的视觉特征输入到语言模型中。大语言模型的一维位置嵌入不能反映每个子图像的空间位置,这对于关联局部图像至关重要。

因此,结合二维裁剪位置编码来帮助语言模型理解裁剪图像之间的空间关系。

具体操作如下:

  • 为所选网格的每个单元分配一个位置索引

  • 通过两个辅助嵌入层获取它们的行嵌入和列嵌入

  • 通过沿着可学习查询的维度进行广播,将嵌入添加到语言空间中每个单元的视觉特征中

  • 然后,将视觉特征重塑为一张图,由此产生的空间感知视觉特征和输入句子的词嵌入在序列维度上连接并发送到大型语言模型。

  • 为了增强语言模型有效建模多个图像的能力,同时保持较低的训练成本,冻结了原始语言模型并采用低秩适应方法进行微调。

微调主要是两个任务:

文本阅读任务

根据图像中的文本和位置信息,按照常见的阅读顺序组织文本:从上到下,从左到右,依次按照指令回答。例如:

  • 从头开始阅读的指令:人类:识别图像中的文本。AI:{所有文本}

  • 继续阅读的指令:人类:这张图片上的文字是{左文本}。继续阅读正文。AI:{正确的文本}

关键点生成任务

为了增强视觉和语言语义理解能力,设计一个辅助的关键点生成任务,该任务要求模型给出关于图像的一些关键点。

收集每个图像的 QA 对,并使用 Vicuna将它们转换为陈述句,这些陈述句最终被视为关于图像的关键点。我们还构建了一组模板来指导这项任务,例如

  • 人类:识别这张图中的一些关键点。AI:{要点}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ