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)在策略执行时请求专家纠正,把新状态加入数据集迭代训练。

常见误区:只增加示范数量而不覆盖失败恢复状态,BC 在长时序任务中仍会因分布偏移而崩溃。示范数据应包含“偏离后如何回到正轨”的恢复片段。

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 走“先学奖励再学策略”的间接路线,而强化学习则位于最右侧的在线交互端。

模仿学习与强化学习:主要范式关系图 专家示范数据 状态-动作对 / 轨迹 人类遥操作 / 动捕 已有控制器回放 环境交互与奖励 在线试错 标量奖励函数 仿真 / 真实环境 行为克隆 BC 监督学习 s → a 简单快速,易复合误差 生成式模仿 扩散 / VAE / 流匹配 建模多模态动作分布 逆强化学习 IRL 从示范反推奖励函数 GAIL / 最大熵 IRL 强化学习 RL 在线交互,可超越专家 输出:确定性策略 π(a|s) 推理快,适合实时控制 需 DAgger 等缓解分布偏移 输出:多模态动作分布 可表达多种专家风格 需权衡采样步数与延迟 输出:奖励函数 R(s,a) 可解释、可迁移到新环境 训练不稳定,计算开销大 输出:最优策略 π* 样本需求大,探索有风险 奖励驱动 实线:直接学习路径 虚线:IRL 学奖励后交由 RL 求解策略

3.6 案例与选型建议

以一个“桌面抓取并放置”任务为例:若已有 200 条人类遥操作轨迹,且要求两周内上线,首选行为克隆或扩散策略;若任务存在多种抓取姿态,扩散策略能更好覆盖多模态;若希望策略能适应新物体位置并解释“为什么这样抓”,可尝试 GAIL 或最大熵 IRL,但需预留更多训练与调试时间;若仿真环境完备且允许大量试错,强化学习可作为上限提升手段,与模仿学习组合使用。

工程建议:先用 BC 建立可运行基线,量化成功率与失败模式;再根据失败是否源于多模态、分布偏移或奖励缺失,分别引入生成式策略、DAgger 或 IRL,避免一开始就选择最复杂方案。

总结来看,模仿学习与强化学习分别对应“从示范中学习”和“从交互中学习”两种知识来源。行为克隆是最小可用起点,逆强化学习提供意图与奖励层面的泛化,生成式模仿学习解决多模态与高维动作建模问题。理解它们的适用边界与组合方式,才能在机器人项目中做出合理的范式选择。