社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

像人一样开车,大语言模型建攻自动驾驶!自动驾驶迎来ChatGPT时刻

夕小瑶科技说 • 1 年前 • 249 次点击  
 夕小瑶科技说 原创
 来源 | 智商掉了一地

传统的自动驾驶系统依赖于预先编程的规则和模式,限制了其适应性和灵活性。为了改进自动驾驶技术,研究人员开始尝试使用具有语义理解和生成能力的大型语言模型(LLM),可以通过学习大量文本数据来生成人类类似的语言。

想象一下,你坐在车里等红绿灯,前方有一辆装着交通锥的皮卡穿过十字路口。作为人类驾驶员,你能根据常识判断这些交通锥是皮卡上的货物,而不是道路施工。但对于许多自动驾驶系统来说,这种情况很难处理。开发者可以通过规则或收集车上交通锥的数据来解决这个问题,但遇到地面上标记禁止通行区域的情况时,算法会失败。这就像解决一个问题又遇到另一个问题一样,尤其是在现实世界中很罕见的情况。这就是为什么我们认为传统的自动驾驶系统在性能上面临瓶颈的原因。

最近有项研究提出了一种新方法,用大型语言模型来重新思考自动驾驶技术。作者讨论了使用LLM来模拟人类理解驾驶环境,并分析其在处理复杂情况时的推理、解释和记忆能力。他们认为传统的自动驾驶系统在处理边界情况时存在性能限制。为解决这个问题,提出了一个理想的自动驾驶系统,它能像人类一样通过驾驶经验和常识来解决问题。为了实现这个目标,我们确定了三个关键能力:推理解释记忆。通过构建一个闭环系统,展示了在驾驶场景中使用LLM的可行性,以展示其理解和与环境交互的能力。实验结果表明,LLM展示了令人印象深刻的推理和解决复杂情况的能力,为开发类似人类的自动驾驶系统提供了宝贵的见解。

代码:
https://github.com/PJLab-ADG/DriveLikeAHuman

背景

自动驾驶车辆有两种主要方法:模块化和端到端。

  • 模块化方法是由一些组件组成,处理不同的任务,比如感知、规划和控制。这种方法的好处是模块化和多功能性。但是,调整流程和管理错误可能会有困难。
  • 端到端方法直接将传感器输入映射到规划器或控制器命令。这种方法通常更容易开发,但缺乏可解释性,难以诊断错误、确保安全和遵守交通规则。

最近的研究表明,结合两种方法的优势可以取得更好的结果。然而,在处理长尾数据现实环境中的分布场景时,这两种方法往往会变得脆弱,给安全关键的自动驾驶带来挑战。

在重新思考了自动驾驶的故事之后,作者解释了为什么传统的自动驾驶系统在面对复杂场景时遇到困难。虽然基于优化理论的系统可以将复杂任务分解为子任务,但在处理复杂场景时,优化目标往往陷入局部最优,限制了泛化能力。增加更多数据只能减小当前模型与优化方法的性能差距。这是因为优化过程偏向于学习数据中的主要模式,忽视了罕见的情况。如果不加入常识,模型的能力就无法提升。

此外,在持续的数据收集过程中,总会出现无穷无尽的未知长尾案例。与当前的解决方案相比,这些长尾边缘案例往往令人难以应对,而人类则可以凭借经验和常识轻松解决。所以出现了一个直观的想法:我们是否可以制造出这样一个系统,它可以像人类一样通过持续驾驶来积累经验,而非依靠有限的训练语料库进行拟合

根据最近的研究,以前的模块化自动驾驶系统可以被视为在任务特定语料库上训练的互联网人工智能,而缺乏推理、解释和自我反思等高级智能。作者主张,如果想要获得一个能够像经验丰富的人类驾驶员一样驾驶汽车的智能体,就有必要借鉴体验智能研究的思路。

持续学习是驾驶的另一个重要方面。新手驾驶员在复杂交通情况下通常会小心驾驶,因为他们经验有限。随着时间的推移,他们获得更多经验,遇到新的交通场景,发展新的驾驶技能,并巩固以前的经验,最终成为经验丰富的驾驶员。现有的优化方法通过获取失败案例并重新训练神经网络来模拟持续学习的过程,但这种方法繁琐昂贵且无法实现真正的持续学习。因此,我们需要一种更有效的方法来实现自动驾驶系统的持续学习。

大型语言模型(LLM)的成功让人兴奋,因为它展示了机器学习人类知识的程度。LLM的最新研究表明,在零样本提示和复杂推理、具身化智能研究以及解决关键交通问题方面取得了令人印象深刻的表现。

  • PaLM-E采用微调技术来适应预训练的LLM,以支持多模态提示。
  • Reflexion结合自我反思和思维链提示,进一步增强了智能体的推理能力,生成推理过程和任务特定动作。
  • VOYAGER提出了基于LLM的终身学习机制,包括提示机制、技能库和自我验证。这三个模块旨在增强智能体更复杂行为的发展。生成式智能体利用LLM存储智能体的完整经验记录,并将其综合成更高层次的反思,以规划行为。
  • Instruct2Act引入了一个框架,利用大型语言模型将多模态指令映射到机器人操作任务的顺序动作。

自动驾驶系统设计

人类通过与真实环境的互动学习驾驶,并通过解释、推理和总结各种场景及相应操作的记忆来完善道路感。

  • 归纳推理:由于具有逻辑推理能力,人类驾驶员可以运用常识总结规则,并在更普遍的场景中应用它们。
  • 演绎推理以往的经验可以在潜意识中被唤起,以处理不可预测的情况。

