模仿学习可能成为自动驾驶的关键;
大规模的训练数据是进行模仿学习的关键;
特斯拉拥有大量的训练数据;
Waymo没有多少训练数据。
如果可以实现的话,自动驾驶将成为我们这个瑰丽的时代最大的商机之一。单在美国,所有汽车每年的驾驶里程就达到了3.22万亿英里。如果这些里程都是通过自动驾驶驶跑出来,而且自动驾驶服务供应商每英里可以得到10美分的利润,那么,自动驾驶服务提供商每年在美国市场就能获得3220亿美元的利润。正是基于这种逻辑,谷歌旗下的自动驾驶公司Waymo的估值高达2500亿美金。
对于我来说,近期关于自动驾驶的一个最为吸引人的消息就是Waymo正在其自动驾驶中使用模仿学习技术。模仿学习是机器学习技术中的一种,它的神经网络观察人类所做的事情,学习在某些环境状态下执行的动作。通过训练人类行为,神经网络学习到“如果你遇到这种环境状态,就模仿人类那样去执行动作吧”。比如,“如果你看到前面有一个停车标志,请停下车。”或者,“如果你看到一辆停止状态的汽车挡了你的路,就这样慢慢绕开它。”
Waymo的研究团队负责人Drago Anguelov最近在麻省理工学院发表了一次演讲,深入探讨了这个话题。
Waymo在可以收集大量数据时使用模仿学习。但是对于Anguelov来说,Waymo的数据集中并没有足够的训练样例来进行模仿学习。在数据不足的情况下,它必须依赖手工编码算法,而无法使用机器学习来替代。
根据推断,Waymo应该已经自动驾驶跑了大约1500万英里。假设每3000万英里出现一次需要人类接管自动驾驶系统的情况,自动驾驶系统可以借此模仿的人类行为,那么,按照Waymo现在的行驶里程,它可能还没有遇到过模仿学习的样例。即便是每100万英里有一次人类接管行为可供模仿,它也不过只有15个样例。我不知道对模仿学习来说,多少个样例才能训练出判断为“真”,但是对于那些进行图像分类的神经网络来说,一般经验是需要至少一千个样例才能识别出来一种图像(比如大白鲨)。显然,Waymo不可能遭遇过这么多次可供模仿学习的样例。
虽然Anguelov很愿意在人类的驾驶行为中进行模仿学习,但是它并没有足够的数据样例。那么,谁有这些数据呢?
特斯拉有这些数据。据估计,搭载了特斯拉最新一代自动驾驶硬件的汽车数量已经超过了40万辆,所有这些车每天的行驶里程超过1300万英里。如果汽车数量增长到100多万辆时,每月的行驶里程将达到10亿英里。显然,车辆越多,里程数也越多,可供模仿学习的人类行为样例也就越多。
The Information的记者Amir Efrati写道,特斯拉正在利用这些里程中出现的人类行为进行模仿学习,他引用了至少一位在特斯拉自动驾驶部门工作的未具名消息人士的说法:
“知情人士表示,特斯拉的汽车手机了大量的摄像头数据和来自其它各类传感器的数据,当特斯拉车主开车时,即使他们没有启用车辆的自动驾驶系统,自动驾驶研究团队也可以检查人类在各种驾驶场景中的行为并模仿它。特斯拉的工程师认为,将足够多的人类驾驶行为数据输入到神经网络中,神经网络便可以学习如何在大多数情况下进行正确转向、加速或者制动。一位团队成员表示,特斯拉车主的日常驾驶会产生足够多的数据,“你不需要其它任何东西”来教系统如何自动驾驶。”
特斯拉官方还没有证实这种说法,但是其首席执行官埃隆马斯克最近在ARK Invest的一次采访中发表了一些评论,可能就是针对模仿学习的表态,在采访中有一句话值得注意:
“我认为我们特斯拉有一个别人很难超越的优势,那就是我们拥有大量的人工干预驾驶行为数据。可以这样认为,车主自己正在训练自动驾驶系统如何驾驶汽车。驾驶中有大量的模糊和奇怪的场景,你肯定都想不到......”
还有其它的表态:
“每一次有人干预驾驶,即接管了自动驾驶系统之后,我们的自动驾驶系统便会保存这些信息并将其上传到我们的系统里。我们真的开始变得非常擅长训练系统,甚至不需要人为输入训练数据、标记人工标签了。基本上,当一个驾驶员驶过一个交叉路口时,他就会训练自动驾驶系统应该怎么做。”
当然你可以认为马斯克的表态含糊不清,有多种可能的解释。但是对于我来说,我认为模仿学习和马斯克所说的东西最为吻合。
要进行模仿学习,特斯拉不需要上传视频等任何原始传感器数据,它直接上传感知型神经网络对其所看到的场景和驾驶员行为的判断。特斯拉一位名叫greentheonly的黑客可视化地展现了在特斯拉上运行的神经网络所做出的这种感知判断:
首先,表示“驾驶场景”的可视化信息包括车辆周围的3D形式边界、表示车辆类型和距离的文本标签以及显示可行车道的“绿色地毯”。
要进行模仿学习,需要将人类驾驶员对方向盘和踏板的动作数据和可视化的“驾驶场景”信息进行配对。这些状态-动作配对不需要人类的注释,人类进行标记实在是过于昂贵而且缓慢的学习过程。他们只需要上传到特斯拉的服务器,然后就可以用来训练神经网络了。
除了Waymo对模仿学习技术的背书和特斯拉含混其词的表述,我们还有什么理由相信模仿学习可以训练神经网络来执行复杂的任务呢?对于我来说,成功实施了模仿学习的最典型案例是AlphaStar,这是由Alphabet的子公司DeepMind创建的一个神经网络。DeepMind使用模仿学习来训练AlphaStar玩一个有数百万人类玩家的星际争霸游戏。星际争霸是一款相当复杂的游戏,里面设计长远规划、高级战略部署和对军事单位的实施战术控制,这样一个烧脑的游戏对于AI来说是一个相当艰难的挑战。但是,AlphaStar仅使用了模仿学习技术,就通过在星际争霸这个游戏的排名证明了相当于人类玩家的实力,达到了DeepMind估计的性能指标。换句话说,AlphaStar使用模仿学习技术,在星际争霸中达到了中等人类技能水准。
和DeepMind使用模仿学习训练其神经网络玩星际争霸游戏一样,在自主驾驶的训练中,特斯拉利用其车辆自主驾驶系统上传的数百万驾驶场景-驾驶行为配对数据训练神经网络,就可以达到中等水平人类驾驶员的水准。驾驶行为当然很复杂,但是星际争霸游戏也很复杂。所以我不认为使用模仿学习达到的自主驾驶效果达不到AlphaStar玩星际争霸的程度。
要想使模仿学习奏效,一个非常重要的条件就是感知必须正确。如果特斯拉的感知神经网络出了错,系统将无法识别驾驶环境的真实状态,也就无法获得正确的驾驶场景-驾驶行为配对。举个例子,如果感知神经网络将红色交通信号灯错认成了绿色,它观察人类停在了这样一个信号灯前面,它就会得出一个汽车应该停在绿色交通灯处的错误结论。即使它学会了如何对一个环境进行正确反应,它也需要检测出这些环境。因此,如果它知道红灯停绿灯行,它还必须准确地识别出信号灯的颜色才能做出正确的响应。系统需要准确地感知环境以便学习要做什么动作,而且必须准确地感知环境才能应用学习成果做出这些动作。
特斯拉新的神经网络计算机可以解决环境感知问题,被称为Hardware 3。特斯拉人工智能主管Andrej Karpathy说,特斯拉已经“训练了效果很好的大型神经网络”,但是“由于计算性能的约束无法把它们部署到汽车中”。现在有了Hardware 3,特斯拉将能够运行规模更大、更为准确的感知神经网络。
对于Waymo这样无法获得大量行驶车辆数据的公司而言,很难在模拟学习上找到可以走下去的路来。由于没有足够的训练样例来完成整个驾驶任务的模仿学习,它不得不依赖手工编码算法。在计算机视觉应用中,手工编码算法这种方式早已被神经网络完全淘汰,机器翻译应用也是如此。对于像星际争霸这样复杂级别的游戏而言,手工编码的机器人不可能接近AlphaStar这样的神经网络的性能。在自主驾驶上,神经网络方法似乎也比手工编码算法更有前途。
想推进模仿学习,Waymo必须将其训练车队的数量扩大好几个数量级。一个可行的方法是,Waymo可以向汽车制造商出售高级驾驶辅助系统,并通过它来收集数据,就像特斯拉现在的做法一样。这就要求Waymo打造一个比自主驾驶的功能涵盖范围更小的精简型新产品。这个新系统必须在没有激光雷达的情况下能够使用,或者至少不需要那种通常用于自主驾驶汽车的高范围、高分辨率的激光雷达。因为这种激光雷达成本过高,不可能普及到消费级的车辆中。如果这种方式意味着Waymo可以获取到所有的驾驶数据的话,汽车制造商可能不大愿意这么做。所以,Waymo可能需要以某种方式和汽车制造商分享成果,也许它可以同意汽车制造商合作伙伴分享未来的自主驾驶服务的收入,或者允许合作伙伴购买它的大量股权。
对于福特和通用这样的巨头来说,他们倾向于垂直整合,不大可能建立这种合作关系。我可以花10亿美元小钱购买自己的“Waymo”,干嘛和谷歌的Waymo合作呢?从经济学原理上来说,可以购买自主驾驶初创公司,这会让Waymo处于艰难的谈判地位。而且,这些汽车制造商似乎并没有他们的汽车收集训练数据。
两相比较下来,特斯拉完全占了上风。出于这个原因,我认为特斯拉更有可能分走现在市场上分配给Waymo的1000多亿美元估值。也许完全自主驾驶永远不可能实现,那就不用说了。但是如果真的实现了,这个市场可能价值三万亿美金。据我所知,在这个赛道上,特斯拉比Waymo以及所有其他公司都处于更有利的位置上,特斯拉可以凭借在模仿学习上的优势分走很大很大一块蛋糕。