Simulator Ensembles for Trustworthy Autonomous Driving Systems Testing
本文介绍了 MultiSim,这是一种基于搜索的测试方法,它利用仿真器集成来优先识别并发现自动驾驶系统的仿真器无关型失效场景,证明了其相比于单仿真器或独立多仿真器测试方法具有显著更高的有效性和效率。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下你正在训练一辆机器人汽车自动驾驶。你不能直接把它放到真实的公路上,那样太危险也太昂贵了。所以,你构建了一个数字游乐场——一个视频游戏世界,让这辆车可以在其中发生碰撞、打滑,并从错误中学习。这就是工程师们所称的模拟器(simulator)。
但棘手的地方在于,并不只有一种视频游戏引擎。有很多种,就像不同的游戏机品牌一样。就像游戏在 PlayStation 和 Xbox 上的表现或外观可能会略有不同一样,这些驾驶模拟器有时也会产生分歧。
问题所在:“不稳定”的游戏机
这篇论文指出了一个令人沮ros的问题:有时,机器人汽车在一种模拟器中表现完美,但在另一种模拟器中却会发生碰撞,即使道路看起来完全一样。这被称为**“不稳定性”(flakiness)**。这就像你在玩一个游戏关卡时,一个显示“游戏结束”,但当你尝试完全相同的操作在另一台游戏机上时,它却显示“关卡完成”。
如果你只在一个模拟器上测试你的机器人汽车,你可能会认为你发现了一个危险的缺陷,但实际上那只是特定游戏引擎的一个小故障。或者更糟的是,你可能认为汽车是安全的,因为它在一个引擎中通过了测试,但它在另一个引擎中其实会发生碰撞。这使得测试很难让人信任。
解决方案:“模拟器委员会”
作者 Lev Sorokin、Matteo Biagiola 和 Andrea Stocco 提出了一种名为 MultiSim 的新测试方法。与其只问一个模拟器:“这条路安全吗?”,不如同时询问一整个模拟器团队。
把这想象成一场选秀节目的评委小组。
- 旧方法(单模拟器): 你问一位评委。如果他们说“你被解雇了”,你就解雇这个表演者。但也许那位评委只是讨厌你的音乐风格。
- 旧的多路方法 (DSS): 你分别询问两位评委。如果两人都说“被解雇”,你就解雇这个表演者。但你必须等待两场独立的表演都结束后才能做出决定。
- 新方法 (MultiSim): 你让表演者同时站在所有评委面前。只有当所有评委都一致认为表现很差时,你才会保留该表演。如果一位评委说“很棒!”,而另一位说“糟糕!”,系统就会暂时忽略这个表演,因为这种分歧表明问题可能出在评委(模拟器)身上,而不是表演者(汽车)身上。
通过同时在多个模拟器上运行测试,MultiSim 过滤掉了由模拟器故障引起的“虚假”失败。它只保留那些在所有地方都会发生的“真实”失败。
他们的发现
团队在三种不同的机器人汽车(使用不同的脑架构,如 CNN 和 Transformer)和三种不同的模拟器(BeamNG、Donkey 和 Udacity)上测试了这个想法。
以下是数据说明:
- 更擅长发现真实问题: 与仅使用单个模拟器进行测试相比,MultiSim 多发现了 66% 的“模拟器无关型”(simulator-agnostic)失败(即在所有模拟器中都会发生的真实问题)。
- 击败竞争对手: 与之前的最佳方法(称为 DSS)相比,MultiSim 发现的有效失败次数最多可达 3.4 倍。
- 成功率: 在所有的测试中,MultiSim 识别出的发现中有 70% 是有效失败。相比之下,单模拟器方法仅为 47%,而旧的多模拟器方法 (DSS) 为 65%。
- 速度: 它并没有拖慢进度。找到第一个真实失败所需的时间与其他方法大致相当,尽管结果的波动稍大一些。
“魔力水晶球”升级版
研究人员还尝试让 MultiSim 变得更聪明。他们训练了一个机器学习模型(“代理模型”)来充当“水晶球”。在运行沉重且缓慢的模拟器之前,这个水晶球会预测:“嘿,这两个模拟器会对这条路产生分歧。先别急着运行它!”
这个技巧效果很好。它帮助系统跳过了浪费时间的测试,并将精力集中在有趣的测试上。在他们的测试中,这个升级使发现的有效失败数量平均增加了约 38%,并使搜索过程更加稳定。
他们没有证明什么
了解这篇论文并未声称的内容很重要。
- 它不是解决一切问题的万灵药: 论文明确排除了“你可以直接忽略模拟器差异”的想法。你必须检查这些差异。
- 它并非针对所有汽车的终极方案: 他们针对三种特定类型的车道保持型汽车进行了测试。他们暗示这可能适用于紧急制动等其他系统,但尚未证明这一点。
- 它并没有修复模拟器: 他们没有深入到模拟器的代码中去修复导致分歧的 Bug。他们只是构建了一个能够绕过 Bug 的系统,即通过忽略那些意见不一的情况来工作。
- 它是基于模拟的: 结果是基于在这些数字世界中运行测试得出的。他们还没有证明这在真实的道路上的真实汽车上同样有效,尽管目标是让现实世界的测试变得更安全。
底线
论文表明,如果你想发现自动驾驶汽车中真正的危险缺陷,不要只信任一个视频游戏引擎。要信任一个团队。通过在一组模拟器中运行测试,并且只听取那些达成一致的意见,你可以更快、更有信心地发现真正的危险。这是在汽车真正驶上街道之前,一种更聪明的“假设”游戏玩法。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。