🎯 一句话理解 RLHF

RLHF = 先让人给模型的输出打分,然后训练一个’打分模拟器’(reward model),最后用 PPO 让模型学会产出高分输出。本质上就是用人类的偏好来做强化学习的 reward 函数。

RLHF 让大模型从"只会模仿文本"进化到"懂得人类偏好",是 ChatGPT/GPT-4 能力飞跃的核心技术。2025 年以来,它正在被系统性地引入自动驾驶——因为"怎么开车算好"本质上是一个人类偏好问题。


🏗️ RLHF 的标准三阶段流程

RLHF 的完整流程分为三个阶段,每一阶段解决一个特定的子问题。

Stage 1:SFT——先让模型学会"说人话"

监督微调(Supervised Fine-Tuning) 是 RLHF 的起点。在大规模预训练的基础上,用高质量的人类示范数据(如 prompt + 理想回答)对模型做行为克隆。

SFT 的目标很简单:让模型学会符合人类预期的输出格式和内容。在驾驶场景中,这一步对应着用人类驾驶日志训练 VLA 模型输出合理的驾驶轨迹——让模型先学会"正常开车"。

SFT 的局限:模型只是模仿人类做了什么,而不是理解人类为什么这么做。更重要的是,SFT 无法处理开放性问题中的偏好多样性——同一个问题可能有很多合理的回答,人类各有偏好。

Stage 2:Reward Model 训练——学会"人类的品味"

第二阶段是最关键的创新:训练一个 reward model(RM)来模拟人类偏好

数据采集

收集人类对模型输出的偏好对(preference pairs)

  • 给定一个 prompt,让模型生成 $K$ 个回答($K$ 通常为 2~9)
  • 人类标注者对这些回答做两两比较(哪个更好)
  • 收集大量这样的偏好对形成数据集

Bradley-Terry 模型

RM 的核心是 Bradley-Terry 模型——一个经典的成对比较概率模型:

$$P(y_1 \succ y_2) = \frac{\exp(r(y_1))}{\exp(r(y_1)) + \exp(r(y_2))}$$

其中 $r(y)$ 是 reward model 对输出 $y$ 给出的标量分数。Bradley-Terry 模型把"人类偏好 A 胜过 B 的概率"建模为两个 exponential 分数的比值。

RM 通过最大化偏好对的 log-likelihood 来训练:

$$\mathcal{L}_{\text{RM}} = -\mathbb{E}_{(y_1, y_2) \sim \mathcal{D}}\left[\log \sigma(r(y_1) - r(y_2))\right]$$

其中 $\sigma$ 是 sigmoid 函数。这个损失函数很优雅——它只需要相对比较而不需要绝对分数,人类标注员只需要说"A 比 B 好"而不用给出具体评分。

Elo 评分

在 reward model 之外,另一种评估偏好质量的方法是 Elo 评分,源自国际象棋的排名系统:

  • 初始化所有模型/策略为相同的 Elo 分
  • 每次比较后,获胜方从落败方"抢走"一定分数
  • 分数差决定抢分多少:实力相近的对局,分值变化大;实力悬殊的对局,分值变化小

Elo 在自动驾驶领域被用于评估不同驾驶策略的相对好坏——让人类对一对驾驶片段(轨迹可视化)做比较,生成策略的 Elo 排名。

Stage 3:PPO 优化——让模型追求高分

有了 reward model,RLHF 的第三步就是把 RM 当做 reward 函数,用 PPO 优化策略:

$$\mathcal{L}_{\text{RLHF}} = \mathbb{E}_{t}\left[\min(r_t \hat{A}_t,\ \text{clip}(r_t, 1-\epsilon, 1+\epsilon) \hat{A}_t)\right] - \beta\ \mathbb{KL}(\pi_\theta \| \pi_{\text{SFT}})$$

KL 约束 $\mathbb{KL}(\pi_\theta | \pi_{\text{SFT}})$ 在这里至关重要:它把策略"拴"在 SFT 模型附近,防止模型为了追求高 reward 产出 nonsense(reward hacking)。

三阶段总结

阶段目标数据模型
SFT基础能力对齐人类示范Policy
RM 训练学会偏好偏好对Reward Model
PPO策略优化模型生成 + RM 评分Policy + Critic

