当前位置: 首页 > news >正文

【论文笔记】【强化微调】Pixel Reasoner:早期 tool call 的调用

[2505.15966] Pixel Reasoner: Incentivizing Pixel-Space Reasoning with Curiosity-Driven Reinforcement Learning

1. 引述

当场景元素比较丰富时,这篇论文提出的方法会调用工具,聚焦于自己感兴趣的那部分。我读这篇论文的目的,是想获得一点对于 tool call 的使用启发,以便应用于我自己的工作中。

以上是该论文方法的一个示例。其实这种静态工具调用已经不新鲜了。在之前我关于强化微调综述的博客中可以知道,该论文属于 Stage-1

【论文笔记】【强化微调】综述 - Think With Image-CSDN博客

2. 遇到的问题

说不定后续写本子的时候需要借鉴这篇论文遇到的问题:

  • 操作掌握困难:现有 VLM 在执行预定义视觉操作方面零样本能力有限,必须通过精细的指令微调,建立起基本的操作能力,并保留模型的自我纠错能力,以为后续 RL 阶段的“试错学习”做准备。

  • 能力失衡陷阱(Learning Trap):即使模型通过微调学会了视觉操作,其在文本推理方面的熟练度远超像素空间,导致模型在训练中更倾向于回避视觉操作。一方面,视觉操作初期更容易失败导致负反馈;另一方面,很多训练样本本身不强依赖视觉操作,模型因此“顺理成章”地选择跳过该技能。这种组合使得像素空间推理发展受阻,模型提前放弃对这项新能力的探索。

论文解决问题的方式是构建一个数据集,以及设置一个新的强化微调的奖励。

3. 构建数据集

论文从已有的视觉任务数据集(SA1B、FineWeb、STARQA)中构建了一个子数据集用于微调。

而为了让模型知道使用工具,论文利用为每条训练样本准备了一个 “视觉目标”,那种很小的视觉目标,不放大仔细看就看不清楚的那种。

构建的方式是使用 GPT-4o 给出一套范式:你应该先看哪里,调用哪个视觉操作,然后再怎么分析,最后得出答案。

然而,由于 4o 太强,所以在用 4o 构建数据集的时候,4o 可能都认为一些任务不需要调用工具。为了不让 GPT-4o 随意发挥,论文引导它按照一个“固定套路”生成每个推理过程

如上图所示:

  • (a) 部分,用户提问这是什么类型的餐馆,4o 在执行的放大操作后,回答说:“我没在放大的图中看到餐馆,从原图来看我觉得是卖茶的”;GPT-4o 没有使用视觉操作的结果做判断,而是回退到了全图印象 + 语言推理,这就产生了所谓的 bypassing trajectory(绕过轨迹),对训练无效甚至有害。
  • (b) 部分,模板轨迹化合成数据。先全图概括,再准确放大参考视觉线索所在区域,随后在放大的局部区域内分析标识,最后据此回答:“这是卖茶的餐馆。”
  • (c) 部分,自我纠错轨迹。如果在放大局部区域分析了但没有获得有用的信息,就认为放大出错了,于是重新 zoom 并再次分析得到结果。

4. 模型热启动时的训练数据

  • Single-pass 轨迹

    • 简单直接的推理轨迹:

      全图分析 → zoom-in → 分析细节 → 回答

    • 用于教模型“如何正常使用视觉操作”。

  • Error-induced Self-Correction Trajectories(错误诱导的自我纠错轨迹)

    • 故意设计“先 zoom 错了”,然后再 zoom 对了的轨迹;

    • 用于教模型如何识别错误操作并修正

  • Textual Reasoning Trajectories(纯文本推理轨迹)

    • 对于不需要细粒度视觉分析的视觉语言问题,仍保留它们的纯文本推理过程;

    • 这样能防止模型“滥用视觉操作”,实现 按需调用

5. 强化微调

5.1 好奇心奖励

模型初期不会用视觉操作;于是一用就容易出错,从而得到“错误”奖励信号(negative feedback)。相比之下,文本推理正确率高,反馈好,于是久而久之模型就开始回避视觉操作

同时,数据集中很多问题其实不一定非得用视觉操作,这给了模型一个“捷径”:直接用文字答题就行,模型于是倾向于默认使用更可靠的文本推理,忽视了视觉路径。

于是,论文在强化微调过程中,设置了奖励来鼓励模型探索,这个奖励叫做好奇心奖励

传统 RL 只给“对答案”的外部奖励(extrinsic reward),比如答对得 1 分,但好奇心奖励关注的是:你有没有主动尝试新的操作?即使没答对,也因为你勇敢尝试视觉操作而给你鼓励(奖励)。

5.2 约束

如果模型不断探索,是可以一直获得好奇心奖励,但是效率就显著下降了,这也不是我们想要的。为了平衡探索与效率,论文设计了两个约束:

