VLA 与具身闭环:从“看懂并模仿”到“安全地纠错”
本讲迁移自原课程讲义,经 AI 事实核查未发现存疑项,未逐页人工审核;如有出入,以原始论文和 CS285 课程资料为准。
学习目标
- 将具身任务写为含隐藏动力学、延迟与记忆的 POMDP,并说明长 horizon 下误差为何复合。
- 比较 BC、ACT、Diffusion Policy 对单峰/多模态动作分布的归纳偏置与闭环代价。
- 在 coverage、OOD 与安全约束下选用 IQL/CQL/RLPD 及 offline-to-online 协议。
- 设计 sim2real、CVaR/约束 MDP、安全层、人工接管和 world-model replanning。
- 完成 LIBERO/ManiSkill 上 BC→DAgger 或 IQL 项目,交付多 seed、视频证据、碰撞/接管/成本审计。
VLA 把 camera、proprioception 与 language 映射为机器人动作,但“能生成动作”不等于“能闭环完成任务”。本讲从模块 01 的 BC/DAgger、模块 09 的 offline RL 与模块 08 的 world model 出发,追踪视觉状态估计+控制、端到端 BC、ACT/action chunking、Diffusion Policy、offline-to-online 与安全真机部署。重复理论只作深链:模仿学习、离线 RL、模型式 RL。
0. 学习目标、先修与证据边界
学习目标
- 将具身任务写为含隐藏动力学、延迟与记忆的 POMDP,并说明长 horizon 下误差为何复合。
- 比较 BC、ACT、Diffusion Policy 对单峰/多模态动作分布的归纳偏置与闭环代价。
- 在 coverage、OOD 与安全约束下选用 IQL/CQL/RLPD 及 offline-to-online 协议。
- 设计 sim2real、CVaR/约束 MDP、安全层、人工接管和 world-model replanning。
- 完成 LIBERO/ManiSkill 上 BC→DAgger 或 IQL 项目,交付多 seed、视频证据、碰撞/接管/成本审计。
先修与证据
先修:BC/DAgger、actor-critic、offline RL、MPC、POMDP、模块 20 的视觉依赖性。【A 一手论文/数据】 【B 官方代码/文档】 【C 多方复现】 【D 研究判断】。机器人数据集、基准与硬件迭代快;本文只给入口,不将某版本结果外推到真机。最后核验:2026-07-11。
1. 方法谱系:每次转向都在修复上一代的闭环失败
| 阶段 | 核心假设 | 失败 | 转念 | 新增代价 |
|---|---|---|---|---|
| 视觉状态估计+控制 | 感知可模块化、状态充分 | 误差接口脆弱 | 端到端 BC | 可解释性下降 |
| 端到端 BC | 专家数据覆盖部署状态 | 复合误差 | DAgger 在线聚合 | 专家查询与安全成本 |
| ACT/action chunk | 短片段内动作连贯 | chunk 内开环 | 重叠执行与高频重规划 | 推理频率/抖动权衡 |
| Diffusion Policy | 动作分布多模态 | 采样慢、闭环延迟 | 少步采样/蒸馏 | 模式覆盖可能损失 |
| Offline RL | 日志含可改进信号 | OOD Q 过估计 | 保守/隐式策略改进 | 可能过保守 |
| Online correction/RLPD | 可安全收集少量在线数据 | 探索有风险 | 约束、安全层、接管 | 系统复杂度与人力 |
| World model+MPC | 短期模型足够准确 | 模型利用与长时漂移 | 短 horizon 重规划 | 模型训练与规划成本 |
图 21-1:具身策略的主线是不断把训练分布拉回真实闭环分布。
2. 具身 POMDP:视频观察、隐藏动力学与长 horizon
真实状态 包含物体姿态、接触、摩擦、执行器温度等;策略只见多相机图像、proprioception 与语言指令。动力学参数 在回合内可能固定但未知,延迟使“当前观察”实际对应过去状态。
把一帧图像当作 Markov state 是工程近似,必须用遮挡、接触后滑移、不同摩擦同画面等测试验证。记忆可用帧堆叠、RNN/Transformer history 或显式 belief:
实际 VLA 很少精确做 Bayes filtering;隐藏状态网络是摊销近似。应报告历史窗口消融,不能因网络“有 Transformer”就声称解决了部分可观测性。
长 horizon 的本质
若单步策略离开专家支持的概率为 ,独立近似下 步至少一次偏离的概率为 ;偏离后的状态更陌生,实际可坏到二次累积。闭环恢复能力比离线 action MSE 更接近部署目标。
3. VLA 输入/输出契约:频率、归一化和延迟先于模型
| 通道 | 表示 | 必须记录 | 典型错配 |
|---|---|---|---|
| camera | RGB/depth,多视角 | 内外参、曝光、时间戳、裁剪 | 相机不同步、训练/部署 resize 不同 |
| proprio | 关节、速度、夹爪、力矩 | 单位、坐标系、滤波与 mask | 度/弧度、缺失值填零被当状态 |
| language | 任务/子目标/约束 | 模板、tokenizer、来源 | 指令泄漏任务 ID |
| action | joint、末端位姿、gripper | 绝对/增量、坐标系、限幅 | world/base/tool frame 混用 |
连续动作常标准化为 或按分位数缩放。均值方差必须只用训练集,且部署时反归一化后再做物理限幅。动作 chunk 可降低有效决策频率:
重叠 chunk 的 temporal ensembling 降抖,但混合不同上下文下的动作可能穿过障碍。安全关键场景应先验证逐动作限幅和碰撞预测,再平均。
延迟预算
端到端延迟 。如果 20 Hz 控制周期是 50 ms,而推理 P99 为 80 ms,离线成功率再高也不是可部署系统。报告 P50/P95/P99、deadline miss 与降级策略。
4. BC、ACT 与 Diffusion:多模态动作不是小细节
高斯 BC 常最小化 MSE:
若绕障既可向左也可向右,条件均值可能直撞障碍。这不是“训练不够”,而是单峰损失的统计最优。混合密度、离散 action token 与 diffusion 可显式表达多模态动作;ACT 的 CVAE 潜变量主要参与训练期表示学习。
ACT 用 conditional VAE 表示动作 chunk;简化目标为:
ACT 训练时由 CVAE encoder 推断潜变量,但原始实现推理时丢弃 encoder 并令 为先验均值 ,因此部署策略是确定性的,不能把推理时的动作多样性归因于该潜变量 [1]。chunk 提供时序一致性,但开环执行也带来代价。Diffusion Policy 对动作序列逐步去噪:
它能表达复杂多峰分布,但多步采样增加延迟;少步蒸馏改变模式覆盖。比较时必须 matched 参数量、视觉 backbone、数据与控制频率,并报告闭环成功,不只报 action MSE。
诊断:MSE 下降但成功率下降
- 按场景可视化动作条件分布,检查均值是否落在低密度/危险区域。
- 将成功轨迹与恢复轨迹分开;数据多为“顺利执行”,MSE 会忽略恢复动作。
- 检查控制延迟、chunk 边界和归一化;离线误差对相位偏移极敏感。
- 用闭环扰动测试:物体平移、抓取滑落、短暂遮挡;测 recovery success 和恢复步数。
5. Offline RL、IQL/CQL/RLPD 与 offline-to-online
BC 不区分高低回报,也无法利用失败日志。Offline RL 试图在固定数据 上做策略改进,核心风险是对数据外动作的 Q 过估计。IQL 不显式查询策略 OOD 动作,用 expectile value 与 advantage-weighted BC:
其中 。IQL 的保守来自只在数据动作上学习,不保证所有分布都安全。CQL 显式压低数据外动作:
连续高维动作中的积分需采样近似, 过大导致“什么都不敢做”。RLPD 类方法把离线 replay 与在线数据混合,并依赖高更新数据比、ensemble/正则等稳定器;它不是免安全探索许可证。
| 数据条件 | 首选基线 | 主要风险 | 必须对照 |
|---|---|---|---|
| 几乎全成功示范 | BC/ACT/Diffusion | 无失败价值信号 | reweighted BC |
| 成功+失败、覆盖尚可 | IQL/CQL | Q 外推/过保守 | BC、return-weighted BC |
| 可安全在线少量纠偏 | DAgger/RLPD | 探索与分布漂移 | 同在线样本量 BC |
coverage 不是数据量
百万步重复成功轨迹也可能不含“抓偏后如何恢复”。用状态/动作覆盖、失败前邻域、任务条件覆盖与最近邻距离审计,而不是用总帧数替代支持集。
6. Sim2Real:随机化、辨识、尾部风险与安全层
Domain randomization 采样纹理、光照、相机、质量、摩擦与延迟;system identification 则用真实轨迹反推参数。前者追求覆盖,后者追求集中,两者可组合成 posterior randomization:
视觉 gap 与动力学 gap 要分开消融:只随机纹理不能修复摩擦,调动力学不能修复反光。平均回报掩盖极少但严重的碰撞;可用 CVaR:
约束 MDP 将任务回报与成本分开:
Lagrangian 是训练近似,不是物理安全保证。部署安全层需做 action bounds、速度/力矩限制、碰撞检测、workspace barrier、watchdog、急停与人工接管。接管本身也是有偏数据:人只在感知到风险时介入,不能当随机样本。
人工接管协议
记录触发者、触发原因、接管前 5–10 秒、接管动作、恢复点与是否误触发。指标同时报 intervention/episode、time-to-intervention、near-miss 和 false-positive;只报“零事故”可能只是人接得快。
7. World Models / MPC 与 VLA:短视地准确胜过长梦
学习动力学 后,MPC 每步规划有限 horizon,再执行首个动作并重规划:
“”表示只执行最优序列首动作。短 horizon 限制模型误差累积,replanning 用新观察纠偏;但优化器会主动寻找模型不真实的高回报区域(model exploitation)。
模型误差会随规划时域传播并可能被优化器利用;其具体上界取决于误差度量、奖励与动力学的正则条件以及状态分布,接触不连续时尤其不能套用统一公式。实践用 ensemble disagreement、终端价值、短 horizon、行为先验和真实数据回灌抑制利用。
| 组合 | 作用 | 失败 | 诊断 |
|---|---|---|---|
| VLA proposal + MPC rerank | 缩小候选空间 | proposal 不含恢复动作 | oracle candidate coverage |
| World model imagination | 扩增训练 | 幻觉状态污染 critic | 真实/想象 TD 分拆 |
| Residual policy | 在 BC 上小幅纠偏 | 残差破坏安全动作 | 残差范数与 barrier 触发 |
8. 数据入口、mixture 与评测:版本和归属要克制
Open X-Embodiment 是跨 embodiment 数据集合入口;LIBERO 面向终身机器人学习/操控评测;ManiSkill 提供可扩展仿真操控环境。它们的任务、许可证、机器人与版本不同,不应混成“统一数据集”。使用时以官方仓库和论文的特定版本为准。
按样本量采样会让大数据源支配;按任务均匀又会放大小而噪的数据。报告 source/task/robot 三层权重、去重、动作空间映射和缺失模态 mask。跨 embodiment action token 若没有明确坐标与语义,只是把不可比动作塞进同一词表。
| 评测轴 | 指标 | 分层 |
|---|---|---|
| 成功 | episode success、阶段完成 | 任务、物体、初态 |
| 恢复 | 扰动后恢复率、恢复时长 | 位移、遮挡、滑落 |
| 安全 | 碰撞、越界、力矩、near-miss | 严重度与尾部 |
| 人力 | 接管率、专家查询分钟 | 触发原因 |
| 系统 | P99 延迟、deadline miss、能耗 | 控制频率与硬件 |
9. 项目:LIBERO/ManiSkill 的 BC → DAgger 或 IQL
研究问题。 在同一离线数据与有限在线预算下,DAgger 的状态覆盖改进和 IQL 的回报重加权,谁更能提升 OOD 恢复?预注册主张、否决条件和安全上限;不得在看完测试结果后更换主指标。
9.1 两条可选路线
- 路线 A(BC→DAgger)。 训练 BC/ACT;在仿真执行;不确定性或偏离阈值触发专家;聚合数据重训。每轮在线 episode 数相同。
- 路线 B(BC→IQL)。 收集含失败的 replay;学习 Q/V 与 advantage-weighted policy;用 conservative/BC 正则控制 OOD。在线评测不回灌,除非进入预注册 offline-to-online 阶段。
{
"episode_id": "seed2/task07/ep0041",
"env_version": "...",
"task_language": "...",
"obs": {"rgb_front":"...", "proprio":[...], "timestamp_ns":0},
"action": {"space":"ee_delta", "frame":"robot_base", "hz":20, "value":[...]},
"reward": 0.0,
"cost": {"collision":0, "joint_limit":0},
"intervention": {"active":false, "reason":null},
"terminated": false,
"truncated": false
}
9.2 消融、预算与验收
| 实验 | 固定 | 变量 | 目的 |
|---|---|---|---|
| BC/ACT/Diffusion | backbone、数据、频率 | 动作分布模型 | 多模态与延迟权衡 |
| chunk 1/4/8 | 总控制时长 | 开环跨度 | 平滑与恢复速度 |
| BC/DAgger/IQL | 离线数据;另做在线 matched | 策略改进机制 | 覆盖 vs 价值 |
| 有/无 proprio/history | 其他输入 | 状态充分性 | POMDP 诊断 |
| 域随机化层级 | 训练步数 | 视觉/动力学/延迟 | gap 归因 |
编者建议 · 预算
至少 3 seed;每 seed 每任务 ≥50 个评测 episode(资源不足则缩任务数,不用少量 episode 冒充稳定结论);在线数据以 episode、环境步、专家分钟三种单位同时封顶。保存全部评测视频或低码率代理、事件日志与成功判定版本。
编者建议 · 验收
- 主任务 success 的跨 seed 95% CI 与 paired 初态 bootstrap;同时报 IQM。
- OOD 扰动恢复率提升,碰撞/越界不劣于预注册 margin;接管率与成本不恶化。
- 视频随机盲审至少 100 回合;自动 success 与盲审冲突率低于 3%。
- 否决:只在 seen 初态提高、靠更高控制频率/更多在线数据取胜、或任何严重安全事件增加。
交付: 环境锁、数据 manifest、策略 checkpoint、三 seed 结果、OOD 扰动套件、视频索引、失败 taxonomy、接管日志、训练与推理成本、model card 与 5 分钟可重放 demo。
10. 真机部署 Runbook:从桌面验证到受控试验
- 变更冻结。 记录 commit、checkpoint hash、归一化统计、相机标定、机器人固件与安全参数;测试后不得静默替换。
- 静态检查。 关节/末端坐标系、单位、动作符号、workspace、夹爪方向;用零动作和单轴小动作验证。
- 影子模式。 策略只预测不执行;与人工动作比较,查延迟、饱和、跳变与 OOD。
- 低能量模式。 降速/降力矩、软物体、空工作区;安全员握实体急停,执行器 watchdog 独立于模型进程。
- 分阶段放权。 单技能→组合技能→扰动;每阶段满足预注册安全门才升级。
- 接管与回滚。 明确谁可接管、触发阈值、策略进程失败默认动作、最后已知安全 checkpoint。
- 事故处理。 冻结日志/视频/传感器,不立即“补丁后重跑”;先复盘根因和近失事件。
停止条件
任何人身风险、硬碰撞、急停失效、控制 deadline 连续 miss、观测时间戳倒退、动作 NaN/越界、标定漂移超阈值,立即停止。任务成功不能覆盖安全停止条件。
11. 失败模式、RS/RE 面试题与一手来源
| 症状 | 可能原因 | 最小证伪 |
|---|---|---|
| 离线 MSE 低、闭环差 | 均值动作/分布漂移 | 多峰可视化+扰动 rollout |
| 仿真高、真机低 | 视觉/动力学/延迟 gap | 三类 gap 独立 replay |
| IQL Q 高、成功低 | 覆盖不足/终止处理错 | OOD 距离+timeout 审计 |
| chunk 平滑但撞击 | 开环过长/平均穿障碍 | 缩 chunk+高频 replan |
| 零事故但接管高 | 风险转移给人 | 接管前窗口与 near-miss |
面试题
- 为什么 MSE 在双峰动作上给出危险均值?写出条件期望并给三种替代。
- ACT 的 chunk 为什么同时降低 horizon、又引入局部开环?如何选 ?
- 只有成功示范时,IQL 相比 BC 能获得什么额外信息?何时不能?
- 设计 offline-to-online 门控:什么指标允许提高在线 replay 比例?
- 如何区分视觉 sim2real gap、动力学 gap 与控制延迟?给最小实验矩阵。
- world model 在训练集一步误差很低,MPC 仍失败,为什么?
- “零碰撞”与“安全”有什么区别?如何报告 CVaR、near-miss 和接管?
- 给定 10 小时真机预算,如何分配校准、基线、纠偏与隐藏评测?
一手来源与入口
- 【A】 Ross et al., DAgger(2011)。
- 【A】 Zhao et al., Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware(ACT, 2023)。
- 【A】 Chi et al., Diffusion Policy(2023)。
- 【A】 Kostrikov et al., Offline RL with Implicit Q-Learning(IQL)。
- 【A】 Kumar et al., Conservative Q-Learning(CQL)。
- 【A】 Ball et al., Efficient Online RL with Offline Data(RLPD)。
- 【A】 Open X-Embodiment Collaboration, Open X-Embodiment。
- 【A】 Liu et al., LIBERO;【B】 官方仓库。
- 【A】 Gu et al., ManiSkill2;具体环境版本以官方文档为准。
复现清单
环境/物理引擎/机器人/固件锁定;camera/proprio/action 的单位、坐标、频率、时间戳完整;terminated 与 truncated 分离;训练统计不读测试集;多 seed、多初态;成功/恢复/安全/接管/成本并报;视频与事件日志可重放;真机必须有独立安全层和停止条件。