正文
理性地说,这种担忧毫无意义:汽车的事故率要比飞机高得多,但是只要飞机失事就会被占据新闻头条,最后,我们开始担忧飞机而不是汽车。
对于人类驾驶造成的事故,我们可能会想,“这可能发生在我身上,我也可能犯这样的错。”如果是一台机器,我担心人们并不会因此产生同理心,因为他们只会希望这台机器是完美、不会出错的。我们知道,AI系统,特别是基于机器学习的AI系统,并不是十全十美、毫无缺点的。
由于通过传感器获取的外部信息维度太大,汽车会接收以前从未训练过的信息,我们期望它能够根据这些信息对周围环境做出合理认知。
每隔一段时间,当我们取得新进展时,就可能因为认知系统的错误,导致事故发生。当事故发生后,我们能够说什么?我们又要责怪谁?我们不知道这个答案,但这是一个非常重要的问题。
4. 机器学习以及“The Car Can Explain”项目
问:前谷歌自动驾驶汽车负责人、现TRI CTO James Kuffner在CES上谈到了云机器人。自动驾驶汽车不可能完全避免事故,但是每当事故发生之后,汽车厂商能否查出事故的原因,并及时给推送软件更新,防止此类事故再次发生?
Pratt:
我认为这是很有可能的。
实际上,如果做不到这一点才会让人惊讶。我们有非常详细的驾驶日志,来记录车祸时的情况。你问了一个很有趣的问题:我们能够找到真正的事故原因吗?
为什么说有趣呢?因为机器学习系统,特别是深度学习,虽然有很强悍的性能表现,但实际上它并不会通过分析得出答案,也正是如此,才让寻找事故的原因变得非常困难。
我们在MIT以及其他地方都有研究,希望能够在这方面取得进展。目前我们资助MIT教授Gerald Sussman的一个项目——“The Car Can Explain”,就在做这一方面的研究。
日志就在那里,但是谁才应该为错误负责?这是一个更难的问题。我们能做些什么来确保这种错误不会再次发生?“我今天修补了这个漏洞,明天又修补了另一个漏洞......”但是这个系统太过庞大,很多地方都可能会出现问题。
事实证明,测试、测试、测试是最重要的事情。在全球范围内,汽车行驶的总里程约为10万亿公里。因此,如果你只测试几百公里,它很难覆盖到所有情况。你需要通过另一种方式来提升它的能力,解决这个问题——加速模拟测试就是其中关键一环。我们不会模拟那种完美情况:风和日丽、交通顺畅,我们要模拟的是恶劣的天气和环境。
Rod Brooks有句话说的很对:“模拟是通往成功的必经之路”。同时,我们很清楚模拟的种种缺陷,因此我们也做了很多路测来验证模拟的结果。我们也会使用模拟器测试一些不属于常规测试的项目,这些项目很可能是事故发生的原因。
比如,当一辆自动驾驶汽车碰到路怒症司机,就算那个司机不遵守规则,不按常理出牌,自动驾驶系统也需要做出正确的决策。
我们不会在现实中反复测试这种情况,因为大多数时候都是以撞车而收场。我们会隔一段时间测一次,同时,通过模拟来增强自动驾驶系统的性能,不过这个模拟的过程非常困难。最终,这将我们带到了另一个领域:形式化方法(formal methods,适合于软件和硬件系统的描述、开发和验证)。
我们希望将模拟和形式化方法结合起来,但最终还是需要路测。深度学习是很了不起的方法,但是它并不能保证所有输入和决策行为都是正确的,想要确保它们都正确也是一件非常困难的事情。
5. 模拟人类司机可能会做出的疯狂行为
问:不论是什么级别的自动驾驶汽车,对于它们来说,人类都是最不可控的因素。每次路测,都会遇到各种人类行为,你们是如何模拟这些只有人类才会做的疯狂的事情?
Pratt:
其实这和我们模拟天气或交通状况类似。想要完全模拟人类的行为很难,因为每个人都不一样,存在太多可能性,但我们认为这在某种程度上是可行的。
作为一个司机,我们可以利用心智理论(一种能够理解自己以及周围人类心理状态的能力)想象其他司机驾驶时的行为。
首先,在自己的头脑里模拟一遍,比如当我们碰到“four way stop”(每个方向都有停车标志的十字路口)时,假如我是司机,会怎么做?心智理论意味着模拟是一件可能的事情,因为我们能够通过建立统计模型来预测其他人会有怎样的行为。
问:有时候,人类作出的反应并不一定就是安全的行为。你们如何教一辆汽车在这样的环境下做决策?
Pratt:
这是一个很有趣的问题。
当你在高速公路上行驶时,如果最高限速是55英里/小时,你是会开到55英里/小时?还是和周围司机差不多的速度?什么才是最安全的?
我不想给出一个官方回答,但这是一个难题,我们也与丰田法务部门探讨过这个问题。他们也认为很难给出一个确定答案。
6. 计算机硬件需要一场革命
问:在新闻发布会之后,您提到了一些关于如何为电动汽车中的车载计算机供电以及如何散热是一个大难题。我们一直专注于自动驾驶汽车在决策制定方面遇到的困难,但还有哪些方面也是需要我们弄清楚的?
Pratt:
我喜欢这个领域,是因为我身后有一支专攻硬件的队伍。
过去,我研究过神经生理学。计算效率非常重要,我们大脑的功耗只有50瓦,然而大部分的自动驾驶系统功耗高达几千瓦。我们大脑不止在处理驾驶这一件事情,而是会同时思考其他事情。或许,真正分配给驾驶的也就10瓦。
目前我们还不知道给自动驾驶汽车配备多高的计算性能才算是合适的。很有可能,我们将计算性能提高10倍,自动驾驶系统的性能并不会提升10倍,而只是有明显改善。如果我们将计算性能提高100倍,或许自动驾驶系统仍然有提升空间,并有所改善。
自动驾驶系统的性能会持续提升,但我不知道这会是一条怎样的增长曲线。因此,除了软件、测试等工作,我们还需要重新设计计算机硬件,让它变得和我们的大脑一样高效。
至于你提到的其他需要解决的问题,我认为传感器还有很大的发展空间。
激光雷达确实很不错,但是还有很大的改善空间。比如,采样密度仍然较低,在探测远处的汽车时,并不能和人类视觉相提并论。又比如,对于Level 3级别的自动驾驶汽车来说,需要预留时间让司机作出反应——除非你的传感器能够探测到并理解远方发生的事情,否则不可能提前提醒你。
此外,传感器还需要便宜、防震,并且能够持续工作10到20年。大多数人认为汽车的质量不高,实际上是非常高的。我曾经在DRAPA做过很多军用规格的产品,但是想要达到与汽车相当的质量是非常困难的。