这个文档主要梳理pi0.6的算法步骤和核心公式,阅读本文前需要对pi0和pi0.5模型有一定理解。pi0.6的核心思想讲解可以看这个帖子:pi0.6

pi 0.6网站

在这里插入图片描述

论文总结
该论文提出了一种名为 RECAP (RL with Experience and Corrections via Advantage-conditioned Policies) 的通用方法,用于通过强化学习 (RL) 来改进视觉-语言-动作 (VLA) 模型在真实世界部署中的性能。

核心思想 (RECAP)
RECAP 是一个迭代式的离线 RL 框架,旨在将异构数据(包括演示数据、自主收集数据以及专家在自主执行过程中提供的遥操作干预)整合到 VLA 模型的自我改进过程中 。
RECAP 的训练流程包含三个可重复的步骤:

  1. 数据收集 (Data collection):部署 VLA 模型执行任务,收集自主运行的轨迹(rollouts),并根据任务结果进行奖励标签标注。可以选择性地加入人类专家干预,以提供错误纠正的示例。
  2. 价值函数训练 (Value function training):使用迄今为止收集的所有数据,训练一个大型、多任务的分布价值函数 ( V π r e f V^{\pi_{ref}} Vπref)。该价值函数能够评估失败和预测完成任务所需的预期时间 。
  3. 优势条件训练 (Advantage conditioned training):通过将一个基于优势值的最优性指示器 ( I t I_t It) 纳入 VLA 模型的输入中,来改进策略。这种“优势条件”方法提供了一种简单且可扩展的方式,可以从次优数据中提取出更优的策略 。

Algorithm 1(RECAP)详细解释
Algorithm 1 是 RL with Experience and Corrections via Advantage-conditioned Policies(RECAP,基于优势条件策略的经验与修正强化学习) 的核心流程定义,通过“预训练初始化→任务专属微调→多轮迭代优化”三步,实现VLA模型从演示数据、自主经验和专家干预中持续学习,最终提升任务性能。


Algorithm 1 RL with Experience and Corrections via Advantage-conditioned Policies (RECAP)
Require: multi-task demonstration dataset D d e m o D_{demo} Ddemo
1: Train V p r e V_{pre} Vpre on D d e m o D_{demo} Ddemo using Eq. 1
2: Train π p r e \pi_{pre} πpre on D d e m o D_{demo} Ddemo using Eq. 3 and V p r e V_{pre} Vpre
3: Initialize D ℓ D_\ell D with demonstrations for ℓ \ell
4: Train V ℓ 0 V_\ell^0 V0 from V p r e V_{pre} Vpre on D ℓ D_\ell D using Eq. 1
5: Train π ℓ 0 \pi_\ell^{0} π0 from mpre on D ℓ D_\ell D using Eq. 3 and V ℓ 0 V_\ell^0 V0
6: for k = 1 k = 1 k=1 to K K K do
7: Collect data with π ℓ k − 1 \pi_\ell^{k-1} πk1, add it to D ℓ D_\ell D
8: Train V ℓ k V_\ell^k Vk from V p r e V_{pre} Vpre on D ℓ D_\ell D using Eq. 1
9: Train π ℓ k \pi_\ell^k πk from πρre on D ℓ D_\ell D using Eq.3 and V ℓ k V^{k}_\ell Vk
10: end for


好的,这是您提供的符号、含义和关键属性的表格,已拆解为 Markdown 格式:

符号含义关键属性
D d e m o D_{demo} Ddemo多任务演示数据集预训练的基础数据,包含人类演示的各类机器人任务轨迹(如抓取、折叠、组装等)
V p r e V_{pre} Vpre预训练的价值函数基于 D d e m o D_{demo} Ddemo 训练,用于评估“动作对任务成功的贡献”,输出归一化的任务回报 ( − 1 , 0 ) (-1, 0) (1,0)
π p r e \pi_{pre} πpre预训练的VLA策略基于 D d e m o D_{demo} Ddemo V p r e V_{pre} Vpre 训练,具备基础的视觉-语言-动作映射能力,可作为后续任务微调的起点
ℓ \ell 目标任务标识如“折叠T恤”“制作浓缩咖啡”“组装纸箱”,每个任务有专属的指令和成功标准
D ℓ D_{\ell} D目标任务 ℓ \ell 的数据集初始为 ℓ \ell 的演示数据,后续会持续加入自主采集和专家干预的数据
V ℓ k V^k_{\ell} Vk k k k 轮迭代中,目标任务 ℓ \ell 的价值函数 V p r e V_{pre} Vpre 微调而来,基于当前 D ℓ D_{\ell} D 优化,更适配 ℓ \ell 的任务特性
π ℓ k \pi^k_{\ell} πk k k k 轮迭代中,目标任务 ℓ \ell 的VLA策略 π p r e \pi_{pre} πpre 微调而来,利用 V ℓ k V^k_{\ell} Vk 的优势信号优化,性能随迭代提升
K K K迭代总轮数实验中通常设为 1 − 2 1-2 12 轮(如浓缩咖啡任务 1 1 1 轮、纸箱组装任务 2 2 2 轮),即可实现显著性能提升
Eq. 1价值函数训练公式多任务分布型价值函数的交叉熵损失公式,目标是最小化“预测离散回报”与“真实离散回报”的差距
Eq. 3优势条件策略训练公式VLA策略的负对数似然损失公式,核心是将“二值化优势指标”作为输入,引导策略生成更优动作

