用 PPO/Decision Transformer 训练驾驶策略,掌握离线 RL(CQL/IQL)、安全 RL 与 RLHF 用于驾驶。
PPO (Proximal Policy Optimization) 使用 Clipped Surrogate Objective:
L = E[min(r_t * A_t, clip(r_t, 1-e, 1+e) * A_t)]
其中 r_t = pi_new / pi_old 是策略比率, e = 0.2 是裁剪范围。
- r_t > 1+e: 策略变化太大, clip 防止过度更新
- r_t < 1-e: 策略变差太多, 限制下降幅度
- 结果: 策略稳定提升, 不会坍塌
Actor: pi(a|s) → 输出动作
Critic: V(s) → 估计状态价值
更新:
Actor: max L_clip
Critic: min MSE(V(s), R)
单步 TD: A_t = r_t + gamma*V(s_{t+1}) - V(s_t) (低方差, 高偏差)
Monte Carlo: A_t = R_t - V(s_t) (高方差, 低偏差)
GAE: 加权多步, 平衡两者
lambda=0 → TD(0) (低方差)
lambda=1 → Monte Carlo (无偏)
lambda=0.95 → GAE (最佳平衡)
将 RL 转化为条件序列建模:
输入: (R_1, s_1, a_1, ..., R_t, s_t)
输出: a_t
其中 R_t 是期望的未来回报 (return-to-go)。
| 方面 | PPO | Decision Transformer |
|---|---|---|
| 训练 | 在线交互 | 离线数据 |
| 目标 | 最大化累积回报 | 模仿高回报行为 |
| 稳定性 | 需要调参 | 相对稳定 |
| 数据效率 | 低 | 高 |
| 最优性 | 理论可最优 | 受限于数据 |
- 硬约束: 交通规则 (红灯停车, 限速)
- 软约束: 舒适度 (jerk, 横向加速度)
- 惩罚约束: 碰撞, 偏离道路 (负奖励)
规划输出 → Safety Check → 调整后动作 → 执行
如果规划的动作不安全, Safety Layer 会修正 (如: 碰撞即将发生 → 紧急刹车)。
| 方法 | 数据 | 安全性 | 优缺点 |
|---|---|---|---|
| BC | 离线专家 | 弱 | 简单但不优 |
| PPO | 在线交互 | 中 | 可最优但慢 |
| DT | 离线任意 | 中 | 稳定但受数据限制 |
| Safe RL | 在线+约束 | 强 | 最优+安全 |
1. 先用 BC 初始化策略 (warm-start)
2. 再用 PPO 精调 (fine-tune)
3. 安全约束贯穿始终
4. 考虑 DT 做离线预训练
1. ✅ PPO: Clipped objective 稳定策略更新
2. ✅ GAE: 加权多步 advantage 最佳平衡
3. ✅ Decision Transformer: 序列建模替代策略梯度
4. ✅ Safety: 硬约束+软约束+惩罚保证安全
5. ✅ 方法论: BC warm-start → RL fine-tune → Safety check
下一章: VLA 架构 — 视觉+语言+行动的统一模型