VCTP论文精读

news2024/9/20 23:04:14

机器视觉推理自从引入神经符号机制以来取得了巨大进步,这使得机器能够发展出多步骤的推理链。然而,正如早期认知科学家所预示的那样,这种逻辑和符号系统基本上不适合于现实世界、常识知识的表示和推理,因为它们仅依赖于封闭世界的逻辑规则和硬约束。
在人工智能和知识表示领域,封闭世界假设(Closed World Assumption, CWA)是一种逻辑假设,它认为除了明确定义为真的事实外,其他所有事实都被假定为假。这与开放世界假设(Open World Assumption, OWA)相对立,后者认为如果某件事没有被明确证明为真或假,那么它的状态是未知的。
知识型视觉推理要求模型解释图像内容,回忆开放世界知识的相关内容,并执行逐步的逻辑推理以得出答案。
它要求在推理链中交互式地整合视觉上下文、外部知识和自然语言问题。如图1所示,要回答“这个房间叫什么名字?”这个问题,人类首先需要看到房间并提取诸如“框架”、“沙发”和“灯”等视觉概念。然后我们关注与问题语义相关的关键视觉概念,并思考“这是一张咖啡桌”和“有一个带有棕色靠垫的长沙发”以得出答案“客厅”。最后但同样重要的是,人类最终会通过回顾视觉上下文并得出结论“沙发和咖啡桌通常位于客厅”来确认答案是正确的。视觉到语言和语言到视觉的互动可以反复执行,直到我们得出一个令人满意的答案。

文章的研究背景
研究背景
• 视觉感知与语言推理的分离:以往的工作通常将视觉感知和基于语言的推理视为两个独立的模块,没有在整个推理过程中同时关注这两个模块。
• 缺乏逐步推理链:现有方法没有生成类似人类推理过程的逐步推理链,导致模型像一个“黑箱”,难以理解其决策过程。
• 计算成本高昂:一些方法通过对大型视觉-语言数据集进行微调(fine-tuning)来训练模型,这既计算密集又耗时。
• 透明度和可信度问题:由于推理过程不透明,难以验证预测答案的正确性,也难以提供支持每个推理步骤的理由。
• 与外部知识结合的挑战:知识型视觉推理要求模型不仅要理解图像内容,还要能够回忆开放世界知识,并执行逐步逻辑推理以得出答案,这增加了推理的复杂性。
• 性能问题:传统的视觉问答和推理方法在结合视觉上下文、外部知识和自然语言问题时面临性能上的挑战。

下面正式介绍这个框架。该框架用于基于知识的可视化推理,可以理解查询问题,关注图像中的关键视觉概念,检索支持证据,并最终以逐步的方式得出答案。VCTP由三个模块组成:see、think和confirm,以迭代方式运行这些模块。如图2所示。
在这里插入图片描述
• See 模块:该模块使用场景解析器(如 Faster-RCNN)检测图像中的所有候选对象(概念),并生成全局描述。主要目的是从图像中提取视觉概念并将其表示为类别标签。
• Think 模块:这个模块由三个步骤组成:Attend(关注)、Describe(描述)和 Predict(预测)。首先,使用提示方法帮助大语言模型(LLM)关注与问题语义相关的关键视觉概念。然后,使用图像描述生成器为这些概念生成区域描述。最后,基于这些视觉上下文和之前的推理结果预测问题的答案。
• Confirm 模块:该模块旨在生成与答案预测一致的支持理由,并验证预测的正确性。它通过要求LLM在预测答案后生成支持理由,并使用跨模态分类器验证这些理由是否与视觉输入一致。
• 迭代推理:VCTP框架通过多次迭代“Think-Confirm”步骤,确保最终生成的答案与视觉和语言信息之间的一致性。每次迭代会将验证通过的理由加入到提示上下文中,直到连续两次迭代的答案一致。
• 优势:
• 效果性:在知识基础的视觉推理数据集上的表现优于其他基准模型,尤其是对比少样本学习基线。
• 透明性和可解释性:VCTP能提供每个推理步骤的理由,使整个推理过程更具透明性。
• 计算效率:相比其他需要大量微调的模型,VCTP更具计算效率。
• 实验验证:在多个知识基础的视觉推理数据集上进行实验,验证了VCTP的性能优势和推理过程的透明度。

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

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

相关文章

一个人独立开发前后端,终于有属于自己的一套产品

大家好,我是兔兔答题的开发者。兔兔答题是一款简单、易用的答题考试系统,可应用于微信考试、付费考试、社会调查问卷、明星知识问答、员工培训考核、模拟自测、企业面试、试题库等多种场景。兔兔答题会根据不同的场景,开发不同的模版。例如驾…

[Algorithm][综合训练][循环汉诺塔][kotori和素因子][dd爱科学]详细讲解

目录 1.循环汉诺塔1.题目链接2.算法原理详解 && 代码实现 2.kotori和素因子1.题目链接2.算法原理详解 && 代码实现 3.dd爱科学1.题目链接2.算法原理详解 && 代码实现 1.循环汉诺塔 1.题目链接 循环汉诺塔 2.算法原理详解 && 代码实现 解法&a…

虚幻5|C++第三人称射击(1)添加摄像机

一.在C类创建一个一个角色类蓝图,命名为BasePlayer 1.得到cpp和h文件 2.打开BasePlayer.h,定义摄像机内容 编译以下代码,定义摄像机和摄像机组件 private: //定义摄像机 UPROPERTY(VisibleAnywhere,BlueprintReadOnly,Category"…

【数学分析笔记】第2章第4节收敛准则(7)

2. 数列极限 2.4 收敛准则 2.4.8 实数系的基本定理 确界存在定理(实数系的连续性)单调有界数列收敛定理闭区间套定理Bolzanp-Weierstrass(波尔查诺-魏尔斯特拉斯)定理Cauchy(柯西)收敛原理&a…

