Visual-RFT视觉强化微调:用「试错学习」教会AI看图说话

📜 文献卡

英文题目: Visual-RFT: Visual Reinforcement Fine-Tuning;
作者: Ziyu Liu; Zeyi Sun; Yuhang Zang; Xiaoyi Dong; Yuhang Cao; Haodong Duan; Dahua Lin; Jiaqi Wang
DOI: 10.48550/arXiv.2503.01785
摘要翻译: 像OpenAI o1这样的大型推理模型中的强化微调(RFT)从对其答案的反馈中学习,这在微调数据稀缺的应用程序中特别有用。最近像DeepSeek-R1这样的开源工作表明,具有可验证奖励的强化学习是再现o1的一个关键方向。虽然R1风格的模型已经在语言模型中展示了成功,但它在多模态领域的应用仍然没有得到充分探索。这项工作引入了视觉强化微调(Visual-RFT),它进一步扩展了RFT在视觉任务上的应用领域。具体来说,Visual-RFT首先使用大型视觉语言模型(LVLMs)为每个输入生成包含推理令牌和最终答案的多个响应,然后使用我们提出的视觉感知可验证奖励函数通过组相对策略优化(GRPO)等策略优化算法更新模型。我们针对不同的感知任务设计了不同的可验证奖励函数,例如目标检测的交叉点超过联合(IoU)奖励。在细粒度图像分类、少镜头目标检测、推理接地以及开放词汇表目标检测基准上的实验结果显示了Visual-RFT与监督微调(SFT)相比的竞争性能和高级泛化能力。例如,Visual-RFT在大约100个样本的单镜头细粒度图像分类中比基线提高了24.3美元%$。在少镜头目标检测中,Visual-RFT在COCO的双镜头设置上也超过基线21.9美元,在LVIS上超过基线15.4美元。我们的Visual-RFT代表了微调LVLM的范式转变,提供了一种数据高效、奖励驱动的方法,增强了特定领域任务的推理和适应性。
github:https://github.com/liuziyu77/visual-rft

📜 研究核心

⚙️ 内容

论文提出 Visual Reinforcement Fine-Tuning (Visual-RFT),旨在解决大型视觉语言模型(LVLMs)在少样本视觉感知任务中的优化问题。传统监督微调(SFT)依赖大量标注数据,而 Visual-RFT 通过强化学习框架结合可验证奖励机制,在数据稀缺场景下显著提升模型性能1。其核心流程包括:

  1. 多响应生成:LVLMs 对输入生成多个包含推理过程和答案的响应(如 <think><answer> 结构化输出)2
  2. 任务定制奖励:设计基于交并比(IoU)的目标检测奖励和基于分类准确率的奖励,直接量化模型输出的正确性3
  3. 策略优化:采用 Group Relative Policy Optimization (GRPO) 算法,通过对比组内响应的相对质量更新模型参数1

💡 创新

  1. 跨模态奖励迁移:首次将可验证奖励机制从语言领域(如 DeepSeek-R1)扩展到视觉任务,突破传统 RL 在视觉感知中的局限性1
  2. 结构化推理引导:通过强制模型输出 <think> 推理步骤,提升视觉任务的逻辑分析能力(如细粒度分类中准确率提升 24.3%)4
  3. 数据效率突破:仅需 100 个样本即可完成微调,相比 SFT 在少样本目标检测任务中 mAP 提升 21.9(COCO 数据集)2

🧩 不足

  1. 奖励函数依赖:检测任务需手动设计 IoU 奖励,缺乏通用性框架3
  2. 长尾类别局限:在 LVIS 数据集的罕见类别(如 “stepladder”)检测中,性能提升幅度波动较大(AP 0→29.3)5
  3. 计算成本:多响应生成策略增加 30% 训练耗时1

🔁 研究内容

