特斯拉的数据收集车是否在秘密改进Autopilot的算法?

2020-09-21 02:53:53

曾经有一段时间,我可以想出一些办法,直接从原始数据中找出,然后通过这些破布向世界脱口而出我的结论,看看会发生什么。而不可避免的是,一千名专家会突然叫我闭嘴,说我太蠢了,不能阅读,更不用说写作了。除了偶尔我做对了(纯粹是运气),所以,该死的,他们不得不一直读我的作品。嗯,我回来再试一次,它来了:当自动驾驶汽车的历史被书写时,获胜者将是特斯拉。见鬼,我想他们已经赢了。

自动驾驶汽车就像图形用户界面、面向对象的编程、互联网或另一个韩国流行男孩乐队:你可以提前知道它们即将到来,并将定义未来,只是你不能完全确定它们什么时候到来,或者它们到底是什么样子。我们现在都知道,总有一天,大多数汽车都将是电动的,它们将能够自动驾驶。唯一的问题是,这最终会在什么时候发生?

如果这种过渡真的是不可避免的,那么谁先做到这一点而不杀一群人,谁就会取得巨大的成功-微软、谷歌、苹果-类型的成功。我认为获胜的公司将是埃隆·马斯克的特斯拉汽车公司,本专栏的重点是确切地解释我为什么相信这一点,因为它很大程度上是基于逻辑,而不是知识,也就是说,我可能又一次太蠢了,不能阅读,更不用说写作了。

在我们进入这个合乎逻辑的兔子洞之前,让我把它归咎于我的朋友杰里·邱(Jerry Kew),他住在英国的康沃尔(Cornwall)。几天前我们通电话的时候,杰瑞就开始了这件事。杰瑞才是聪明的那个。我只是很漂亮。

因此,我一直在阅读密歇根大学(University Of Michigan)这样的汽车行业报告,试图让我的专家们理解自动驾驶汽车。本专栏的其余大部分内容都与这篇论文有关,所以如果您想去…阅读,我会等待。

我发现这篇论文非常有趣,但它也让我想起了40多年前我在斯坦福人工智能实验室从事视频压缩软件工作时的许多氛围。那时候都是采样和算法,摩尔定律什么时候才能让我们达到实时压缩和解压缩视频的地步呢?这里的版本是,我们什么时候才能在以美元和瓦特衡量的可接受预算内自动驾驶?

但我不确定这是不是应该问的问题,因为我认为10年后的自动驾驶汽车甚至不会像本文所说的那样工作。

他们在论文中描述的解决方案太难了。41TB的地图数据在十年后可能算不上什么,但我们真的需要它吗?我们真的需要一张美国每个邮箱和井盖的地图才能离开我们的家吗?我今天开车不需要它。为什么我的自动驾驶汽车需要的数据比我作为人类司机需要的数据多出无数倍?

然后是处理过程,我认为他们是倒着来的,或者可能是从里到外的。他们似乎预计会有一个驾驶世界,在那里我会寻找驾驶体验。

我有一个十几岁的儿子,他拿到驾照还不到一个月,他刚从圣巴巴拉开车回来。他怎么可能做到这一点而不杀人呢?没错,他作为一名乘客和我一起开车了数万英里,可能还学到了一些驾驶知识和脏话,但是什么让他为这次旅行做好了准备呢?他只是运气好吗?不,他循规蹈矩,完成了一项严格规定的任务。美国101号公路距离我们家不到一英里,距离他的目的地圣巴巴拉也不到一英里,这使得漫长的车程实际上相当简单:上高速公路,向南行驶。

现在想想特斯拉。特斯拉在道路上有100多万台数据收集设备。我们称它们为汽车。特斯拉汽车没有激光雷达,但有八个摄像头和雷达。每天晚上,所有这些汽车都会以无线方式向特斯拉报告驾驶数据。我很想知道特斯拉是如何决定在这些报告中加入什么内容的。考虑到LTE连接的带宽有限,它不可能是一个完整的数据转储。他们必须挑选要报道的内容。

