24年12月来自Wisconsin Madison分校和Purdue大学的论文“VLM-RL: A Unified Vision Language Models and Reinforcement Learning Framework for Safe Autonomous Driving”。

近年来,基于强化学习 (RL) 的驾驶策略学习方法在自动驾驶社区中引起了越来越多的关注,并在各种驾驶场景中取得了显着进展。然而,传统的 RL 方法依赖于手动设计的奖励,这需要大量的人力并且通常缺乏通用性。为了解决这些限制, VLM-RL,是一个统一的框架,它将预训练的视觉-语言模型 (VLM) 与 RL 相结合,以使用图像观察和自然语言目标生成奖励信号。VLM-RL 的核心是对比语言目标 (CLG) 作为奖励范式,它使用正面和负面的语言目标来生成语义奖励。进一步介绍一种分层奖励合成方法,将基于 CLG 的语义奖励与车辆状态信息相结合,提高奖励稳定性并提供更全面的奖励信号。此外,还采用批处理技术来优化训练期间的计算效率。在 CARLA 模拟器中进行的大量实验表明,VLM-RL 的表现优于最先进的基线,碰撞率降低 10.5%,路线完成率提高 104.6%,并且对未见过的驾驶场景具有强大的泛化能力。

近年来,自动驾驶技术取得了重大进展,但实现与人类水平相当的安全性和可靠性仍然是一项根本挑战(Feng et al., 2023; Huang et al., 2024b)。一个特别严峻的挑战是如何为复杂的交通环境制定安全且可推广的驾驶策略(Di and Shi, 2021; Cao et al., 2022; He et al., 2024; Huang et al., 2024d; Sheng et al., 2024a; Yao et al., 2023)。深度学习的快速发展催化该领域的显著发展,特别是通过模仿学习 (IL) 和强化学习 (RL)(Huang et al., 2024c; Wu et al., 2024),如图 (a) 所示。

请添加图片描述

IL 旨在通过模仿专家演示来学习驾驶策略,在受控环境中取得令人印象深刻的表现(Huang,2024c)。然而,基于 IL 的方法面临着固有的局限性:它们严重依赖于演示数据的规模和质量,并且在训练分布之外表现出较差的泛化能力。相比之下,RL 通过最大化精心设计的奖励函数,使智体能够通过与环境的直接交互来主动学习最佳驾驶策略(Huang,2024c)。RL 方法的有效性已在各种决策场景中得到证明,例如安全导航(Mao,2024;He,2024)、跟车控制(Hart,2024)、轨迹控制(Sheng,2024b)和变道(Guo,2024)。

然而,应用强化学习的主要挑战是设计一个适当的奖励函数,以带来期望的行为(Ma,2023;Venuto,2024;Xie,2024;Wang,2024)。虽然强化学习在奖励函数定义明确的领域(例如游戏、机器人操纵)取得显著的成功,但它在自动驾驶中的应用仍然存在问题(Ye,2024;Hazra,2024;Han,2024;Zhou,2024)。根本的困难在于:“良好驾驶”的概念涵盖复杂的、与环境相关的行为,依赖于难以量化和编码为奖励函数的隐性知识(Ye,2024)。这反映波兰尼悖论,即“我们知道的比我们能说的多”(Polanyi,2009)。传统上,自动驾驶领域的奖励函数,通常是基于专家的直觉和启发式方法手动设计的,这些方法通常结合多个子目标,例如速度维持、车道跟随和避撞(Chen,2022;Wang,2023a;Zhang,2024)。然而,这个被称为“奖励工程”的过程需要大量的人力和反复试验(Abouelazm,2024)。正如 Han(2024);Knox​​(2023);Abouelazm(2024)所指出的那样,它面临着专家知识依赖、多目标冲突和普遍性限制等若干挑战。

