12. 模仿学习
模仿学习(Imitation Learning)是从专家示教中学习策略的方法,无需手动设计奖励函数。在具身智能中,很多任务(如叠衣服、倒水)的奖励函数极难定义,而人类示教却相对容易获取,因此模仿学习是具身智能的核心范式之一。
具身智能视角:近年来,模仿学习在具身智能中的热度甚至超过了传统 RL。代表性工作包括 ACT(Action Chunking with Transformers)、Diffusion Policy、RT-2 等。遥操作采集数据 + 模仿学习训练,已成为机器人技能学习的主流流程。
12.1 为什么需要模仿学习
传统 RL 需要手动设计奖励函数(reward engineering),这在很多真实任务中非常困难:
- 奖励稀疏:叠好一件衣服才给奖励,中间过程没有信号
- 奖励定义困难:什么算"优雅地倒水"?量化标准很主观
- 安全约束:机器人在探索过程中可能损坏自身或环境
模仿学习直接从人类(专家)的示教数据中学习,绕开了奖励设计的难题。
12.2 行为克隆(Behavioral Cloning)
行为克隆(BC)是最简单的模仿学习方法,将问题转化为监督学习:给定专家的状态-动作对
12.2.1 训练目标
对于连续动作空间,通常使用 MSE 损失:
对于离散动作空间,使用交叉熵损失:
12.2.2 协变量偏移问题
BC 的最大问题是协变量偏移(covariate shift):训练时看到的状态分布是专家的,但执行时策略的微小误差会导致进入专家从未到过的状态,误差不断累积。
这意味着 BC 在短时任务上表现尚可,但在长时任务上容易崩溃。
12.3 DAgger 算法
DAgger(Dataset Aggregation)通过迭代地收集新数据来解决协变量偏移问题:
- 用当前策略
与环境交互,收集状态序列 - 请专家对这些状态标注最优动作
- 将新数据加入训练集
- 用扩充后的数据集重新训练策略
- 重复直到收敛
DAgger 的关键思想是让策略在"自己会到达的状态"上也能获得专家指导,从而缓解协变量偏移。
局限性:需要专家在线标注,在机器人场景中获取成本较高。
12.4 逆强化学习(Inverse RL)
逆强化学习(IRL)从专家示教中反推奖励函数,再用 RL 算法基于学到的奖励训练策略:
12.4.1 核心假设
专家是在某个未知奖励函数下的最优策略,即专家的行为使得累积奖励最大化。
12.4.2 主要方法
- Maximum Entropy IRL:假设专家策略服从最大熵分布(与 SAC 中的思想类似)
- GAIL(Generative Adversarial Imitation Learning):用 GAN 框架,判别器区分专家和学习者的行为,生成器(策略)试图让自己的行为与专家不可区分
IRL 的优势在于学到的奖励函数可以泛化到不同的环境配置,缺点是训练复杂度高。
12.5 现代模仿学习方法
近年来,具身智能领域涌现了许多新的模仿学习方法:
12.5.1 Action Chunking(动作分块)
不再逐步预测单个动作,而是一次性预测未来多步动作序列:
代表工作 ACT(Action Chunking with Transformers)使用 CVAE + Transformer 架构,在灵巧操作任务上取得了显著效果。动作分块有效缓解了协变量偏移,因为错误不会在每个时步都累积。
12.5.2 Diffusion Policy(扩散策略)
将扩散模型引入策略学习,将动作生成建模为去噪过程:
扩散策略能够建模多模态的动作分布(同一状态下可能有多种合理动作),在精细操作任务中表现优异。
12.5.3 数据采集:遥操作
模仿学习的效果很大程度上取决于示教数据的质量。常用的数据采集方式:
| 方式 | 优点 | 缺点 |
|---|---|---|
| 手动引导(kinesthetic teaching) | 直觉、无需额外设备 | 精度低、不适合复杂任务 |
| 遥操作手柄 | 灵活、适合多种任务 | 需要训练操作者 |
| VR 遥操作 | 沉浸式、精度高 | 设备成本高 |
| 视频示教 | 数据获取成本最低 | 需要视觉到动作的映射 |
12.6 RL + IL:结合使用
在实践中,模仿学习和强化学习经常结合使用:
-
IL 预训练 + RL 微调:先用 BC 学习一个初始策略,再用 RL(如 PPO)进一步优化。这样 RL 从一个合理的策略出发,避免了从随机探索开始的低效。
-
IL 提供示教 + RL 提供奖励:用 GAIL 等方法从示教中学习奖励,然后用 RL 优化策略。
-
Residual RL:在 BC 策略的基础上学习一个残差策略,
,RL 只需学习对 BC 的修正。
12.7 小结
| 方法 | 核心思想 | 优点 | 缺点 |
|---|---|---|---|
| BC | 监督学习拟合专家 | 简单快速 | 协变量偏移 |
| DAgger | 迭代收集+标注 | 缓解偏移 | 需要在线专家 |
| IRL/GAIL | 学习奖励函数 | 泛化性好 | 训练复杂 |
| ACT | 动作分块预测 | 精细操作效果好 | 需要高质量数据 |
| Diffusion Policy | 扩散模型生成动作 | 多模态建模 | 推理速度较慢 |