特斯拉对这些报告做了什么?我认为归根结底是算法、映射和异常。从逻辑上讲,他们正在努力改进他们的算法,改善他们的地图,但主要是-在已经解析了数十亿英里的驾驶数据之后-他们正在寻找以前所未有的方式测试他们的算法的异常事件。不只是三辆车接近四方停车,还有三辆汽车接近四方停车,一名司机喝醉了,另一名司机争吵,顺便说一句,还有一场地震。你不能编造这些东西--它必须真的发生。

让我们来对比一下特斯拉和谷歌的自动驾驶汽车运营Waymo。Waymo排在第一位,他们让汽车在山景城行驶了十多年,但Waymo的大部分算法开发都是基于计算机模拟,而不是实际驾驶。当然,Waymo已经驾驶了数百万英里,但他们已经模拟了数十亿英里的驾驶。唯一的问题是,将算法建立在模拟的基础上,现实生活不是模拟,它带来了意想不到的条件--我上面提到的那些例外--这些是设计师可能永远想不到的。这就是每天有数十万辆汽车上路,每周行驶5亿英里的特斯拉拥有巨大优势的地方。

回到视频压缩的类比,这就像无损压缩和有损压缩之间的区别。这篇研究论文中描述的系统试图做到无损,也就是说每100毫秒就能得出一个确定的答案,而Lossy需要的带宽少两个数量级,它将成功定义为足够好,以至于人类无法轻易分辨出不同之处。

我儿子开车去圣巴巴拉是有损失的,而不是无损失的。但这里对损失的另一个定义是,孩子回到了家,没有人受伤。

进行视频压缩的一种非常简单的方法是定义视频元素字典。解析数据,检测字典中已有的元素,将这些元素作为简单的目录号进行传输,然后将剩余带宽用于传输(尚未)在字典中的元素。每天晚上,特斯拉都在完善他们的驾驶词典,提高车队在较低带宽环境中运作和生存的能力。

记住,自动驾驶的一种状态是不驾驶。最坏的情况是,这辆车不能解决问题,所以它就停车了。这一切本身就可能将处理负荷减少了10。我们有一辆车,一本驾驶经验词典,一套相对简单的算法,可以将这些经验与任务计划结合起来,如果一切变得太难,我们还可以说“见鬼不”。

这就是我对自动驾驶实际运作方式的猜测。它什么时候能奏效是个大问题,但我对此也有一个想法。

特斯拉在他们的车里安装了双处理器系统--两台完全不同的电脑。为什么?这真的没有道理。如果真的是冗余的问题,那么应该有三台计算机,而不是两台,这样他们就可以对每一个决定进行投票,拒绝疯狂的处理器的投票。两个处理器也不能为仅仅增加内核提供很好的理由。为什么要费心去做完全的硬件复制呢?

因为每天晚上都是特斯拉的A-B测试-这是在你的车上运行的测试。一个处理器正在驾驶汽车(如果没有使用Autopilot,大多数情况下是跟随司机的行动),而第二个处理器正在运行测试版软件,模拟驾驶,并注意到两个软件版本之间的差异。乘以这个乘以每晚一百万辆车。

是否使用Autopilot并不重要:软件的发展还在继续。当测试版软件停止改进,结果显示人类驾驶和自动驾驶之间的唯一区别是自动驾驶做得更好时,它就结束了。再继续一个月、一年或十年,只是为了确认您的结果,然后宣布完全自主模式可用。这正是我相信,只要那些双处理器的汽车一直在路上,特斯拉就一直在朝着这个方向前进。

据我们所知,特斯拉的自动驾驶软件现在可能已经准备就绪。埃隆当然会在他的推文中不时地暗示这一点。这就是为什么我相信特斯拉已经赢得了自动驾驶之战,因为他们有真正的汽车面临着真正的例外,这是你在模拟中找不到的,而且他们的双处理器系统知道它知道什么。

是的,上周我和特斯拉联系过这件事。他们还没有回复。