为了实现像人类一样驾驶的目标,确定了系统三种必要的能力:

  1. 推理:在特定的驾驶场景下,模型应该能够通过常识和经验进行决策。
  2. 解释:智能体所做的决策应该能够被解释。这表明了内省的能力和声明性记忆的存在。
  3. 记忆:在推理和解释场景之后,需要一个记忆机制来记住以往的经验,并使智能体在面对类似情况时做出类似的决策。

基于以上三个特点,作者参考了人类学习的方式来设计和简化驾驶系统的规范形式。

图1:(a) 人类驾驶与现有自动驾驶系统之间的关系,特别强调了当前方法的局限性以及为何它们无法解决所有长尾案例。(b) 一个可以像人类一样驾驶的系统的模式。该智能体可以探索和与环境互动,并根据专家的反馈进行自我反思,最终积累经验。

作者提出的基于LLM的方法如图1(b)所示,这个模式包括四个部分:

  1. 环境与智能体进行交互,创造了一个舞台;
  2. 智能体就像一个驾驶员,能够感知环境并根据记忆和专家建议做出决策;
  3. 记忆允许智能体积累经验并执行动作;
  4. 专家在智能体训练时提供建议,并在行为不一致时提供反馈。

具体来说,环境、智能体和专家可以分别表示为真实世界或模拟器、人类驾驶员或驾驶算法,以及模拟器或教练的反馈。

通过一个独立的记忆模块紧密跟随人类的行为。记忆模块只记录与“专家”决策有所偏差的决策场景。专家可以是开发者对LLM决策的评估,也可以是真实世界中人类驾驶员的决策。一旦获得专家反馈,LLM会自我反思,找出决策偏差的原因。然后,它将总结交通情况并将其作为新的记忆添加到内存中,同时附上正确的决策。当再次遇到类似情况时,LLM可以快速检索这个记忆并做出明智的决策。

实验

▲图4: The lane-change decision-making process by GPT-3.5

在图4这个例子中,绿色的车子在最右边的车道上,跟着车辆2并保持一定距离。之前,GPT-3.5判断前车距离太远,所以决定加速跟上车辆2。在开始ReAct过程时,GPT-3.5使用Get_available_action工具获取当前时间步骤的四个可用动作。然后它发现车辆2仍在前方行驶,而且空闲和加速两个动作都是安全的。GPT-3.5最终决定继续加速,因为它“选择与之前决策一致的动作”,就像最终答案中解释的那样。结果,车子缩短了与前车的距离,有助于整体交通流畅。与第一个例子相比,由于引用了之前的决策结果,GPT-3.5使用的工具数量和推理成本显著减少。

对于第二种情况,就是图6(b)所示的情况,交通锥不仅在卡车床上,还散落在地面上。LLaMA-Adapter能够准确地表示出这种情况。虽然与第一种情况有些微小的差异,但GPT-3.5的回答却完全相反。它认为这种情况可能存在潜在的危险,因为卡车周围有锥子散落,并建议自动驾驶汽车的驾驶员减速并保持距离,以避免与这些锥子碰撞。

以上例子展示了LLM在驾驶场景中强大的零-shot理解和推理能力。运用常识知识不仅使LLM能更好地理解场景中的意思,还使其能够做出更合理的决策,更符合人类驾驶行为。因此,拥有常识知识提高了自动驾驶系统的能力上限,使其能够处理未知的特殊情况,并真正接近人类驾驶员的驾驶能力。

总结

受到最近研究的启发,大型语言模型(LLM)具有出色的能力和新技术(指令跟随、上下文学习)。近期工作已证明了LLM在推理、解释和记忆方面的能力。因此,本文尝试初步探索LLM在理解驾驶交通场景方面的能力,并通过一系列实验分析LLM在处理类似长尾边缘情况的场景中的推理、解释和记忆能力。主要贡献如下:

  • 深入研究了如何使自动驾驶系统像人类一样驾驶,以避免在面对长尾边缘情况时发生灾难性遗忘,并总结出了实现像人类一样驾驶的三个关键能力:推理解释记忆
  • 首次展示了在驾驶场景中使用LLM的可行性,并利用其在模拟驾驶环境中的决策能力。
  • 通过广泛的实验,展示了LLM强大的理解能力和解决长尾案例的能力。

以前的自动驾驶系统在处理一些特殊情况时有限制,因为它们容易忘记之前的经验。因此,作者总结了自动驾驶系统应该具备的三种能力,包括推理、解释和记忆。然后,设计了一个新的方法以模仿人类学习驾驶的过程。最后,使用GPT-3.5作为测试平台,展示了它在理解交通场景方面令人印象深刻的能力。作者初步揭示了这种方法在闭环驾驶中的潜力,强调了采用这项技术的好处和机会。

通过训练模型,使其能够理解和模仿人类驾驶的行为和决策过程。这样使自动驾驶系统更智能、更灵活,能够适应各种驾驶场景和情况。

然而,这种方法也面临一些挑战和限制

  • 大型语言模型需要大量计算资源和数据进行训练,可能增加系统的成本和复杂性
  • 模型的性能和准确性可能受到训练数据质量和多样性的限制。

尽管存在着挑战,但利用LLM重新思考自动驾驶技术仍然具有很大潜力。这种方法可以使自动驾驶系统更智能、有适应性,为未来的交通和出行提供更安全和便利的解决方案。希望这项研究能够为促进学术界和工业界创新提供新思路,构建一个像人类一样驾驶的基于AGI的自动驾驶系统。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/161358
 
249 次点击