5.4 策略学习范式:行为克隆/模仿学习与离线强化学习


文档摘要

5.4 策略学习范式:行为克隆/模仿学习与离线强化学习 有了 VLA 架构,下一个问题是怎么训练。机器人策略学习的两大主流是行为克隆(从人类示教模仿)和强化学习(从奖励学习)。本节讲清这两种范式的原理、优劣与混合方案。 5.4.1 策略学习的两大范式 VLA 主要用模仿学习(BC + 变体),因为: 大规模真实操作数据来自人类示教(第 7 章)。 在线 RL 在真机上代价极高。 离线 RL 可与 BC 结合,作为 BC 的补充。 5.4.2 行为克隆(BC):监督学习思路 行为克隆(Behavioral Cloning, BC) 把策略学习当成监督学习: 数据:{(观测 $oi$, 专家动作 $ai$)} 来自人类示教。 目标:学习 $\pi\theta(o) \approx a$。

5.4 策略学习范式:行为克隆/模仿学习与离线强化学习

有了 VLA 架构,下一个问题是怎么训练。机器人策略学习的两大主流是行为克隆(从人类示教模仿)和强化学习(从奖励学习)。本节讲清这两种范式的原理、优劣与混合方案。

5.4.1 策略学习的两大范式

VLA 主要用模仿学习(BC + 变体),因为:

  • 大规模真实操作数据来自人类示教(第 7 章)。
  • 在线 RL 在真机上代价极高。
  • 离线 RL 可与 BC 结合,作为 BC 的补充。

5.4.2 行为克隆(BC):监督学习思路

行为克隆(Behavioral Cloning, BC) 把策略学习当成监督学习:

  • 数据:{(观测 o_i, 专家动作 a_i)} 来自人类示教。
  • 目标:学习 \pi_\theta(o) \approx a
  • 损失:MSE 或交叉熵。
# 行为克隆训练 def train_bc(policy, dataset): for obs, expert_action in dataset: pred_action = policy(obs) loss = mse(pred_action, expert_action) loss.backward() optimizer.step()

BC 的优势:

  • 实现简单(监督学习)。
  • 数据高效(每条示教都直接用)。
  • 不会「乱探索」(无 RL 的不稳定)。

5.4.3 BC 的致命问题:分布偏移

BC 有一个致命的累积误差问题——分布偏移(Distribution Shift / Covariate Shift)

训练时: 专家处于状态分布 D_expert 策略学到的是 "在 D_expert 上模仿专家" 推理时: 策略自己的小错误让它偏离 D_expert 进入从未见过的状态分布 D_policy 在 D_policy 上策略没学过 → 大错误 大错误让它更偏离 → 累积错误 → 失败

举例子:教机器人倒水。

  • 专家示教:杯子正中 → 倾倒。
  • 策略学:在杯子正中倒水。
  • 推理时:策略某次稍偏,杯子偏左了。
  • 在「杯子偏左」状态,策略没学过,可能让杯子更偏左。
  • 几步后完全失控。

这是 BC 的根本性局限——它学的是「在专家分布上模仿」,不是「在所有分布上都正确」。

5.4.4 DAgger:解决分布偏移的在线方案

DAgger(Dataset Aggregation) 通过让专家「修正策略的错误」来解决分布偏移:

迭代 1: 用 BC 训练初始策略 π_1 让 π_1 在环境中运行,收集它访问的状态 D_1 请专家对 D_1 的每个状态给出正确动作 a* 把 (D_1, a*) 加入训练集 重新训练得到 π_2 迭代 2: π_2 运行,收集 D_2 专家对 D_2 给出动作 ...

DAgger 的核心是「让策略访问的状态分布进入训练集」。这样策略在自己会进入的状态上都有专家示范,避免了分布偏移。

DAgger 的局限

  • 需要专家在线介入(人类反复标注)。
  • 在真实机器人上迭代成本高。
  • 专家本身可能犯错。

DAgger 在仿真中效果很好,但真机部署受限。当前 VLA 训练主要用 BC(大规模示教),DAgger 作为补充。

5.4.5 目标条件策略

