论文阅读——Prophet(cvpr2023)

一、Framework

这个模型分为两阶段:一是答案启发生成阶段(answer heuristics generation stage),即在一个基于知识的VQA数据集上训练一个普通的VQA模型,产生两种类型的答案启发,答案候选列表和答案例子;二是启发增强提示阶段(heuristics-enhanced prompting stage),即将答案启发、问题、描述融合为一个格式化的提示prompt,引导GPT-3预测答案。

本文的方法采用了PICa这个方法的pipline。PICa方法大致如下:

具体在利用GPT-3的in-context few-shot learning能力时,输入下面这个,C是caption,对一张图片的描述,Q、A分别的问题、答案。

本文的方法使用上面这个框架,但是增加了答案启发,也就是:Context、Question、Candidates、Answer。

where j1, j2, · · · , jK correspond to the actual indices of the elements in Ci

区别:

二、Stage-1. Answer Heuristics Generation

首先介绍VQA模型,有一个数据集D,一个答案词库W,一个VQA模型可以分为两部分,一部分是backbone Mb,一部分是分类头Mh,骨干网络用来将输入的图片和问题融合为一个特征z,分类器一般是简单的线性分类器,得到yi,表示得到得到答案wi的分数。

VQA model M is learned from D to perform an S-way classification over the answers.

where y[i] denotes the i-th element of y, representing the confidence score for answer wi .

1、产生Answer candidates

从VQA得到的答案y里面选出前K个答案

wj and y[j] are an answer candidate and its confidence score。

2、产生Answer-aware examples

test输入(v,q)->z,train输入(vi,qi)->zi,所以作者推测这些融合特征位于一个潜在的答案空间中,该空间包含给定图像-问题对的答案的丰富语义。如果z和zi在潜在空间中接近,他们更有可能共享相似的答案和图像问题输入。意思是,离得近,那么图像和答案应该也相近。所以只要找到和测试的这个图片相近的那些图片,从这里面寻找答案,会比较准确。所以用余弦相似度计算距离:

上面求出的是离得近的那些样本的index,然后从样本里面根据这些index拿出来,就得到Answer-aware examples :

三、Stage-2. Heuristics-enhanced Prompting

生成的prompt是这样的:

同时使用了多查询集成策略,即每个prompt包含N个例子,有T个这样平行的prompts。也就是得到T个答案预测。然后投票决定最终的答案。

四、实验

使用的基础VQA模型是MCAN-large,改了一下:

(i) 用从具有RN50×64骨干的CLIP视觉编码器中提取的基于网格的特征替换原始的自下而上的基于关注区域的特征;(ii)用预训练的BERT大模型代替原始LSTM网络。

在VQAv2、Visual Genome预训练,并去掉和OK-VQA重合的数据,在OK-VQA上微调。合并词汇表。

captioning 模型是OSCAR+

实验结果:

补充一下MCAN:论文阅读——MCAN(cvpr2019)-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ vector迭代器失效

STL中vector迭代器失效常见错误写法示例 最近在看STL容器失效的例子,涉及到vector数组迭代器失效的问题,如果不注意使用,很容易出现问题,我们先来看一下一个简单的示例程序,在数组nums中删除大于50的元素,…

IT行业多项目管理的方法与策略:优化资源分配与提升项目成功率

多项目管理已成为项目经理们面临的常态,IT行业如何高效进行项目管理呢? 多项目管理过程中存在的问题 1、多类型项目并行,项目流程掺杂混乱,项目进度难以监控,反应缓慢,容易产生延误风险。 2、团队资源有…

从0开始学习JavaScript--JavaScript函数返回值

在JavaScript中,函数是一种强大的工具,不仅能够执行一系列操作,还可以返回值。理解函数返回值的概念对于编写清晰、灵活的代码至关重要。本文将深入探讨JavaScript函数返回值的各种方面,包括基本返回值、多返回值、异步函数的返回…

【数据结构实验】查找(二)基于线性探测法的散列表

文章目录 1. 引言2. 实验原理2.1 散列表2.2 线性探测法 3. 实验内容3.1 实验题目(一)输入要求(二)输出要求 3.2 算法实现三、实验设计3.3 代码整合 4. 实验结果 1. 引言 本实验将通过C语言实现基于线性探测法的散列表 2. 实验原理…

STK Components 基础篇

1.开发包 STK Components 访问AGI官网,注册并登录后,从官网下载开发包:https://support.agi.com/downloads/,下载成功后可以申请许可证,AGI会向你注册的邮箱地址发送有效期半年的使用授权许可文件(lic文件…

个人测试用例以及测试金句分享

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 ☁️测试必背金句 界面易用可双安&…

大一统模型 Universal Instance Perception as Object Discovery and Retrieval 论文阅读笔记

Universal Instance Perception as Object Discovery and Retrieval 论文阅读笔记 一、Abstract二、引言三、相关工作实例感知通过类别名进行检索通过语言表达式的检索通过指代标注的检索 统一的视觉模型Unified Learning ParadigmsUnified Model Architectures 四、方法4.1 Pr…

面试常见问题:什么是进程? 什么是线程?进程和线程有什么区别?

1.什么是进程? 进程是操作系统中一个程序在执行过程中的一个实例,每个进程都有自己独立的地址空间,进程间不共享内存。它是程序运行的最小内存单元; 进程特点: 1> 需要占用独立的内存空间; 2>可以并…

5-11一个球从100米自由落下

#include<stdio.h> int main(){double down100;double back down/2;int n;//次数for(n2;n<10;n){downdownback*2;backback/2; }printf("第10次落地经过%f米\n",down);printf("第10次反弹%f米\n",back);return 0;}

cesium轨迹线(图片轨迹线)

cesium轨迹线(图片轨迹线) 下面有源码 实现思路 使用ellipse方法加载圆型,修改polyline中‘material’方法重写glsl来实现当前效果(cesium版本1.109) 示例代码 index.html <!DOCTYPE html> <html lang="en"><head

C语言之指针知识点总结

C语言之指针知识点总结 文章目录 C语言之指针知识点总结1. 初识指针1.1 取地址操作符 &1.2 指针变量1.3 解引用操作符 *1.4 指针变量1.4.1 大小1.4.2 指针类型的意义 1.5 void*指针1.6 const关键字1.61 const修饰变量1.6.2 const修饰指针变量 1.7 指针的运算1.7.1 指针-整数…

定时器/计数器的应用

前言 对近期学习定时器进行简单的记录 参考链接 LED数码管的静态显示与动态显示&#xff08;KeilProteus&#xff09;-CSDN博客 外中断的应用-CSDN博客 【mcuclub】定时器/计数器_定时器/计数器的内部结构和工作方式-CSDN博客 5.图解定时器/计数器 - 知乎 (zhihu.com) 5…