逐步骤拆解算法流程
Algorithm 1 可分为预训练阶段(步骤1-2)、任务初始化阶段(步骤3-5)、迭代优化阶段(步骤6-10)三部分,流程逻辑闭环且可复用,以下逐步解析:

  1. 预训练阶段:构建通用基础模型(步骤1-2)
    目标:基于多任务演示数据 D d e m o D_{demo} Ddemo,训练“通用价值函数 V p r e V_{pre} Vpre”和“通用VLA策略 π p r e \pi_{pre} πpre”,为后续任务微调提供高质量起点。
  • 步骤1:训练预训练价值函数 V p r e V_{pre} Vpre
    输入:多任务演示数据集 D d e m o D_{demo} Ddemo(包含各类任务的轨迹、图像、语言指令、成功/失败标签)
    方法:使用Eq. 1(交叉熵损失) 训练,具体逻辑为:
    1. D d e m o D_{demo} Ddemo中每个轨迹的“真实回报”(成功任务的剩余步数、失败任务的大负值)进行离散化(分为201个bin);
    2. 训练 V p r e V_{pre} Vpre(670M参数VLM骨干),使其输入“图像+语言指令”后,输出的“离散回报分布”与“真实离散回报”的交叉熵最小。
      输出:通用价值函数 V p r e V_{pre} Vpre,可初步评估任意任务的动作优势。
  • 步骤2:训练预训练VLA策略 π p r e \pi_{pre} πpre
    输入:多任务演示数据集 D d e m o D_{demo} Ddemo、预训练价值函数 V p r e V_{pre} Vpre
    方法:使用Eq. 3(优势条件负对数似然损失) 训练,具体逻辑为:
    1. V p r e V_{pre} Vpre计算 D d e m o D_{demo} Ddemo中每个动作的优势值 A π r e f A^{\pi_{ref}} Aπref,并根据任务阈值 ϵ ℓ \epsilon_{\ell} ϵ生成二值化优势指标 I t I_t It A π r e f > ϵ ℓ A^{\pi_{ref}}>\epsilon_{\ell} Aπref>ϵ I t = T r u e I_t=True It=True,输入“Advantage: positive”);
    2. 训练 π p r e \pi_{pre} πpre(Gemma 3 4B VLM骨干+860M动作专家),使其在“图像+语言指令+ I t I_t It”的输入下,生成的动作(离散子任务+连续关节指令)的负对数似然最小。
      输出:通用VLA策略 π p r e \pi_{pre} πpre,具备基础的多任务动作生成能力,且可响应优势信号。
  1. 任务初始化阶段:适配目标任务(步骤3-5)
    目标:将通用预训练模型( V p r e V_{pre} Vpre π p r e \pi_{pre} πpre)微调为“目标任务 ℓ \ell 的初始模型”,解决“通用模型适配特定任务”的问题。
  • 步骤3:初始化目标任务数据集 D ℓ D_{\ell} D
    操作:将“目标任务 ℓ \ell 的专属演示数据”(如“折叠T恤”的人类演示轨迹)作为初始数据,存入 D ℓ D_{\ell} D
    目的:为后续微调提供“任务专属的高质量数据”,避免通用模型在 ℓ \ell 上的初始性能过低。
  • 步骤4:训练目标任务初始价值函数 V ℓ 0 V^0_{\ell} V0
    输入:预训练价值函数 V p r e V_{pre} Vpre、目标任务初始数据集 D ℓ D_{\ell} D
    方法:从 V p r e V_{pre} Vpre出发,使用Eq. 1 D ℓ D_{\ell} D上微调——因 D ℓ D_{\ell} D ℓ \ell 的专属数据,微调后的 V ℓ 0 V^0_{\ell} V0能更精准地评估 ℓ \ell 的动作优势(如“折叠T恤时,手臂抬起高度是否有利于平整布料”)。
    输出:目标任务 ℓ \ell 的初始价值函数 V ℓ 0 V^0_{\ell} V0
  • 步骤5:训练目标任务初始策略 π ℓ 0 \pi^0_{\ell} π0
    输入:预训练策略 π p r e \pi_{pre} πpre、目标任务初始数据集 D ℓ D_{\ell} D、初始价值函数 V ℓ 0 V^0_{\ell} V0
    方法:从 π p r e \pi_{pre} πpre出发,使用Eq. 3 D ℓ D_{\ell} D上微调——用 V ℓ 0 V^0_{\ell} V0计算 D ℓ D_{\ell} D的优势指标 I t I_t It,引导 π p r e \pi_{pre} πpre学习 ℓ \ell 的专属动作模式(如“制作浓缩咖啡时,压粉的力度和时间”)。
    输出:目标任务 ℓ \ell 的初始策略 π ℓ 0 \pi^0_{\ell} π0,此时模型已具备 ℓ \ell 的基础执行能力,但可能存在速度慢、故障率高的问题。
  1. 迭代优化阶段:从自主经验与专家干预中学习(步骤6-10)
    目标:通过“部署策略采集数据→优化价值函数→优化策略”的循环,让 π ℓ k \pi^k_{\ell} πk从真实执行经验中持续改进,核心是融入“自主数据”和“专家干预数据”。
  • 步骤6:迭代循环控制(for k = 1 to K)
    含义:从第1轮到第K轮迭代,每轮都是一次“数据采集→模型优化”的闭环。实验中K通常取1-2轮(如浓缩咖啡任务K=1,纸箱组装任务K=2),因多轮后性能会逐渐收敛,边际收益下降。
  • 步骤7:采集目标任务数据并更新 D ℓ D_{\ell} D
    输入:上一轮策略 π ℓ k − 1 \pi^{k-1}_{\ell} πk1(如k=1时,使用 π ℓ 0 \pi^0_{\ell} π0
    方法:部署 π ℓ k − 1 \pi^{k-1}_{\ell} πk1执行目标任务 ℓ \ell ,采集两类关键数据:
    1. 自主滚动数据:机器人完全自主执行的轨迹,无论成功/失败均记录(包含图像、动作、任务结果标签);
    2. 专家干预数据:专家远程监控,当机器人出现错误(如“折叠T恤时弄皱布料”“制作咖啡时掉落滤杯”)时,介入修正动作,修正部分的轨迹强制标记为“优势正例”( I t = T r u e I_t=True It=True)。
      操作:将采集的两类数据全部加入 D ℓ D_{\ell} D,使 D ℓ D_{\ell} D包含“演示数据+多轮自主数据+专家干预数据”,提升数据多样性和真实性。
  • 步骤8:训练第k轮价值函数 V ℓ k V^k_{\ell} Vk
    输入:预训练价值函数 V p r e V_{pre} Vpre、更新后的 D ℓ D_{\ell} D(含新采集数据)
    方法:从 V p r e V_{pre} Vpre出发,使用Eq. 1在新 D ℓ D_{\ell} D上微调——相比 V ℓ k − 1 V^{k-1}_{\ell} Vk1 V ℓ k V^k_{\ell} Vk能学习到“新数据中的错误模式”(如“自主执行中频繁失败的动作对应的低优势值”),评估精度更高。
    关键设计:每次均从 V p r e V_{pre} Vpre微调,而非从 V ℓ k − 1 V^{k-1}_{\ell} Vk1微调,目的是避免价值函数漂移(防止多轮后价值评估偏离真实任务目标)。
  • 步骤9:训练第k轮策略 π ℓ k \pi^k_{\ell} πk
    输入:预训练策略 π p r e \pi_{pre} πpre、更新后的 D ℓ D_{\ell} D、第k轮价值函数 V ℓ k V^k_{\ell} Vk
    方法:从 π p r e \pi_{pre} πpre出发,使用Eq. 3在新 D ℓ D_{\ell} D上微调——用 V ℓ k V^k_{\ell} Vk计算新 D ℓ D_{\ell} D的优势指标 I t I_t It,引导策略:
    • 保留自主数据中的“成功动作”(高优势值对应的动作);
    • 学习专家干预数据中的“修正动作”(强制 I t = T r u e I_t=True It=True的动作);
    • 避免自主数据中的“失败动作”(低优势值对应的动作)。
      关键设计:同价值函数,每次从 π p r e \pi_{pre} πpre微调,而非 π ℓ k − 1 \pi^{k-1}_{\ell} πk1,防止策略因“局部最优数据”陷入性能瓶颈。
  • 步骤10:结束迭代
    输出:目标任务 ℓ \ell 的最终优化策略 π ℓ K \pi^K_{\ell} πK(即论文中核心验证的 π 0.6 ∗ \pi_{0.6}^* π0.6针对 ℓ \ell 的任务专属模型)。
    价值函数训练
    在 RECAP 框架中,价值函数是 “评估动作优劣” 的核心组件 —— 它需判断 “当前观测下,执行某个动作后任务成功的概率与进度”,为后续 “优势条件策略提取” 提供可靠的 “优势信号”。而选择 “分布型价值函数”(而非传统单值价值函数),是为了更精准地建模真实世界任务的 “回报不确定性”(如折叠衣物时布料状态的随机性、制作咖啡时液体流动的不可控性)。

在这里插入图片描述

一、奖励函数定义(Reward Definition):稀疏且通用的目标导向设计
RECAP的核心目标是开发“适用于各类真实机器人任务的通用RL框架”,因此奖励函数需满足**“稀疏标注、任务无关、目标明确”** 三大原则,避免为每个任务单独设计复杂的奖励规则。

  1. 奖励函数的数学形式
    论文采用稀疏奖励函数,仅在“episode结束(成功/失败)”和“中间步骤”给出差异化奖励,公式为:
    r t = { 0  if  t = T  and success  − C fail   if  t = T  and failure  − 1  otherwise  r_{t}= \begin{cases}0 & \text { if } t=T \text { and success } \\ -C_{\text {fail }} & \text { if } t=T \text { and failure } \\ -1 & \text { otherwise }\end{cases} rt= 0Cfail 1 if t=T and success  if t=T and failure  otherwise 
    其中关键符号含义如下:
符号含义取值/作用
r t r_t rt t t t 步的即时奖励仅取三类值: 0 0 0(成功终点)、 − C f a i l -C_{fail} Cfail(失败终点)、 − 1 -1 1(中间步)
t = T t=T t=Tepisode 的最后一步即任务结束时刻(无论成功或失败)
C f a i l C_{fail} Cfail失败惩罚的大常数通常设为“远大于任务最大步数的值”(如任务最大步数 200 200 200,则 C f a i l = 100 / 200 C_{fail}=100/200 Cfail=100/200),确保失败 episode 的回报远低于成功 episode
“success/failure”episode 级成功/失败标签由人工标注或自动化判定(如“折叠T恤是否平整堆叠”“咖啡是否无洒落萃取”),是奖励函数的唯一外部输入
  1. 奖励函数的设计逻辑:为何选择“稀疏且负向主导”?
    (1)稀疏标注:降低人工成本,适配真实场景
    真实机器人任务中,“逐步标注奖励”(如“手臂抬起高度是否合适”“抓取力度是否恰当”)成本极高,且易引入主观误差。RECAP仅需标注“episode最终是否成功”,中间步骤无需人工干预——例如折叠T恤任务,只需判断“最终T恤是否折叠正确”,无需关注“展平、折叠袖子等中间动作的质量”,大幅降低标注成本,可规模化应用于家庭、工厂等场景。

(2)负向主导:直观反映“任务进度”
奖励函数的核心目标是让“累积回报”与“任务剩余步数”直接关联:

  • 中间步奖励 r t = − 1 r_t=-1 rt=1:每执行一步,累积回报减少1,对应“任务剩余步数减少1”(如从第0步到第10步,累积回报从 − S -S S S S S为总步数)变为 − ( S − 10 ) -(S-10) (S10));
  • 成功终点奖励 r T = 0 r_T=0 rT=0:episode成功时,累积回报停止减少,最终累积回报为“ − ( S ) -(S) (S)”( S S S为成功总步数),对应“剩余步数为0”;
  • 失败终点奖励 r T = − C f a i l r_T=-C_{fail} rT=Cfail:episode失败时,累积回报骤降为“ − ( k + C f a i l ) -(k + C_{fail}) (k+Cfail)”( k k k为失败前步数),因 C f a i l C_{fail} Cfail远大于 S S S,失败回报会远低于成功回报(如 − ( 10 + 100 ) = − 110 -(10 + 100) = -110 (10+100)=110 vs − 20 -20 20),清晰区分“正常进度”与“任务崩溃”。
    这种设计让“累积回报”天然成为“负的任务剩余步数”,无需额外转换即可为价值函数提供直观的“进度信号”。

(3)任务无关:通用适配多场景
无论任务是“折叠衣物(200步)”“制作咖啡(150步)”还是“组装纸箱(600步)”,均可用同一套奖励规则:

  • 仅需调整 C f a i l C_{fail} Cfail的大小(如纸箱组装任务 C f a i l = 200 C_{fail}=200 Cfail=200,折叠衣物 C f a i l = 100 C_{fail}=100 Cfail=100),确保失败惩罚大于该任务的最大成功回报;
  • 无需修改“中间步-1、成功0、失败 − C f a i l -C_{fail} Cfail”的核心逻辑,完美适配RECAP“多任务预训练+任务专属微调”的框架。
  1. 实例:用“制作浓缩咖啡”任务理解奖励累积
    假设制作浓缩咖啡的成功episode总步数 T = 100 T=100 T=100 C f a i l = 200 C_{fail}=200 Cfail=200),失败episode在第50步因“掉落滤杯”终止,两类场景的奖励累积如下:
场景步骤范围每步奖励累积回报(到该步)对应任务状态
成功episode0~99(中间步)-1第0步:-100
第50步:-50
第99步:-1
初始状态→磨豆完成→准备萃取
成功episode100(终点)0第100步:-100 + 0 = -100咖啡萃取完成,任务成功
失败episode0~49(中间步)-1第0步:-250(预估)
第49步:-201
初始状态→滤杯拿起→即将放置
失败episode50(终点)-200第50步:-201 + (-200) = -401滤杯掉落,任务失败

可见:成功episode的累积回报为“-总步数”(反映剩余步数),失败episode的累积回报为“远小于-总步数的大负值”(反映任务崩溃),价值函数可通过这一差异精准判断任务状态。

二、价值函数训练(Value Function Training):从稀疏奖励中学习进度评估
价值函数的核心作用是“将稀疏的奖励信号转化为稠密的进度评估”——即输入“当前观测+任务指令”,输出“当前状态下离成功的剩余步数(或其归一化值)”,为后续策略提取提供“优势信号”。RECAP的价值函数是**“多任务分布型价值函数”**,训练过程围绕“精准建模回报分布、适配多任务场景”展开。

  1. 价值函数的核心定位与架构
    (1)定位:多任务、分布型、语言条件
  • 多任务:可评估各类机器人任务(折叠、组装、制作)的进度,无需为每个任务单独训练;
  • 分布型:输出“回报的离散概率分布”(而非单一值),建模真实任务的回报不确定性(如折叠同一件T恤,剩余步数可能为10或12步);
  • 语言条件:输入包含“任务指令 ℓ \ell ”(如“折叠衬衫”vs“折叠短裤”),可根据指令调整评估逻辑,适配语言驱动的VLA框架。
    (2)模型架构:轻量化VLM骨干+价值头
    价值函数与VLA模型共享核心设计思路,但参数规模更小(确保训练与推理效率):
  • 骨干网络:基于670M参数的Gemma 3 VLM初始化(VLA用4B参数Gemma 3),复用其“视觉-语言理解能力”(如识别“衬衫衣领”“咖啡滤杯”);
  • 输出层(价值头):将VLM的视觉-语言特征映射为“201个离散回报bin的概率分布”( B = 201 B=201 B=201,即回报被离散为201个区间),满足 ∑ b = 1 201 p ϕ ( V = b ∣ o t , ℓ ) = 1 \sum_{b=1}^{201} p_{\phi}(V=b | o_t, \ell) = 1 b=1201pϕ(V=bot,)=1(概率和为1)。
  1. 训练目标:最小化交叉熵损失,匹配真实回报分布
    价值函数的训练数据是“参考策略 π r e f \pi_{ref} πref的轨迹数据集 D \mathcal{D} D”,每个样本包含“观测 o t o_t ot、任务指令 ℓ \ell 、真实回报 R t ( τ ) R_t(\tau) Rt(τ)”( R t ( τ ) = ∑ t ′ = t T r t ′ R_t(\tau) = \sum_{t'=t}^T r_{t'} Rt(τ)=t=tTrt,即从 t t t步到终点的累积奖励)。训练核心是让“预测的回报分布”尽可能接近“真实回报的离散分布”,具体分三步:

(1)步骤1:真实回报的离散化
将连续的真实回报 R t ( τ ) R_t(\tau) Rt(τ)映射到201个bin中,得到“真实离散回报 R t B ( τ ) R_t^B(\tau) RtB(τ)”(本质是one-hot向量):

  • 离散规则:根据任务 ℓ \ell 的“最大episode长度”动态划分bin范围——例如折叠T恤最大步数200,回报范围 [ − 200 , 0 ] [-200, 0] [200,0],则每个bin对应1个回报单位(bin1: [-200,-199],bin2: [-199,-198],…,bin201: [-1,0]);
  • 映射示例:若 R t ( τ ) = − 15 R_t(\tau) = -15 Rt(τ)=15(剩余15步成功),则映射到bin186( − 200 + 185 × 1 = − 15 -200 + 185×1 = -15 200+185×1=15),真实分布为“bin186概率=1,其他bin=0”。
    (2)步骤2:交叉熵损失函数
    训练目标是最小化“预测分布”与“真实离散分布”的交叉熵(衡量两个概率分布的差异),公式为:
    min ⁡ ϕ E τ ∈ D [ ∑ o t ∈ τ H ( R t B ( τ ) , p ϕ ( V ∣ o t , ℓ ) ) ] \min _{\phi} \mathbb{E}_{\tau \in \mathcal{D}}\left[\sum_{o_{t} \in \tau} H\left(R_{t}^{B}(\tau), p_{\phi}\left(V | o_{t}, \ell\right)\right)\right] ϕminEτD[otτH(RtB(τ),pϕ(Vot,))]
    其中:
  • H ( ⋅ , ⋅ ) H(\cdot, \cdot) H(,):交叉熵函数,计算方式为 H ( p , q ) = − ∑ b = 1 201 p ( b ) log ⁡ q ( b ) H(p, q) = -\sum_{b=1}^{201} p(b) \log q(b) H(p,q)=b=1201p(b)logq(b) p ( b ) p(b) p(b)是真实分布概率, q ( b ) q(b) q(b)是预测分布概率);
  • E τ ∈ D \mathbb{E}_{\tau \in \mathcal{D}} EτD:对数据集中所有轨迹取期望,确保模型在全量数据上学习;
  • ∑ o t ∈ τ \sum_{o_t \in \tau} otτ:对每条轨迹的所有时间步求和,让模型学习“每个观测对应的回报分布”。
    (3)步骤3:回报归一化(Normalization)
    为适配多任务场景(不同任务回报范围差异大,如折叠衣物 [ − 200 , 0 ] [-200,0] [200,0]、纸箱组装 [ − 600 , 0 ] [-600,0] [600,0]),训练时需将“预测回报分布”归一化到 ( − 1 , 0 ) (-1, 0) (1,0)区间:
  • 归一化规则:对每个任务 ℓ \ell ,用其“最大episode长度 T m a x T_{max} Tmax”进行缩放,即 V n o r m = R t ( τ ) / T m a x V_{norm} = R_t(\tau) / T_{max} Vnorm=Rt(τ)/Tmax
  • 示例:折叠T恤 T m a x = 200 T_{max}=200 Tmax=200,若 R t ( τ ) = − 15 R_t(\tau) = -15 Rt(τ)=15,则归一化后为 − 15 / 200 = − 0.075 -15/200 = -0.075 15/200=0.075;纸箱组装 T m a x = 600 T_{max}=600 Tmax=600,若 R t ( τ ) = − 60 R_t(\tau) = -60 Rt(τ)=60,则归一化后为 − 60 / 600 = − 0.1 -60/600 = -0.1 60/600=0.1
    归一化后,不同任务的价值函数输出范围统一,可支持多任务联合训练,且直观反映“相对进度”(如-0.075表示“完成92.5%的进度”)。
  1. 关键训练技巧:提升可靠性与泛化性
    论文通过两项工程技巧,避免价值函数过拟合或评估偏移:
    (1)多模态web数据辅训
    价值函数不仅在“机器人任务数据”上训练,还加入少量“多模态web数据”(如含动作描述的图像-文本对,如“折叠纸张”“冲泡咖啡”的教程图)进行联合训练:
  • 目的:复用web数据中的“视觉-动作关联知识”,提升对“柔性物体(布料)、液体(咖啡)、刚性物体(纸箱)”的通用理解,避免因机器人数据单一导致泛化能力下降。
    (2)固定VLM骨干,仅微调价值头
    训练时固定VLM骨干参数(从预训练Gemma 3加载,不更新),仅微调“价值头”(输出201个bin概率的全连接层):
  • 目的:复用VLM已有的“图像识别、语言理解”能力(如区分“衬衫”和“短裤”、理解“萃取咖啡”的指令含义),无需从零训练视觉-语言模块,大幅降低训练成本和过拟合风险。