前端与后端的身份认证

这里写目录标题 前端与后端的身份认证Web开发模式服务端渲染的Web开发模式前后端分离的Web开发模式根据场景选择开发模式 身份认证为什么需要身份认证不同开发模式下的身份认证 Session认证机制HTTP协议下的无状态性如何突破HTTP无状态的限制CookieCookie的几大特性&#xff1a…

代码随想录 刷题记录-23 单调栈

题目对“下一个更高”或者“下一个更低”有要求,可以考虑单调栈 (也可以考虑双指针,双指针往往能够把时间复杂度的指数减一) 1.739. 每日温度 思路 首先想到的当然是暴力解法,两层for循环,把至少需要等…

豆包MarsCode编程助手:让编程更简单

在编程的浩瀚宇宙中,每一个开发者都在寻找那把能够开启高效与创意之门的钥匙。随着AI技术的飞速发展,智能编程助手应运而生,为开发者们带来了前所未有的便捷与灵感。今天,我们将以五子棋小游戏开发为例,深入解读豆包Ma…

从文本坐标数据转换为矢量(点线面)

从坐标数据转换为空间几何(点线面) 介绍 只要文件中包含空间数据(如经纬度信息),转换为点、线或面要素。我们将使用内置的 excel Reader 参数、VertexCreator 转换器将坐标转换为点要素。我们还将使用 VertexCreator 转换器和 LineBuilder 转换器和AreaBuilder转换为线和…

第七讲 开发环境的搭建

1 首先是mdk5 的安装破解 然后就是 安装 f103 的 库。 然后是破解 : 2 然后是 进行编译测试。 随便打开一个工程 开始编译 3 然后是 ch340 的驱动的安装 目前就是安装完毕

校招简历生成器智能体:重塑求职新体验

校招简历生成器智能体:重塑求职新体验 在数字化时代,人工智能正以前所未有的速度改变着我们的生活与工作方式。百度文心智能体平台,作为AI技术应用的典范,正引领着智能服务的新潮流。今天,我们将聚焦于该平台上的一个…

黑马-Cloud21版-面试篇13:Sentinel源码分析

Sentinel源码分析 1.Sentinel的基本概念 Sentinel实现限流、隔离、降级、熔断等功能,本质要做的就是两件事情: 统计数据:统计某个资源的访问数据(QPS、RT等信息)规则判断:判断限流规则、隔离规则、降级规…

SprinBoot+Vue社团管理系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质…

「C++系列」重载运算符/重载函数

文章目录 一、重载运算符1. 运算符重载的规则2. 示例:重载加法运算符3. 注意事项 二、可重载运算符/不可重载运算符1. 可重载的运算符2. 不可重载的运算符3. 注意事项 三、重载函数1. 函数重载的基本规则2. 示例3. 注意事项 四、相关链接 一、重载运算符 在C中&…

[创业之路-145] :做项目做产品,50米/100米短跑与马拉松长跑,跑法不同,几人的小分队作战与兵团战役,打法不同

目录 一、做项目做产品类同于跑步,50米/100米短跑与马拉松长跑,跑法不同 1. 50米/100米短跑与项目/产品短周期开发的类比 2. 马拉松长跑与长期项目/产品开发的类比 3. 跑法不同的核心差异 二、做项目做产品类同于打仗,几人的小分队作战与…

MySQL-基础篇-事务(事务简介、事务操作、事务的四大特性、并发事务引发的问题、事务的隔离级别)

文章目录 1. 事务简介2. 事务操作2.1 未控制事务2.2 控制事务2.2.1 查看事务的提交方式2.2.2 设置事务的提交方式2.2.3 提交事务2.2.4 回滚事务2.2.5 开启事务2.2.6 完善转账案例 3. 事务的四大特性(ACID)4. 并发事务引发的问题5. 事务隔离级别5.1 演示5…

Golang | Leetcode Golang题解之第387题字符串中的第一个唯一字符

题目: 题解: type pair struct {ch bytepos int }func firstUniqChar(s string) int {n : len(s)pos : [26]int{}for i : range pos[:] {pos[i] n}q : []pair{}for i : range s {ch : s[i] - aif pos[ch] n {pos[ch] iq append(q, pair{ch, i})} e…

TensorRT模型量化实践

文章目录 量化基本概念量化的方法方式1:trtexec(PTQ的一种)方式2:PTQ2.1 python onnx转trt2.2 polygraphy工具:应该是对2.1量化过程的封装 方式3:QAT(追求精度时推荐) 使用TensorRT量化实践(C版&#xff09…

算法训练营——day2数组部分例题

1 移除元素-力扣27&#xff08;简单&#xff09; 1.1 题目&#xff1a; 移除元素1 1.2 思路及解法 只能覆盖&#xff0c;不能删除 暴力遍历解法 class Solution {public int removeElement(int[] nums, int val) {int sizenums.length;for(int i0;i<size;i){if(nums[i]va…

鸿蒙状态管理

我们开发中构建的页面多为静态页面。如果希望构建一个动态的,有交互的界面,就需要引入‘状态’的概念 用户构建了一个UI模型,其中应用的运行时的状态是参数,当参数改变时,UI作为返回结果,也将进行对应的改变。状态变化带来UI的重新渲染。 自定义组件拥有变量所谓属性,…

数据类型和程序运算

1. 数据类型 1.1 static修饰的变量 本文所有内容在企业考核的笔试题出现频率很高&#xff0c;而且是易错题大家注意下&#xff01; 南友们在玩Java时有没发现&#xff0c;下面这样一个对象&#xff0c;我们即使没有给变量赋值&#xff0c;在创建它后这个变量依旧会有默认值。…