当前位置: 首页 > news >正文

突破自动驾驶瓶颈!KoMA:多智能体与大模型的完美融合

0.简介

本推文主要介绍了由来自北京航空航天大学的姜克谋、蔡轩和崔智勇教授等共同提出的一种名为KoMA的知识驱动的多智能体框架。论文《KoMA: Knowledge-driven Multi-agent Framework for Autonomous Driving with Large Language Models》提出了KoMA框架,通过结合大语言模型(LLM)和多智能体协作,显著提升了自动驾驶系统在复杂环境下的决策效率与安全性。该框架具备多步骤规划、智能体间共享记忆模块以及基于排名的反思优化机制,可以有效解决单一智能体在泛化能力、协作能力和高效决策方面的不足。

实验结果表明,KoMA框架在高速公路仿真环境中能够更好地适应不同场景的变化,特别是在复杂任务(如匝道并入和车流密度调控)中表现出优越的泛化能力。此外,研究还探索了不同的大语言模型(如GPT3.5、GPT4、Llama3、Llama2等)在框架中的推理表现,为未来构建更强大的知识驱动的自动驾驶系统提供了重要的参考。

本推文由邱雪撰写,审校为黄星宇和许东舟。

论文链接:https://ieeexplore.ieee.org/abstract/document/10745878

代码链接:https://jkmhhh.github.io/KoMA/

 1.背景与挑战

随着自动驾驶技术的快速发展,如何在复杂动态的交通环境中实现高效、安全的车辆控制成为一大核心难题。然而,现有的自动驾驶系统普遍面临以下挑战:

  1. 缺乏多智能体协作能力
    当前大部分自动驾驶框架依赖单一的智能体来完成驾驶任务,这种方法在面对复杂交通环境时,难以有效理解周围交通参与者的行为和意图,导致决策能力受限。
  2. 泛化能力不足
    传统自动驾驶系统依赖于大量特定场景的训练数据,而在未见过的复杂场景中适应能力较弱,容易出现不安全或低效的决策。
  3. 缺乏高效决策与解释能力
    现有方法通常无法快速应对高动态场景中的决策需求,同时对决策背后的逻辑缺乏解释性,使得系统难以被广泛接受。

在这样的背景下,如何引入具有强泛化能力、复杂推理能力以及高效协作能力的多智能体系统成为了自动驾驶领域亟需解决的问题。针对这些挑战,KoMA框架以大语言模型(LLM)为核心,通过多智能体协作与知识驱动的创新模块,提出了一种全新的解决方案,为下一代自动驾驶系统的研发提供了方向。具体如下:

  •  引入大语言模型增强智能体能力

大语言模型(LLM)不仅提升了智能体的推理能力,还提供了强大的泛化能力,能够高效处理复杂场景中的推理和情景描述。

  •  多智能体协作机制

通过多个智能体协作,结合周围环境信息判断其他交通参与者的行为意图,做出更加符合交通规范和实际需求的决策。

  •  多层次规划与决策模块

设计多步骤规划机制,智能体逐层分析环境并逐步做出行动决策,提高了系统应对复杂场景的能力。

  •  共享记忆模块

引入共享记忆机制,使智能体能够积累并共享驾驶经验,有效提升系统的适应性和长期决策水平。

  •  基于排名的反思与优化模块

通过排名机制对智能体的决策进行反思和迭代优化,不断提升框架的整体性能和效率,为复杂动态环境中的自动驾驶提供更强支持。

 2.方法

1 KoMA框架的整体工作流程

