2018 年 11 月,国外科技媒体 The Information 曝料,称特斯拉使用的是名为「模仿学习」(imitation learning)的机器学习技术:
「与其他自动驾驶公司不同,特斯拉售出的所有车都是数据收割机,即使 Autopilot 处于关闭状态,车辆传感器也能照常工作。
因此,Autopilot 团队手中有用不完的数据,他们能从中发现人类驾驶员在不同场景下的驾驶方式,并对其进行模仿。
在取其精华,去其糟粕后,这部分信息就成了车辆在特定场景下行驶的辅助附加因素,它们能教会车辆如何转弯或躲避障碍物。」
The Information 在文中转述了那些模仿学习「信徒」的理念:特斯拉工程师相信,只要给神经网络灌入足够多的驾驶数据,就能让 Autopilot 学会大多数情况下的转向、刹车和加速操控。
他们甚至认为,未来连代码都不用写了,在特定场景下,自动驾驶系统就知道该怎么做。
这些工程师并不是盲目乐观,因为他们提出这些观点几个月后,谷歌旗下的 DeepMind 就用模仿学习让 AI 成了《星际争霸》顶级高手。
而在此前,这款游戏是 AI「修仙」路上的一座高峰。
就连 Google Brain(谷歌 X 实验室重要项目)机器学习工程师 Alex Irpan 都为此感到吃惊:
「我们一直觉得这种长期任务是模仿学习的死穴,此前我甚至认为它根本玩不转《星际争霸》,谁知道结果如此出人意料。我们的担忧在于,如果 AI 犯了错,它会发现自己处于没有人类习惯可模仿的尴尬境地。」
Irpan 推测认为,只要数据量够了,DeepMind 的 AI 就能成功跨过这个坎:
「如果你的数据集非常大,囊括了不同级别的技巧,比如将所有玩过《星际争霸》的玩家操作都记录在内,那么你的数据就足够让 AI 学会如何在作出错误判断后成功翻盘了。」
在今年 4 月特斯拉的 Autonomy Day 发布会上,特斯拉 AI 主管 Andrej Karpathy 亲口证实了模仿学习的存在。
事实上,他还透露称,模仿学习已经在一定程度上用到了量产版的 Autopilot 上。
Karpathy 还坚信,当下靠手工编码的任务,未来靠模仿学习会更加出色。
显然,如果一切顺利,特斯拉也能像 DeepMind 一样在自动驾驶行业横扫一切。
更重要的是,业内根本没有什么竞争对手。
因为除了特斯拉,谁也没有 60 万辆在路上勤劳采集数据的车辆,而这些车辆每天在各种路况下能累积 2000 万英里的行驶里程。
即使强如 Waymo,手上也没有如此体量的数据集,因为 Waymo 的测试车保有量只有特斯拉车队的 0.1%。
虽然能采集数据的车辆众多,但想从这些随机上传的数据中找到有用的部分并不容易。因此,特斯拉需要找到捕捉各种不同驾驶习惯的新方式。
对大多数公司来说,手动采集是最直接的方式。
特斯拉工程师可以在系统中植入上传触发器,只要某些数据符合要求,就会自动保存并上传,比如无保护左转。
他们也确实这么做了:当车辆的视觉神经网络探测到了交通信号灯,或驾驶员向左打了方向盘,车辆就会记录下这个片段,随后通过 Wi-Fi 回传。
不过,那些工程师们想不到的行为怎么办?如果神经网络犯了错误怎么办?
在这样的情况下,Autopilot 的介入是最理想的触发器。Musk 表示,特斯拉的方法是「将这一切看作错误的输入」。
如果 Autopilot 的介入被视为错误,那么随后人类驾驶员的动作就是正确行为最好的示范。
这样一来,Autopilot 的介入就能持续提供有用的训练数据了。
当然,在驾驶员操作模式下我们也能采集训练数据。为此,特斯拉专门设计了一个「影子模式」。
The Information 在文章中对其进行了一番描述:
业内也有不少评价,认为特斯拉所谓「影子模式」对新 Autopilot 软件的开发价值不大,毕竟特斯拉本来就能在不影响车辆行驶的情况下运行各种测试软件。
Autopilot 的工程师完全可以拿测试软件的表现与车辆实际表现进行对比。在「影子模式」下,Autopilot 团队则能对人类与 Autopilot 在相同场景下的反应进行对比。
用模仿学习训练的神经网络可以在车载计算机上被动运行,同时输出它眼中的最佳选择。如果人类驾驶员有不同反应,就能触发这个片段的数据上传。
一旦出现「意见相左」,神经网络的抉择就会被判错,而驾驶员的操作则成为正确示范。
除了在人与计算机意见相左时保存数据,特斯拉还能在神经网络「怀疑」自己时保存数据。
当下,市场上已经有了不少试图量化神经网络不确定性的技术,当这个数值超过某个阀值,就会触发数据的保存和上传。
因此,从广义上来讲,特斯拉共有三种采集有价值数据的方法:
鉴于特斯拉的硬盘每天都能接收 2000 万英里数据,因此想采集大型数据集(包括不同的驾驶习惯和纠错示范)并不难。
截止今年 10 月,特斯拉 Autopilot 行驶里程为 18.8 亿英里来源:https://lexfridman.com/tesla-autopilot-miles-and-vehicles/
不过,对 Waymo 这样两年才跑 2000 万英里的公司来说,这种方案不太实际了。
如果 DeepMind 手上只有数百个玩家的数据,它的 AI 还能制霸《星际争霸》吗?
恐怕没有希望。
这并不是小看他们,现实是当下的神经网络对数据的胃口实在是太大了。
对人来说,一个小时内学会玩《星际争霸》并非难事,但想在同样时间内训练出同样水平的神经网络,就得有数百万甚至上亿个千变万化的例子打基础。
同样的,即使神经网络能从庞大的驾驶数据中学到一些驾驶的精髓,想与人类媲美也得将错误率拉低到 0.1% 以下。
鉴于边际效益会随着数据的增多而递减,因此,只有真正海量的数据库才能解决问题。
不过,海量的数据库不是我们想搭就能搭起来的。举例来说,如果我们想要 1 万个极端情况的示例,前提是得累计 100 亿英里的行驶里程。
对特斯拉来说,是有希望实现的。因为随着新车的持续交付,未来 17 个月就能搞定 100 亿英里。
而 Waymo 现在的车队规模,实现这一目标得 800 年。
这就是特斯拉的自动驾驶解决之道:
对那些无法人工编码的驾驶任务进行模仿学习,配合计算视觉与行为预测的深度学习,以及那个无所不包的海量数据集。
Musk 相信,特斯拉将在 2020 年底解决全自动驾驶问题。不过,业界普遍认为 Musk 定的时间点有些激进。
在他们看来,自动驾驶技术的开发是人工处理的过程。
按照这种理解,开发自动驾驶软件需要工程师不断对代码进行修改,因此人的速度就是天花板,即使添加更多工程师也快不了多少。
但现在还是这种思路吗?
DeepMind 为了攻克《星际争霸》,花了三年时间研究。不过,用上了模仿学习后,将 AI 训练到人类级别只用了三天。
为什么能这么快?
因为训练流程已经能自己写出《星际争霸》的对战代码,而前三年人类的工作主要是为了标定这个训练流程,特别是神经网络架构和数据集。
火箭工程师们走的也是这个路子,火箭前期的设计与建造会花费他们大量时间,几年之内甚至一点成功都见不到。
不过,当万事俱备,十秒钟的倒计时后就能见证奇迹。从时间的维度看,前几年毫无作为,最后几秒突然爆发。
事实上,研究和工程的进展都被隐藏在了幕后。
显然,现在的特斯拉正在通过一系列工作搭建自己的训练流程。
举例来说,特斯拉全新的计算硬件还没火力全开,为新硬件设计的神经网络也还在开发与测试中,他们正在为未来积聚力量。
至于今年 4 月展示的那版全自动驾驶软件,据说只是三个月神经网络训练的结果,软件开发对应的场景也相当单一。
而就在一年之前,特斯拉才刚刚掌握高速上的车道保持功能,当时特斯拉还推了一个 OTA 升级包修复了车辆在车道线间反复摇摆的漏洞。
Karpathy 指出,那次的升级,特斯拉「重写了很多东西」。从那时起,Karpathy 的团队和 Autopilot 部门的其他技术专家们一直在为 Autopilot 打地基,特别是计算视觉。
如果特斯拉不推送升级包,公众就看不到他们努力的结果。
至于一些城市驾驶功能是否适合部署,则纯粹是二进制而非增量问题,最终一切都得由特斯拉来决断,外部是根本看不到其中的渐进发展过程的。
全自动驾驶汽车,不但能彻底颠覆 Uber、滴滴、Lyft 与传统出租车公司苦心建造的王朝,还能让传统的私人拥车制分崩离析。
美国汽车协会的数据显示,购买并使用一辆新车,每英里平均要花掉 0.62 美元。而投资机构 ARK 预计,自动驾驶出租车的生产与运营成本仅为 0.26 美元/英里。
如果套用 ARK 的经济模型:
「只要自动驾驶出租车公司将价格定在 0.45 美元/英里,比小型轿车稍低(拥车成本为 0.47 美元/英里),那么自动驾驶出租车每英里依然能盈利 0.19 美元。
假设一辆车每年运营 12.7 万英里(几乎是当下传统出租车运营里程的 1.8 倍),每英里收费 0.45 美元,一年利润就有 2.62 万美元。
如果有 100 万辆这样的自动驾驶出租车,就意味着能每年净赚 262 亿美元。」
但别被 100 万辆车吓住了,这个数量级的出租车根本不够用:
假设用户的出行需求维持在当下的水平,每辆自动驾驶出租车就能代替 8-9 辆常规汽车(平均每年行驶 1.35 万英里)。鉴于全球常规乘用车保有量约为 10 亿辆,因此自动驾驶出租车必须有 1.1 亿-1.25 亿辆才够用。
所以,自动驾驶行业的成长空间还很大。
不过,ARK 投资的模型中有些假设需要进行调整。
比如它将自动驾驶出租车的造价定在了 5 万美元一辆,这可比现在最便宜的 Model 3(3.9 万美元)要贵上不少。
即使 Model 3 毛利只有 5%,也能从造价中再减掉 2000 美元。对特斯拉 Network 来说,这才是更合理的数字。
对自动驾驶出租车年运营里程的假设,它应该和 Uber 与传统出租车差不多,即一年 7 万英里。
需要注意的是,即使是自动驾驶汽车,也会有空驶时间。
按 Uber 的水平看,车上有乘客的时间占到车辆运营总时间的 64%。
也就是说,每年单辆车净利润 4200 美元才更合理,100 万辆自动驾驶出租车则能净赚 42 亿美元。
当然,毛利与价格是紧密挂钩的,而 0.45 美元/英里的定价已经相当低廉。如前所述,私家乘用车平均每英里要的价格是 0.62 美元。
如果打车费用定在 0.6 美元/英里,相同的特斯拉车型每年能净赚 1.08 万美元。
无论怎么计算,自动驾驶出租车都会成为成本大杀器:
另外,我们还得关注车辆寿命。
一辆传统燃油车,20 万英里后的维保成本会迅速攀高。电动车在这方面有优势,比如当下特斯拉电池组使用 50 万英里没有问题。
这也就意味着,普通用户得驾驶 37 年才能耗尽特斯拉电池组的寿命。而 100 万英里使用寿命的特斯拉新车也正在开发中。
简言之,自动驾驶出租车能解锁电动车潜在的有形资产:电动车的电池组寿命不会轻易被浪费。
不过,自动驾驶出租车和电动汽车之间的协同作用在最初可能并不明显。在这样的情况下,只要延长车辆寿命周期,才能转化为相当可观的经济价值。
如果电池和电动机的提升和改进,能为电动车增加 20 万英里的寿命,在经济上就相当于让一辆车变两辆车。
这对汽车厂商来说,少卖车等于是革了他们的命。从消费者角度考虑,一辆车开上 30 年恐怕也会是一个噩梦,毕竟在这么长时间的跨度里,汽车在各项功能上都会有脱胎换骨的提升。
但对自动驾驶汽车来说,这根本不是问题。这也是华尔街巨鳄们(麦肯锡、瑞银、摩根斯坦利等)普遍长期看好自动驾驶出租车的原因,其市场规模将达数千亿甚至上万亿美元。
如果自动驾驶汽车真能如约部署,不但会让司机们丢了饭碗,还会逐步吞掉整个汽车行业。
不过,即使到了现在,也有人怀疑这项技术的可行性:特别是近期和中期深度学习能否与人类的视觉、行为预测和驾驶能力所匹敌。
这个问题目前谁也回答不了,但我们依然能从这个趋势中看出一些端倪:
首先,如果深度学习能在近期和中期解决这些问题,特斯拉将成为自动驾驶技术的正名人。
其次,如果特斯拉实现了全自动驾驶,从外人的眼光来看,特斯拉像开了外挂一样,佛挡杀佛。
总之,特斯拉在自动驾驶上的新「套路」让我们重新认识了技术进步。
前期的缓慢开发并不意味着后续的拖沓,一个花费数年时间搭建的神经网络可能在几天内就能完成训练。而自动驾驶,有可能仅需一个 OTA 的时间,就如期而至了。