Lucas.Liu

Lucas.Liu

2021-09-06

Subscription

外行眼里的特斯拉 AI Day(一)

  1. 特斯拉
1,565

作者:温斯罗普

这段时间我看到 「车右智能」 一篇翻译的文章后有所启发,拜读原文后,想以自己的视角重新翻译一遍。

这篇 reddit 文章结合特斯拉的 AI Day 由浅入深地提供了一个很好的解读角度来衔接特斯拉的产品和它底下的一堆技术。对于里面许多的专业术语,我在顺藤摸瓜地学习和查阅了许多相关的知识后,也一并以我的理解在翻译中体现了出来。如有疏漏或偏差,欢迎大家指正和讨论。

原作者 @cosmacelf 是一位 reddit 技术作者,原文标题及链接《Layman's Explanation of Tesla AI Day》:https://www.reddit.com/r/teslamotors/comments/pcgz6d/laymans_explanation_of_tesla_ai_day

正文

全文 2,011 字

预计阅读 10 分钟

下面进入翻译的正文。

特斯拉 Autopilot 系统(后称:AP 系统)的初衷是设计一套适用于任何地点及场景的驾驶技术。这跟许多其他研发自动驾驶的汽车公司,比如:福特 Ford、通用 GM、奔驰 Mercedes 等都很不一样,这些公司的自动驾驶技术依赖于预先制作好的高精度地图,也因此只能在限定的区域内(指有高精度地图的道路上)开启自动驾驶功能。

而特斯拉的 AP 系统则是通过车身周围的 8 个摄像头实时地感知驾驶环境。特斯拉的视觉感知和车身控制系统用的是经反向传播算法(backpropagation)训练后的神经网络,结合复杂的 C++ 编码后的算法。

这里的 「反向传播算法训练后的神经网络」 与人工智能界内广泛使用的神经网络并无二致。这项技术广泛地用在了许多领域,比如:语音助手领域(Alexa、Siri— 亚马逊、苹果的语音助手)、电影推荐领域(Netflix recommendations— 网飞精选)、人脸识别领域(Apple's face recognition— 苹果手机的 face ID)等等。

这些神经网络跟我们大脑的工作原理有一些不同之处,又有一些相同之处。

在实际训练神经网络的过程中,人们会用数百万个经过处理的样本来明确地告诉神经网络需要识别和学习的内容。比如:要训练一个识别视觉图像内容的神经网络,前期就需要输入数百万张标注好一个或者多个物体的图像。而如果为了训练一个能够应对复杂场景的神经网络,需要工程师们手动地给这些物体画上框框,并同时给这些框框打上标签。如下图:

当有了数百万张标注后的图像,我们就可以开始训练神经网络了。训练神经网络是一项非常耗费运算能力的工作,往往需要用到 GPU 集群。但即使用了一个庞大的 GPU 集群,可能还是要花上好几天才能训练完,这一点儿也不足为奇。可见训练一个足够好用的神经网络所需算力之庞大。

经过训练后,现在我们拥有一个有数百万个内部参数的神经网络了,而这些参数都是在训练的过程中自动产生的。这个神经网络就可以下载到一个更小的推理处理器(inference processor)用于场景分析或者是其他指定的工作。通常而言运行场景分析、识别每一帧图像中的内容只要数毫秒就可以完成。特斯拉自己研发了 AI 推理芯片,每辆在路上跑的特斯拉都配备了 2 块自研芯片。

特斯拉 2020 年之后生产的车型配备了首款自研的车载自动驾驶芯片 Hardware 3.0,每秒的处理能力达 2300 帧图像,而上一代的 Hardware 2.5 处理能力逊色不少,每秒仅能处理 100 帧图像。

Elon Musk 曾说过每一个使用 AP 系统的用户都是在帮特斯拉训练它的神经网络,这个说法只是部分正确。首先,那台使用了 AP 系统的车并没有学习到任何新的东西,它仅会用那个已经下载下来的神经网络去分析周围的场景。它真正能帮助训练神经网络的部分是当特斯拉需要特定场景的视频时,它可以保存并上传一段 10s 长的视频片段给特斯拉的超算中心。

比如:说特斯拉的工程师想要改善对其他车子变换车道,或者突然插队变道的感知和预测功能。他们写了一段请求代码发送到世界上正在运行的所有特斯拉上,那么这些车子在任何时候但凡遇到类似的场景就会保存一段 10s 左右的片段上传到特斯拉的超算中心。数日后,可能特斯拉会收集到 10,000 条类似的变换车道的视频。而且这些视频都包含了变换车道的具体内容,因此可以说这些都是被 「自动标注好」 的视频片段。特斯拉接着就可以基于这些视频来训练神经网络了。神经网络自己会找到和学习视频里的线索,比如像其他车辆在打转向灯时、其他车辆开始出现偏移时、又或者是其他车辆车头开始出现细微的偏转时。这就是神经网络拥有了标注数据后的厉害之处,它可以不需要人工干预(或者说需要较少人工干预)自动地编写程序,自己学会识别的规律。

在重新训练神经网络之后,特斯拉会把新的神经网络下载部署到所有车子上,然后用影子模式来观察对其他车子变换车道的预测是否正确。当影子模式运行的时候,如果没有提前预测到其他车子变换车道的行为,又或者是预测其他车子将会变换车道但并没有发生,这两种情况的视频片段都会被车子标注为 「不相符」,这些 「不相符」 的数据就会被上传到特斯拉的超算中心,然后基于这些数据再去训练一个更新的神经网络。接着特斯拉会再把这个更新的神经网络部署到车子上,继续用影子模式观察预测的准确性。上述的这个过程可以不断重复,直到神经网络对其他车辆行为的预测足够准确,这时的神经网络版本才会作为一个正式 OTA firmware 更新下载到车辆上去。

每当特斯拉说自己的车队规模才是真正与对手拉开差距的秘密武器时,特斯拉的确不是在自吹自擂。特斯拉可以随时调用全球超过 100 万辆的车子,以及车子里的 AI 芯片为它训练神经网络。可以这样打个比喻,特斯拉拥有地球上迄今为止最大规模的 AI 超级电脑集群。

接下来的章节,我们会具体地讲一讲特斯拉的神经网络是如何工作的。

(且听下回分解)

本文著作权归作者所有,并授权 42 号车库独家使用,未经 42 号车库许可,不得转载使用。
Comment · 0
Owner: 0
Sort by like

Upload
大胆发表你的想法~
3
Comment