[文献精读] End-to-End Model-Free Reinforcement Learning for Urban Driving using Implicit Affordances

思维导图

在这里插入图片描述

摘要

强化学习(Reinforcement Learning,RL)的目的是从自身的实验中学习一个最优的行为策略,而不是基于规则的控制方法。然而,目前还没有一种RL算法能够处理像城市驾驶这样困难的任务。我们提出了一种新的技术,即隐形潜在动作,以有效地利用RL来处理城市驾驶,从而包括车道保持、行人和车辆避让以及交通灯检测。据我们所知,我们是第一个提出成功的RL智能体处理如此复杂的任务,尤其是在交通灯检测方面。此外,我们已经通过赢得CARLA挑战赛的“仅用照相机”赛道来证明我们方法的有效性。

1 引言

城市驾驶可能是自主汽车最难解决的情况之一,尤其在与十字路口与交通灯,行人过马路,以及汽车在不同的可能车道上行驶的互动问题上。解决这个任务仍然是一个开放性的问题,用经典的基于规则(rules-based)的方法来处理如此困难和高度可变的情况显得很复杂。这也是为什么自动驾驶领域的相当一部分技术状况集中在端到端(end-to-end systems)系统上,即从数据中学习驾驶策略,而不依赖手工制定的规则。

模仿学习(IL)的目的是通过学习模仿人类驾驶员在相同情况下应用的控制方式,重现专家(自动驾驶的人类驾驶员)的行为,这充分利用了人工驾驶标注的大量数据,大多数汽车制造商和供应商都可以相对容易地获得这些数据。另一方面,由于人类驾驶员总是处于近乎完美的情况下,IL算法存在分布不匹配(distribution mismatch)的问题,即算法永远不会遇到失败的情况,因此在这些情况下不会做出适当的反应,而确实存在用这种失败案例来扩大数据库的技术,但目前主要限于车道保持(lane keeping)和横向控制(lateral control)。

深度强化学习(Deep Reinforcement Learning,DRL)则让算法通过在智能体(agent)采取的每一个动作(action)时提供一个奖励(推理)信号来进行自我学习,因此不会受到分布不匹配的影响。这个奖励可以是稀疏(sparse,指一开始短暂的动作行为)的,并不能准确描述智能体应该做什么,而只是描述所采取的行动在局部的好坏。智能体的最终目标是使累积的奖励总和最大化,因此智能体需要考虑的是执行动作的顺序,而不是即时的动作。DRL的主要缺点之一是,它可能需要比监督学习(supervised learning)更多的数据量才能收敛,这可能导致在训练具有许多参数的大型网络时遇到困难。此外,许多RL算法依赖于重放缓冲区(buffer),允许从过去的实验中学习,但这种缓冲区可能会限制使用的输入大小(例如图像的大小)。这就是为什么DRL中的神经网络和图像大小与监督学习中使用的神经网络和图像大小相比通常很小的原因。因此,它们的表达能力可能不足以解决城市驾驶等复杂任务。因此,目前的自动驾驶DRL方法被应用于较简单的情况下,例如,在赛车游戏中,只有转向控制以保持车道或尽可能快的速度行驶。

解决数据效率(尤其是DRL)和黑匣子问题的一个很有前景的方法是使用隐藏信息(privileged information)作为辅助损失(auxiliary loss),在最近的一些论文中也被称为潜在动作能力。其想法是训练一个网络来预测高层次(high level)信息,如语义分割图(semantic segmentation maps)、到车道中心的距离、交通灯状态等。然后,这种预测可以以几种方式使用,既可以像Sauer等人那样由经典的控制器使用,也可以像Mehta等人那样作为辅助损失(auxiliary loss)帮助找到更好的特征来主模仿任务损失,或者也可以像Pan等人真正最近的工作那样,在基于模型的RL方法中使用,同时还可以提供一些可解释的反馈,说明策略是如何做出的。

