跳转至

讲解稿 · 第 11 章 第 02 节 · 机器人学习

口播时长:约 17 分钟|建议语速:中速|字数:约 3900 字

承 Ch11 §01 感知 → Ch11 §02 机器人学习 → Ch11 §03 VLA 模型


导语(约 80 秒)

讲自主系统"如何使用感知输出做决策"的技术。

机器人在真实世界中决策有三种主流方法:① 强化学习 (RL):试错学习, 拿奖励信号自己探索; ② 模仿学习 (IL):人类示教,监督学习复制专家行为; ③ 端到端 VLA 模型:把 LLM + 视觉 + 动作 token 共享字典, 直接输出动作。

这一节讲前两种——RL + 模仿学习——它们是 VLA 之前的"老"打法,也是当前工业部署最稳的两条路。听完你会明白:为什么 PPO 是部署的"安全选项", 为什么 Diffusion Policy 比行为克隆强 3-5 倍, 为什么 sim-to-real gap 是机器人学习的千古难题。


一 · 强化学习三大基础(约 5 分钟)

1.1 什么是 RL

定义:智能体 (agent) 在环境 (environment) 中通过试错学习最大化累积奖励。

核心:状态 \(s_t\)、动作 \(a_t\)、奖励 \(r_t\)、策略 \(\pi(a|s)\)、价值函数 \(V^\pi(s)\) 或 \(Q^\pi(s,a)\)。

目标:\(\pi^* = \arg\max_\pi \mathbb{E}\left[\sum_t \gamma^t r_t\right]\), \(\gamma\)=折扣因子(0.99 常用)。

核心挑战: - 奖励稀疏:很多任务奖励只在最后 +1 - 样本效率:真实机器人跑 1 秒 = 1 步,需大量训练时间 - 稳定性:策略突变可能灾难性

1.2 PPO:工业最常用

Proximal Policy Optimization (Schulman 2017, OpenAI): $\(\mathcal{L}^{CLIP}(\theta) = \mathbb{E}_t\left[\min\left(\rho_t \hat A_t, \text{clip}(\rho_t, 1-\epsilon, 1+\epsilon)\hat A_t\right)\right]\)$ \(\rho_t = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}\), \(\hat A_t\)=GAE 优势估计, \(\epsilon=0.2\)。

Why PPO wins: - 比 TRPO 简单(一阶优化), 接近 TRPO 效果 - 比 A2C 稳定(限制策略更新幅度) - 比 SAC 简单(无需双 Q/温度调节) - 通用: OpenAI Five (Dota 2), Anthropic Claude RLHF

应用: 走四足机器人的步态, 机械臂抓取, 自动驾驶规划器。

1.3 SAC:连续控制首选

Soft Actor-Critic (Haarnoja 2018): - 最大熵 RL: \(\pi^* = \arg\max_\pi \mathbb{E}\left[\sum \gamma^t (r_t + \alpha \mathcal{H}(\pi))\right]\) - 自动调节温度 \(\alpha\) - 适合连续动作(机械臂 7 维)

vs PPO: - PPO 是 on-policy, 每次用最新数据 - SAC 是 off-policy, 用 replay buffer,样本效率高 5-10 倍

1.4 TD3 与离线 RL

TD3 (Twin Delayed DDPG): - 双 critic + 延迟更新 - 解决 DDPG 的 Q 过度估计问题

离线 RL (Offline RL): - 不与环境交互, 只用历史数据 - 适合机器人(真实交互成本高) - 代表: CQL (Conservative Q-Learning), IQL

1.5 GAIL:模仿学习 + 对抗

Generative Adversarial Imitation Learning: $\(\min_\pi \max_D \mathbb{E}_\pi[\log D(s,a)] + \mathbb{E}_{\pi_E}[\log(1-D(s,a))]\)$ GAN-类比模仿学习, 无需显式奖励函数。


二 · 模仿学习与 Diffusion Policy(约 5 分钟)

2.1 行为克隆 (BC) 的简单与极限

BC = 监督学习:输入 state, 输出 action, 用专家 (s, a) 对训练。 $\(\mathcal{L}_{BC} = \|a - \pi(s)\|^2\)$

问题: - 复合误差:长 horizon 中, \(\epsilon\) 错误 → 偏离训练分布 → 更错 - 状态混淆:专家决策可能基于不可见的状态(如"看到地上有杯子") - 多模态:同样的 s 可能对应多个 a, 但 BC 取均值

2.2 DAgger:聚合专家数据

