模仿学习:BC、DAgger 与数据聚合
一句话定义
模仿学习(Imitation Learning)从人类演示中学习策略——最简形式行为克隆(BC)把"看演示学动作"变成监督学习,而它的核心难题(分布漂移)与解法(DAgger、动作分块、生成式策略)定义了整个机器人学习的工程版图。
为什么重要
- 当前机器人操作的主流训练范式就是模仿学习:ACT、Diffusion Policy、几乎所有 VLA 的动作头都是 IL。
- 它绕开了 RL 的样本效率与安全难题,用"人类先验"直接给策略一个不错的起点。
- 理解它的失败模式(协变量偏移、多模态动作分布)是理解 2023-2025 方法演进(Diffusion Policy、ACT)的钥匙。
前置知识
监督学习基础、kp-003 闭环。
核心概念
行为克隆(Behavior Cloning, BC):把演示数据 $\{(\mathbf{o}_t, \mathbf{a}_t^*)\}$ 当监督学习:$\min_\theta \|\pi_\theta(\mathbf{o}_t) - \mathbf{a}_t^*\|^2$。源头可追至 1989 年 ALVINN(神经网络开车)。
协变量偏移(Covariate Shift)/ 分布漂移:BC 只见过"专家走出的好状态";部署时策略一犯错进入没见过的坏状态,不知道如何回来,错误滚雪球——复合误差(compounding errors)随时间平方增长。
DAgger(Dataset Aggregation, Ross et al. 2011):让策略执行、专家标注策略访问的状态,把新数据并入训练集。理论上把误差从 $O(T^2)$ 降到 $O(T)$。工程痛点:部署时专家必须在线陪跑(干预式采数),这正是"人在环干预采集"方法的思想源头。
表征与损失的选择:
- 动作回归 MSE 的陷阱:对多模态动作分布(同一场景"往左绕"或"往右绕"都行)取平均 = 两头都不对的"平均动作"。解法:分类化(离散动作 bin)、GMM 策略、CVAE(kp-304)、扩散(kp-303)。
- 观测编码:CNN/ViT 提图像特征;加语言指令用文本编码器对齐。
原理与机制
为什么 IL 而非 RL 起步:操作任务的奖励稀疏且写不出("叠好了"很难形式化),而人类演示天然提供稠密监督。IL 的信息利用效率极高:一条演示直接告诉策略"这状态下该这么动",RL 可能要试错上万次。
工程要点:
- 数据质量>数量:演示者的策略一致性(同一任务同一手法)、时序对齐精度、成功判定标准都直接决定上限。
- 动作分块(action chunking):一次预测未来 k 步并执行其中一段,抑制误差累积、平滑输出(ACT 提出,已成为标配)。
- 观测增广与正则:随机裁剪、颜色抖动、相机位姿扰动,提高对部署环境差异的容忍。
公式与图示
BC 损失:$L(\theta) = \mathbb{E}_{(\mathbf{o},\mathbf{a}^*)\sim\mathcal{D}}\left[ \|\pi_\theta(\mathbf{o}) - \mathbf{a}^*\|_2^2 \right]$
DAgger 聚合:$\mathcal{D}_i \leftarrow \mathcal{D}_{i-1} \cup \{(\mathbf{o}, \pi^*(\mathbf{o})) \mid \mathbf{o} \sim d^{\pi_{i-1}}\}$
专家轨迹分布(好状态流形)
━━━━━━━━━━━━━━━━━━► 任务成功
↑ BC 学到的策略只在好状态上被训练过
部署时小误差 → 偏离流形 → 没见过这种状态 → 错上加错(漂移)
DAgger:故意在"坏状态"上收集专家标注,把流形修宽
直观类比
- 学做菜:只看大厨操作视频学(BC),自己一紧张手抖就完全不知道怎么补救——因为视频里没有"手抖之后"的画面;DAgger 就是让大厨站在旁边,你做歪了他喊"往回翻"并把这段也录进教学片。
- 导航跟着前车走:跟车时一切正常,前车突然变道你立刻慌——演示数据里没有"无人可跟"的状态。
实例与案例
- ALOHA/ACT(2023):50 条演示训出精细双臂操作(kp-304),证明了"少量高质量演示 + 好的策略结构"的威力。
- Diffusion Policy(2023):用扩散模型解多模态问题,在多项基准上把 BC 系方法推上新高度(kp-303)。
- VLA 微调范式:通用 VLA 预训练 + 目标任务少量演示微调(π0、OpenVLA 路线),本质是"大数据 BC 预训练 + 小数据 BC 微调"(kp-305)。
常见误区
- 误区一:演示越多越好。质量与一致性优先;混合多种策略的演示会让 BC 学成"平均动作",多模态方法能缓解但不能抹平。
- 误区二:BC 后不需要评估分布外表现。训练 loss 低 ≠ 部署成功;必须做"扰动恢复"测试(故意推偏物体看策略能否找回)。
- 误区三:IL 与 RL 对立。实践中常用演示引导 RL(DAgger 式干预、RL 微调 IL 策略),两者是流水线前后段。
自测题
- 推导/论证复合误差随时间平方增长的直觉。
- 同一任务有"左绕"和"右绕"两种可行方案,MSE 回归的 BC 会学到什么?怎么办?
- 设计一个干预式数据采集协议(类似 DAgger),采集哪些状态、如何标注?
与其他知识点的关系
- kp-303 Diffusion Policy 与 kp-304 ACT:解决 BC 两大短板(多模态、漂移)的两条主流路线。
- kp-302 RL:IL 的互补与微调伙伴。
- kp-403 数据采集:IL 的成败一半在数据端。
延伸阅读
- Ross, Gordon & Bagnell, A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning, AISTATS 2011。
- 综述:Zheng et al., Imitation Learning: Progress, Taxonomies and Challenges, 2023(arXiv)。
- LeRobot 官方教程:从采集到 ACT 训练的完整 hands-on。
本节引用来源
- Pomerleau, ALVINN, 1989
- Ross, Gordon & Bagnell, DAgger, AISTATS 2011