首页 行业 最新信息 查看内容

爆雷!专家4小时发现百度Apollo、英伟达DriveAV 561 个故障

2019-11-3 02:46| 发布者: | 查看: 74| 评论: 0

摘要:   来源:sciencedaily、arXiv  【新智元导读】马斯克曾说:自动驾驶永远不会完美,但比人类驾驶安全 10 倍!真是这样吗?伊利诺伊大学香槟分校的研究人员开发了一种故障评估技术,在对百度 Apollo 3.0 和英伟达 ...

  来源:sciencedaily、arXiv

  【新智元导读】马斯克曾说:“自动驾驶永远不会完美,但比人类驾驶安全 10 倍!”真是这样吗?伊利诺伊大学香槟分校的研究人员开发了一种故障评估技术,在对百度 Apollo 3.0 和英伟达专有自动驾驶系统 DriveAV 的测试中,4 小时发现了 561 个关键安全故障。

  特斯拉 CEO 马斯克曾经放话:“自动驾驶永远不会完美,但比人类驾驶安全 10 倍!”

  然而,真是这样吗?

  伊利诺伊大学香槟分校的一个研究团队在分析了自动驾驶公司 2014 年至 2017 年提交的所有安全报告(涵盖 144 辆自动驾驶汽车,累计行驶 1116605 英里)后,得出一个截然相反的结论:

  在行驶相同里程的情况下,人类驾驶汽车发生事故的可能性比自动驾驶汽车少 4000 倍

  而就在最近,这个研究团队开发的一种针对自动驾驶的故障评估技术,在对百度 Apollo 3.0 和英伟达专有自动驾驶系统 DriveAV 的测试中,短短 4 小时就发现了 561 个关键安全故障!这个研究团队致力于使用人工智能和机器学习,通过软件和硬件的改进来提高自动驾驶技术的安全性。“由于车辆电气和机械组件的复杂性,以及天气、路况、地形、交通模式和照明等外部条件的变化,使用 AI 来改进自动驾驶车辆非常困难。”伊利诺伊大学 CSL 实验室教授 Ravishankar K. Iyer 说,“目前我们正在取得进展,但安全仍是一个重大问题。”


Ravi Iyer

  研究小组目前正在开发技术和工具,从而找到影响自动驾驶车辆安全的驾驶条件和问题。使用他们的技术,可以找到大量的至关安全的场景,在这些场景中,一个小小的错误就可能酿成大祸。如此一来节省了大量的时间和金钱。在对百度 Apollo 3.0 和英伟达 DriveAV 的测试中,该团队所开发的故障注入引擎 DriveFI 在 4 小时内发现了 500 多个该软问题。


示例场景:(1) 目标 FI 导致危险状态;(2) 特斯拉自动驾驶仪的真实例子与注入故障类似

  这样的发现让这个团队的工作得到了业内的关注。该团队正在为他们的测试技术申请专利,并计划很快进行部署。理想情况下,研究人员希望公司使用这项新技术来模拟已发现的问题,并在部署汽车之前解决问题

  一、自动驾驶事故可能性比人驾驶高 4000 倍,安全评估面临挑战

  “我们团队正在应对一些挑战,”领导该项目的计算机科学博士生 Saurabh Jha 说。“解决这一挑战需要跨越科学、技术和制造的多学科努力。”

  为什么这项工作挑战性很大?因为自动驾驶是使用 AI 和机器学习来集成机械、电子和计算技术以做出实时驾驶决策的复杂系统。典型的自动驾驶系统就像放在轮子上的微型超级计算机;拥有 50 多个处理器和加速器,运行着超过 1 亿行代码,来支持计算机视觉、规划和其他机器学习任务。

  这些车辆的传感器和自动驾驶堆栈(计算软件和硬件)有可能存在问题。当一辆汽车以每小时 70 英里的速度在高速公路上行驶时,故障对司机来说可能是一个重大的安全隐患

  “如果一辆普通汽车的驾驶员感觉到诸如车辆漂移或拉力之类的问题,他/她可以调整自己的行为并将车辆引导到一个安全的停车点。”Jha 解释说:“然而,在这种情况下,除非自动驾驶汽车针对这些问题进行了训练,否则自动驾驶汽车会如何应对是不可预测的。在现实世界中,这样的例子数不胜数。”

  多数人在电脑或智能手机上遇到软件问题时,最常见的反应是关机重启。然而,此方法不建议用于自动驾驶汽车,因为耽误的每一毫秒都会影响结果,而响应稍慢一点就可能会导致死亡。在过去的几年里,由于自动驾驶引发的各种事故,人们对这种基于人工智能的系统的安全担忧不断增加。

  “现行法规要求 Uber 和 Waymo 等在公共道路上测试无人车的公司,每年要向加州车辆管理局(DMV)汇报其车辆的安全性,”CSL 和计算机科学专业的研究生 Subho Banerjee 说。“我们想了解常见的安全问题有哪些,汽车的性能如何,以及理想的安全标准是什么,以了解自动驾驶系统的设计是否足够好。”

  该团队分析了 2014 年至 2017 年提交的所有安全报告,涵盖 144 辆自动驾驶汽车,累计行驶 1116605 英里。他们发现,在行驶相同里程的情况下,人类驾驶汽车发生事故的可能性比自动驾驶汽车少 4000 倍。这意味着,自动驾驶技术不能妥善处理情况的概率之高非常惊人,往往要依靠人类驾驶员来接管。

  研究人员和公司在试图改善这种情况时遇到的一大挑战是,在自动驾驶汽车系统出现特定的问题之前,很难训练软件来克服它

  此外,软件和硬件堆栈中的错误仅在某些驾驶场景下才表现为安全关键问题。换句话说,在高速公路或空旷/不太拥挤的道路上进行的自动驾驶汽车测试可能是不够的,因为这种情况下即使发生软件/硬件故障也很少导致安全问题。