在这项工作中,我们将介绍我们的RL方法,用于从视觉到端到端城市驾驶的情况,包括车道保持(lane keeping),交通灯检测(traffic light detection),行人和车辆避让(vehicle avoidance)以及处理与来车的交叉路口。为了实现这一目标,我们引入了一种新的技术,我们称之为隐式潜在动作(implicit affordances)。其想法是将训练分为两个阶段:首先训练一个编码器基础网络(encoder backbone)(Resnet-18[11])来预测潜在动作能力,如交通灯状态或到车道中心的距离。然后,把这个编码器的输出特征用作RL状态,而不是使用原始图像。因此RL信号只用于训练网络的最后一部分。此外,特征被直接用于回放记忆(replay memory)中,而不是存储原始图像,这相当于减少了大约20倍的内存需求。在CARLA自动驾驶挑战赛中,我们在 "仅有摄像头 "的赛道上获胜,展示了我们的方法性能。据我们所知,我们是第一个在城市驾驶上展示成功的RL智能体,特别是在交通灯处理方面。
将我们的主要贡献总结如下:

  • 首个在城市环境中从视觉方向实现驾驶的RL智能体,包括路口管理和交通灯检测

  • 引入一种新的技术,称为隐性潜在动作,允许训练基于回放记忆(reshape
    memory)的RL,其网络和输入大小比以前RL工作中使用的大多数网络大得多。

  • 广泛的参数和隐形潜在动作的消融性分析(ablation studies)以及奖励设计(reward shaping)。

  • 通过在CARLA自动驾驶挑战赛中赢得 "仅限摄像头 "赛道,展示我们的能力或方法。

2 相关工作

2.1 用RL实现端对端无人驾驶

由于RL依赖于试错,出于安全和数据效率的考虑,大部分应用于自主汽车的RL工作都是在仿真中进行的。其中使用最多的模拟器是TORCS,因为它是一个开源且简单易用的赛车游戏。在Mnih等和Lillicrap等中,研究者们用它来测试他们的新的行为体批判算法,以控制一辆汽车的离散动作和连续动作。但由于TORCS是一款赛车游戏,这些作品的目标是尽可能快地到达赛道的终点,因此并没有处理路口也没有处理红绿灯。

最近,许多论文使用新的CARLA模拟器作为一个开源的城市模拟,包括行人、交叉路口和交通灯。在最初的CARLA论文中,研究人员发布了一个驾驶基准,同时发布了一个模仿学习和一个RL基线(baseline)。RL基线是使用A3C算法与离散动作,其结果远远落后于模仿(Imitation)基线。Lang等人使用RL与DDPG和连续动作来微调智能体。但他们主要依靠模仿学习,并没有明确解释RL微调带来的改进有多少。此外,他们也没有处理交通灯的问题。
最后,在真车中应用的RL方法还是很少。第一个是 “一天内学会驾驶”,在该方法中,智能体直接在真实的汽车上进行转向训练。最近的一项真正的工作也是将RL集成化用于真实的汽车上,并比较了在CARLA中学习的知识在真实世界中转移的不同方式。即使他们的研究真的很有趣,但他们的结果是初步的,而且也是很难的。只应用在少数特定的实际场景中。这两项工作都只能处理转向角以保持车道,并且在城市环境中使用RL的汽车同时实现油门和转向控制之前,还有很长的路要走。

2.2 辅助任务和学习能力

UNREAL(虚幻)智能体是最早研究辅助任务对DRL影响的文章之一。他们表明,在Atari游戏和迷宫探索上,增加诸如预测进站奖励等损失可以提高数据效率和最终性能。

Chen等人介绍了用于自动驾驶的潜在动作能力预测:训练一个神经网络来预测高层次的信息,如与车道的右、中、左部分的距离或与前车的距离。然后,他们将这些潜在动作能力(affordance)作为基于规则的控制器的输入,在赛车模拟器TORCS上达到了良好的性能。Sauer等人在其Conditionnal Affordance Learning论文中对此进行了升级,以处理更多的城市驾驶等复杂场景。为了达到这个目的,他们还预测了城市驾驶的特定信息,如最大允许速度和进站交通灯状态。如Chen等人他们最终在基于规则的控制器中使用了这些信息,并在CARLA基准测试中展示了城市驾驶的性能.这两项工作都没有包含任何RL,而是依赖于基于规则的控制器。紧接着,Mehta等人将潜在动作能力(affordance)作为辅助任务使用到他们的模仿学习智能体中,并表明可以提高数据效率和最终的性能。但他们不处理交通灯,仅依靠模仿。