💧 数据

  1. 数据集:COCO(开放词汇检测)、LVIS(罕见类别检测)、LISA(推理定位)、Flower102/Pets37(细粒度分类)25
  2. 预处理
    • 设计结构化提示模板(如检测任务要求输出 [x1,y1,x2,y2] 格式的边界框)3
    • 少样本场景下,仅使用 1-16 张标注图像进行微调4

👩🏻‍💻 实现

  1. 响应生成:对每张输入图像,模型生成 5 组含推理过程的响应1
  2. 奖励计算
    • 检测任务:R = 平均IoU + 置信度奖励 + 格式合规奖励3
    • 分类任务:R = 准确率 + 格式奖励3
  3. 策略更新:GRPO 算法归一化组内奖励后,通过策略梯度提升高奖励响应的生成概率1

🔬 实验

  1. 少样本分类:在 100 样本的细粒度分类中,Visual-RFT 准确率达 80.3%(SFT 为 51.7%)4
  2. 开放词汇检测:COCO 新类别 mAP 从 9.8 提升至 31.3,超越 GroundingDINO 基线5
  3. 推理定位:在 LISA 数据集上,边界框 IoU 提升 10.7%,推理步骤显著改善定位精度(图 5)5

论文中 GRPO 算法与奖励计算逻辑12伪代码形式:

# Visual-RFT 训练流程(简化伪代码)
def Visual_RFT_Training(model, dataset, epochs):for epoch in range(epochs):for image, question in dataset:# 步骤1:生成多响应(G=5)responses = [model.generate(image, question) for _ in range(5)]  # [^1]# 步骤2:计算可验证奖励rewards = []for resp in responses:if task_type == "检测":iou = calculate_iou(resp.bbox, gt_bbox)  # 交并比计算[^3]conf_reward = confidence_penalty(resp.confidence, iou)  # 公式(7)format_ok = check_xml_tags(resp)  # 格式校验[^2]reward = iou + conf_reward + (1 if format_ok else 0)  # 公式(5)elif task_type == "分类":acc = 1 if resp.class == gt_class else 0  # 公式(9)format_ok = check_xml_tags(resp)reward = acc + (1 if format_ok else 0)rewards.append(reward)# 步骤3:GRPO策略优化[^1]mean_r = mean(rewards)std_r = std(rewards)advantages = [(r - mean_r)/std_r for r in rewards]  # 公式(4)# 步骤4:策略梯度更新model.update(responses, advantages)  # 使用KL约束[^1]

📜 结论

Visual-RFT 在 4 类视觉任务中均超越 SFT,证明强化学习可有效提升 LVLMs 的少样本适应能力跨任务泛化性,为数据稀缺场景提供新范式12


🤔 论文总结

👍 论文优点

  1. 方法普适性:兼容检测、分类、定位等多种视觉任务3
  2. 开源贡献:公开训练代码、数据集及评估脚本(GitHub)1
  3. 可解释性:通过 <think> 标签显式展示模型推理过程2

🎓 方法创新

  1. 格式奖励机制:强制结构化输出减少 37% 的格式错误3
  2. 动态置信度惩罚:对误检目标施加 1 - 置信度 的负奖励,降低假阳性 22%3

⌚ 未来展望

  1. 自动化奖励设计:探索基于 LLM 的通用奖励生成器。
  2. 跨任务迁移:研究视觉奖励函数在视频理解中的应用。
  3. 硬件优化:压缩多响应生成的计算开销。

参考内容


  1. Visual-RFT 框架设计与实验设置,参见论文第 3.2 节及图 2。 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  2. 数据准备与提示模板设计,详见论文表 1 和 3.2.2 节。 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  3. IoU 奖励函数公式推导见论文公式 (5)-(8)。 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  4. 少样本分类实验结果数据来自论文表 2。 ↩︎ ↩︎ ↩︎

  5. 开放词汇检测与推理定位结果参见论文表 7-8 及图 5。 ↩︎ ↩︎ ↩︎ ↩︎

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

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

相关文章

Hadoop管理页看不到任务的问题

