论文导读 | knowledge-based VQA

news2024/10/6 6:25:22

背景介绍

传统的视觉问答(Visual Question Answering, VQA)基准测试主要集中在简单计数、视觉属性和物体检测等问题上,这些问题不需要超出图像内容的推理或知识。然而,在knowledge-based VQA中,仅靠图像无法回答给定的问题,还需要有效利用外部知识资源。

经典的知识基础VQA数据集包括OK-VQA和A-OKVQA。OK-VQA包含约14K个样本,分为9K/5K用于训练和测试,涵盖以下类别:车辆和交通;品牌、公司和产品;物品、材料和服装;体育和娱乐;烹饪和食品;地理、历史、语言和文化;人和日常生活;植物和动物;科学和技术;天气和气候。每个样本包括一个问题、一个相关图像和5个工作者标注的自由形式正确答案。A-OKVQA是OK-VQA的增强版本,包含24,903个问题,分为17.1K/1.1K/6.7K用于训练、验证和测试。与其他数据集相比,A-OKVQA中的问题不能通过简单查询知识库来回答。对于每个问题,A-OKVQA提供四选一的答案选项、10个工作者标注的自由形式的正确答案以及3个得到正确答案的理由。下图为OK-VQA样本的示例。

图片

现有的knowledge-based VQA方法主要分为四类:利用知识库中显式知识的方法,利用大语言模型(LLM)中隐式知识的方法,知识库和LLM相结合的方法,以及让多模态大模型直接回答的方法。

基于知识库的方法

REVEAL: Retrieval-Augmented Visual-Language Pre-Training with Multi-Source Multimodal Knowledge Memory

REVEAL模型通过将知识编码到大规模存储器中,并从中检索知识来回答VQA问题。其整体工作流程包括四个主要步骤:

Query Embedding部分:将问题-图像对编码为token embedding序列和一个汇总的query embedding。

Memory部分:将来自不同知识库的知识条目编码为键值对,其中key用于索引,使用与query embedding相同的编码器,value包含知识条目的完整信息。在预训练阶段,每1000个训练步骤异步更新整个memory。

Retriever部分:从不同的知识源中检索top-K相似知识条目。为了支持模型端到端训练,从头开始对其中10%检索到的知识条目进行重新编码,将重新编码的知识条目与memory中的知识条目串联,构建出最终的top-K知识条目的键/值对。

Generator部分:将query embedding和检索到的K个value embedding串联起来,使用注意力融合模块将retriever得分作为计算跨知识注意力的先验,最终生成文本输出,实现记忆、编码器、检索器和生成器的端到端联合训练。

图片

REVEAL模型通过soft VQA accuracy metric评估生成的答案,即:

如果数据集中至少有3个标注者的答案与模型生成的答案相同,则该答案被视为100%准确。在比较之前,所有答案均转换成小写,数字转换为阿拉伯数字,并删除标点符号和冠词。在OK-VQA数据集上,该方法的准确率达到了59.1%,而在A-OKVQA数据集上,准确率达到了52.2%。

图片

基于LLM的方法

A Simple Baseline for Knowledge-Based Visual Question Answering

传统的显性知识检索侧重于图像与知识条目之间的语义匹配,但这种方法难以获得隐性的常识性知识,而这些知识可以在LLM中找到。该方法旨在利用LLM中的隐式知识,通过少量的上下文学习实现问题的推理。

具体实现步骤如下:

生成视觉上下文:使用Plug-and-Play VQA (PNPVQA)框架生成问题为导向的图像描述。对于每个图像-问题对生成50个视觉上下文,并根据视觉上下文与图像之间的余弦相似度选出最相似的前m个视觉上下文。

示例选择:计算问题-图像对与所有示例中问题-图像对的相似度,将问题文本相似度与图像相似度进行平均,取相似度最高的n个样本作为示例。

构建Prompt:将提示头、n个相似度最高的示例(包含视觉上下文、问题和对应的答案)和VQA输入(包含视觉上下文和问题)连接起来,作为输入LLM的prompt。

多查询集合:给定一个VQA问题,使用k*n个示例,生成k个prompt输入LLM,从而获得k个答案,从中选出出现次数最多的答案作为最终答案。

图片

在OK-VQA数据集上,该方法的准确率达到了61.2%,而在A-OKVQA数据集上,验证集准确率达到了58.6%,测试集准确率则达到了57.5%。

图片

知识库和LLM相结合的方法

REVIVE: Regional Visual Representation Matters in Knowledge-Based Visual Question Answering

该方法利用图像的区域特征进行知识库中显式知识和LLM中隐式知识的检索,并根据区域特征和检索到的知识生成最终答案。

