论文标题:
Reinforcement Learning without Ground-Truth Solutions via Rank-induced Verifiable Rewards
发表日期:
2026年06月
发表单位:
University of California, San Diego; Snowflake AI Research
原文链接:
https://arxiv.org/pdf/2606.27369v1.pdf
强化学习新范式:没有标准答案,AI也能“自学成才”?
过去大家聊强化学习,最常见的设定是“有标准答案”:答对了给奖励,答错了不给或者少给。这个套路在数学题、代码题里很好使,但一旦碰到优化类问题,事情就开始变味了。因为很多优化任务根本没有“唯一正确答案”,只有“谁更好一点”。这篇论文干的事,恰恰就是把这种没有标准答案的任务,改造成了可以训练大模型的强化学习环境。论文提出的框架叫 RiVER,全称是 Ranking-induced VERifiable rewards,中文可以理解为“由排序诱导的可验证奖励”。它的核心想法很朴素:既然没有标准答案,那就别死盯着“对不对”,而是看“在同一批候选方案里,谁更强”。图1:传统答案匹配验证与分组排序式可验证环境的对比。左边是“有标准答案”的老路子,右边是 RiVER 的思路:不需要金标准解,只要能执行、能检查约束、能算分,就能比较候选方案的好坏。这件事重要在哪?因为很多真实世界问题本来就不是“答题卡”模式。算法设计、调度规划、路径优化、组合搜索,往往只有一个目标函数,没有标准答案。以前这类任务更多是“拿来做评测”,现在 RiVER 想把它们变成“拿来训练”。这一步一旦成立,模型学到的就不只是做题技巧,而是更通用的优化和编程能力。
从“对错判断”到“好坏比较”,RiVER如何引导模型?
先把背景说人话。强化学习里,模型会先生成一堆候选答案,然后环境给奖励,模型再根据奖励调整策略。传统的 RLVR,即 Reinforcement Learning with Verifiable Rewards,中文是“带可验证奖励的强化学习”,通常奖励是二值的:对了给 1,错了给 0。这个方法在有标准答案时很直接,但在优化任务里就不够用了,因为很多可行解都不止一个,差别也不是“有/没有”这么粗暴。RiVER 的做法更像“考场里不看标准答案,改看同场考生排名”。模型对同一个问题一次采样出一组程序,程序会被执行到同一批隐藏测试实例上。只要程序能跑、输出合法,评测器就给出一个客观分数;如果程序崩了、超时了、格式错了,就直接判失败。然后 RiVER 不直接拿原始分数做训练,而是先在同一个实例内部排序,再把排序结果变成奖励信号。这里的关键点是:奖励不是“像不像标准答案”,而是“在同一题上比别的候选解强不强”。这就把优化题从“找唯一正确解”改造成了“学会挑更优解”。对强化学习来说,这种信号更细,也更适合让模型慢慢学出稳定的优化偏好。图2:RiVER的整体训练流程示意图。模型先生成一组可执行程序,再在相同隐藏实例上执行、打分、排序,最后把排序后的奖励送进 GRPO 更新策略。整个流程的重点不是“找标准答案”,而是“比较候选程序的相对质量”。
两大痛点:原始分数“不靠谱”,策略更新“被带偏”
论文之所以要单独设计 RiVER,是因为作者发现:直接拿执行分数训练,表面上在涨,实际上容易学歪。而且这个“学歪”还不是小问题,是会把模型往错误方向推。第一个坑叫 scale dominance,中文可以叫“尺度支配”。意思是,不同测试实例的分数尺度不一样,有的题分数范围很大,有的很小。你如果把原始分数直接平均,最后梯度会被数值大的实例牵着走,模型优化的不是“谁更好”,而是“谁数字更大”。这就像把 100 米短跑和马拉松放在一个表里,最后只看公里数,不看成绩,多少有点离谱。第二个坑叫 frequency dominance,中文可理解为“频率支配”。在一组采样里,某些平庸但常见的解会被反复采出来;而真正更强的解可能只出现一次。若奖励设计不够聪明,模型更新时,反而是这些“重复出现的平庸解”拿走了更多梯度。说白了就是:常见不等于优秀,刷屏不等于有用。所以,RiVER 不是简单“换个奖励函数”这么轻巧,而是针对这两个坑做了定向处理:先把不同实例的分数拉到同一比较框架里,再把最强候选从一堆普通候选里拎出来。这个思路像极了比赛评奖:不是看谁嗓门大,而是看谁真拿了第一。
实例内排序+胜者优先:RiVER的“双保险”奖励机制
RiVER 的设计看上去不复杂,但很讲究。它不是拍脑袋把分数改一改,而是分成两步:实例内排序,再加上胜者优先的奖励塑形。先说实例内排序。对同一个隐藏测试实例,RiVER 把一组候选程序按分数排个名次。这个排名只在同一个实例里比较,因此不会被不同题目的分数尺度干扰。换句话说,只要是同一题、同一批测试数据,谁更强就排前面;别的题分数再大,也不来抢戏。排序之后,RiVER 还做了一个很关键的动作:让最强的候选更“值钱”。也就是 winner-heavy shaping,中文可以理解为“胜者优先的奖励塑形”。最好的候选拿到最明确的正奖励,其他合法候选也不是一刀切成零,而是给有限、可区分的反馈。这样做的好处是,模型不会只学会“赢者通吃”,也不会让一堆平庸解平均分走注意力。论文里还提到一个细节:平均名次(average-tie ranking)。如果多个候选分数一样,就不要强行装作它们有严格先后,而是把它们放在同一个区间里平均处理。这个小动作很实在,能避免“重复生成的同质解”被过度奖励,减少模型在同一类模板上来回打转。如果把整个机制压缩成一句话,那就是:先把分数的“绝对大小”放一边,只看相对排名;再把最强候选单独拎出来,避免频繁出现的平庸解抢走训练信号。这就是 RiVER 的“双保险”。从工程角度看,这种设计还有一个优点:奖励是有界的,训练更稳。相比直接把原始执行分数扔进策略优化,RiVER 至少先把“数值爆炸”和“尺度混乱”这两个老毛病按住了。对强化学习来说,稳定性往往比“看起来很猛”更重要。
RiVER 的意义,不只是把一篇强化学习论文做漂亮了,而是给“没有标准答案的任务能不能训练大模型”这个问题,交出了一份相当硬的答案。它证明了一件很现实的事:只要环境能执行、能比较、能排序,优化题就不只是评测题,也可以是训练题。不过,这个方法也不是万能钥匙。它依赖确定性的执行反馈,适合那些能写出可执行程序、能算出客观分数的任务;如果任务本身没有稳定评测器,或者评测成本太高,RiVER 的玩法就不一定好复制。换句话说,它更像是“把一类可验证优化任务变成训练场”,而不是把所有开放式问题都一锅端。但它给行业的启发很明确:以后做大模型后训练,别总盯着“有没有标准答案”。很多时候,真正值钱的是“能不能比较优劣”“能不能形成稳定的相对信号”。如果这个方向继续往前走,优化、规划、调度、搜索这类任务,可能会从“专门的业务问题”变成“通用能力的训练燃料”。