论文阅读——Prophet(cvpr2023)

news2024/12/23 9:34:02

一、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+

实验结果:

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

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

相关文章

python安装redis库

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

关于电路的一些杂项内容补充总结

过载和过流 什么是过载?什么是过流?专业电力知识快来与网上国网交流~ - 知乎 磁珠 最全讲解磁珠_磁珠的用法_大话硬件的博客-CSDN博客 重点 磁珠主要是用来抑制信号线、电源线上的高频的噪声和尖峰干扰。 谐振 什么是谐振?什么是LC谐振电路&a…

2024北京理工大学计算机考研分析

24计算机考研|上岸指南 北京理工大学 计算机学院始建于1958年,是全国最早设立计算机专业的高校之一。2018年4月,计算机学院、软件学院、网络科学与技术研究院合并成立新的计算机学院。学院累计为国家培养各类人才15000余名。计算机科学学科ESI排名进入全…

LeetCode.203移除链表元素(原链表操作、虚拟头结点)

LeetCode.203移除链表元素 1.问题描述2.解题思路3.代码 1.问题描述 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val …

WGCLOUD 中文繁体版本 下载

wgcloud 繁体版下载 下載繁體版安裝包 - WGCLOUD

AJAX技术-04-- 跨域说明

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1 同源策略同源策略介绍规定要求 请求协议://域名:端口号 关于同源策略练习关于同源策略总结 2.JSONPJSONP原理说明关于JSONP优化 3.CORS介绍介绍不允许跨域说明跨域…

基于OGG实现Oracle实时同步MySQL

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

02_MySQL体系结构及数据文件介绍

#课程目标 了解MySQL的体系结构了解MySQL常见的日志文件及作用了解事务的控制语句,提交和回滚能够查看当前数据库的版本和用户了解MySQL数据库如何存放数据能在使用SQL语句创建、删除数据库 #一、MySQL的体系结构 ##1、客户端(连接者) MySQL的客户端可以是某个客户…

【键盘变成了快捷键,怎么办?】

**最便捷的操作:**拔掉键盘有线插头,将键盘驱动进行卸载,重新插上键盘即可 键盘驱动如何卸载: 以win10为例,点击开始菜单栏选择设置 选择左上角系统 选择系统中,点击最下方关于,点击右侧的设备管理器 选…

用户与组管理:如何在服务器系统中管理用户和权限

你是否想过,当你登录到一个服务器系统时,你是如何被识别和授权的?你是否知道,你可以通过创建和管理用户和组来简化和优化你的系统管理工作?你是否想了解一些常用的用户和组管理命令和技巧?如果你的答案是肯…

解决Linux Visual Studio Code显示字体有问题/Liunx下Visual Studio Code更换字体

01、具体问题 在Linux下VsCode控制台与代码区显示异常,如下图所示: 代码显示 终端显示 02、解决方案 下载字体 [rootlocalhost mhzzj]$ cd /usr/share/fonts # 进入目录 [rootlocalhost fonts]$ sudo yum install git # 下载字体 [rootlocalhost fo…

.netcore 获取appsettings

我的开发环境是abpvnext net6.0 。 因为业务需要,从原来老项目net4.5工程里复制了一个报表导出的业务类到net6项目里面,但是他的获取appsettings的代码其实不用想都知道会报错。因为原来framwork时代获取appsettings的方法常见的是 System.Configura…

基础C语言编程题

int i,j; int a[3][3]; for(i0;i<3;i){for(j0;j<3;j){scanf("%d",&a[i][j]);a[i][j]a[i][j]*2;}} 6.功能&#xff1a;把20个随机数存入一个数组&#xff0c;然后输出该数组中的最大值。 int main(){int p[20];int i,max0;for(i0;i<20;i){scanf("…

Promise的总结

Promise的总结 &#xff08;1&#xff09;什么是同步&#xff0c;异步&#xff1f; 同步表示需要前一个任务完成之后&#xff0c;才会执行下一个任务&#xff0c;简而言之&#xff0c;就是上一行代码执行返回结果后&#xff0c;才会执行下一行代码&#xff08;好理解&#xf…

Spring Security 6.1.x 系列(5)—— Servlet 认证体系结构介绍

一、前言 本章主要学习Spring Security中基于Servlet 的认证体系结构&#xff0c;为后续认证执行流程源码分析打好基础。 二、身份认证机制 Spring Security提供个多种认证方式登录系统&#xff0c;包括&#xff1a; Username and Password&#xff1a;使用用户名/密码 方式…

如何给echarts的legend设置不同的样式和位置 legend分组显示

legend分组显示 给每一个图例设置不一样的位置和样式 样式如下 demo代码 option {title: {text: Stacked Line},tooltip: {trigger: axis},// legend写为数组可以给一些给某些组分配一些不一样的样式legend: [{data: [// 使用svg画任意的图形{name:Email,icon: path://"…

【Linux】gcc和g++

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和Linux还有算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 …

Java日志技术

什么是日志 日志技术 概述 日志技术的体系、Logback日志框架的概述 Logback快速入门 Logback设置日志级别

Python教程75:Pandas中DataFrame数据的修改操作

1.DataFrame数据结构的特点包括&#xff1a; 表格型的数据结构&#xff0c;具有行和列。 每一列的标签值允许使用不同的数据类型。 每个数据值都可以被修改。 结构的行数、列数允许增加或者删除。 有两个方向的标签轴&#xff0c;分别是行标签和列标签。 可以对行和列执行算术运…