车辆模拟

  真的发生故障时,往往是在汽车已经行驶了数十万英里之后。为了测试这些自动驾驶汽车,需要花费大量的时间、金钱和精力,这使得测试过程非常低效。因此,研究团队决定使用计算机仿真环境和人工智能来加速这一过程。

  “我们将自动驾驶汽车的软件和硬件堆栈中的错误注入到计算机仿真环境中,然后收集自动驾驶汽车对这些问题的响应数据,”Jha 说。“与人类不同,当今的 AI 技术无法推理出不同驾驶场景中可能出现的错误。因此,需要大量的数据来教会软件在面对软件或硬件故障时采取正确的行动。”

  二、DriveFI:4 小时发现百度 Apollo、英伟达 DriveAV 561 个故障

  研究人员在论文“ML-based Fault Injection for Autonomous Vehicles: A Case for Bayesian Fault Injection”中,介绍了一种基于机器学习的故障注入引擎 DriveFI,它能挖掘最大程度地影响自动驾驶安全性的情况和故障,这在两个工业级自动驾驶系统(来自 NVIDIA 和百度)上得到了证明。  


论文地址:https://arxiv.org/pdf/1907.01051.pdf

  例如,DriveFI 在不到 4 小时的时间里发现了 561 个安全关键故障。相比之下,花了数周进行的随机注入实验没有发现任何安全关键故障。  


故障注入实验

  自动驾驶汽车(Autonomous vehicles, AVs)是一个复杂的系统,它使用人工智能和机器学习来集成机械、电子和计算技术以做出实时驾驶决策。AI 使自动驾驶汽车能够在复杂的环境中导航,同时保持安全范围,该安全范围由机载传感器(如相机、激光雷达、雷达)不断地测量和量化。因此,迫切需要对自动驾驶技术进行全面评估。 


ADS 的架构

  然而,在实际的驾驶环境中对这些系统进行评估一直具有挑战性,特别是由于随机故障的出现。

  故障注入(Fault injection,FI)是用于测试计算和网络物理系统在故障下的弹性和错误处理能力的一种成熟方法。基于 FI 的自动驾驶评估提出了一个独特的挑战,不仅因为自动驾驶的复杂性,也因为 AI 在这样一个自由流动的操作环境中的中心地位。

  此外,自动驾驶系统代表了软件和硬件技术的复杂集成,这些技术已经被证明容易出现硬件和软件错误。未来,代码复杂性的增加只会加剧这个问题。  


DriveFI 架构

  DriveFI 是一种用于自动驾驶的智能 FI 框架,它通过识别可能导致碰撞和事故的危险情况来应对上述挑战。

  DriveFI 包括(a)一个 FI 引擎,可以修改自动驾驶系统(ADS)的软件和硬件状态以模拟故障的发生;和(b) 基于 ML 的故障选择引擎,我们称之为贝叶斯故障注入(Bayesian fault injection),可以找到最有可能导致违反安全条件的情况和故障。相比之下,传统的 FI 技术往往不关注安全违规,在实践中表现率较低,并需要大量的测试时间。请注意,在给定一个故障模型的情况下,DriveFI 也可以执行随机 FI 来获得基线性能。

  本研究的贡献

  DriveFI 的 Bayesian FI 框架能够通过对 ADS 在故障下的行为进行因果推理和反事实推理,从而发现关键安全情况和故障。它通过(a)以车辆运动学和 AV 架构的形式整合领域知识,(b)基于横向和纵向停车距离的安全建模,(c)使用真实的故障模型来模拟软件错误,从而做到这一点。(a)、(b)和(c)被集成到一个贝叶斯网络(BN)中。

  BN 提供了一种有利的形式化方法,即用可解释的模型来对故障在 AV 系统组件之间的传播进行建模。该模型与故障注入结果可用于设计和评估 AV 的安全性。

  此外,BN 支持快速概率推理,这使得 DriveFI 能够快速找到对安全关键的故障。

  Bayesian FI 框架可以扩展到其他安全关键系统(如手术机器人)。该框架要求对安全约束条件和系统软件架构进行规范,以建模系统子组件之间的因果关系。