基础模型方面的最新突破,尤其是大语言模型 (LLM) (OpenAI,2023) 和视觉语言模型 (VLM) (Radford,2021),已展示出理解自然语言指令和复杂视觉场景的卓越能力。这一进展启发研究人员探索将这些基础模型用于强化学习中的奖励塑造,为长期存在的奖励设计挑战提供一个有希望的解决方案。关键思想是利用基础模型丰富的语义理解能力将人类指定的目标转化为可以有效指导强化学习训练的奖励信号 (Venuto,2024;Ma,2023;Xie,2024)。在机器人领域,将基础模型集成到奖励函数中已显示出强大的性能和有希望的泛化能力。该领域的许多实验都集中在所需目标状态定义明确且易于指定的任务上,例如用于操作任务的“将胡萝卜放入碗中”(Kim,2024)。这种明确的目标指定使研究人员能够利用预训练的基础模型作为零样本奖励生成器,从而简化奖励设计过程(Baumli,2023;Rocamonde,2024;Sontakke,2024;Fu,2024)。然而,虽然这些方法在各种机器人任务中表现良好,但它们在安全自动驾驶的背景下遇到重大挑战。与可以高精度指定目标的机器人操作任务不同,诸如“安全驾驶”之类的驾驶目标,本质上是抽象的和依赖于上下文的。由于现实世界驾驶场景的复杂性和多变性,基础模型很难有效地解释这些高级指令(Ye,2024)。

最近有几项研究尝试将基础模型与 RL 相结合以实现自动驾驶。上图 (b) 说明这种集成的两个主要范例:LLM-as-Reward 和 VLM-as-Reward 范例。第一种方法直接调用 LLM 来生成奖励函数或代码,并结合人工反馈来迭代优化设计。第二种方法使用 VLM 作为奖励函数,其中模型评估智体的状态并根据与指定目标的一致性提供即时反馈以指导行为。尽管取得这些进步,但现有研究仍然面临几个关键限制:(a) 大多数研究仅依靠语言描述来实现期望的行为(Zhou,2024;Yildirim,2024)。虽然 Ye(2024)提出一种相反的奖励设计,但它只关注负面场景,而忽略了正面和负面驾驶行为之间丰富的语义关系。 (b) 许多方法依赖于部署期间的实时基础模型推理 (Hazra,2024;Han,2024;Zhou,2024),这引入延迟问题,对于实时响应至关重要的安全关键驾驶决策来说,这是不可接受的。 © 当前方法主要在简化的模拟环境 (如 HighwayEnv 模拟器) 中验证其有效性 (Yildirim,2024;Ye,2024;Han,2024;Zhou,2024)。 这些方法使用简化的状态表示,无法捕捉实际自动驾驶汽车中使用的真实世界传感器 (例如摄像头图像) 的复杂性。 (d) 许多现有方法生成离散的高级命令(例如,变道、加速)(Zhou,2024;Ye,2024),这对于现实世界中车辆操作所需的连续和精确控制而言是不够的。

从人类学习新技能的方式看,人们通常通过对比示例更有效地学习。例如,在教某人烹饪牛排时,老师通常会强调正确和不正确的技巧:“完美烹制的牛排外皮呈金黄色,内部呈均匀的粉红色”与“如果牛排完全变成深褐色并有烧焦味,则是煮过头”。这有助于学习者通过识别期望和不期望的结果来全面了解正确的烹饪技巧。

从人类学习中汲取灵感,提出一个用于集成预训练 VLM 和在线 RL 的统一框架,称为 VLM-RL,如上图 © 所示。

将训练自动驾驶智体的任务建模为 POMDP,类似于 Rocamonde (2024)。智体的目标是学习一个最优策略 π : S → A,以最大化预期累积奖励,表示为 H(π)。在这种情况下,一个关键挑战是设计一个有效的奖励函数 R(s, a, s′),引导智体朝着理想的行为前进。传统的奖励工程需要手动指定复杂的行为和约束,这可能很繁琐、容易出错,并且很难在不同的驾驶场景中推广。理想情况下,希望直接使用 VLM 为智体提供奖励 R(s) 来指导期望的行为,就像在机器人领域所做的那样。然而,如前所述,直接使用 VLM 作为自动驾驶的奖励仍然面临严峻挑战。工作目标是为安全驾驶任务创建一个专门的 VLM-as-Reward 框架,以消除对显式奖励函数 G(π) 的需求。

VLM-RL 框架通过利用预训练的 VLM(即 CLIP)的语义理解能力来解决自动驾驶中奖励设计的根本挑战。

