DOCLLM: A LAYOUT-AWARE GENERATIVE LANGUAGE MODEL FOR MULTIMODAL DOCUMENT UNDERSTANDING

828 篇文章

已下架不支持订阅

本文提出DocLLM,这是一种轻量级的大型语言模型扩展,用于理解视觉文档,同时考虑文本语义和空间布局。DocLLM通过分解注意力机制并专注于边界框信息,有效地处理不规则布局和异构内容,无需昂贵的图像编码器。经过预训练和微调,DocLLM在多个文档智能任务中表现出优越性能。

本文是LLM系列文章,针对《DOCLLM: A LAYOUT-AWARE GENERATIVE LANGUAGE MODEL
FOR MULTIMODAL DOCUMENT UNDERSTANDING》的翻译。

DOCLLM:一种用于多模态文档理解的布局软件生成语言模型

摘要

企业文档,如表单、发票、收据、报告、合同和其他类似记录,通常在文本和空间模式的交叉点上具有丰富的语义。它们复杂的布局所提供的视觉线索在有效理解这些文档方面发挥着至关重要的作用。在本文中,我们提出了DocLLM,这是对传统大型语言模型(LLM)的轻量级扩展,用于在视觉文档上进行推理,同时考虑了文本语义和空间布局。我们的模型与现有的多模态LLM的不同之处在于避免了昂贵的图像编码器,并专门关注边界框信息以结合空间布局结构。具体来说,通过将经典Transformer中的注意力机制分解为一组解纠缠矩阵,可以捕捉文本和空间模态之间的交叉对齐。此外,我们设计了一个预训练目标,学习填充文本片段。这种方法使我们能够解决视觉文档中经常遇到的不规则布局和异构内容。预训练的模型使用大规模指令数据集进行微调,涵盖四个核心文档智能任务。我们证明,在所有任务中,我们的解决方案在16个数据集中的14个数据集上都优于最先进的LLM,并很好地推广到5个以前未见过的数据集中的4个。

1 引言

2 相关工作

3 DocLLM框架

4 实验

5 消融实验

6 讨论与发现

7 结论

在本文中,我们介绍了DocLLM,这是对传统大型语言模型的轻量级扩展,专门针对布局丰富的文档进行生成推理。与现有的多模态LLM不同,DocLLM战略

已下架不支持订阅

OTTER(Open-Tuned Transformer for Embodied Representation)是一种视觉-语言-动作(Vision-Language-Action)模型,其设计目标是实现多模态感知与决策能力,适用于具身智能任务,如机器人导航、交互式视觉问答等。该模型通过结合视觉、语言和动作模态,能够理解复杂的环境并生成相应的动作指令或响应。 ### OTTER 模型架构 OTTER 的整体架构基于多模态Transformer框架,包含以下几个关键组件: 1. **视觉编码器**:通常采用预训练的卷积神经网络(CNN)或Vision Transformer(ViT)来提取视觉特征。这些特征可以捕捉场景中的物体、空间布局等信息。 2. **文本编码器**:使用预训练的语言模型(如BERT、RoBERTa)对输入文本进行编码,生成文本嵌入。这些嵌入能够表示文本的语义信息。 3. **多模态融合模块**:这是OTTER的核心部分,负责将视觉特征和文本特征进行跨模态融合。通常采用Transformer的自注意力和交叉注意力机制,使得模型能够动态地关注与当前任务相关的视觉和语言信息。 4. **动作解码器**:根据融合后的多模态特征,生成动作指令。该模块通常是一个序列到序列的架构,能够预测一系列动作,例如在导航任务中生成移动方向或交互动作。 ### 文本感知的视觉特征提取机制 OTTER 的文本感知视觉特征提取机制依赖于跨模态注意力机制。具体来说,模型通过以下步骤实现这一机制: - **视觉特征提取**:输入图像通过视觉编码器生成局部和全局视觉特征。局部特征通常来自图像的不同区域,而全局特征则捕捉整个图像的上下文信息。 - **文本特征提取**:输入文本通过文本编码器生成上下文化文本嵌入。这些嵌入能够表示文本的语义和上下文信息。 - **跨模态注意力**:在多模态融合模块中,文本特征作为查询(Query),而视觉特征作为键(Key)和值(Value),通过交叉注意力机制,文本特征能够动态地关注与当前任务相关的视觉区域。这种机制允许模型根据文本描述选择性地聚焦于图像中的关键部分,从而实现文本感知的视觉特征提取[^1]。 ### 示例代码 以下是一个简化的OTTER模型架构示例代码,展示了如何实现跨模态注意力机制: ```python import torch import torch.nn as nn from transformers import BertModel class OTTERModel(nn.Module): def __init__(self, vision_model, text_model, hidden_size=768): super(OTTERModel, self).__init__() self.vision_model = vision_model self.text_model = text_model self.cross_attention = nn.MultiheadAttention(hidden_size, 8) self.action_decoder = nn.Linear(hidden_size, 4) # 假设动作空间为4个可能动作 def forward(self, images, texts, text_attention_mask): # 提取视觉特征 vision_features = self.vision_model(images).last_hidden_state # 假设输出为序列特征 # 提取文本特征 text_features = self.text_model(texts, attention_mask=text_attention_mask).last_hidden_state # 跨模态注意力 attended_vision, _ = self.cross_attention( text_features.transpose(0, 1), # Query: 文本特征 vision_features.transpose(0, 1), # Key: 视觉特征 vision_features.transpose(0, 1) # Value: 视觉特征 ) attended_vision = attended_vision.transpose(0, 1) # 动作解码 actions = self.action_decoder(attended_vision.mean(dim=1)) # 取平均池化后的特征 return actions ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值