图1展示了KoMA框架的整体架构,突出了如何通过多智能体协作与基于大语言模型的决策模块提升自动驾驶系统的效率和适应性。框架的左侧描述了自动驾驶系统所处的环境(Environment,其中蓝色表示周围的环境车辆,绿色表示基于大语言模型(LLM)驱动的智能体车辆。智能体通过环境感知和交互模块,捕获周围车辆的状态信息(如位置、速度和车道位置),并将这些信息生成场景描述,供后续模块进行推理和规划。随后将生成的场景描述传递到解码模块(Decoder,将环境信息解码为语义化的场景描述。这一步是LLM理解环境的核心输入,为后续的智能体规划和决策提供了基础。

智能体在接收到场景描述后,通过多步骤规划模块(Multi-step Planning完成目标制定、计划生成和行动执行。多步骤规划包括三个关键部分:目标制定(Goal确定驾驶目标,如避让车辆或进入目标车道;计划生成(Plan设计具体的路径或行动序列;行动执行(Action将计划转换为具体的驾驶操作并反馈到环境中。此外,多步骤规划模块还包含交互机制(Interaction Interface,智能体能够分析和理解其他交通参与者的行为意图,从而协作完成更符合交通规范的决策。

为了提升系统的适应性和长期决策性能,框架引入了基于记忆的增强模块(Memory-based Enhancement。智能体共享一个记忆库(Shared Memory,用于存储经验数据,包括成功经验(Success Experience修正经验(Revised Experience。这些记忆数据通过向量化(Embedding)进行高效存储和检索。在 反思模块(Evaluation-Reflection中,智能体通过分析过去的经验并对决策进行优化,具体步骤包括重新规划(Replanning)、生成新行动(New Action)和总结经验(Summarizing)。优化后的新经验被存入记忆库,为未来决策提供支持。

整个框架形成了一个从感知、规划、行动、反思、优化的闭环流程。智能体通过规划与行动与环境实时交互,并结合反思机制提升决策质量。共享记忆模块显著增强了智能体的泛化能力,而多步骤规划和交互机制确保了智能体在动态交通环境中的实时响应与安全决策。KoMA框架为解决复杂交通场景提供了一种创新且高效的方案。

 3.实验结果 

2 KoMA0次(无记忆项)、20次(284个记忆项)和40次(624个记忆项)训练轮次后的性能,与MARL0次、20,000次和40,000次训练轮次后的性能进行比较

图2展示了KoMA框架与传统多智能体强化学习框架(MARL)在不同轮训练阶段的成功率对比,KoMA框架在训练后期表现出更强的适应性和协作能力,反映了基于记忆增强的KoMA框架在处理多智能体协作任务中的显著优势。

3 在初始场景中,使用不同记忆模块进行测试的实验结果,分别在训练 20 轮和 40 轮后进行评估

图3展示了不同记忆模块对KoMA框架在训练过程中的成功率影响,结果表明共享记忆机制显著优于无记忆和非共享记忆机制。在训练20轮和40轮后,共享记忆的成功率分别达到50%和70%,远超其他两种方法。共享记忆通过智能体之间的经验共享,显著提升了系统的学习效率、协作能力和泛化能力,为解决复杂动态场景提供了更高效的支持。

4 经过40轮训练后,在测试成功的场景中的平均效率得分和安全得分

图4展示了在训练40轮后,是否采用多步骤规划(Multi-step Planning)对效率得分(Efficiency Score)和安全得分(Safety Score)的影响。结果显示,采用多步骤规划的情况下,效率得分从9.13提升至9.45,安全得分从9.27提升至9.92。这表明多步骤规划能够有效优化智能体的行动决策,显著提升任务执行的效率和安全性。

5 在有记忆和无记忆的情况下,对不同泛化场景的实验结果进行了评估(该记忆已在一条两车道的主巷道上进行了训练。)

图5比较了在单车道和三车道主干道场景下,是否采用记忆机制对成功率的影响。结果显示,在单车道场景中,采用记忆机制的成功率从40%显著提升至90%;在三车道场景中,成功率从50%提升至70%。这表明记忆机制能够有效帮助智能体积累和利用经验,在不同复杂场景中显著提高决策成功率,尤其是在更简单的单车道场景中提升效果更为显著。

6 在初始场景中经过40轮训练的记忆,其泛化能力在环岛场景中进行了专门测试

图6展示了在初始场景和扩展至环岛场景中,使用初始场景记忆与无记忆机制的成功率对比。结果表明,在初始场景中,使用记忆的成功率从30%显著提升至 70%;在环岛场景中,成功率从60%提升至80%。这表明基于初始场景训练的记忆不仅能有效提升当前任务的成功率,还能增强智能体在新场景中的泛化能力,从而提升复杂环境下的适应性。

1 不同LLMsKoMA框架下训练02040轮后的实验的成功率

表1展示了在KoMA框架中,使用不同的大语言模型经过0、20和40轮训练后的成功率。结果显示,GPT4在所有阶段的表现最优,成功率从初始的30%提升至70%。相比之下,GPT3.5、Llama3、Llama2和Qwen2的最终成功率分别为35%、40%、35%和40%。这些数据表明,模型的推理能力显著影响KoMA框架的性能,其中GPT4展现了最佳的学习能力和泛化性能。

2 KoMA框架下对不同LLMs的推理时间进行统计分析

表2对不同的大语言模型在KoMA框架中的推理时间进行了统计分析,结果显示,GPT4的推理时间最长,平均时间为17.49秒,最大时间为19.86秒,相比之下,Llama系列模型的推理时间较短,其中Llama2平均时间最少,仅为7.49秒。这表明不同模型的推理能力存在显著差异,其中Llama2在推理效率方面表现优越,而GPT4尽管推理时间较长,但可能更适合对高精度要求的任务。

 4.总结

KoMA框架通过结合大语言模型与多智能体协作,为自动驾驶任务带来了显著的性能提升。实验结果表明,共享记忆机制、多步骤规划、以及基于排名的反思优化模块在提高模型的效率和泛化能力方面发挥了关键作用。尤其是结合GPT4等强大模型时,KoMA在复杂场景中的决策成功率和安全性均达到领先水平。同时,不同LLMs的推理效率差异也表明了技术选择的重要性,Llama2等模型在效率上表现优越,而GPT4则在性能上具备更强的优势。

未来,KoMA的方法可扩展至更多动态场景和多智能体任务,例如智能交通管理、无人配送等,为自动驾驶技术和多智能体协作领域的发展提供了新的方向和启示。

相关文章:

突破自动驾驶瓶颈!KoMA:多智能体与大模型的完美融合

0.简介 本推文主要介绍了由来自北京航空航天大学的姜克谋、蔡轩和崔智勇教授等共同提出的一种名为KoMA的知识驱动的多智能体框架。论文《KoMA: Knowledge-driven Multi-agent Framework for Autonomous Driving with Large Language Models》提出了KoMA框架,通过结…...

YOLO入门教程(三)——训练自己YOLO11实例分割模型并预测【含教程源码+一键分类数据集 + 故障排查】

目录 引言前期准备Step0 环境部署1.安装OpenCV2.安装Pytorch3.安装Ultralytics Step1 打标训练Step2 格式转换Step3 整理训练集Step4 训练数据集4.1创建yaml文件4.2训练4.3预测4.4故障排查4.4.1OpenCV版本故障,把OpenCV版本升级到4.0以上4.4.2NumPy版本故障&#xf…...

【加入默语老师的私域】C#面试题

什么是依赖注入,如何实现? 依赖注入是一种设计模式。我们不是直接在另一个类(依赖类)中创建一个类的对象,而是将对象作为参数传递给依赖类的构造函数。它有助于编写松散耦合的代码,并有助于使代码更加模块…...

称重传感器指示器行业全面且深入的分析

称重传感器指示器是一种用于显示和解释称重传感器输出信号的设备,用于测量力、重量或压力。称重传感器是将物理力(如重量)转换为电信号的传感器,称重传感器指示器将该电信号转换为可读格式,通常以磅、公斤或牛顿等单位…...

NAT网络地址转换——Easy IP

NAT网络地址转换 Tip: EasylP没有地址池的概念,使用接口地址作为NAT转换的公有地址。EasylP适用于不具备固定公网IP地址的场景:如通过DHCP, PPPOE拨号获取地址的私有网络出口,可以直接使用获取到的动态地址进行转换。 本次实验模拟nat协议配置 AR1配置如下&…...

【Visual Studio系列教程】如何在 VS 上编程?

上一篇博客中,我们介绍了《什么是 Visual Studio?》。本文,我们来看第2篇《如何在 VS 上编程?》。阅读本文大约10 分钟。我们会向文件中添加代码,了解 Visual Studio 编写、导航和了解代码的简便方法。 本文假定&…...

Mybatis-Plus 多租户插件属性自动赋值

文章目录 1、Mybatis-Plus 多租户插件1.1、属性介绍1.2、使用多租户插件mavenymlThreadLocalUtil实现 定义,注入租户处理器插件测试domianservice & ServiceImplmapper 测试mapper.xml 方式 1.3、不使用多租户插件 2、实体对象的属性自动赋值使用1. 定义实体类2. 实现 Meta…...

AWTK-WIDGET-WEB-VIEW 实现笔记 (4) - Ubuntu

Ubuntu 上实现 AWTK-WIDGET-WEB-VIEW 开始以为很简单,后来发现是最麻烦的。因为 Ubuntu 上的 webview 库是 基于 GTK 的,而 AWTK 是基于 X11 的,两者的窗口系统不同,所以期间踩了几个大坑。 1. 编译 AWTK 在使用 Linux 的输入法时…...

Python入门(7)--高级函数特性详解

Python高级函数特性详解 🚀 目录 匿名函数(Lambda)装饰器的使用生成器与迭代器递归函数应用实战案例:文件批处理工具 1. 匿名函数(Lambda)深入解析 🎯 1.1 Lambda函数基础与进阶 1.1.1 基本…...

【数据库原理】理解数据库,基础知识

第一代:网状数据库;第二代:关系数据库;第三代:新一代数据库系统BigData 一、理解数据库 什么是数据:信息,对事物的存在方方式、运动状态及特征的描述。数据,记录信息的识别方式有数…...

VConsole——(H5调试工具)前端开发使用于手机端查看控制台和请求发送

因为开发钉钉H5微应用在手机上一直查看不到日志等,出现安卓和苹果上传图片一边是成功的,一边是失败的,所以找了这个,之前在开发微信小程序进行调试的时候能看到,之前没想到过,这次被人提点发现可以单独使用…...

论文分享 | FuzzLLM:一种用于发现大语言模型中越狱漏洞的通用模糊测试框架

大语言模型是当前人工智能领域的前沿研究方向,在安全性方面大语言模型存在一些挑战和问题。分享一篇发表于2024年ICASSP会议的论文FuzzLLM,它设计了一种模糊测试框架,利用模型的能力去测试模型对越狱攻击的防护水平。 论文摘要 大语言模型中…...

vmWare虚拟环境centos7安装Hadoop 伪分布式实践

背景:近期在研发大数据中台,需要研究Hadoop hive 的各种特性,需要搭建一个Hadoop的虚拟环境,本来想着使用dock ,但突然发现docker 公共仓库的镜像 被XX 了,无奈重新使用vm 搭建虚拟机。 大概经历了6个小时完…...

【C++入门(一)】半小时入门C++开发(深入理解new+List+范围for+可变参数)

目录 一.深入理解new 使用格式 二.List列表 定义一个列表 迭代器 添加元素 删除元素 排序 反转序列 三.范围for 四.可变参数 std::initializer_list 可变参数模板(variadic template) 一.深入理解new 类似于C语言中的malloc、calloc和reallo…...

Vue 3与TypeScript集成指南:构建类型安全的前端应用

在Vue 3中使用TypeScript,可以让你的组件更加健壮和易于维护。以下是使用TypeScript与Vue 3结合的详细步骤和知识点: 1. 环境搭建 首先,确保你安装了Node.js(推荐使用最新的LTS版本)和npm或Yarn。然后,安…...

MATLAB和Python发射光谱

在MATLAB和Python中,可以使用不同的库来生成发射光谱。以下是两种语言的简单示例: MATLAB: % 定义波长(nm)和强度(a.u.) wavelengths linspace(300, 1000, 1000); intensity sin(wavelengths / 500);…...

IEEE(常用)参考文献引用格式详解 | LaTeX参考文献规范(IEEE Trans、Conf、Arxiv)| 期刊会议名缩写查询

期刊 ** 期刊:已正式出版(有期卷号) ** 期刊:录用后在线访问即Early access(无期卷号)会议Arxiv论文 期刊 期刊:已正式出版(有期卷号) article{gu2024ai, title{{AI}-Enhanced Cloud-Edge-Terminal Collaborative Ne…...

第二十周:机器学习

目录 摘要 ABSTRACT 一、吴恩达机器学习exp2——逻辑回归 1、logistic函数 2、数据预处理 3、损失函数 4、梯度下降 5、设定评价指标 6、决策边界 7、正则化 二、动手深度学习pytorch——数据预处理 1、数据集读取 2、缺失值处理 3、转换为张量格式 总结 摘要…...

Elasticsearch面试内容整理-Elasticsearch 基础概念

Elasticsearch 是一个基于 Apache Lucene 的开源分布式搜索和分析引擎,提供强大的全文本搜索、实时数据分析、分布式存储等功能。以下是 Elasticsearch 的一些基础概念: 什么是 Elasticsearch? ● Elasticsearch 是一个用于全文搜索和实时分析的分布式搜索引擎。 ● 开源和可…...

机器学习算法模型系列——Adam算法

Adam是一种自适应学习率的优化算法,结合了动量和自适应学习率的特性。 主要思想是根据参数的梯度来动态调整每个参数的学习率。 核心原理包括: 动量(Momentum):Adam算法引入了动量项,以平滑梯度更新的方向…...

Qt按钮类-->day09

按钮基类 QAbstractButton 标题与图标 // 参数text的内容显示到按钮上 void QAbstractButton::setText(const QString &text); // 得到按钮上显示的文本内容, 函数的返回就是 QString QAbstractButton::text() const;// 得到按钮设置的图标 QIcon icon() const; // 给按钮…...

基于xr-frame实现微信小程序的手部、手势识别3D模型叠加和石头剪刀布游戏功能

前言 xr-frame是一套小程序官方提供的XR/3D应用解决方案,基于混合方案实现,性能逼近原生、效果好、易用、强扩展、渐进式、遵循小程序开发标准。xr-frame在基础库v2.32.0开始基本稳定,发布为正式版,但仍有一些功能还在开发&#…...

基于Kafka2.1解读Consumer原理

文章目录 概要整体架构流程技术名词解释技术细节coordinatorfetcherclientconsumer#poll的主要流程 全局总览小结 概要 继上一篇讲Producer原理的文章过去已经一个多月了,今天来讲讲Consumer的原理。 其实源码早就读了部分了,但是最近工作比较忙&#x…...

深度学习:ResNet每一层的输出形状

其中 /**在输出通道数为64、步幅为2的7 7卷积层后,接步幅为2的3 3的最大汇聚层,与GoogLeNet区别是每个卷积层后增加了批量规范层**/ b1 nn.Sequential(nn.Conv2d(1, 64, kernel_size7, stride2, padding3),nn.BatchNorm2d(64), nn.ReLU(),nn.MaxPool2d(kernel_s…...

国内几大网络安全公司介绍 - 网络安全

Posted by zhaol under 安全 , 电信 , 评论 , 中国 中国国内的安全市场进入“战国时期”,启明星辰、绿盟、天融信、安氏、亿阳、联想网御、华为等战国七雄拥有雄厚的客户资源和资金基础,帐前皆有勇猛善战之士,渐渐开始统领国内安全市场的潮流…...

修改Android Studio项目配置JDK路径和项目Gradle路径的GUI工具

概述 本工具提供了一个基于Python Tkinter的图形用户界面(GUI),用于帮助用户搜索并更新Android Studio项目中的config.properties文件里的java.home路径,以及workspace.xml文件中的last_opened_file_path路径。该工具旨在简化手动…...

✅DAY30 贪心算法 | 452. 用最少数量的箭引爆气球 | 435. 无重叠区间 | 763.划分字母区间

452. 用最少数量的箭引爆气球 解题思路:首先把原数组按左边界进行排序。然后比较[i-1]的右边界和[i]的左边界是否重叠,如果重叠,更新当前右边界为最小右边界和[i1]的左边界判断是重叠。 class Solution:def findMinArrowShots(self, points:…...

关于Redis单线程模型以及IO多路复用的理解

IO多路复用 -> redis主线程 -> 事件队列 -> 事件处理器 1.IO多路复用机制的作用: 操作系统的多路复用机制(如 epoll、select)负责监听多个文件描述符(如客户端连接)上的事件。 当某个文件描述符上的事件就绪…...

学习ASP.NET Core的身份认证(基于Cookie的身份认证1)

B/S架构程序可通过Cookie、Session、JWT、证书等多种方式认证用户身份,虽然之前测试过用户登录代码,也学习过开源项目中的登录认证,但其实还是对身份认证疑惑甚多,就比如登录验证后用户信息如何保存、客户端下次连接时如何获取用户…...

奇门遁甲中看债务时用神该怎么取?

奇门遁甲中看债务的用神 一、值符 值符在债务关系中可代表债权人(放贷人)。例如在预测放贷时,以值符为放贷人,如果值符克天乙(借贷人)或者天乙生值符,这种情况下可以放贷;反之&#…...

哪里可以免费做网站/神马站长平台

题意&#xff1a;就是一个快速排序&#xff0c;理解快速排序就没啥了&#xff1b; 代码&#xff1a; #include <stdio.h>void swap(int a[], int i, int j) {int t a[i];a[i] a[j];a[j] t; }int partition(int a[], int p, int r) {int i p;int j r 1;int x a[p…...

网站制作动态/无锡网站建设公司

MFC程序的默认的标题是“无标题-title”&#xff0c;其中title是应用程序的名称&#xff0c;我们应如何修改MFC窗口标题来符合自己的要求&#xff1f;MFC程序的文档类中定义了一个虚函数SetTitle,用于设置窗口标题的前半部分&#xff0c;如果只是要修改“无标题”部分&#xff…...

福建建筑人才网档案关联/哈尔滨网络推广优化

原标题&#xff1a;安卓电视/盒子很卡很慢原因及解决方法安卓电视以及机顶盒跟手机一样&#xff0c;在使用时间久了就会出现一些卡顿的现象&#xff0c;今天小编帮大家总结了一些导致安卓电视、盒子卡顿的原因&#xff0c;并且根据这些原因提出解决的办法&#xff0c;总有一个解…...

怎么打造自己的网站/长沙网站制作费用

httprunner3.x版本的接入了pytest框架&#xff0c;所以可以使用pytest所有的插件&#xff1b;对比httprunner2.x的报告展示各有优缺点&#xff0c;个人觉得2.x的报告还是挺不错的&#xff0c;看起来也很舒服的。 测试报告生成&#xff1a; 首先就是html报告&#xff1a;这个插…...

金融行业网站制作/卢松松外链工具

return [// 默认使用的数据库连接配置default > env(database.driver, mysql),// 自定义时间查询规则time_query_rule > [],// 自动写入时间戳字段// true为自动识别类型 false关闭// 字符串则明确指定时间字段类型 支持 int timestamp datetime dateauto_timestamp >…...

网站前端做报名框/购买友情链接网站

问答题请完成下列Java程序&#xff1a;假设某家银行&#xff0c;它可接受顾客的汇款&#xff0c;每做一次汇款&#xff0c;便可计算出汇款的总额。现有两个顾客&#xff0c;每人都分3次&#xff0c;每次将50元钱汇入。编写一个程序&#xff0c;模拟实际作业。要求实现2个类&…...