另一种思路是目标条件策略(Goal-Conditioned Policy):不让策略模仿「下一个动作」,而是模仿「达到目标」:

  • 数据:{(观测 o_t, 目标 g, 动作 a_t)}。
  • 目标 g 可以是目标图像、目标位姿、目标语言。
  • 学习 \pi_\theta(o_t, g) = a_t

这种策略的好处:

  • 同一份数据可以训练多个目标(数据利用率高)。
  • 推理时给定目标,策略自主规划动作。
  • 与 VLA 兼容(语言指令作为目标)。

代表工作包括 MT-OptRT-G 等。

5.4.6 强化学习基础回顾

为讨论离线 RL,先快速回顾 RL 基础。RL 的目标是学习策略 \pi 最大化期望累计奖励:

\max_\pi \mathbb{E}_\pi \left[ \sum_{t=0}^{\infty} \gamma^t r_t \right]

值函数:

V^\pi(s) = \mathbb{E}_\pi \left[ \sum_t \gamma^t r_t | s_0 = s \right]

动作-值函数(Q 函数):

Q^\pi(s, a) = \mathbb{E}_\pi \left[ \sum_t \gamma^t r_t | s_0 = s, a_0 = a \right]

Bellman 方程

Q^\pi(s, a) = r(s, a) + \gamma \mathbb{E}_{s' \sim P}[V^\pi(s')]

这是所有 RL 算法的核心方程。

5.4.7 在线 RL 在机器人上的困难