最后,最近有两篇真正与我们密切相关的文章。第一篇由Gordon等人介绍了SplitNet,他们在SplitNet上明确分解了从感知任务中寻找特征的学习方案,并使用了这些特征作为其无模型RL智能体的输入。但他们的方案应用于完全不同的任务,机器人导航(robot navigation)和场景探索(scene exploration)。第二种是Pan等人[26]训练了一个网络,从观察和动作的序列中预测高级信息,如碰撞的概率或在不久的将来处于非公路的(off-road)状态。他们在基于模型的RL方案中使用这个网络,通过评估不同的轨迹,最终应用生成的轨迹给出最低的成本。然而,他们使用的是基于模型(model-based)的方法,并没有处理交通灯信号。
在这里插入图片描述

图1.交通灯图像样本(左为美国,右为欧盟)

3 Carla的挑战

CARLA挑战赛是一个依托CARLA模拟器的自动驾驶公开比赛。这个比赛专门解决城市驾驶的问题。目标是在从传感器到控制的看不见的地图中行驶,保证车道保持,处理高等级导航命令的路口(右、左、直),处理变道、行人和其他车辆的避让,最后处理美国和欧盟的交通信号灯(欧洲和美国的交通信号灯位置不同,见图1)。这比原来的CARLA基准更具挑战性。CARLA挑战赛由4个不同的赛道组成,唯一的区别是可用的传感器,从仅有摄像头到全栈感知。我们将只处理那里的 "仅相机 "轨道,事实上,我们甚至在所有这些工作中只使用了一个单一的正面相机。

4. 方法

在本节中,我们描述了我们的一般方法(RL设置、构造奖励和网络结构)。在下一节中,我们将描述为了使这种方法在自动驾驶环境中可用,需要进行哪些调整。

4.1 RL设置 Rainbow-IQN Ape-X

无模型RL主要有两个系列:基于价值的方法(value-based)和基于策略(policy-based)的方法。我们选择使用基于价值的RL,因为它是目前Atari上最先进的方法,而且众所周知,它比基于策略的方法更有效率。然而,它的缺点是只能处理离散动作。在基于价值的RL和基于政策的RL(或行为者-批判的RL,它是一种在城市驾驶中,两者的结合)超出了本文的范围,但对未来的工作肯定是有趣的。我们从Rainbow-IQN Ape-X12,6,13的开源实现开始。我们从Rainbow中删除了dueling network,因为我们发现它在使用更多参数的情况下也能达到同样的性能。Rainbow-IQN的分布式版本对我们的使用是强制性的。CARLA对于RL来说太慢了,如果只使用一个实例,就无法产生足够的数据。此外,这使得我们可以同时在CARLA的多张地图上进行训练,在训练数据中产生更多的差异性,更好的探索,并提供了一种简单的方法来处理美国和欧盟的交通灯(训练中使用的一些城镇是美国的,而其他城镇是欧盟的)。

4.2 奖励设计(reward shaping)

训练中使用的奖励主要依靠最新版本CARLA(CARLA 0.9.X)中的waypoints(航点) API。该API允许获取当前城镇中所有车道的连续航点位置和方向。这对于决定智能体必须遵循的路径是非常重要的。此外,该API还提供了每个十字路口的不同可能性。在一个幕(episode)的开始,智能体会在城市的随机航点上进行初始化,然后通过航点API可以计算出智能体应该遵循的最佳轨迹。当到达一个十字路口时,我们随机选择一个可能的操作(maneuvre)方式(左转、直行、右转),并给智能体相应的顺序。奖励主要取决于三个部分:期望的速度(speed)、期望的位置(position)和期望的旋转(rotation)。

