2025-4-11-Liu-arxiv-2025
Liu, Ziyu, et al. "Visual-rft: Visual reinforcement fine-tuning." arXiv preprint arXiv:2503.01785 (2025).
这个标题倒是很fit我的想法;但是他们根本就没写什么很突出的东西;
说是视觉上的RFL,实际上应该算是有关AI智能体的扩展。
因为使用的Agent是LLM;而且实际上也是自己设计了reward function,替换了原有DS-R1中未曾提及的r。
下面是一些我觉得可能有用的东西:
公式推导
在视觉感知中,为了将 RLVR(Reinforcement Learning with Verifiable Rewards)方法应用于多种视觉任务,设计了不同的规则奖励函数。根据任务不同,奖励函数被分为检测任务奖励和分类任务奖励。
RLVR 总体优化目标(Verifiable RL Objective)
优化目标为最大化期望奖励,同时控制与参考策略 \(\pi_{\text{ref}}\) 的 KL 散度:
\[ \max_\pi \mathbb{E}_{o \sim \pi(q)}[R_{\text{VLR}}(q, o)]=\left[R(q,o) - \beta \mathbb{KL}[\pi(q) || \pi_{\text{ref}}(q)] \right] \tag{1} \]
在 RLVR 中,通过验证函数 \(R(q, o)\) 判断模型输出 \(o\) 与参考输出 \(q\) 是否一致:
\[ R(q, o) = \begin{cases} 1, & \text{if } o = \text{ground truth} \\ 0, & \text{otherwise} \end{cases} \tag{3} \]
GRPO 中,为候选回答集 \(\{r_1, r_2, ..., r_G\}\) 进行标准化:
\[ A_i = \frac{r_i - \text{mean}(\{r_1, ..., r_G\})}{\text{std}(\{r_1, ..., r_G\})} \tag{4} \]
是否有点...?
前面的一串化为了非常简单的0-1 loss。然后又莫名其妙提到了GPRO里面的优势函数、
下面的是DeepSeek参考版。 \[ \mathcal{J}_{GPRO}(\theta)=\mathbb{E}_{[q\sim P(Q),\{o_i\}_{i=1}^G\sim \pi_{\theta_{old}}(o|q)]} \\ \left\{\frac 1 G\sum^{G}_{i=1}\left(\min(\frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)}A_i,\text{clip}(\frac{\pi_{\theta}(o_i|q)}{\pi_{\theta_{old}}(o_i|q)},1+\epsilon,1-\epsilon)A_i)-\beta\mathbb{D}_{KL}(\pi_{\theta}|\pi_{ref})\right)\right\} \]
🔶目标检测任务
目标检测任务中,模型输出为边界框集合 \(\{b_1, b_2, ..., b_n\}\),根据 IoU(Intersection-over-Union)与置信度计算奖励。
🎯 总体奖励函数
\[ R_d = R_{IoU} + R_{conf} + R_{format} \tag{5} \]
- IoU 奖励(\(R_{IoU}\)):
计算模型输出中所有 bounding box 的平均 IoU:
\[ R_{IoU} = \frac{iou_1 + iou_2 + \cdots + iou_n}{n} \tag{6} \]
- 置信度奖励(\(R_{conf}\)):
每个 bounding box 的单独置信度奖励 \(r_{ci}\) 计算如下:
\[ r_{ci} = \begin{cases} c_i, & \text{if } iou_i \neq 0 \\ 1 - c_i, & \text{if } iou_i = 0 \end{cases} \tag{7} \]
整体置信度奖励为所有 box 的平均值:
\[ R_{conf} = \frac{\sum_{i=1}^{n} r_{ci}}{n} \tag{8} \]
- 格式奖励(\(R_{format}\)):
确保输出遵循 <think>
和
<answer>
的 HTML 标记格式(参考 Sec.
3.2.2),计算方式未明确写出,通常为格式匹配奖励(布尔或软匹配)。
🔶 分类任务
分类任务中的奖励由两部分组成:准确率奖励 + 格式奖励。
\[ R_{cls} = R_{acc} + R_{format} \tag{9} \]
其中: - \(R_{acc} = 1\) 表示分类正确; - \(R_{acc} = 0\) 表示分类错误; - \(R_{format}\) 为输出格式正确与否的奖励。