3. 强化学习入门

在自动驾驶决策与控制中,强化学习(RL)要解决的核心问题是:车辆在连续交互中如何选择动作,使长期累积的安全性与通行效率最优。理解这一问题的起点,是马尔可夫决策过程(MDP)。MDP 用五元组 (S, A, P, R, γ) 描述环境:状态 s 表示自车与周边交通的联合态势,动作 a 表示加速度、转向或换道指令,转移概率 P(s'|s,a) 描述环境演化,奖励 R 编码碰撞惩罚、车道保持、舒适性与通行效率,折扣因子 γ 权衡近期与远期回报。自动驾驶的难点在于状态连续、动作连续、奖励稀疏且安全约束硬性,因此 MDP 往往需要与约束控制结合。

强化学习核心范式与算法关系图 MDP 环境 状态 s:自车+周边态势 动作 a:加速/转向/换道 奖励 R:安全+效率+舒适 智能体 Agent 策略 π(a|s) 价值估计 V(s) / Q(s,a) 参数 θ / 网络权重 状态 sₜ 动作 aₜ 奖励 rₜ₊₁ 与 sₜ₊₁ 值函数方法 • 学习 V(s) 或 Q(s,a) • Bellman 方程迭代 • Q-Learning / DQN • 离线策略,经验回放 • 适合离散动作空间 • 自动驾驶:换道决策 • 目标:max Q(s,a) 策略梯度方法 • 直接优化 πθ(a|s) • 梯度 ∇θ J(θ) • REINFORCE / PPO • 在线策略,高方差 • 适合连续动作空间 • 自动驾驶:轨迹跟踪 • 目标:max J(θ) Actor-Critic 方法 • Actor:策略 πθ(a|s) • Critic:价值 Vφ(s) • 优势函数 A(s,a) • A2C / A3C / SAC / TD3 • 结合值估计与策略梯度 • 自动驾驶:端到端控制 • 目标:低方差+连续动作 值函数提供基线 → 策略梯度降低方差 → Actor-Critic 融合两者优势

一、值函数与 Bellman 方程

值函数是强化学习的“评价体系”。状态价值 Vπ(s) 表示从状态 s 出发,按策略 π 行动所能获得的期望折扣回报;动作价值 Qπ(s,a) 则进一步指定首步动作。二者满足 Bellman 期望方程:

Vπ(s) = Σ_a π(a|s) Σ_s' P(s'|s,a) [ R(s,a,s') + γ Vπ(s') ]
Qπ(s,a) = Σ_s' P(s'|s,a) [ R(s,a,s') + γ Σ_a' π(a'|s') Qπ(s',a') ]

最优值函数满足 Bellman 最优方程,V*(s) = max_a Q*(s,a)。在自动驾驶中,值函数可以理解为“当前态势下的长期安全余量”:若前方车辆突然减速,V(s) 会因碰撞风险上升而下降,从而驱动策略选择更保守的动作。

二、Q-Learning 与深度 Q 网络

Q-Learning 是一种离线策略、时序差分方法,其更新规则为:

Q(s,a) ← Q(s,a) + α [ r + γ max_a' Q(s',a') − Q(s,a) ]

当状态空间连续时,用神经网络拟合 Q(s,a;θ),即 DQN。DQN 引入经验回放与目标网络,缓解样本相关性和训练震荡。在自动驾驶换道决策中,动作可离散为“左换道、保持、右换道”,奖励设计需包含碰撞惩罚、车道偏离惩罚和通行效率奖励。但 DQN 难以直接处理连续加速度与转向角,因此更适合高层决策而非底层控制。

Q-Learning 的“max”操作会导致 Q 值高估,Double DQN 用在线网络选动作、目标网络估值,可显著缓解该问题。

三、策略梯度与 Actor-Critic

策略梯度方法直接参数化策略 πθ(a|s),沿期望回报梯度方向更新:

∇θ J(θ) = E[ ∇θ log πθ(a|s) · A(s,a) ]

其中 A(s,a) 为优势函数,衡量动作相对平均水平的优劣。REINFORCE 用蒙特卡洛回报估计优势,方差大;Actor-Critic 则用 Critic 网络估计 Vφ(s),以 TD 误差构造优势,降低方差。Actor 负责输出动作分布,Critic 负责评价状态价值,二者交替更新。SAC、TD3 进一步引入最大熵或双 Critic,提升连续控制中的稳定性与探索能力。

算法 策略类型 动作空间 方差 自动驾驶典型用途
Q-Learning / DQN 离线策略 离散 中等 换道决策、路口通行选择
REINFORCE 在线策略 离散/连续 高 简单轨迹优化教学示例
A2C / A3C 在线策略 离散/连续 中低 端到端横向控制
SAC / TD3 离线策略 连续 低 加速度与转向联合控制

四、案例:交叉口通行决策

考虑无保护左转场景。状态包括自车速度、与对向车辆距离、相对速度、信号灯相位;动作空间为“等待、缓行、通过”三档;奖励设计为:通过奖励 +10,等待惩罚 −1/步,碰撞惩罚 −100,急刹惩罚 −5。使用 DQN 训练时,若仅用稀疏碰撞惩罚,智能体会长期不敢通过;加入势能函数 Φ(s) 做奖励塑形,可加速收敛。若改用 SAC,动作可直接输出目标加速度,Critic 估计 Q(s,a),Actor 输出高斯策略,训练更平滑,但需注意安全约束不能仅靠奖励惩罚,应叠加控制屏障函数或安全层做动作投影。

常见误区:把“奖励高”等同于“安全”。在自动驾驶中,碰撞惩罚再大也只是软约束,必须配合硬约束或安全验证层,否则策略可能在极端场景下冒险。

五、复盘与选型建议

  • 离散决策优先 Q-Learning / DQN,配合经验回放和目标网络。
  • 连续控制优先 SAC / TD3,利用最大熵提升探索与鲁棒性。
  • 训练稳定性不足时,用 Actor-Critic 替代纯策略梯度,降低方差。
  • 安全约束必须独立于奖励设计,通过约束 MDP、安全层或控制屏障函数实现。
  • 仿真到实车迁移时,需做域随机化与保守策略验证,避免过拟合仿真奖励。

综上,MDP 提供问题建模框架,值函数提供评价基础,Q-Learning 与策略梯度分别代表“间接”和“直接”两条优化路径,Actor-Critic 则融合二者优势,成为自动驾驶连续控制中最常用的范式之一。理解这些概念之间的递进关系,是后续学习安全强化学习与约束控制的前提。