当智能体处于期望速度时,期望速度奖励最大(且等于1),如果智能体速度较低或较高,则期望速度奖励线性下降到0。图2上所示的期望速度是适应情况的:当智能体到达红绿灯附近时,期望速度线性地降到0(智能体离红绿灯最近),当红绿灯变成绿色时,又回到最大允许速度。当到达障碍物、行人、自行车或车辆后面时,也采用同样的原理。在所有其他情况下,所需速度被设置为一个恒定的最高速度(这里是40km/h)
在这里插入图片描述

图2. 根据环境的期望速度。期望的速度会根据情况进行调整,当接近红灯时速度会降低.当交通灯变绿时速度会恢复到最高,当到达障碍物后面时速度会再次降低。当车速等于期望速度时,速度奖励为最大。

奖励的第二部分,即期望位置,与距离车道中间的距离成反比(我们使用上面提到的航点计算这个距离)。当智能体正好在车道中间时,这个奖励最大等于0,当达到与车道的最大距离Dmax时,这个奖励就会变为-1。当智能体比Dmax更远时,该情节终止。对于我们所有的实验,Dmax被设置为2米:这是从车道中间到边界的距离。其他的终止条件是与任何东西相撞,闯红灯和无缘无故被卡住(即没有在障碍物后面,也没有停在红色交通灯前)。对于所有这些终止条件,智能体获得的奖励为-1。
在这里插入图片描述

图3.横向距离和角度差的计算 横向距离和角度奖励计算的横向距离和角度差异。差值是在理想航点(绿色)和当前智能体位置(红色)之间测量的。

在只有前面两个奖励成分的情况下,我们观察到训练后的智能体并没有直行,因为靠近车道中心的摆动与直行的奖励几乎是一样的。这就是为什么我们加入了第三个奖励成分,期望的振荡。这个奖励与智能体和距离最佳轨迹最近的航点的方向之间的角度差异成反比(详见图3)。关于奖励设定的消融性研究可以在6.3节找到。

4.3 网络结构

与监督学习中常用的网络相比,无模型RL中使用的大多数网络以图像作为输入,训练的网络特别小。用于Atari的无模型RL的一个较大的网络是IMPALA[8]的大型架构,它由以下几个部分组成:包括15层卷积层和160万个参数:相比之下,我们的架构有18个卷积层和30M个参数。此外,IMPALA使用了超过1B帧,而我们只使用了20M。最常见的架构是最初的DQN论文中介绍的架构,以84×84的灰度图像作为输入。我们的第一个观察是,在这么小的图像上无法看到交通灯状态(尤其是美国交通灯较远)。因此,我们选择了一个更大的输入尺寸(大约40倍):4×288×288×3,通过连续4帧的连接,作为一种简单而标准的方式,在输入中增加一些时序(temporality)。我们选择这个大小,因为这是我们测试过的最小的一个尺寸,在这个尺寸上我们对交通灯检测的准确率还是很高的(使用传统的监督训练)。我们选择使用Resnet-18作为一个相对较小的网络(与监督训练中使用的网络相比),以确保测试(inference)时间小。事实上RL需要大量的数据来收敛,所以每一步都必须尽可能快,以减少整体训练时间。然而,即使Resnet-18是用于监督学习的最小网络之一,它在卷积层中包含的权重是DQN的140倍左右。此外,Resnet-18还包含了监督学习中的大部分先进技术,如残差连接和批判性规范。最后,我们使用Codevilla等中的条件网络来处理6种不同的操作(maneuver)方式:跟随车道、左/右/直行、左/右变道。完整的网络架构描述在图4中。
在这里插入图片描述
图4.网络结构。在条件网络(conditional network)中使用了一个Resnet-18编码器,并进行了Rainbow-IQN RL训练(因此,IQN网络和噪声全连接层)。

5 在复杂的自动驾驶任务中应用RL的挑战和解决方案

5.1 训练具有高复杂度输入大小的RL:隐性潜在动作

在本节中,我们将提出建议,以解决使用RL的大型网络时出现的问题,以及如何处理离散动作。

如何用更大的图像来训练RL的大网络?

