特斯拉FSD架构与算法研究
概况
FSD全称是Full Self-Drive,即“完全自动驾驶”,最终目标是实现车辆可以在没有人类干预的情况下,自己识别路况、规划路线、控制速度和方向,完成从起点A到终点B的行驶。你可以把FSD理解为负责感知与控制的“超强大脑”,不仅用在车上,也用在机器人上。FSD V12(Supervised)是全新的“端到端自动驾驶”,模型架构发生了重大变化。据特斯拉 CEO 埃隆·马斯克表示,特斯拉 FSD V12(Supervised)需要人工干预的频率只有 FSD V11 的百分之一。FSD V12(Supervised)完全采用神经网络进行车辆控制,从机器视觉到驱动决策都将由神经网络进行控制。该神经网络由数百万个视频片段训练而成,取代了超过 30 万行的 C++ 代码。 [17]FSD V12(Supervised)减少了车机系统对代码的依赖,使其更加接近人类司机的决策过程。马斯克将 FSD V12 描述为“端到端人工智能”,采用“光子进入,控制输出(photon in, controls out)”,强调其在真实世界场景中做出复杂决策的能力。据悉,该系统被称为“Baby AGI(婴儿版通用人工智能)”,旨在感知和理解现实世界的复杂性。据报道,特斯拉 FSD V12 使用了来自全球各地的数百万特斯拉的车身视频作为训练材料来模仿人类司机的驾驶决策。
发展历史
2021年12月13日,特斯拉推出了全自动驾驶 FSD 软件的 10.6.1 Beta 版本,提高了对物体检测的精度和速度,解决了此前存在的部分恼人问题。
2022年8月7日,特斯拉 CEO 马斯克表示,特斯拉 FSD Beta10.69 版将于2022年8月20日推出。
2023年8月10日,一位特斯拉中国分析师称:“特斯拉完全自动驾驶功能FSD测试版已推送至中国市场,初期将会以‘影子模式’开始收集数据,完成相关可行性验证后,将逐步激活进行小范围试用。”
2023年9月,马斯克在硅谷帕洛阿尔托(Palo Alto)的街道上直播测试特斯拉全自动驾驶测试版V12(FSD Beta V12)
2023年11月23日,特斯拉中国回应FSD在国内落地,确实正在推进中。
2024年3月31日,特斯拉向美国部分用户推送FSD V12(Supervised)版本。
为什么要端到端?
传统的智驾将“感知、预测、规划、控制”四个任务细分为探测跟踪、静态环境建图、高精定位、动态物轨迹预测、自车轨迹规划、运动控制等模块。端到端架构将所有模块串在一起统一训练,更利于追求“全局最优解”,但数据的针对性更弱、模型训练的信号更弱,意味着提升性能所需的数据量和算力规模更大。从下边图可以看到,端到端的优势在数据量达到一定程度后性能显著提高,但是缺点是数据量较小时候性能上升缓慢,远低于解耦的传统基于专家模型的策略。
图片来源:2023年CVPR
(1)场景与决策角度
基于人工代码的规控模块,无法考虑到驾驶场景中所有的corner case,且难以做到车辆动作的“拟人”决策和驾驶。对于城市中的复杂场景,和层出不穷的新场景,其应对能力是一个很大的考验,需要工程师不停的去优化、迭代算法。尤其是遇到未学习过的场景,系统会表现得不够智能或无法应对,从而出现不好的处理策略。对于预测方面,环境交通参与体的行为具有很高的随机性和无逻辑性,在概率估计和配置中,难以用现有的算法模型实现准确的预测,所以需要极为灵活的实时应对策略,这对于专家模型来说代码量理论上是极大的。比如典型的“cut in”加塞场景,传统智驾需要对车道预插入车辆的横摆角进行实时检测,结合其位置和速度预测其加塞行为,指标单一,而且是纯表象直推策略。端到端是通过对场景的理解进行判断,比如环境车辆动态、车道线、交通灯、转向灯灯,通过多维度的元素,甚至是人类没有意识到的要素进行综合分析,判断意图,所以其理解的天花板更高。
图片来源:长城汽车测试城市NOA自动驾驶加塞场景
(2)规划与控车角度
传统智驾通过横向策略和纵向策略进行车辆的行为控制,基于确定的规则和精确的控制参数,导致车辆动作机械化,要做到拟人驾驶需要开展大量工作,定义控车曲线和匹配场景。端到端的本质是学习,所以其可以模仿人类驾驶汽车的行为,直接输出包括方向盘转角、方向盘转速、油门踏板开度、制动踏板开度等,从而实现接近人类驾驶的习惯进行任务的过程控制。小鹏汽车曾在2022年10月透露,其城市NGP在预测、规划、控制模块的代码量是高速NGP代码量的88倍。与之对比,城市NGP总体代码量是高速NGP的6倍,而感知模块的神经网络模型数量是高速NGP的4倍。所以端到端有其显著的优势,也就是从架构和代码方面“一劳永逸”。
(3)搭建与部署成本
与传统的模块化自动驾驶系统相比,端到端自动驾驶系统设计难度低,硬件成本较小,并且通过多样性的数据,能够获得在不同场景下的泛用性。所以从算法架构设计的角度,其具有高度的整合度和一体化,省去了多个模块的独立架构设计和算法开发,降低代码量和运行所调度的模块数量。另一方面,由于模型直接从原始数据中学习,而不需要依赖于人工设计的特征或规则,所以删去了枯燥的标注工作。最重要的还有一点就是省去了后期无穷尽的规则补充和场景补充,从而减少了人工维护和升级的成本。从功耗来说,当前的特斯拉FSD功率约为100W,马斯克称相信未来可以做到50W以下。
总体来说,端到端系统的结构更简单直接、性能上限高、应对长尾问题的能力更强。
核心架构
(1)工作原理
FSD为一套全链路自动驾驶软硬件架构,其实现依托基于BEV+Transformer的软件算法和基于Dojo的高效数据闭环。BEV+Transformer,为FSD提供了不依赖高精地图的感知和定位能力;Dojo则是支持算法快速迭代响应用户反馈,实现高效数据闭环。在数据、算法、算力等各个层面构建了一套包含感知、规控、执行在内的全链路自动驾驶软硬件架构。
图片来源:德邦证券研究所
规划(Planning):本质是解决多物体关联路径规划问题,处理自我和所有对象的行进轨迹,指导汽车完成相应的执行动作。
神经网络(Neural Networks):通过分析视频流等信息,输出完整的运动学状态(位置/速度/加速度/颠簸)控制车辆。
训练数据(Training Data):基于4D自动标注技术、升级模拟仿真及云端计算资源,形成数据闭环。
训练基础设施 (Training Infra):包括CPU、GPU、神经网络加速器单元(Neural Network Accelerator)、AI编译器等(支持神经网络所需的新操作,映射到最佳的底层硬件资源上)。
AI编译与推理(AI Compiler & Inference):即如何在计算机上运行神经网络。将单个神经网络的执行分配到两个独立的芯片系统上执行,相对于两台计算机在同一台自动驾驶系统内互联,并行工作。
从整体系统工作角度,通过视觉感知网联构建三维向量空间,对于确定和唯一解的问题,直接生成规控方案。对于复杂场景问题,使用向量空间和感知网络生成的中间层特征,训练神经网络规划其,获取轨迹。同时,融入代价函数、人工干预数据、仿真数据,获取最优策略。然后生成加速、转向、制动控车指令。
FSD感知-规划-控制架构
(2)AI任务管理系统:BabyAGI
BabyAGI是一个基于AI的任务管理系统,它能够自动生成、确定优先级并执行任务。
BabyAGI的架构设计非常精简,主要包括以下几个核心模块:
任务生成Agent(Task Creation Agent):这个模块负责根据预定义的目标和前一个任务的结果来创建新任务。它通过调用OpenAI的API,并利用其自然语言处理(NLP)能力来生成一组新任务的字符串。
执行Agent(Execution Agent):这个模块负责执行由任务生成Agent创建的任务。它会按照任务列表中的指令进行操作,完成具体的任务内容。
优先级排序Agent(Prioritization Agent):这个模块用于对任务进行优先级排序,确保任务按照重要性或紧迫性的顺序被执行。这有助于系统更高效地处理任务,优化资源的使用。
此外,BabyAGI还可能包括其他辅助性的模块,比如用于存储和检索任务结果的模块,以便系统能够获得上下文信息并据此作出决策。总的来说,BabyAGI通过这些模块的协同工作,实现了一个自动化的任务管理流程,从而在一定程度上模拟了人工智能系统的自主学习和决策能力。
Baby AGI 架构
算法全流程如下:
Image Input: 8个摄像头(有畸变)标定矫正后直接输入给算法。
Image Featurizers: 图像输入Backbone(RegNets 和 BiFPNs组成),提取特征。
Spatial Attention:利用特征的空间关系生成空间注意力图(类似Transformer),构建空间特征。
Temporal Alignment:基于里程计信息,对前序占用特征(Occupancy Features)时序拼接,构建时空特征。(计算类似速度,加速度等信息)
Deconvolutions(反卷积):Occupancy Network对于算力消耗大,会导致内存不够用。解决策略是通过使用Deconvolutions来提高Occupancy Features的分辨率,并通过降低这些特征的分辨率。Deconvolutions是一种特殊的神经网络层,它能够将输入的特征图上采样,即增加其尺寸,这样做的目的是为了恢复在卷积过程中丢失的空间信息。
Surface Outputs: 指其占用网络预测输出的高分辨率3D空间位置的占用情况、语义信息以及流动信息。输出物体表面的几何特征,输出物体表面语义信息,用于其他任务,比如交通标志识别。占用网络的输出包括以下几个方面:
Occupancy:每个3D空间位置是否被物体占据,避免障碍物和安全行驶。
Semantics:识别和分类环境中的物体,如行人、其他车辆、交通标志等。
Flow:物体的运动信息,比如移动速度和方向。
Volume Outputs:输出空间占用信息、空间占用流信息(速度,加速度)、亚体素(sub-voxel)信息、3D语义信息。使用Temporal Alignment技术将不同时序的特征对齐后进行融合,以确保信息的连续性和准确性。
端到端的核心算法
(1)大模型基础 : Transformer
大模型为自动驾驶智能性的进一步突破提供了潜在解决方案。大模型又称基础模型( Foundation Model),一般是指参数量过亿、使用海量数据训练的大型神经网络模型。与现有的小模型相比,大模型具有如下三方面特点。① 智能涌现(Emergence)能力——随着参数量的增加,模型性能首先呈现缓慢增长,当规模达到一定程度时急剧提升。② 对标签数据的依赖程度低——大模型利用自监督学习进行预训练,通过设计预测任务学习数据的内在结构和模式。这种方法不需要人工标注的标签,而是利用数据本身的特性生成训练信号。
大模型的基础是Transformer架构,Transformer一种先进的深度学习模型架构,特别擅长序列到序列的任务。通过其独特的自注意力机制和创新的架构设计,显著提高了处理序列数据的效率和效果。模型由编码器和解码器两部分组成,每部分都包含多个相同的层,这些层又由自注意力机制、点状前馈网络和归一化层组成。Transformer被广泛应用于自然语言处理(NLP)、计算机视觉(CV)、强化学习(RL)等领域的大模型中,其核心特点包括:
自注意力机制(Self-Attention):这是Transformer的标志性特征,它允许模型在处理序列数据时,能够关注到序列内部的不同部分,并赋予不同的重要性权重。
多头注意力(Multi-Head Attention):通过使用多个注意力头,模型能够同时关注序列的不同方面,从而捕捉更复杂的模式和关系。
位置编码(Positional Encoding):由于Transformer放弃了传统的循环或卷积结构,它需要一种方法来保留序列中的位置信息。位置编码是对序列中的每个位置添加特定的编码,以便模型能够区分不同位置的信息。
前馈神经网络(Feed-Forward Neural Network):在每个位置上,Transformer使用一个前馈神经网络来处理从自注意力子层输出的数据。
残差连接(Residual Connections):这些连接确保模型可以学习恒等函数,有助于解决深层网络训练时的退化问题。
归一化层(Normalization Layers):这些层有助于稳定模型的训练过程,并加速收敛。
Transformer结构图:左侧为 Encoder block,右侧为 Decoder block
上图中可知Encoder block 包含一个Multi-Head Attention,而 Decoder block 包含两个 Multi-Head Attention ,因为其中有一个用于 Masked。Multi-Head Attention 上方是一个 Add & Norm 层,Add 指残差连接 (Residual Connection) ,旨在防止网络退化(梯度消失和梯度爆炸),Norm 是Layer Normalization,用于每一层的激活值归一化。
Self-Attention 在计算的时候需要用到矩阵 Q(查询), K(键值), V(值),其中Q(Query)是要查询的信息,K(Key)是被查询的向量,而V(Value)是查询得到的值。举例说明:假设你在看一篇关于电影的文章,你想知道“导演”这个词在文章中提到了哪些具体的信息。在这个场景中,“导演”这个词的表示就是Query,文章中提到的与“导演”相关的词(如“拍摄”、“风格”等)的表示就是Key,而与这些词相关联的具体信息(如导演的名字、拍摄手法的描述等)就是Value。通过Attention机制,模型可以聚焦于与“导演”最相关的信息,从而帮助你更好地理解文章的内容。
在Transformer模型中,通过特定的权重矩阵(W_Q、W_K和W_V)与输入序列相乘得到Q、K和V向量。注意力机制考虑随意线索,随意线索即查询(query)。其中注意力分数是query和key的相似度,注意力权重是分数的softmax结果,即:Q和K之间进行点积运算,然后通过缩放因子进行缩放,得到的是各个元素之间的相似度得分。将上述相似度得分输入到Softmax函数中,获得概率分布。这使得所有得分经过归一化处理后,高得分的元素对应的概率会更大,意味着它们在后续的加权求和中占有更重要的地位。通过计算查询(Q)与所有键(K)之间的相似度或匹配程度,确定每个元素应该关注输入序列中的哪些其他元素。
每个词的Attention计算
Transformer整体架构
其优势在于:
1. Transformer提供了自注意力机制(Self-Attention),这使得模型能够捕捉序列内的长距离依赖关系。这一特点对于大模型来说至关重要,因为随着模型规模的增加,需要处理的信息和复杂性也随之增长。自注意力机制允许模型在处理长序列时更加高效和准确。驾驶场景本身就是高度连续的,对于场景的理解也需要连续的行为链进行分析。
2. Transformer的多头注意力(Multi-Head Attention)设计使得模型能够同时关注序列的不同方面,从而捕捉更丰富的信息。这对于大模型来说非常有用,因为它们需要处理更多的数据和更复杂的模式,其对于驾驶场景能捕捉到更多的信息。
3. Transformer的层次化结构和残差连接也有助于大模型的训练和优化。这些设计使得模型在增加深度的同时,仍然能够保持良好的性能和稳定性。
4. Transformer的并行化能力使得训练大模型成为可能。由于其计算图不依赖于先前的计算,因此可以高效地利用GPU等硬件资源进行并行计算,大大降低单车算力。
VIT整体架构分析
(2)视觉感知网络基础结构:HydraNets (九头蛇网络 )
HydraNets,或称九头蛇网络,是特斯拉开发的一种深度学习网络架构。这个网络的特点在于它能够将多个任务集成到一个网络中,例如车道线检测、行人检测与追踪、交通信号灯检测等,这些任务对于自动驾驶汽车来说至关重要。HydraNets的核心在于其共享的主干网络,该主干网络通过分支成多个“头”,可以同时输出多个预测张量,每个“头”负责不同的任务或对象类别。
此外,这种架构的优势在于其能够有效地利用可用的计算资源,并且通过端到端的训练和推断,提高了处理不同视觉信息的效率。HydraNets能够将来自多个摄像头的视觉内容转换为向量空间和道路特征,这对于构建车辆周围的综合视图至关重要。
系统工作方面:TeslaVision的输入来自其原始光子计数(Rawphotoncounts)提供的视频数据——8个摄像头(1280x96012-Bit(HDR)@36Hz)。马斯克认为,从光子到摄像头CMOS传感器,再到ISP做图像处理,这个链路太长了,ISP对图像的处理可能会丢失信息。特斯拉直接采用光子照相机(Photon to Control),把原始的真实世界Raw Data直接放到这个神经网络当中,不经过ISP,这样端到端延迟可提升20%。过程是:
8个摄像头的单帧数据经过image extractors进行特征提取,类似ResNets的网络。
进行多个摄像头的融合,通过类似Transformer方式构建整车BEV。
时间融合:给每个图赋予时间信息。
将结果分配到不同的Heads中,每个Heads负责特定功能,后面连接对应的单独网络。
总的来说,HydraNets代表了特斯拉在自动驾驶技术方面的创新之一,它通过整合多个视觉识别任务到单一的网络中,提高了处理效率和识别能力。这种网络架构的设计使得特斯拉的自动驾驶系统能够更好地理解和响应复杂的道路环境,为全自动驾驶技术的发展奠定了基础。
HydraNets 的核心理念在于其高度模块化的设计,允许在自动驾驶等视觉感知系统中实现多任务学习。以下是一些关键特点:
模块化结构:该网络由一个主干(Backbone)、颈部(Neck)以及多个分支的头部(Head)组成。这种结构使得网络能够同时处理来自同一输入数据的不同任务。
特征解耦与共享:主干网络负责提取通用特征,这些特征随后被共享给各个头部使用。这种方式可以减少重复计算,提高运算效率。
多尺度特征融合:利用多尺度特征融合结构(如BiFPN),HydraNets能够在不同尺度上捕捉和整合信息,增强模型对细节和上下文的理解能力。
端到端训练:整个网络可以通过端到端的方式进行训练,这意味着从原始数据输入到最终的感知输出,整个过程可以一次性优化,从而提升性能。
适用性广泛:由于其灵活的结构设计,HydraNets可以应用于各种视觉感知任务,包括但不限于物体检测、语义分割和轨迹预测等。
(3)基于Vector Space的FSD路径规划
基于Vector Space的FSD(frame-based Spatio-Temporal Decision)路径规划是一种先进的路径规划方法,它能够快速产生最优解。特斯拉采用递增的方式不断加入新的约束,用较少约束下最优方案作为初值继续求解更加复杂的优化问题,最终得到最优解,每个候选路径1~5ms的计算时间,数据驱动决策树生成模型使用Tesla车队中人类驾驶员驾驶数据。为了进一步提高效率,使用了另一套数据驱动的轻量生成网络帮助快速生成规划路径,即宽松时间约束的离线条件下规划的全局最优路径,两者对比训练,能够在100us内生成一个候选规划路径。采取混合规划系统,将传统方法与数据驱动结合,通过四个维度进行候选路径评估,完成剪枝。
以下是该技术的实现步骤:
视觉测量:从一组视觉测量开始,这包括车道、占用率、移动物体等信息,这些信息表现为稀疏的抽象和潜在特征。
感知Vector Space:通过视觉测量感知得到的Vector Space,这是规划过程的基础。
规划潜在目标状态:利用Vector Space规划出后续的潜在目标状态,如目标车道线、目标路口、超车等。
细分互动考虑:进一步考虑细分互动,得到决策规划的路径。这涉及到对车辆与环境中其他参与者之间的相互作用进行细致的分析。
处理未知和不确定性:对于未知或不确定的情况,通过Occupancy Network对可视区域进行建模,以处理不可见场景。这要求系统能够根据假设的参与者做出相应的保护性驾驶决策。
生成决策树:决策树的初始输入来自于前面的车道线、障碍物以及通过Occupancy Network感知得到的Vector Space。这些信息被用来规划出后续的潜在目标状态,并将这些目标状态进一步拆分成规划动作(轨迹)集合。
控制反应与可能性函数协调:为了得到类似人类行为的决策结果,需要将控制反应与存在的可能性函数相协调。
基于Vector Space的FSD路径规划是一个复杂的过程,涉及多个步骤和技术。其优点在于能够快速产生最优解,同时考虑到环境的动态变化和潜在的不确定性,使得路径规划更加安全和高效。这种规划方法在自动驾驶领域具有广泛的应用前景,有助于提高自动驾驶车辆在复杂交通环境中的行驶安全性和效率。
超算系统:Dojo
Dojo是特斯拉公司开发的一套高性能计算系统,用于处理和训练自动驾驶系统产生的海量数据。Project DOJO的负责人Ganesh Venkataramanan表示,DOJO是一种通过网络连接的分布式计算机架构,它具有高带宽、低延时等特点,将会使人工智能拥有更高速的学习能力,从而使Autopilot更加强大。
海量数据处理:为了处理和训练自动驾驶系统产生的大量数据,FSD Beta(全自动驾驶)已累计行驶数亿英里,产生了数百TB的数据量,Dojo系统来承担这一重任。
自研芯片:这个系统采用了特斯拉自研的芯片,这些芯片为视觉系自动驾驶提供了坚实的基础,并推动了人工智能的快速发展。
AI神经网络技术:通过使用多任务学习的HydraNets神经网络架构,Dojo能够有效地整合和分析来自车辆各个方向的摄像头所获取的信息,提升自动驾驶的性能。
仿真场景技术:特斯拉还开发了可以模拟现实中不常见场景的技术,用于训练其自动驾驶系统,提高系统对各种驾驶情境的适应能力和响应效率。
系统架构:Dojo系统的最小组成单位是“Training Node”,每个节点都负责一部分计算任务,而多个节点组合在一起则构成了整个超级计算平台。
DOJO超级计算机的「内核」是D1芯片,每个DOJO由25颗D1芯片组成,形成36TB/s的带宽和9PetaFLOPS(9千万亿次)算力。DOJO还可以组合成为全球最强算力的超级计算机集群,实现大规模的训练和计算。
未来的探索
FSD在国外主要是单车智能的策略,中国对于智慧交通和智能驾驶基础设施的建设和配套(如:RSU/RCU、云平台)是国际领先的。车云协同的自动驾驶大模型开发方案利用云控平台的充足算力,生成海量仿真驾驶数据;融合虚实数据进行场景构建,利用自监督学习、强化学习、对抗学习等方法对自动驾驶大模型进行在线迭代优化;所学大模型经剪枝压缩后得到车规级实时模型,并通过OTA方式下载到车载芯片,完成车端驾驶策略的自进化学习。另外,如果将FSD的超强单车大脑融合V2X超视距感知信息,是不是能够涌现出更加强悍的规划和决策能力,同时对于整体的通行效率、能源管理、安全性实现另一个阶梯的提升。
图片来源:清华大学发表学术成果
参考文献:
[1] 李升波,刘畅,殷玉明,等.汽车端到端自动驾驶系统的关键技术与发展趋势[J].人工智能, 2023(5):1-16.
[2] 特斯拉FSD自动驾驶方案深度解析报告.德邦证券
[3] 百度百科"FSD"
部分资料(含图片)来源于网络公开素材,有版权纠纷请联系公众号
部分素材由AI大模型生成
- 下一篇:基于相平面的车辆稳定性分析与预判
- 上一篇:新能源车电机控制器技术及趋势
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
直播|中汽中心 工程院:汽车智驾技术主题
2024-11-24 11:43
-
直播|中汽中心 工程院:无人驾驶车路云一
2024-11-24 11:42
-
直播|中汽中心 工程院:基于无人驾驶矿卡
2024-11-24 11:41
-
直播|中汽中心 工程院:超声波雷达测试系
2024-11-24 11:40
-
直播|中汽中心 工程院:基于车路云图的无
2024-11-24 11:40