← 返回首页

用成功轨迹的访问分布学习过程奖励

2026-06-24 RL Process Reward 机器人学习 Sergey Levine

机器人控制里,奖励信号几乎总是稀疏的:任务完成给 +1,其他时候全是 0。这种信号让信用分配变得极其困难——策略要试很多次才能偶然撞到一次成功,然后还得搞清楚到底是哪个动作导致了成功。

这篇来自 Sergey Levine 组的论文提出了一个极其简洁的思路:直接从过去的成功和失败轨迹中学习过程奖励,而且理论上保证不改变最优策略。

Svm method overview
Figure 1: Svm 方法概览。用判别器区分成功/失败轨迹的 state-action,输出比率作为过程奖励。

核心思想:用判别器区分成功与失败

方法名叫 Svm(Success Visitation Matching),核心只有一步:把历史轨迹分成两组——成功轨迹(获得正奖励)和失败轨迹(奖励为 0)。训练一个判别器来区分这两组轨迹在每个时间步上的 state-action。然后,用判别器的输出比率作为过程奖励:

rsvm(s, a) = rout(s) + λ · clipβ(log [f̂(s,a) / (1 - f̂(s,a))])

直觉:如果某个 (s, a) 在成功轨迹中比失败轨迹中更常出现,判别器给它高分;反之给低分。这样策略不仅因为到达成功状态而获得奖励,而且在"走向成功的路上"的每一步都能获得信号。

为什么最优策略不变?

论文给出了严格的理论证明:在确定性环境下,最大化 Svm 奖励的任何策略,同时也最大化原始的稀疏结果奖励。证明思路很直观——如果从某个 (s, a) 之前能够成功,那么再次到达这个状态仍然可以成功,所以在这个状态上给更高奖励不会引入错误信号。

更有意思的是,Svm 奖励可以被解读为一种 KL 正则化的 RL:

Επ[Σ rsvm] = J(π) + λ · Σ [KL(wπ ‖ ŵ-) − KL(wπ ‖ ŵ+)]

即最大化与失败轨迹的 KL 散度(远离失败),最小化与成功轨迹的 KL 散度(靠近成功)。这不是什么新 trick,而是把对抗式逆 RL(AIRL/GAIL)的思想巧妙地用在了稀疏奖励的设定上。

实验:显著加速 RL 微调

实验覆盖了三个主流机器人学习 benchmark。

LIBERO Scene 1 LIBERO Scene 2 LIBERO Scene 3 LIBERO aggregated
Figure 3: DSRL + Svm 在 LIBERO-90 三个场景上的结果(16个任务)。Svm 在前 1000 步训练就达到 DSRL 需要 5000 步才能达到的性能。

LIBERO-90(16个长视界操作任务):用 DSRL + Svm 微调,相比只 DSRL,成功率提升明显。在 Scene 2 上,Svm 实现了约 5 倍加速。

pi0 finetuning
Figure 6: Svm 用于 π0 模型微调,把基线策略从几乎无法完成任务提升到了可观的成功率。

真实世界 WidowX 机械臂(3个任务:拾取放置、开抽屉、用布盖刀):Svm 在真实环境中也稳定跑出更高的最终成功率和更快的收敛。

Real world task 1 Real world task 2
Figure 5: 真实世界 WidowX 机械臂上的 RL 微调结果。

消融实验

Svm reward heatmap
Figure 13: Svm 奖励热力图——在成功路径上奖励密集分布,直观展示了"过程奖励"的效果。

固定判别器 vs 在线更新:固定判别器效果差很多。随着策略提升,成功轨迹的分布会漂移,判别器必须跟着更新才能持续提供有效的奖励信号。

函数形式:直接用 log(f/(1-f)) 比其他变换(概率本身、阈值化等)效果最好。

与 GAIL 的关系:GAIL 用固定专家演示,Svm 用在线收集的成功轨迹作为"动态专家",能适应策略的变化。这个理论连接本身就很有价值。

工程意义

这个方法最大的优点是零额外设计:不需要任务特定的 reward shaping,不需要额外的探索策略,判别器就是一个简单的 MLP。把它插在任何 RL 算法(DSRL、Residual RL、RLPD)上就能用。

稀疏奖励是机器人 RL 从 sim-to-real 转移的最大瓶颈之一,Svm 提供了一个理论上站得住、工程上好实现的解决方案。对于做机器人学习的人来说,这是值得直接抄进自己 pipeline 的方法。