使用更大的网络和输入大小会引起两个主要问题。第一个问题是,这样的网络需要更长的时间和更难训练。事实上,众所周知,即使使用微小的网络,训练一个DRL智能体也是很消耗数据的。第二个问题是回放记忆(replay memory)(注:有一个有最大容量的队列,当队列满了,会把旧的经验移出队列,只保留最新的)。与基于策略的方法相比,基于价值的RL的主要优势之一是(off-policy)离策略,这意味着用于学习的数据可以来自另一个策略。然而存储35倍大的图像会带来存储同样多的转换(transitions)的问题(通常存储1M转场,对应84×84图像的6GB,因此对于288×288×3的图像将是210GB,这是不实际的)。

要预测哪些高层次的语义信息/潜在动作(affordances)?

预先训练我们的编码器的最简单的想法是使用自动编码器,即通过尝试从一个较小的特征空间预测完整的图像来压缩图像。这在 "一天学会开车"的工作中使用过,并允许在他们的真车上进行更快的训练。我们认为,这对于我们更难的使用案例,尤其是关于交通灯检测,是行不通的。事实上,交通灯状态只代表了图像中的几个像素(红灯或绿灯),但这些像素与驾驶行为最相关。
在这里插入图片描述
图5.用于训练编码器的解码器和损耗:语义 用于训练编码器的解码器和损失:语义分割、交通灯(是否存在、处于何状态、距离多远)、交叉路口存在、车道位置距离和旋转)

为了确保作为RL状态的特征中有相关的信号,我们选择依赖CARLA中可用的高级语义信息。我们在监督阶段主要使用2个损失:交通灯状态(二进制分类)和语义分割。事实上,除了交通灯状态外,所有相关信息都包含在我们的语义分割中。我们为语义掩膜(semantic mask)(注:图像掩膜与其类似,用选定的图像、图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程,类似于蒙版)使用了6个类:移动的障碍物、交通灯、路标、道路、人行道和背景。我们还预测了一些其他的潜在动作能力,以帮助监督训练,例如与进站红绿灯的距离,我们是否在十字路口,距离是多少?以及与道路的相对旋转。最后两个估计来自于我们的视点增强(viewpoint augmentation)(如果没有它,自动驾驶仪总是完全在车道中间,没有旋转)。我们的监督训练与我们所有的损失在图5中表示。在第6.2节中介绍了用于估算这些潜在动作能力估算影响的消融研究。

视点增强(Viewpoints Augmentation)

监督阶段的数据是在CARLA模拟器中使用现有的自动驾驶仪驾驶时收集的。然而这个自动驾驶仪始终保持在车道中间,所以在RL训练中,被冻结(frozen)的预训练编码器不能很好地泛化,特别是当智能体开始偏离车道中间时:用仅从自动驾驶仪驾驶中收集的数据训练的编码器,RL智能体性能很差。 这与IL的分布不匹配的想法完全相同,图6上解释了其背后的直觉。为了解决这个问题,我们建议通过在自动驾驶仪周围移动摄像头来增加视点增强。有了这种增强,在RL智能驾驶和探索时,编码器的性能要好得多,因此我们认为这是RL训练阶段获得良好性能的必经之路。

综上所述,用精心挑选的监督任务训练一个大型编码器,并将得到的特征图、隐性潜在动作作为RL训练的输入状态,解决了输入、网络和回放记忆(reshape memory)的问题。在监督训练阶段应该注意对数据进行适当的增强,以确保编码在RL训练的探索过程中能够适应。

5.2 处理离散动作

如前所述,标准的value-based的RL算法,如DQN ,Rainbow和Rainbow-IQN意味着使用离散动作。用较少的离散动作(只有5个转向动作)进行初步实验,结果导致智能体振荡(oscillating)和不能保持在车道上。通过使用更多的转向动作,如9个或27个不同的转向值,可以获得更好的结果。油门是一个较小的问题:使用3个不同的油门值,加上一个刹车值。这导致我们的实验总共有36(9×4)或108(27×4)个动作。我们还尝试预测转向角的导数:网络的预测被用来更新之前的转向(作为输入),而不是直接使用预测作为当前的转向。这些选择的影响将在6.3节研究。
在这里插入图片描述
图6.为什么需要数据增强来训练编码器?为什么训练编码器时需要数据增强。RL智能体轨迹(右)可能会偏离车道中心,这导致语义分割的车道标记位置比仅从自动驾驶数据(左)进行训练所能遇到的变化更大