经典 RL(DQN、PPO、SAC)需要在线与环境交互

  • 当前策略 \pi 在环境中执行,收集 (s, a, r, s') 转移。
  • 用这些转移更新 \pi
  • 新策略再执行,再收集,再更新。

在仿真(Atari、MuJoCo)中可行,但在真机上极难:

  • 真机一次试验几秒到几分钟,百万次试验不现实。
  • 探索过程可能损坏硬件。
  • 安全性无法保证。

这是为什么真机 VLA 训练几乎不用在线 RL——成本太高。

5.4.8 离线 RL:从固定数据集学习

离线 RL(Offline RL / Conservative RL) 解决了「真机不能在线探索」的问题:从一个固定的离线数据集学习策略,不再与环境交互。

数据集来源:

  • 人类示教(与 BC 同源)。
  • 自主探索的历史数据。
  • 仿真数据。
  • 跨本体聚合数据。

离线 RL 的核心挑战是分布外动作的评价

  • 数据集只覆盖了部分 (s, a) 转移。
  • 策略可能查询从未见过的 (s, a),Q 函数给出错误高估值。
  • 策略被错误高估值诱导,选择根本没见过的动作 → 失败。

5.4.9 CQL 与 IQL:主流离线 RL 算法

两种主流离线 RL 算法:

CQL(Conservative Q-Learning)

CQL(Kumar et al. 2020)的核心思想:让 Q 函数对数据集外的动作给出保守(低)估值,避免策略被错误高估值诱导:

\min_Q \quad \text{standard Bellman loss} + \alpha \cdot \left( \mathbb{E}_{s \sim D, a \sim \mu}[Q(s,a)] - \mathbb{E}_{(s,a) \sim D}[Q(s,a)] \right)

其中 μ 是某个分布(如均匀),第二项「拉低数据集外动作的 Q 值」。这阻止策略选择未见过的高估值动作。

IQL(Implicit Q-Learning)

IQL(Kostrikov et al. 2022)更进一步,完全避免查询数据集外动作

  • 用 expectile regression 学习 V 函数(只看数据集内动作)。
  • 从 V 推 Q(不查询 OOD 动作)。
  • 用 advantage-weighted regression 提取策略。

IQL 比 CQL 更稳健,工程上更易实现,是当前离线 RL 的主流选择。

离线 RL 在 VLA 中的应用

  • 用大量示教数据 + 少量自主数据训练离线 RL 策略。
  • 离线 RL 可以比 BC 学到更好的策略(因为它从奖励学习,不简单复制专家)。
  • 但奖励函数设计是难题——很多任务很难定义清晰奖励。

⚠️ 现实选择:当前 VLA 训练仍以 BC 为主,离线 RL 为辅。原因:(1) BC 简单稳定;(2) 离线 RL 奖励设计难;(3) 大规模示教数据的 BC 效果已经很好。离线 RL 的真正优势在奖励比模仿更容易定义的任务(如行走、跑步、能量效率)。

5.4.10 RLHF / 偏好学习:从人类反馈学习

借鉴 LLM 的 RLHF(Reinforcement Learning from Human Feedback),机器人也开始用人类偏好学习:

  • 准备多个策略生成的轨迹片段。
  • 让人类标注「哪个更好」。
  • 训练奖励模型拟合人类偏好。
  • 用 RL 优化策略最大化奖励。

这种方法的优势:

  • 不需要写明确的奖励函数(人类判断替代)。
  • 可以处理主观任务(如「优雅地折叠衣物」)。

代表工作包括 PEBBLEB-PrefHumanPhy 等。

5.4.11 在线 RL 在仿真中的角色:Sim-to-Real

虽然真机在线 RL 困难,但仿真中在线 RL 可行——这是 Sim-to-Real 的核心思路(第 7 章详述):

仿真中:

  • RL Agent 与仿真环境交互百万次。
  • 学习行走、跑步、操作等任务。
  • 通过 Domain Randomization(第 7 章)让学到的策略在真机上也工作。

这是 OpenAI Dactyl(解魔方)、四足机器人(ANYmal)等成功案例的范式。当前很多 VLA 也会用仿真数据预训练 + 真机数据微调。

5.4.12 BC vs 离线 RL vs 在线 RL:何时用哪个

范式 数据需求 训练稳定性 性能上限 适用
BC 高质量示教 接近专家 VLA 主流
DAgger 示教 + 在线专家 高于 BC 仿真 / 真机精细任务
目标条件 BC 示教 + 目标标注 灵活 多任务 VLA
离线 RL (IQL) 离线数据集 + 奖励 高于 BC 奖励易定义任务
在线 RL(仿真) 仿真环境 低(需调参) 极高 运动、平衡
RLHF 偏好数据 主观任务最优 主观质量任务

💡 当前格局:VLA 训练以 BC 为主、离线 RL 为辅、仿真 RL 预训练、RLHF 精修。没有单一范式主导,混合方案是主流。

5.4.13 训练 VLA 的完整流程

把所有范式综合,一个生产级 VLA 的训练流程:

四阶段:

  1. 预训练(BC):在大规模示教 + 仿真数据上训练基础 VLA。
  2. 微调:在特定任务/本体的少量数据上微调。
  3. 离线 RL:用奖励信号进一步优化(如提升成功率)。
  4. RLHF:用人类偏好精修(如让动作更自然)。

这个流程与 LLM 的「预训练 → 监督微调 → RLHF」高度相似——具身智能正在重走 LLM 的路。

5.4.14 VLA 训练的当前挑战

挑战 描述 当前应对
数据稀缺 高质量示教 << 互联网图文 大规模遥操作(第 7 章)
多任务平衡 多任务数据不均衡 任务加权采样、课程学习
泛化 vs 拟合 过拟合示教 vs 泛化新场景 数据增强、正则化
奖励设计 离线 RL 需要奖励 RLHF、目标条件
长程任务 数十步任务难训 分层 + 子任务分解
多本体 不同本体动作空间异构 跨本体训练(Octo)

本节小结

  • 策略学习两大范式:模仿学习(BC/DAgger)和强化学习(在线/离线)。
  • BC 是监督学习,简单但受分布偏移困扰——DAgger 用在线专家标注解决。
  • 目标条件策略让一份数据训练多目标,与 VLA 兼容。
  • 在线 RL 在真机不可行,仿真中可行(Sim-to-RL,第 7 章)。
  • 离线 RL(CQL/IQL)从固定数据集学习,CQL 保守、IQL 避免 OOD,IQL 是当前主流。
  • RLHF 用人类偏好学习主观任务。
  • VLA 训练流程:预训练 → 微调 → 离线 RL → RLHF,与 LLM 路径相似。
  • 挑战在数据稀缺、多任务平衡、奖励设计、长程任务、跨本体。

至此第 5 章结束。你已经掌握了 VLA 的完整技术栈:架构(5.1)、生成式策略(5.2)、模型谱系(5.3)、训练范式(5.4)。下一章《第 6 章 运动控制:从规划到执行的映射》将进入闭环的出口——VLA 输出的动作怎么变成关节力矩。


发布者: 作者: 灏天文库 转发
评论区 (0)
U