自动驾驶汽车的自主系统和机械系统,及其与 DriveFI 的交互作用。

  研究小组在两个工业级的 4 级 ADS 上演示了这种方法的能力和通用性,分别是DriveAV (NVIDIA 的专有 ADS)Apollo 3.0(百度的开源 ADS)

  结果

  研究团队使用三种故障模型:(a)非 ECC 保护的处理器结构中的随机故障和一致故障;(b) ADS 软件模块输出中的随机故障和一致故障;(c) ADS 模块输出中被 Bayesian FI 损坏的故障。主要结果包括:

  • 使用错误模型(b),我们编制了一个包含 98,400 个错误的列表。在模拟的驾驶场景中,如果要对所有 98,400 个故障进行彻底的评估需要 615 天。相比之下,Bayesian FI 能够在不到 4 小时的时间内找到 561 个对 AV 安全性影响最大的故障。也就是说,Bayesian FI 比传统方法快了 3690 倍。
  • Bayesian FI 能够发现导致安全隐患的关键故障和场景。(a)在 561 个已确定的故障中,460 个显示为安全隐患。(b)这 460 个故障与 68 个安全关键场景有关(总共 7200 个场景)。

  通过对挖掘出的关键故障进行检测,发现最容易发生车辆碰撞事故的 ADS 模块输出前 3 位分别是节气门值(561 个关键故障中的 24%)、PID 控制器输入(18%)和传感器融合障碍类值(15%)。Bayesian FI 用于创建违反车道的目标的 ADS 模块输出是:(a)车道类型值(2%)、(b)油门(1.4%)、(c)转向(1.4%)。56% 的故障类型从未被 Bayesian FI 使用过;例如 Bayesian FI 从未注入到相机传感器对象分类模块的输出中。


使用 FI 获得的故障/错误影响表征

  • 相比之下,在 5000 次 random FI 试验的几周内,没有发现一个安全隐患。只有 1.93% 的单比特注入导致了静态数据损坏(SDC),从而导致启动错误。ADS 从所有这些错误中恢复了,没有任何安全违规。在 7.35% 的 FIs 中,发生了内核恐慌和死机。预期可以通过 AV 中现有的备份/冗余系统从这些故障中恢复。

  作者表示,Bayesian FI 方法挖掘关键情况将具有比故障注入法更广泛的适用性。结合一系列故障注入实验的结果来创建一个情况库,将有助于制造商制定 AV 测试和安全驾驶的规则和条件。

  三、自动驾驶问题多,离真正上路还有多远?

  这项新研究表明,即使像百度、英伟达这些大厂的自动驾驶技术也存在不少问题,而且自动驾驶技术还有很多不能妥善处理情况,往往要依靠人类驾驶员来接管。

  对于自动驾驶这一新生事物,安全性是最受关注的,以至于一旦无人车发生事故立刻就会成爆炸新闻。自 2016 年初以来,加州共报告了 111 起涉及自动驾驶汽车的撞车事故(这还不包括可能造成的事故风险)。根据对 DMV 报告的分析,其中 71 起事故发生时,车辆处于自动驾驶模式。其中,有接近 70% 涉及自动驾驶车辆被追尾事故。

  最典型的是 Uber 去年 3 月的“全球首起无人驾驶致死”事故:一辆处于自动驾驶模式的 Uber 无人车在道路测试时发生致死车祸。

  事件发生于凤凰城以东 11 英里的 Tempe 镇。当时,Uber 无人车正在向北行驶,一名女子在人行横道外穿,被车辆撞倒,被送往医院后,由于伤势过重死亡。尽管经过近一年的调查后证明,Uber 在这起事故中不担刑责,但事故直接导致 Uber 自动驾驶业务元气大伤。

  对自动驾驶技术颇为激进的特斯拉,其 Autopilot 自动驾驶仪也频频发生事故,包括一起“一辆 Model X 在自动驾驶模式下撞上高速公路护栏”的致死事故,装上卡车、追尾消防车等等,每一起事故都冲击着大众对自动驾驶的信任度。


特斯拉自动驾驶致死车祸

  这样看来,在无人车上路前就检测到可能存在的自动驾驶系统的故障显得尤为重要。对于伊利诺伊大学香槟分校的研究团队在 4 小时内发现了百度 Apollo 3.0、英伟达 DriveAV 系统存在 561 个故障,你怎么看?你觉得自动驾驶什么时候才能真正上路呢?


鲜花

握手

雷人

路过

鸡蛋
毒镜头:老镜头、摄影器材资料库、老镜头样片、摄影
爱评测 aipingce.com  
返回顶部