为了达到更细粒度的离散动作,我们强烈建议使用多个预测的打包(bagging),并对它们进行平均。为了做到这一点,我们可以简单地使用同一训练的连续快照(consecutive snapshots),这避免了再次训练,而且是免费的。这一办法是持续改善行为,大限度地减少振荡,获得更好的最终性能。此外,由于编码器是冻结的,可以共享,所以对同一训练的多个快照进行平均的计算成本几乎可以忽略不计(平均3个预测的总前进时间不到10%)。因此,我们报告的所有结果都是将同一训练的3个连续快照平均在一起得到的(例如,10M步时的结果是8M、9M和10M时的快照的打包)。综上所述,离散动作可以通过增加动作的数量,对几个离散预测进行平均来弥补。

6 实验和消融性研究

我们首先定义了一套通用的方案和一个衡量标准来进行公平的比较。事实上,CARLA挑战赛的地图并没有公开,而旧的CARLA基准也只能在一个废弃的CARLA版本(0.8.X)上使用,其渲染和物理学与CARLA挑战赛中使用的CARLA版本(0.9.X)不同。此外,如前所述,这个CARLA基准的任务比CARLA挑战赛简单得多

6.1 定义共同的测试情况和比较的标准

定义测试场景

我们选择了CARLA现有地图中最难的环境。Town05包括最大的城区,主要是多车道和美国风格:红绿灯在马路对面,更难发现。我们还随机生成了在智能体前方过马路的行人,以验证我们的模型对这种情况的刹车。此外,我们还设置了变化的天气,以使任务尽可能的困难。这样一来,即使是单个城镇训练,我们也有一个具有挑战性的设置。单一城镇训练是必要的,以使我们所有的实验和消融研究在一个合理的时间。所有这些实验都是在CARLA上进行20M次迭代,有3个演员(所以每个演员有6.6M步),帧率为10 FPS。因此,20M步相当于大约20天的模拟驾驶(作为比较,用于训练雅达利游戏RL的最标准时间是200M帧,对应大约40天,可以达到5年以上的游戏时间)。我们在整个Town05环境中定义了10个城市情况的场景,每个场景由10个连续的路口组成。我们还定义了一些高速公路上的场景,但这些情况要简单得多,因此也不那么苛刻。例如,我们最好的模型在高速公路上每100公里的处于非公路状态次数少于一次。高速公路场景主要用于评估我们不同智能体的振荡情况。

定义一个衡量标准来比较不同的模型和消融研究

我们在每个场景上测试我们的模型10次,改变天气状况并重置所有其他智能体的位置。与训练阶段相反,我们只在智能体离开道路时终止情节,因为这可以跟踪遇到的违规次数。

我们的主要指标是成功穿越路口的平均百分比(Inters.,越高越好),例如,50%的完成度对应于每个场景中平均穿越5个路口。我们还跟踪了交通灯无违规通过的百分比(TL,越高越好)和行人无碰撞通过的百分比(Ped.,越高越好)。请注意,最后两项的相关性略低,因为一辆不行驶的汽车绝不会闯红灯,也不会撞到行人。这就是为什么Inters.是我们比较的主要指标。而TL和Ped. 则用于更精细的比较。我们还引入了一个衡量振荡的指标:智能体和道路之间在幕(episode)的平均旋转的绝对值(Osc.,越低越好)
在这里插入图片描述
表1. 关于编码器训练损失的智能体性能比较(随机权重,训练时没有交通灯损失,没有语义分割损失,或有所有的潜在动作损失)

6.2 监督阶段的消融性研究

