【新能源时代!看大模型(LLMs)如何助力汽车自动驾驶!】

文末有福利!

引言

本文主要介绍大模型(LLMs)如何助力汽车自动驾驶,简单来说,作者首先带大家了解大模型的工作模式,然后介绍了自动驾驶大模型的3大应用场景,最后指出自动驾驶大模型将会是未来的发展趋势,只要坚持,国内新能源造车新势力还是很有机会的。本文没有深入讲解算法架构,而是化繁为简,能够让您很快的对自动驾驶大模型有个较为全面的理解。

除此之外,作者也整理了自动驾驶大模型相关的论文,回复:自动驾驶****LLM 可自行获取。

背景介绍

青霉素发现之前,科学家们的研究方向是在无菌实验室中不断的试错,旨在希望通过传统的医学方法来解决复杂的问题。然而,一个偶然的事件却改变了事件的发展,苏格兰医生弗莱明忘记关闭培养皿,导致培养皿被霉菌污染。这时,弗莱明注意到了一些奇怪的事情:所有靠近水分的细菌都死了,而其他细菌则幸存下来。

其中的水分到底是由什么构成的呢?带着这个一文,弗莱明发现霉菌的主要成分青霉素是一种强大的细菌杀手,从此人类发现青霉素的作用,从而产生了我们今天使用的抗生素。反过来想,如果一个医生按照传统的医学方法在无菌实验室里进行研究,青霉素的发现或许还要晚上很多年,甚至有可能也发现不了。

那么,汽车的自动驾驶是否也有可能出现类似的事情呢?前几年的汽车自动驾驶大多都是基于所谓的“模块化”构建,其主要包括感知模块、定位模块、规划模块、控制模块等,这里的控制模块会根据其他模块的信息来实现汽车的转向、变道等功能。如下图所示:

随着模型框架的发展,研究人员提出了端到端学习,核心思想是用预测转向和加速度的单个神经网络替换每个模块,这同样会引入黑盒问题,尽管如此仍然无法解决自动驾驶问题。那么近两年快速发展的大语言模型能否成为实现自动驾驶的答案呢?为此,本文将探讨大模型如何助力汽车自动驾驶

LLM概述

简单来说,大模型主要包含Token化Transformer文本生成三大概念。其中:

「Token化」:给大模型输入一个文本,返回也是一个文本。但实际上是需要将输入文本转换成Token。那么什么是Token呢?简单来说一个Token可对应一个单词、一个字符、一个短句等。神经网络的输入始终是数字,因此您需要将文本转换为数字;这就是Token化。如下图所示:

「Transformer」:将输入文本转换成一个个的Token之后,就要将其输入到神经网络中,目前大部分的模型的基础网络架构都是Transformer,如下图所示。下图展示的是Encode-Decode架构的模型,不过现在大多数大模型都是Decode架构,例如GPT、LIaMA、ChatGLM等。不管怎样,它们都共享核心 Transformer 模块:多头注意力、层归一化、加法和串联、块、交叉注意力等…


在这里插入图片描述

「文本生成」 当上述Token进入Transformer网络中,文本是如何一个一个的生成的呢?如上图,编码器主要是学习输入文本特征并理解上下文,解码器主要是试图生成一个一个的单词,当然在一个一个单词生成的过程中主要依赖概率来进行判断输出。如下图所示:

LLM赋能自动驾驶

基于上面对LLM基本原理的介绍,那么它该如何应用到自动驾驶中呢?上面是将文本数据输入到模型架构中,在此场景下,这里将图像、传感数据(激光雷达点云、3D图像点云等)、算法数据(车道线、障碍物等)等转换成Token作为模型输入,模型架构基本上无需进行变动。输出则是基于我们想要汽车驾驶操作,例如当传感器检测到前面有车,左侧后方无车辆,可以左侧进行变道操作。

以上变道只不过是LLMs任务中的一种,除此之外LLM还能解决哪些自动驾驶任务呢?结合目前国内新能源汽车最新发展趋势,主要涉及这几个方面:

「环境感知」:在此情况下,输入通常是一系列的图像,例如最新的特斯拉取消的激光雷达采用全视觉感知,输出通常是一组对象,例如显示屏中模拟的车道、行人、障碍物等。就大模型而言,其主要有3个核心任务:检测、预测和跟踪。如下图所示,将车辆行驶图像输入到ChatGPT中,可以要求其描述发生的状况:

不单单是ChatGPT,其他的模型同样可以做到,例如 HiLM-D 、MTD-GPT ,有的模型(例如PromptTrack)甚至可以为目标分配唯一的ID标识。