训练价值函数时为什么要以交叉熵损失函数作为损失函数?为何是它而非MSE?


RECAP的价值函数是分布型价值函数(对应论文中的 p ϕ ( V ∣ o t , ℓ ) p_{\phi}(V | o_t, \ell) pϕ(Vot,)),而非传统的“单值预测”:

  1. 它将“任务回报”(即前文提到的“负剩余步数”)离散化为 B = 201 B=201 B=201 个区间(bin),每个bin对应一个具体的回报范围(如bin1对应[-100, -99],bin2对应[-99, -98],…,bin201对应[-1, 0]);
  2. 价值函数的输出是“每个bin的概率”,即输入 o t o_t ot(观测)和 ℓ \ell (任务指令)后,预测当前状态的回报属于每个bin的可能性(如“有80%概率属于bin50,对应回报-50”)。
    交叉熵损失(Cross-Entropy Loss)的本质是“衡量两个概率分布的相似度”,这与分布型价值函数的训练目标完美匹配,而传统MSE(均方误差)等损失函数无法满足需求,具体原因有3点:
  3. 直接对齐“分布预测”的目标
    价值函数的训练目标是“让预测的回报分布尽可能接近真实分布”:
  • 真实分布:对于每个训练样本( o t , ℓ o_t, \ell ot,),先计算其真实回报 R t R_t Rt(如“剩余10步”对应回报-10),再将 R t R_t Rt 映射到对应的bin(如-10对应bin191),此时“真实分布”是“该bin概率为1,其他bin为0”的one-hot分布;
  • 预测分布:价值函数输出每个bin的概率(如bin191概率0.7,其他bin概率0.3);
  • 交叉熵损失的作用:直接计算“预测分布与真实one-hot分布”的差距,损失越小,说明预测分布越集中在真实bin上,价值函数的回报估计越精准。
  1. 适配“回报离散化”的设计,避免信息丢失
    前文提到,回报被离散为201个bin(而非连续值),核心是为了让价值函数更好地学习“不同任务的回报尺度”(如折叠T恤200步、纸箱组装600步,回报范围不同)。
    交叉熵损失天然支持“分类式”的离散输出——每个bin可视为一个“类别”,价值函数的训练本质是“将当前状态分类到正确的回报bin”,无需额外转换即可适配离散化设计;而MSE等损失函数针对连续值优化,若用于离散bin,会丢失“bin之间的类别边界信息”(如将bin191和bin192的差异等同于“数值差1”,但忽略了它们是“不同回报区间”的分类属性)。
  2. 对“极端值(失败 episode)”更鲁棒
    RECAP中,失败episode的回报是 − C f a i l -C_{fail} Cfail(大负值,如-100),对应离散化后的“最左侧bin”。 交叉熵损失对“类别误判”的惩罚是对数级的:若价值函数将“失败状态”误判为“成功附近的bin”(如bin201),会产生极大的损失,强制模型快速纠正;而MSE对极端值的惩罚是平方级的,容易因“失败样本的大回报值”导致模型过拟合(如为了降低MSE,过度偏向预测大负值,影响正常成功episode的回报估计)。

