跳转至

模仿学习

概述

模仿学习(Imitation Learning, IL)是机器人学习中最实用的范式之一:给定专家演示数据集 \(\mathcal{D} = \{(o_1, a_1^*), (o_2, a_2^*), \ldots, (o_N, a_N^*)\}\),学习一个策略 \(\pi_\theta: \mathcal{O} \rightarrow \mathcal{A}\),使机器人能够复现专家行为。

与强化学习不同,模仿学习不需要奖励函数,大幅降低了任务设计的门槛。然而,它面临独特的挑战:分布偏移、多模态动作分布、以及数据获取成本。


行为克隆(Behavioral Cloning)

基本公式

行为克隆(BC)将模仿学习化简为标准的监督学习问题。给定专家数据集 \(\mathcal{D} = \{(\mathbf{o}_i, \mathbf{a}_i^*)\}_{i=1}^N\),目标是最小化策略预测与专家动作之间的损失:

\[ \mathcal{L}_{\text{BC}} = \mathbb{E}_{(\mathbf{o}, \mathbf{a}^*) \sim \mathcal{D}} \left[ \| \pi_\theta(\mathbf{o}) - \mathbf{a}^* \|^2 \right] \]

对于确定性策略,这等价于最小二乘回归。对于随机策略 \(\pi_\theta(\mathbf{a}|\mathbf{o})\),目标变为最大化对数似然:

\[ \mathcal{L}_{\text{BC}}^{\text{NLL}} = -\mathbb{E}_{(\mathbf{o}, \mathbf{a}^*) \sim \mathcal{D}} \left[ \log \pi_\theta(\mathbf{a}^* | \mathbf{o}) \right] \]

高斯策略

假设动作服从条件高斯分布 \(\pi_\theta(\mathbf{a}|\mathbf{o}) = \mathcal{N}(\mu_\theta(\mathbf{o}), \Sigma_\theta(\mathbf{o}))\),则负对数似然为:

\[ -\log \pi_\theta(\mathbf{a}^*|\mathbf{o}) = \frac{1}{2}(\mathbf{a}^* - \mu_\theta)^\top \Sigma_\theta^{-1} (\mathbf{a}^* - \mu_\theta) + \frac{1}{2}\log|\Sigma_\theta| + \frac{d}{2}\log(2\pi) \]

\(\Sigma_\theta = \sigma^2 I\) 为常数时,退化为 MSE 损失。

输入表示

BC 策略的输入通常包括:

输入类型 表示方式 维度示例
关节位置 \(q \in \mathbb{R}^{n}\) 7-DOF 机械臂: \(\mathbb{R}^7\)
关节速度 \(\dot{q} \in \mathbb{R}^{n}\) \(\mathbb{R}^7\)
末端位姿 \((p, R) \in SE(3)\) \(\mathbb{R}^{7}\)(位置+四元数)
RGB 图像 \(I \in \mathbb{R}^{H \times W \times 3}\) \(224 \times 224 \times 3\)
深度图 \(D \in \mathbb{R}^{H \times W}\) \(224 \times 224\)
点云 \(P \in \mathbb{R}^{N \times 3}\) \(N = 1024\)
语言指令 Token embedding \(\mathbb{R}^{512}\)

分布偏移问题

理论分析

BC 的核心缺陷是分布偏移(Distribution Shift),也称 covariate shift。训练时,策略在专家分布 \(d_{\pi^*}\) 下的状态上学习;部署时,策略的微小偏差会将其带到未见过的状态,导致误差累积。

定理(Ross & Bagnell, 2010):设策略 \(\pi_\theta\) 在每一步犯错误的概率为 \(\epsilon\)(即 \(\mathbb{E}_{o \sim d_{\pi^*}}[\mathbb{1}[\pi_\theta(o) \neq \pi^*(o)]] \leq \epsilon\)),则在时间步长为 \(T\) 的轨迹上,BC 策略的期望总损失为:

\[ J(\pi_\theta) - J(\pi^*) \leq \epsilon T^2 \]

即误差随时间步二次增长。这意味着对于长时间任务(如 \(T = 100\)),即使每步 \(\epsilon = 0.01\),总误差也会达到 \(100\)

直观理解