具体包含下面几个部分:

区域特征抽取模块:模型使用文本提示“检测:人、自行车、汽车……、牙刷”等MSCOCO数据集中所有对象类别,进行图像的目标检测,生成区域提案。在预先构建的标签集中,选择与区域特征相似度最高的标签作为区域标签。此外,模型引入了位置信息,并通过Captioner描述主要对象之间的关系,提供更多上下文。

以对象为中心的知识检索模块

  • 显式区域知识:基于Wikidata构建外部知识库Q,每个条目由实体和相应的描述组成,格式化为“{entity} is a {description}”,并检索与所有区域提案最相关的K个条目,作为显式知识。

  • 带有区域描述的隐式知识:使用prompt“context: {caption}+{tags}. question: {question}”并利用GPT-3生成多个候选答案,再用prompt“{question} {answer candidate}. This is because”获取每个候选答案的解释。

Encoder-Decoder模块

  • 知识Encoder:对于检索到的显式知识,格式化输入为“entity: {entity} description: {description}”,对于隐式知识,格式化为“candidate: {answer} evidence: {explanation}”然后进行编码。

  • 区域视觉Encoder:根据区域提案的视觉embedding和位置参数计算区域特征。

  • 问题Encoder:将VQA问题格式化为“context: {caption}+{tags}. question: {question}”,并进行编码。

  • 将编码后的知识、区域特征和VQA问题串联起来进行解码,生成最终答案。

图片

在实验中,该工作训练了三个不同初始化种子的模型,从这些模型生成的结果中选择频率最高的结果作为每个样本的最终答案预测值,并使用soft VQA accuracy metric评估生成的答案。下图展示了该方法在OK-VQA数据集上的表现,准确率达到了58%.

图片

Knowledge Condensation and Reasoning for Knowledge-based VQA

传统模型直接使用检索到的知识段落生成答案,尽管有效,但这些段落包含很多无关信息和干扰信息。为了提升回答准确性,该方法通过知识浓缩模型将冗长的知识段落浓缩成精炼的知识概念和知识精华,将知识概念和知识精华以及其他隐含知识整合到知识推理模型中,以预测最终答案。

该模型主要由知识检索、知识浓缩模型和知识推理模型组成。

知识检索:利用Google Search Corpus(GSP)作为OK-VQA的外部知识库,Wikidata作为A-OKVQA的外部知识库。将图像转化为由描述、对象、属性和OCR组成的原始文本,并采用DPR作为知识检索器,从知识库中索引出Top-K相关的知识段落。

知识浓缩模型:知识浓缩模型包括VLM和LLM部分。

  • VLM部分:给定图像、问题和知识段落,以问题答案为标准,训练模型生成知识段落对应的具体知识概念(通常为一两个词)。

  • LLM部分:使用captioner获取样本中每张图片的视觉上下文,以图像的视觉上下文,问题文本和知识段落作为prompt,生成每个知识段落对应的的知识精华(通常为一句话),并预测问题的答案。

图片

知识推理模型:结合根据图像生成的视觉上下文、问题文本、知识概念、知识精华和内隐知识(已有的VQA模型MCAN的输出),尝试两种方法推理出最终答案:

  • 串联知识:将视觉上下文、问题文本、知识概念、知识精华和内隐知识串联成一个句子,编码-解码生成最终答案。

  • 串联embedding:将视觉上下文、问题和不同类型的知识分别串联成句子,将编码得到的embedding合并起来,解码生成最终答案。

图片

该模型使用soft VQA accuracy metric评估生成的答案,评估过程中,发现知识推理模型以T5-XL作为backbone,使用串联知识的方法表现最佳。在OK-VQA数据集上,该方法达到了65.1%的准确率,而在A-OKVQA数据集上则达到了60.1%的准确率。

图片

多模态大模型

A Comprehensive Evaluation of GPT-4V on Knowledge-Intensive Visual Question Answering

这篇工作评估了多模态大模型GPT4-V在基于知识的视觉问答(Knowledge-based VQA)中的表现。该工作通过判断生成的答案与参考答案集中的任一答案是否完全匹配来评估回答的准确率。

下图展示了GPT4-V在OK-VQA测试集的一个子集上评估时的prompt设计及其表现,准确率可达到64.28%。

图片

图片

下图展示了GPT4-V在A-OKVQA验证集上评估时的prompt设计和模型表现,答案准确率可以达到74.67%。

图片

图片

参考文献