🎯 DPO:去掉奖励模型的直接偏好优化

DPO(Direct Preference Optimization)是 RLHF 的一个重要变体,它完全绕过了显式的 reward model 训练

核心洞察

DPO 的作者发现:RLHF 的 reward model + PPO 优化本质上等价于在偏好数据上直接优化某种损失函数。他们推导出,最优策略 $\pi^*$ 可以表示为:

$$\pi^*(y|x) \propto \pi_{\text{SFT}}(y|x) \cdot \exp\left(\frac{1}{\beta} r^*(x,y)\right)$$

反解出 reward:

$$r^*(x,y) = \beta \log \frac{\pi^*(y|x)}{\pi_{\text{SFT}}(y|x)} + \beta \log Z(x)$$

把这个 reward 代入 Bradley-Terry 模型,得到 DPO 损失

$$\mathcal{L}_{\text{DPO}} = -\mathbb{E}_{(y_w, y_l) \sim \mathcal{D}}\left[\log \sigma\left(\beta \log \frac{\pi_\theta(y_w|x)}{\pi_{\text{SFT}}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{\text{SFT}}(y_l|x)}\right)\right]$$
符号含义
$y_w$人类偏好的回答(win)
$y_l$人类不偏好的回答(lose)
$\beta$控制对偏好的拟合强度

RLHF vs DPO

维度RLHFDPO
流程SFT → RM → PPOSFT → DPO
需要的模型Policy + RM + Critic仅 Policy
训练稳定性三阶段配合复杂端到端简单
表达能力可训练独立 rewardreward 隐式编码在 policy 比
适用场景需要显式 reward 分析时纯偏好对齐

DPO 的出现极大地降低了偏好对齐的工程门槛。尤其是在驾驶场景中——如果我们只有"哪条轨迹更好"的人类偏好数据,DPO 可以直接优化策略,不需要设计 reward 函数。


🚗 RLHF 在自动驾驶中的应用

驾驶风格的偏好本质

“怎么开车算好"没有一个客观标准。同一个人今天可能想开得激进些,明天想开得平稳些。驾驶本质上是一个偏好问题——而 RLHF 恰恰擅长处理偏好对齐。

驾驶风格偏好特征RLHF 映射
激进型快速起步、早加速、跟车近偏好 reward 偏向效率
保守型提前刹车、安全距离大偏好 reward 偏向安全
舒适型加速度小、转向平滑偏好 reward 偏向舒适度
生态型匀速驾驶、能量回收偏好 reward 偏向能耗

Driver-Specific Style Learning

让 VLA 模型学会适应不同驾驶风格是一个活跃的研究方向。基本方案是:

  1. 偏好采集:让驾驶员在仿真器中对比两段轨迹(同一场景),选择更符合自己风格的选项
  2. 风格编码:将偏好信息编码为风格 token(如 one-hot 向量或潜在 embedding),传入 VLA 模型
  3. RLHF 训练:用收集的偏好数据训练 reward model,然后用 PPO 或 DPO 优化带风格条件化的策略

结果:一个模型可以输出多种风格的驾驶轨迹——输入"激进"token 就开得快但变道多,输入"保守"token 就保持大安全距离。

DPR:Direct Preference-based RL

DPR(Direct Preference-based RL)把 DPO 的思想扩展到连续控制场景。它直接从轨迹偏好对中学习策略,不需要显式 reward 函数:

$$\mathcal{L}_{\text{DPR}} = -\mathbb{E}_{(\tau_w, \tau_l) \sim \mathcal{D}}\left[\log \sigma\left(\beta \sum_{t} \log \frac{\pi_\theta(a_t^w|s_t^w)}{\pi_{\text{ref}}(a_t^w|s_t^w)} - \beta \sum_{t} \log \frac{\pi_\theta(a_t^l|s_t^l)}{\pi_{\text{ref}}(a_t^l|s_t^l)}\right)\right]$$

这里 $\tau_w$ 和 $\tau_l$ 是完整的驾驶轨迹(整段或片段)。DPR 的核心在于去掉了 reward model 这个中间人,直接从人类的轨迹偏好跳到策略优化。

关键工作