考虑一个简单的沿直线行走任务:

  1. 专家始终沿直线行走,训练数据全部来自直线上的状态
  2. BC 策略学会了"在直线上时,继续向前走"
  3. 部署时,微小的偏差将机器人带离直线
  4. 在直线外的状态上,策略从未见过任何数据,输出随机
  5. 随机动作导致更大偏差,误差雪崩式累积

DAgger 算法

算法框架

DAgger(Dataset Aggregation, Ross et al., 2011)通过在策略自身访问的状态上查询专家来解决分布偏移:

算法流程

  1. 初始化:用专家数据 \(\mathcal{D}_0\) 训练初始策略 \(\pi_0\)
  2. For \(i = 1, 2, \ldots, N\):
    • 使用当前策略 \(\pi_i\) 收集轨迹 \(\tau_i\)
    • 对轨迹中的每个状态 \(o_t\),查询专家标签 \(a_t^* = \pi^*(o_t)\)
    • 聚合数据集:\(\mathcal{D}_{i+1} = \mathcal{D}_i \cup \{(o_t, a_t^*)\}\)
    • \(\mathcal{D}_{i+1}\) 上重新训练策略 \(\pi_{i+1}\)

理论保证:DAgger 将误差上界从 \(O(\epsilon T^2)\) 降低到 \(O(\epsilon T)\)(线性增长)。

局限性

DAgger 需要在线查询专家,这在机器人领域代价很高:

  • 需要人类操作员实时提供标注
  • 交互过程耗时,难以规模化
  • 某些状态下专家也难以给出最优动作

逆强化学习(Inverse RL)

问题定义

逆强化学习(IRL)不直接学习策略,而是从专家演示中推断奖励函数 \(r(s, a)\),再用标准 RL 求解最优策略。

动机:奖励函数比策略更紧凑、更可迁移。学到的奖励函数可以适应新的环境动力学。

最大熵 IRL(MaxEntIRL)

核心假设:专家在满足"行为接近演示"的约束下,以最大熵的方式行动。

推导:定义轨迹的奖励为 \(R(\tau) = \sum_{t=0}^T r(s_t, a_t)\),最大熵分布为:

\[ p(\tau) = \frac{1}{Z} \exp(R(\tau)) \]

其中配分函数 \(Z = \int \exp(R(\tau)) d\tau\)

目标是最大化专家轨迹的对数似然:

\[ \max_r \mathbb{E}_{\tau \sim \mathcal{D}} [\log p(\tau)] = \max_r \mathbb{E}_{\tau \sim \mathcal{D}} \left[ R(\tau) \right] - \log Z \]

梯度计算

\[ \nabla_r \mathcal{L} = \mathbb{E}_{\tau \sim \mathcal{D}} \left[ \nabla_r R(\tau) \right] - \mathbb{E}_{\tau \sim p(\tau)} \left[ \nabla_r R(\tau) \right] \]

专家的特征期望 - 当前策略的特征期望。这是经典的特征匹配条件。

IRL 的实际困难

  1. 内层优化:每次更新奖励后,需要重新求解 RL(计算极其昂贵)
  2. 奖励模糊性:多个奖励函数可以解释同一组演示
  3. 高维问题:特征工程困难

GAIL:生成对抗模仿学习

对抗框架

GAIL(Generative Adversarial Imitation Learning, Ho & Ermon, 2016)巧妙地绕过了 IRL 的内层优化问题,将模仿学习转化为对抗博弈。

目标函数

\[ \min_\pi \max_D \mathbb{E}_{\pi}[\log D(s, a)] + \mathbb{E}_{\pi^*}[\log(1 - D(s, a))] - \lambda H(\pi) \]

其中: - \(D(s, a)\):判别器,区分策略生成的 \((s, a)\) 和专家的 \((s, a)\) - \(\pi\):生成器(策略),试图欺骗判别器 - \(H(\pi)\):策略的熵正则项,鼓励探索

训练流程

  1. 用当前策略 \(\pi\) 收集轨迹
  2. 训练判别器 \(D\) 区分策略和专家的数据
  3. \(-\log D(s, a)\) 作为奖励,用 RL(如 TRPO/PPO)更新策略
  4. 重复步骤 1-3

与 GAN 的对应关系

