以前Mobileye公司合伙创始人兼首席技术官Amnon Shashua坦率地表示:“当人们提到自主驾驶汽车呼之欲出时,其实他们并不知道说的是啥。”
不过,Shashua并非悲观主义者。作为一位企业主管,Shashua表示,“我们不是在等待科学革命,那要等上50年。我们只是在等待一场技术革命。”
开放问题
那么,有哪些开放问题仍然需要技术革命来回答呢?
现在是时候区分“科研项目”(正如Shashua所说的那样)自主驾驶汽车(在安静的大街上做YouTube演示)和汽车制造商需要但还未有的商用化自主驾驶汽车了。
正如笔者从Mobileye公司的首席技术官以及众多学者、行业分析师和从事自主驾驶汽车“感知”工作的企业家那里听到的那样,困扰自主驾驶汽车行业的“开放问题”清单已经变得很长了。
有些问题关联性很强,但从广义角度看,我们可以把它们分成五类:1)自主驾驶汽车的驾驶行为(在密集交通中的协商);2)更具体更深度的“增强型”学习和边缘案例;3)测试与验证(我们可以验证人工智能驾驶汽车的安全性吗?);4)安全与防篡改(防止无人驾驶汽车被黑);5)更理性却重要的“多好算够好”的问题(因为自主驾驶汽车不会很完美)。
1.驾驶行为
Mobileye公司的Shashua称之为“驾驶策略”。他的意思是自主驾驶汽车必须“在密集交通时进行协商”。The Linley Group公司高级分析师Mike Demler虽然同意这个观点,但更愿意使用术语“驾驶行为”。
“通过行为这个术语来表示我们每天一直在做的安全驾驶的各个方面,这是用车管局驾驶员手册中的规则所无法描述的。”Demler指出。
这些还不是所谓的“偏僻案例”,他认为,“正如我们在最近的优步事故中所看到的那样,安全驾驶远不止保持你的车道和观察速度限制。在信号灯变黄色或视野不清晰时,人们知道(或应该知道)应该很小心地进入十字路口。你可能不会违反任何法律,但向前行进可能也不是什么好事。”
在亚利桑那州坦佩市发生的优步事故现场。(来源:当地NBC新闻)
Demler补充道:“驾驶行为的其他例子有司机之间常见的互动,不管是好的还是坏的。当你紧跟前车行驶时你会做什么?什么时候你应该减速让其他车挤进来?如何在科思科(美国科思科连锁企业)或拥挤的购物中心轻松地找到停车场?”
他表示,“四级或五级汽车也需要做到这一点。所有的演示视频都显示的是一辆车在通畅的交通环境下行驶,这是比较容易实现的。”
驾驶策略或驾驶行为有关系的地方,是在无人驾驶汽车必须能够在没有书面规则的地方行驶,“感觉”或本能取代数字式的“书本学习”时。
2.深度的“增强学习”
Demler指出的行为问题大部分是软件问题。这里的问题不是针对物体检测的“深度学习”。举例来说,在计算机视觉中,这种深度学习可以教会机器将一个边界盒放在道路上的物体周围。这已经证明是有效的。
但在驾驶策略中,关键是深度的“增强学习”。
Mobileye公司的Shashua喜欢举双车道并线的例子——此时没有路权规则。在这个领域中,“我们喜欢使用机器学习,”Shashua表示,“机器可以通过观察数据而不是由规则编程进行学习。”
为了教授自主驾驶汽车在没有规则的情形下如何进行驾驶,机器学习是一个理想的工具。“观察和收集数据要比理解你想解决的问题的背后的规则要简单得多。”Shashua指出。
但这也是机器学习暴露其弱点的地方。
“机器学习基于的是数据统计和数据筛选能力。”Shashua表示,但它也可能“遇到极端情况而失败。”
总之,为了教授自主驾驶汽车驾驶策略,机器学习需要收集“稀有事件”(“事故”),这可不是件容易的事。
Vision Systems Intelligence(VSI)公司创始人兼首席顾问Phil Magney相信,人工智能有能力训练无人驾驶汽车的行为更像是人的行为,例如有时违反直觉地使用“一点点激进的措施实现并道”。
但数据仍然是“鸿沟”,Magney表示:“要想使人工智能被人们所接受,你需要庞大的数据来训练你的行为模型。你可以出去收集尽可能多的数据,但你仍然不可能测试到所有边界情况,而且也不可能以安全的方式做到。因此在这种情况下你必须求助于仿真数据。”
事实上,Shashua承认,当你考虑到城市与国家之间不同的“协商文化”的细微差别时就会发现,回避极端情况可能导致更多的不确定性。不同地区和不同文化下每个新版本的驾驶策略都要求收集新的数据。
缺少全球解决方案是开放问题之一,Strategy Analytics公司负责全球汽车惯例的总监Ian Riches指出。
关键问题归结于“如何保证基于机器学习的技术的安全。”Shashua认为。在他看来,这“很大程度上是一个开放的问题”。 “这是整个行业的薄弱环节。”他警告道。
3.测试与验证
Shashua演讲稿中没有提到(针对人工智能驾驶汽车的)测试与验证问题,但DeepScale公司首席执行官Forrest Iandola时刻关注着这个问题,这是一家2015年成立于山景城的初创企业。
DeepScale公司致力于加速“感知”技术,让汽车实时理解发生在车辆周边的情况。
Forrest Iandola
Iandola在学术界早已声名远扬。他和加州大学伯克利的研究人员——其中一些人现在已经加入DeepScale——共同开发了一款名为SqueezNet的深度神经网络模型(DNN)。SqueezNet不是设计去直接用于解决自主驾驶问题的,Iandola透露,但开发人员的目标是“将模型做得尽可能小,同时保持计算机视觉数据集有合理的精度。”
Iandola相信,四级自主驾驶汽车中的测试质量保证最重要。“对于二级ADAS汽车来说,功能性的安全测试也许就够了。但对于需要能够完美自主驾驶的4级车来说,你需要满足除了ISO26262以外的其他自动化测试要求。”
ISO26262非常适合用于测试发动机控制器,但并不适合测试那些必须看见并持续响应充满变数的外部世界的传感器,他解释道。“对于质量保证而言,实地驾驶测试并不是一个好的方法。”他指出,因为这种测试不可能覆盖所有有难度的物理条件(天气、地形、交通),这涉及无数难以预测的人类驾驶员行为。
他认为,这正是基于优秀仿真的测试显得重要的地方。
不过,Iandola认为实地测试也有其价值,“我们最好能够设计这样一个系统,每辆自主驾驶汽车内的每个模块都能向云持续发送具有一定置信度的‘反馈’”。
这样采用这种系统的自主驾驶汽车就不用傻等着发生碰撞,自己就可以开展自我检查,他表示。当每个模块切换到人工驾驶模式时,先要问问自己是否感到有些困惑,或问问此刻有多少置信度。模块会持续发送这些数据。这类自我检查有助于数据注解器识别最难案例,并建立质量保证模型,他解释道。
考虑到必须在自主驾驶汽车中执行的无数测试与质量保证,Iandola也建议说,这个行业需要开发一种可以分解成“多个小模块的”自主驾驶汽车平台。集中式的自主驾驶汽车平台有其优势,但缺点之一是无法判断突然出现的某些软件瑕疵或硬件问题的症结何在。
Iandola决不是鼓吹汽车行业需要回到汽车内集成不同供应商提供的100多个ECU模块的时代。他只是在寻找一种更合理的方式来构建由“多个模块”组成的平台。
Magney也认为测试与验证是个大问题。他表示,“我们正处于如何解决3级以上自主驾驶汽车的测试与验证问题的初级阶段。”
如何验证人工智能驾驶汽车的安全性“仍是一道未解难题”,他表示,“你必须定义好你能够用于测试汽车工作的流程和架构,但这项工作还没有完成。”
V模型(来源:Philip Koopman的演讲)
另外,Magney强调:“你无法证明为什么人工智能模块会在传统功能安全操作条件下发生故障。你需要一个压缩的测试与验证过程来测试实际使用和/或仿真过程中的汽车的性能。”
4.安全和防篡改
首先,今天所有人工驾驶的普通汽车都是不安全的。当汽车变成无人驾驶汽车后,问题的严重性更呈指数式上升。
由于无人驾驶汽车中的每个模块都由计算机控制,整个回路中没有人工参与,因此计算机就是司机。后座上的乘客只能听任计算机遇到的任何软硬件问题发生。由于回路中没有人类司机,攻击也变得更加容易,因为没有手握方向盘的人说,“嗨,发生了什么情况?”
另外还有一个问题。Linley Group公司的Demler补充道,“在最近举行的会议上,有人提出了一个简单的情形:某人举一块停止标牌将自主驾驶汽车逼停。自主驾驶汽车如何做才能避免被劫呢?”
5.多好才够好?
有关自主驾驶汽车的一个永恒问题则更富哲理性而不是技术性,而且是问题的核心:多好才够好?
Gill Pratt是麻省理工学院前教授,目前是成立一年的丰田研究所负责人。他在今年早些时候举办的美国国际消费电子展(CES)上的丰田新闻发布会上讨论了社会如何感知无人驾驶汽车的安全性。
Pratt表示,在美国,能够容忍人为失误的人可以接受每年35,000名交通死亡者。但他问人们能否容忍即使只有一半因自主驾驶汽车造成的死亡数。“从情感上讲,我们认为不能接受。”Pratt认为,“人们对机器造成的死亡数持零容忍态度。”
他这样解释Isaac Asimov的第一条机器人规则:“机器人不能伤害一个人,或者通过不动作而允许人类受到伤害。”
Mobileye公司的Shashua不同意Pratt和Asimov的观点。他把自主驾驶汽车的安全问题看作类似于气囊问题。“人们知道气囊可以拯救生命,但他们同样能杀人,”取决于汽车行驶的时间、速度或轨迹。“气囊杀人的情况每年都有发生,社会已经学会与之共处。”
如果自主驾驶汽车可以将致死数量从35,000减少到35或者350——假设如此,Shashua相信人们将学会与自主驾驶汽车和平共处。
Strategy Analytics公司的Riches告诉笔者:“没有人说自主驾驶汽车绝对可靠。然而,作为一个行业和社会,我们还没能提出一个稳健的衡量标准,来规定什么样的故障率是可接受的。”
Riches还补充道,“与之关联的是验证问题。如果/当我们准确地定义了一个可接受的差错率,对于用来证明某个解决方案符合必需标准所需的验证和仿真技术,我们也与之差距甚远。”