打造一台全自动驾驶汽车,到底需要哪些核心技术?
现在来看,各家公司和研究人员似乎对这个问题有不小分歧。 有人相信单纯的摄像头与计算机视觉就能解决战斗,但也有人认为计算机视觉和先进传感器缺一不可。 特斯拉则是纯视觉方案的坚定信徒。
在今年的 CVPR (计算视觉与模式识别大会) 上,特斯拉首席 AI 科学家 Andrej Karpathy 道出了特斯拉如此「执拗」的原因。 在这次的 CVPR 上,Karpathy 还详细介绍了特斯拉是如何基于深度学习开发自动驾驶系统。 除此之外,他还解释了为什么特斯拉 基于视觉 就能让自动驾驶梦想成真。
就在 7 月 10 日,特斯拉开始在美国地区正式推送纯视觉版的 FSD Beta V9 版本。
纯视觉版的特斯拉,完全依靠车辆前端摄像头来实现自动驾驶。
有海外车主在夜晚体验了这一版本, 还有车主在雾蒙蒙的街道上自由顺畅穿行。总体而言,车辆的表现较之前拥有更平滑的加速和减速,转弯时也显得更加自信。
先是声称不用激光雷达,而后又宣布在量产车上移除毫米波雷达, 特斯拉坚持纯视觉自动驾驶的底气来自哪里?
1
通用计算视觉系统
这一切要从深度神经网络说起。
深度神经网络 是自动驾驶系统的主干技术之一。
神经网络会分析车载摄像头采集到的数据,了解道路、标牌、车辆、障碍以及行人的状况。 不过,深度学习并非万无一失,在检测图像中的物体时,这项技术也会犯错。这也是大多数自动驾驶公司,包括领头羊 Waymo 在内,选择用激光雷达来搭建三维地图的原因。
激光雷达能为神经网络提供更丰富的信息,以便填补在神经网络上的数据空白。 然而,将激光雷达融入整个自动驾驶系统,也没你想象的那么容易。
「你得用激光雷达提前对周边环境进行扫描,随后生成高精地图。在这之后还要插入所有车道、连接方式以及各种交通信号灯。」Karpathy 说道。「在测试时,你只需在高精地图上进行定位,就可以自动驾驶了。」
遗憾的是,用户说走就走的愿望并没有那么容易实现,为自动驾驶汽车打造无处不在的高精地图非常困难。
「只要规模一大,采集、搭建和维护这些高精地图就变成了不可能完成的任务,」Karpathy 说道。「更别说高精地图的实时更新了。」
在特斯拉的自动驾驶方案中,并没有出现激光雷达和高精地图。
Karpathy 指出,「所有发生的事情都会被车上的 8 颗摄像头记录下来。」
自动驾驶系统必须弄清楚车道在哪,信号灯在哪,它们状态如何,与车辆间有何关系。
最重要的是,它必须在没有任何导航信息的路况下完成这一切。
Karpathy 强调,基于视觉的自动驾驶,在技术角度更难实现,因为它要求神经网络仅仅基于视频输入就能达到超强性能的输出。「不过,一旦取得了突破,就能获得通用视觉系统,方便部署在地球的任何地方。」
有了通用 视觉系统 ,车辆就不再需要什么补充信息了。
Karpathy 认为,特斯拉正在朝这个方向努力。在此之前,特斯拉自动驾驶依靠的是毫米波雷达与摄像头双重冗余,而现在的新车则直接砍掉了毫米波雷达。
「我们抛弃了毫米波雷达,车辆只靠视觉来行驶。」Karpathy 表示。
在他看来,特斯拉的深度学习系统已经比毫米波雷达强一百倍,现在的毫米波雷达已经开始拖后腿了。
2
监督学习
对于纯计算视觉方案,行业里的主流声音是,谁也说不清神经网络能否在没有激光雷达深度地图的情况下完成测距和深度估算。
「人类驾驶依靠的是视觉,所以我们的神经网络是可以处理视觉输入,并以此理解周边物体深度与速度的。」Karpathy 解释道。「不过最大问题在于,合成的神经网络能否做到这一点。我认为,通过过去几个月的工作,特斯拉内部已经达成明确共识,我们训练出的神经网络能担此大任。」
特斯拉工程师想打造的深度学习系统,除了要处理深度、速度和加速度信息,还要同时进行目标探测。
在他们看来,这是 监督学习 的问题,即神经网络在对标记数据进行训练后,学习目标探测及其相关属性。
为了训练深度学习架构,特斯拉团队需要一个由数以百万计视频组成的庞大数据集,并仔细标记其中的目标及其属性。
当然,为自动驾驶汽车创建数据集也颇为棘手,工程师们必须确保数据集有多样化的道路设置和不经常出现的边缘情况。
Karpathy 表示:「以我的经验来看,如果你有一个干净且多样化的大型数据集,并以此为基础训练一个庞大的神经网络,成功是有保证的」。
3
会自动打标签的数据集
借助数百万辆「全副武装」的特斯拉电动车,特斯拉在视觉深度学习模型的训练上有着得天独厚的数据优势。
目前,特斯拉的自动驾驶团队已经积累了 1.5PB 的海量数据,包括 100 万 个 10 秒 的视频和 60 亿 个带有包围框与深度、速度标签的目标。
不过,给这样的数据集打标签是一个巨大的挑战。
一种方法是通过数据标签公对其进行人工标注。这需要花费大量的人工与时间。
相反,特斯拉团队使用了一种自动标记的技术。
由于数据集是离线标记的,因此神经网络可以来回观看视频,将它们的预测与事实进行比较,并不断调整参数。
这与测试时的推理就形成了鲜明对比。
在测试时一切都在实时发生,深度学习模型无法进行追溯。
离线标记还使工程师们能够应用非常强大且计算密集型的物体检测网络,这些网络无法部署在汽车上,也不能用于实时、低延迟的应用。
同时,他们还使用雷达传感器数据来进一步验证神经网络的推断,以上种种都提高了标签网络的精度。
「离线有离线好处,在数据融合上你可以做得更好,」Karpathy 说道。「此外,你还能让人类参与进来,他们可以进行更精准的验证、编辑等工作。」
Karpathy 在 CVPR 上展示的视频显示,目标探测网络在穿过障碍、灰尘和云雪时能维持较为一致的水准。
不过,他并没有明确解释自动标签系统到底需要多少人力来进行最终修正。但可以肯定的是,人类的参与,在引导自动标签系统向正确的方向发展上发挥了关键作用。
另外,在开发数据集时,特斯拉团队还发现,有 200 多个触发因素表明目标探测需要不断调整。
这些问题包括不同摄像头探测结果的不一致,或者摄像头和雷达之间探测结果不一致。他们还确定了可能需要特别注意的场景,如隧道进出和顶部有物体的汽车。
特斯拉花了四个月的时间来开发和掌握这些触发因素。
随着标签网络逐步迭代,「 影子模式 」中也多了新的功能。
这意味着标签网络真正进入了消费者的车辆中,而且是在不向汽车发出指令的情况下默默运行。
在后端,特斯拉工程师会拿这一网络的输出与传统网络、雷达和司机的行为进行比较。
特斯拉团队经历了 七次数据工程迭代 。
他们起先从一个初始数据集开始训练他们的神经网络。
随后,他们又在真车的影子模式中整合了深度学习,并使用触发因素来检测不一致的地方、错误和特殊情况。
接着再对错误进行修订、纠正。
如果有必要,他们还会将新的数据添加到数据集中。
「我们一遍又一遍进行这个循环,直到神经网络变得非常棒,」Karpathy 说道。
正因如此,我们可以将这一架构描述为——一个具有巧妙分工的半自动标签系统,其中神经网络做重复性的工作,人类负责高层次的认知问题和边缘情况。
有趣的是,当一位与会者问 Karpathy 触发因素的生成是否可以自动化时,他回应称:
「触发因素的自动化非常棘手,因为你可以有通用的触发因素,但它们很难正确反馈所有情况。例如,对进入和离开隧道进行触发,我们到底需要什么触发因素。在这种问题上,人类靠的是直觉。」
4
分层的深度学习架构
特斯拉自动驾驶团队需要一个精心设计的高效神经网络,以充分利用他们收集到的高质量数据集。
为此,他们创建了一个分层的深度学习架构,由不同的神经网络组成,处理信息并将输出信息反馈给下一组网络。 深度学习模型使用卷积神经网络,从安装在车身八个摄像头采集的视频中提取特征,并使用网络将它们融合在一起。
随后,它跨越时间线将各类特征融合在一起。
这对诸如轨迹预测和平滑推理不一致的任务很重要。
在这之后,空间和时间特征被送入神经网络的分支结构中,Karpathy 将其描述为 头部 、 树干 和 终端 。
Karpathy 指出:「你想要这种分支结构,是因为这样能带来大量高价值的输出,但你不能为每个输出都准备一个神经网络」。
分层结构让特斯拉可以针对不同任务重复使用组件,并在不同的推理路径之间完成特征共享。
神经网络模块化结构的另一个好处是可以进行分布式开发。
特斯拉目前组建了一个大型的机器学习工程师团队,专门从事自动驾驶神经网络的研究。
他们每个人都负责神经网络的一个小组件,并将自己的成果放到更大的网络中。
「我们有一个大约 20 人的团队 ,正在全职训练神经网络,他们都在为同一个神经网络添砖加瓦」。Karpathy 说道。
5
垂直整合
在 CVPR 的演讲中,Karpathy 还分享了一些特斯拉训练和微调深度学习模型所用超级计算机的细节。
特斯拉的 计算集群 由 80 个节点组成,每个节点包含 8 个 英伟达 A100 GPU 和 80 GB 的显存,相当于 5760 个 GPU 和超过 450 TB 的 VRAM。
这个超级计算机还拥有 10 PB 的 NVME 超高速存储和 640 tbps 的网络能力,用来连接所有的节点,并支撑高效的神经网络分布式训练。 特斯拉还设计并自研了 车载 AI 芯片 。
「特斯拉的芯片转为神经网络设计,用来支撑全自动驾驶应用。」Karpathy 说道。 特斯拉的最大优势在于其强大的垂直整合能力——不仅拥有完整的自动驾驶解决方案,同时还能制造电动汽车和自动驾驶硬件。
现在的特斯拉,处在一个独特的位置,不但能从其售出的数百万辆汽车中收集各种数据,借助强悍的计算集群,还可以在其独有的数据集上创建和训练神经网络,并通过影子模式在其售出的电动车上验证和微调这些神经网络。
当然,特斯拉还拥有一支由机器学习工程师、研究人员和硬件设计师组成的强大团队,能将所有的碎片信息进行深度整合。
这种垂直整合外加创建数据、调整机器学习模型并将其部署在车辆上重复循环的方案,使特斯拉打造了业界独一无二的纯视觉自动驾驶解决方案。
在演讲中,Karpathy 还展示了多个例子,比如新的神经网络,已经超过了需要结合雷达信息的传统机器学习模型。
Karpathy 也相信,如果这一系统继续进化,特斯拉可能会直接断了激光雷达的活路。更可怕的是,没有其他公司能够复制特斯拉的成功之路。
6
未解决的问题
还有一个问题是,当下的深度学习是否足以克服自动驾驶所有挑战。
当然,目标探测、速度及距离估算也在驾驶中发挥了很大作用。
不过,人类视觉还执行着许多其他复杂的功能,科学家称之为视觉的 "暗物质"。这些都是分析视觉输入的重要组成部分。
深度学习模型在进行因果推理时非常吃力,当模型面对它以前没有见过的新情况时,就会举棋不定。
也就是说,虽然特斯拉已经设法搭建了一个非常庞大且多样化的数据集,但开放道路同样非常复杂,各种无法预测的事情随时可能发生。
当下的 AI 界,在某些问题上依然存在分歧,比如是否需要明确将因果关系和推理整合到深度神经网络中,或者说,是否可以通过「 直接拟合 」来克服因果关系的障碍——即一个大型的、分布良好的数据集是否能支撑适用于万事万物的深度学习。
从目前来看,特斯拉基于视觉的自动驾驶团队似乎更倾向于后者。
至于特斯拉的技术能否经受住时间的考验,我们拭目以待。