专栏名称: 经济逻辑
经济逻辑解读当前经济现象,剖析背后经济本源,寻找宏观与微观的必然逻辑,只做大宗商品衍生品领域内的深度阅读,为用户提供最有价值的宏观研究,产业链调研,产业链基本面深度研投。
目录
相关文章推荐
NXTV都市阳光  ·  【阳光•警示】曝光!宁夏这6人春节酒醉驾被当 ... ·  9 小时前  
哔哩哔哩  ·  如何把Deepseek训练成精 ·  19 小时前  
51好读  ›  专栏  ›  经济逻辑

特斯拉FSD在期货交易中的应用

经济逻辑  · 公众号  ·  · 2024-07-27 10:30

正文

【经济逻辑】:解读当前经济现象,剖析背后经济本源,寻找宏观与微观的必然逻辑,做A股,债券及大宗商品衍生品领域内的深度阅读,为用户提供最有价值的宏观研究,公司业绩研究,产业链研究,大宗商品基本面等深度研投,致力于A股,债券,大宗商品衍生品领域内最具价值研投平台。

核心观点:

特斯拉FSD 对期货交易有一定的启发,交易者面对的市场环境和汽车面临的无序混沌的环境一样,都要构建交易策略,做出最优解和交易决策

文章来源|知乎,CSDN整理

发展历史

2021年12月13日,特斯拉推出了全自动驾驶 FSD 软件的 10.6.1 Beta 版本,提高了对物体检测的精度和速度,解决了此前存在的部分恼人问题。

2024年3月31日,特斯拉向美国部分用户推送FSD V12(Supervised)版本。

为什么要端到端?

传统的智驾将“感知、预测、规划、控制”四个任务细分为探测跟踪、静态环境建图、高精定位、动态物轨迹预测、自车轨迹规划、运动控制等模块。端到端架构将所有模块串在一起统一训练,更利于追求“全局最优解”,但数据的针对性更弱、模型训练的信号更弱,意味着提升性能所需的数据量和算力规模更大。从下边图可以看到,端到端的优势在数据量达到一定程度后性能显著提高,但是缺点是数据量较小时候性能上升缓慢,远低于解耦的传统基于专家模型的策略。

(1)场景与决策角度

基于人工代码的规控模块,无法考虑到驾驶场景中所有的corner case,且难以做到车辆动作的“拟人”决策和驾驶。对于城市中的复杂场景,和层出不穷的新场景,其应对能力是一个很大的考验,需要工程师不停的去优化、迭代算法。尤其是遇到未学习过的场景,系统会表现得不够智能或无法应对,从而出现不好的处理策略。对于预测方面,环境交通参与体的行为具有很高的随机性和无逻辑性,在概率估计和配置中,难以用现有的算法模型实现准确的预测,所以需要极为灵活的实时应对策略,这对于专家模型来说代码量理论上是极大的。比如典型的“cut in”加塞场景,传统智驾需要对车道预插入车辆的横摆角进行实时检测,结合其位置和速度预测其加塞行为,指标单一,而且是纯表象直推策略。端到端是通过对场景的理解进行判断,比如环境车辆动态、车道线、交通灯、转向灯灯,通过多维度的元素,甚至是人类没有意识到的要素进行综合分析,判断意图,所以其理解的天花板更高。

(2)规划与控车角度

传统智驾通过横向策略和纵向策略进行车辆的行为控制,基于确定的规则和精确的控制参数,导致车辆动作机械化,要做到拟人驾驶需要开展大量工作,定义控车曲线和匹配场景。端到端的本质是学习,所以其可以模仿人类驾驶汽车的行为,直接输出包括方向盘转角、方向盘转速、油门踏板开度、制动踏板开度等,从而实现接近人类驾驶的习惯进行任务的过程控制。小鹏汽车曾在2022年10月透露,其城市NGP在预测、规划、控制模块的代码量是高速NGP代码量的88倍。与之对比,城市NGP总体代码量是高速NGP的6倍,而感知模块的神经网络模型数量是高速NGP的4倍。所以端到端有其显著的优势,也就是从架构和代码方面“一劳永逸”。

总体来说,端到端系统的结构更简单直接、性能上限高、应对长尾问题的能力更强。

核心架构

