楼主: yueqing710
120 0

[其他] VLA 的强化学习后训练框架π_RL详解 [推广有奖]

  • 0关注
  • 0粉丝

学前班

40%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
0 小时
注册时间
2018-9-16
最后登录
2018-9-16

楼主
yueqing710 发表于 2025-12-11 18:32:48 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

青稞社区:https://qingkeai.online

原文链接:https://qingkeai.online/archives/π_RL_01

在之前的 Talk 分享中,RLinf 团队的林灏与臧宏之分别介绍了 RLinf 系统的整体架构以及其在视觉语言动作模型(VLA)中的实际应用。本期内容,我们邀请到北京大学计算机学院在读博士生陈康,联合 RLinf 团队,深入探讨一项新工作——πRL,一个专为流匹配型 VLA 设计的强化学习后训练框架。

陈康目前是北京大学直博生,主要研究方向集中在 VLA 的强化学习训练方法与计算摄影成像领域,已作为第一作者在 CVPR、NeurIPS、AAAI 等国际顶级会议上发表多篇论文。

什么是 VLA?

VLA(Visual-Language-Action Model)是一类能够结合视觉输入和自然语言指令来生成机器人动作序列的智能模型。早期的 π-0 与 π-0.5 即属于此类模型。这类系统通常配备三视角相机,并接收如“clean the bedroom”之类的文本指令,进而完成一系列复杂的长程任务,在泛化能力和任务分解方面表现出较强潜力。

大语言模型的典型训练流程回顾

在进入 VLA 训练细节前,我们可以先回溯大语言模型(LLM)的标准训练路径,这有助于理解后续的技术迁移逻辑。

  • 预训练阶段:通过掩码语言建模或自回归方式,让模型学习基础的语言结构。例如,将句子中的某个词遮蔽,要求模型预测下一个词,从而掌握上下文关联能力。
  • 指令微调(SFT):使用人工构造的指令-响应对进行监督训练,使模型能按照用户意图输出合理回答。这也是当前 GPT、GLM 等模型实现问答功能的核心步骤。
  • 基于人类反馈的强化学习(RLHF):在此基础上引入偏好学习机制。给定一个问题,模型生成多个答案,由人工标注更优选项;再利用强化学习算法(如 PPO)优化策略,使输出逐步对齐人类偏好。

VLA 的训练流程及其挑战

与大语言模型类似,VLA 的训练也包含多个阶段:

首先是大规模预训练,使用跨本体数据集(涵盖不同机械臂结构、环境设置与相机视角),学习从图像和文本到动作的映射关系。但由于目标平台(如特定机械臂)与预训练数据分布存在差异,直接部署效果有限,因此需进一步进行指令微调(SFT)

SFT 阶段通常依赖遥操作采集专家轨迹(例如在 Libero 基准任务中收集数据),然后对模型进行精调。然而,这一过程面临三大关键问题:

1. 数据成本高昂

以 Google 的 RT-2-X 为例,其训练所用数据量远超开源项目 Open X-Embodiment。对于大多数研究者而言,要在真实或仿真环境中收集数十甚至上百条高质量轨迹,不仅耗时且资源密集。每次迭代都需要重新采集数据,极大限制了可扩展性。

2. 模型易出现过拟合

现有 VLA 模型在训练数据覆盖范围内表现良好,但一旦遇到分布外(OOD)状态便容易失效。例如,在 LIBERO 上训练的 π-0 模型,若初始夹爪状态由“打开”变为“闭合”,尽管任务相同,模型却无法正确执行“放置碗”的动作。原因在于专家数据中从未包含此类初始状态,导致模型缺乏鲁棒性。

3. 性能受限于专家数据质量

SFT 的上限受制于专家轨迹的质量。即使采用最先进的 VLA 架构,若示范数据本身存在偏差或次优行为,最终策略也无法超越专家水平。这是监督学习固有的瓶颈。

我们的解决方案:引入强化学习

为了突破上述限制,我们提出通过在线强化学习机制(如 PPO、GRPO)让模型与环境持续交互。环境提供奖励信号,指示“哪些动作更优”,模型据此自动调整策略参数,逐步探索出比专家更高效的执行路径。这正是 VLA + 强化学习的核心价值所在。

已有工作与研究空白

