模仿学习 (Imitation Learning, IL) 的核心是 从专家(人类/高水平策略)的演示数据中学习策略 ,绕过直接探索 reward 的难题。以下是主流方法的原理与横向对比。
PART 01
行为克隆 (Behavior Cloning, BC)
原理 :把模仿学习当作监督回归问题 — 给定状 态 $s$,拟合专家动作分布 $\pi(a|s)$,最小化 $E_{(s,a) \sim D}[-\log \pi_\theta(a|s)]$。
本质是"抄答案":数据是 $(st,at)$ 配对,直接让策略网络做动作回归。
优势 | 劣势 |
|---|---|
实现最简,逻辑清晰 | 协方差偏移 (Covariate Shift):训练/测试分布不同,错误会累积 |
训练稳定,收敛快 | 泛化能力差,无法应对未见状态 |
可用任意离线专家数据 | 对数据质量敏感,错误标签直接学偏 |
适合数据充足的简单任务 | 难以处理高维连续动作空间的长时序任务 |
PART 02
数据集聚合 (DAgger)
原理 :迭代式"打标签→训练→收集新数据"循环:
核心思想 :BC 的问题是只在专家数据的状态上训练,DAgger 把专家的覆盖范围扩展到策略自己的状态分布。
优势 | 劣势 |
|---|---|
理论上可消除累积误差 | 需要在线交互,无法纯离线使用 |
收敛到最优策略(线性近似下) | 迭代中策略可能很差→引入标签噪声 |
适合长时序任务 | 需要专家全程在线标注,成本高 |
不依赖 reward 设计 | 训练不稳定(策略分布漂移) |
代表工作 :Ross & Bagnell 2010 (DAgger), 核心引理: $\epsilon$ -贪婪专家下,BC 累积 误差 $O(T^2\epsilon)$,DAgger 可到 $O(T\epsilon)$。
PART 03
生成对抗模仿学习 (GAIL, Generative Adversarial Imitation Learning)
原理 :用 GAN 框架 训练一个判别器 $D(s,a)$, 区分 专家数据 vs 策略生成数据,策略 $\pi$ 作为生成器试图欺骗判别器。
奖励信号 从判别器推导:$r(s,a)=-\log(1-D(s,a))$,相当于隐式 reward shaping。
优势 | 劣势 |
|---|---|
不需要显式 reward 函数 | 训练不稳定(GAN 的 mode collapse、梯度消失) |
泛化能力强于 BC | 对超参数敏感,调参难度大 |
探索能力比 BC 强 | 判别器收敛≠策略收敛,两者相互博弈 |
适合高维复杂任务 | 奖励信号间接,难以调试 |
PART 04
Q 函数类方法(逆强化学习 IRL)
原理 :先从专家轨迹反推 reward 函数 $r_\psi(s,a)$, 再基于该 reward 训练 RL 策略。
核心假设: 专家轨迹的概率正比于 $\exp(\sumt r(st,a_t))$ (最大熵原理),通过最大化专家数据似然反推 reward。
优势 | 劣势 |
|---|---|
学习到可迁移的 reward 函数 | 计算代价极高 — 需要内外层循环(IRL + RL) |
reward 可解释 | IRL 内层优化通常非凸,收敛慢 |
学到的策略更鲁棒 | 不适合大规模问题(网格搜索/NN 逼近 reward 都贵) |
可处理多专家数据 | 真实场景 reward 往往未知,无法验证 |
PART 05
离线模仿学习 / Offline IL
针对 无法在线交互、只有固定离线数据集 的场景:
Conditional IL (cIL)
训练时对状态-动作条件分布建模,加上状态作为额外输入,解决分布偏移。当前 SOTA 离线 IL 如 IKL、Action Chunking Transformer 都属此类。
IQ-Learn / Implicit Q-Learning
不显式建模 reward,从隐式 Q 函数推导策略,避免了传统 IRL 的内外层嵌套问题。
Diffusion Policy (扩散策略)
用扩散模型建模动作分布 $at=\text{Diffusion}(st,noise)$ , 在机器人操作任务上效果拔群。
PART 06
方法对比总览
方法 | 在线交互 | 显式 Reward | 训练稳定性 | 泛化能力 | 计算成本 | 典型场景 |
|---|---|---|---|---|---|---|
BC | N | N | 稳定 | 差 | 极低 | 数据充足、状态分布稳定 |
DAgger | 必需 | N | 需迭代 | 好 | 中等 | 能在线交互的机器人 |
GAIL | 交互式 | N(隐式) | 不稳定 | 好 | 高 | 高维视觉/复杂任务 |
MaxEnt IRL | 需RL | Y(反推) | 双层优化 | 好 | 极高 | reward 未知、需可解释 reward |
Offline IL / cIL | N | N | 稳定 | 取决于数据 | 低-中 | 真实世界数据集、遥操作数据 |
Diffusion Policy | N | N | 稳定 | 好 | 中-高 | 机器人操作、多模态动作 |

PART 07
工程选型建议
数据来源
├── 静态离线数据集 + 无在线能力
│ ├── 数据分布覆盖好 → BC / cIL + behavior regularizer
│ └── 数据稀疏/分布窄 → Offline RL 思路(IQ-Learn)
│
├── 可在线交互 + 专家在线
│ ├── 短 horizon / 状态简单 → DAgger
│ └── 长 horizon / 高维视觉 → GAIL / Model-based IL
│
└── 有大量演示数据 + 目标可定义 reward
└── MaxEnt IRL(学 reward 函数再做 RL)
避坑提示 :