在本节中,我们将详细介绍我们关于潜在动作的监督学习阶段的消融研究。RL的设置是完全相同的,以确保公平的比较。首先,在没有任何监督阶段的情况下进行一些实验,即在RL阶段从头开始训练整个网络。比较了三种不同的架构:来自DQN的初始网络,有84×84张图像,DQN网络的简单升级,将288×288×3张图像作为输入,最后是我们使用Resnet-18编码器的模型。

图7显示,如果没有潜在动作学习,智能体学习失败,甚至平均不能成功通过一个交叉点(交叉点交叉不到10%)。此外,需要注意的是,训练更大的图像编码器(分别是完整的Resnet-18)比训练我们的隐式潜在动作能力方案多花了50%(resp.200%)的时间,即使考虑到监督阶段所用的时间。因此,这些实验在10M步后就停止了。这些网络也需要更多的内存,因为完整的图像被存储在重放内存中。正如预期的那样,这些实验证明了仅使用RL信号训练一个大型网络是很难的。

第二阶段的实验涉及Resnet18编码器的训练。首先,作为理智性检查,编码器被冻结为随机特征。然后,在监督阶段去除交通灯状态或分割的损失。这些实验表明,在我们的监督训练中,预测交通灯状态和语义分割的兴趣。图7说明了相应智能体的性能。
表1显示,去除交通灯状态对最终的性能有巨大的影响。正如预期的那样,使用没有交通灯损失的编码器训练的RL智能体在运行更多的红色交通灯。有趣的是,这个比例比随机选择要好得多(随机选择会有25%的交通灯成功率,因为交通灯只有25%的时间是绿色的)。这意味着智能体还是成功检测到了特征中的一些交通灯状态信号。我们猜测,由于语义分割包括了交通灯类(但不是它的实际状态),特征中包含了一些交通灯状态的信息。去除编码器训练中的语义分割损失对最终性能也有影响。正如预期的那样,表1显示,去除交通灯状态对最终性能有巨大影响。正如预期的那样,使用没有交通灯损失的编码器训练的RL智能体正在运行更多的红色交通灯。有趣的是,这个比例比随机选择要好得多(随机选择会有25%的交通灯成功率,因为交通只有25%的时间是绿色的)。这意味着智能体还是成功检测到了特征中的一些交通灯状态信号。我们猜测,由于语义分割包括了交通灯类(但不是它的实际状态),特征中包含了一些交通灯状态的信息。去除编码器训练中的语义分割损失对最终性能也有影响。正如预期的那样,在行人碰撞上的表现比其他任何训练都要差,这意味着网络在检测行人和车辆时有困难(这些信息只包含在语义图中)。

6.3 RL设置上的消融性研究

在这里插入图片描述
表2.根据转向角的性能比较 根据使用的转向角离散化和奖励设定的性能比较

为了公平比较,所有实验都使用相同的预训练编码器,用5.1节中提到的所有隐形动作能力进行训练。这里使用的编码器与CARLA挑战赛中使用的编码器相同,并且与之前消融研究中使用的编码器相比,在更多的数据和更多的时间段上进行了训练。

用不同的奖励进行了两个实验来衡量奖励塑造的影响。在第一个(恒定期望速度)中,期望速度不适应情况:智能体只需要了解从终止信号到在红色交通灯上刹车和避免碰撞。在第二个实验中,去掉了角度奖励部分,以查看该奖励对振荡的影响。还评估了两种不同的动作设置。首先,预测转向角的导数,而不是当前的转向。最后研究了转向角的离散化,从27个转向绝对值减少到9个转向绝对值。结果总结在表2中。

这些实验中最有趣的结果是来自恒定期望速度的实验。事实上,该智能体在红绿灯或行人过马路这两种情况下的制动完全失败:它的性能比任何其他智能体都要差很多。将期望速度设置为恒定的智能体训练了70%的交通灯,这非常接近于随机选择。它还与60%的行人相撞。这个实验显示了速度奖励部分对于学习制动行为的重要性。

令人惊讶的是,我们发现,重新计算转向的导数会导致更多的振荡,甚至比去掉期望的旋转奖励成分时更多。最后,采取9个或27个不同的转向值并没有任何显著的影响,这两种智能体都在低振荡的情况下达到了最佳性能。