基于优势条件的策略提取(Policy Extraction via Advantage Conditioning)
在RECAP框架中,“策略提取”是连接“价值函数评估”与“VLA策略优化”的核心环节——其目标是利用价值函数输出的优势信号,从异质性数据(演示、自主、专家干预数据)中提炼出比参考策略 π r e f \pi_{ref} πref更优的新策略 π ^ \hat{\pi} π^。本部分通过核心需求、方法设计、数学推导、实际实现四维度,解析为何选择“优势条件”而非传统方法,以及如何实现高效策略提取。
一、先明确:策略提取的核心需求
在RECAP的迭代训练流程中(数据采集→价值函数训练→策略提取),策略提取需满足三大关键需求,这也是区别于传统RL策略优化的核心原因:

  1. 适配异质性数据:数据来自多源(人类演示、机器人自主执行、专家远程干预),既有高质量的“成功轨迹”,也有含错误的“失败轨迹”,需能利用所有数据而非丢弃低质量样本;
  2. 兼容大型VLA模型:VLA模型(如 π 0.6 ∗ \pi_{0.6}^* π0.6)采用4B参数VLM骨干+860M动作专家,传统策略梯度方法(如PPO)需计算复杂的梯度更新,难以高效适配;
  3. 平衡“改进”与“稳定”:新策略需在“纠正参考策略错误(提升性能)”和“避免动作突变(保证部署稳定)”之间找平衡,避免因策略漂移导致机器人执行风险(如打翻咖啡、撕裂衣物)。
    二、传统策略提取方法的局限:为何不选PPO或AWR?
    论文明确对比了传统方法的不足,这也是选择“优势条件”的直接动因:
    传统方法
    核心原理
    关键局限(针对RECAP场景)
    PPO(近端策略优化)
    通过“信任域约束”限制策略更新幅度,最大化累积回报
  4. 需计算动作的对数似然梯度,而VLA的流匹配动作专家无显式似然,需设计复杂近似(如改进版DPPO/FPO);2. 离线场景下(数据批量采集后训练),信任域难以稳定,易导致性能下降(实验中PPO吞吐量远低于RECAP)
    AWR(优势加权回归)
    对高优势动作赋予高权重,低优势动作赋予低权重,通过加权回归优化策略
  5. 会大幅降权或丢弃低优势数据(如失败轨迹),浪费异质性数据中的“错误纠正信息”;2. 优化后策略速度慢(如折叠T恤任务中,AWR成功率尚可但吞吐量仅为RECAP的1/2)

简言之,传统方法要么“适配性差”(PPO难兼容VLA),要么“数据利用效率低”(AWR浪费数据),无法满足RECAP的核心需求。

