3. 模仿学习概述
在机器人技能获取的众多路线中,模仿学习(Imitation Learning, IL)与强化学习(Reinforcement Learning, RL)是最常被并列讨论的两大范式。理解它们的差异,是选择工程方案的第一步。强化学习依赖智能体与环境反复交互,通过奖励信号试错优化策略;模仿学习则直接从专家示范中提取行为规律,把“如何做”的知识从人类或已有控制器迁移到机器人上。前者像“自己摸索考试答案”,后者像“看老师解题后模仿”。
3.1 模仿学习与强化学习的对比
从工程视角看,两者的差异体现在数据来源、监督信号、探索方式、部署风险和典型适用场景上。下表给出关键维度的对照,便于在项目立项时快速判断。
| 维度 | 强化学习 | 模仿学习 |
|---|---|---|
| 数据来源 | 智能体与环境在线交互 | 专家示范数据集(离线) |
| 监督信号 | 标量奖励函数 | 专家动作/轨迹/偏好 |
| 探索需求 | 强,需大量试错 | 弱,通常无需在线探索 |
| 样本效率 | 低,常需百万级步数 | 高,数百条轨迹即可起步 |
| 安全风险 | 探索期易发生危险动作 | 行为受示范约束,风险较低 |
| 性能上限 | 可超越专家 | 通常不超过专家,受分布偏移影响 |
| 典型场景 | 仿真游戏、可试错控制 | 抓取、装配、驾驶、手术辅助 |
需要强调的是,二者并非对立。工程中常见“示范预训练 + 强化学习微调”的混合路线:先用模仿学习快速获得可用策略,再用少量在线交互提升鲁棒性与上限。
3.2 行为克隆:最直接的监督式模仿
行为克隆(Behavior Cloning, BC)把模仿学习简化为监督学习:给定状态 s,预测专家动作 a。损失函数通常是最小化预测动作与专家动作的差异,例如均方误差或负对数似然。
# 行为克隆训练伪代码
for batch in dataloader:
s, a_expert = batch # 状态与专家动作
a_pred = policy(s) # 策略网络输出
loss = mse(a_pred, a_expert) # 或 NLL for 高斯策略
loss.backward()
optimizer.step()
BC 的优点是实现简单、训练稳定、推理快,适合作为基线。但它存在著名的复合误差问题:训练时状态来自专家分布,部署时机器人一旦偏离,就会进入训练中未见过的新状态,错误逐步累积。为缓解该问题,常用 DAgger(Dataset Aggregation)在策略执行时请求专家纠正,把新状态加入数据集迭代训练。
3.3 逆强化学习:从示范中反推奖励
逆强化学习(Inverse Reinforcement Learning, IRL)不直接复制动作,而是假设专家在优化某个未知奖励函数,试图从示范轨迹中恢复该奖励,再用强化学习求解最优策略。其核心思想是:示范是奖励的外在表现,奖励才是行为背后的意图。
IRL 的典型流程为:采集专家轨迹 → 初始化奖励函数 → 在当前奖励下求解策略 → 比较策略与专家的占用度量 → 更新奖励使专家轨迹得分更高 → 迭代至收敛。最大熵 IRL、GAIL(生成对抗模仿学习)等都属于这一家族。GAIL 用判别器区分“专家状态-动作对”与“策略生成对”,把奖励学习转化为对抗训练,避免了显式奖励建模。
IRL 的优势是能泛化到新环境、对示范噪声更鲁棒,且学到的奖励可解释;代价是训练不稳定、计算开销大,通常需要与环境交互。
3.4 生成式模仿学习:建模多模态行为
真实示范往往具有多模态性:同一抓取任务,专家可能从左侧或右侧接近。若用单峰高斯策略做 BC,模型会把多个模态平均成一个“中间动作”,导致抓取失败。生成式模仿学习用生成模型刻画 p(a|s) 的复杂分布,代表性方法包括:
- 扩散策略(Diffusion Policy):把动作生成建模为去噪过程,能表达多模态、高维动作序列,训练稳定,已成为机器人操作的主流方案之一。
- 变分自编码器(VAE):用隐变量捕捉示范中的风格与模式,适合学习可复用的技能潜空间。
- 流匹配(Flow Matching):学习从噪声到动作的连续速度场,采样步数少,推理实时性好。
- 自回归/Transformer 策略:把动作序列当作 token 序列预测,适合长时序、多任务条件生成。
生成式方法显著提升了对多模态示范的拟合能力,但推理延迟、采样步数与实时控制频率之间的平衡,是部署阶段必须调优的参数。
3.5 主要范式关系与选型
下图把本节涉及的核心范式放在同一张关系图中:左侧是数据与监督信号来源,中间是四类主要方法,右侧是它们各自的输出与工程特征。可以看到,BC 与生成式模仿共享“直接学策略”的路线,IRL 走“先学奖励再学策略”的间接路线,而强化学习则位于最右侧的在线交互端。
3.6 案例与选型建议
以一个“桌面抓取并放置”任务为例:若已有 200 条人类遥操作轨迹,且要求两周内上线,首选行为克隆或扩散策略;若任务存在多种抓取姿态,扩散策略能更好覆盖多模态;若希望策略能适应新物体位置并解释“为什么这样抓”,可尝试 GAIL 或最大熵 IRL,但需预留更多训练与调试时间;若仿真环境完备且允许大量试错,强化学习可作为上限提升手段,与模仿学习组合使用。
总结来看,模仿学习与强化学习分别对应“从示范中学习”和“从交互中学习”两种知识来源。行为克隆是最小可用起点,逆强化学习提供意图与奖励层面的泛化,生成式模仿学习解决多模态与高维动作建模问题。理解它们的适用边界与组合方式,才能在机器人项目中做出合理的范式选择。