在上图PromptTrack模型中,多个传感器图像会被发送到Encoder-Decoder网络中,通过该网络可以预测对象注释(如3D边界框和注意图),然后结合LLM提示“找到正在右转的车辆”,接着下一个块会找到 3D 边界框定位,并使用二分图匹配算法分配 ID。

「决策规划」 如果大模型在图像中发现了目标,那么它会告诉你面对该种情况该如何操作。这就是任务规划,即根据当前感知来规划从A到B的路径,当前在这块做的较好模型为Talk2BEV。除此之外,为了方便驾驶人更好的理解周围的环境,模型会结合多个视图生成鸟瞰视图。

如上图所示,这并不是纯粹基于“提示”,因为核心目标检测模型仍然是鸟瞰感知,但是LLM被用来“增强”输出,通过建议一些区域,查看特定的地方,并预测路径。

其他模型(例如 DriveGPT)经过训练,将 Perception 的输出发送到 Chat-GPT 并对其进行微调,以直接输出驾驶轨迹。如下图所示:

总结一下,结合上面我们对大模型的理解,这里的大模型(LLMs)输入是Token化的图像或者是感知算法的输出,然后将现有模型(BEV 感知、二分匹配……)与语言提示融合在一起,让大模型来寻找正在移动的车辆,最后,根据不同场景任务,根据输入数据对大模型进行细致的微调即可。

「图像生成」 您听说过 Wayve 的 GAIA-1 模型吗?该架构将图像、动作和文本提示作为输入,然后使用世界模型(对世界及其交互的理解)来生成视频,其模型架构如下所示:

类似地,您可以看到 MagicDrive,它将 Perception 的输出作为输入并使用它来生成场景:

还有一些模型能够根据当前的图像,生成未来可能的场景,例如:Driving Into the Future 、Driving Diffusion。根据这类模型,可以生成很多的汽车应用场景数据,进而可以训练出更好的模型,形成模型都迭代优化闭环

自动驾驶LLM可信吗?

我们都知道,大模型当面对自己不了解的现实知识时,有很大概率会出现模型幻觉。那么将其应用到自动驾驶方面是否同样会出现类似的情况,答案是肯定的。

不过现在对自动驾驶LLM下定论也为时过早!因为,ChatGPT出现才不到一年半的时间,现在的大模型已经可以实现视频生成(例如Sora)、音乐生成(例如:Stable Audio 2.0、Prompt-Singer等),且效果惊人,未来的自动驾驶大模型也将会乘风破浪,成为自动驾驶的主流核心技术。紧跟技术迭代更新,只要坚持,国内新能源造车新势力还是很有机会的。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/777478.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浏览器怎么抓包?Wireshark详细教程奉上!

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…

Android 添加LBS辅助定位

1.软件需求: 某Android设备没有sim卡但其支持定位,客户需求为在已有的Android中添加LBS网络定位,用以辅助gps定位。 2.思路分析 首先看到这个需求笔者是比较懵逼的,秉持着客户是上帝的原则,笔者首先先了解了一下什么…

【深海王国】小学生都能玩的语音模块?ASRPRO打造你的第一个智能语音助手(7)

Hi~ (o^^o)♪, 各位深海王国的同志们,早上下午晚上凌晨好呀~ 辛勤工作的你今天也辛苦啦(/≧ω) 今天大都督继续为大家带来系列——小学生都能玩的语音模块,帮你一周内快速学会语音模块的使用方式,打造一个可用于智能家居、物联网领域的语音助…

通过SDK使用百度智能云的图像生成模型SDXL