三、优势条件策略提取的核心设计:三大关键步骤
RECAP的“优势条件策略提取”通过“定义改进信号→构建双条件策略→优化负对数似然”三步,解决传统方法的局限,具体流程如下:

  1. 步骤1:从价值函数获取“优势信号”——定义改进指标 l t l_t lt
    策略提取的前提是“明确哪些动作是‘改进动作’”,这一判断由价值函数输出的优势值决定:
  • 优势值计算: A π r e f ( o t , a t , ℓ ) = ∑ t ′ = t t + N − 1 r t ′ + V π r e f ( o t + N ) − V π r e f ( o t ) A^{\pi_{ref}}(o_t,a_t,\ell) = \sum_{t'=t}^{t+N-1} r_{t'} + V^{\pi_{ref}}(o_{t+N}) - V^{\pi_{ref}}(o_t) Aπref(ot,at,)=t=tt+N1rt+Vπref(ot+N)Vπref(ot)(N步优势估计,论文中N=50),含义是“动作 a t a_t at相对于参考策略 π r e f \pi_{ref} πref的额外价值”,值越大说明动作越可能带来性能提升;
  • 二值化改进指标:引入任务专属阈值 ϵ ℓ \epsilon_{\ell} ϵ(如预训练阶段设为任务优势值的30%分位数),定义 I t = 1 ( A π r e f ( o t , a t , ℓ ) > ϵ ℓ ) I_t = \mathbb{1}(A^{\pi_{ref}}(o_t,a_t,\ell) > \epsilon_{\ell}) It=1(Aπref(ot,at,)>ϵ) 1 ( ⋅ ) \mathbb{1}(\cdot) 1()为指示函数):
    • I t = 1 I_t=1 It=1(优势值超阈值):动作 a t a_t at被判定为“改进动作”(如专家修正的“衣领朝上”动作、自主执行中的“快速展平布料”动作);
    • I t = 0 I_t=0 It=0(优势值未超阈值):动作 a t a_t at被判定为“非改进动作”(如导致T恤掉落的“错误抓取动作”)。
      这一步的核心是将“连续的优势值”转化为“非黑即白的改进信号”,简化后续策略学习的判断逻辑。
  1. 步骤2:构建“双条件策略”——让VLA同时学习两种分布
    为利用所有数据并兼容大型VLA模型,论文设计让VLA模型 π θ \pi_{\theta} πθ同时学习两种条件下的动作分布,而非单独优化新策略:
  • 条件1:无改进信号的基础分布—— π θ ( a t ∣ o t , ℓ ) \pi_{\theta}(a_t | o_t, \ell) πθ(atot,)
    输入“观测 o t o_t ot(图像+机器人状态)+ 任务指令 ℓ \ell ”,输出动作 a t a_t at的概率,对应“参考策略的基础动作模式”(如折叠T恤的标准步骤),确保策略的稳定性;
  • 条件2:有改进信号的优化分布—— π θ ( a t ∣ I t , o t , ℓ ) \pi_{\theta}(a_t | I_t, o_t, \ell) πθ(atIt,ot,)
    在条件1的基础上,额外输入“改进指标 I t I_t It”,输出动作 a t a_t at的概率:
    • I t = 1 I_t=1 It=1时:模型需高概率输出“改进动作”(如专家干预的纠正动作);
    • I t = 0 I_t=0 It=0时:模型需降低“非改进动作”的概率(如失败动作)。
      这种“双条件设计”借鉴了*分类器-free引导(CFG)的思路(扩散模型中同时学习有无条件分布),优势在于:无需单独训练“改进策略”,可通过同一模型的两种输出组合得到优化策略,大幅降低训练成本。CFG 通过同时计算 有条件预测(conditional) 和 无条件预测(unconditional),并将它们线性组合,让扩散模型更严格地符合条件(如文本),从而增强生成质量和可控性。Classifier-Free Guidance (CFG) 是扩散模型(Diffusion Models)中最核心、最常用的“控制生成强度”的技术之一,用来让模型在生成时更加“听从”文本等条件信息。它最早由 Ho & Salimans(2022)提出,并被 Stable Diffusion、DALL·E 系列、Imagen 等大模型全面采用。
      在采样(推理)时,CFG 这样组合两种预测:
      ϵ CFG = ϵ θ ( x t , ∅ ) + w ⋅ [ ϵ θ ( x t , c ) − ϵ θ ( x t , ∅ ) ] \epsilon_{\text{CFG}} = \epsilon_{\theta}(x_t, \varnothing) + w \cdot \big[ \epsilon_{\theta}(x_t, c) - \epsilon_{\theta}(x_t, \varnothing) \big] ϵCFG=ϵθ(xt,)+w[ϵθ(xt,c)ϵθ(xt,)]
      其中, ϵ θ ( x t , c ) \epsilon_{\theta}(x_t, c) ϵθ(xt,c)是带提示词的噪声预测 ϵ θ ( x t , ∅ ) \epsilon_{\theta}(x_t, \varnothing) ϵθ(xt,)是 无条件噪声预测; w w w是 Guidance Scale(一般 5–12)。上面这个公式与Eq.3公式基本是一致的。在推理时,可以通过组合这两个学到的分布来“锐化”策略,从而隐式地实现基于优势值的策略改进(类似于理论中的 β > 1 \beta>1 β>1)。这种方法避免了传统策略梯度方法在 VLA 模型(特别是使用流匹配或扩散模型生成连续动作的模型)上难以应用的问题,同时能够有效利用所有离线数据。
  1. 步骤3:优化目标函数——最小化负对数似然(NLL)
    将“双条件策略学习”转化为可端到端优化的目标,即最小化负对数似然,公式为:
    min ⁡ θ E D π r e f [ − log ⁡ π θ ( a t ∣ o t , ℓ ) − α log ⁡ π θ ( a t ∣ I t , o t , ℓ ) ] \min _{\theta} \mathbb{E}_{\mathcal{D}_{\pi_{ref }}}\left[-\log \pi_{\theta}\left(a_{t} | o_{t}, \ell\right)-\alpha \log \pi_{\theta}\left(a_{t} | I_{t}, o_{t}, \ell\right)\right] θminEDπref[logπθ(atot,)αlogπθ(atIt,ot,)]
    其中:
  • D π r e f \mathcal{D}_{\pi_{ref}} Dπref:参考策略的数据集(含演示、自主、干预数据,无数据丢弃);
  • α \alpha α:平衡两种条件分布的超参数(论文中通过“30%概率随机省略 I t I_t It”替代 α \alpha α调优,简化实现);
  • 目标含义:让模型在“基础分布”上复现参考策略的动作(保证稳定),同时在“改进分布”上优先学习改进动作(提升性能)。
    目标函数的物理意义(以折叠T恤任务为例):
  • 对数据集中的“专家修正动作”( I t = 1 I_t=1 It=1):模型需同时满足“无 I t I_t It时能预测该动作(基础稳定)”和“有 I t = 1 I_t=1 It=1时更大概率预测该动作(改进优先)”,对应的负对数似然损失最小;
  • 对数据集中的“失败动作”( I t = 0 I_t=0 It=0):模型需满足“无 I t I_t It时能预测该动作(避免策略突变)”但“有 I t = 0 I_t=0 It=0时降低预测概率(减少错误)”,损失会惩罚“高概率预测失败动作”的情况。
    四、数学支撑:为何“优势条件”能保证策略改进?
    论文通过正则化RL理论证明,基于优势条件提取的新策略 π ^ \hat{\pi} π^能严格优于参考策略 π r e f \pi_{ref} πref,核心推导如下:
  1. 改进策略的闭式解
    回顾正则化RL的核心目标:在“最大化累积回报 J ( π ) J(\pi) J(π)”的同时,通过KL散度限制新策略与参考策略的差距(避免漂移),目标函数为:
    max ⁡ π ^ J ( π ^ ) − β ⋅ K L ( π ^ ∥ π r e f ) \max_{\hat{\pi}} J(\hat{\pi}) - \beta \cdot KL(\hat{\pi} \| \pi_{ref}) π^maxJ(π^)βKL(π^πref)
    其中 β \beta β为平衡参数。根据相对熵策略搜索(REPS)的经典理论,该目标的闭式解为:
    π ^ ( a ∣ o , ℓ ) ∝ π r e f ( a ∣ o , ℓ ) ⋅ exp ⁡ ( A π r e f ( o , a , ℓ ) β ) \hat{\pi}(a | o, \ell) \propto \pi_{ref}(a | o, \ell) \cdot \exp\left( \frac{A^{\pi_{ref}}(o,a,\ell)}{\beta} \right) π^(ao,)πref(ao,)exp(βAπref(o,a,))
    含义是“新策略的动作概率 = 参考策略概率 × 优势值的指数加权”,高优势动作会被放大,低优势动作会被抑制。

  2. 优势条件与闭式解的等价性
    在RECAP的“双条件策略”中,若将“改进条件分布与基础分布的比值”视为“优势值的指数加权”,即:
    π θ ( a ∣ I = 1 , o , ℓ ) π θ ( a ∣ o , ℓ ) ≈ exp ⁡ ( A π r e f ( o , a , ℓ ) β ) \frac{\pi_{\theta}(a | I=1, o, \ell)}{\pi_{\theta}(a | o, \ell)} \approx \exp\left( \frac{A^{\pi_{ref}}(o,a,\ell)}{\beta} \right) πθ(ao,)πθ(aI=1,o,)exp(βAπref(o,a,))
    则新策略可表示为:
    π ^ ( a ∣ o , ℓ ) ∝ π r e f ( a ∣ o , ℓ ) ⋅ ( π θ ( a ∣ I = 1 , o , ℓ ) π θ ( a ∣ o , ℓ ) ) β \hat{\pi}(a | o, \ell) \propto \pi_{ref}(a | o, \ell) \cdot \left( \frac{\pi_{\theta}(a | I=1, o, \ell)}{\pi_{\theta}(a | o, \ell)} \right)^{\beta} π^(ao,)πref(ao,)(πθ(ao,)πθ(aI=1,o,))β
    这与正则化RL的闭式解完全等价,且无需计算复杂的优势值指数——只需通过模型输出的两种分布比值即可实现“加权放大改进动作”,理论上保证了 J ( π ^ ) ≥ J ( π r e f ) J(\hat{\pi}) \geq J(\pi_{ref}) J(π^)J(πref)(新策略性能不低于参考策略)。

