外观
自动驾驶决策
一句话定位:这一页讲清楚强化学习在自动驾驶栈里的真实位置——它不在感知层当家,而在"行为决策"和"规划"层打辅助;为什么行业主流是模仿学习+规则+搜索而不是端到端 RL;安全约束(约束 RL、安全集、冗余护栏)如何改变问题;以及"为什么 L4 全自动驾驶还没有 RL 当家"的诚实分析。
一、自动驾驶决策栈与 RL 的切入点
1. 完整的软件栈
一辆 L4 级自动驾驶车上的软件大致分五层:
text
感知 (Perception) 预测 (Prediction) 决策/规划 (Decision & Planning) 控制 (Control)
目标检测/分割/占用 其他车辆/行人轨迹预测 行为决策(换道?超车?) 转向/油门/刹车
│ │ │ │
CNN/Transformer 概率轨迹预测 行为决策层 + 运动规划层 PID/MPC
(深度学习主导) (深度学习+规则) (规则 / 搜索 / 优化 / RL) (经典控制)RL 的切入点有两个:
- 行为决策层(Behavior Decision):在宏观层面选择"换道、跟车、超车、让行"等离散行为。这是 RL 最自然的落点——离散动作、可定义奖励、决策目标清晰。
- 运动规划层(Motion Planning):在行为约束下生成平滑的时空轨迹。这里主流是搜索与优化(RRT、Lattice planner、梯度优化),RL 作为"生成初始解"或"端到端出轨迹"的尝试。
TIP
把注意力放在**"RL 应该替换哪一层"**而不是"RL 取代整个栈"。业界公认:感知层是监督学习的天下;控制层是经典控制的主场;只有行为决策和部分规划层,RL 才可能有性价比。这和RL vs 相邻领域页"RL 的边界"一节完全一致。
2. 为什么"端到端 RL"这么诱人却又这么难
2016 年 NVIDIA 的 DAVE-2(Bojarski et al., 2016)证明"摄像头→转向角"的端到端模仿学习(behavioral cloning)能在简单场景开几百米。但端到端方案至今没有成为 L4 主流,原因如下:
| 吸引点 | 现实代价 |
|---|---|
| 免去人工模块与特征工程 | 黑箱,安全论证无从谈起 |
| 数据直接驱动 | 需要的"覆盖全部长尾场景"的数据近乎无限 |
| 端到端可优化 | 梯度被长链条稀释,误差在模块间累积 |
| 一个模型解决一切 | 一旦出事故,无法定位是哪一步错了 |
这个"模块化 vs 端到端"的张力是理解自动驾驶技术路线的主线。行业共识是混合架构:模块化为主,模仿学习与 RL 在局部组件里打辅助。
二、分层规划中的 RL:行为决策层
1. 决策层的分层结构
text
全局导航(路线规划) → 行为决策(Behavior) → 运动规划(Trajectory) → 跟踪控制
A→B 的宏观路径 在路口/车道内"选行为" 生成具体轨迹 执行
(A* / 车道网络) (状态机/规则/RL) (采样+优化/搜索) (PID/MPC)行为决策层的输入是"自车状态 + 意图 + 场景语义",输出是"下一段时间的行为意图"(如 ChangeLaneLeft、FollowLane、YieldToPedestrian)。这一层天然适合建模成 MDP:
text
状态 s :自车速度/位置、目标车道、邻车道车辆状态、交通灯、路权
动作 a :换道 / 保持 / 让行 / 加速 / 减速 等离散意图
奖励 r :任务进度(到达) − 舒适性惩罚 − 安全约束惩罚
转移 :环境(交通参与者的反应)2. RL 在行为决策层的优势与困境
优势:比手写状态机(finite state machine)更擅长"长尾交互"——路口抢行、让行博弈、无保护左转这类规则写不完的场景。
困境:
- 奖励函数难写:"好的驾驶行为"是一组软约束(安全、舒适、效率、礼让)的加权,权重错一点,行为就偏一点——这正是奖励工程页"奖励即规格"的最典型实例。
- 安全性无法靠"学习"保证:学出来的策略在没见过的 corner case 上没有任何理论保障。
3. 一个完整的 MDP 例子:换道决策
把行为决策 RL 具象成一个"换道"决策:
text
状态 s :自车速度/位置、目标车道前后车的距离与速度、是否快到路口、用户意图(直行/左转)
动作 a :保持车道 / 向左换道 / 向右换道 / 减速让行 / 加速
奖励 r :+1 按时到达目标 → -舒适性惩罚(急加速/急刹) -安全惩罚(距障碍过近)
-效率惩罚(长时间压速)
终止 :完成导航目标 或 碰撞(巨大负奖励)
挑战:
- 前后车是"动态障碍",状态转移依赖对手行为(非平稳)
- 换道时机是对抗性的(后车加速不让)——一维规则写不出好策略
- 奖励权重(安全 vs 效率)决定性格:偏安全→永远不让行,偏效率→加塞这个例子的每个难点都对应一个 RL 子问题:非平稳→多智能体强化学习;权重漂移→奖励工程;评估→评估与基准。先把一个决策问题写成 MDP,是自动驾驶 RL 研究的必修基本功。
三、模仿学习先行:行为克隆的局限与混合路线
1. 为什么自动驾驶从模仿学习开始
L4 车队的日志(如 Waymo 上千万英里的路测数据)提供了海量专家示范:人类司机或安全员在真实路况下的"正确动作"。因此行业自然先做行为克隆(Behavioral Cloning, BC):直接监督学习 状态 → 动作。
BC 有三个致命局限:
| 局限 | 机制 | 后果 |
|---|---|---|
| 分布漂移(compounding error) | 训练时状态来自专家轨迹,部署时状态来自自己的错误动作 | 小错被放大成大事故 |
| 只会模仿不会反事实 | 不知道"如果换一种动作会发生什么" | 对未见过场景无应对 |
| 奖励信息丢失 | 只学"专家做了什么",不学"为什么" | 无法权衡安全/效率 |
ChauffeurNet(Bansal et al., 2018,Waymo 提出)正是对 BC 的这些病根的修复:它在模仿学习之外引入闭环训练(closed-loop training)——把 agent 放在仿真交通流里,用"未来时刻的误差"作为额外监督,逼策略学会纠错而非死记。
2. RL 与模仿的混合:行业主流配方
现实中最有效的是"BC 初始化 + RL 微调":
text
第 1 步 大规模 BC:用车队日志训练初始策略(快速获得像样的驾驶行为)
第 2 步 RL 微调:在仿真里用奖励信号针对"难场景"优化(学会权衡与应对长尾)
第 3 步 安全护栏:RL 策略输出必须过约束检查(见下一节)一个公开的端到端案例是 Learning to Drive in a Day(Kendall et al., 2019):先用单摄像头 BC 学 10 分钟驾驶数据,再用 RL(PPO)在仿真与真车混合环境微调,在一条闭合环路上实现了端到端驾驶。它证明了"BC 打底 + RL 微调"管线可行,但也暴露了其局限(单场景、无复杂交互)。在真实车队里,微调场景的选择与安全论证仍然是开放问题。
WARNING
模仿学习+RL 混用的最大坑是奖励与示范冲突:如果奖励函数给"舒适性"太高权重,RL 微调会把策略往"保守慢行"方向推,反而偏离人类示范的效率。解决方法是把示范约束(如 KL 到 BC 策略的距离)写进奖励,保持"微调不漂移"——这一思路与RLHF里"KL 惩罚防偏离"的做法同构。
3. 数据工程:车队日志、仿真与数据增强
模仿与 RL 混合管线能吃多少数据,决定了它的上限。数据来源三条腿:
| 数据源 | 内容 | 质量 | 量级 |
|---|---|---|---|
| 真实车队日志 | 安全员+人类司机的完整驾驶 | 最真实 | 有限(路测里程昂贵) |
| 仿真交通流 | 参数化场景(变道、让行、拥堵) | 可控、可标注 | 无限(只要 GPU) |
| 对抗合成场景 | 人为构造的 corner case | 最稀有但有价值 | 按需生成 |
关键点:自动驾驶的"长尾"(罕见场景)决定了光靠真实日志永远不够,仿真合成是必须的;但合成的场景必须"像话"——否则策略学到的是"仿真里的交通规则"而不是"真实世界的交通规则"。这正是离线强化学习页里"数据分布决定策略泛化"的驾驶版。
四、安全:约束 RL、安全集、冗余护栏
1. 把安全当作约束而不是奖励
自动驾驶里把"安全"写进奖励有个经典问题:奖励是标量加权,安全与其他目标会互相兑换——"为了早到 1 分钟而冒 1% 碰撞风险"在奖励函数里无法表达,但工程师绝不允许这种兑换发生。因此正确姿势是把安全当作硬约束:
text
带约束的优化目标:
maximize E[效率奖励 + 舒适奖励]
subject to P(碰撞) = 0;自车与障碍物最小距离 ≥ d_min 等约束
对应的方法论:
- 约束强化学习(Constrained RL):如 CPO(Achiam et al., 2017)把约束并入策略更新
- 安全集(Safe Set)与控制屏障函数(CBF):实时保证状态不出安全集合
- 冗余护栏:RL/搜索输出必须经过规则检查器,违规则降级到安全行为2. 工程上的"三层安全"结构
text
┌ 第 1 层 决策层(RL/搜索/规则):输出行为意图
├ 第 2 层 规划约束:轨迹必须满足动力学可行、碰撞无、舒适性边界(优化层强制)
└ 第 3 层 执行护栏:控制层限速、限转角、AEB 紧急制动(不依赖任何决策组件)关键认识:无论决策层是 RL 还是规则,第 2、3 层都必须存在且不信任第 1 层。这是自动驾驶行业与机器人 RL(见机器人控制与 Sim2Real的安全护栏)一致的工程纪律。
3. 约束 RL 的算法工具箱
如果决策层确实用了 RL,安全约束怎么融进训练?主流四类:
| 方法 | 思路 | 特点 |
|---|---|---|
| 拉格朗日法(Lagrangian) | 把约束罚进奖励,用对偶变量自动调惩罚权重 | 简单通用,但权重难收敛 |
| 约束策略优化(CPO) | 在策略更新时直接限制约束满足 | 理论好,实现复杂 |
| 安全集/控制屏障函数(CBF) | 实时监督动作,违规时投影到安全集 | 确定性强,但需要模型 |
| 黑名单/规则过滤 | 硬编码禁止动作(如"逆线") | 最朴素、最可靠 |
工程结论:前两类用在"训练期",后两类用在"部署期"。无论学术界多么推崇 CPO,部署时的 CBF/规则过滤都是不可省的最后防线。
五、真实案例:Waymo 与 Tesla 的技术路线
1. Waymo:搜索+模仿为主,RL 打辅助
Waymo(原 Google 自动驾驶项目)2018 年发布 ChauffeurNet,并在 2020 年代持续公开其架构。公开信息给出的技术画像:
| 模块 | Waymo 的做法 |
|---|---|
| 感知 | 深度神经网络(LiDAR+相机融合、占用栅格) |
| 预测 | 多模态轨迹预测(Transformer 系) |
| 规划 | 基于规则的搜索 + 轨迹优化为主;RL 作为"难场景的行为候选"辅助 |
| 评估 | Carcraft 大规模仿真(每天数百万虚拟里程)+ 路测 |
值得注意的是:Waymo 官方论文与博客反复强调 "安全由冗余和验证保证,而非单个模型"。其决策层从未宣称"RL 当家"。
2. Tesla:数据驱动的影子模式与占用网络
Tesla 走"纯视觉 + 数据驱动"路线,2022 AI Day 公开了更多细节:
- 感知层:占用网络(Occupancy Networks)把 8 个摄像头画面预测成 3D 栅格占用,替代传统"目标检测+跟踪"的部分职责。
- 规划层:FSD 的规划更多依赖数据驱动的轨迹候选 + 成本函数评估(优化),而不是端到端 RL;策略选择仍保留大量人工规则与约束。
- 影子模式(Shadow Mode):所有车队的车实时记录"如果系统采取了某动作会怎样",把离线数据池当作"免费的模拟器"来训练与验证——这是离线 RL 思想在产业界的最大规模实践(见离线强化学习)。
3. 表格:三家典型路线的 RL 含量
| 公司/项目 | 感知 | 决策/规划 | RL 的角色 |
|---|---|---|---|
| Waymo | 深度学习 | 规则+搜索+优化 | 辅助(难场景行为候选、评估) |
| Tesla FSD | 深度学习(占用网络) | 数据驱动候选+成本优化 | 影子模式/离线数据应用 |
| NVIDIA DAVE-2 | 端到端 CNN | (端到端) | 无 RL,纯模仿 |
| 学术界(Kendall 2019 等) | 单目相机 | 端到端策略 | RL 微调示范 |
INFO
"RL 含量"低不代表行业不重视 RL。自动驾驶为 RL 提供了两个特殊难题:安全约束下的学习、超大规模离线数据的使用——前者催生了约束 RL 研究,后者让离线 RL 找到最大的真实数据集。这两个方向都还远未成熟。
六、"为什么 L4 全自动驾驶还没有 RL 当家":诚实分析
1. 六个结构性原因
| 原因 | 说明 |
|---|---|
| 长尾数据 | 有效策略需要的"罕见但致命"场景,数据里出现频率极低,RL 的试错采样根本探不到 |
| 安全论证 | L4 需要"可证明安全",RL 策略无法给出概率保证,监管与保险不接受黑箱 |
| 奖励难写 | 安全/舒适/效率的权重是产品决策,不是可优化变量;见奖励工程 |
| 评估困难 | 真实环境不可能被充分试错,仿真评估的保真度本身就是大坑(见下节) |
| 可解释与责任 | 事故归责需要"为什么这么开"的可审计解释 |
| 成本与数据获取 | 真实路测数据昂贵,RL 的样本需求与物理世界不匹配 |
2. 一个值得记住的对照
对比 AlphaGo 的成功条件(见AlphaGo 与蒙特卡洛树搜索):完美模型、免费模拟、明确胜负。自动驾驶三个条件全部不满足:
- 模型不完美:交通是开放世界,无法穷举。
- 模拟不免费:仿真器无法模拟真实物理与人类意图的全部复杂性。
- 胜负不明确:驾驶没有"赢",只有"安全地完成任务"。
结论不是"RL 无用",而是"RL 的适用面没有宣传的那么宽"。自动驾驶恰恰是RL vs 相邻领域页那个"什么时候该用 RL"决策框架的最佳反面样本。
七、仿真测试与评估:闭环 vs 开环
1. 开环评估的谎言
- 开环评估:把历史轨迹回放,看模型在某时刻的预测动作是否接近专家。简单,但掩盖了分布漂移——一次小偏差在开环里不算错,在闭环里会被放大成事故。
- 闭环评估:把模型接入仿真交通流,让它自己开,统计完成任务率、事故率、违规率。这才是行业标准。
| 评估方式 | 优点 | 缺陷 |
|---|---|---|
| 开环(log replay) | 便宜、可复现 | 与真实部署表现弱相关 |
| 闭环仿真(Carcraft、MATSim 等) | 可大规模压力测试 | 仿真保真度不足会误判 |
| 路测 | 真实 | 样本稀疏、成本极高、长尾难以覆盖 |
2. 闭环仿真的保真度陷阱
闭环仿真的核心风险是 "仿真里安全 ≠ 真实安全"——如果仿真器的交通参与者行为过于"绅士",策略会学到激进行为,真机上立刻出事。这与机器人领域Sim2Real 鸿沟是同一问题的不同面孔。行业对策是对抗式仿真:主动生成难场景(cut-in 加塞、行人乱穿)测试策略,而不是只在自然分布上评估。
WARNING
自动驾驶评估还有个容易被忽视的问题:用开环指标做产品决策。任何"准确率/相似度"开环指标都不能回答"能不能上路"。"上线与否"只能由闭环仿真+路测的安全统计回答。这与评估与基准页"评估协议决定结论可信度"的原则一致。
3. 仿真评估的指标体系
一辆"仿真里合格"的车,背后是一整套分层的指标,别只盯单一数字:
| 层级 | 指标 | 说明 |
|---|---|---|
| 安全 | 事故率、紧急制动触发率、安全距离违规次数 | 第一优先级 |
| 任务 | 任务完成率、平均通过时间 | 在安全达标后才比较 |
| 舒适 | 加速度/急转频次、乘客体验模型 | 影响产品力 |
| 效率 | 平均车速、路口等待时间 | 与舒适互相权衡 |
| 鲁棒 | 多 seed 方差、对抗场景通过率 | 防止"运气好" |
报告纪律:安全指标必须先于一切;安全不达标,任务/效率指标再漂亮也不许上线。这个排序本身就是在"评估即产品决策"——正是评估与基准页反复强调的"别用一个指标做决策"。
八、RL 在自动驾驶的研究前沿
给想在自动驾驶做 RL 的人几个值得关注的方向(也提醒哪些是"叙事"):
| 方向 | 内容 | 成熟度 |
|---|---|---|
| 安全约束 RL | 把 CPO/CBF 工程化,让 RL 决策带安全保证 | 研究活跃、落地少 |
| 离线 RL 利用车队日志 | 影子模式数据训策略、评估策略 | 已有工业实践(Tesla 等) |
| 端到端 RL(感知→控制) | 从像素直接学驾驶,探索性强 | 研究性质,量产未采用 |
| 世界模型+规划 | 学驾驶场景模型再规划(model-based) | 前沿,见基于模型的 RL |
| 多智能体交互 | 把其他车当智能体建模,而非静态障碍 | 学术方向,工业少用 |
一句话:自动驾驶对 RL 的"产出"更多是方法论与基础设施(仿真、评估、安全、离线数据),而不是一个可上路的端到端 RL 策略。抱着这个预期去学、去投,比追逐"RL 取代整个驾驶栈"的叙事更务实。
从学术到产业:端到端 RL 的三次尝试
复盘学术界"端到端 RL 驾驶"的代表工作,能看清这条路线真实的边界:
| 工作 | 时间 | 做法 | 结果 | 边界在哪 |
|---|---|---|---|---|
| NVIDIA DAVE-2 | 2016 | 摄像头→转向(纯 BC) | 简单场景开几百米 | 分布漂移、无安全论证 |
| Learning to Drive in a Day | 2019 | BC 预训练 + PPO 微调 | 闭合环路端到端驾驶 | 单场景、无交互 |
| 模仿+RL 混合(各厂) | 2020+ | BC 打底、仿真 RL 微调、护栏收口 | 局部组件可用 | 仍未取代模块化架构 |
一个值得记住的结论:端到端路线十年下来,产出最稳定的是"感知端到端"(视觉直接出可学习的表示),而"决策端到端"始终没有量产。原因不是 RL 不够强,而是自动驾驶的安全责任结构(见第七节)决定了"不可解释的端到端黑箱"过不了安全论证这一关。这个判断对任何"RL 接管关键安全系统"的方案都成立。
九、总结:RL 工程师在自动驾驶能做什么
对想进入自动驾驶的 RL 工程师,给出务实的落点清单:
- 行为决策 RL:用仿真(CARLA、MetaDrive 等)训练换道/路口决策,研究"安全约束下的 RL"。
- 离线 RL:把车队海量日志用于策略训练与评估——自动驾驶可能是离线 RL 最大的真实舞台。
- 仿真器与场景生成:构建对抗场景与仿真保真度提升,是行业紧缺能力。
- 混合管线:BC 初始化 + RL 微调 + 护栏的工程实践。
注意别把精力花在"端到端 RL 取代整个栈"这类路线叙事上——那是研究与探索话题,不是入职后能立刻落地的工程话题。
延伸阅读
- 奖励工程 —— "奖励即规格"、安全软约束如何扭曲行为。
- 基于模型的 RL 与世界模型 —— 驾驶仿真器与学习世界模型的联系与模型误差陷阱。
- 离线强化学习 —— Tesla 影子模式背后的方法论。
- RL vs 相邻领域 —— "什么时候该用 RL"的完整决策框架。
- 常见陷阱与反模式 —— 开环评估作弊、环境 bug 在自动驾驶中的具体形态。
- 机器人控制与 Sim2Real —— 同一安全护栏与仿真迁移问题的机器人版本。
参考资料
- Bojarski, M., et al. (2016). End to End Learning for Self-Driving Cars. arXiv:1604.07316.(NVIDIA DAVE-2)
- Bansal, M., et al. (2018). ChauffeurNet: Learning to Drive by Imitating the Best and Synthesizing the Worst. arXiv:1812.03079.
- Kendall, A., et al. (2019). Learning to Drive in a Day. ICRA 2019.(arXiv:1807.00412)
- Achiam, J., et al. (2017). Constrained Policy Optimization. arXiv:1705.10528.
- Tesla AI Day 2022(2022 年 9 月 30 日)官方演示与博客,公开占用网络与规划架构。
- Waymo 官方博客《Waymo Driver 技术路线》(2020 起持续更新)与 ChauffeurNet 技术报告。
- Dosovitskiy, A., et al. (2017). CARLA: An Open Urban Driving Simulator. CoRL 2017.(开源驾驶仿真器)
- Grigorescu, S., et al. (2020). A Survey of Deep Learning Techniques for Autonomous Driving. Journal of Field Robotics, 37(3), 362–386.