3. 强化学习基础

在自动驾驶策略评测与部署工程中,强化学习并不是一个抽象算法名词,而是一套把“感知—决策—控制”闭环形式化的数学语言。无论是车道保持、换道博弈,还是交叉口通行,车辆都在与环境持续交互:观察状态、执行动作、获得奖励、进入新状态。理解马尔可夫决策过程(MDP)、值函数、策略梯度、演员评论家方法以及探索与利用,是后续做策略训练、评测和上线部署的基础。

一、核心原理:把驾驶决策写成 MDP

MDP 用五元组 (S, A, P, R, γ) 描述序贯决策问题。在自动驾驶中,S 是状态空间,例如自车速度、加速度、车道位置、周围车辆相对距离与速度;A 是动作空间,例如油门、刹车、转向或离散的“加速/保持/减速/换道”;P(s'|s,a) 是状态转移概率,反映执行动作后环境如何变化;R(s,a,s') 是奖励函数,用来编码安全、效率、舒适和合规目标;γ 是折扣因子,决定策略更关注即时收益还是长期回报。

MDP 的关键假设是“马尔可夫性”:当前状态已经包含做出最优决策所需的全部历史信息。如果状态设计遗漏了关键信息,例如只给自车速度而不给前车距离,策略就会表现得像“失忆”。因此,状态表示质量往往比算法选择更影响最终效果。

驾驶场景中的奖励设计示例:安全项惩罚碰撞与危险距离,效率项奖励通行速度与准时到达,舒适项惩罚大加速度和急转向,合规项惩罚压线、闯红灯和超速。奖励权重需要反复调参,否则策略可能学会“贴着前车急刹”来刷效率分。

二、值函数:评估“状态好不好”和“动作好不好”

值函数用于衡量长期回报。状态值函数 Vπ(s) 表示从状态 s 出发,按照策略 π 行动所能获得的期望折扣回报;动作值函数 Qπ(s,a) 表示在状态 s 先执行动作 a,之后再遵循策略 π 的期望回报。二者满足贝尔曼方程,是动态规划和时序差分学习的基础。

在自动驾驶中,V(s) 可以理解为“当前交通态势有多好”,Q(s,a) 则可以理解为“在当前态势下,选择加速、减速还是换道分别有多好”。如果 Q 估计准确,策略只需选择 argmaxa Q(s,a) 即可。但真实驾驶环境连续、高维、部分可观测,精确求解几乎不可能,因此通常用神经网络近似值函数或策略。

三、策略梯度与演员评论家方法

值函数方法先学价值再间接导出策略,策略梯度方法则直接参数化策略 πθ(a|s),通过梯度上升最大化期望回报。其核心思想是:让带来高回报的动作概率增大,让带来低回报的动作概率减小。常见形式为:

∇J(θ) ≈ E[ ∇θ log πθ(a|s) · A(s,a) ]
其中 A(s,a) = Q(s,a) - V(s) 为优势函数

优势函数 A(s,a) 表示某个动作比“平均水平”好多少。若只使用回报 Gt,方差会很大;引入基线 V(s) 后,梯度估计更稳定。演员评论家(Actor-Critic)方法正是把两者结合:演员(Actor)负责输出动作概率,评论家(Critic)负责估计值函数并给出优势信号。演员根据评论家的评价更新策略,评论家根据真实回报更新价值估计。

演员评论家(Actor-Critic)与 MDP 闭环 环境 / 交通场景 状态 s、奖励 r 演员 Actor πθ(a|s) 输出动作 评论家 Critic V(s) / Q(s,a) 估值 优势函数 A(s,a) A = Q - V 或 G - V 策略更新 ∇θ log πθ · A 状态输入 动作 a 奖励 r 与下一状态 优势信号 更新策略 优势信号 闭环:环境给出状态与奖励 → 演员输出动作 → 评论家估计价值 → 优势函数驱动策略更新 自动驾驶中还需处理连续动作、部分可观测、多目标奖励与安全约束

四、探索与利用:训练中必须平衡的两种行为

强化学习与监督学习最大的区别之一,是智能体必须通过“试错”发现好策略。利用(Exploitation)指选择当前估计最优的动作,以获取稳定回报;探索(Exploration)指尝试不确定的动作,以发现可能更优的策略。只利用容易陷入局部最优,只探索则难以稳定收敛。

常见探索策略包括 ε-贪心、玻尔兹曼探索、高斯噪声、OU 噪声和熵正则。在自动驾驶中,探索必须受到安全约束:不能让真实车辆随意尝试危险动作。因此工程上常采用仿真环境探索、安全层过滤、动作裁剪、课程学习和离线数据预热等方式,把探索限制在可控范围内。

概念 核心问题 自动驾驶中的典型对象 常见方法
MDP 如何形式化序贯决策 状态、动作、转移、奖励、折扣 状态设计、奖励塑形、仿真建模
值函数 状态或动作有多好 V(s)、Q(s,a)、优势 A(s,a) 时序差分、DQN、值函数近似
策略梯度 如何直接优化策略 πθ(a|s)、动作概率、回报 REINFORCE、PPO、TRPO
演员评论家 如何降低方差并稳定更新 Actor、Critic、优势函数 A2C、A3C、SAC、TD3
探索与利用 如何兼顾试错与稳定收益 ε、熵、噪声、安全约束 ε-贪心、熵正则、噪声注入

五、案例与场景:交叉口通行策略训练

假设一辆自动驾驶车在无保护左转场景中训练通行策略。状态包括自车速度、位置、对向车辆距离与速度、行人位置、信号灯相位;动作包括加速、减速、保持、左转;奖励由安全距离、通行时间、舒适度和合规性组成。若只用值函数方法,策略可能过于保守,长期停在路口;若只用策略梯度且方差很大,训练会剧烈震荡。采用演员评论家方法后,评论家估计当前态势的价值,演员根据优势信号调整“等待”与“通过”的概率,训练稳定性明显提升。

在部署前,还需要把训练策略放入高保真仿真和封闭场地做回归测试,重点观察碰撞率、通行成功率、急刹频率和策略对传感器噪声的鲁棒性。强化学习策略的评测不能只看平均回报,还要看最差场景、长尾分布和分布外泛化。

常见误区:把奖励函数当成“目标函数”随意堆叠,导致策略钻空子;忽略状态马尔可夫性,导致策略依赖历史却无法表达;在真实车辆上直接做高风险探索;只关注训练回报,不关注安全约束和部署时延。复盘时应回到 MDP 建模、值函数估计、策略更新和探索机制四个层面逐项排查。

工程建议:先明确状态与动作接口,再设计奖励;优先使用仿真和离线数据做探索;用优势函数降低策略梯度方差;在部署前加入安全层和动作过滤。只有把算法原理与车辆工程约束结合,强化学习策略才可能从仿真走向真实道路。