VLM-RL 框架由四个主要组件组成。首先,定义 CLG 的概念,它描述期望和不期望的驾驶行为,为奖励计算提供了基础。其次,利用 CLIP 来计算当前驾驶状态与这些对比语言描述之间的语义对齐,从而生成语义奖励信号。第三,开发一种分层奖励合成方法,将语义奖励与车辆状态信息(例如速度、航向角)相结合,以产生稳定而全面的奖励信号。第四,为了优化计算效率,实施一种批处理技术,该技术定期处理来自重放缓冲区的观察结果,而不是实时计算奖励。如图说明该框架的整体架构。

请添加图片描述

CLG定义

机器人技术的最新进展已证明,将预训练的 VLM 用作各种任务的零样本奖励模型取得显著成功(Sontakke,2024)。给定任务 T 及其自然语言描述 l,基本方法涉及利用 VLM 生成奖励信号,引导智体朝着期望的行为前进。这可以正式表示为(Rocamonde,2024):RVLM(s) = VLM(l, ψ(s), c),其中 c 是可选上下文,可能包含其他信息或约束。在这个公式中,VLM 采用语言目标 l、当前观察 ψ(s) 和可选上下文 c,并输出奖励信号。

在机器人技术中,这一公式的成功依赖于用精确的语言描述任务和目标状态的能力。例如,在操作任务中(如图 (a)),诸如“将胡萝卜放入碗中”之类的目标是明确无误的,这使得 VLM 能够通过比较其嵌入空间 V 中的状态-目标关系来有效地衡量进度。相比之下,自动驾驶带来独特的挑战,因为“安全驾驶”的目标涵盖广泛的可接受行为和状态。这个抽象的目标使得很难在当前车辆状态和目标之间建立清晰的语义比较。虽然 LORD(Ye,2024)通过使用相反的语言目标(如图 (b))来解决这个问题,但这种方法仅关注要避免的状态,因此提供的指导有限。

本文使用 VLM 通过将驾驶状态与对比语言描述对齐来生成语义奖励信号(如图 ©)。具体来说,引入 CLG 的概念,它被定义为包含期望和不期望驾驶行为的正面和负面描述对。

请添加图片描述

基于CLG的语义奖励计算

安全驾驶任务通常依赖于稀疏奖励信号。在这种情况下,在每个时间步 t,给定从状态 s/t 派生的观察值 ψ(s/t),智体根据其策略 π/θ 在 ∼ π/θ(a/t|s/t) 处执行操作。然后,环境提供稀疏任务奖励 r/task,通常定义为 r/task = δ/success,这意味着只有在任务成功时才会收到 1 的奖励,否则奖励为 0 (Cao et al., 2022)。这种稀疏奖励对 RL 训练提出了巨大的挑战,因为它们在大多数状态空间中提供的学习信号有限。一种常见的方法是通过组合速度和到航点的距离等指标来手动设计密集的奖励信号,可以通过简单的求和 (Wang et al., 2023a) 或加权聚合 (Chen et al., 2022)。它非常耗时,需要专业知识,并且可能导致子目标相互冲突,从而产生次优政策。

本文提出的方法,从 VLM-as-Reward 范式扩展为 CLG-as-Reward 范式,它鼓励智体寻找类似于正目标的状态,同时避免类似于负目标的状态,为策略学习提供更具信息性的指导。

随时间的推移,其有效性确保学习的策略会趋向于提高正相似性同时降低负相似性的行为。因此,结合正目标和负目标比单独使用其中任何一个目标提供更具信息量的学习信号,从而实现更出色的策略学习。此外,CLG-as-Reward 范式增强学习的策略稳健性,使其更能抵御不确定性和对抗性干扰。

分层奖励合成

遵循标准的 VLM-as-Reward 范式,即仅使用任务的语言描述(Rocamonde,2024;Sontakke,2024;Wang,2024)。然而,正如 Fu(2024)所指出的,虽然零样本 VLM 可以有效捕获粗略语义,但它们往往无法准确表示细粒度的细节。此外,单一的语言描述无法全面捕捉所需驾驶行为的所有细微差别。因此,仅依靠语义奖励 R/CLG 可能会误导复杂驾驶场景中的策略优化。先前的研究已经探索解决该问题的各种策略:LAMP(Adeniji,2023)使用基于 VLM 的奖励进行行为预训练,ZSRM(Mahmoudieh,2022)使用特定于任务的数据集重训练 VLM,而 FuRL(Fu,2024)微调 VLM 表示并使用中继 RL 技术。