早在 2025 年 5 月左右,已有不少关于 VLA 结合强化学习的研究出现,比如 OpenVLA 的 RL 方法。但这些尝试大多集中于标准解码器架构的 VLA 模型,如 OpenVLA 及其微调版本 OpenVLA-OFT,并未拓展至基于流匹配(flow matching)的 VLA 框架(如 π-0 和 π-0.5)。

而我们于 2025 年 10 月推出的工作,正是填补这一空白:首次为流匹配类 VLA 构建了一套可行且有效的强化学习后训练范式,即 πRL

强化学习的标准建模框架

在介绍具体方法前,我们先回顾强化学习的基本建模方式。

通常,我们将智能体与环境的交互过程建模为一个马尔可夫决策过程(MDP)。以右侧图示的机器人为例:假设任务是捕捉一只蝴蝶。在当前观测状态 O_t 下,模型需要决定采取何种动作(例如向前移动一步抓取目标)。

在执行动作后,环境会依据状态转移方程计算下一时刻的状态(例如是否成功捕捉到蝴蝶),并返回相应的奖励信号(如“你真棒!”)。这种奖励机制引导模型在后续训练中不断调整策略,以更高效、准确地完成目标任务。

在策略优化过程中(如采用 PPO 或 GRPO 算法),一个关键前提是:必须能够计算模型输出动作的对数概率 log p(a|s)。只有具备该概率值,才能通过梯度反传将奖励信息有效传递至视觉-语言-动作(VLA)模型中。若无法显式获得该概率,则梯度更新路径将被阻断。

对于基于 LLaMA 架构改进的 OpenVLA 模型而言,其最终通过 softmax 层输出 token 概率分布,因此天然支持每个动作 token 的概率获取。

而对于输出连续动作空间的模型(如 OpenVLA-OFT),通常采取以下两种方式处理概率问题:

  • 第一种是引入噪声头结构,使模型拟合高斯分布参数,从而推导出动作发生的概率密度;
  • 第二种则是不直接映射 MLP 输出为连续值,而是沿用 OpenVLA 的离散分词机制,仅借用 OpenVLA-OFT 的并行加速能力,规避连续动作概率的显式计算。

然而,针对 π-0 和 π-0.5 这类基于 flow matching 技术的连续动作 VLA 模型,情况更为复杂。

首先回顾 flow matching 的基本原理:它从一个可采样的初始分布(如标准高斯分布)出发,利用流场(vector field)将其逐步映射为目标动作分布。这一过程涉及对隐变量的前向传播以及对速度场的时间积分。

理论上,已知初始变量 X_0 的分布,可以推导出最终动作 X_1 的分布形式。但此推导需在每一步计算流场的散度(divergence)。当动作维度较高时,散度的数值计算开销极大,导致难以准确估计对数似然——这与 OFT 或 OpenVLA 等模型形成鲜明对比。

这是第一个挑战。第二个问题是:flow matching 本质上依赖于常微分方程(ODE)进行采样,其随机性仅来源于输入的初始噪声,整个演化过程是确定性的。这种缺乏内在探索机制的特性,不利于强化学习中所需的策略探索。

值得注意的是,在 VLA 领域之外,diffusion 与 flow-based model 相关研究已尝试解决上述问题。例如 DPPO 探索了 diffusion policy 在 RL 中的应用,ReinFlow 提出了 flow policy 的强化学习训练方法,而 Flow-TRPO 更是在文生图任务中实现了 TRPO 的适配。

我们的工作正是在此基础上展开,致力于将这些方法推广至更大规模的 flow-based 视觉语言动作模型,以应对包含数千种操作组合的复杂现实任务场景。

为此,我们提出两种新型训练框架:

  1. Flow Noise
  2. Flow SDE

整体架构遵循标准强化学习流程:首先通过策略 rollout 收集轨迹数据,获取对应奖励信号;随后从中采样训练样本,并使用 PPO 等算法进行策略更新。整体框架设计简洁且易于实现。

Flow Noise

首先介绍 Flow Noise 方法。如前所述,要在 MDP 框架下进行强化学习优化,必须能计算动作输出的概率。ReinFlow 论文提供了一条可行思路:虽然 flow matching 难以直接估计边缘动作分布,但可通过联合分布进行近似替代。我们采纳了该理论路径。