五、实际实现细节:适配VLA的特殊设计
为让“优势条件策略提取”适配 π 0.6 ∗ \pi_{0.6}^* π0.6这类大型VLA模型(含离散子任务输出+连续动作输出),论文还做了两处关键实现优化:

  1. 优势指标的输入位置:仅影响动作生成
    VLA模型的输出顺序为“离散子任务指令 ℓ ^ \hat{\ell} ^ → 离散化动作 a t ℓ a_t^{\ell} at → 连续动作 a t a_t at”。论文将“改进指标 I t I_t It”(如“Advantage: positive”文本)插入“ ℓ ^ \hat{\ell} ^之后、动作之前”的位置,确保:
  • 离散子任务指令 ℓ ^ \hat{\ell} ^不受 I t I_t It影响(如“拿起T恤”的高层决策保持稳定);
  • 仅离散化动作和连续动作受 I t I_t It调节(如“如何拿起T恤”的低阶动作优化),避免高层决策漂移。
  1. 连续动作的损失适配:流匹配损失替代似然
    VLA的连续动作(关节角度、 gripper 指令)通过流匹配(Flow Matching)生成,无显式对数似然。论文将目标函数中的“连续动作似然”替换为“流匹配损失”,最终目标函数变为:
    log ⁡ π θ ( a t , a t ℓ ∣ I t , o t , ℓ , ℓ ^ ) ≥ E η , ω [ log ⁡ p θ ( a t ℓ ∣ I t , o t , ℓ , ℓ ^ ) − α η ∥ ω − a t − f θ ( a t η , ω , I t , o t , ℓ , ℓ ^ ) ∥ 2 ] \log \pi_{\theta}(a_t, a_t^{\ell} | I_t, o_t, \ell, \hat{\ell}) \geq \mathbb{E}_{\eta,\omega}\left[ \log p_{\theta}(a_t^{\ell} | I_t, o_t, \ell, \hat{\ell}) - \alpha_{\eta} \| \omega - a_t - f_{\theta}(a_t^{\eta,\omega}, I_t, o_t, \ell, \hat{\ell}) \|^2 \right] logπθ(at,atIt,ot,,^)Eη,ω[logpθ(atIt,ot,,^)αηωatfθ(atη,ω,It,ot,,^)2]
    其中 f θ f_{\theta} fθ是流匹配专家的输出, ω \omega ω是噪声动作, α η \alpha_{\eta} αη是损失权重——通过这种近似,实现了“离散动作(交叉熵)+ 连续动作(流匹配)”的联合优化,适配VLA的混合输出模式。

算法的关键设计逻辑与优势
Algorithm 1 的核心竞争力源于三个关键设计,这也是其能在真实任务中实现“吞吐量翻倍、失败率减半”的原因:

  1. “预训练→微调”的两阶段初始化
    避免直接在目标任务上从零训练:预训练阶段用多任务数据构建通用能力,微调阶段用任务专属数据快速适配,大幅降低初始训练成本和数据需求。
  2. “数据采集-价值函数-策略”的迭代闭环
    打破“单一数据依赖”:每轮迭代都融入新的自主经验和专家干预,让模型不仅能“复现演示”,还能“修正错误、提升速度”——例如纸箱组装任务中,第2轮迭代后策略能避免“纸箱粘贴错位”的错误,吞吐量提升2倍。
  3. “从预训练模型重启微调”的防漂移机制
    价值函数和策略每次微调均从 V p r e V_{pre} Vpre π p r e \pi_{pre} πpre出发,而非上一轮模型:防止多轮迭代后,模型因“过度拟合低质量自主数据”导致性能漂移(如仅学习到“慢动作避免失败”,而非“快且准的动作”)。
    算法应用实例(以“折叠T恤”任务为例)
    为更直观理解,结合论文实验中的“折叠T恤”任务,展示Algorithm 1的实际执行过程:
  4. 预训练阶段:用 D d e m o D_{demo} Ddemo(含折叠、抓取、组装等多任务数据)训练 V p r e V_{pre} Vpre(能评估“动作是否有利于任务完成”)和 π p r e \pi_{pre} πpre(能生成基础折叠动作);
  5. 任务初始化阶段:
  • D ℓ D_{\ell} D初始化为“人类折叠T恤的演示数据”;
  • V p r e V_{pre} Vpre微调得到 V ℓ 0 V^0_{\ell} V0(能精准评估“T恤折叠时的布料平整度对应的优势”);
  • π p r e \pi_{pre} πpre微调得到 π ℓ 0 \pi^0_{\ell} π0(能完成T恤折叠,但速度慢,故障率约30%);
  1. 迭代优化阶段(K=2):
  • k=1:部署 π ℓ 0 \pi^0_{\ell} π0,采集300条自主数据(含210条成功、90条失败)+ 50条专家干预数据(修正“衣领朝下”错误),更新 D ℓ D_{\ell} D;用 D ℓ D_{\ell} D微调 V ℓ 1 V^1_{\ell} V1(能识别“衣领朝下”对应低优势)和 π ℓ 1 \pi^1_{\ell} π1(故障率降至18%,速度提升15%);
  • k=2:部署 π ℓ 1 \pi^1_{\ell} π1,采集300条新自主数据(260条成功、40条失败),更新 D ℓ D_{\ell} D;微调得到 V ℓ 2 V^2_{\ell} V2 π ℓ 2 \pi^2_{\ell} π2(故障率降至8%,速度再提升20%,吞吐量较 π ℓ 0 \pi^0_{\ell} π0提升50%);
  1. 最终输出: π ℓ 2 \pi^2_{\ell} π2(即 π 0.6 ∗ \pi_{0.6}^* π0.6的T恤折叠专属模型),能2小时无中断折叠T恤,成功率超90%。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