与这些方法相比,本文旨在通过集成车载传感器随时可用的车辆状态信息来保留 VLM 的零样本能力,以生成更稳定、更全面的奖励信号。具体来说,提出一种分层奖励合成方法,包括两个阶段:(a)从 VLM 生成规范化的语义奖励,(b)将这些语义奖励与车辆状态信息相结合以产生合成奖励信号。

与传统的加权和奖励设计(Chen,2022;Wang,2023a)相比,这种分层合成方法自然地捕捉安全标准的相互依赖性,而无需进行大量的参数调整。它产生一个可解释、稳定且易于实施的奖励结构,该结构利用 VLM 的语义指导和可操作的高保真车辆状态信号。

批处理的策略训练

本文采用 SAC 算法 (Haarnoja,2018) 作为骨干 RL 框架,因为它在连续控制任务中具有出色的采样效率和稳定性。SAC 算法旨在最大化预期回报,同时通过熵正则化鼓励探索。

为了解决 CLIP 推理的计算瓶颈,开发一种批处理技术。在环境交互期间,(o/t,s/t,a/t,r/t,o/t+1,s/t+1) 的元组存储在重放缓冲区中。这里,o/t 表示 CLIP 处理所需的原始观察图像,s/t 包含策略学习的处理后的状态信息。在预定义的间隔内,从重放缓冲区中抽取一批观察值并通过 CLIP 编码器对其进行处理。CLG(l/pos & l/neg)的 CLIP 嵌入在训练开始时仅计算一次,因为它们保持不变。计算合成奖励,然后将其用于更新重放缓冲区中存储的转换。SAC 算法随后通过其标准更新程序对这些更新的转换进行采样以进行策略优化。这种方法有效地将计算成本高昂的奖励计算与主 RL 训练循环分离,使智体能够在异步计算奖励的同时继续学习。

RL 智体接受三种类型的输入:(1) 鸟瞰 (BEV) 语义分割图像,可捕捉周围环境,包括可驾驶区域、车道边界和其他交通参与者,如图 ©-(e) 所示。这为导航和避障提供关键的空间信息。(2) 自我状态信息,包括当前转向角度、油门值和车速。这些值反映车辆的动态状态,对于保持平稳控制至关重要。(3) 未来导航信息,由规划路线上的下 15 个航路点表示。每个航路点由其相对于车辆当前位置的 (x, y) 坐标定义,帮助智体理解和遵循所需的轨迹。

请添加图片描述

动作空间设计为连续的二维空间 [-1, 1]2,其中每个维度控制车辆运动的不同方面。第一个维度对应于转向角度,[-1, 1] 中的值表示转向控制的整个范围。具体而言,-1 表示最大左转,0 表示直行,+1 表示最大右转。第二个维度将油门和刹车控制组合在一个值范围 [-1, 1] 中。当此值为正数([0, 1])时,它直接映射到油门强度,其中 1 表示全油门。相反,当值为负数时,其绝对值映射到刹车强度,其中 -1 对应于全刹车。当满足以下任何条件时,情节就会终止:(a) 与任何障碍物、车辆或行人发生碰撞,(b) 偏离道路中心线超过 3 米,或 © 车速连续 90 秒以上保持在 1 公里/小时以下,表明智体被卡住或无法前进。这些终止条件旨在强制执行安全驾驶行为并确保高效的导航进度。

基于 Stable-Baselines3 库(Raffin,2021)构建实现,该库提供现代 RL 算法的可靠且经过充分测试的实现。 Stable-Baselines3 提供模块化设计和稳定的性能,这样能够专注于扩展核心算法,而不是从头开始实现它们。具体来说,扩展 SAC 和 PPO 的标准实现,以在训练过程中纳入基于 CLG 和分层奖励计算。策略网络架构专门用于处理异构输入类型:使用 6 层 CNN 从 BEV 语义分割图像中提取特征,同时使用 MLP 处理自我状态信息和未来导航航点。然后将这些处理后的特征连接起来,然后输入到最终的策略头中进行动作预测。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