🎯 引言:RL在自动驾驶中的位置
强化学习(Reinforcement Learning, RL)是继监督学习之后最具潜力的自动驾驶训练范式。与模仿学习(Imitation Learning, IL)从专家数据中学习不同,RL 通过试错交互自主优化策略,理论上可以超越人类驾驶水平。
本文聚焦通用 RL 基础,与 GRPO(Group Relative Policy Optimization)等偏 R1/VLA 的方法做清晰区分。

🧱 MDP:强化学习的数学框架
五元组定义
几乎所有 RL 问题都可以建模为马尔可夫决策过程(Markov Decision Process, MDP),由五元组 (S, A, P, R, γ) 定义:
| 符号 | 名称 | 含义 |
|---|---|---|
| S | 状态空间 | 环境的所有可能状态 |
| A | 动作空间 | 智能体可执行的动作 |
| P(s’|s,a) | 状态转移概率 | 执行 a 后进入 s’ 的概率 |
| R(s,a) | 奖励函数 | 在 s 执行 a 获得的立即奖励 |
| γ | 折扣因子 | [0,1],平衡近期与远期奖励 |
自动驾驶 MDP 建模
在自动驾驶场景中,MDP 的元素对应:
- S:自车状态 + 周围障碍物 + 道路拓扑
- A:方向盘转角 + 油门/刹车开度
- P:其他车辆的交互行为(非完全可控)
- R:安全性 + 效率 + 舒适性的加权组合
- γ:通常取 0.95~0.99
核心假设:马尔可夫性
“未来只取决于当前状态,与历史无关”——这意味着状态表示必须充分统计。在自动驾驶中,仅靠单帧感知不够,通常需要叠加历史多帧或使用时序融合来满足马尔可夫性。
📊 价值函数与策略
策略 π(a|s)
策略是 RL 要学习的核心:给定状态 s,选择动作 a 的概率分布。
- 确定性策略:a = μ(s),如 DDPG
- 随机策略:a ∼ π(·|s),如 PPO、SAC
价值函数
| 函数 | 符号 | 定义 | 用途 |
|---|---|---|---|
| 状态价值 | V(s) | 从 s 出发的期望回报 | 评估状态好坏 |
| 动作价值 | Q(s,a) | 在 s 执行 a 的期望回报 | 评估动作好坏 |
| 优势函数 | A(s,a) | Q(s,a) - V(s) | 衡量动作相对优劣 |
优势函数是策略梯度方法中的关键概念:$A(s,a) > 0$ 表示当前动作优于平均水平,应提高其被选中的概率。
🔁 RL 算法谱系
1. 基于价值的算法 (Value-Based)
核心思路:学习最优 Q 函数,策略由 Q 隐式导出。
代表算法:DQN (Deep Q-Network)
DQN 的两大创新:
- 经验回放 (Replay Buffer):打破数据相关性
- 目标网络 (Target Network):稳定训练目标
2. 基于策略的算法 (Policy-Based)
核心思路:直接参数化策略 π_θ,用梯度上升优化。
策略梯度定理:
$$ \nabla_\theta J(\theta) = \mathbb{E}[\nabla_\theta \log \pi_\theta(a|s) \cdot Q^{\pi_\theta}(s,a)] $$核心直觉:让好的动作更大概率被选,坏的动作更小概率。
3. Actor-Critic 架构
融合两者优势:Actor(策略网络)负责选动作,Critic(价值网络)负责评估。
🚀 PPO:工程界最爱的 RL 算法