这个yarn分配任务了但是为空 在$HADOOP_HOME/conf/mapred-site.xml 原来的配置文件基础之上添加&#xff1a; <property><name>mapreduce.framework.name</name><value>yarn</value></property> 重启之后就好了

傅里叶变换:跨越时空的数学魔法

引言&#xff1a;从振动到信息——傅里叶的智慧 傅里叶变换&#xff08;Fourier Transform&#xff09;是数学与工程领域最具影响力的工具之一。它的核心思想是将复杂的信号分解为简单的正弦波和余弦波的叠加&#xff0c;从而揭示隐藏在数据背后的频率信息。自19世纪法国数学家…

DR和BDR的选举规则

在 OSPF&#xff08;开放最短路径优先&#xff09;协议中&#xff0c;DR&#xff08;Designated Router&#xff0c;指定路由器&#xff09; 和 BDR&#xff08;Backup Designated Router&#xff0c;备份指定路由器&#xff09; 的选举是为了在广播型网络&#xff08;如以太网…

【linux网络编程】套接字编程API详细介绍

在C语言中&#xff0c;套接字&#xff08;Socket&#xff09;编程主要用于网络通信&#xff0c;尤其是在基于TCP/IP协议的应用程序开发中。常用的套接字编程API主要基于Berkeley Sockets&#xff08;伯克利套接字&#xff09;接口&#xff0c;这些函数通常在<sys/socket.h&g…

Linux和gcc/g++常用命令总结

目录 Linux命令总结 文件操作相关命令 ls cd pwd cp mv rm cat mkdir rmdir touch 文本处理操作命令 grep awk sed 进程管理操作相关命令 ps top htop kill pkill killall chmod chown 网络操作相关命令 ping ifconfig netstat ss lsof curl …

VUE的第二天

1. 指令修饰符 1.1什么是指令修饰符&#xff1f; ​ 所谓指令修饰符就是通过“.”指明一些指令后缀 不同的后缀封装了不同的处理操作 —> 简化代码 1.2按键修饰符 keyup.enter —>当点击enter键的时候才触发 代码演示&#xff1a; <div id"app"><…

WSL with NVIDIA Container Toolkit

一、wsl 下安装 docker 会提示安装 docekr 桌面版&#xff0c;所以直接安装 docker 桌面版本即可 二、安装 NVIDIA Container Toolkit NVIDIA Container Toolkit仓库 https://github.com/NVIDIA/nvidia-container-toolkit​github.com/NVIDIA/nvidia-container-toolkit 安装…

mysql下载

目录 下载地址&#xff1a; 1.MSI安装包下载 2.ZIP压缩包下载 卸载MySQL&#xff1a; 下载地址&#xff1a; MySQL :: Download MySQL Community Server到mysql官网进行下载&#xff1a;MySQL :: Download MySQL Community Server &#xff08;下面二选一&#xff0c;选择一…

基于Kubernetes部署MySQL主从集群

以下是一个基于Kubernetes部署MySQL主从集群的详细YAML示例&#xff0c;包含StatefulSet、Service、ConfigMap和Secret等关键配置。MySQL主从集群需要至少1个主节点和多个从节点&#xff0c;这里使用 StatefulSet 初始化脚本 实现主从自动配置。 1. 创建 Namespace (可选) ap…

如何使用 GPT-4o 翻译播客声音

Voice Translation into Different Languages | OpenAI Cookbook 如何使用 GPT-4o 将播客翻译并配音成您的母语 您是否曾想过将播客翻译成您的母语&#xff1f;翻译和配音音频内容可以让全球更多的观众获取信息。而现在&#xff0c;借助 GPT-4o 的音频输入&#xff08;audio-i…

Lab17_ Blind SQL injection with out-of-band data exfiltration