[1] Marino, K., Rastegari, M., Farhadi, A., & Mottaghi, R. (2019). Ok-vqa: A visual question answering benchmark requiring external knowledge. In Proceedings of the IEEE/cvf conference on computer vision and pattern recognition (pp. 3195-3204).

[2] Schwenk, D., Khandelwal, A., Clark, C., Marino, K., & Mottaghi, R. (2022, October). A-okvqa: A benchmark for visual question answering using world knowledge. In European Conference on Computer Vision (pp. 146-162). Cham: Springer Nature Switzerland.

[3] Hu, Z., Iscen, A., Sun, C., Wang, Z., Chang, K. W., Sun, Y., ... & Fathi, A. (2023). Reveal: Retrieval-augmented visual-language pre-training with multi-source multimodal knowledge memory. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (pp. 23369-23379).

[4] ALEXANDROS XENOS, Themos Stafylakis, Ioannis Patras, & Georgios Tzimiropoulos (2023). A Simple Baseline for Knowledge-Based Visual Question Answering. In The 2023 Conference on Empirical Methods in Natural Language Processing.

[5] Lin, Y., Xie, Y., Chen, D., Xu, Y., Zhu, C., & Yuan, L. (2022). Revive: Regional visual representation matters in knowledge-based visual question answering. Advances in Neural Information Processing Systems, 35, 10560-10571.

[6] Hao, D., Jia, J., Guo, L., Wang, Q., Yang, T., Li, Y., ... & Liu, J. (2024). Knowledge Condensation and Reasoning for Knowledge-based VQA. arXiv preprint arXiv:2403.10037.

[7] Li, Y., Wang, L., Hu, B., Chen, X., Zhong, W., Lyu, C., & Zhang, M. (2023). A comprehensive evaluation of gpt-4v on knowledge-intensive visual question answering. arXiv preprint arXiv:2311.07536.

图片

图片

欢迎关注北京大学王选计算机研究所数据管理实验室微信公众号“图谱学苑“

实验室官网:https://mod.wict.pku.edu.cn/
微信社区群:请回复“社区”获取

实验室开源产品图数据库gStore:
gStore官网:https://www.gstore.cn/
GitHub:https://github.com/pkumod/gStore
Gitee:https://gitee.com/PKUMOD/gStore

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1895492.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DA-LSTM多输入分类|蜻蜓算法-长短期神经网络|Matlab

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、算法介绍: 四、完整程序下载: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平台编译&am…

大疆2025校招内推

需要内推码的请留言哦 期待你的加入

哪个麦克风唱歌效果好,哪个麦克风好,无线麦克风十大排名分享

​在数字化时代的背景下,声音的传播与记录变得日益重要。无论是会议室、教室还是户外场所,无线领夹麦克风凭借其便携性和稳定的连接性能,成为人们沟通表达的首选工具。面对众多选择,我为你精选了几款性能卓越且性价比高的无线领夹…

DVWA sql手注学习(巨详细不含sqlmap)

