像人一样开车:用大语言模型重新思考自动驾驶
相关代码可在https://github.com/PJLab-ADG/DriveLikeAHuman.上获得
Abstract
在本文中,我们探索了使用大语言模型(LLM)来以类似于人类的方式理解驾驶环境的潜力,并分析了它在面对复杂场景时的推理、解释和记忆能力。我们认为,传统的基于优化和模块化的自动驾驶(AD)系统在处理长尾角情况时面临固有的性能限制。
为了解决这个问题,我们提出一个理想的AD系统应该像人一样开车,通过不断的驾驶积累经验,用常识解决问题。为了实现这一目标,我们确定了AD系统所必需的三种关键能力:推理、解释和记忆。我们通过构建一个闭环系统来展示它的理解能力和环境交互能力,从而证明了在驾驶场景中使用LLM的可行性。我们的大量实验表明,LLM表现出了令人印象深刻的推理和解决长尾案件的能力,为类人自动驾驶的发展提供了有价值的见解。相关代码可在https://github.com/PJLab-ADG/DriveLikeAHuman.上获得
1 Introduction
想象一下,如果你坐在方向盘后面,等待停车标志前的绿灯。
与此同时,一辆载着交通锥的皮卡正在穿过前面的十字路口。作为一名人类司机,你可以利用你的常识来推断这些交通锥是皮卡上的货物,这并不意味着道路正在建设中。然而,对于许多现有的自动驾驶(AD)系统来说,这些场景很容易被人类驾驶员处理,是长尾角情况[6,7,8]。尽管自动驾驶开发人员可以通过手动制定规则或收集更多关于车辆上的交通锥的具体数据来防止突然刹车,以防止突然刹车,但在相反的情况下,当在标志着禁区的地面上遇到时,算法将失败。这就像解决了一个问题却突然出现了另一个问题,特别是现实世界中无数罕见的案例,甚至超出了我们的想象。这就是为什么我们认为传统的基于优化的模块化AD系统本身就面临着性能瓶颈[6,17]。
我们重新思考了自动驾驶的故事板,并阐明了为什么传统的基于优化的广告系统在图1(A)中具有挑战性的开放世界中苦苦挣扎。尽管建立在优化理论基础上的系统可以很容易地将复杂的自动驾驶任务划分为一组子任务。当面对复杂场景时,损失函数的优化目标容易陷入局部最优,限制了其泛化能力。加入更多的数据(图中的绿色箭头)只会缩小当前模型(绿色椭圆)与基于优化的方法的最大容量(蓝色椭圆)之间的性能差距。这主要是因为优化过程侧重于学习数据中的主要模式,通常忽略了不常见的长尾角情况。如果不结合常识(蓝色箭头),则无法提示模型(蓝色椭圆)的容量。
图1:(A)人类驾驶和现有自动驾驶系统之间的关系,特别突出了当前方法的局限性,以及为什么它们不能解决所有长尾情况。(B)能够像人类一样驾驶的系统的模式。智能体可以探索和与环境互动,并根据专家的反馈进行自我反思,最终积累经验。
而且,在连续的数据采集过程中,总是存在着无穷无尽的未知长尾案例。与目前难以应对这些长尾角落案例的解决方案相比,人类总是可以通过自己的经验和常识熟练而轻松地解决这些问题。一个直截了当的想法出现了:我们是否有可能做出这样一个系统,它可以像人类一样开车,通过不断的驾驶来积累经验,而不是拟合有限的训练语料库?根据最近的研究[14,32,46,39,47],我们认为以前的模块化AD系统可以被视为一个互联网人工智能[7,8,23,17],它是在特定任务的语料库上训练的,没有高级智能,如推理,解释和自我反思。我们声称,如果我们想要获得一个能像有经验的人类司机一样驾驶汽车的智能体,就有必要从Embodied AI[31,35]研究中借鉴一些想法。人类从与真实环境的互动中学习驾驶,并通过解释、推理、浓缩各种场景的记忆和相应的操作,得到反馈,提炼道路感。此外,由于他们的逻辑推理能力,人类司机可以使用他们的常识来总结规则,并将其应用于更一般的场景(归纳推理)。同时,以前的经验可以在潜意识中被唤醒来处理不可预测的情景(演绎推理)[20]。
为了实现像人类一样驾驶的目标,我们确定了三种必要的能力:
1)推理:给定特定的驾驶场景,模型应该能够通过常识和经验推理做出决策。
2)解释(Interpretation)代理的决策应当能够被解释(Interpretation)。这证明了自省的能力和陈述性记忆的存在。
3)记忆:在推理和解释场景后,需要一种记忆机制来记住以前的经验,使agent在遇到类似的情况时能够做出类似的决策。
基于上述三个属性,我们参考了人类学习驾驶的范式,并浓缩了如图1 (b)所示的驱动系统的规范形式。该模式包括四个模块:(1)环境创建了一个智能体可以通过交互流与之交互的阶段;(2) Agent指的是能够感知环境并利用自身记忆和专家建议学习做出决策的驾驶员;(3)记忆允许agent通过反射流积累经验并据此执行动作;(4)专家对agent训练提出建议,当agent行为不一致时给予反馈,形成监督流程。具体来说,作为通用的驾驶框架,Environment、Agent和Expert可以分别由现实世界或模拟器、人类驾驶员或驾驶算法、模拟器或教练反馈来表示。
受最近研究的启发,大型语言模型(LLM)可以被认为是人工通用智能(AGI)的早期版本[4,39,47,1,34],因为它具有显著的突发能力[40]和新技术,如指导跟随[27]和上下文学习(ICL)[3]。
最近发布的ChatGPT[26]等LLM的大量实验结果表明,它们具有推理、解释和记忆[41]的能力。因此,在本文中,我们试图初步探索LLM像人类一样理解驾驶交通场景的能力,并通过一系列定性实验分析LLM在处理长尾角落案例等场景时的推理、解释和记忆能力。具体而言,我们首先构建了一个闭环系统来演示LLM (GPT-3.5)在驾驶场景中的理解能力和环境交互能力。然后,我们通过解决几个典型的长尾案例来展示推理和记忆能力,这些案例对模块化AD系统来说很难处理,而对人类驾驶员来说很容易。
本文的主要贡献如下:
1. 我们深入研究了如何让自动驾驶系统像人一样驾驶,以防止现有AD系统在面对长尾角落情况时灾难性的遗忘,并总结了三个关键的像人一样驾驶的能力:推理、解释和记忆。
2. 我们首次证明了在驾驶场景中使用LLM的可行性,并在模拟驾驶环境中利用其决策能力。
3.在我们的研究中,大量的实验表达了令人印象深刻的理解和解决长尾案例的能力。我们希望这些见解能够激励学术界和工业界为类人自动驾驶的发展做出贡献。
2 Closed-loop interaction ability in driving scenarios
2、驾驶场景闭环交互能力
解释能力使LLM能够理解其驾驶环境,形成其与环境交互的基础,并增强其推理和记忆能力。我们使用GPT-3.5在HighwayEnv*上进行闭环驾驶实验,验证LLM的解译能力和环境交互能力。GPT-3.5作为一个纯文本的大型语言模型,无法直接与HighwayEnv进行交互,因此我们提供了感知工具和代理提示来辅助其观察和决策。如图2所示,Agent Prompts为GPT-3.5提供了有关其当前行为、驾驶规则和注意事项的信息。GPT-3.5采用ReAct策略[42],通过思考、行动和观察的循环来感知和分析周围环境。基于这些信息,GPT-3.5在HighwayEnv中进行决策和控制车辆,形成闭环驾驶系统。
图2:GPT-3.5在HighwayEnv中的闭环驾驶:(a) GPT-3.5在HighwayEnv中利用感知工具观察其所处环境,并做出决策控制车辆,形成闭环。(b) GPT-3.5采用ReAct策略来计划行动和使用工具,同时通过思考、行动和观察的循环来感知周围环境
和人类一样,GPT-3.5会在驾驶时评估其行为的潜在后果,并权衡结果,做出最明智的决定。与广泛使用的基于强化学习(RL)和基于搜索的方法不同,GPT-3.5不仅解释场景和行动,还利用常识来优化其决策过程。
与基于rl的方法相比,GPT-3.5在HighwayEnv中无需任何微调即可实现60%以上的零射击通过率。相比之下,基于强化学习的方法严重依赖于大量的迭代来实现具有竞争力的性能。例如,如图3 (a)所示,由于碰撞的严重惩罚,基于rl的智能体学习了一种策略,为了防止碰撞,它会在开始时减速,为随后的加速创造广阔的空间。它表明基于强化学习的方法经常产生这样意想不到的解决方案。
图3:基于强化学习和基于搜索方法的驱动行为:(a)基于强化学习的智能体只关注最终奖励的实现,忽略中间步骤。这使得他们可以采取非常规的行动,比如减速以落后于其他车辆,然后在开阔的道路上行驶以避免碰撞。(b)基于搜索的方法通过优化目标函数进行决策。他们可能会在确保安全的同时寻求最大的效率,从而追求攻击行为。
基于搜索的方法通过优化目标函数来做出决策,忽略函数中未提及的未定义部分。如图3 (b)所示,基于搜索的智能体可能会表现出积极的变道行为,以达到较高的驾驶效率,从而增加碰撞的风险。此外,基于搜索的方法可能会在前方没有其他车辆的情况下进行无意义的变道。这可能是因为对于基于搜索的agent来说,在保证安全的前提下,变道和保持速度在目标函数中具有同等的优先级。因此,代理将随机选择其中一个动作。
综上所述,基于rl和基于搜索的方法都不能真正像人类一样思考和驾驶,因为它们缺乏常识,解释场景的能力,以及权衡利弊的能力。相比之下,GPT-3.5可以解释每个动作的后果,通过提供提示,我们可以使GPT-3.5以价值为导向,使其能够做出更像人类的决策。
图4:基于GPT-3.5的变道决策过程
我们给出了两个例子,证明了GPT-3.5在highwayenvironment环境中的解释和交互能力,以及它在闭环过程中的决策一致性。第一种情况如图4所示,一辆绿色小轿车行驶在最右侧车道lane_3上。ego汽车在lane_3上跟随其领先车辆veh4行驶了一段时间,而左侧车道lane_2上的veh1行驶速度比veh4快。然后GPT-3.5开始它的ReAct过程。它首先确定自我汽车当前可以执行的动作,包括加速、减速、在当前车道上保持速度,以及向左变道。然而,由于自我汽车在最右边的车道上,它不能继续向右变道。接下来,GPT-3.5检查每个可用动作的安全性。感知工具显示,加速可能会导致与前方车辆的潜在碰撞,而保持速度是相当安全的。在检查左变道动作时,GPT-3.5首先确定在lane_2上哪些车辆会受到该动作的影响,然后学习到在veh1下左变道是安全的。此时,GPT-3.5已经检查了每个动作,并做出了最终决定,即改变到左侧车道。它给出了一个成熟合理的解释,说明虽然怠速和变道动作都是安全的,但变到lane_2是一个更好的举动,因为它为自我汽车提供了更大的灵活性。
考虑到veh1具有更快的速度,这个决定可以带来更好的性能。
图5:加速过程中的决策一致性
HighwayEnv的闭环驾驶不仅要求llm在每个时间步都做出安全的决策,而且要求决策之间的一致性,避免频繁的加减速和无意义的变道等行为。在我们的框架中,来自前一框架的决策结果和解释作为代理提示的一部分被包含并输入到GPT-3.5中。我们用图5中的第二个例子来证明GPT-3.5具有这样的决策一致性。
在这个例子中,绿色的ego车在最右边的车道上,在保持相对较长的距离的同时跟随veh2。在之前的决定中,GPT-3.5认为与领先车辆的距离太远,因此决定加速以跟上veh2。在ReAct进程开始时,GPT-3.5仍然使用Get_available_action工具来获取当前时间步中的所有四个可用操作。然后,它发现veh2仍然行驶在自我汽车的前面,并且怠速和加速动作与领先车辆都是安全的。GPT-3.5的最终决定是继续加速,因为它“选择与之前决定一致的行动”,正如它在最终答案中解释的那样。因此,自我车缩短了与前车的距离,更有利于整体交通流量。与第一个示例相比,由于参考了之前的决策结果,GPT-3.5调用的工具数量和推理成本显著降低。
3 Reasoning ability with common sense
具有较强的理性推理能力
虽然人类驾驶员和以前基于优化的AD系统都具备基本的驾驶技能,但两者之间的根本区别在于人类对世界有一种常识性的理解。常识是从日常生活中积累起来的对我们周围发生的事情的合理而实际的判断。有助于驾驶的常识可以来源于日常生活的方方面面。当出现新的驾驶情况时,人类驾驶员可以根据常识快速评估场景并做出合理的决定。相比之下,传统的自动驾驶系统可能在驾驶领域有经验,但它们缺乏常识,因此无法处理这种情况。
像GPT-3.5这样的LLM已经接受了大量自然语言数据的训练,并且对常识非常了解。这标志着与传统AD方法的重大区别,并使llm能够像人类驾驶员一样,使用常识来推理复杂的驾驶场景。在本节中,我们将评估自动驾驶系统中两个典型的长尾案例,其中包括第1节开头描述的一辆载有交通锥的皮卡。
图6:两个类似的长尾案例,一辆载有交通锥的皮卡。
如图6所示,两个相似但不同的照片被送入llm。第一张照片描绘的是一辆载运着几个交通锥的皮卡车,正驶向目的地。
第二幅图也描绘了一辆皮卡车,卡车底盘上有锥体,但周围地区的地面上散落着额外的锥体。由于GPT-3.5缺乏处理包括图像在内的多模态输入的能力,我们采用LLaMA-Adapter v2[15]作为图像处理前端。我们指示LLaMA-Adapter尽可能详细地描述照片。然后,这个描述被用作观察,我们要求GPT-3.5评估场景是否具有潜在危险,并为自我汽车做出决定,假设它跟在卡车后面。
在图6(a)所示的第一种情况下,LLaMA-Adapter识别出照片中的皮卡载有多个交通锥,并推断它可能正在将它们运送到目的地。
基于这些观察,GPT-3.5成功地分析了驾驶场景。GPT-3.5没有被交通锥的存在所误导,而是认为这种情况没有危险,因为卡车将货物运送到目的地是一种常见的情况。
GPT-3.5建议ego汽车的司机没有必要减速,并警告说,不必要的减速可能会对交通流量造成潜在的危险。
在图6(b)所示的第二种情况下,交通锥不仅在卡车床内,而且分散在地面上,LLaMA-Adapter可以准确地表示。尽管与第一个病例略有不同,但GPT-3.5的反应却截然相反。它认为这种情况有潜在的危险,因为卡车周围分散着锥形锥体,并建议ego汽车的司机减速并保持距离,以避免与这些锥形锥体发生碰撞。
以上例子展示了LLM在驾驶场景中强大的零射击理解和推理能力。常识知识的运用不仅可以让llm更好地理解场景中的语义信息,还可以让llm做出更理性的决策,更符合人类的驾驶行为。因此,拥有常识性知识增加了自动驾驶系统能力的上限,使其能够处理未知的长尾情况,真正接近人类驾驶员的驾驶能力。
4 Performance enhancement through memorization ability
4 .通过记忆能力提高成绩
持续学习[28]是人类驾驶的另一个关键方面。新手司机在遇到复杂的交通情况时,由于经验有限,通常会谨慎驾驶。随着时间的推移,驾驶员在驾驶方面的经验越来越丰富,他们会遇到新的交通情况,发展新的驾驶技能,并巩固他们以前的经验,最终成为经验丰富的驾驶员。
基于优化的方法旨在通过获取越来越多的失败案例来模仿持续学习的过程,并利用它们来重新训练神经网络。然而,这种方法不仅繁琐且昂贵,而且根本无法实现持续学习。
正常驾驶和长尾转弯情况之间的分布差异给平衡两者带来了重大挑战,最终导致灾难性遗忘。因此,需要一种更有效的方法来实现自动驾驶系统的真正持续学习。
如图1(b)所示,我们提出的基于LLM的方法通过使用单独的内存模块密切关注人类。记忆模块只记录“偏离专家”的决策场景。专家既可以是开发人员对LLM决策的评价,也可以是现实世界中人类驾驶员决策的基础真相。一旦获得了专家的反馈,LLM就会经历一个自我反思的过程,以确定其决策偏离专家的原因。
然后,它将流量情况总结为一个决策场景,并将其作为一个新的内存条目添加到内存池中,以及正确的决策。当下次遇到类似的情况时,LLM可以快速检索此内存项以供参考并做出明智的决策。
图7:LLM的自我反思和记忆能力示例
图7给出了一个记忆过程的例子。在这个场景中,一辆蓝色的小轿车和一辆相反方向行驶的黄色轿车在一条狭窄的车道上相遇,这条车道的宽度略大于小轿车宽度的两倍。将场景转换为结构化文本输入到GPT-3.5后,我们发现该模型很好地理解了场景,包括车辆的状态、方向和目的地。然而,当我们要求它对这个场景做出决定时,GPT-3.5给出了一个安全但过于谨慎的建议,即自我车应该停下来等待另一辆车先通过。为了提高LLM的性能,专家就人类驾驶员如何处理这种情况给出了实用的建议,包括保持汽车行驶并轻微向左推。LLM随后认识到有足够的空间让两辆车通过,减速可能会扰乱交通流量。它将这种情况总结为“同一车道上的两辆车相互靠近”,并记录下记忆和正确的决定。利用这些记忆,我们输入另一个场景,两辆车在一条狭窄的小巷里以不同的速度和位置相遇,并要求LLM做出决定。LLM成功地认识到,这只是“同一车道上的两辆车相互靠近”决策场景的另一种变体,并建议自我汽车继续行驶而不是减速等待是安全的。
记忆能力不断收集驾驶案例以获取经验,并通过检索已有记忆来辅助决策,使LLM在自动驾驶领域具有持续学习的能力。此外,这大大降低了LLM在类似场景下的决策成本,提高了LLM的实际性能。
5 Related work
无人驾驶的自治权。自动驾驶汽车包括两种主要模式:模块化模式[37,12]和端到端模式[5,17,33,36]。模块化方法涉及一堆相互连接的组件,这些组件处理各种子任务,如感知[23,24,43]、计划[21,44]和控制[30,19]。
这种体系结构提供了一些诱人的特性,比如模块化和多功能性。然而,调优管道和管理错误传播可能会带来挑战。相反,端到端自动驾驶直接将传感器输入映射到规划器或控制器命令。这些方法通常更容易开发,但缺乏可解释性,因此难以诊断错误、确保安全并纳入交通规则。
然而,最近在端到端可学习管道自治方面的进展通过结合两种范式的优势显示出有希望的结果[17,5]。尽管这两种自动驾驶模式取得了重大进展,但在处理长尾数据或在现实环境中发生的非分布场景时,它们往往会变得脆弱,这对安全至关重要的自动驾驶提出了挑战。
使用大型语言模型的高级任务。大型语言模型(LLM)的成功无疑是令人兴奋的,因为它展示了机器可以学习人类知识的程度。
近年来,LLM在零概率提示和复杂推理[2,25,9,27,10]、具体智能体研究[39,47,38,13,42]以及解决关键交通问题[45]等方面取得了令人瞩目的成绩。PaLM-E[13]采用微调技术来适应预训练的LLM,以支持多模式提示。反射[34]结合了自我反思,进一步增强了智能体的推理能力,思维链提示[27]使用LLM生成推理轨迹和特定于任务的动作。VOYAGER[39]提供了基于LLM的终身学习提示机制、技能库和自我验证。这三个模块旨在促进智能体更复杂行为的发展。生成式代理[29]使用LLM来存储代理经验的完整记录。随着时间的推移,这些记忆被合成为更高层次的反射,并被动态地检索以计划行为。Instruct2Act[18]引入了一个框架,该框架利用大型语言模型将多模态指令映射到机器人操作任务的顺序动作。
6 Conclusion
在这篇文章中,我们提出了我们的想法,即建立一个可以像人类一样驾驶的系统。我们认为,以前的基于优化的自动驾驶系统在处理长尾角情况时有其局限性,这是因为灾难性地忘记了全局优化。因此,我们总结了AD系统克服缺陷所必须具备的三种能力,包括(1)推理、(2)解释和(3)记忆。然后,我们设计了一个新的范式,遵循这三个信条,模仿人类学习驾驶的过程。最后,带着初步的人工通用智能的希望,我们尝试使用GPT-3.5作为我们的LLM试验床,并显示出令人印象深刻的理解交通场景的能力。作为初步工作,我们只是触及了LLMS在闭环驾驶中的潜力的皮毛,以强调采用这项技术而不是将LLMS用作驱动剂的好处和机会。我们的愿望是,这项研究将成为学术界和工业界创新和构建基于AGI的自动驾驶系统的催化剂,可以像人类一样驾驶。