讲解稿 · 第 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 时刻"已经来临。