1. 课程导入

在传统机器人编程中,工程师需要把任务拆解成精确的坐标、轨迹和条件判断,再逐条写入控制程序。一旦物体位置、光照、摩擦或任务顺序发生变化,程序往往需要重新标定甚至重写。模仿学习(Imitation Learning)提供了另一条路径:让机器人从人类示范中直接学习“怎么做”,把专家操作转化为可复用的策略。行为克隆(Behavior Cloning, BC)则是模仿学习中最基础、工程落地最广泛的一类方法,它把示范数据看作“状态—动作”样本,用监督学习训练一个从观测到动作的映射函数。

一句话理解:模仿学习解决“如何从示范中学会任务”,行为克隆解决“如何用监督学习拟合示范中的状态到动作映射”。前者是问题框架,后者是具体方法。

1.1 核心定义与问题形式

设机器人在时刻 t 的观测为 o_t,动作为 a_t,专家示范轨迹为 τ = {(o_1,a_1), (o_2,a_2), ..., (o_T,a_T)}。行为克隆的目标是学习策略 π_θ(a|o),使它在相似观测下输出接近专家的动作。训练目标通常是最小化动作预测误差:

L(θ) = E_(o,a)~D [ || π_θ(o) - a ||² ]   # 连续动作
L(θ) = -E_(o,a)~D [ log π_θ(a|o) ]        # 离散动作

这里的 D 是示范数据集,θ 是策略网络参数。与强化学习不同,行为克隆不要求机器人反复试错,也不依赖奖励函数设计,因此数据采集成本低、训练流程接近常规深度学习,非常适合抓取、放置、按压、插拔、倒水等操作任务。

1.2 发展历程:从示教再现到端到端策略

机器人模仿学习并非新概念。早期工业机器人采用“示教再现”(Teach Pendant),由人拖动机械臂记录轨迹点,机器人重复执行固定路径。这类方法依赖精确复现,缺乏泛化能力。20世纪90年代,学者开始用统计模型从示范中学习策略,如高斯混合模型、隐马尔可夫模型。2010年后,深度学习的兴起使端到端行为克隆成为可能:输入图像或点云,输出关节速度或末端位姿。近年来,扩散策略、动作分块、视觉语言模型等进一步提升了多模态、长时序任务的模仿学习能力。

机器人模仿学习发展脉络与行为克隆定位 示教再现 固定轨迹 重复执行 统计学习 GMM / HMM 概率建模 深度行为克隆 CNN / RNN 端到端策略 多模态与扩散策略 动作分块 / VLA 长时序泛化 本课程主线:数据采集 → 策略建模 → 训练优化 → 仿真评测 → 真机部署 行为克隆是贯穿始终的基础方法,后续章节逐步引入时序建模、多模态输入、扩散策略与闭环纠偏 核心关注:分布偏移、动作多峰、观测噪声、实时推理与安全约束

1.3 核心价值:为什么工程上优先选择行为克隆

行为克隆的工程价值主要体现在四个方面。第一,数据即程序:人类示范一次,机器人就能获得一条可训练样本,省去复杂建模。第二,与深度学习生态兼容:可直接使用 PyTorch、TensorFlow、ROS 2、LeRobot 等工具链。第三,适合多模态输入:RGB、深度、关节角、力觉、语言指令都可以作为观测。第四,易于迭代:采集新数据、微调模型、重新部署的闭环周期短。

但行为克隆也有明显短板。最典型的是分布偏移:训练时只见过专家状态,部署时机器人一旦偏离专家轨迹,就会进入未见状态,错误逐步累积。另一个问题是动作多峰:同一观测下可能存在多种合理动作,若用均方误差回归,模型容易输出“平均动作”,导致机械臂犹豫或碰撞。后续章节会分别用 DAgger、动作分块、扩散策略等方法应对。

1.4 典型应用场景

  • 桌面抓取与放置:从人类拖拽示范中学习抓取杯子、积木、工具并放置到目标位置。
  • 柔性物体操作:叠衣服、整理线缆、翻书等任务难以精确建模,适合从示范中学习。
  • 装配与插拔:USB 插入、齿轮装配、连接器对接,需要结合视觉与力觉反馈。
  • 厨房与家庭服务:倒水、搅拌、开抽屉、按按钮等长时序任务。
  • 工业质检与分拣:从人工分拣示范中学习缺陷识别与抓取策略。

1.5 课程框架与学习路径

本课程共 30 章,围绕“数据—模型—训练—评测—部署”五段式展开。下表给出整体框架与关键产出。

阶段 核心内容 关键产出
数据采集 遥操作、动捕、VR 示教、数据格式与同步 可训练示范数据集
策略建模 MLP、CNN、RNN、Transformer、扩散策略 观测到动作的映射模型
训练优化 损失函数、动作分块、数据增强、课程学习 收敛且稳定的策略权重
仿真评测 MuJoCo、Isaac Sim、RoboSuite、闭环测试 成功率与鲁棒性报告
真机部署 ROS 2、实时推理、安全限幅、故障恢复 可运行的机器人技能

学习建议:先跑通一个最小行为克隆闭环——采集 50 条抓取示范,训练一个小型 CNN 策略,在仿真中评测,再迁移到真机。不要一开始就追求大模型和复杂任务。

常见误区:把行为克隆等同于“复制动作”。实际上,行为克隆学习的是观测到动作的条件分布,而不是逐帧回放。若数据覆盖不足、观测不同步或动作空间定义不一致,模型很容易在部署时失效。