在获得联合分布后,可将其分解为条件概率链。例如,从时间点 0 到 K(对应连续时间区间 [0,1]),整个去噪序列可被建模为:先计算初始噪声 A_0 的采样概率,再依次计算相邻时间步之间的转移概率。这一过程类似于 diffusion model 中通过重参数化技巧逐层累积转移概率的方式。通过累乘或累加对数概率,即可近似得到从 A_0A_1 的完整联合概率密度。

然而仍存在一个问题:原始 flow matching 策略本质上是确定性的,无法直接定义从 tt+Δt 的状态转移概率。为此,我们借鉴连续动作空间 RL 的常见做法——将输出动作建模为概率分布。

不同之处在于,我们将这一思想应用于 flow matching 的每一步状态转移过程。具体来说,在从 tt+Δt 的演化中,模型不仅预测速度场 V,还额外输出一个可学习的方差参数。

这样一来,动作被显式建模为高斯分布,使得相邻步骤间的转移概率得以计算。Flow Noise 的核心理念即在于:将整个生成过程构建为单层马尔可夫决策过程(MDP),引入可学习的噪声机制,并利用联合概率密度实现近似的策略梯度优化。

Flow SDE

该方案部分继承自 ReinFlow 的技术路线。此外,我们进一步提出了第二种方法——Flow SDE,其将系统建模为双层马尔可夫决策过程(two-level MDP)。

以往方法通常将去噪过程视为策略内部的单层 MDP;而 Flow SDE 则打破这一界限,将动作生成与环境交互过程进行耦合建模。

具体而言,我们将环境观测与去噪过程中的中间动作状态共同作为统一的状态表示,构建起内外两层结构:内层 MDP 负责在固定观测条件下完成动作生成,外层 MDP 描述执行动作后引发的环境状态转移。由此实现动作生成与环境动态的协同优化。

以机器人追逐蝴蝶的任务为例,可以直观地理解双层 MDP 的设计思想。在该框架中,系统的状态不仅包括机器人的本体状态,还涵盖了动作生成过程中的中间状态。通过 flow policy,我们将一个简单的高斯分布逐步映射为目标动作分布,并将这一生成机制与环境交互过程紧密耦合。

在动作生成阶段,由于观测信息保持不变,这一过程可被建模为内层 MDP;当动作生成完成,机器人执行动作并与环境发生交互,其自身状态随之更新(例如未成功抓取蝴蝶导致摔倒),此时系统进入外层状态转移。随后,需重新从高斯分布采样,动作相关的状态也随之刷新。由此,传统的单层 MDP 被有效解耦为内外两层结构。

这种分层建模方式的优势在于:我们无需显式计算 flow matching 所产生的边缘动作分布,而只需关注 flow policy 在第 0 步到第 1 步之间的转移概率。相比直接从初始高斯分布拟合最终动作分布,这一局部转移的建模难度显著降低,更易于训练和优化。

在 Flow SDE 方法中,我们沿用了 Flow-GRPO 的基本架构,利用 ODE 到 SDE 的数学等价性自然引入随机噪声,避免了额外设计噪声网络或对方差进行估计的需求。具体的理论推导过程可参考 Flow-GRPO 相关论文。

关于 MDP 的训练效率问题

无论是采用单层还是双层 MDP 结构,都会面临数据缓冲区(buffer)效率的问题。像 OpenVLA 或 OFT 这类模型通常一次性输出动作,因此 buffer 中存储的数据量较小;而 flow policy 包含多步迭代去噪过程,导致 buffer 规模显著增大。如何在不牺牲性能的前提下提升训练速度?

我们借鉴了文生图领域的一个核心理念:

并非每一个去噪步骤都需要完整参与训练。

例如,可以将最后两步视为确定性策略,等同于实际的环境交互环节,忽略其内部的状态演变。若选定第 2 步作为噪声注入的关键时刻,则前后其余步骤也可被视为确定性过程处理。这样一来,buffer 中仅需保存一个关键去噪步的数据,大幅减少了存储开销并加速了训练流程。

两种方案对比总结

尽管概念上有所差异,但两种方法在代码实现上的改动并不大。

  • Flow Noise:需要计算完整去噪链条的联合概率,涵盖初始高斯采样的概率以及每一步的转移概率。
  • Flow SDE:采用跳步策略实现加速,仅保留一个去噪时间步的数据即可。