工作方法驾驶场景特色
Driver-specific RLHF标准 RLHF + 风格 token城市驾驶多风格驾驶生成
DPR for Driving直接偏好优化车道保持 + 变道无需 reward model
DrivePrefer偏好奖励 + CQL安全关键场景偏好引导保守策略

⚡ GRPO 的独特优势:可验证 Reward

GRPO 的出现为 RLHF 提供了一个全新路径:当 reward 是可验证的(collision check, comfort metric)时,不需要 RM 也不需要 PPO 的 critic

标准 RLHF vs GRPO 路径

路径需要 RM需要 Critic适用场景
标准 RLHF偏好主观(文本风格)
DPO偏好数据充分
GRPOreward 可客观计算

GRPO 在驾驶场景中的好处:

  1. 不需要人类标注偏好:碰撞、舒适度等指标可以自动计算
  2. 不需要训练 reward model:直接使用可验证函数
  3. 不需要 critic 网络:使用组内相对优势
  4. 端到端更简洁:从驾驶场景直接到策略更新

驾驶中可验证 Reward 的例子

Reward 维度计算方法是否可验证
碰撞检测bounding box 交并比✅ 完全客观
车道偏移横向位移阈值检查✅ 完全客观
限速合规当前速度 vs 限速✅ 完全客观
舒适度加速度/急动度✅ 基于公式
社会接受度跟车距离✅ 基于规则
风格偏好激进程度❌ 需要主观判断

GRPO + 可验证 Reward 的简洁管线

GrewardRMGRPOcritic

这种简洁性使得 GRPO 在自动驾驶 RL 中的工程可落地性远高于标准 RLHF。AlphaDrive 和 Flow-GRPO 的成功证明了这条路径的有效性。


💡 关键洞察:偏好对齐对驾驶为什么"天然适配”?

驾驶行为的多样性

驾驶不像数学题——没有"唯一正确答案"。同一个路口,不同司机的通过方式截然不同:

  • 新手会减速、观察、小心翼翼
  • 老手会带着速度滑行通过
  • 激进者可能在黄灯最后一秒冲过去

所有这些行为都可能"合法"且"安全",只是偏好不同。这恰恰是偏好对齐的舒适区——RLHF 不用定义"哪个是对的",只需要知道"哪个被偏好"

偏好对齐的三层意义

层级含义RLHF 技术
个体化不同人有不同偏好条件化策略 + 偏好 RM
场景化同一人在不同场景偏好不同场景感知 reward 加权
安全边界偏好不能突破安全红线硬约束 + CQL 保守底限

偏好学习的未来方向

  1. 多模态偏好:结合语言 feedback 和视觉 feedback——“开得太靠右了,往左靠一点”
  2. 持续对齐:随着用户驾驶风格的逐渐了解,策略持续适配
  3. 群体偏好聚合:如何从多个驾驶员的偏好中学习一个通用但可定制的策略

📝 个人思考

RLHF 在 LLM 上的成功证明了"人类偏好作为 reward"的有效性——它比任何人工设计的 objective 更贴近真实需求。我认为这个洞察对自动驾驶同样成立。数十年来,自动驾驶的控制策略都是用工程化的 metric(横向误差、加速度、燃油经济性)来优化,这些指标虽然客观,但失去了’人到底觉得怎么开车舒服’这个本质问题

但 RLHF 引入驾驶也面临更大的挑战:LLM 的输出可以廉价地让数千标注员打分,而驾驶轨迹的偏好标注需要模拟器回放、需要专家判断、成本高得多。GRPO 和可验证 reward 的组合某种程度上绕过了这个成本瓶颈——对碰撞、舒适度、合规性等维度可以自动化打分,只有当风格偏好等主观维度需要人类介入。

我的判断是:在自动驾驶 VLA 的 RL 微调中,RLHF 不会完全替代传统的 reward 设计,而是补充它。安全的底限用可验证 reward 保证(GRPO),风格的偏好用人类标注拟合(DPO),两者结合才能既有安全保障又能满足个性化需求。


📖 这是知识点拆解系列的第 13 篇。驾驶不仅是技术问题,更是偏好问题——RLHF 让车学会"开得像你喜欢的样子"。