【强化学习】 10 SpeciaRL:特异性感知强化学习——开放世界细粒度分类的动态奖励框架

SpeciaRL:特异性感知强化学习------开放世界细粒度分类的动态奖励框架

来源 : CVPR 2026 (IEEE/CVF Conference on Computer Vision and Pattern Recognition)

arXiv : 2603.03197

作者 : Samuele Angheben, Davide Berasi, Alessandro Conti, Elisa Ricci, Yiming Wang

机构 : University of Trento, Fondazione Bruno Kessler (FBK)

代码 : https://github.com/s-angheben/SpeciaRL

基座模型: Qwen2.5VL-7B


目录

  1. [为什么推理 LMM 倾向于泛泛而谈](#为什么推理 LMM 倾向于泛泛而谈)
  2. 特异性与正确性的跷跷板
  3. [BoN 分析:模型其实知道,只是不敢说](#BoN 分析:模型其实知道,只是不敢说)
  4. [SpeciaRL 框架:在线 Rollout 与动态奖励](#SpeciaRL 框架:在线 Rollout 与动态奖励)
  5. [LLM 验证器:分级反馈的引擎](#LLM 验证器:分级反馈的引擎)
  6. [GRPO 优化:组内相对优势估计](#GRPO 优化:组内相对优势估计)
  7. 实验验证:跨域泛化与消融分析
  8. 工程权衡与反直觉发现
  9. 实际部署中的意义
  10. 参考文献

1. 为什么推理 LMM 倾向于泛泛而谈

1.1 开放世界细粒度分类的工程困境

想象你问一个视觉模型"图中是什么鸟"。模型看了一眼,回答"一只鸟"。这个答案在语义上完全正确------图中确实是一只鸟------但对于细粒度分类任务来说毫无价值。你需要知道的是"金翅莺"(Golden-winged Warbler),而非"鸟"。

这就是开放世界细粒度分类的核心矛盾:模型被要求在没有预定义标签集 的情况下,输出尽可能具体 但又正确的类别名称。如果标签集是固定的(如 ImageNet 的 1000 类),模型只需从封闭集合中选择;但在开放世界中,模型必须从无限的自然语言概念空间中生成答案。

1.2 推理 LMM 的"保守偏向"

近期的推理型大型多模态模型(Reasoning LMMs),如 Qwen2.5VL-7B,展现出了强大的视觉理解能力。它们能够:

  • 识别图像中的细微纹理和形态特征
  • 生成详细的推理过程(thinking trace)
  • 用自然语言描述视觉观察

但当被要求做细粒度分类时,它们却倾向于输出泛泛而谈的答案。实验数据显示:

模型 细粒度集 非常细粒度集
Qwen2.5VL-7B 39.4% Generic 74.5% Generic
InternVL2.5-8B 30.6% Generic 54.5% Generic

在非常细粒度集(StanfordCars、FGVCAircraft)上,Qwen2.5VL-7B 有接近四分之三的预测是"Generic"------即只输出 superclass(如"汽车"、"飞机")而非具体的型号或物种。

1.3 这不是知识缺失,而是表达保守

一个关键的问题是:模型是真的不知道细粒度类别,还是知道但不敢说出来?

SpeciaRL 的初步分析给出了明确的答案。作者对 Qwen2.5VL-7B 进行了 Best-of-64(BoN-64)测试:对同一张图片生成 64 次预测,然后选择其中信息量最大的那个。结果显示:

  • BoN-64 的特异性从 0.742 提升到 0.889(细粒度集)
  • BoN-64 的正确性从 0.846 提升到 0.984(细粒度集)

这意味着模型确实拥有细粒度领域知识 ------在 64 次尝试中,它几乎总能至少有一次给出正确且具体的答案。问题在于,模型在单次推理中无法可靠地表达这些知识。

1.4 认知检查点

因此,SpeciaRL 的设计起点不是"给模型灌输更多细粒度知识",而是"让模型在单次推理中就能可靠地表达它已经拥有的知识"。这是一个表达问题,而非知识问题。


2. 特异性与正确性的跷跷板

2.1 为什么二者难以兼得

直觉上,更具体的预测应该同时更准确------毕竟"金翅莺"比"鸟"包含更多信息。但工程现实是:特异性与正确性之间存在一个紧张的跷跷板关系

方法 特异性 正确性 问题
零-shot 基线 0.742 0.846 过于保守,大量 Generic
Prompt "Be specific" 0.816 0.832 特异性提升,但正确性下降
SFT 监督微调 0.935 0.807 特异性大幅提升,正确性显著牺牲
RFT 标准强化微调 0.875 0.785 特异性提升,正确性进一步下降

关键观察:现有方法在提升特异性时,几乎总是以牺牲正确性为代价。SFT 把特异性推到了 0.935,但正确性跌到了 0.807------意味着模型开始"瞎猜"细粒度类别,产生大量错误预测。

2.2 跷跷板的物理直觉

这个跷跷板可以用信息论的视角理解:

  • 语义空间是一个层次化树状结构(ontology)
  • "鸟"在树的根部,"金翅莺"在树的深层叶子节点
  • 从根节点向叶子节点移动时,每一步都增加了信息的特异性
  • 但同时,每一步也增加了出错的风险------因为叶子节点的类别之间视觉差异极小

模型面临一个决策:停在树的哪个深度?停得太浅(Generic)安全但无用;停得太深(Very Specific)有用但高风险。

2.3 现有方法的失败模式

方法 失败模式 原因
Prompting 模型被鼓励猜测,增加 Wrong 预测 没有反馈机制告诉模型"猜错了"
SFT 模型过拟合训练标签分布 交叉熵损失强制模型输出训练集中的细粒度标签,即使不确定
RFT(静态奖励) 模型只学习"匹配 ground truth",不学习"在不匹配时保守" 二元奖励(对/错)无法区分"差一点就对了"和"完全错了"

2.4 认知检查点

因此,SpeciaRL 的核心挑战不是"如何让模型更具体",而是"如何在提升特异性的同时,防止模型越过正确性边界进入猜测区域"。这需要一个能够根据模型自身能力动态调整的奖励机制。


3. BoN 分析:模型其实知道,只是不敢说

3.1 Best-of-N 作为能力上界

BoN-64 测试是 SpeciaRL 方法论的基石。其设计如下:

  • 对每张图片,用温度采样生成 64 个不同的推理-答案对
  • 每个预测被 LLM 验证器分类到六个类别之一
  • 选择 64 个预测中信息量最大的那个作为"最佳预测"

#mermaid-svg-u9MXb6me8nOpD4XX{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:30px;fill:#fff;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-u9MXb6me8nOpD4XX .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-u9MXb6me8nOpD4XX .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-u9MXb6me8nOpD4XX .error-icon{fill:#f39c12;}#mermaid-svg-u9MXb6me8nOpD4XX .error-text{fill:#0c63ed;stroke:#0c63ed;}#mermaid-svg-u9MXb6me8nOpD4XX .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-u9MXb6me8nOpD4XX .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-u9MXb6me8nOpD4XX .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-u9MXb6me8nOpD4XX .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-u9MXb6me8nOpD4XX .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-u9MXb6me8nOpD4XX .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-u9MXb6me8nOpD4XX .marker{fill:#2c3e50;stroke:#2c3e50;}#mermaid-svg-u9MXb6me8nOpD4XX .marker.cross{stroke:#2c3e50;}#mermaid-svg-u9MXb6me8nOpD4XX svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:30px;}#mermaid-svg-u9MXb6me8nOpD4XX p{margin:0;}#mermaid-svg-u9MXb6me8nOpD4XX .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#fff;}#mermaid-svg-u9MXb6me8nOpD4XX .cluster-label text{fill:#0c63ed;}#mermaid-svg-u9MXb6me8nOpD4XX .cluster-label span{color:#0c63ed;}#mermaid-svg-u9MXb6me8nOpD4XX .cluster-label span p{background-color:transparent;}#mermaid-svg-u9MXb6me8nOpD4XX .label text,#mermaid-svg-u9MXb6me8nOpD4XX span{fill:#fff;color:#fff;}#mermaid-svg-u9MXb6me8nOpD4XX .node rect,#mermaid-svg-u9MXb6me8nOpD4XX .node circle,#mermaid-svg-u9MXb6me8nOpD4XX .node ellipse,#mermaid-svg-u9MXb6me8nOpD4XX .node polygon,#mermaid-svg-u9MXb6me8nOpD4XX .node path{fill:#ff6b6b;stroke:#c0392b;stroke-width:1px;}#mermaid-svg-u9MXb6me8nOpD4XX .rough-node .label text,#mermaid-svg-u9MXb6me8nOpD4XX .node .label text,#mermaid-svg-u9MXb6me8nOpD4XX .image-shape .label,#mermaid-svg-u9MXb6me8nOpD4XX .icon-shape .label{text-anchor:middle;}#mermaid-svg-u9MXb6me8nOpD4XX .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-u9MXb6me8nOpD4XX .rough-node .label,#mermaid-svg-u9MXb6me8nOpD4XX .node .label,#mermaid-svg-u9MXb6me8nOpD4XX .image-shape .label,#mermaid-svg-u9MXb6me8nOpD4XX .icon-shape .label{text-align:center;}#mermaid-svg-u9MXb6me8nOpD4XX .node.clickable{cursor:pointer;}#mermaid-svg-u9MXb6me8nOpD4XX .root .anchor path{fill:#2c3e50!important;stroke-width:0;stroke:#2c3e50;}#mermaid-svg-u9MXb6me8nOpD4XX .arrowheadPath{fill:#0b0b0b;}#mermaid-svg-u9MXb6me8nOpD4XX .edgePath .path{stroke:#2c3e50;stroke-width:2.0px;}#mermaid-svg-u9MXb6me8nOpD4XX .flowchart-link{stroke:#2c3e50;fill:none;}#mermaid-svg-u9MXb6me8nOpD4XX .edgeLabel{background-color:#3498db;text-align:center;}#mermaid-svg-u9MXb6me8nOpD4XX .edgeLabel p{background-color:#3498db;}#mermaid-svg-u9MXb6me8nOpD4XX .edgeLabel rect{opacity:0.5;background-color:#3498db;fill:#3498db;}#mermaid-svg-u9MXb6me8nOpD4XX .labelBkg{background-color:rgba(52, 152, 219, 0.5);}#mermaid-svg-u9MXb6me8nOpD4XX .cluster rect{fill:#f39c12;stroke:hsl(36.8, 50.3614457831%, 41.1764705882%);stroke-width:1px;}#mermaid-svg-u9MXb6me8nOpD4XX .cluster text{fill:#0c63ed;}#mermaid-svg-u9MXb6me8nOpD4XX .cluster span{color:#0c63ed;}#mermaid-svg-u9MXb6me8nOpD4XX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:#f39c12;border:1px solid hsl(36.8, 50.3614457831%, 41.1764705882%);border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-u9MXb6me8nOpD4XX .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#fff;}#mermaid-svg-u9MXb6me8nOpD4XX rect.text{fill:none;stroke-width:0;}#mermaid-svg-u9MXb6me8nOpD4XX .icon-shape,#mermaid-svg-u9MXb6me8nOpD4XX .image-shape{background-color:#3498db;text-align:center;}#mermaid-svg-u9MXb6me8nOpD4XX .icon-shape p,#mermaid-svg-u9MXb6me8nOpD4XX .image-shape p{background-color:#3498db;padding:2px;}#mermaid-svg-u9MXb6me8nOpD4XX .icon-shape .label rect,#mermaid-svg-u9MXb6me8nOpD4XX .image-shape .label rect{opacity:0.5;background-color:#3498db;fill:#3498db;}#mermaid-svg-u9MXb6me8nOpD4XX .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-u9MXb6me8nOpD4XX .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-u9MXb6me8nOpD4XX :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 选择最佳
LLM 验证器分类
生成 64 次
输入
图片 I
推理路径 1
推理路径 2
...
推理路径 64
S+ 更具体
S 具体
S- 较不具体
G 泛泛
A 模糊
W 错误
信息量最高的正确预测

图注:BoN-64 分析流程。输入图片(橙色)通过 64 次独立采样生成 diverse 推理路径(蓝色)。LLM 验证器将每个预测分类到六个特异性等级(绿色=高特异且正确,黄色=中等,红色=错误)。最终选择信息量最高的正确预测(紫色)作为模型能力的经验上界。关键洞察:如果 BoN-64 能选出高特异性正确预测,说明模型拥有该知识,只是单次采样时未能可靠表达。

3.2 六个特异性等级

LLM 验证器将每个预测分类到以下六个等级之一:

等级 符号 含义 示例
更具体 S+ 比 ground truth 更细粒度 "成年雄性金翅莺"
具体 S 与 ground truth 同级 "金翅莺"
较不具体 S- 比 ground truth 粗一级 "莺科鸟类"
泛泛 G 只给出 superclass "鸟"
模糊 A 答案含糊不清 "某种小鸟"
错误 W 语义上不相关或错误 "蝴蝶"

3.3 BoN-64 揭示的模型能力

指标 单次推理 BoN-64 差距
特异性(细粒度) 0.742 0.889 +0.147
正确性(细粒度) 0.846 0.984 +0.138
特异性(非常细粒度) 0.555 0.770 +0.215
正确性(非常细粒度) 0.919 0.998 +0.079

BoN-64 与单次推理之间的巨大差距(特别是在非常细粒度集上,特异性差距达 0.215)证明了一个核心假设:

模型拥有细粒度知识,但单次采样时被困在了"保守区域"------它倾向于输出 Generic 预测,因为这是一条"安全"的推理路径。

3.4 认知检查点

因此,BoN-64 分析不仅是一个诊断工具,更是 SpeciaRL 方法论的灵感来源:如果模型在 64 次尝试中能产生高特异性正确预测,那么训练目标就应该是让模型在单次尝试中也能做到这一点。动态奖励的设计正是围绕这个直觉展开的。


4. SpeciaRL 框架:在线 Rollout 与动态奖励

4.1 总体架构

#mermaid-svg-ZmubekAr31OHfbg9{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:30px;fill:#fff;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ZmubekAr31OHfbg9 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ZmubekAr31OHfbg9 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ZmubekAr31OHfbg9 .error-icon{fill:#f39c12;}#mermaid-svg-ZmubekAr31OHfbg9 .error-text{fill:#0c63ed;stroke:#0c63ed;}#mermaid-svg-ZmubekAr31OHfbg9 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ZmubekAr31OHfbg9 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ZmubekAr31OHfbg9 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ZmubekAr31OHfbg9 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ZmubekAr31OHfbg9 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ZmubekAr31OHfbg9 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ZmubekAr31OHfbg9 .marker{fill:#2c3e50;stroke:#2c3e50;}#mermaid-svg-ZmubekAr31OHfbg9 .marker.cross{stroke:#2c3e50;}#mermaid-svg-ZmubekAr31OHfbg9 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:30px;}#mermaid-svg-ZmubekAr31OHfbg9 p{margin:0;}#mermaid-svg-ZmubekAr31OHfbg9 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#fff;}#mermaid-svg-ZmubekAr31OHfbg9 .cluster-label text{fill:#0c63ed;}#mermaid-svg-ZmubekAr31OHfbg9 .cluster-label span{color:#0c63ed;}#mermaid-svg-ZmubekAr31OHfbg9 .cluster-label span p{background-color:transparent;}#mermaid-svg-ZmubekAr31OHfbg9 .label text,#mermaid-svg-ZmubekAr31OHfbg9 span{fill:#fff;color:#fff;}#mermaid-svg-ZmubekAr31OHfbg9 .node rect,#mermaid-svg-ZmubekAr31OHfbg9 .node circle,#mermaid-svg-ZmubekAr31OHfbg9 .node ellipse,#mermaid-svg-ZmubekAr31OHfbg9 .node polygon,#mermaid-svg-ZmubekAr31OHfbg9 .node path{fill:#ff6b6b;stroke:#c0392b;stroke-width:1px;}#mermaid-svg-ZmubekAr31OHfbg9 .rough-node .label text,#mermaid-svg-ZmubekAr31OHfbg9 .node .label text,#mermaid-svg-ZmubekAr31OHfbg9 .image-shape .label,#mermaid-svg-ZmubekAr31OHfbg9 .icon-shape .label{text-anchor:middle;}#mermaid-svg-ZmubekAr31OHfbg9 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ZmubekAr31OHfbg9 .rough-node .label,#mermaid-svg-ZmubekAr31OHfbg9 .node .label,#mermaid-svg-ZmubekAr31OHfbg9 .image-shape .label,#mermaid-svg-ZmubekAr31OHfbg9 .icon-shape .label{text-align:center;}#mermaid-svg-ZmubekAr31OHfbg9 .node.clickable{cursor:pointer;}#mermaid-svg-ZmubekAr31OHfbg9 .root .anchor path{fill:#2c3e50!important;stroke-width:0;stroke:#2c3e50;}#mermaid-svg-ZmubekAr31OHfbg9 .arrowheadPath{fill:#0b0b0b;}#mermaid-svg-ZmubekAr31OHfbg9 .edgePath .path{stroke:#2c3e50;stroke-width:2.0px;}#mermaid-svg-ZmubekAr31OHfbg9 .flowchart-link{stroke:#2c3e50;fill:none;}#mermaid-svg-ZmubekAr31OHfbg9 .edgeLabel{background-color:#3498db;text-align:center;}#mermaid-svg-ZmubekAr31OHfbg9 .edgeLabel p{background-color:#3498db;}#mermaid-svg-ZmubekAr31OHfbg9 .edgeLabel rect{opacity:0.5;background-color:#3498db;fill:#3498db;}#mermaid-svg-ZmubekAr31OHfbg9 .labelBkg{background-color:rgba(52, 152, 219, 0.5);}#mermaid-svg-ZmubekAr31OHfbg9 .cluster rect{fill:#f39c12;stroke:hsl(36.8, 50.3614457831%, 41.1764705882%);stroke-width:1px;}#mermaid-svg-ZmubekAr31OHfbg9 .cluster text{fill:#0c63ed;}#mermaid-svg-ZmubekAr31OHfbg9 .cluster span{color:#0c63ed;}#mermaid-svg-ZmubekAr31OHfbg9 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:#f39c12;border:1px solid hsl(36.8, 50.3614457831%, 41.1764705882%);border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ZmubekAr31OHfbg9 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#fff;}#mermaid-svg-ZmubekAr31OHfbg9 rect.text{fill:none;stroke-width:0;}#mermaid-svg-ZmubekAr31OHfbg9 .icon-shape,#mermaid-svg-ZmubekAr31OHfbg9 .image-shape{background-color:#3498db;text-align:center;}#mermaid-svg-ZmubekAr31OHfbg9 .icon-shape p,#mermaid-svg-ZmubekAr31OHfbg9 .image-shape p{background-color:#3498db;padding:2px;}#mermaid-svg-ZmubekAr31OHfbg9 .icon-shape .label rect,#mermaid-svg-ZmubekAr31OHfbg9 .image-shape .label rect{opacity:0.5;background-color:#3498db;fill:#3498db;}#mermaid-svg-ZmubekAr31OHfbg9 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ZmubekAr31OHfbg9 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ZmubekAr31OHfbg9 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 优化层
奖励层
验证层
策略模型
输入层
图片 I
真实标签 y
Qwen2.5VL-7B
生成 N 个预测
{p1, p2, ..., pN}
LLM 验证器
分类到 6 级
{c1, c2, ..., cN}
确定参考等级 c*
分配分级奖励
{r1, r2, ..., rN}
GRPO 更新
策略梯度
更新模型参数

图注:SpeciaRL 的四层流水线。输入层(橙色)提供图片和真实标签;策略模型(蓝色)生成 N 个候选预测;验证层(绿色)通过 LLM 验证器将每个预测分类到特异性等级;奖励层(紫色)根据组内最佳预测确定动态参考等级并分配分级奖励;优化层(红色)通过 GRPO 更新策略模型参数。整个流程是端到端在线的,每次训练步骤都重新采样 N 个 rollout。

4.2 动态奖励的核心机制

SpeciaRL 的关键创新是样本级动态奖励。对于每个训练样本,奖励不是预先固定的,而是根据该样本在当前策略下的 N 个 rollout 表现动态确定的:

步骤一:生成 N 个 Rollout

对输入图片 I I I,策略模型生成 N N N 个预测 { p 1 , p 2 , ... , p N } \{p_1, p_2, \ldots, p_N\} {p1,p2,...,pN}。默认 N = 10 N = 10 N=10。

步骤二:LLM 验证器分类

每个预测 p i p_i pi 被 LLM 验证器分类到等级 c i ∈ { S + , S , S − , G , A , W } c_i \in \{S+, S, S-, G, A, W\} ci∈{S+,S,S−,G,A,W}。

步骤三:确定参考等级 c ∗ c^* c∗

参考等级是 N 个 rollout 中最高的特异性等级(即信息量最大的正确预测):

c ∗ = max ⁡ i { c i ∣ c i ∈ { S + , S , S − } } c^* = \max_{i} \left\{ c_i \mid c_i \in \{S+, S, S-\} \right\} c∗=imax{ci∣ci∈{S+,S,S−}}

如果所有 rollout 都是 W(错误),则 c ∗ = W c^* = W c∗=W。

步骤四:分配分级奖励

每个 rollout 的奖励 r i ∗ r_i^* ri∗ 取决于其等级 c i c_i ci 是否达到或超过参考等级 c ∗ c^* c∗:

r i ∗ = { specificity ( c i ) if c i ≥ c ∗ 0 otherwise r_i^* = \begin{cases} \text{specificity}(c_i) & \text{if } c_i \geq c^* \\ 0 & \text{otherwise} \end{cases} ri∗={specificity(ci)0if ci≥c∗otherwise

其中 specificity 是一个预定义的等级分数:

等级 分数
S+ 1.0
S 1.0
S- 0.75
G 0.5
A 0.25
W 0

4.3 动态奖励的物理直觉

想象一个教师面对一个学生。教师不是用一个固定的及格线评判所有学生,而是:

  • 先让学生做 10 次练习(N 个 rollout)
  • 观察学生最好能做到什么程度(参考等级 c ∗ c^* c∗)
  • 然后告诉学生:"你最好的一次达到了 S 级,所以我会奖励所有达到 S 级或更好的尝试"

这个机制的关键在于尊重模型的固有能力

  • 如果模型对某张图片的 10 次尝试中最好只是 G(泛泛),那么要求它输出 S(具体)是不合理的------强行奖励 S 会把它推向猜测区域
  • 如果模型对某张图片的 10 次尝试中有一次达到了 S+,那么说明它有能力做到,只是不够可靠------奖励所有达到 S+ 的尝试会强化这条推理路径

4.4 与静态奖励的对比

奖励类型 定义 问题
二元奖励 S+ 和 S 得 1,其他得 0 过于粗糙,不奖励 S- 和 G 级别的正确预测
静态分级 固定分数:S+(1), S(1), S-(0.75), G(0.5) 对所有样本一视同仁,忽视模型能力的样本差异
SpeciaRL 动态 基于组内最佳确定参考等级 自适应:对简单样本要求高,对困难样本要求低

4.5 认知检查点

因此,SpeciaRL 的动态奖励不是"更复杂的评分规则",而是一个能力感知的教学机制。它告诉模型:"我不强求你做到超出你能力的事,但我会奖励你做到你最好水平的事。"这种设计天然防止了"为了特异性而牺牲正确性"的跷跷板效应。


5. LLM 验证器:分级反馈的引擎

5.1 为什么需要外部验证器

在开放世界设置中,判断一个预测是否正确不是简单的字符串匹配。"金翅莺"、"Vermivora chrysoptera"、"Golden-winged Warbler"可能指向同一个概念,但表达方式不同。传统规则匹配无法处理这种语义等价性。

SpeciaRL 使用一个独立的 LLM(Qwen3-30B-A3B-Instruct-2507-FP8)作为验证器。验证器的职责是:

  • 比较模型预测 p p p 与真实标签 y y y 的语义关系
  • 判断 p p p 相对于 y y y 的特异性等级
  • 输出结构化的分类结果

5.2 验证器与评估器的分离

SpeciaRL 的一个重要工程决策是训练验证器与评估器使用不同的模型家族

  • 训练验证器:Qwen3-30B(用于计算奖励)
  • 评估器:Llama3-72B(用于最终性能评估)

这种分离避免了家族特定偏差:如果训练和评估使用同一个模型家族,模型可能学会"欺骗"验证器而非真正提升能力。使用不同家族的评估器确保了结果的客观性。

5.3 验证器的提示工程

验证器接收一个精心设计的提示,包含:

  • 任务描述:判断预测相对于真实标签的特异性等级
  • 等级定义:S+/S/S-/G/A/W 的详细说明
  • 示例:几个标注好的示例用于 few-shot 学习
  • 待评估的预测-标签对

提示的设计原则:

  • 明确区分"正确性"和"特异性"两个维度
  • 提供边界案例示例(如"汽车"vs"福特 Mustang 2024"vs"福特")
  • 要求验证器先输出推理过程,再给出分类结果

5.4 认知检查点

因此,LLM 验证器不是"一个更贵的标签器",而是 SpeciaRL 框架中不可或缺的语义理解层。在开放世界设置中,没有预定义词汇表,规则匹配失效,只有具备语义理解能力的 LLM 才能可靠地判断"这个预测比真实标签更具体还是更泛泛"。


6. GRPO 优化:组内相对优势估计

6.1 为什么不用标准 PPO

标准 PPO 需要一个独立的 Critic 网络来估计状态价值 V ( s ) V(s) V(s),用于计算优势函数 A ( s , a ) = Q ( s , a ) − V ( s ) A(s, a) = Q(s, a) - V(s) A(s,a)=Q(s,a)−V(s)。但在文本生成任务中:

  • Critic 网络与策略网络规模相当,显存开销翻倍
  • 价值估计在离散动作空间(token 选择)中不稳定
  • 长序列生成导致信用分配困难

GRPO(Group Relative Policy Optimization)通过组内相对估计消除了对 Critic 的需求。

6.2 GRPO 的核心机制

对于每个问题 q q q,GRPO 采样一组输出 { o 1 , o 2 , ... , o G } \{o_1, o_2, \ldots, o_G\} {o1,o2,...,oG}。每个输出的优势估计为:

A ^ i , t = r i − mean ( { r j } ) std ( { r j } ) \hat{A}_{i,t} = \frac{r_i - \text{mean}(\{r_j\})}{\text{std}(\{r_j\})} A^i,t=std({rj})ri−mean({rj})

即:每个 rollout 的优势是相对于同组其他 rollout 的标准化奖励。不需要 Critic,不需要价值估计。

6.3 SpeciaRL 中的 GRPO 适配

SpeciaRL 将 GRPO 与动态奖励结合:

  • 组大小 G = N = 10 G = N = 10 G=N=10(每个样本的 rollout 数)
  • 奖励 r i r_i ri 来自动态奖励机制(基于参考等级 c ∗ c^* c∗ 的分级分数)
  • 优势估计在组内完成,反映每个 rollout 相对于该样本"最佳表现"的优劣

GRPO 的目标函数:

L G R P O ( θ ) = E q , { o i } 1 G ∑ i = 1 G 1 ∣ o i ∣ ∑ t = 1 ∣ o i ∣ min ⁡ ( ρ i , t A \^ i , t , clip ( ρ i , t , 1 − ϵ , 1 + ϵ ) A \^ i , t ) − β D K L \[ π θ ∥ π r e f ] \mathcal{L}{GRPO}(\theta) = \mathbb{E}{q, \{o_i\}} \left \\frac{1}{G} \\sum_{i=1}\^{G} \\frac{1}{\|o_i\|} \\sum_{t=1}\^{\|o_i\|} \\min \\left( \\rho_{i,t} \\hat{A}_{i,t}, \\text{clip}(\\rho_{i,t}, 1-\\epsilon, 1+\\epsilon) \\hat{A}_{i,t} \\right) - \\beta D_{KL}\[\\pi_\\theta \\\| \\pi_{ref} \right] LGRPO(θ)=Eq,{oi} G1i=1∑G∣oi∣1t=1∑∣oi∣min(ρi,tA^i,t,clip(ρi,t,1−ϵ,1+ϵ)A^i,t)−βDKLπθ∥πref

其中 ρ i , t = π θ ( o i , t ∣ q , o i , < t ) π θ o l d ( o i , t ∣ q , o i , < t ) \rho_{i,t} = \frac{\pi_\theta(o_{i,t}|q, o_{i,<t})}{\pi_{\theta_{old}}(o_{i,t}|q, o_{i,<t})} ρi,t=πθold(oi,t∣q,oi,<t)πθ(oi,t∣q,oi,<t) 是新旧策略的概率比。

6.4 训练配置

超参数 工程原因
Rollouts 每样本 N N N 10 平衡估计方差与计算成本
Batch size 256 足够的梯度稳定性
学习率 η \eta η 3 × 10 − 5 3 \times 10^{-5} 3×10−5 标准 RL 微调范围
训练 epoch 15 收敛所需的步数
KL 惩罚系数 λ \lambda λ 0.01 防止策略偏离基线过远

6.5 认知检查点

因此,GRPO 不是"PPO 的简化版",而是一个为文本生成任务量身定制的优化算法。它消除了 Critic 网络的开销,通过组内相对估计解决了信用分配问题,与 SpeciaRL 的动态奖励形成了天然的协同:每个样本的 N 个 rollout 既是奖励计算的样本池,也是优势估计的参考组。


7. 实验验证:跨域泛化与消融分析

7.1 实验设置

维度 配置
训练数据 CUB-200 鸟类数据集,随机采样 3000 张
训练域 鸟类(单一域)
测试域 Flowers102、Food101、OxfordPets(细粒度);StanfordCars、FGVCAircraft(非常细粒度)
评估设置 跨域(out-of-domain):训练与测试数据来自完全不同的大类
基座模型 Qwen2.5VL-7B

跨域评估是 SpeciaRL 的核心实验设计:模型只在鸟类数据上训练,然后在花卉、食物、宠物、汽车、飞机等完全不同域上测试。这确保了评估的是泛化能力 而非记忆能力

7.2 主结果

模型 细粒度集 非常细粒度集
特异性 正确性 HM 特异性 正确性 HM
零-shot Qwen2.5VL-7B 0.742 0.846 0.790 0.555 0.919 0.692
Prompt "Be specific" 0.816 0.832 0.822 0.652 0.890 0.751
SFT 0.935 0.807 0.866 0.789 0.857 0.814
RFT(静态奖励) 0.875 0.785 0.825 0.825 0.833 0.821
SpeciaRL 0.920 0.848 0.883 0.818 0.855 0.830
BoN-64(理论上界) 0.889 0.984 0.933 0.770 0.998 0.868

关键发现:

  • SpeciaRL 在细粒度集上同时提升了特异性和正确性(相比基线的 0.742/0.846 提升到 0.920/0.848)
  • 在非常细粒度集上,SpeciaRL 的 HM(0.830)显著优于所有基线
  • SFT 虽然特异性最高(0.935),但正确性牺牲最大(0.807),验证了跷跷板效应
  • RFT 的静态奖励未能解决正确性下降问题

7.3 消融实验

7.3.1 静态奖励 vs 动态奖励
奖励设置 特异性 正确性 HM
S+&S(1)(二元) 0.875 0.785 0.825
S+&S(1)S-(0.75) 0.919 0.836 0.875
S+&S(1)S-(0.75)G(0.5) 0.884 0.874 0.878
S+&S(1)S-(0.75)G(0.5)A(0.25) 0.911 0.835 0.871
SpeciaRL 动态 0.920 0.848 0.883

即使是最复杂的静态分级奖励,也略逊于动态奖励。这说明根据样本能力自适应调整奖励阈值比固定阈值更有效。

7.3.2 Rollout 数量 N N N
N N N 特异性 正确性 HM
5 0.925 0.844 0.883
10 0.920 0.848 0.883
15 0.848 0.810 0.824

反直觉发现: N = 15 N = 15 N=15 时性能反而下降。这与 GRPO 的已知问题一致:过大的组大小会混合不相关的 episode,导致优势估计方差增大。 N = 10 N = 10 N=10 是一个 sweet spot。

7.4 定性分析

SpeciaRL 不仅提升了最终预测的特异性,还改善了推理过程本身

  • 基线模型虽然能在 thinking trace 中捕捉到细粒度视觉特征(如"黄色翅膀条纹"、"黑色眼罩"),但这些观察没有被用于推导细粒度类别
  • SpeciaRL 的推理过程更具目标导向性:视觉观察被直接用于支持具体的分类结论
  • 绿色高亮显示:SpeciaRL 的 reasoning trace 中,关键视觉证据与最终预测之间的逻辑连接更紧密

7.5 认知检查点

因此,SpeciaRL 的实验结果验证了一个核心假设:动态奖励机制能够在提升特异性的同时保护正确性。+0.041 的 HM 提升(相比 RFT)和 +0.093 的 HM 提升(相比基线)在细粒度分类领域是实质性的进步,因为它直接转化为对新型视觉概念的可靠识别能力。


8. 工程权衡与反直觉发现

8.1 反直觉一:更少的 Rollout 可能更好

传统观点认为,更多的采样(更大的 N N N)会提供更可靠的参考等级 c ∗ c^* c∗ 估计。但实验显示 N = 15 N = 15 N=15 时性能下降:

  • GRPO 的组内相对估计假设组内样本来自同一策略分布
  • 当 N N N 过大时,batch 中的不同样本被混合到同一个组中,违反了这一假设
  • N = 10 N = 10 N=10 在估计可靠性和统计效率之间找到了平衡

8.2 反直觉二:验证器不需要与策略模型同家族

很多工作使用与策略模型同家族的模型作为验证器(如 Qwen 验证 Qwen),认为这样可以更好地"理解"策略模型的输出。但 SpeciaRL 使用 Qwen3-30B 验证 Qwen2.5VL-7B:

  • 不同家族的验证器减少了"协同偏差"(collusion bias)
  • 验证器的职责是语义判断,而非风格匹配------不同家族模型在语义理解上同样胜任
  • 训练验证器与评估器的分离进一步确保了结果的客观性

8.3 反直觉三:SFT 的特异性最高但 HM 不是最高

SFT 在细粒度集上达到了 0.935 的特异性------高于 SpeciaRL 的 0.920。但 SFT 的 HM(0.866)低于 SpeciaRL(0.883)。这说明:

  • 单纯追求特异性会导致正确性崩溃(SFT 的正确性只有 0.807)
  • HM 作为平衡指标更能反映实际可用性
  • SpeciaRL 的"略低特异性 + 显著更高正确性"是更优的工程选择

8.4 反直觉四:模型已经知道答案,训练只是让它说出来

BoN-64 分析揭示了一个深刻的事实:模型在训练前就已经拥有细粒度知识。SpeciaRL 的训练不是"教新知识",而是"改变行为模式"------从"保守地输出 Generic"转变为"自信地输出 Specific"。

这意味着:

  • 训练数据量不需要很大(3000 张鸟类图片即可)
  • 关键在于奖励机制的设计,而非数据规模
  • 这种方法对数据稀缺的细粒度领域尤其有价值

8.5 常见工程误判

  • 误判:"提升特异性需要更多训练数据"

  • 事实:SpeciaRL 用 3000 张图片就实现了显著超越基线的性能,核心在于奖励机制而非数据量

  • 误判:"动态奖励计算开销太大,不实用"

  • 事实:LLM 验证器虽然慢,但只在训练时使用。推理时与标准模型一样快,无额外开销

  • 误判:"GRPO 的组大小越大越好"

  • 事实 : N = 10 N = 10 N=10 优于 N = 15 N = 15 N=15,说明组大小存在最优值,过大反而有害


9. 实际部署中的意义

9.1 对开放世界视觉识别的改变

当前视觉识别系统分为两类:

  • 封闭世界:固定标签集(ImageNet 1000 类),无法处理新类别
  • 开放世界但泛泛:能识别任意类别,但只输出 superclass("鸟"而非"金翅莺")

SpeciaRL 提供了一条中间路径:开放世界且具体------模型可以识别训练时从未见过的新类别,并且输出尽可能具体的类别名称。

这对实际应用的影响:

  • 生物多样性监测:自动识别相机陷阱拍摄的野生动物物种
  • 医学影像:识别具体的病变类型而非泛泛的"异常"
  • 零售识别:识别具体的产品型号而非"电子产品"

9.2 对推理模型训练范式的启示

SpeciaRL 的方法论可以推广到任何需要"在正确性与信息量之间做权衡"的生成任务:

  • 问答系统:回答应该具体到什么程度?"2024 年"vs"2024 年 7 月"vs"2024 年 7 月 15 日"
  • 代码生成:生成的代码应该使用具体库还是抽象接口?
  • 摘要生成:摘要应该包含多少细节?

核心原则:动态奖励应该基于模型自身的能力上界,而非预设的固定标准

9.3 局限与未来方向

当前局限 未来改进方向
仅支持图像分类 扩展到目标检测、语义分割、视频理解
特异性等级是离散的 6 级 引入连续特异性分数,更精细的奖励粒度
验证器是外部 LLM,训练时慢 开发轻量级验证器或蒸馏验证能力到策略模型
仅测试于视觉任务 验证于纯 NLP 任务的细粒度实体识别

9.4 认知检查点

因此,SpeciaRL 在实际部署中的意义不是"一个更好的图像分类器",而是一个新的训练范式:让模型学会在自身能力边界内最大化信息输出。这种"能力感知"的训练理念可以推广到任何生成任务,解决"保守 vs 冒进"的永恒张力。


10. 参考文献

  1. Angheben, S., Berasi, D., Conti, A., Ricci, E., & Wang, Y. (2026). Specificity-aware reinforcement learning for fine-grained open-world classification. CVPR 2026 , pp. 41467-41477. arXiv:2603.03197. (arXiv)
  2. SpeciaRL GitHub Repository. https://github.com/s-angheben/SpeciaRL
  3. Shao, Z., et al. (2024). DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models. arXiv:2402.03300. (GRPO algorithm)
  4. Bai, S., et al. (2025). Qwen2.5-VL Technical Report. arXiv:2502.13923.
  5. Conti, A., et al. (2025). What is the object in the image? Benchmarking LMMs for Open-World Image Classification. CVPR 2025.
  6. Bossard, L., et al. (2014). Food-101 -- Mining Discriminative Components with Random Forests. ECCV 2014.
  7. Nilsback, M. E., & Zisserman, A. (2008). Automated Flower Classification over a Large Number of Classes. ICVGIP 2008.
  8. Parkhi, O. M., et al. (2012). Cats and Dogs. CVPR 2012.
  9. Krause, J., et al. (2013). 3D Object Representations for Fine-Grained Categorization. ICCV 2013.
  10. Maji, S., et al. (2013). Fine-Grained Visual Classification of Aircraft. arXiv:1306.5151.