在噪声注入机制方面:

  • Flow SDE 通过严格的数学推导,直接转化为带噪声的 SDE 形式,无需额外模块;
  • Flow Noise 则引入了一个名为 ReinFlow-explore noise net 的专用网络,用于维持策略的探索能力。

我们同时支持 PPO 和 GRPO 两种主流的策略优化算法。其中 GRPO 是 critic-free 的方法,不需要设计价值函数;而 PPO 需依赖 value 网络对动作价值进行估计。

为此,我们采用了共享式价值头的设计:在 action decoder 的基础上附加一个轻量级 critic 模块。但由于 π-0 和 π-0.5 架构存在差异,critic 的接入位置也有所不同:

  • 对于 π-0.5,state 信息已融入 VLM 内部,因此 critic 可直接接在 VLM 输出之后,结构简洁;
  • 而对于 π-0,state 与动作信息共同输入至 action decoder 进行去噪处理。若将 critic 接在 VLM 前端,会导致 state 信息丢失,故我们选择将其置于 action decoder 之后。

然而这带来新的挑战:critic 的输入会包含带有噪声的动作,而理想的价值估计应独立于具体动作。为缓解此问题,我们对噪声动作在整个时间维度上求期望(即取平均),尽可能消除噪声扰动,从而获得更加稳定和平滑的价值估计结果。

熟悉该领域的研究者可能了解,π-0.6 同样配备了 critic 模块,但其使用了一个独立的、高达 700MB 的 VLM 进行训练。相比之下,我们的 critic 仅由一个几 MB 大小的投影层构成,参数量极小,却仍能取得良好效果。

实验设置与基准测试

前述内容主要聚焦于理论构建,接下来进入实验验证部分。我们在 LIBERO、ManiSkill、Metaworld 和 CALVIN 等多个主流 benchmark 上进行了全面评估,并持续扩展对其他框架的支持。

实验围绕三个核心问题展开:

  1. 强化学习(RL)是否真正提升了模型性能?(SFT 受限于专家数据的质量上限)
  2. RL 是否能够减少对大量标注轨迹的依赖?(SFT 需要高质量、大规模的演示数据)
  3. RL 是否有助于缓解过拟合现象?(SFT 容易因轨迹集中而导致泛化能力下降)

性能提升表现

在多个 benchmark 上,我们都观察到了明显的性能增益:

  • LIBERO(简单任务场景):成功率接近 100%;
  • ManiSkill(自建组合任务,包含光照变化、物体类别多样性及机械臂初始姿态扰动):依然表现出显著提升;
  • Metaworld(涵盖 50 类不同任务):最高达到 85% 的成功率。

除了成功率之外,我们也关注任务执行效率的变化。在 LIBERO 上,SFT 阶段完成任务所需的平均轨迹长度为 62 步;而在 RL 训练过程中,该数值持续下降,最终逼近预设的理想目标步数,表明 RL 能有效优化执行路径,提高效率。

可视化对比进一步显示:SFT 阶段的模型在面对分布外(OOD)场景(如从未见过的物体摆放位置)时,常出现抓取失败;而经过 RL 训练后,抓取动作基本一次成功,整体成功率大幅提升。

在 CALVIN 长程任务中,经过监督微调(SFT)的模型常因某个子任务失败而停滞不前,例如无法将左下角的方块推至右侧。引入强化学习(RL)后,动作序列更加连贯流畅,整体任务成功率显著提升。CALVIN 的评估体系包含多个指标:length 1 表示完成第一个子任务的成功率,length 5 则衡量连续完成前五个子任务的能力。

实验结果显示,采用 RL 后,length 1 接近 100%,但由于误差累积,length 5 尚未达到满分;相比之下,SFT 方法即使 length 1 达到 94%,其 length 5 也仅略高于 50%。这表明 RL 对于长程任务具有明显增益效果。奖励机制设计为稀疏形式——每成功完成一个子任务获得 reward=1。

数据效率的提升

在 LIBERO 数据集上的实验进一步验证了“小样本 SFT + RL”范式的高效性:

  • π-0 模型仅使用 58 条轨迹进行 SFT(约占官方数据集 1692 条的 3%,且仅覆盖前三个任务),结合 RL 训练后,性能已超越基于全量数据训练的 SFT 模型;
  • π-0.5 使用更少的数据——共计 40 条轨迹(对应 4 个子任务,每个子任务包含 10 个小任务),在 SFT 加上 RL 后仍能取得良好表现。