文章目录 前言&#xff1a;进入实验室构造 payload 前言&#xff1a; 实验室标题为&#xff1a; 带外数据泄露的 SQL 盲注 简介&#xff1a; 本实验包含一个SQL盲目注入漏洞。应用程序使用跟踪Cookie进行分析&#xff0c;并执行包含提交的Cookie值的SQL查询。 SQL查询是异…

深入解析 configService.addListener 使用中的注意事项

在使用 Nacos 的 configService.addListener 方法进行配置监听时&#xff0c;为了确保程序的稳定性、可靠性以及高效性&#xff0c;有诸多注意事项需要我们关注。下面将对这些关键要点进行详细阐述。 一、连接稳定性 1.1 网络连接问题 Nacos 客户端与服务端通过网络进行通信&…

C/C++蓝桥杯算法真题打卡(Day4)

一、P11041 [蓝桥杯 2024 省 Java B] 报数游戏 - 洛谷 算法代码&#xff1a; #include<bits/stdc.h> using namespace std;// 计算第 n 个满足条件的数 long long findNthNumber(long long n) {long long low 1, high 1e18; // 二分查找范围while (low < high) {lo…

【Python 数据结构 10.二叉树】

目录 一、二叉树的基本概念 1.二叉树的定义 2.二叉树的特点 3.特殊的二叉树 Ⅰ、斜树 Ⅱ、满二叉树 Ⅲ、完全二叉树 Ⅳ、完全二叉树和满二叉树的区别 4.二叉树的性质 5.二叉树的顺序存储 Ⅰ、完全二叉树 Ⅱ、非完全二叉树 Ⅲ、稀疏二叉树 6.二叉树的链式存储 7.二叉树的遍历概念…

Windows 系统 Docker Desktop 入门教程:从零开始掌握容器化技术

文章目录 前言一、Docker 简介二、Docker Desktop 安装2.1 系统要求2.2 安装步骤 三、Docker 基本概念四、Docker 常用命令五、实战&#xff1a;运行你的第一个容器5.1 拉取并运行 Nginx 容器5.2 查看容器日志5.3 停止并删除容器 六、总结 前言 随着云计算和微服务架构的普及&…

可变参数与递归

可变参数与递归 可变参数 package method; ​ public class Demo03 {public static void main(String[] args) {Demo03 demo03new Demo03();demo03.test(1,2,3);​}public void test (int... i){System.out.println(i[0]);//1System.out.println(i[1]);//2System.out.println(…

【redis】全局命令exists、del、expire、ttl(惰性删除和定期删除)

exists——判定 key 是否存在 语法&#xff1a; exists key [key...] # 返回值&#xff1a;key 存在的个数针对多个 key 来说&#xff0c;是非常有用的时间复杂度 O ( 1 ) O(1) O(1) Redis 组织这些 key 就是按照哈希表的方式来组织的。Redis 支持很多数据结构指的是 value …

系统架构设计师—系统架构设计篇—特定领域软件体系结构

文章目录 概述领域分类垂直域水平域 系统模型基本活动参与角色 概述 特定领域软件架构&#xff08;Domain Specific Software Architecture&#xff0c;DSSA&#xff09;是在一个特定应用领域中&#xff0c;为一组应用提供组织结构参考的标准团建体系结构。 领域分类 垂直域…

OpenManus:优点突出,短板也明显

最近&#xff0c;OpenManus 在 AI 领域掀起了一阵热潮。作为开源版的智能代理软件&#xff0c;它自诞生起就备受瞩目。今天&#xff0c;咱们就来深入聊聊 OpenManus 在实际测试中的表现&#xff0c;看看它到底有哪些过人之处&#xff0c;又存在哪些不足。​ 优点大起底​ 开源…

VUE3项目的文档结构分析

1. Vue 3 项目的文档结构 Vue 3 项目通常基于 Vue CLI 或 Vite 等工具创建&#xff0c;其文档结构如下&#xff1a; 常见目录结构 my-vue-project/ ├── public/ # 静态资源目录 │ ├── index.html # 入口页面 ├── src/ …