GAN 组件 GAIL 对应
生成器 \(G\) 策略 \(\pi_\theta\)
判别器 \(D\) 奖励函数 \(r(s,a) = -\log D(s,a)\)
生成样本 策略轨迹 \((s, a) \sim \pi\)
真实样本 专家轨迹 \((s, a) \sim \pi^*\)
反向传播 RL 策略梯度

GAIL 的理论联系

定理(Ho & Ermon, 2016):在判别器最优时,GAIL 最小化策略占据度量与专家占据度量之间的 Jensen-Shannon 散度:

\[ \text{GAIL} \Leftrightarrow \min_\pi D_{\text{JS}}(\rho_\pi \| \rho_{\pi^*}) \]

其中占据度量 \(\rho_\pi(s, a) = \pi(a|s) \sum_{t=0}^T \gamma^t P(s_t = s | \pi)\)


ACT:Action Chunking with Transformers

ACT 是模仿学习走向 chunk-based policy 的代表模型。这里保留它作为方法入口,但更完整的模型级解释请直接看 ACT模型

为什么它属于模仿学习主线

ACT 仍然是标准的离线示教学习:给定专家演示轨迹,直接拟合策略,不需要奖励函数,也不需要在线 RL。它的重要创新不是“换任务范式”,而是把经典 BC 的输出对象改成了未来一段动作块

核心结构

graph LR
    OBS[观测 o_t + 状态 s_t] --> ENC[编码器]
    GT[未来动作块 a_t:t+H-1] --> CVAE[CVAE 编码器]
    ENC --> DEC[Transformer 解码器]
    CVAE --> Z[z]
    Z --> DEC
    DEC --> CHUNK[预测动作块]

    style ENC fill:#e3f2fd
    style CVAE fill:#fff3e0
    style DEC fill:#e8f5e9

方法要点

  1. Action chunking:一次预测未来 \(H\) 步动作,而不是单步 \(a_t\)
  2. CVAE latent:用潜变量刻画同一观测下的多种合理动作风格。
  3. Temporal ensembling:执行时融合重叠 chunk,减少抖动。

对应的 chunk 预测可以写成:

\[ \hat{\mathbf{a}}_{t:t+H-1} = \pi_\theta(o_t, s_t) \]

训练目标通常写成重建项与 KL 正则的组合:

\[ \mathcal{L}_{\text{ACT}} = \mathcal{L}_{\text{recon}} + \beta D_{\text{KL}}(q_\phi(z|o, s, \mathbf{a}^*) \| \mathcal{N}(0, I)) \]

在模仿学习谱系中的意义

ACT 的重要性在于它证明了:

  • 仅靠少量高质量演示,也能做出精细双臂操作
  • 模仿学习不一定只能做单步回归
  • “动作块”可以成为后续更大模型的自然动作表示

如果你想进一步理解它为什么会影响后来的 VLA 和 action tokenization 设计,请继续读 ACT模型模型发展路线图


方法对比

方法 数据需求 在线交互 多模态 长任务 典型应用
BC 离线演示 快速原型
DAgger 离线+在线 自动驾驶
IRL/MaxEntIRL 离线演示 是(RL) 奖励学习
GAIL 离线演示 是(RL) 运动模仿
ACT 离线演示 好(CVAE) 灵巧操作
扩散策略 离线演示 接触丰富任务

前沿趋势

  1. 扩散策略:用去噪扩散模型建模多模态动作分布,详见 扩散策略
  2. VLA 模型:将视觉-语言大模型与动作预测结合,详见 VLA模型
  3. 数据规模化:通过更好的遥操作系统大规模收集数据,详见 遥操作与数据收集
  4. 跨实体迁移:在不同机器人形态之间迁移模仿学习策略

参考文献

  1. Pomerleau, D. (1989). ALVINN: An Autonomous Land Vehicle in a Neural Network. NeurIPS.
  2. Ross, S., Gordon, G., & Bagnell, D. (2011). A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning. AISTATS.
  3. Ziebart, B., et al. (2008). Maximum Entropy Inverse Reinforcement Learning. AAAI.
  4. Ho, J. & Ermon, S. (2016). Generative Adversarial Imitation Learning. NeurIPS.
  5. Zhao, T., et al. (2023). Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware. RSS.
  6. Chi, C., et al. (2023). Diffusion Policy: Visuomotor Policy Learning via Action Diffusion. RSS.

评论 #