25年6月来自中科大和华为诺亚实验室的论文“Drive-R1: Bridging Reasoning and Planning in VLMs for Autonomous Driving with Reinforcement Learning”。
用于自动驾驶 (AD) 的大型视觉-语言模型 (VLM) 正在从感知和认知任务向运动规划发展。然而,这个方向面临两个关键挑战:(1)VLM 倾向于通过严重依赖历史输入信息来学习捷径,在没有真正理解视觉输入的情况下实现看似强大的规划结果;(2)思维链 (COT) 推理过程始终与运动规划结果不一致,如何有效利用复杂的推理能力来增强规划仍未得到充分探索。本文从小规模的域特定 VLM 出发,提出 Drive-R1,旨在连接 AD 的场景推理和运动规划。Drive-R1 首先在包含长和短 COT 数据的复杂数据集上进行监督微调。鼓励 Drive-R1 逐步从视觉输入推理到最终的规划决策。随后,Drive-R1 在强化学习框架下进行训练,该框架鼓励发现更有利于规划的推理路径,并以基于预测轨迹和元动作的奖励为指导。在 nuScenes 和 DriveLM-nuScenes 基准测试上的实验评估表明,Drive-R1 的性能优于现有的最先进 VLM。
Drive-R1 如图所示:该模型经过训练,能够在没有思维链的情况下预测轨迹,并在有视觉输入和无视觉输入的情况下进行推理。
Drive-R1 旨在通过结合 SFT 和 RL,为 AD 连接场景级推理和轨迹规划。推理-规划思维链 (RP-CoT) 数据集的构建,编码与规划结果一致的中间推理步骤。在监督训练阶段,模型为应对上述挑战必须具备的初始能力。RL 流程利用精心设计的奖励函数,进一步将文本推理与数值轨迹预测相结合,从而增强可解释性和规划性能。
RP-COT 数据标注
遵循 [18] 中确定的运动规划的五个关键基础领域,即交通知识理解、一般要素识别、交通图生成、目标属性理解以及自我决策与规划,构建一个 RP-CoT 数据集。RP-CoT 旨在将高级场景推理与自动驾驶中的低级轨迹输出连接起来。这些场景选自 nuScenes [21]。RP-CoT 中的每个标注样本都包含逐步的文本推理,反映对驾驶场景的结构化理解,并最终基于精确的轨迹决策。
如图所示,标注流程是半自动化的。首先从公开来源 [12, 31, 32] 收集驾驶场景,并附上场景描述和问答 (QA) 对的标注。根据场景中的数百个问答 (QA),ChatGPT 首先生成真实事件,这些事件是底层推理原理的结构化表示。接下来,基于真实事件和运动规划信息(历史轨迹、自我状态、元动作),ChatGPT 通过五个领域生成 RP-COT 数据。每个样本包含解释推理步骤的 部分和指定未来轨迹的 部分(6 个点,3 秒)。为了确保生成的 RP-CoT 扎根于视觉现实,用 VLM GPT-4o 将这些输出与场景内容对齐,从而对其进行优化。最后,所有注释均由人工标注员检查,以确保一致性、正确性和规划有效性。
注释流程系统地将视觉语言信息分解为与上述域对齐的推理阶段。这种结构化格式使模型能够学习可解释的推理路径,逐步引导规划行动,为后续学习阶段奠定坚实的基础。
监督微调阶段
如上所述,基于视觉的响应在运动规划中的应用有限,甚至缺失。如表所示,直接训练通用VLM(Internvl2-4B)输出轨迹,无需CoT监督,即可获得令人惊喜的竞争性能。然而,一个违反直觉的结果是:当忽略视觉输入时,模型表现更佳,这表明模型对历史文本语境的依赖程度高于视觉感知。
此现象归因于两个关键因素:(1) 模型对AD中的 域特定(DS)任务缺乏足够的熟悉;(2) 模型对历史运动线索的敏感度高于对场景级视觉信息的敏感度。为了解决这个问题,首先在包含 300 万个 AD QA 的大规模 DS 数据集上对 InternVL2-4B 模型进行全参数微调,这些 QA 收集自公共来源 [34、35、9、12、36、37、33、38、22、39、40、7、10]。第一个 SFT 阶段的 DS 模型,显著减轻对历史信息的过度依赖,增强了其对 AD 场景的一般理解。尽管如此,视觉信息推理和视觉不可知推理之间的差距仍然很小。此外,将之前构建的 RP-CoT 数据集合并到第二个 SFT 阶段。通过有监督的 CoT 监督,鼓励模型在关键域形成基于视觉的推理路径,解决对文本历史信息的依赖,从而促进更鲁棒的感知感知规划行为。
另一方面,COT 推理轨迹始终与运动规划结果不一致。上表中的实验结果表明,与直接监督最终轨迹输出相比,在 SFT 阶段应用长 CoT 监督会导致性能下降。有趣的是,其他领域也观察到类似的现象。最近的研究 [41, 42] 报告称,对于涉及空间推理或数值敏感性的任务,使用 CoT 监督训练的模型通常不如使用直接答案监督训练的模型表现良好。假设观察的性能下降可能源于两个主要因素:(1) 小规模模型的表征能力有限,这限制它们准确编码和利用复杂推理路径的能力 [43];(2) 模型对文本和数值输出的误差容忍度不同。具体而言,在 CoT 监督下生成的推理文本可能包含语义不一致或错觉,这要么是由于标注质量不完善,要么是由于模型的内在局限性。虽然此类错误对文本推理本身的可解释性或合理性的影响可能微不足道,但它们可能会传播到数值预测阶段,例如轨迹预测,在该阶段,微小的偏差会被放大为显著的规划误差。
为了减轻不加区分的 CoT 监督带来的负面影响,在第二个SFT阶段引入一种快慢思维策略。其核心思想是使推理监督的复杂性与每个驾驶场景的难度相适应。具体而言,根据推理需求将 CoT 监督分为短 CoT 和长 CoT:短 CoT 对应相对简单、只需极少思考的场景,而长 CoT 则适用于复杂、多智体或规则密集的场景,这些场景需要更丰富的逐步推理。首先训练一个模型,使其无需 CoT 监督即可直接生成轨迹输出。然后,该特定模型将用于评估每个场景的推理复杂性,作为场景难度的智体。规划指标较低的场景会分配短 CoT 监督,而规划指标较高的场景则会分配长 CoT 注释。如上表所示,采用这种自适应快慢思维策略进行微调的模型获得最佳的整体性能,验证其在平衡长短 COT 方面的有效性。
强化学习阶段
DeepSeek-R1 [19] 证明,像 GRPO 这样的强化学习框架能够有效地提升大型语言模型的长 CoT 推理能力。然而,后续研究 [44, 45] 表明,强化学习微调模型生成的推理路径已以高概率存在于基础模型的输出分布中,也就是说,强化学习模型可解决的问题,通过充分采样,基础模型也可以解决。基于这些洞察,采用 GRPO 并非为了从根本上解锁新功能,而是将其作为一种后训练对齐机制,以提高效率和一致性,从而进一步对齐推理和规划。
算法
具体来说,对于每个问题 q,GRPO [19] 从旧策略 π_θ_old 中采样一组候选输出 {o_1,o_2,···,o_G},然后通过最大化目标来更新当前策略 π_θ。
奖励
为了更好地将中间推理步骤与最终的运动规划结果相结合,设计一个复合奖励函数,以平衡过程-级和结果-级的结果。
轨迹奖励,通过计算预测轨迹τˆ与真实轨迹τ之间的 L2 距离来衡量预测轨迹的准确性。然后使用基于 Sigmoid 函数的变换映射原始距离。
元动作奖励,评估推理部分中的高级规划决策,包括短期横向和纵向决策。每个决策对总奖励分数贡献 0.5。
重复惩罚,惩罚在 CoT 中生成冗余或重复的推理步骤,以鼓励简洁高效的规划原理[46]。
格式奖励,确保输出格式的结构正确性。
重要的是,以结果为导向的轨迹奖励和以过程为导向的元动作奖励呈正相关。
训练
通过大量的实验,在运动规划的背景下,有效的强化学习高度依赖于模型与视觉推理领域的先验匹配。当应用于域适应性不足的模型时,强化学习信号通常会导致更新不稳定或策略改进受限,这表明解读结构化驾驶场景的能力是成功改进策略的先决条件。因此,在一个已通过两阶段微调(在SFT阶段引入)进行监督的模型上执行强化学习。在此基础上,强化学习进一步增强了基于视觉的推理与运动规划之间的协同作用,从而实现了实验中最显著的性能提升。
数据集和基线
在 SFT 第一阶段,从一系列不同的 AD 数据集(包括 [34, 35, 9, 12, 36, 37, 33, 38, 22, 39, 40, 7, 10])中收集特定领域的数据,其中包含 300 万个样本。QA 是根据五个关键领域构建的,包括单视图、多视图和序列图像输入。在 SFT 第二阶段,RP-COT 数据集基于 [12, 31, 32] 中的注释构建,样本数量为 4,072 个。与 nuScenes [21] 上的 6019 个验证样本相比,长 RP-COT 的数量为 24058,短 RP-COT 的数量为 4072。与 DriveLM-nuScenes [12] 上的 799 个验证样本相比,长 RP-COT 的数量为 2036,短 RP-COT 的数量为 2036。在 RL 阶段,样本是从 4072 个 RP-COT 数据集中选择的。
将 Drive-R1 与端到端和视觉语言规划基线进行基准测试。前者包括 ST-P3 [4]、UniAD [5] 及其添加自我状态输入的修改版本 [6]。后者包括 DriveVLM [11]、RDA-Driver [13]、OmniDrive [14] 和 EMMA [16]。值得注意的是,先前的方法通常无需推理或使用短 CoT 监督即可输出直接轨迹预测。相比之下,Drive-R1 以统一的方式生成推理链和轨迹结果,从而实现可解释且上下文相关的规划。
实现与指标
SFT 训练基于 InternVL2 [17] 的官方代码库进行。第一阶段 SFT 在 32 个 V100 节点上训练,批次大小为 256;第二阶段 SFT 在 16 个 V100 节点上训练,批次大小为 128。强化学习阶段使用 ms-swift 框架 [47] 实现,在 2 个 V100 节点上训练,批次大小为 16,展开为 6。上下文长度设置为 4096。为了进行评估,遵循 ST-P3 [4] 的 L2 距离和碰撞率指标。