编辑推荐: |
本文主要对自动驾驶终极解决方案--“端到端”技术当前发展现状做了一下总结。
希望对你的学习有帮助。
本文来自于微信公众号雪岭飞花,由火龙果软件Linda编辑,推荐。 |
|
端到端系统示意,图片来源:网络
自动驾驶近些年来发展明显提速,2021年BEV+Transformer提出,2022年Occupancy占据网络迅速流行,2023年以来,“端到端”又成为人们关注的焦点。
发展之快,令人目不暇接。
图片来源:国投证券
2023年6月,UniAD(Unified Autonomous Driving)获CVPR2023最佳论文,UniAD将所有所有模块通过神经网络“隐性连接”,大模型从传感输入贯穿到控制输出,实现了“端到端”自动驾驶解决方案。
图片来源:商汤绝影
2024年3月12日,特斯拉的FSD V12.3推出,该版本删除了几十万行的人工规则代码,采用了“端到端”自动驾驶解决方案。该版本对于复杂场景的应对能力大幅提升,实现了丝滑平顺的拟人化驾驶体验,产品性能获得广泛好评。
图片来源:X@EdgeCase,X@AIDriver,X@FSDdreams
2024年上半年以来,“端到端”逐渐成为行业关注的热点,国内几乎所有的自动驾驶头部企业,都发布了自己的“端到端”方案和上车计划。
本文结合目前最新信息,对于“端到端”技术当前发展现状尝试做一下总结,供各位参考。
分为上下两篇:
本篇是第一篇,主要内容:
“端到端”的定义和类型;
“端到端”的主要优势;
“端到端”的核心开发技术;
第二篇介绍目前主流玩家的“端到端”方案,包括:
主机厂:特斯拉、蔚来、小鹏、理想、奔驰、零一汽车等;
自动驾驶方案商:华为、百度、商汤绝影、Momenta、元戎启行等;
芯片/模型公司:英伟达、地平线、Wavye、comma.ai、光轮智能、极佳科技等;
01
概览
1. “端到端”的定义
自动驾驶诞生以来,伴随着神经网络的进化,自动驾驶算法也几经迭代,从基于规则逐步转向基于神经网络,从小规模/模块化的算法走向基于大规模神经网络。
目前业内尚未就“端到端”的准确概念达成统一认识。一般而言,“端到端”自动驾驶是指,控制系统读取原始传感器的数据输入,仅通过神经网络直接计算出控制指令,而其中不包含任何人为设计的规则模块。
“端到端”架构和传统的模块化架构的对比如下:
图片来源:《Recent Advancements in End-to-End Autonomous
Driving using Deep Learning: A Survey》
2. “端到端”的类型
参考辰韬资本在报告《端到端自动驾驶行业研究报告》中的观点,自动驾驶架构的演进可以分为4个主要阶段:
图片参考:辰韬资本
第1阶段:感知模型化
感知模块采用多传输器融合的BEV技术,引入transformer以及跨传感器的cross attention方案,实现较高的感知精度及稳定性。
目前大多数自动驾驶公司均处在该阶段。
第2阶段:规控模型化
该阶段将预测/决策/规划模块采用神经网络实现,整个架构分为感知和规控两个模型。两个模型的接口依然为人类定义的显式形式,它们之间的信息传递存在信息损失,每个模型的训练和优化局限在模块自身,可以分别实现局部最优,但是很难做到全局最优。
目前有部分头部自动驾驶公司,已经在尝试进入该阶段。
第3阶段:多模块端到端
在该阶段中,感知和规划模块之间的接口不再是人类定义的显式形式,而替换为隐式传递的特征向量。
多模块端到端保证了信息传递的完整性,并且由于可以实现跨模块的梯度传导,可以将所有模型同时训练,从而可以达到全局最优。例如,UniAD架构是较为典型的多模块端到端架构。
第4阶段:“One Model”端到端
在该阶段中,不再有感知、决策规划等模块的明确划分,从原始信号输入到最终规划轨迹的输出,采用一个深度学习模型,即“One
Model”。
“One Model”端到端可以将传感器检测到的所有信息,完整无损地地应用于自动驾驶,模型可以实现更好的泛化效果,在性能上具有最高的天花板。被业内普遍认为是自动驾驶架构发展的终极形态。
笔者认为,在上述4个阶段中,只有第3和第4阶段,才算是真正意义上的“端到端”。本文下述内容所提到的“端到端”也指的是这两个阶段的模型。
02
“端到端”的优势
1. 信息无损传递
信息的无损传递是“端到端”架构的关键优势。
1)有损传递
想象一种场景,一辆车有两个驾驶员,其中主驾驶员眼睛被蒙住,只负责操作;另一个副驾驶员负责观察路面,由他来告诉主驾驶员前方有什么。
此时,两个驾驶员之间采用人类语言进行沟通,例如,副驾驶的驾驶员会告诉主驾驶员,自车前面右方30°方向,距离15米有一辆宽2米的小车,速度是35kph,左侧60°,距离5米,有一个行人正在横穿马路......
主驾驶员蒙着眼睛基于此,进行开车......
很难想象,这种方式能达到什么样的开车体验。
传统独立模块的自动驾驶架构,控制原理就是类似于这种开车方式。上面这种类似两位驾驶员语言交流的信息传递方式,即为信息的显式表达。
模块化算法以人类定义的抽象信息作为信号接口,例如,感知模块将外部的汽车、行人、道路等元素简化为检测框(Bounding
box)、占用栅格和车道线等;预测和规划模块将复杂路况抽象为几类简单的场景,最终输出轨迹点、驾驶路径和行为。
信息的显式表达会造成信息损失,上下游传递的信息是不充分的,造成泛化性差,决策僵硬。
2)无损传递
类比上面的例子,人类正常开车,肯定是驾驶员使用自己的眼睛看路,自己开车,眼睛给大脑传递信息,并不会抽象什么位置、什么角度有一辆什么车,而是会将所有信息,通过神经系统“隐式”地传递给大脑,最终完成顺畅的开车动作。
直接用神经网络进行信息传递,这就是信息的“隐式”传递,“隐式”传递可以做到信息的无损传递。
“隐式”传递的信息,虽然人看不懂,但是正是神经网络模型“能看懂”的完整信息,例如:
图片来源:网络
信息的无损传递,可以减少人为偏见,大大提升模型的泛化性,可以更好的解决自动驾驶的长尾问题,提升拟人化。
2024年5月20日,何小鹏在小鹏汽车发布会上提到,对于目前较为稳定的量产智驾系统,大约有10万条左右各类人工定义的规则。而如果需要实现一个无限接近人类司机的自动驾驶系统,大概需要10亿条规则。如果这些规则完全依靠手动编写,是几乎不可能实现的。
在现实情况中,很多时候难以通过一些明确的规则,来定义什么是好的驾驶,就好比很难用单纯用文字,精确的描述一幅画的内容。“端到端”算法实现完全的数据驱动,直接从优秀的“行为”学习“行为”,因此,更容易让驾驶行为实现拟人化。
例如,当经过侧面有障碍物遮挡的小巷子时:
如果人类司机观察到障碍物后面有汽车发出的灯光,可能会提前减速;
传统算法由于感知模块只检测障碍物、车道线等内容,可能会丢掉光照变化的信息,使得规控算法则无法提前规避侧向来车;
而对“端到端”算法来说,全部传感器感知到的数据都会被收集,只要有足够的数据,模型会自己学习到灯光和驾驶员行为的关联,进而也会提前减速;
2. 全局可导,全局最优
“端到端”自动驾驶则对整个自动驾驶过程进行全局优化,通过神经网络的链式法则,从输出端(控制)向输入端(感知)贯通,输出结果可以将误差依次反向传播给所有模块,以最小化整体损失函数为目标,更加准确地更新每个网络层中的参数,从而达到全局最优。
图片来源:《End-to-end Autonomous Driving: Challenges and
Frontiers》(HongyangLi等)
在特斯拉FSD V12版本的演示视频中,有些时候会出现规控算法不会完全按照感知呈现的结果执行驾驶行为,亦是一种全局优化的体现。
“端到端”模型完全是数据驱动,遵循Scaling Law,通过增加模型规模和数据量,可以持续提升模型性能。(Scaling
Law是指数据驱动,大力出奇迹。ChatGPT、Sora等产品都是基于Scaling Law开发出的优秀人工智能产品。)
图片来源:天翼智库
3. 减小误差和延迟
在模块化算法中,每个模块不可避免存在各种误差,例如标定误差、定位精度误差、控制误差等。这些误差会在模块间传递,最终会在下游累积,导致控制偏差。
图片来源:深蓝学院
模块之间的数据也传输需要花费时间,导致整体算法延时较高。
图片来源:深蓝学院
“端到端”模型由于其一体化的模型结构,能够减小信息传递的延迟。同时,其上下层之间可以做到全量信息传递,减小之前各模块之间的累积误差。
03
“端到端”的模型
1. 模型设计的挑战
模型设计难度高,并且不可解释。
“端到端”模型涵盖了感知、预测、规划和控制等所有的模块功能,设计一个可以工作的、甚至有可能收敛的推理神经网络,其难度远高于之前用于单独功能模块的神经网络,需要大量的专业知识。
神经网络是黑盒系统,在训练不足时,会出现一些难以理解的错误,并且具有不可解释性。例如,类似于ChatGPT这种大语言模型,在早期的时候,经常会“一本正经的胡说八道”。
对于语言模型出错,一般问题不大。但是对于生命攸关的驾驶场景,一旦决策出错,就有可能发生危及生命的严重事故。
同时,当出现问题时,也无法准确获知是哪里出现错误,无法像一般代码一样去“打断点”和“Debug”,这与自动驾驶要求的安全性和可靠性相悖。
2. 应用于自动驾驶的主要模型
目前有多种不同的大模型应用在自动驾驶中,例如大语言模型(LLM)、大视觉模型(VFM)和多模态大模型(MFM)等,各自特点如下:
图片来源:甲子光年
3. “端到端”模型
“端到端”模型是精通自动驾驶垂直领域的专业模型,依靠海量汽车收集的三维数据以及驾驶员驾驶数据,学习对空间的理解和驾驶知识。
Wayve在2023年推出了LINGO-1,该模型在各类视觉和语言数据源上进行训练,可以对感知、规划、推理等任务进行视觉问答,并可以对驾驶行为作出解释。升级版本的LINGO-1甚至可以对道路语义信息进行分割。
图片来源:Wayve
2024 年 4 月 25 日,商汤绝影发布面向量产的端到端自动驾驶解决方案(UniAD,Unified
Autonomous Driving),将感知、决策、规划等模块都整合到一个全栈 Transformer
端到端模型,实现感知决策一体化;
图片来源:商汤绝影
2024年5月15日,百度发布了支持L4级自动驾驶的大模型Apollo ADFM(Autonomous
Driving Foundation Model),通过隐式传递、联合训练实现端到端无人驾驶;
图片来源:百度
4. 大语言模型
大语言模型(LLM)广泛学习人类世界知识,具有较强的认知水平。在学术界,大语言模型用作自动驾驶的方案如雨后春笋般涌现。例如GPT-Driver、Language
MPC、DrivelikeaHuman、DriveLM、DriveGPT4等等。
港大和华为诺亚实验室等发表了DriveGPT4模型,它是一个使用LLM的可解释的“端到端”自动驾驶系统,通过将视频、语音提示、控制信号Token化之后送入大语言模型,语言模型生成对人类问题的相应回答以及控制信号,再经过编码等步骤还原成为文字和控制信息,即可对车辆实现控制。
图片来源:《DriveGPT4: Interpretable End-to-end Autonomous
Driving via Large Language Model》(ZhenhuaXu等)
零一汽车发布基于LLM的端到端自动驾驶系统架构:
图片来源:零一汽车
其中,LLM使用的是META开源大模型(Llama7B版本)
目前,LLM仍然存在例如模型幻觉等问题,在某些场景中,LLM模型会产生无意义或者错误的决策。此外,LLM延迟较高,对计算资源要求较大,在车端部署难度较高。LLM对3D场景理解度仍然不高,是否能够很好的适用于驾驶场景,仍然需要不断验证。
5. “端到端”模型+大语言模型
理想汽车提出了快系统和慢系统结合的方案,其中,“端到端”模型作为系统1(快系统),可以迅速的进行控制决策,而大语言模型作为系统2(慢系统),可以进行深度思考,理解环境信息,识别Corner
Case。
图片来源:理想汽车
2024年5月20日,小鹏汽车发布端到端大模型,有三个组成部分:感知大模型XNet+规控大模型XPlanner+大语言模型XBrain。小鹏汽车在发布会上表示,端到端大模型上车后,18个月内小鹏智能驾驶能力将提高30倍,每2天内部将做一次智驾模型的迭代。三个模型的协作分工关系如下:
图片来源:小鹏汽车,甲子光年
英伟达认为,大语言模型可以作为导航规划器,或者监视器来处理复杂场景。
图片来源:英伟达GTC大会《Revolutionizing AV Development With
Foundation Models》
当遇到带有停止标志(Stop sign)的广告牌场景时,大语言模型很好的识别了广告牌上的停止标志,避免了幽灵刹车情况的出现。
图片来源:英伟达GTC大会《Revolutionizing AV Development With
Foundation Models》
6. 世界模型:可能的终极形态
世界模型或许是自动驾驶“端到端”模型的终极形态。
当前神经网络和人类的差距在于,神经网络的预测结果是概率输出,知其然而不知其所以然。
著名的反OpenAI人工智能专家杨乐昆认为,現有的LLM尽管在自然语言处理、对话交互、文本创作等领域表现出色,但其仍只是一种“统计建模”技术。通过学习数据中的统计规律来完成相关任务,本质上并非具备真正的“理解”和“推理”能力。
而人类可以通过观察、以及通过无监督的方式,进行交互来学习,积累大量关于物理世界如何运行的常识,这些常识告诉人类什么是合理的、什么是不可能的,因此人类可以通过很少的试验,就可以学习新技能,预测自身行为的后果。
所谓世界模型,就是希望神经网络可以具备“理解”和“推理”能力,模型能够自己习得因果关系和世界运行的知识,具备理解周围环境以及交互情况的能力,从而预测其他道路交通的参与者的行为,进而恰当地规划自己的行为。
世界模型是可以真正理解环境的模型。
汽车自身包含的诸多传感器(例如视觉、激光雷达、毫米波雷达、IMU等等),这些传感器成为天然的多模态数据收集器,能够让模型很好的“体验”到三维世界、加速度、重力等元素,理解环境的变化,并与环境进行交互。
图片来源:《World Models for Autonomous Driving: An Initial
Survey》
目前世界模型主要用于生成视频训练数据,未来,世界模型可以成为自动驾驶One Model类型的“端到端”大模型。
极佳科技和清华大学联合推出了DriveDreamer,模型采用注意力机制和Diffusion模型构建。
DriveDreamer集成了多模态的输入数据,如文本、视频、高精度地图、3D检测框、驾驶行为等,可以实现可控的驾驶视频生成和预测未来的驾驶行为。同时DriveDreamer还可以与驾驶场景互动,根据输入的驾驶动作,预测不同的未来驾驶视频。
图片来源:《DriveDreamer:Towards Real-world-driven World
Models for Autonomous Driving》
在2024年7月,蔚来发表了世界模型NWM,用于“端到端”自动驾驶:
图片来源:蔚来汽车
李飞飞首次创业成立WorldLabs,该公司正在开发一种能够理解三维物理世界的模型,对物体的物理特性、空间位置和功能,进行理解和模拟。
据英国《金融时报》消息,不到4个月时间,WorldLabs估值已经突破10亿美元。在最新一轮融资中,WorldLabs筹集了约1亿美元(约合人民币7.25亿元)资金。
04
“端到端”的数据
“端到端”会彻底将自动驾驶的开发由“算法工程”改变为“数据工程”,“端到端”模型训练所需要的数据量和质量都远高于以往模型。
训练一个“端到端”自动驾驶系统需要的准确数据量,目前还不明确,在业内还处于探索阶段。
在特斯拉2023年的一次财报会议上,马斯克表示,“我们训练了100万个视频片段(clips),勉强可以工作;200万个clips,稍好一些;300万个clips,就会感到惊喜;训练到1000万个clips,系统的表现就变得难以置信了”。
特斯拉Autopilot回传数据的1个Clips普遍被认为是1min的片段,那么入门级别的100万个视频clips大概就是16000小时。
对于“端到端”系统所需要的数据质量,目前各家有不同的理解。通常来讲,好的数据一般都要具有完整的维度信息、有较广的分布多样性(例如不同天气、不同路况、不同交通情况等等)。另外,如何调整长尾场景在训练数据中的分布比例,目前行业还没有统一方法论。
当然更重要的,数据中的驾驶场景要达到“老司机”的驾驶水平,而很多驾驶员并不是“老司机”,这就需要一套筛选机制,仅提取“老司机”所驾驶的车辆在特定场景下的高质量数据。
1. 使用车队提供实车数据
海量的车队将保障车企及时获取自己需要的数据来训练算法,同时也能够收集到足够多样的长尾场景,来增强模型的泛化能力。
特斯拉的FSD累计行驶里程在2024Q1已经超过12亿英里。
图片来源:特斯拉
2. AI生成数据
实车采集数据的成本较高,部分复杂场景甚至危险场景难以采集,长尾场景稀缺,同时3D标注的成本高昂,因此AI合成数据成为颇具前景的发展方向。
AI生成数据可以大大提升长尾场景的数据规模:
图片来源:英伟达GTC大会《How LLMs and Generative AI will Enhance
the Way We Experience Self-Driving Cars》
目前,AI合成数据主要有三种路线:
物理仿真与图形渲染。这种路线是早年采用的路线,主要依赖物理仿真模型,再叠加游戏引擎等工具进行渲染,这种路线的优点是可编辑性和可控性较强,缺点是想达到较强的真实感门槛较高,且需要建模大量的高质量资产。
神经辐射场(Nerf、3DGaussion等)。近年,神经辐射场(Nerf)走上台前,其可以将2D图片清晰、逼真的还原为3D场景,效果精美吸引了无数人关注,随后3D高斯横空出世,更优的计算效率让其在用户中广泛使用。由于Nerf和3DGaussion都是将平面图像进行立体还原,无法“凭空”生成场景,因此多采用三维重建+场景编辑的方式解决仿真问题,但泛化性仍然有限。
世界模型。随着Sora等模型的诞生,基于世界模型的AI视频生成成为新的热点路线。
AI合成数据三种技术路线的对比:
数据来源:智车星球公众号、开源证券研究所
05
“端到端”的训练
“端到端”模型的训练难度主要体现在巨大的算力需求,以及高质量的虚拟仿真环境。
在2024年第一季度财报会议上,特斯拉对外透露,其已将训练AI集群扩展到35000块H100 GPU(按官方售价,价值12.25亿美元)。按照计划,到2024年底,特斯拉将会在超算集群上再投入15亿美元(包括Dojo-5亿美元、英伟达H100-5亿+美元,以及未知金额的AMD芯片),目标是将其超算中心的总算力提升到100EFLOPS。
“端到端”系统需要使用闭环的虚拟仿真环境进行验证,仿真环境需要能够高质量的模拟所有感知信息,同时能够根据控制指令,进行环境变化的反馈。
图片来源:Wayve
1. 训练方法
“端到端”模型通过驾驶的视频片段,学习驾驶行为,因此如何将人类想要让模型学习到的内容,赋予到数据中,并让模型在训练中能够学习这些先验知识。因为每个人类驾驶的视频片段都包含丰富的驾驶行为,让模型学习这些视频片段中某一种抽象化的先验知识(如左转让直行)并不容易。
模块化算法和“端到端”算法在训练方面的对比:
图片来源:开源证券研究所
训练“端到端”模型主要是两种方法:
模仿学习(Imitation Learning),主要通过逆最优控制(Inverse Optimal
Control)和行为克隆(Behavior Cloning)来实现,其核心理念是让智能体通过模仿专家的行为,来学习最优策略。
强化学习(Reinforcement Learning),通过与环境的交互,来学习最优行为策略,仿真环境的性能会很大程度影响强化学习的效果。
方法对比:
图片来源:甲子光年
在实际的工程应用中,通常是两种训练方式共用。一般先通过模仿学习对模型进行预训练,使模型达到训练数据的平均水平,然后再通过强化学习进行性能的提升。
目前,学术界普遍采用CARLA作为“端到端”开发的闭环仿真模拟器,CARLA是由英特尔和丰田联合开发的自动驾驶开源仿真平台,提供基于真实城市构建的仿真环境和各种不同类型的气候条件,暂时是目前“端到端”唯一测试平台。
不过,CARLA生成数据的真实性、丰富程度、真值可获取性、实时性,还无法满足量产的需求。
目前在研发“端到端”的团队,几乎也都在同步开展闭环仿真工具的探索。
2. 训练算力
企业所拥有的训练算力越大,完成模型训练的时间就越短,就越能抢占市场先机,同时更有可能研发出参数量更大、性能更强的“端到端”模型。
Nextbigfuture.com预测的英伟达H100 GPU头部客户排名:
图片来源:Nextbigfuture.com
近年来,国内主流汽车企业和新兴造车势力都在加快算力储备的建设。不过与特斯拉等国外厂家相比,当前国内厂商的算力水平还有明显差距。尤其在美国高性能GPU出口限制的背景下,要追上国际一流的算力储备,国内厂家还有相当大的挑战。
数据来源:甲子光年,绘图:雪岭飞花
06
“端到端”的落地方案
目前,“端到端”模型还处于开发的早期阶段,其上限高,同时下限也低。
“端到端”架构和传统架构的上限和下限的发展示意图如下:
笔者认为,“端到端”模型在车上落地会分为三个阶段:
1)第一阶段:“端到端”模型的下限会低于行车安全限值,仅依靠“端到端”模型会带来安全风险。此时“端到端”模型需要以影子模式运行,或者和传统模型同时运行,传统模型负责安全兜底(负责什么行为不能做),“端到端”模型负责探索性能上限(负责什么行为可以做)。该阶段中,“端到端”模型主要以隐式连接的“Two
Model”方案为主。
2)第二阶段:“端到端”模型的下限高于行车安全限值,但是仍然低于传统模型。该阶段中,传统模型比重逐步降低,兜底策略逐渐减少。该阶段中,“端到端”模型已经有“One
Model”方案应用,随着数据量的累积,算法性能不断提升。
3)第三阶段:“端到端”模型的上限和下限均高于传统模型,该阶段中,传统模型彻底取消,自动驾驶仅依靠“端到端”模型,实现彻底的数据驱动。不过,在冗余度要求较高的L3/L4系统中,两种系统仍然有可能共存,互为备份冗余。
英伟达提出的端到端模型的落地方案和技术栈的发展路径:
图片来源:英伟达GTC大会《Accelerating the Shift to AI-Defined
Vehicles》、开源证券研究所
图片来源:英伟达
07
结语
“端到端”架构的提出,会给自动驾驶的开发范式带来了巨大的变革。
模型、数据和算力会变得越来越重要。特斯拉Andrei Karpathy曾经在一次访谈中表示过,特斯拉自动驾驶部门将3/4的精力用在采集、清洗、分类、标注高质量的数据上面,只有1/4的工作用于算法探索和模型创建。
同时,伴随开发范式变化的是组织架构的变革和人才需求的变化。
例如,2023年年底,理想成立了“端到端”模型的独立研发团队。蔚来设立了大模型部,专门负责“端到端”的模型研发。蔚来的智驾核心业务,分为“云”和“车”两块,取消原来按照功能(感知、地图、数据、规控等)模块划分的方式,“云”负责大模型的开发,“车”负责架构方案和部署。
对于将来的自动驾驶从业者来说,不仅要懂车,更要懂大模型。传统的预测和规控人才需求会逐渐减少,人工编码类的工作会减少,数据筛选和处理、模型训练和仿真验证等工作将会增多。
|