① 第一个约束:RaPR(像素空间推理率)

The first constraint concerns the Rate of Pixel-space Reasoning (RaPR)
即对每个查询 xxx,其所有采样响应中使用像素空间操作的概率(平均值)不能低于预设阈值 H。

\mathrm{RaPR}(\mathbf{x}) \doteq \mathbb{E} \left[ \mathbf{I}_{\mathrm{PR}}(\mathbf{y}) \mid \mathbf{y} \sim \pi_{\theta}(\mathbf{y} \mid \mathbf{x}) \right] \geq H

  • 模型不能总是靠“纯文本推理”答题;

  • 至少 H% 的回答中必须使用像素空间推理(即调用视觉操作)

  • 这鼓励模型主动走“陌生但重要”的视觉推理路径。

② 第二个约束:视觉操作数量限制

The second constraint imposes an upper bound N on the number of visual operations used in any individual response.


n_{\mathrm{vo}}(\mathbf{y}) \leq N

  • 不能让模型在一个回答里无限次调用视觉操作;

  • 每条回答最多只能调用 N 次视觉工具

  • 保证推理过程不会“冗长、低效”;

  • 保持计算成本可控。

5.3 奖励

然而有约束不太方便直接训练,因此论文基于前人的理论(受限强化学习),将约束转化为奖励函数:

r'( \mathbf{x}, \mathbf{y} ) = r(\mathbf{x}, \mathbf{y}) + \alpha \cdot r_{\mathrm{curiosity}}(\mathbf{x}, \mathbf{y}) + \beta \cdot r_{\mathrm{penalty}}(\mathbf{y})

新奖励 r'(\mathbf{x}, \mathbf{y}) 包含三部分:

  1. 原始奖励 r(\mathbf{x}, \mathbf{y}):衡量回答是否正确;

  2. 好奇心奖励 r_{\text{curiosity}}(\mathbf{x}, \mathbf{y}):鼓励使用视觉操作;

  3. 惩罚项 r_{\text{penalty}}(\mathbf{y}):惩罚视觉操作过多。

其中:

r_{\mathrm{curiosity}}(\mathbf{x}, \mathbf{y}) = \max \left( H - \mathrm{RaPR}(\mathbf{x}), 0 \right) \cdot \mathbf{I}_{\mathrm{PR}}(\mathbf{y})

这个奖励函数鼓励模型使用工具,使用一次工具可以获得 H 的奖励,但是使用次数过多,工具使用率 PaPR 提升,每次使用工具的奖励就少了,直到衰减到 0

r_{\mathrm{penalty}}(\mathbf{y}) = \min \left( N - n_{\mathrm{vo}}(\mathbf{y}), 0 \right)

这个奖励函数惩罚多次使用工具(超过 N

http://www.lryc.cn/news/581762.html

相关文章:

  • CppCon 2018 学习:Undefined Behavior is Not an Error
  • 【系统分析师】2022年真题:论文及解题思路
  • (二) TDOA(到达时间差)、AoA(到达角度)、RSSI(接收信号强度)、TOF(飞行时间) 四种定位技术的原理详解及对比
  • 手动使用 Docker 启动 MinIO 分布式集群(推荐生产环境)
  • 从前端转go开发的学习路线
  • 2025 BSidesMumbaiCTF re 部分wp
  • NLP文本预处理
  • Spring AI(12)——调用多模态模型识别和生成图像
  • MyBatis实战指南(九)MyBatis+JSP+MySQL 前端页面实现数据库的增加与删除显示数据
  • 分布式会话的演进和最佳事件,含springBoot 实现(Java版本)
  • 【网络安全】不要在 XSS 中使用 alert(1)
  • 电池预测 | 第33讲 Matlab基于CNN-LSTM-Attention的锂电池剩余寿命预测,附锂电池最新文章汇集
  • 一个简单的脚本,让pdf开启夜间模式
  • 【STM32】通用定时器PWM
  • 李宏毅NLP-8-语音模型
  • 20250706-11-Docker快速入门(下)-构建Nginx镜像和Tomcat镜像_笔记
  • Kotlin lazy 委托的底层实现原理
  • styled-components:现代React样式解决方案
  • 构建下一代智能应用:RAG系统开发深度指南
  • 基于STM32单片机的心率血氧监测系统设计(STM32代码编写+手机APP设计+PCB设计+Proteus仿真)
  • C# 接口(什么是接口)
  • 【机器学习笔记Ⅰ】1 机器学习
  • .golangci.yml文件配置
  • C语言学习(第一天)
  • 求医十年,病因不明,ChatGPT:你看起来有基因突变
  • Gin 框架中如何实现 JWT 鉴权中间件
  • PH热榜 | 2025-07-06
  • 宏定义实现自定义关系运算比较--3
  • 微服务负载均衡全解析:从原理到实践
  • 【王树森推荐系统】召回05:矩阵补充、最近邻查找