上述结果说明,在有限示范数据下,引入 RL 可大幅提高数据利用效率,优于单纯依赖大量标注轨迹的传统 SFT 范式。

类似趋势也在 SimpleVLA-RL 研究中被观察到:仅用单条轨迹进行 SFT,再通过 RL 训练,即可在 LIBERO-Long 这类复杂长程任务中实现显著性能跃升。可视化分析显示,初始阶段由于严重分布外(OOD)问题,夹爪动作混乱无序;而经过 RL 优化后,动作变得平滑协调,仅在个别困难任务上出现失败。

泛化能力的增强

为了评估模型的泛化性能,我们在 ManiSkill 平台上进行了分布外(OOD)测试,涵盖视觉、语言和动作三个层面:

视觉层面:更换桌面颜色或纹理,并在输入图像中添加噪声;
语言层面:训练时使用“萝卜”作为指令对象,测试时替换为“杯子”;训练使用红色盘子,测试则采用不同颜色或纹理的容器;
动作层面:调整机械臂初始状态,如设定夹爪起始为闭合姿态。

结果表明,经过 RL 训练后的模型在各类 OOD 场景下的表现均有提升,说明 RL 不仅缓解了过拟合现象,还增强了整体泛化能力。

此外,在 LIBERO-Long 的 task 8 中观察到一个有趣现象:该任务在前 100 步内始终无法成功(由于稀疏奖励机制,无成功即无反馈信号,理论上难以学习)。然而随后其成功率突然上升。原因在于模型在其他任务中习得的通用动作策略发生了迁移,使其首次达成部分成功,从而触发正向反馈循环,推动性能快速提升。

关于 zero-shot 泛化的讨论

那么,RL 是否意味着视觉-语言-动作(VLA)模型具备 zero-shot 泛化能力?答案是否定的。我们在 Metaworld 上进行了验证:在 45 个任务上进行 RL 训练,另选取 5 个完全未见的新类型任务进行测试(不同于 ManiSkill 中单一的 pick-place 类型)。结果显示,尽管训练任务的表现持续上升,但新任务的性能反而下降。

这一现象归因于遗忘问题:在 RL 过程中,模型逐渐丢失了 SFT 阶段所掌握的通用知识。例如,原本能在未知任务中成功放置物块的能力,在 RL 后变得迟缓且精度降低——虽然保留了一定基础动作能力,但因缺乏对该任务的直接经验,导致执行质量退化。

消融实验分析

我们首先对比了 PPO 与 GRPO 两种算法。在当前设定下,PPO 整体表现优于 GRPO。尽管近期有基于 GRPO 的研究取得了不错成果,但在本实验中,GRPO 的收敛稳定性始终不及 PPO。

其次,我们考察了 critic 网络结构及其深度的影响:

  • 蓝线代表单层 MLP 构成的 critic,绿线为四层 MLP;更深的网络不仅收敛后的 loss 更低,reward 曲线也更为稳定;
  • 在 π-0 模型中比较 critic 的接入位置:将其连接在视觉语言模型(VLM)输出之后的效果优于接在动作解码器之后。这看似违反直觉(因缺少显式 state 信息),但实际上,后者需在存在动作噪声的情况下进行价值估计,对优化过程造成轻微干扰。尽管差异较小,我们最终选择在 VLM 后接入 critic 的方案。

最后,我们对比了两类 MDP 设计:

  • 单层 MDP(基于 Flow Noise)收敛较快,但需要将完整的去噪流程存入回放缓冲区,导致每次优化耗时较长(约 800 秒);
  • 双层 MDP(基于 Flow SDE,支持跳步机制)在保持相近性能的同时,优化速度提升一倍(约 400 秒),效率优势明显。

目前,这两种方法均已开源,便于后续研究者进一步加速与改进。

关于噪声注入策略,我们比较了可学习噪声与从 ODE 到 SDE 的转换方式。两者性能接近:前者可能带来轻微精度损失,但可通过 entropy loss 约束,使训练结束时噪声趋近于零;后者实现更简洁,无需额外参数或网络结构调整,更具工程实用性。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:DIVERGENCE Diffusion benchmark two-level matching

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-20 16:49