这篇文章主要记录学习sql注入的过程中遇到的问题已经一点学习感悟,过程图片会比较多,比较基础和详细,不存在看不懂哪一步的过程 文章目录 靶场介绍SQL注入 lowSQL注入 MediumSQL注入 HighSQL注入 Impossible 靶场介绍 DVWA(Damn…

巴图自动化Modbus协议转Profinet协议网关模块连智能仪表与PLC通讯

一、现场要求:PLC作为控制器,仪表设备作为执行设备。执行设备可以实时响应PLC传送的指令,并将数据反馈给PLC,从而实现PLC对仪表设备的控制和监控,实现对生产过程的精确控制。 二、解决方案:通过巴图自动化Modbus协议转Profinet协议…

C++ 智能指针内存泄漏问题

shared_ptr相互嵌套导致循环引用 代码示例 #include <iostream> #include <memory> using namespace std;class B;class A { public:std::shared_ptr<B> b_ptr;~A() { std::cout << "A destroyed\n"; } };class B { public:std::shared_pt…

明星代言6个提升企业形象的杀手锏-华媒舍

在当今竞争激烈的商业世界中&#xff0c;企业形象的塑造对于品牌的发展至关重要。而明星代言作为一种常见的营销手段&#xff0c;被广泛使用来提升企业形象和产品销售。本文将介绍明星代言的六个杀手锏&#xff0c;帮助您了解如何通过明星代言来提升企业形象。 1. 拥有广泛的影…

PCB设计时,信号走线要先过ESD/TVS管,这是为什么?

目录 为什么有上面这个问题&#xff1f; 问题的原因——走线电感 走线电感的阻抗 电感的影响 小结 都说接口处的信号要先过ESD/TVS管&#xff0c;然后拉到被保护器件&#xff0c;为什么不这样做效果就不好&#xff1f;那如果受板子实际情况限制&#xff0c;必须这样layout…

专题二:Spring源码编译

目录 下载源码 配置Gradle 配置环境变量 配置setting文件 配置Spring源码 配置文件调整 问题解决 完整配置 gradel.properties build.gradle settiings.gradel 在专题一&#xff1a; Spring生态初探中我们从整体模块对Spring有个整体的印象&#xff0c;现在正式从最…

经典卷积神经网络 LeNet

一、实例图片 #我们传入的是28*28&#xff0c;所以加了padding net nn.Sequential(nn.Conv2d(1, 6, kernel_size5, padding2), nn.Sigmoid(),nn.AvgPool2d(kernel_size2, stride2),nn.Conv2d(6, 16, kernel_size5), nn.Sigmoid(),nn.AvgPool2d(kernel_size2, stride2),nn.Flat…

Android EditText的属性与用法

EditText 是编辑框控件&#xff0c;可以接收用户输入&#xff0c;并在程序中对用户输入进行处理。EditText在App里随处可见&#xff0c;在进行搜索、聊天、拨号等需要输入信息的场合&#xff0c;都可以使用 EditText。 图1 编辑框示意图 EditText 是TextView的子类&#xff0c…

吴恩达深度学习笔记:机器学习策略(2)(ML Strategy (2)) 2.5-2.6

目录 第三门课 结构化机器学习项目&#xff08;Structuring Machine Learning Projects&#xff09;第二周&#xff1a;机器学习策略&#xff08;2&#xff09;(ML Strategy (2))2.5 数据分布不匹配时的偏差与方差的分析&#xff08;Bias and Variance with mismatched data di…

下载安装MySQL

1.软件的下载 打开官网下载mysql-installer-community-8.0.37.0.msi 2.软件的安装 mysql下载完成后&#xff0c;找到下载文件&#xff0c;双击安装 3.配置环境变量 4.自带客户端登录与退出

CSS filter(滤镜)属性,并实现页面置灰效果

目录 一、filter&#xff08;滤镜&#xff09;属性 二、准备工作 三、常用的filter属性值 1、blur(px) 2、brightness(%) 3、contrast(%) 4、grayscale(%) 5、opacity(%) 6、saturate(%) 7、sepia(%) 8、invert(%) 9、hue-rotate(deg) 10、drop-shadow(h-shadow v…

前端JS 插件实现下载【js-tool-big-box,下载大文件(fetch请求 + 下载功能版)

上一节&#xff0c;我们添加了下载大文件的纯功能版&#xff0c;意思就是需要开发者&#xff0c;在自己项目里发送请求&#xff0c;请求成功后&#xff0c;获取文件流的blob数据&#xff0c;然后 js-tool-big-box 帮助下载。 但考虑到&#xff0c;有些项目&#xff0c;可能比较…

装饰模式解析:基本概念和实例教程

目录 装饰模式装饰模式结构装饰模式应用场景装饰模式优缺点练手题目题目描述输入描述输出描述题解 装饰模式 装饰模式&#xff0c;又称装饰者模式、装饰器模式&#xff0c;是一种结构型设计模式&#xff0c;允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行…

面试篇-Redis-1缓存三兄弟+数据一致性

文章目录 前言一、你们项目中使用Redis都做了什么&#xff1a;二、使用过程中遇到缓存穿透&#xff0c;缓存击穿&#xff0c;缓存雪崩你们如何处理&#xff1a;2.1 缓存穿透&#xff1a;2.1.1 通过缓存key值为null 进行处理&#xff1a;2.1.2 使用布隆过滤器&#xff1a;2.1.3 …

OpenCV基础(2)

目录 滤波处理 均值滤波 基本原理 函数用法 程序示例 高斯滤波 基本原理 函数用法 程序示例 中值滤波 基本原理 函数用法 程序示例 形态学 腐蚀 膨胀 通用形态学函数 前言&#xff1a;本部分是上一篇文章的延续&#xff0c;前面部分请查看&#xff1a;OpenCV…

深入理解如何撤销 Git 中不想提交的文件

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

图增强LLM + 可穿戴设备实时数据,生成个性化健康见解

图增强LLM 可穿戴设备实时数据&#xff0c;生成个性化健康见解 提出背景图增强LLM 子解法1&#xff08;使用层次图模型&#xff09; 子解法2&#xff08;动态数据整合&#xff09; 子解法3&#xff08;LLM引导评估&#xff09; 提出背景 论文&#xff1a;https://arxiv.or…