端到端神经网络
从数学角度来看,“端到端学习是指通过将基于梯度的学习应用于整个系统来训练可能复杂的学习系统。端到端学习系统经过专门设计,以便所有模块都是可微分的。”
总结为以下两块:
- 每个块都有一个深度神经网络
- 端到端模型,将这些神经网络组装在一起
端到端架构的工作方式有所不同:主要思想是将所有输入提供给单个算法,该算法直接输出驾驶策略(不需要额外的后置处理步骤),或者说从输入到输出的整个过程由统一的模型直接完成。
这种架构第一次流行是在 2016 年,当时 Nvidia 发布了一篇名为《自动驾驶汽车的端到端深度学习》的论文。该论文是一个 9 层 CNN,以一张摄像机图像作为输入,并输出转向角度和加速度。
特斯拉Tesla端到端的实现整体演变
在端到端系统中,各个模块被联合优化以实现单一的总体目标。在非端到端系统中,每个块都是单独优化的,而不考虑更大系统的目标。
详细实现过程
1、最开始,从用户端包含8个摄像头(前面、侧面、后面等等......)采集360度的图像作为神经网路的输入端。
2、其次,它们被发送到由Regnet和BiFPN组成的骨干网(Backbone);这些是 2022 年最先进的特征提取器。
- Regnet:比ResNet更灵活的一种RNN网络(权衡延迟和准确性),RegNet 是 2020 年 Facebook AI Research (FAIR) 论文Designing Network Design Spaces (中文版:详解何恺明团队最新作品:源于Facebook AI的RegNet )中提出的一种新的网络设计范式(空间)。
- BiFPN:加强特征提取,BiFPN是Google Research Brain Team在2019年(v1)论文EfficientDet: Scalable and Efficient ObjectDetection(BiFPN)中提出的一种加权双向特征金字塔网络。BiFPN 是 FPN 的增强版本。
在 Tesla 神经网络架构中:主干:RegNet + ResNet,颈部:BiFPN。如下图:
其中头部是有名为HydraNet的架构构成,特斯拉AI团队将使用一个类似YOLO的实时对象检测系统作为头部Head。这个YOLO指的是“你只看一次”,一种新的目标检测方法,来自论文“你只看一次:统一的实时目标检测”。最新的YOLO v10是由清华大学团队实现了端到端的目标检测。他们将这些任务集中在一个新的架构布局中,其中有一个共同共享的主干,并分支为多个头。这种架构称为 HydraNet。
HydraNet 具有三个主要优点:
- 特征共享:减少重复的卷积计算,减少主干网的数量,在测试时特别高效
- 任务解耦:将特定任务与主干分离,能够单独微调任务
- 表示瓶颈:在训练期间缓存特征,当他们在进行微调工作流程时,仅使用缓存的特征来微调头部。
HydraNet 训练工作流程:
- 进行端到端训练,他们共同训练所有内容
- 在多尺度特征级别缓存特征。
- 使用缓存的功能微调每个特定任务
- 再次端到端训练并迭代。
以上,HydraNet也只是处理单个摄像头的图像(2022年引入Occpution network一种新型算法来实现更精准的物体检测),单摄像头模型只能完成车道保持等较简单的辅助驾驶任务。更复杂的自动驾驶任务需要使用多个摄像头作为感知系统的输入。为此,引入Transformer模型。
3、Transformer模型注意力模块采用位置图像编码,并使用键K、值V和固定查询Q(汽车与非汽车、公共汽车与非公共汽车、交通标志与非交通标志)来生成占用特征量。
4、根据生成的占用特征体积,然后与之前的体积(t-1、t-2 等)融合,以获得4D 占用网格。
5、最后,我们使用反卷积来检索原始大小并获得两个输出:占用量和占用流量(占用流实际上显示了每个对象的方向:红色:向前 - 蓝色:向后 - 灰色:静止,等等......我们实际上有一个代表每个可能方向的色轮)。
配套设施
- 自研FSD芯片
- Dojo算力平台 + Dojo芯片 = Dojo超级计算机(软硬一体化)
相关参数和特性
1、8个摄像头,120万像素,组成360角度采集
2、36帧/秒
3、算力:144TOPS (搭载FSD V12软件的HW3.0硬件由2个72TOPS,采用14纳米工艺制造的自研FSD芯片组成),额定功率为200W
4、完全不依赖雷达、激光雷达等传感器
5、完全不依赖高精地图