这篇文章的核心内容是介绍了一个名为 SimLingo 的自动驾驶模型,它通过将视觉、语言和动作相结合,实现了在复杂驾驶场景中的高性能自动驾驶。以下是文章的主要研究内容总结:
1. 研究背景与动机
-
视觉语言模型(VLM)在自动驾驶中的应用:近年来,VLM在处理视觉和语言任务方面表现出色,但将其应用于自动驾驶时,如何实现高驾驶性能和广泛的语言理解仍然是一个挑战。
-
语言与动作的对齐问题:以往的研究中,视觉问答(VQA)被用于测试模型对场景的理解,但这种理解如果没有与实际驾驶动作对齐,可能会导致模型的行为与语言描述不一致。因此,作者提出了一个能够处理驾驶、视觉语言理解和语言动作对齐的模型。
2. SimLingo 模型
-
模型架构:SimLingo 基于 InternVL-2 架构,使用相机图像作为输入,并结合导航信息和语言指令来预测驾驶动作和语言描述。
-
输入表示:输入包括相机图像、导航信息(如 GPS 目标点或高级语言指令)、车辆速度以及任务提示。
-
输出表示:输出包括动作(如路径和速度航点)和语言(如评论和视觉问答的回答)。
-
动作梦境(Action Dreaming):这是一个新任务,用于评估模型如何根据语言指令生成相应的动作,而无需执行危险动作。
3. 数据集与训练
-
数据集:作者收集了包含多种复杂驾驶场景的数据集,并通过模拟不同可能的未来轨迹来生成多样化的指令-动作对。
-
训练方法:模型在训练时随机切换使用 GPS 目标点和语言指令作为输入,以增强模型的泛化能力。
4. 实验与结果
-
在 CARLA Leaderboard 2.0 和 Bench2Drive 上的性能:SimLingo 在这两个基准测试中均取得了最先进的性能,证明了其在复杂驾驶场景中的有效性。
-
语言理解能力:SimLingo 在视觉问答(VQA)和驾驶评论任务上也表现出色,展示了其语言理解能力。
-
动作对齐能力:通过动作梦境任务,SimLingo 能够根据语言指令生成相应的动作,验证了语言与动作的对齐能力。
5. 结论与展望
-
模型优势:SimLingo 不仅在驾驶性能上表现出色,还具备强大的语言理解能力,并能够将语言与动作有效对齐。
-
局限性:尽管 SimLingo 在模拟环境中表现出色,但作者指出,将其应用于现实世界驾驶时,需要考虑推理延迟等问题。
-
未来工作:作者计划在未来进一步测试 SimLingo 在现实世界中的表现,并探索更小的 VLM 以提高实时性。
文章通过详细的实验和分析,展示了 SimLingo 在自动驾驶领域的创新性和实用性,为未来自动驾驶技术的发展提供了新的方向。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:
图 1. 概览:SimLingo 是一个视觉-语言-动作模型,统一了自动驾驶、视觉-语言理解和语言-动作对齐的任务。它在仅使用相机图像的官方 CARLA 排行榜 2.0 和 Bench2Drive 中处于领先地位。我们引入了“动作梦境”任务,这是一种指令遵循的形式,用于改善语言和动作的对齐。
摘要
将大型语言模型(LLMs)整合到自动驾驶中受到了广泛关注,人们希望借此提高泛化能力和可解释性。然而,现有方法通常只关注驾驶或视觉-语言理解,同时实现高驾驶性能和广泛的语言理解仍然是一个挑战。此外,处理视觉-语言理解的主导方法是使用视觉问答(VQA)。然而,对于自动驾驶来说,这只有在与动作空间对齐时才有用。否则,模型的回答可能与其行为不一致(例如,模型声称看到红灯,但动作却是加速)。因此,我们提出了一个可以处理三种不同任务的模型:(1)闭环驾驶,(2)视觉-语言理解,以及(3)语言-动作对齐。我们的模型 SimLingo 基于视觉语言模型(VLM),仅使用相机,排除了昂贵的传感器(如激光雷达)。SimLingo 在广泛使用的 CARLA 模拟器的 Bench2Drive 基准测试中获得了最先进的性能,并且是 2024 年 CARLA 挑战赛的获胜作品。此外,我们在各种语言相关任务中也取得了强大的结果,同时保持了高驾驶性能。
1. 引言
近年来,视觉语言模型(VLMs)展示了其对世界广泛知识的掌握能力,并能够泛化到未见提示。将这些能力整合到自动驾驶系统中,有可能增强其在多样化、罕见场景中的鲁棒性,并实现更流畅的人机交互。视觉驱动机器人领域开始利用预训练的视觉语言模型(VLMs)来提升性能,因为这些模型能够更好地理解和适应不熟悉的环境,并遵循自然语言指令。在端到端自动驾驶中,将 VLMs 引入驾驶模型也逐渐受到关注。VLMs 被用于提升规划性能或以视觉问答(VQA)的形式实现围绕驾驶场景的视觉-语言能力。VQA 是一种有希望的方法,用于测试模型对场景的理解能力以及对行为重要性的理解。然而,仅在语言空间中评估这种理解时,它可能完全与实际驾驶决策脱节(例如,模型声称看到红灯,但动作却是加速)。我们主张只有对齐的语言交互——即模型的动作响应于语言提示而调整——才能提供真正的语言理解的因果证据。为了解决语言理解与驾驶动作对齐的挑战,我们提出了“动作梦境”——一个新数据集,用于改善对齐,并评估语言输入如何影响动作,而无需执行危险指令。当在现有专家数据上后置生成指令-动作对时,动作可以从视觉线索中推断出来。因此,模型不需要关注语言指令。这导致了语言和动作之间的错位。为了解决这一问题,我们提出了一种新的数据收集技术,我们在给定状态下模拟多种可能的未来。我们在多样化的指令-动作对上进行训练和测试,以确保模型听取指令。第二个主要关注点是驾驶性能。许多结合 VLMs 与驾驶的作品要么在过于简单的环境中评估其性能(例如 HighwayEnv),要么在开环设置中评估(例如 NuScenes 规划)。我们在一个具有挑战性的闭环基准测试中严格测试我们的模型。贡献:(1)一个基于 VLM 的驾驶模型,在 CARLA 模拟器的官方 CARLA 排行榜 2.0 和本地基准 Bench2Drive 上实现了最先进的驾驶性能。(2)一个新的任务(动作梦境),它包括一种收集指令-动作对的方法和一个基准,用于评估语言和动作理解之间的联系,而无需执行不安全的动作。(3)一个通用模型,不仅在驾驶性能上表现出色,还整合了多个语言相关任务。
2. 相关工作
端到端自动驾驶。基于模仿学习(IL)的端到端训练是 CARLA 排行榜 1.0 上最先进的方法的主导方法。随着 CARLA 排行榜 2.0 的引入,驾驶任务变得更加困难。这体现在将排行榜 1.0 的领先方法(TransFuser)零样本应用于新的排行榜 2.0 时,驾驶分数大幅下降(从 66.32 降到 0.58)。大多数最先进的端到端方法结合了辅助输出,并依赖于多种传感器,如相机与激光雷达。然而,越来越多的人对部署仅使用相机的模型感兴趣,如行业参与者和学术作品(如 DriveCoT 和 TCP)所示,仅使用相机图像就能取得竞争性结果。我们遵循这种方法,排除了昂贵的传感器(如激光雷达)。驾驶中的语言模型。大多数最先进的驾驶模型引入了特定领域的架构。然而,随着大型语言模型和视觉语言模型的最新进展,这些通用架构已被整合到驾驶系统中。多模态 LLM 基础驾驶框架(如 LLM-Driver、DriveGPT4 和 DriveLM)利用来自不同模态的输入进行驾驶。GPT-Driver 和 LanguageMPC 使用文本对 ChatGPT 进行微调,将其作为运动规划器。知识驱动的方法也被采用,以基于常识知识做出决策。然而,这些作品大多主要通过在开环设置(如 NuScenes)或简化驾驶环境(如 HighwayEnv)中的定性分析进行评估。FED 使用 VLM 进行闭环驾驶,通过语言在训练期间提供反馈。LMDrive 提出了一个端到端闭环驾驶模型,能够遵循有限的人类指令。然而,当在常用的驾驶基准测试中评估时,它远远落后于最先进的驾驶模型。DriveMLM 也包括指令遵循,但与我们的不同,它使用现成的动作规划器,并且不是端到端训练的。
多项研究通过视觉问答(VQA)将语言理解整合到自动驾驶系统中。然而,许多方法要么将评估限制在开环设置中,要么根本不涉及动作预测。到目前为止,开环模型在闭环基准测试中远远落后。没有证据表明开环结果可以转移到闭环中,这使得消融实验和主张不可靠。这强调了在训练、架构、控制和数据组成方面需要进行重大改变才能弥合这一差距。此外,还缺乏对指令遵循能力的系统性评估,尤其是当考虑指令和动作的对齐时。
3. 方法
3.1 任务概述
驾驶。驾驶目标是在 CARLA 自动驾驶模拟器中,沿着给定地图到达指定目标位置,同时经过预定的中间位置。地图包括高速公路、城市街道、居民区和乡村环境等多种环境,所有这些环境都必须在各种天气条件下导航,包括晴天、日落、雨、雾和夜间场景。沿途,代理必须管理各种复杂场景的密集出现,例如遇到乱穿马路的行人、从停车场出口驶出、执行无保护转弯、并入交通流、绕过施工现场或避免车门打开的车辆。视觉-语言理解。此外,模型需要解决一系列多样化的语言任务,包括用自然语言描述当前决策和动作(评论)以及回答有关模拟驾驶场景的问题(VQA)。评论任务回答的问题是“自动驾驶车辆接下来应该做什么以及为什么?”。答案涉及路径(例如变道、绕过物体)和速度以及两者的原因。此外,我们在最终模型中默认运行评论。这意味着最终的驾驶模型以“思考链”设置运行,即首先在语言空间中预测动作和原因,然后在给定评论的情况下预测动作。动作梦境。第三个任务将视觉-语言理解与将这种理解与动作空间对齐的能力结合起来。我们给模型提供各种指令,包括改变速度、变道、朝特定物体驾驶或其他导航变化。这包括正常驾驶中可能出现的常见指令,以及不应在现实世界中执行的超出分布的指令(例如,撞向物体),但这些指令可以表明模型对多样化指令的理解。这测试了模型的语言能力是否与动作空间对齐。由于我们不想执行这些动作,因此我们称此为动作梦境模式。我们为模型提供语言指令,模型需要预测相应的动作。
3.2 数据集
驾驶。我们使用特权规则基础专家 PDMlite 收集 CARLA 模拟器中的驾驶数据集。我们使用三组路线进行数据收集:(1)TransFuser 的训练路线(Town 1-10),我们将其转换为支持 Leaderboard 2.0。(2)我们将官方 CARLA 排行榜 2.0 的 Town 12 和 Town 13 路线分成较短的段,以减少无关紧要的数据(例如,没有危险事件的直线驾驶)并简化数据管理,如 [13, 35] 所提议的那样。(3)随着 Leaderboard 2.0 的引入,导航目标点之间的最大距离从 50 米增加到 200 米。一个场景的路线通常在这个距离内,导致分布偏移,因为下一个目标点位于路线的末端(即,距离小于 200 米),而不是在 200 米之后。因此,我们使用一组较长的路线,每条路线包含三个场景。为了确保场景类型的平衡,我们调整每种场景的路线数量(即,对罕见场景的路线进行上采样),应用随机天气增强,并修改场景的生成距离 ±10%。总体而言,我们以 4 帧/秒的速度收集了 310 万样本。视觉-语言理解。对于视觉-语言理解数据,我们应用 DriveLM 的启发式方法为我们的驾驶数据生成 VQA 标签。我们使用 Town 12 进行训练,Town 13 用于评估。对于评论任务,我们生成新的标签,因为此任务不属于 DriveLM 标签。同样,我们在数据收集期间使用特权信息和规则专家的逻辑来生成解释。更具体地说,我们使用专家的智能驾驶模型(IDM)获得的领先对象,以及关于改变路径以绕过物体的信息。此外,我们使用基于自我航点的启发式方法来区分驾驶意图,例如从停止开始或保持相同速度驾驶。动作梦境。为了将语言与动作空间对齐,我们需要带有配对指令和动作的数据。仅依赖专家实际执行的动作来后置生成指令,会导致可以完全从可用视觉信息中推断出来的标签,从而使处理语言指令变得不必要。为了解决这一限制,为相同的视觉上下文生成多种替代指令和动作,迫使模型关注指令。对于原始数据集,我们存储了模拟器状态的非穷尽部分,例如其他车辆的位置及其速度。我们利用“按轨道运行”的假设(即,所有其他动态代理都被视为处于固定路径上,并且对环境变化无响应,类似于重放原始模拟)来近似自我车辆的动态,使用运动学自行车模型。这使我们能够在不执行动作的情况下模拟自我车辆的不同可能未来轨迹,并对其他代理进行碰撞检查。这个数据集包含了几种新的轨迹类型,例如变道(包括移动到人行道或停车道)、速度调整、朝特定物体(例如交通锥、标志、车辆)驾驶,可能会导致碰撞,以及穿过特定道路标记,如停车标志或停车线。对于每对替代指令-动作,我们还有一个标志,表明这个动作是否安全执行,以及一个语言标签,描述这个动作是否可以执行,以及如果不能执行的原因。我们使用 Town 12 进行训练,Town 13 用于验证。有关数据收集和标记程序的更多详细信息,请参阅附录 A。
3.3 架构
SimLingo 基于 InternVL-2 架构,增加了额外的输入模态和输出头。图 2 显示了 SimLingo 架构的概述。输入表示。SimLingo 使用相机图像来导航环境。我们将相机图像、导航信息(以接下来的两个 GPS 目标点 TP 或高级语言指令 HLC 的形式,例如“左转”)以及自动驾驶车辆的速度 v 作为输入。此外,我们输入一个包含当前任务信息的任务提示。我们区分四种任务提示 ptask:(1)无语言预测的驾驶:“预测航点。”(2)评论 + 驾驶:“自动驾驶车辆接下来应该做什么?”(3)VQA + 驾驶:“Q:(4)动作梦境:“Dreamer 标志 指令。”对于 Dreamer 标志,我们区分两种模式:当激活时,模型应预测与指令对齐的动作;当未激活时,模型需要拒绝不安全的指令。所有输入信息都是全局 LLM 提示 pglobal 的一部分,其结构如下:“图像特征 eI \n 当前速度:v m/s。命令:导航特征 enav。任务提示 ptask。”其中,所有在 内的部分都会被相应的特征嵌入替换。
视觉-语言-动作模型
我们使用 Mini-InternVL 系列 [20] 中的 InternVL2-1B 作为 SimLingo 的主要架构。InternVL2 系列 [11, 12, 20] 在提供从 10 亿参数模型开始的最广泛模型尺寸范围的同时,达到了最先进的性能。InternVL2-1B 模型包括视觉编码器 InternViT-300M-448px(ViT)和 Qwen2-0.5B-Instruct [64] 作为语言模型(LLM)。
可变高分辨率图像编码
处理高分辨率图像是实现详细图像理解的关键。对于自动驾驶而言,重要信息(如大型路口的交通信号灯)可能仅在少数像素中可见。大多数视觉语言模型(VLM)基于 CLIP 预训练的视觉编码器,这些编码器是在 336×336(部分为 448×448)分辨率上预训练的。为了能够处理动态和更高分辨率的
这个交错的标记序列随后被输入到预训练的 LLM 中。
大型语言模型
给定输入嵌入和动作查询,LLM 生成语言和动作输出特征。首先,它自回归地生成语言预测,这些预测代表对任务提示的回答。然后,在一次额外的前向传播中,它生成包含路径和航点的动作。我们在路径和航点上使用平滑 L1 损失,在预测的语言标记上使用交叉熵损失。
3.4 训练
数据集混合
我们区分两种动作标签:(1)专家轨迹和(2)梦境轨迹(安全和不安全的)。在训练过程中,我们从每种轨迹中采样 50/50。对于专家轨迹,我们在三种选项中进行选择,用于额外的语言监督:(1)VQA,(2)评论,(3)不进行语言监督。我们采样 50% 的 VQA 预测,35% 的评论预测,7.5% 提供评论作为提示,7.5% 不进行任何语言监督。对于梦境轨迹,我们训练时 50% 激活“梦境标志”,50% 不激活,模型需要判断指令是否安全并拒绝不安全的指令。
数据桶
驾驶的大部分时间是直行且无事件的。为了最大化收集有趣场景的数量,我们在数据收集时专注于多样化且具有挑战性的场景。然而,不可避免地会有一些简单且无事件的数据。为了应对这一问题,我们创建了包含特定有趣样本的数据桶,并为每个数据桶分配一个概率。在训练期间,我们从这些数据桶中采样,而不是从整个数据集中采样。这种方法将每个 epoch 的样本数量减少到 650,000。数据桶的详细类型请参见附录 B.2。
4. 实验
在本节中,我们首先介绍使用的基准测试和指标(第 4.1 节)以及实现细节(第 4.2 节)。然后,我们展示结果(第 4.3 节)并进行定量和定性分析。
4.1 基准测试和指标
对于详细的指标描述,请参见附录 B.4。Leaderboard 2.0。我们使用 CARLA 模拟器的官方测试服务器,测试秘密路线下的不同天气条件 [2]。我们报告官方 CARLA 指标:驾驶分数(DS)、路线完成率(RC)和违规分数(IS)。驾驶分数的计算方式使得当前性能范围内的模型因完成更多路线而受到惩罚,因为由于违规导致的分数非线性下降 [2]。关于其缺陷的详细讨论请参见附录 B.4。Bench2Drive。对于本地评估,我们使用基于 CARLA 0.9.15 版本的 Bench2Drive 基准测试 [30],该测试使用 220 条路线,每条路线大约 150 米,分布在 Town01 至 Town15,以及不同的天气条件下。我们使用官方指标,包括驾驶分数、成功率、效率和舒适性。这些较短的路线使得更容易获得较高的驾驶分数,因此其范围与 Leaderboard 的数字不可比。DriveLM-hard(VQA)和评论。我们使用 DriveLM [53] 生成 VQA 数据,并使用我们在第 3.2 节中描述的注释方案为 Town 13 收集额外的评论标签作为验证标签,这些标签在训练过程中被保留。与 DriveLM 不同,我们构建了一个更难的验证集,我们均匀地从每个答案类型中采样 10 个示例,而不是从整个集中随机采样,因此高度欠采样了罕见答案。我们的 VQA 验证集包含 330 种不同的答案类型,评论集包含 190 种。我们使用 GPT 和 SPICE 指标。动作梦境。为了评估模型不仅在语言空间中理解场景特定知识的能力,还要将这种知识与动作空间联系起来,我们引入了动作梦境评估。模型接收以指令形式的语言输入,并需要想象相应的动作会是什么样子。我们使用 Town 13 的梦境数据集(在第 3.2 节中描述)进行验证。指令来自以下类别之一:减速、加速、达到目标速度、变道、以物体为中心。我们在开环环境中进行评估,并使用成功率作为指标。每个类别都有一个单独的规则来定义成功。
4.2 实现细节
SimLingo。我们使用 AdamW 优化器 [38] 进行优化,权重衰减为 0.1,学习率为 3e-5,并采用余弦退火调度,不进行重启。我们使用 DeepSpeed v2 来优化训练效率和内存使用。我们对所有组件进行了完整的微调,除了 LLM,我们对其使用了 LoRA [22],应用于所有线性层,这已被证明是有效的 [17]。我们应用了与 TF++ [26] 相同的数据增强技术,但使用了更激进的平移和旋转增强(平移:1.5 米,旋转:20 度)。该模型在 8 个 A100 80GB GPU 上训练了 14 个 epoch,批大小为 12,耗时 24 小时。由于在添加额外数据后训练时 L2 损失的不稳定性,我们改为使用 SmoothL1 损失。在推理过程中,我们默认使用评论。这意味着最终的驾驶模型以“思考链”设置运行,即首先在语言空间中预测动作和原因,然后在给定评论的情况下预测动作。
基线 - SimLingo-BASE
我们提供了一个轻量级的基线驾驶模型,更适合在计算资源受限的环境中测试驾驶特定的设计选择,并在官方 Leaderboard 2.0 上进行评估。附录 B.3 中详细列出了与 SimLingo 的主要区别,但主要区别在于它没有语言支持,并且使用了一个基于 LLaMA 架构的较小的 Transformer(5000 万参数),该模型是从头开始训练的。由于 Leaderboard 在 2024 年 6 月暂时关闭,我们无法提交最终的 SimLingo 模型进行评估(SimLingo-BASE 在关闭前已提交),因此我们选择在本地基准测试(Bench2Drive)上比较闭环性能。对于 Leaderboard 模型,我们在推理过程中应用了早期停止,以应对 DS 的性质(如在指标部分所述)。我们跟踪行驶距离,并在转向角度接近零时停止驾驶,以防止在路口中间停车。
基线 - TCP-traj 无蒸馏
Bench2Drive [30] 基准测试上的所有现有方法都是使用 Think2Drive [35] 专家收集的数据进行训练的。由于我们使用的是开源专家 PDM-lite [53],因此我们使用我们的数据组合重新训练了 TCP-traj 无蒸馏模型,以增加评估的公平性。由于专家之间的驾驶行为(如最大速度和加速度)不同,我们在评估闭环时也调整了控制器以考虑这些变化。我们选择 TCP-traj 无蒸馏是因为它是不依赖于专家特征蒸馏的最佳先前方法,因为专家特征对于 PDM-lite 或现实世界是不可用的。
4.3 结果
在 CARLA Leaderboard 2.0 上的驾驶性能
我们在表 1 中展示了官方 Leaderboard 的结果。我们的轻量级模型 SimLingo-BASE 在传感器轨道上超越了之前的最佳作品(CaRINA 混合 [47])4.6 倍,超越了同期最佳作品(TF++ [68])33%。消融研究:为了展示我们输出表示的影响,我们将解耦的路径 + 速度航点与常用的耦合航点表示进行了比较。我们观察到驾驶分数增加了 39.9%,并且与静态物体的碰撞减少为零。此外,我们分析了视觉编码器,并将其与未使用 CLIP 预训练的 ViT 以及在 ImageNet [16] 上预训练的 Resnet-34 [21] 进行了比较(使用相同的训练预算)。从头开始训练的 ViT 只获得了 0.45 的 DS,显示了 CLIP 预训练 [46] 的能力。Resnet 的结果为 2.71,与我们的 6.87 相比。值得注意的是,据我们所知,我们的模型是 Leaderboard 上唯一仅使用相机图像的模型(注意:我们没有包括没有方法报告的 Leaderboard 条目)。我们在附录 C 中提供了更多关于输出表示、早期停止和 Leaderboard 变异的消融细节。
在 Bench2Drive 上的驾驶性能
表 2 展示了本地基准测试 Bench2Drive [30] 的结果(数字取自 Bench2Drive Github 仓库的最新版本)。现有作品在此基准测试上使用 Think2Drive 专家 [35] 收集的数据进行训练。然而,由于该专家不是开源的,因此我们无法收集我们需要的语言注释数据。因此,我们使用 PDM-lite,这是一个开源专家,我们可以修改保存的标签以进行标签创建。为了提供公平的比较并分离不同数据集带来的性能提升,我们提供了 TCP-traj 无蒸馏模型的结果,该模型使用我们的数据组合,并调整了适合我们数据集的控制器。有了这两个变化
表 2 展示了本地基准测试 Bench2Drive [30] 的结果(数字取自 Bench2Drive Github 仓库的最新版本)。现有作品在此基准测试上使用 Think2Drive 专家 [35] 收集的数据进行训练。然而,由于该专家不是开源的,因此我们无法收集我们需要的语言注释数据。因此,我们使用 PDM-lite,这是一个开源专家,我们可以修改保存的标签以进行标签创建。为了提供公平的比较并分离不同数据集带来的性能提升,我们提供了 TCP-traj 无蒸馏模型的结果,该模型使用我们的数据组合,并调整了适合我们数据集的控制器。有了这两个变化,性能从 49.30 DS 提高到 63.45 DS。这表明数据集对性能提升有贡献,但我们的额外改进对于获得最先进的性能至关重要。查看驾驶指标(DS 和 SR),SimLingo 和 SimLingo-BASE(我们在 Leaderboard 上使用的相同模型)超越了所有先前方法。对于所有 SimLingo 模型,我们训练了三个种子以平均训练方差。只有在舒适性指标中,先前的作品部分表现更好,这可能是由于我们的方法驾驶速度更高的原因。视觉 - 语言 - 动作模型(SimLingo)可以在保持与纯驾驶模型(SimLingo-BASE)相同的驾驶性能的同时,包含一系列语言能力。
语言理解 - VQA & 评论
我们在表 3 中展示了 DriveLM 和我们的评论基准测试的结果。我们使用 Mini-InternVL2 模型作为基线进行比较。然而,我们强调 SimLingo 是在模拟的视觉内部分布数据上训练的,而 InternVL2 是零样本测试的。基线模型可以正确回答一些基本问题,例如识别交通信号灯或停车标志,但在更复杂、特定于驾驶的问题上却很吃力。此外,我们还比较了一个仅在 DriveLM 上微调的版本(InternVL2-1B-DriveLM)。这个专门化的模型获得了 63.85 的 GPT 分数,这仅比我们能够执行多个不同任务的模型略高。我们在图 3 和附录 D 中提供了定性示例。我们发现模型尤其在训练中很少见到的答案类型上表现挣扎,表明要么收集更多具有这些答案类型的驾驶样本,要么在训练中进行过采样,可能有助于进一步提高性能。
遵循导航指令
为了展示模型遵循基本导航指令的能力,我们将 SimLingo 使用 GPS 目标点与使用语言指令(HLC)的同一模型进行了比较(即,类似“右转”的语言指令)。表 4 显示,仅使用 HLC 时,我们达到的驾驶性能与使用 TP 的结果在方差范围内。这使得导航更加符合人类习惯,同时也表明,通过目标点位置恢复的快捷方式 [26] 在我们的设置中并不是必需的。
动作梦境
为了评估模型将语言理解与动作空间对齐的一般能力,我们在动作梦境数据集上进行了评估。表 5 显示了动作梦境评估的成功率,针对每个类别。我们将仅在 CARLA 模拟器提供的指令上训练的模型与使用梦境数据训练的模型进行了比较。通过训练合成生成的指令 - 动作对,我们看到了巨大的改进(从 28.22 提高到 72.96 SR)。图 4 展示了动作梦境模式的定性示例。在第一行(a-c)中,我们展示了同一场景的不同导航变化。这表明模型不会过度拟合视觉线索,而是会根据语言指令调整其响应。在 a)和 d)中,我们使用了相同的“左转”指令,但处于不同的上下文中,表明模型能够根据情境成功调整其响应。在场景 a)中,我们正接近一个路口,因此模型正确地预测了一个左转,如红色路径航点所示。相比之下,在场景 d)中,我们在多车道道路上,距离路口较远,左转意味着准备变道,以便在出现路口时执行转弯。更多示例,包括失败案例,可以在附录 D 中找到。
训练混合
我们从完整的 SimLingo 模型中消除了每个添加的语言任务,直到没有语言能力的纯驾驶模型。表 6 显示,纯视觉 - 语言任务(评论和 VQA)对纯驾驶性能没有影响(最后一行)。然而,添加动作梦境数据到训练混合中略微提高了在 Bench2Drive 基准测试上的驾驶性能。
5. 结论和局限性
我们提出了 SimLingo:一个基于 VLM 的自动驾驶模型,在官方 CARLA Leaderboard 2.0 和 Bench2Drive 上实现了最先进的结果,同时展示了语言理解能力。我们在驾驶评论和 VQA 上衡量语言性能,表明经过微调后,一个基础的通用 VLM(InternVL2)可以在专门的驾驶领域表现出色。为了将视觉 - 语言理解与动作空间对齐,我们引入了动作梦境任务,在该任务中,我们展示了模型对多种语言指令的高成功率。局限性。我们认识到我们的工作存在一些局限性。由于技术和组织原因(Leaderboard 在 2024 年 6 月关闭),我们仅在官方 CARLA Leaderboard 2.0 上测试了 SimLingo-BASE,而不是完整的 SimLingo 模型,我们将此留作未来工作。然而,我们在本地 Bench2Drive 基准测试上严格检查了 SimLingo 和 SimLingo-BASE 的闭环驾驶性能。此外,尽管我们在推理时使用了“思考链”(CoT)(即,在给定评论的情况下预测驾驶动作),但到目前为止,我们尚未观察到统计上显著的驾驶改进(附录 C.3)。我们假设需要适当的 CoT 特定数据和训练配方才能发挥其优势。最后,我们在模拟环境中进行驾驶和语言理解。我们认识到,在现实世界的驾驶模型中添加 VLM 会增加推理延迟,但我们相信,随着更小的 VLM 和工程努力(例如 [3, 4])的进步,将能够在汽车上实时测试 VLM。
发布评论