RL-03-16-算法-模仿与逆强化学习

← 上级:RL-03.算法分类与选型 · 前置:RL-03-08-算法-Policy-Gradient · 对比:RL-03-02-算法-Q-Learning

奖励函数难设计试错成本极高(机器人、自动驾驶、医疗)时,可直接利用专家演示(Demonstration)$\mathcal{D} = {(s,a)}$ 或轨迹 $\tau$,而不依赖环境奖励。模仿学习(Imitation Learning,IL)学策略匹配专家;逆强化学习(Inverse Reinforcement Learning,IRL)先从演示推断奖励,再 RL 优化。

段末注释:模仿学习(Imitation Learning,IL)指从专家行为数据学习策略而无需显式奖励信号的方法;逆强化学习(Inverse Reinforcement Learning,IRL)指从专家轨迹反推奖励函数再求最优策略的两阶段范式;后文分别沿用 ILIRL


一、问题设定对比

范式 输入 输出 需要环境交互
标准 RL 奖励 $r$ $\pi^*$ 大量
模仿学习 IL 专家 $(s,a)$ $\pi \approx \pi_E$ 训练可离线;DAgger 需交互
逆强化学习 IRL 专家轨迹 $\tau_E$ $\hat{R}$ + $\pi^*$ IRL 内层常需 RL

何时选 IL / IRL

  • 奖励稀疏、难量化(「开得稳」)→ IL / IRL
  • 有高质量人类/控制器日志 → BC、GAIL
  • 需超越演示、探索更优策略 → IRL + RL 或 GAIL + 微调

二、Behavior Cloning(BC)

将模仿视为监督学习:最小化负对数似然

$$
\mathcal{L}{BC}(\theta) = -\mathbb{E}{(s,a) \sim \mathcal{D}} \left[ \log \pi_\theta(a|s) \right]
$$

离散动作:交叉熵;连续:MSE 或高斯 NLL。

优点 缺点
实现极简 协变量偏移(Covariate Shift)
纯离线、训练快 复合误差累积
无需环境 分布外状态无纠正

协变量偏移:训练数据 $s \sim d_{\pi_E}$,部署时 $s \sim d_{\pi_\theta}$,小偏差导致 $d_{\pi_\theta}$ 偏离,错误滚雪球。


三、DAgger(Dataset Aggregation)

交互式模仿:迭代收集专家在 learner 所达状态上的纠正动作。

1
2
3
4
1. 用当前 π_θ 在环境中 rollout
2. 专家标注 visited 状态上的 a*
3. 合并进数据集,重新 BC 训练
4. 重复
BC DAgger
数据分布 仅 $d_{\pi_E}$ 逐渐覆盖 $d_{\pi_\theta}$
专家调用 一次 每轮需专家
理论保证 误差不超 $O(\epsilon T^2)$ 量级改进

适合有专家在线纠正、但不想手写奖励的场景。


四、逆强化学习(IRL)

目标:找 $\hat{R}$,使专家策略在 $\hat{R}$ 下最优(或轨迹似然最大)。

4.1 朴素 IRL 的歧义

多组 $(R, \pi)$ 可产生相同专家行为(奖励歧义);常加正则最大熵先验。

4.2 MaxEnt IRL

假设专家轨迹服从最大熵分布:

$$
P(\tau) \propto \exp\left( \sum_t R_\theta(s_t, a_t) \right)
$$

学参数化奖励 $R_\theta$,用最大似然能量模型拟合演示。内层用 RL 求当前 $R_\theta$ 下的软最优策略——计算贵。


五、GAIL(Generative Adversarial Imitation Learning)

GAILGAN 框架,避免显式学 $R$:

组件 角色
Generator $\pi_\theta$ 产生轨迹
Discriminator $D_\phi$ 区分专家 vs 策略轨迹

判别器奖励:

$$
\hat{r}t = -\log(1 - D\phi(s_t, a_t))
$$

策略用 TRPO / PPO 最大化 $\mathbb{E}[\sum \hat{r}_t]$——对抗模仿,无需手工奖励。

优点 缺点
可超越 BC 分布覆盖 训练不稳定(GAN 问题)
隐式学奖励 需环境交互
连续/离散均可 模式崩溃

变体:AIRL(可迁移奖励)、SQIL(简化 Q 模仿)、IQ-Learn(无内环 RL)。


六、IL / IRL / RL 组合路径

1
2
3
4
5
6
7
专家演示 D
├─→ BC(快速基线)
├─→ DAgger(+ 专家纠正)
├─→ GAIL(对抗 + PPO)
└─→ MaxEnt IRL → RL 微调

BC / GAIL 预训练 → PPO / SAC 在线微调(常见机器人 pipeline)
阶段 做法
预训练 BC 或 GAIL 得 $\pi_0$
微调 真实奖励 + PPO,小学习率
安全 约束策略偏离 $\pi_0$(KL 约束)

七、与离线 RL 的边界

模仿 IL 离线 RL
数据 专家(高质量) 任意行为策略日志
目标 匹配专家 最大化真实 $R$
代表 BC、GAIL CQL、IQL

演示质量高优先 IL;演示杂、覆盖广且知奖励时考虑离线 RL(本系列待扩展 CQL 等)。


八、工程要点

  1. 演示质量 > 数量:错误标签直接 poison BC。
  2. 状态对齐:专家与 Agent 观测空间一致(同传感器、同归一化)。
  3. 动作空间:连续用高斯策略;离散注意类别不平衡。
  4. 评估:成功率、与专家轨迹的 Wasserstein / JS 散度、而非仅训练 loss。
  5. Sim2Real:先在仿真演示,再真实微调,见 RL-07 Sim2Real

九、选型速查

场景 推荐
快速原型、演示多 BC
可调用专家纠正 DAgger
无手工奖励、可仿真交互 GAIL + PPO
需可解释奖励 MaxEnt IRL
演示 + 稀疏真实奖励 BC 预训练 → RL 微调

十、小结

  • BC = 监督模仿,简单但有协变量偏移;DAgger 用交互纠正分布。
  • IRL 反推 $\hat{R}$;GAIL 对抗学习隐式奖励 + 策略梯度。
  • 机器人 / 自动驾驶常见 模仿预训练 + RL 微调
  • 上一篇:多智能体 RL · 对照:Policy Gradient
-------------本文结束感谢您的阅读-------------