(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感知-规划-控制架构

端到端的核心算法

(1)大模型基础 : Transformer

大模型为自动驾驶智能性的进一步突破提供了潜在解决方案。大模型又称基础模型( Foundation Model),一般是指参数量过亿、使用海量数据训练的大型神经网络模型。与现有的小模型相比,大模型具有如下三方面特点。① 智能涌现(Emergence)能力——随着参数量的增加,模型性能首先呈现缓慢增长,当规模达到一定程度时急剧提升。② 对标签数据的依赖程度低——大模型利用自监督学习进行预训练,通过设计预测任务学习数据的内在结构和模式。这种方法不需要人工标注的标签,而是利用数据本身的特性生成训练信号。

大模型的基础是Transformer架构,Transformer一种先进的深度学习模型架构,特别擅长序列到序列的任务。通过其独特的自注意力机制和创新的架构设计,显著提高了处理序列数据的效率和效果。模型由编码器和解码器两部分组成,每部分都包含多个相同的层,这些层又由自注意力机制、点状前馈网络和归一化层组成。Transformer被广泛应用于自然语言处理(NLP)、计算机视觉(CV)、强化学习(RL)等领域的大模型中,其核心特点包括:

  1. 自注意力机制(Self-Attention):这是Transformer的标志性特征,它允许模型在处理序列数据时,能够关注到序列内部的不同部分,并赋予不同的重要性权重。

  2. 多头注意力(Multi-Head Attention):通过使用多个注意力头,模型能够同时关注序列的不同方面,从而捕捉更复杂的模式和关系。

  3. 位置编码(Positional Encoding):由于Transformer放弃了传统的循环或卷积结构,它需要一种方法来保留序列中的位置信息。位置编码是对序列中的每个位置添加特定的编码,以便模型能够区分不同位置的信息。

  4. 前馈神经网络(Feed-Forward Neural Network):在每个位置上,Transformer使用一个前馈神经网络来处理从自注意力子层输出的数据。

  5. 残差连接(Residual Connections):这些连接确保模型可以学习恒等函数,有助于解决深层网络训练时的退化问题。

  6. 归一化层(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计算




(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内生成一个候选规划路径。采取混合规划系统,将传统方法与数据驱动结合,通过四个维度进行候选路径评估,完成剪枝。

以下是该技术的实现步骤:

  1. 视觉测量:从一组视觉测量开始,这包括车道、占用率、移动物体等信息,这些信息表现为稀疏的抽象和潜在特征。

  2. 感知Vector Space:通过视觉测量感知得到的Vector Space,这是规划过程的基础。

  3. 规划潜在目标状态:利用Vector Space规划出后续的潜在目标状态,如目标车道线、目标路口、超车等。

  4. 细分互动考虑:进一步考虑细分互动,得到决策规划的路径。这涉及到对车辆与环境中其他参与者之间的相互作用进行细致的分析。

  5. 处理未知和不确定性:对于未知或不确定的情况,通过Occupancy Network对可视区域进行建模,以处理不可见场景。这要求系统能够根据假设的参与者做出相应的保护性驾驶决策。

  6. 生成决策树:决策树的初始输入来自于前面的车道线、障碍物以及通过Occupancy Network感知得到的Vector Space。这些信息被用来规划出后续的潜在目标状态,并将这些目标状态进一步拆分成规划动作(轨迹)集合。

  7. 控制反应与可能性函数协调:为了得到类似人类行为的决策结果,需要将控制反应与存在的可能性函数相协调。

基于Vector Space的FSD路径规划是一个复杂的过程,涉及多个步骤和技术。其优点在于能够快速产生最优解,同时考虑到环境的动态变化和潜在的不确定性,使得路径规划更加安全和高效。这种规划方法在自动驾驶领域具有广泛的应用前景,有助于提高自动驾驶车辆在复杂交通环境中的行驶安全性和效率。

以下内容来自CSDN

特斯拉是一个典型的AI公司,过去一年训练了75000个神经网络,意味着每8分钟就要出一个新的模型,共有281个模型用到了特斯拉的车上。接下来我们分几个方面来解读特斯拉FSD的算法和模型进展。

1、感知 Occupancy Network

2、规划 Interactive Planning

3、矢量地图 Lanes Network

4、自动标注 Autolabeling

5、仿真 Simulation

6、基础设施 Infrastructure

1、感知 Occupancy Network

特斯拉今年在感知方面的一个重点技术是Occupancy Network (占据网络)。研究机器人技术的同学肯定对occupancy grid不会陌生,occupancy表示空间中每个3D体素(voxel)是否被占据,可以是0/1二元表示,也可以是[0, 1]之间的一个概率值。

为什么估计occupancy对自动驾驶感知很重要呢?因为在行驶中,除了常见障碍物如车辆、行人,我们可以通过3D物体检测的方式来估计他们的位置和大小,还有更多长尾的障碍物也会对行驶产生重要影响。例如:1.可变形的障碍物,如两节的挂车,不适合用3D bounding box来表示;2.异形障碍物,如翻倒的车辆,3D姿态估计会失效;3.不在已知类别中的障碍物,如路上的石子、垃圾等,无法进行分类。因此,我们希望能找到一种更好的表达来描述这些长尾障碍物,完整估计3D空间中每一个位置的占据情况(occupancy),甚至是语义(semantics)和运动情况(flow)。

特斯拉用下图的具体例子来展现Occupancy Network的强大。不同于3D的框,occupancy这种表征对物体没有过多的几何假设,因此可以建模任意形状的物体和任意形式的物体运动。图中展示了一个两节的公交车正在启动的场景,蓝色表示运动的体素,红色表示静止的体素,Occupancy Network精确地估计出了公交车的第一节已经开始运动,而第二节还处于静止状态。

▲对正在启动的两节公交车的occupancy估计,蓝色表示运动的体素,红色表示静止的体素

Occupancy Network的模型结构如下图所示。首先模型利用RegNet和BiFPN从多相机获取特征,这个结构跟去年的AI day分享的网络结构一致,说明backbone变化不大。然后模型通过带3D空间位置的spatial query对2D图像特征进行基于attention的多相机融合。如何实现3D spatial query和2D特征图之间的联系呢?具体融合的方式图中没有细讲,但有很多公开的论文可以参考。我认为最有可能采取的是两种方案之一,第一种叫做3D-to-2D query,即根据每个相机的内外参将3D spatial query投影到2D特征图上,提取对应位置的特征。该方法在DETR3D[1]中提出,BEVFormer[2]和PolarFormer[3]也采取了该思想。第二种是利用positional embedding来进行隐式的映射,即将2D特征图的每个位置加上合理的positional embedding,如相机内外参、像素坐标等,然后让模型自己学习2D到3D特征的对应关系,该方法在论文PETR中提出[4]。再接下来模型进行时序融合,实现的方法是根据已知的自车位置和姿态变化,将3D特征空间进行拼接。

▲Occupancy Network结构

特征融合后,一个基于deconvolution的解码器会解码出每个3D空间位置的occupancy,semantics以及flow。发布会中强调,由于这个网络的输出是稠密(dense)的,输出的分辨率会受到内存的限制。我相信这也是所有做图像分割的同学们遇到的一大头疼的问题,更何况这里做的是3D分割,但自动驾驶对于分辨率度的要求却很高(~10cm)。因此,受到神经隐式表示(neural implicit representation)的启发,模型的最后额外设计了一个隐式queryable MLP decoder,输入任意坐标值(x,y,z),可解码出该空间位置的信息,即occupancy,semantics,flow。该方法打破了模型分辨率的限制,我认为是设计上的一个亮点。

学术界在视觉occupancy方面的工作不多,我关注到的最相关的一篇论文是CVPR2022上的MonoScene[5],从单目重建三维体素并且估计出被遮挡的部分,感兴趣的可以去精读。

2、规划 Interactive Planning

规划是自动驾驶的另一个重要模块,特斯拉这次主要强调了在复杂路口对交互(interaction)进行建模。为什么交互建模如此重要呢?因为其他车辆、行人的未来行为都有一定的不确定性,一个聪明的规划模块要在线进行多种自车和他车交互的预测,并且对每一种交互带来的风险进行评估,并最终决定采取何种策略。

特斯拉把他们采用的规划模型叫做交互搜索(Interaction Search),它主要由三个主要步骤组成:树搜索,神经网络轨迹规划和轨迹打分。

1、树搜索是轨迹规划常用的算法,可以有效地发现各种交互情形找到最优解,但用搜索的方法来解决轨迹规划问题遇到的最大困难是搜索空间过大。例如,在一个复杂路口可能有20辆与自车相关,可以组合成超过100种交互方式,而每种交互方式都可能有几十种时空轨迹作为候选。因此特斯拉并没有采用轨迹搜索的方法,而是用神经网络来给一段时间后可能到达的目标位置(goal)进行打分,得到少量较优的目标。





请到「今天看啥」查看全文