6.4 对未见过的城镇泛化(Generalization)

最后,我们按照CARLA挑战赛的实际设置,进行泛化实验。为此,我们同时在3个不同的城镇上进行训练(一个是欧盟的红绿灯,另外2个是美国的),并在2个未见过的城镇上进行测试(一个欧盟,一个美国)。我们还测试了我们最好的单一城镇智能体作为泛化基线。

结果在表3中列出。我们可以看到,对于只在单一的美国小镇上训练的智能体来说,在未见的欧盟小镇上的表现确实很差,证实了同时在欧盟和美国小镇上训练的兴趣。在未见的美国城镇上,两种训练的性能大致相似。这些实验表明,我们的方法可以通用于未见环境。

在这里插入图片描述
表3.泛化性能(Inters. metric)

6.5 CARLA基准比较

最近,LBC(Learning by Cheating)[3]在最新版本的CARLA(0.9.6)上开源重新实现了CARLA基准。由于时间有限,我们在提交时没有时间更改关于天气状况的训练设置,所以只在表4中报告了训练天气结果(测试天气结果可以在补充中找到)
使用IL的LBC是唯一一个在CoRL2017基准的最难任务(即Nav.动态)上表现优于我们的RL智能体。在更难的NoCrash基准上,我们的结果也与LBC基线相似。需要注意的是,我们只能与LBC进行比较,因为其他作品还没有在有行人的NoCrash基准上进行测试(只有LBC的开源实现中才有)。最后,我们的作品以巨大的优势超越了唯一的RL基线这也是RL方法在CARLA基准上首次达到甚至超过IL方法。
在这里插入图片描述
表4. 成功率比较(每个任务和场景的百分比,越多越好)与火车镇天气的基线

7 总结

在这项工作中,我们提出了第一个成功的RL智能体在端到端城市驾驶从视觉包括交通灯检测,使用基于价值的Rainbow-IQN-Apex训练与调整奖励和大型条件网络架构。为了在具有挑战性的自动驾驶背景下解决这个问题,我们引入了隐式潜在动作能力,它使用一个大型编码器在监督环境中为自动驾驶相关任务进行训练。我们用消融研究验证了我们的设计选择,并通过在CARLA挑战赛中赢得赛道 "仅用照相机 "展示了我们的性能。

在未来的工作中,将我们的隐式潜在动作能力方案应用于基于策略的或者动作评判(policy-based or actor-critic),并在真实图像上训练我们的潜在动作能力编码器,以便将这种方法应用于真实的汽车上,这可能是有趣的。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在模型无关的分层强化学习中,学习表示是一项重要的任务。学习表示是指通过提取有用的信息和特征来将观察数据转化为表示向量。这些表示向量可以用于解决强化学习问题中的决策和行动选择。 模型无关的分层强化学习是指不依赖于环境模型的强化学习方法。它通常由两个部分组成:低层控制策略和高层任务规划器。低层控制策略负责实际的行动选择和执行,而高层任务规划器则负责指导低层控制策略的决策过程。 学习表示在模型无关的分层强化学习中起到至关重要的作用。通过学习适当的表示,可以提高对观察数据的理解能力,使得模型能够捕捉到环境中的重要特征和结构。这些表示可以显著减少观察数据的维度,并提供更高层次的抽象,从而简化了决策和规划的过程。 学习表示的方法多种多样,包括基于深度学习的方法和基于特征选择的方法。基于深度学习的方法,如卷积神经网络和循环神经网络,可以通过学习多层次的特征表示来提取环境观察数据的有用信息。而基于特征选择的方法则通过选择最有信息量的特征来减少表示的维度,从而简化了模型的复杂度。 总之,学习表示在模型无关的分层强化学习中起到了至关重要的作用。通过学习适当的表示,模型可以更好地理解观察数据并进行决策和规划。不同的方法可以用来实现学习表示,包括基于深度学习的方法和基于特征选择的方法。这些方法的选择取决于具体任务和问题的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值