本文来自实验室符永乐的研究成果和学习笔记
车道变换场景下自动车辆的对抗性评估
参阅论文:「Adversarial e valuation of Auto nomous Vehicles in Lane-Change Scenarios」
「摘要」:自动驾驶汽车在部署在城市和高速公路之前必须进行综合评估。然而,大多数现有的自动驾驶汽车评估方法是静态的并且缺乏适应性,因此它们通常在为测试车辆生成具有挑战性的场景方面效率低下。「在本文中,作者提出了一个自适应评估框架,以在深度强化学习生成的对抗性环境中有效地评估自动驾驶汽车」。考虑到危险场景的多模态性质,我们使用集成模型来表示多样性的不同局部最优值。然后我们使用非参数贝叶斯方法对对抗策略进行聚类。所提出的方法在涉及自我车辆与周围车辆之间频繁交互的典型换道场景中得到验证。结果表明,我们的方法产生的对抗性场景显着降低了测试车辆的性能。我们还说明了生成的对抗环境的不同模式,可用于推断测试车辆的弱点。
「关键词」—自动驾驶汽车、车辆评估、强化学习、无监督学习。
自动驾驶汽车通常被认为是减少未来交通中交通事故的一种有前途的方法,因为它们可以避免可能导致致命事故的人类驾驶员的不合理行为。然而,如何在复杂环境中开发安全的自动驾驶系统仍然是一个悬而未决的问题 。
提高自动驾驶汽车安全性的一项基本程序是在部署前进行系统评估。业内最流行的方法是基于数据的方法,称为「自然现场操作测试」 (N-FOT) 。N-FOT的原理是在自然交通环境中测试自动驾驶汽车,这些环境是由配备传感器的车辆长时间收集的驾驶数据重建的。这种方法的一个限制是效率低下,因为在自然环境中风险场景很少见。根据美国国家公路交通安全管理局 (NHTSA) 的数据,2018 年美国有 6,734,000 起警方报告的机动车交通事故和 33,654 起致命事故,而车辆行驶的总距离为 32375 亿英里 ,这使得每次碰撞的平均距离为 48 万英里,每次致命碰撞的平均距离为 9620 万英里。风险事件的罕见性使得评估过程非常缓慢,即使在模拟中。
N-FOT 的另一个弱点是它通常是静态的,这意味着测试环境的分布是固定的,不能根据被测试车辆的行为而演变。在这种情况下,评估不仅效率低下而且不完整——如果某些风险场景模式从未出现在数据集中,它们将在评估过程中被忽略。换句话说,评估结果严重依赖于交通数据集的完整性,这是非常难以验证的。「模拟测试的方法弊端显著,非常依赖风险场景数据集的完整性,但往往这类数据库很难完善」
近年来,已经提出了几种方法来提高 N-FOT 的效率。赵[7]等人,引入了交叉熵方法的重要性采样技术来加速换道场景中的评估过程。在保持准确性的同时,评估速度比模拟中的自然驾驶测试快 2,000 到 20,000 倍。冯等人,[8] 提出了一种用于测试场景生成的自适应框架。从贝叶斯的角度来看,他们根据被测车辆的行为迭代更新风险场景的分布。他们还利用探索策略来模拟看不见的场景。然而,这些方法仍然严重依赖初始数据集。此外,他们专注于生成初始条件,而不是对自我车辆与其周围车辆之间的时序交互进行建模。
生成风险环境的另一个有希望的方向是通过对抗性学习,它最近已被广泛用于开发强大的智能 。例如,Pinto 等人, [10] 提出了鲁棒对抗强化学习 (RARL) 来训练最佳对抗代理,以对零和游戏中的干扰进行建模。李等人, [11] 将适当的近似正确(PAC)学习用于智力测试。丁等人,[12], [13] 利用基于学习的方法来生成安全关键场景。班萨尔等人, [14] 提出一个高能力的代理需要足够复杂的训练环境。然而,直接将现有的对抗学习算法应用于自动驾驶汽车的评估会存在问题。一个问题是在交通场景中,自我车辆与其周围的车辆不完全竞争,这打破了交通交互的「零和假设」。此外,大多数当前方法仅搜索最佳对抗环境,这是低效的,因为需要各种风险模式来测试自动驾驶代理的鲁棒性。据我们所知,对抗性学习框架尚未完全用于评估自动驾驶汽车。
为了解决上述挑战,作者构建了一个自适应框架,使用深度强化学习来为测试车辆生成对抗性环境。具体来说,将环境车辆视为试图干扰被测车辆的对手,并为其时序决策训练对抗策略。通过这种方式,旨在找到被测车辆的弱点并学习如何利用这些弱点。为了更好地模拟自我车辆和环境车辆之间的混合合作和竞争交互,首先设计了基于领域知识和交通规则的「非零和奖励函数」,并将场景制定为「马尔可夫决策过程 (MDP)」。然后,在训练阶段,利用集成强化学习来收集生成多样性的对抗策略的局部最优值。训练后,使用非参数贝叶斯方法对生成的风险场景进行聚类,因为潜在局部最优值的数量是未知的。当前主流评估方法与所提出方法的比较如图1所示。
建立了一个有效的自适应框架,以生成时间顺序的对抗环境,用于评估自动驾驶汽车。
设计了非零和奖励函数来模拟自我车辆与环境车辆之间的混合合作与竞争互动。
利用集成训练来收集各种风险场景,并使用非参数贝叶斯方法对其进行聚类。
一个典型的变道场景被用来评估提出的框架。结果表明,对抗性环境显著提高了基于规则和基于学习的变道模型的碰撞率。
以换道场景为例说明了所提出的对抗评估方法的优越性。我们选择变道场景有几个原因。首先,2010 - 2017年的交通事故数据显示,突然变道事故约占严重交通事故的17.0%,其次是超速事故(12.8%)和追尾事故(11.2%),表明变道机动是造成交通事故的最主要原因之一。此外,自动变道是一种频繁的驾驶动作,被认为是自动驾驶的一项重要且具有挑战性的任务,近年来受到了学术界和产业界的广泛关注。此外,它是微观交通模拟的重要组成部分,对这些模型[18]的分析结果有相当大的影响。综上所述,我们认为评价自动驾驶汽车的变道行为是一个重要的课题。
我们使用如图2所示的典型变道场景。在这个场景中有四辆车,包括三辆周围的车(跟随车、引导车和目标车)和一辆试图左变道的自我车。此外,我们简化了环境,假设只有自我车辆在变道时进行横向运动,而其他三辆环境车辆在车道上直线行驶,这是文献[19],[20]中常用的设置。车道宽度为3.2米,车辆宽度为1.85米,长度为4.83米。这些数据稍后将用于碰撞检测。
为了生成模拟真实交通的真实场景,我们使用了安全试验模型部署(SPMD)计划[21]发布的自然数据库中的指导。SPMD项目记录了密歇根州安阿伯市2842辆装备车辆两年多的自然驾驶数据。安装在车辆上的MobilEye摄像机提供了自我车辆和前面车辆之间的相对距离。相对速度是根据时间差计算的。
我们使用「SPMD数据库」(上一段提到的两年多来多辆车辆所收集的自然驾驶数据)来帮助设置每次试验的初始条件。首先,从数据库计算得到的经验分布中采样自我车辆和引导车辆之间的初始纵向距离(图3)。然后,跟随车辆和目标车辆之间的纵向距离从相同的分布中采样。由于数据集中没有提供自我车辆和跟随车辆之间的纵向距离,因此将其设置为服从于高斯分布:~μ,σ,其中μ和σ。自我车辆和目标车辆之间的纵向距离就等于。四辆车在场景中的初始速度均服从于高斯分布:~μ,σ。其中μσ。
基于上述初始设置,换道实验可以被描述为一个情景式游戏。自我车辆试图在限定的距离和时间完成内「左变道」。参照NHTSA[22]发布的测试协议,如果自我车辆的整个车身都在目标的左车道上,则判断变道成功(不发生任何事故意外)。
基于智能驾驶员模型(IDM)来控制周围车辆的初始纵向行为。在IDM的条件下,车辆α的纵向加速度为
在本章中介绍了提出的对抗性评估框架。为了评估自动驾驶代理,我们首先生成对抗环境,在这个环境中,周围的车辆(对手)试图阻止自我车辆完成任务。然后,我们对生成的环境进行聚类,并为测试自我车辆提供风险模式。提出的对抗性评价方法可以大大加快和补充传统的评价方法。
在马尔可夫博弈中,每个代理i力求使用策略π最大化它们的总预期收益γ,其中是时间
从对手的角度来看,自我车辆可以被视为环境的一一部分,然后马尔可夫博弈便退化成为了马尔可夫决策过程。在这里,我们将多个对手视为一个单一的代理,这意味着他们共享相同的奖励功能,并完全合作来挑战自我车辆。多亏了V2X基础设施(vehicle to everything),这一假设在智能交通系统中是可以实现的。
强化学习是解决MDP和为学习代理寻找最优或次优策略的强大工具。具体而言,「深度确定性策略梯度」(DDPG)已被广泛用于求解具有连续动作空间的MDP。许多研究人员还将其用于开发自动驾驶代理。因此,在本文中,我们还使用DDPG来训练对手并生成风险场景。然而,连续控制任务的其他算法也直接适用于我们的框架。DDPG具有actor-critic体系结构。其中的「actor」 μθμ是一个参数化函数,用于指定当前策略,该策略确定的将状态映射到指定的操作。「critic」 是一个动作值函数,它描述了在状态下采取了行动能够获得的遵循策略μ的预期奖励。
「critic」在基于贝尔曼方程的Q学习之后更新。考虑
参数化的函数逼近器,通过最小化损失对批评者进行优化:
这里面,β表示不同的行为策略,表示状态分布。这表明Q-学习是一种非策略算法。因此,可以使用经验重放缓冲区来消除时间相关性并提高采样效率。
「actor」通过遵循策略梯度进行更新:为了是更新能够稳定迭代,需要创建一个actor和critic网络的副本:μθμ和θ。这些目标网络的参数将缓慢更新以跟踪学习模型:θτθτθ
奖励函数是一个重要部分,直接决定敌方车辆的行为。以往的对抗性学习研究通常假设游戏是零和游戏(即上文提到的你死我活),其中对手和自我主体的奖励功能是相反的。
其中,是自我车辆的驾驶性能表现。然而,将这种奖励函数直接应用于对手会导致不合理的行为。例如,周围车辆可能会学习直接冲向ego车辆并造成碰撞,从而降低ego车辆的驾驶性能。这些不合理的情况对于自动驾驶汽车的评估并不是很有用,因为它们在现实世界中不太可能经常发生。因此,为了产生更合理的风险场景,我们放松了零和假设,并在对抗性奖励函数中添加了另一个项:
其中,是对违反交通规则的惩罚,防止对手失去理智做出不合理的举动。β是一个超参数,它决定了环境车辆的合理性。通过这种增强改进过的奖励函数,环境中的敌对车辆将在遵守交通规则的同时试图干扰自我车辆。实验部分将介绍奖励函数的具体设置。
目前大多数强化学习算法的目标是为学习主体寻找全局最优策略。为了避免陷入局部最优,他们通常会花费大量的计算精力进行探索。然而,这一原则对于生成不同的对抗场景来说效率低下。对于自动驾驶车辆的评估,我们倾向于收集不同的局部最优值,因为它们可能代表测试车辆的各种弱点。因此,为了提高效率和多样性,我们在本文中采用了局部最优,而不是避免局部最优。我们提出了用于局部最优解的集成DDPG(算法1)。我们不是训练一个代理,而是随机初始化「actor」和「critic」。为了快速收敛到局部最优,省略了探索。对于每个代理(agent),如果已经达到了局部最优或者是一个连续事件的累积奖励γ已经达到某个边界「c」我们则会停止训练,这表明已经为测试的车辆找到了具有挑战性的环境。
训练后,集合中的每个引导都可以代表测试车辆的一种风险场景。然而,其中一些可能代表类似的场景。为了更好地从集合中提取不同类型的对手,我们建议对训练结果进行无监督聚类。
学习的敌对策略μθμ的直接聚类是不可行的,因为它们是高维的深层神经网络。受到产生的对抗性模仿学习的启发,我们通过它们产生的状态分布来对不同的策略进行聚类,这些状态分布由蒙特卡洛抽样逼近。其中,表示自我车辆处于第i个对抗性情景中的状态分布。
另一个技术问题是,我们不知道集群的明确数量。传统的机器学习模型通常需要通过超参数明确选择模型容量。例如,在交通仿真中广泛使用的K-Means聚类中,聚类的个数必须是先验的,这在本文中是没有的。为了解决这个问题,我们求助于贝叶斯非参数模型,它可以从数据中自动推断模型的复杂性。具体来说,我们考虑了DP-Means,一个典型的Dirichlet过程混合模型,它导致了一个类似于K-Means目标[37]的硬聚类算法。DP-Means在图像、地质数据、生物数据、音乐等数据的聚类中得到了广泛的应用。与K-Means相比,DP-Means聚类允许任意数量的聚类。为了使用DP-Means,我们必须首先找到一个合适的超参数λ,它表示不同簇之间的近似距离。我们用[37]中提出的启发式方法寻找它:给定期望的簇的近似数目,我们首先用的平均分布初始化一个集合T。然后,迭代添加具有距离集合T最远的分布。重复此次,并将λ设置为最后一轮的最大距离。为了计算两个分布的距离,我们使用「Jensen-Shannon」散度:
然后利用λ和距离函数,利用DP-Means对对抗性环境进行聚类。环境聚类的整体算法如算法2所示。聚类过程完成后,可以提取被测车辆的对抗模式。
本文采用CARLA进行仿真。CARLA是一个用于自动驾驶研究的开源模拟器。它提供了现实的车辆动力学模型,并支持灵活的传感器配置和场景生成。我们在CARLA中构建的变道场景如图4所示,其中共有四辆车:一辆被测试的自我车,三辆对抗车,分别是跟随车、领导车和目标车。我们使用这个仿真环境来证明所提出的对抗性评估方法的有效性。
本文建立了两种典型的变道模型进行评价。一种是传统的基于规则的gap接受模型,另一种是通过强化学习进行训练。我们将这两个变道模型分别表示为和。
1)「可接受间隙模型」(Gap Acceptance Model):可接受间隙模型是大多数变道模型中的一个重要概念。在实施变道前,驾驶员评估目标车辆和跟随车辆在目标车道上的位置和速度(如图2所示),判断两者之间的距离是否足以进行变道行为。自我车辆和领先车辆之间的前方距离对于避免正面碰撞也是至关重要的。在[41]和SPMD数据库的基础上,建立了可接受间隙变道模型。
2)「强化学习模型」(Reinfocement Learning Model):强化学习可能是开发具有进化学习能力的自动驾驶汽车的强大工具,这是未来自动驾驶的一个重要特征。然而,端到端强化学习需要较长的时间才能收敛到最优策略。对于自主驾驶来说,开发一个层次框架是一种很好的方法,其中强化学习仅用于高层决策部分,而运动规划和控制部分采用硬编码开发。具体而言,本文在决策部分使用深度Q-learning来决定是否开始变道。通过最优格规划器生成所需的变道轨迹,通过模型预测控制器实现车辆的纵向和横向控制。
训练过程中的成功率和碰撞率如图5所示。因为是基于规则的模型,所以它具有静态性能。经过500轮的训练后,也收敛到了一个稳定的模型。两种模型在自然环境下的换道成功率均高于99%,是一种可靠的换道模型。然而,这也表明,在这些自然环境中直接评价他们将是低效的。接下来,我们将为他们生成对抗场景,并测试他们在这些具有挑战性的环境中的表现。
如第三节所述,DDPG用于训练自我车辆的对抗环境。我们首先介绍了变道MDP和DDPG代理的设置。
MDP的状态空间是一个9维向量空间:,其中为对抗车辆与自我车辆的距离,为车辆的速度,φ为自我车辆的偏航角,为自我车辆的横向位置。由于这是一个近场场景,我们假设所有参与者都对状态信息有完美的观察情况。
敌对车辆只有纵向的运动,所以说敌对车辆的状态空间A是一个三维向量:。a是一个取值范围在内的浮点数,+1和-1分别代表着满油状态和全刹车状态。因为DDPG已经可以处理连续的动作空间,所以不需要离散化。
对抗代理的奖励机制是β,如第三节A部分中所介绍。其中,是自我车辆的奖励函数,应表明它的驾驶表现。在变道场景中,
车辆代理完成变道任务可获得奖励,相对的如果发生碰撞,则会获得惩罚。速度项(也就是上方公式中的)提供了一个密集的奖励用于鼓励自我车辆开的更快一些。对对抗车辆来说,如果不顾交通规则,则,规则允许的情况下行驶,则。我们将β设置为默认值,并且会在后面的部分介绍它的影响。
通过算法1和算法2,我们分别使用了和两种模型训练了对抗代理。用于训练的超参数如表2所示。
DDPG中使用的「actor」模型是一个三层全连接神经网络,隐含单元数为:[64,64,3]。激活函数为前两层的ReLU和输出层的Tanh,从而得到输出。「critic」模型是一个具有隐藏单元数的四层全连接神经网络[64,64,32,1]。激活函数为前三层的ReLU和输出层的Identity。每个变道模型的集合尺寸是100,也就是说我们分别使用和两种模型训练100个对抗代理。
在图6中展示了4组学习曲线,其中表现代表了对抗代理所获得的情景累积奖励。根据该图,当停止训练时,集合中的每个引导对抗策略都已转换为稳定模型,这表明他们已成功地按计划找到局部最优。此外,不同的收敛表现表明对手已经学会了不同的方式来挑战自我车辆。我们将在后面的部分中对它们进行聚类并说明生成的风险场景。
图6中一个有趣的观察结果是,对手对基于规则的模型的性能低于对基于学习的模型。也就是说,与相比,对对抗性挑战更具鲁棒性。为了更好地说明这一点,我们使用所有学习到的敌对策略运行蒙特卡罗模拟,并在图7中绘制成功率和崩溃率的直方图。
这清楚地表明,两种换道模式在敌对环境中的成功率都很低。然而,基于碰撞率,是比更安全的控制器。结果表明,在大多数对抗场景中,能够浸在与对抗车辆的对抗之中,而则未能保持安全而发成了碰撞事件。结果并不意外:基于规则的模型是基于人类知识经验构建的,因此,它对看不见的环境更加健壮。相反,基于学习的模型只在自然场景中训练,因此很难推广到对抗性代理产生的风险更大的场景。
最后,我们在图8中比较了和在自然环境和对抗环境中的总体性能。很明显,生成的对抗性环境会显著降低和的性能。特别是对于来说,在自然环境中的99.2%成功率,而在对抗环境中则变成了90.6%的碰撞率,这是一个灾难性的变化。
在本节中,将重点关注前一节中介绍的统计结果的聚类和可视化。由于原始状态空间是9维的,因此我们使用主成分分析进行降维以实现可视化。自然场景和生成的对抗场景的简化二维状态分布如图9所示。
基于这些直方图,生成的对抗分布(图9b,9c)比自然分布(图9a)要窄得多。此外,在大多数情况下,对抗性分布集中于自然分布所罕见的状态。鉴于性能的统计结果,与自然分布相比,对抗分布也代表了更危险的场景。因此,这些数字清楚地表明,我们的方法可以有效地找到评估自主车辆的罕见风险场景。从这个意义上说,我们的方法可以看作是在高维策略空间中的一种高效搜索算法。
接下来,我们将和生成的对抗模式可视化,如图10所示。
对来说,大多数模式中的对手都已经学会了在自我车辆前面进行阻拦来阻止成功的变道行为,如图10a所示。当跟车试图最小化换道间隙时,阻拦通常由先导车辆和目标车辆完成。面对这些挑战,基于规则的车道变换模型能够在大多数实验中避免碰撞,但变道的成功率较低,为7.1%,如图8所示。
对来说,对抗性场景如图10b所示。自我车辆的行为有时候太过于强势而导致和目标车辆或者引导车辆发生碰撞。它也可能过于保守以至于没有使用安全的变道空间。自我车辆的不一致不可预测行为可以通过生成的对抗环境与图9所示的训练环境之间的不匹配来解释:自我车辆无法处理在训练过程中从未出现过的对抗场景。因此,对抗代理很容易利用的规则,从而导致了90.6%的车祸率。
在这个部分主要讨论超参数β的影响,它在对抗奖励函数结构中扮演了一个重要的角色:β,其中代表了自我车辆的驾驶表现,而是对违反交通规则的惩罚。设定了这个惩罚机制,环境中的敌对车辆就会尽可能的遵守交通规则。
根据结果,车祸率随着β的提升而下降,当β取到一个比较小的值「0.1」时车祸率非常高。这是一个比较合理的结果,β代表对抗车辆的合理性:β值很小,对抗性代理将尽其所能制造碰撞,而不考虑交通法规。为了更好地说明这一点,我们比较了图12中不同β的典型场景。当β时,跟随车辆(粉色)学会突然加速并冲向自我车辆进行碰撞,即使它是负责此次事故的车辆。因此,可以通过调节β来控制环境车辆的合理性。在本文中,我们设置β,因为我们发现它能够产生既不太激进也不太保守的各种对抗行为(数值比较适中,不会造成车辆太过于极端)。然而,对奖励函数配置进行更深入的研究是有潜在价值的。
在本文中,我们提出了一个对抗的框架来评估自动驾驶汽车的效率。仿真结果表明,对抗性环境会显著降低基于规则和基于学习的变道模型的性能。因此,该方法可以作为一种很有前景的方法来补充现有的自动驾驶汽车评估框架。
从对抗评估中提取出的弱点指导自主驾驶策略的改进是未来一个很有前景的方向。更现实的假设,如部分可观察的状态,观察信号的丢失,和人类的情绪,也可以加入,以丰富这个框架。