登录进入百度智能云控制台,在模型广场按照图像生成类别进行筛选,可以找到Stable-Diffusion-XL模型。点击Stable-Diffusion-XL模型的API文档后在弹出的新页面下拉可以找到SDK调用的说明。 import qianfandef sdxl(file: str, prompt: str, steps: int 2…

商品分页,商品模糊查询

一、商品分页 引入分页 定义分页主件的参数 在请求url上拼接参数 定义改变当前页码后触发的事件,把当前页码的值给到分页表单,重新查询 二、商品查询(以商品的名称查询name为例) 引入elementplus的from表单组件 定义一个FormData…

Spring源码十二:事件发布源码跟踪

上一篇我们在Spring源码十一:事件驱动中,介绍了spring refresh方法的initMessageSource方法与initApplicationEventMulticaster方法,举了一个简单的例子进行简单的使用的Spring为我们提供的事件驱动发布的示例。这一篇我们将继续跟踪源码&…

创建React项目

使用 create-react-app快速搭建开发环境 create-react-app 是一个快速创建React开发环境的工具,底层由Webpack构建,封装了配置细节,开箱即用。 安装npx npx是一个由Node.js官方提供的用于快速执行npm包中的可执行文件的工具,np…

如何给gitlab其他访问者创建账号并增加权限

嗨,今天创建了项目之后,我想把项目链接发送给其他人,让他下载这个项目,结果发现对方打开显示登录的界面,没错,他要想使用这个git下载项目,首先他的有一个git账号 接下来我找有权限的相关人员给他…

C语言之常用内存函数以及模拟实现

目录 前言 一、memcpy的使用和模拟实现 二、memmove的使用和模拟实现 三、memset的使用和模拟实现 四、memcmp的使用和模拟实现 总结 前言 本文主要讲述C语言中常用的内存函数:memcpy、memmove、memset、memcmp。内容不多,除了了解如何使用&#x…

前端根据目录生成模块化路由routes

根据约定大于配置的逻辑,如果目录结构约定俗成,前端是可以根据目录结构动态生成路由所需要的 route 结构的,这个过程是要在编译时 进行,生成需要的代码,保证运行时的代码正确即可 主流的打包工具都有对应的方法读取文…

在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——聚合与搜索(三)

#在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——聚合与搜索(三) 前言 文章目录 前言- 聚合和分析- 执行聚合操作- 1. 使用Java API执行聚合操作- 2. 使用CURL命令执行聚合操作- 1. 使用Java API执行度量操作- 2. 使用CURL命令执…

Java——继承(Inheritance)

一、继承简要介绍 1、继承是什么 在Java中,继承是一种面向对象编程的重要特性,它允许一个类(子类或派生类)继承另一个类(父类或基类)的属性和方法。继承的目的是实现代码的重用和设计的层次化。 子类通常…

探索LlamaIndex:如何用Django打造高效知识库检索

简介 LlamaIndex(前身为 GPT Index)是一个数据框架,为了帮助我们去建基于大型语言模型(LLM)的应用程序。 主要用于处理、构建和查询自定义知识库。 它支持多种数据源格式 excel,txt,pdf&…

DaViT(ECCV 2022,Microsoft)

paper:DaViT: Dual Attention Vision Transformers official implementation:https://github.com/dingmyu/davit third-party implementation:https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/davit.py 出发点…

独家揭秘!格行随身WiFi‘骄傲’宣言背后的震撼行业的真相!随身WiFi行业内黑马

近几年以来,随行WiFi产品呈现爆发式增长,随行WiFi的火爆,是技术进步带给消费者的一种“福利”,各大直播间也充斥着品牌各异的随身WiFi。但真正脱颖而出、赢得消费者信赖的优质品牌却凤毛麟角。而其中最受欢迎的格行随身WiFi也因设…

Java语言+后端+前端Vue,ElementUI 数字化产科管理平台 产科电子病历系统源码

Java语言后端前端Vue,ElementUI 数字化产科管理平台 产科电子病历系统源码 Java开发的数字化产科管理系统,已在多家医院实施,支持直接部署。系统涵盖孕产全程,包括门诊、住院、统计和移动服务,整合高危管理、智能提醒、档案追踪等…

Stream练习

运用点&#xff1a; 流内数据类型转换(map)、filter、limit、skip、concat(让两个流合并) 题目&#xff1a; 操作1、2&#xff1a; ArrayList<String> manList new ArrayList<>();ArrayList<String> womanList new ArrayList<>();Collections.addAl…

C++之static关键字

文章目录 前提正文多重定义extern关键字使用staticstatic 全局变量(在.cpp文件中定义)static变量存放在哪里static变量可不可以放在.h文件中 static 函数static局部变量static 成员变量static 成员函数 总结参考链接 前提 好吧&#xff0c;八股&#xff0c;我又回来了。这次想…

8.14 矢量图层面要素2.5D渲染

文章目录 前言2.5D渲染QGis设置面符号为2.5D二次开发代码实现2.5D 总结 前言 本章介绍矢量图层面要素2.5D渲染的使用说明&#xff1a;文章中的示例代码均来自开源项目qgis_cpp_api_apps 2.5D渲染 2.5D渲染可以将多边形渲染为类3D效果。 QGis设置面符号为2.5D 以"hou…

数据库7.4

第二次作业 1.登陆数据库 2.创建数据库zoo 3.修改数据库zoo字符集为gbk 4.选择当前数据库为zoo 5.查看创建数据库zoo信息 6.删除数据库zoo C:\Windows\System32>mysql -uroot -p20040830Nmx mysql> create database zoo; alter database zoo character set gbk; mys…