为什么需要 PPO?
普通策略梯度存在两大问题:
- 步长敏感:步长过大 → 策略崩坏,步长过小 → 收敛慢
- 样本效率低:每个样本只用一次
PPO 的核心机制:Clipped Surrogate Objective
PPO 通过裁剪限制策略更新的幅度:
其中 r(θ) = π_θ(a|s) / π_old(a|s) 是新旧策略的比率。
直观理解:当新策略偏离旧策略太远时,裁剪掉更新信号,防止一步更新过大。
PPO 的自动驾驶应用
PPO 在自动驾驶中常用于决策层训练:
- 车道保持与变道决策
- 交叉路口通行策略
- 多车交互博弈
🔄 SAC vs DDPG vs PPO:核心对比
| 特性 | PPO | SAC | DDPG |
|---|---|---|---|
| 策略类型 | 随机 | 随机 + 最大熵 | 确定性 |
| 适用动作 | 离散/连续 | 连续 | 连续 |
| 样本效率 | 中 | 高 | 中 |
| 稳定性 | 高 | 高 | 中 |
| 探索机制 | 策略随机性 | 熵正则化 | OU噪声 |
| 离线可用 | ❌ | ❌ | ✅ (变体) |
SAC (Soft Actor-Critic) 的核心创新:在优化目标中加入策略熵 H(π(·|s)),鼓励探索的同时避免陷入局部最优。在自动驾驶模拟器训练中,SAC 通常取得比 PPO 更高的样本效率。
DDPG (Deep Deterministic Policy Gradient) 使用确定性策略,适合连续控制任务,但对超参数敏感。其升级版 TD3 通过双 Q 网络 + 延迟更新大幅提升了稳定性。
🔄 模仿学习 vs 强化学习
模仿学习不能算严格意义上的RL,但它们的目标高度重叠。
| 维度 | 模仿学习 (IL) | 强化学习 (RL) |
|---|---|---|
| 数据来源 | 专家轨迹 | 自探索 |
| 奖励信号 | 隐含在专家动作中 | 显式奖励函数 |
| 性能上限 | ≤ 专家水平 | 可超越专家 |
| 分布偏移 | ❌ 严重 | ✅ 可处理 |
| 样本效率 | 高 | 低 |
最佳实践:先用 IL 预训练策略,再用 RL fine-tune。这在自动驾驶领域已经成为标准范式。
🏆 Reward Shaping:设计的艺术
稀疏与稠密奖励
- 稀疏奖励:仅在任务完成时 +1,其余为 0 → 难探索
- 稠密奖励:每一步都有反馈 → 引导性强,但可能引入偏差
自动驾驶中的奖励设计
典型奖励函数构成:
| 奖励项 | 计算方式 | 目标 |
|---|---|---|
| R_safety | 碰撞= -100, TTC < 阈值 = -10 | 避免碰撞 |
| R_efficiency | 速度接近目标 | 通行效率 |
| R_comfort | -|jerk|, -|steering_rate| | 乘客舒适 |
| R_progress | 沿道路前进距离 | 完成任务 |
Reward Hacking 是实践中最大的坑:智能体总会找到设计者没想到的"作弊"方式获取高奖励。例如为了追求效率奖励,学会贴近前车行驶(危险)。
🧩 RL 在自动驾驶中的关键应用
| 应用层 | 具体任务 | 常用算法 | 挑战 |
|---|---|---|---|
| 行为决策 | 换道/汇入/超车 | PPO, SAC | 多车交互建模 |
| 运动规划 | 轨迹生成 | DDPG, TD3 | 安全约束保证 |
| 纵向控制 | 跟车/ACC | PPO | 舒适性平衡 |
| 联合训练 | 感知→控制端到端 | DreamerV3 | 可解释性 |
Sim-to-Real 是 RL 落地自动驾驶的最大障碍:模拟器中训练的策略在真实道路上的表现会因仿真差距(Simulation Gap)而大幅下降。常用缓解方法包括域随机化(Domain Randomization)、系统识别、以及渐进式迁移。
💭 个人思考
RL 在自动驾驶领域的地位有点像"期望很大,落地不易"。几个关键观察:
- RL 强于决策,弱于安全 — 自动驾驶的安全要求(10⁻⁹ 失效率)远超 RL 能提供的形式化保证
- 模拟器质量决定 RL 上限 — 没有高保真模拟器,RL 策略就只是"仿真冠军"
- Reward 设计是瓶颈 — 自动驾驶是多目标权衡问题,单标量奖励很难完美表达人类偏好
我认为 RL 在自动驾驶中最务实的落地方向是:在仿真环境中训练决策策略 + 规则层兜底。纯端到端 RL 距离量产还有很长的路,但作为决策策略的补充学习手段,RL 已经展示出不可替代的价值。