多模态VQA模型-Img2LLM模型

当前VQA模型在零样本情况下表现不佳的原因在于两点:第一是模态断层,图像和文本之间的联合不紧密,存在断层;第二是任务断层,训练文本模型和训练图像模型的要求不同,通常情况下文本模型需要更多的文本数据才能训练到位,两种模型在结构上也有差异(Transformer和CNN)。Img2LLM模型是一个即插即用的模型,不用绑定,可以大大解决训练成本。Img2LLM的主要功能是提供提示信息,使得大语言模型可以无需端到端训练就可以做到零样本学习。Img2LLM算法使用了一种可以根据图像生成问答对的LLM未知模型,这种问答对是有效的LLM提示,该算法已经被LAVIS [1]框架收录。下面详细介绍一下该模型,论文来自CVPR2023:https://arxiv.org/pdf/2212.10846.pdf

方法背景

VQA任务并不好做,最主要的原因在于训练数据是有限的,模型训练需要大量的训练数据,但是训练数据又需要人类标注,人类标注代价任务复杂,工作量大,最主要的是人类的标注是有限的。既然标注是有限的,那就别标了。因此零样本VQA任务逐渐兴起,最好的方式就是依赖多模态技术。不过多模态技术存在着模态断层(modality disconnect)和任务断层(task disconnect)。当前处理这种问题的方法是通过不断的训练模型,尤其是视觉模型的编码器,将视觉特征和文本特征对齐。问题在于,这种方式耗费巨大,而且自从GPT广泛应用以来,LLM模型不断更新换代,通过不断训练模型对其两种特征无暇顾及。

If we need to upgrade the LLM as new versions emerge, the entire model needs to undergo expensive re-training.

Img2LLM是一个即插即用的模块,仅基于问题的当前图像将图像转换为合成问答对。弥合了语言和视觉之间的模态断层,以及语言建模和视觉问答之间的任务断层。该模型可以搭配一些现成的LLM模型实现零样本VQA的需要,最重要的是,插到哪个LLM都可以,不用微调!

问题定义

给定一个问题Q和一个图像,模型根据图像回答问题。Img2LLM的核心在于可以根据当前图像生成合成问答对,就像上下文示例一样。示例不仅演示了QA任务,还将图像的内容传达给LLM以回答问题Q,从而一举两得。Img2LLM是不可知的LLM模型,它释放了离线LLM的知识和推理能力。

Given a question Q and an image, our key insight is that we can generate synthetic question-answer pairs as incontext exemplars from the current image. The exemplars not only demonstrate the QA task but also communicate the content of the image to the LLM for answering the question Q, thereby hitting two birds with one stone. Img2LLM is LLM-agnostic; it unlocks the knowledge and the reasoning capacity of off-the-shelf LLMs, offering a powerful yet flexible solution for zero-shot VQA.

QA对的生成

VQA对的生成经过两步:第一步是生成caption prompt,第二步根据 caption prompt生成QA对。

Caption Prompt

在这里插入图片描述Caption Prompt的生成依赖输入的问题,将图像特征分块(这种方式类似VIT),将问题特征向量和图像特征中的每一块计算cross-attention,采样attention后的计算结果,最后将注意力计算值高的patch拿出来做caption的生成。
交叉注意力的计算,像极了Transformer的多头注意力机制。

For cross-attention head in i-th layer, the cross-attention scores Wi between each image patch and each token in question can be calculated directly as
在这里插入图片描述

为什么要用输入的问题辅助cation的生成?论文中提到,目前的模型单单依赖图像难以生成正确的描述,比如上图中示意的图像如果作为Caption生成模型的输入,可能生成描述和船有关,这与问题毫不搭边,毕竟船在图像中所占比例最大。

InFigure 2, the question “What items are spinning in the background which can be used to control electricity?” is relevant only to the wind turbines. However, captions generated from the whole image are likely to focus on the salient orange boat, leaving LLM with no information to answer the question.

这种由图像转换成caption的方式就是论文的解决的问题之一:实现了模态间的转变,解决了模态断层的问题。

根据 caption prompt生成QA对

在这里插入图片描述
第一步,提取单词。首先寻找可以作为合成问题答案的单词。本文从上一步中的caption里面提取名词短语(包括命名实体)、动词短语、形容词短语、数字和布尔型词。
第二步,利用单词生成问题,这些问题的答案是上一步提取的单词。论文中使用了两种方式生成问题:
固定模板,对于不同词性的单词,准备了一些问题模板,形式如下:
在这里插入图片描述
神经网络生成:这个耗费巨大,微调一个已经预训练好的大模型,模型的输入包含提示“Answer:[Answer].Context:[Context]”,其中[Answer]表示答案文本,[Context]表示来自文本QA数据集的上下文文本,将[Answer]替换为提取的候选答案,将[Context]替换为从中提取答案的生成标题。论文在5种VQA数据集上面做了微调。
从表4中可以看出,使用神经网络的生成方式更好一点。不可知论(从其他图像中随机抽取问题)的效果更差一些。

在这里插入图片描述
从表1中可以看出,加入QA对可以有效提高模型的表现效果。
在这里插入图片描述
QA对制作完成后就输入到现成的LLM中做训练了。LLM模型的输入有三个部分:caption、QA对、问题,这就是模型的整体结构:
在这里插入图片描述

效果展示

论文在附录中展示了一下问题、图像、QA对以及回答结果:
在这里插入图片描述
在这里插入图片描述

可以看到,在caption的生成步骤中,总共生成了3条caption(可能生成了更多的caption,只是没展示),绿色的表示预测结果符合要求,是正确的,红色的预测结果是错误的。

[1] Dongxu Li, Junnan Li, Hung Le, Guangsen Wang, Silvio Savarese, and Steven CH Hoi. Lavis: A library for language vision intelligence. arXiv preprint arXiv:2209.09019, 20.

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值