DAgger (Ross 2011): 1. 学习者做 rollout 2. 专家给真实动作 (online aggregation) 3. 训练 = BC + 聚合

vs BC: 不只模仿"专家看到的状态",还包括"智能体实际遇到的状态"。但需要专家实时标注。

2.3 Diffusion Policy

核心思想 (Chi 2023): 1. 训练: 把轨迹 \(\tau = (s_0, a_0, ..., s_H, a_H)\) 加噪, 学去噪 2. 推理: 从噪声出发, 16 步去噪生成 action sequence 3. 优势: - 多模态: 多解示范能表达 - 长 horizon: 16 步动作序列一起规划, 鲁棒 - 数据效率: 比 BC 高 3-5 倍 (ManiSkill2 上)

公式: $\(\mathcal{L} = \mathbb{E}_{k, \tau^0, \epsilon}\left[\|\epsilon - \epsilon_\theta(\tau^k, s_t, k)\|^2\right]\)$

训练时长: 单 GPU 12-24 小时, 1000 条轨迹/任务。

2.4 模仿学习 vs 强化学习

维度 模仿学习 强化学习
数据来源 专家示范 自主探索
数据成本 高(录制专家) 低(可仿真)
数据效率 高 低
多模态 弱(BC)/强(DP) 强
上限 近似专家 超越专家
sim2real 较易(模仿数据可混合) 较难

实战: 大多数机器人任务模仿学习数据 + 微调 RL (e.g., SAC-fine-tune)。


三 · Sim-to-Real:从仿真到真实(约 4 分钟)

3.1 为什么需要仿真

真实机器人交互: - 1 秒 = 1 步: 人手采集 1000 小时难 - 硬件损耗 - 安全风险 (新手策略可能让机器人摔坏)

Isaac Sim / MuJoCo / ManiSkill2 等仿真器: - 并行数千环境 - GPU 加速 - 可设物理参数

3.2 Domain Randomization

核心思想 (OpenAI 2017): 训练时随机化物理参数, 让策略对真实环境的偏移鲁棒。

随机化对象: - 摩擦 (0.5, 1.0, 1.5) - 重力 (0.9g, 1.0g, 1.1g) - 关节阻尼 - 视觉: 光照,纹理,背景 - 质量 (机器人躯体重量的 ±20%)

3.3 System Identification

物理仿真器参数标定: - 用真实机器人测得数据 (\(f_{real}(\theta)\)) - 反推仿真参数 \(\theta\): \(\min_\theta \|f_{sim}(\theta) - f_{real}\|^2\) - NVIDIA Isaac Lab 提供工具

3.4 Robust RL

核心思想:期望仿真环境 \(\xi \sim \mathcal{U}(\Xi)\) 上最坏情况优: $\(\pi^* = \arg\max_\pi \min_{\xi \in \Xi} \mathbb{E}_\xi\left[R\right]\)$

Pinto & Gupta 2017 (ICRA): Adversarial 物理参数扰动作为训练,策略对真实环境更鲁棒。

3.5 sim2real 真实案例

  • Boston Dynamics Spot: 大量仿真 + sim2real 训练
  • Waymo 自驾: 仿真里程 100 亿+ 真实里程 7000 万
  • Tesla Optimus: FSD 训练 + 仿真器 + 真实工厂
  • Mars Ingenuity: 大气压 + 风速 + 光照 domain randomize

四 · 评测与基准(约 2 分钟)

4.1 仿真基准

  • ManiSkill2: 仿真机器人操作 benchmark, 20+ 任务
  • RLBench: 桌面级操作 (Pick, Place, Stack)
  • Habitat: 室内导航

4.2 真实基准

  • ManiSkill2 Real: 真实机器人迁移
  • BridgeData V2: 厨房任务, 6 万 + 轨迹

4.3 评测指标

  • Success Rate: \(N_{\text{成功}}/N_{\text{总}}\)
  • MEAN Episodes to Success: 平均成功所需回合
  • Trajectory Quality: 路径平滑度

跨章衔接(约 60 秒)

§02 讲了 PPO/SAC/Diffusion Policy 让机器人学策略。但这些仍是单任务学习——今天要做的事很多数据都是"我要抓杯子 / 我要开门"。能不能让一个模型学会"任何任务"?这就是 §03 的 VLA 模型。

VLA = Vision + Language + Action, 用 LLM 做"通用大脑",输入文字+图像指令,输出动作 token。π0、RT-2、OpenVLA 是代表。它把 RL/IL 的"专用"问题升级为"通用"——任何任务一条指令搞定,机器人学的"GPT 时刻"已经来临。