3. 模仿学习入门
模仿学习(Imitation Learning, IL)试图让智能体通过观察专家示范来获得策略,而不依赖手工设计奖励函数。在自动驾驶中,专家示范通常来自人类驾驶员的操作日志、安全员接管数据或高精地图约束下的规划轨迹。模仿学习的核心问题是:给定状态-动作对数据集 \(D=\{(s_i,a_i)\}_{i=1}^N\),学习一个策略 \(\pi_\theta(a|s)\),使其在闭环执行时尽可能接近专家行为。围绕这一问题,行为克隆、逆强化学习与 DAgger 构成了三条最基础的技术路线。
一、核心原理:从监督学习到闭环决策
行为克隆(Behavior Cloning, BC)把模仿学习直接视为监督学习:将专家状态 \(s\) 作为输入,专家动作 \(a\) 作为标签,最小化负对数似然或均方误差。其目标函数可写为:
L_BC(θ) = -E_{(s,a)~D} [ log π_θ(a|s) ]
或回归形式:L_BC(θ) = E_{(s,a)~D} [ ||π_θ(s) - a||² ]
BC 的优点是简单、稳定、易于规模化,适合从大规模驾驶日志中预训练感知-决策联合模型。但它存在著名的协变量偏移问题:训练时状态来自专家分布,测试时策略一旦产生微小误差,就会进入专家数据中未出现过的状态,误差随闭环步数累积放大。
逆强化学习(Inverse Reinforcement Learning, IRL)换了一个角度:不直接学策略,而是先从专家示范中推断奖励函数 \(R(s,a)\),再用强化学习在该奖励下求解最优策略。其基本假设是专家行为在某个奖励函数下近似最优。IRL 的典型形式包括最大熵 IRL、最大边际规划等。相比 BC,IRL 学到的奖励函数具有更好的泛化性,能解释“为什么这样做”,但计算代价高、训练不稳定,在实时驾驶闭环中通常作为离线奖励建模或奖励塑形工具。
DAgger(Dataset Aggregation)则针对 BC 的协变量偏移提出迭代式数据聚合:先用 BC 训练初始策略,再让该策略在环境中执行,由专家对访问到的状态给出动作标签,将新数据加入数据集并重新训练。其流程可概括为:
- 用专家数据训练初始策略 \(\pi_1\);
- 在第 \(i\) 轮,用 \(\pi_i\) 与环境交互,采集状态序列;
- 请专家对这些状态标注动作,得到新数据集 \(D_i\);
- 聚合 \(D \leftarrow D \cup D_i\),重新训练 \(\pi_{i+1}\);
- 重复直到策略性能收敛或达到预算。
三者的定位差异:BC 解决“从静态数据快速学策略”,IRL 解决“从示范中恢复奖励与意图”,DAgger 解决“闭环执行中的分布偏移与纠错”。在自动驾驶工程中,它们往往不是互斥的,而是分别用于预训练、奖励建模与闭环微调。
二、方法流程与驾驶任务映射
在驾驶任务中,模仿学习的输入通常包括前视相机、激光雷达、毫米波雷达、IMU、GPS 与历史轨迹;输出可以是方向盘转角、油门/刹车、换道指令或未来轨迹点。不同范式对应不同的工程阶段:
| 范式 | 学习目标 | 数据需求 | 驾驶任务定位 | 主要风险 |
|---|---|---|---|---|
| 行为克隆 BC | 直接拟合专家动作 | 大规模离线日志 | 感知-决策预训练、端到端基线 | 协变量偏移、因果混淆 |
| 逆强化学习 IRL | 恢复奖励函数 | 专家轨迹 + 环境模型 | 奖励塑形、意图理解、离线评估 | 计算昂贵、奖励不唯一 |
| DAgger | 迭代聚合纠错数据 | 可交互环境 + 专家在线标注 | 闭环微调、接管场景修复 | 专家标注成本高、安全风险 |
一个典型的工程流水线是:先用 BC 在千万级驾驶片段上预训练,得到基础策略;再用 IRL 从专家轨迹中学习代价函数,用于评估和奖励塑形;最后在仿真或封闭场地中用 DAgger 进行闭环微调,重点采集策略偏离专家分布时的纠错样本。
三、案例场景:城市路口左转的模仿学习
以城市无保护左转为例,专家示范包含等待、蠕行、避让对向直行车辆、加速通过等阶段。BC 模型可能学到“看到对向车就停”的保守策略,因为训练数据中停车样本占多数;也可能学到“跟车过近”的危险策略,因为专家在特定时刻的加速动作被错误关联到无关视觉特征。IRL 则可以从示范中推断出“安全距离”“通行效率”“舒适度”等隐含奖励项,帮助解释专家为何在某个间隙选择通过。DAgger 的价值在于:当 BC 策略在路口犹豫或误判时,让专家在相同状态下给出正确动作,把这些“边缘状态”加入训练集,从而显著降低闭环失败率。
实操提示:在驾驶模仿学习中,动作空间的选择直接影响 BC 效果。直接回归方向盘转角容易受噪声影响;改为预测未来轨迹点或离散驾驶意图(跟车、换道、左转等待),往往更稳定,也更便于与下游规划模块衔接。
四、误区与复盘
- 误区一:BC 效果不好就是模型容量不够。更常见的原因是数据分布偏移与因果混淆,例如模型学会了“打转向灯就换道”而不是“观察后视镜后换道”。
- 误区二:IRL 一定比 BC 更安全。IRL 恢复的奖励函数可能不唯一,且依赖环境模型;在复杂交互场景中,奖励假设本身可能不成立。
- 误区三:DAgger 可以无限迭代。专家标注成本高,且策略在早期可能执行危险动作;实际工程中常结合仿真回放、安全约束与人工接管数据筛选。
- 复盘要点:评估模仿学习不能只看离线动作误差,必须看闭环指标,如碰撞率、接管率、通行效率、舒适度与规则违反次数。
综上,行为克隆、逆强化学习与 DAgger 分别对应模仿学习中的“直接映射”“奖励恢复”与“迭代纠错”三种基本范式。在自动驾驶任务中,它们并非替代关系,而是分别承担预训练、奖励建模与闭环微调的角色。理解三者的数据流与风险边界,是后续条件模仿学习与多模态驾驶工程的重要基础。