《Virtual to Real Reinforcement Learning for Autonomous Driving》

摘要:强化学习被认为是推动政策学习的一个有前景的方向。然而,在实际环境中,用强化学习训练自动驾驶车辆涉及到无法负担的试错。最好先在虚拟环境中培训,然后再转移到真实环境中。本文提出了一种新颖的现实翻译网络,使在虚拟环境中训练的翻译模型在现实世界中具有可操作性。该网络可以将非真实感的虚拟图像输入转换为具有相似场景结构的真实感图像输入。以现实框架为输入,通过强化学习训练的驾驶策略能够很好地适应现实世界的驾驶。实验表明,本文提出的虚拟到现实强化学习(RL)方法具有良好的学习效果。据我们所知,这是首个通过强化学习训练、能够适应现实世界驾驶数据的驾驶策略成功案例

自动驾驶的目的是让车辆感知周围环境,在没有人工输入的情况下导航。为了实现这一目标,最重要的任务是学习基于观察环境自动输出方向盘、油门、刹车等控制信号的驾驶策略。直接的思想是端到端监督学习,它训练一个神经网络模型,将视觉输入直接映射到动作输出,训练数据被标记为图像-动作对。然而,监督方法通常需要大量的数据来训练模型,该模型可以推广到不同的环境。获取如此大量的数据非常耗时,需要大量的人力参与。相比之下,强化学习是通过反复试验的方式学习的,不需要人类的明确监督。近年来,强化学习因其在行动规划方面的专业知识而被认为是一种很有前途的学习驾驶策略的技术。

然而,强化学习需要agent与环境交互,不受欢迎的驱动行为就会发生。在现实世界中训练自动驾驶汽车会对车辆和周围环境造成损害。因此,目前大多数的研究在具有强化学习的自动驾驶中,专注于模拟,而不是在现实世界中进行训练。在虚拟世界中,一个经过强化学习训练的智能体可以达到接近人类驾驶水平的驾驶性能,但在现实世界中可能并不适用世界驾驶环境,由于虚拟仿真环境的视觉表现不同于现实世界的驾驶场景。

《Virtual to Real Reinforcement Learning for Autonomous Driving》翻译
图1:自主驾驶虚拟到真实强化学习框架。首先将仿真器(环境)渲染的虚拟图像分割为场景解析表示,然后通过提出的图像翻译网络(VISRI)将其转换为合成的真实图像。Agent观察合成的真实图像并采取行动。环境会给代理人奖励。由于agent是使用与真实世界场景在视觉上相似的真实图像进行训练的,所以它能够很好地适应真实世界的驾驶。

虚拟驾驶场景与真实驾驶场景具有不同的视觉外观,但它们具有相似的场景解析结构。例如,虚拟和真实的驾驶场景可能都有道路、树木、建筑物等,尽管纹理可能有很大的不同。因此,通过将虚拟图像转换为现实图像,我们可以得到一个无论是场景解析结构还是对象外观都与现实世界非常相似的仿真环境,这是合理的。近年来,生成式对抗网络(GAN)在图像生成领域引起了广泛的关注。[11]的工作提出了一种图像到图像的翻译网络,可以使用来自两个域的成对数据将图像从一个域翻译到另一个域。然而,由于很难找到匹配的虚拟现实驾驶图像,因此很难将这种方法应用到我们的虚拟驾驶图像到现实驾驶图像的转换中。

在本文中,我们提出了一个现实的翻译网络来帮助训练完全在虚拟世界中能够适应现实世界驾驶环境的自动驾驶汽车。我们提出的框架(如图1所示)将模拟器渲染的虚拟图像转换为真实图像,并用合成的真实图像训练增强学习代理。虽然虚拟图像和现实图像具有不同的视觉外观,但它们具有相同的场景解析表示(道路、车辆分割图等)。因此,我们可以使用场景解析表示作为过渡,将虚拟图像转换为现实图像。这种理解类似于自然语言翻译,语义是不同语言之间的过渡。具体来说,我们的现实翻译网络包括两个模块。第一个是虚拟到解析或虚拟到分割模块,它生成输入虚拟图像的场景解析表示。第二个是一个解析到真实的网络,它将场景解析表示转换为真实的图像。利用现实翻译网络,基于现实驾驶数据的强化学习模型可以很好地应用于现实驾驶中。

为了证明我们的方法的有效性,我们训练了我们的强化学习模型,使用真实翻译网络过滤虚拟图像,合成真实的图像,并将这些真实的图像作为状态输入。我们进一步比较了监督学习和其他使用领域随机化[22]的强化学习方法。实验结果表明,采用翻译真实图像训练的增强学习模型比仅采用虚拟输入训练的增强学习模型和区域随机化的虚拟到真实的增强学习模型具有更好的学习性能。

1相关工作

监督学习在无人驾驶方向的应用。监督学习方法显然是训练自动驾驶汽车的直接方法。ALVINN[19]提供了一个使用神经网络进行自动驾驶的早期例子。他们的模型简单而直接,用浅层网络将图像输入映射到动作预测。英伟达[3]采用深度学习技术,尤其是卷积神经网络,最近尝试利用视频数据来完成简单的车道跟踪任务。[4]的另一项工作是学习输入图像与许多关键感知指标之间的映射,这些指标与驾驶状态的可承受性密切相关。然而,学习的可提供性必须通过手工设计的规则与操作相关联。这些监督方法在诸如车道跟踪和高速公路驾驶等简单任务中工作得相对较好。另一方面,模仿学习也可以看作是监督学习方法[32],agent观察一些专家的演示,学习模仿专家的行为。然而,模仿学习的一个固有缺点是它存在协变移位问题[20],不能很好地推广到从未经历过的场景。

增强学习在无人驾驶方向的应用。强化学习已经应用于各种各样的机器人相关任务,如计算机游戏[17]、机器人运动[8,12]和自主驾驶[1,25]。强化学习在实际应用中面临的挑战之一是状态空间的高维性和非平凡的大作用域。在如此高复杂度的空间上开发最优策略是费时的。近年来,利用深度神经网络的力量在高维空间进行深度强化学习的研究取得了很大进展[13,15,17,18,24]。然而,无论是深度q学习方法[17]还是政策梯度方法[15],都需要agent与环境进行交互才能获得奖励和反馈。然而,在现实世界环境中,用强化学习训练自动驾驶汽车是不现实的,因为汽车一旦采取错误的行动,就可能会伤害到周围的环境。

增强学习在野外环境下的应用。利用汽车驾驶模拟器进行强化学习,并将学习到的模型转移到真实环境中,可以实现更快、更低成本的培训,而且比使用真实汽车培训安全得多。然而,现实世界中的驾驶挑战通常跨越不同的范围,而且就其视觉外观而言,它往往与汽车驾驶模拟器中的训练环境存在显著差异。基于虚拟数据训练的模型不能很好地推广到真实图像。机器人转移和适应学习领域的最新进展为模拟到真实的强化训练提供了例子。这些模型要么首先在虚拟环境中训练模型,然后在真实环境进行微调,或者通两个领域之间的共享,来学习虚拟图像和真实图像之间的一致性。或者使用随机呈现的虚拟环境进行培训,然后在真实环境中进行测试。[21]的工作提出利用渐进网络将网络权值从虚拟数据训练的模型转移到真实环境中,然后在真实环境中对模型进行细化。在虚拟环境中进行首次训练,大大缩短了在真实环境中的训练时间。然而,在现实环境中对agent进行训练仍然是必要的,因此并没有解决在现实世界中避免风险试错的关键问题。试图学习虚拟图像和真实图像之间一致性的方法可能无法推广到更复杂的场景,特别是在很难找到虚拟图像和真实图像之间的良好一致性时。在最近的工作中,[22]提出了一个新的框架来训练一个只有虚拟环境的强化学习代理。他们的工作证明了用三维CAD模型模拟器进行训练在现实世界中实现无碰撞飞行的可能性。然而,随着他们的论文的结论中提到[22],手动工程设计合适的培训环境是重要的,和更合理的达到更好的结果通过模拟训练结合一些实际数据,尽管目前还不清楚他们的论文如何结合实际数据与模拟训练。

图像合成和图像平移。图像翻译的目的是预测某一特定模态下的图像,即给定一幅来自另一模态的图像。这可以看作是一个通用的方法,因为它从像素预测像素。最近,community在生成方法方面取得了重大进展,主要基于生成对抗网络[9]。例如,[29]的工作探索了利用VAE-GAN[14]生成三维体素模型,[28]的工作提出了一种级联GAN,通过结构和样式生成自然图像。近年来,[11]的工作为图像到图像的翻译开发了一个通用而简单的框架,可以处理各种像素级的生成任务,如语义分割、着色、绘制边缘映射等。

场景解析。我们的网络的一部分是语义图像分割网络。在语义图像分割领域已经有了许多伟大的工作。其中很多是基于深度卷积神经网络或全卷积神经网络[16]。在本文中,我们使用SegNet进行图像分割,网络的结构显示在[2]中,它由两个主要部分组成。第一部分是编码器,包括卷积层、批处理标准化层、ReLU层和max池层。第二部分是解码器,它用上采样层替换池层。

2.强化学习在野外环境中的应用

我们的目标是成功地将一个完全在虚拟环境中训练的驾驶模型应用到现实世界的驾驶挑战中。其中一个主要的缺陷是,agent所观察到的是由模拟器呈现的帧,这与现实世界中的帧在外观上是不同的。因此,我们提出了一种将虚拟帧转换为现实帧的现实翻译网络。受图像到图像翻译网络[11]的启发,我们的网络包括两个模块,即虚拟到解析和解析到现实的网络。第一种方法是将虚拟帧映射到场景解析图像。第二种方法将场景解析转换为具有与输入虚拟框架相似的场景结构的真实框架。这两个模块生成逼真的帧,维护输入虚拟帧的场景解析结构。现实翻译网络的体系结构如图1所示。最后,我们用增强学习的方法在真实翻译网络得到的真实框架上训练一个自动驾驶agent。我们采用的方法是由[18]开发的,他们使用异步的actor-critic 强化学习算法在赛车模拟器TORCS中训练自动驾驶车辆[30]。在本节中,我们将首先提出现实的翻译网络,然后讨论如何在强化学习框架下训练驾驶agent。
《Virtual to Real Reinforcement Learning for Autonomous Driving》翻译
图2:虚拟世界图像(左1和左2)和真实世界图像(右1和右2)的示例图像分割

2.1 现实的翻译网络

由于没有匹配的虚拟和现实世界图像,使用[11]直接从虚拟世界图像映射到现实世界图像将会非常困难。然而,由于这两种类型的图像都表示驾驶场景,我们可以使用场景解析表示来翻译它们。受[11]的启发,我们的现实翻译网络由两个图像翻译网络组成,其中第一个图像翻译网络将虚拟图像翻译为它们的分段,第二个图像翻译网络将分段后的图像翻译为它们的现实世界对应的图像。

[11]提出的图像到图像的翻译网络主要是一个条件GAN。传统GAN和条件GAN之间的区别是,GANs学习从随机噪声z到输出图像s的映射:G:z →s,而条件GANs同时接受图像x和噪声向量z,并生成另一个图像:G:{x, z} → s, 与x相比,s通常是应用在不同的领域中。(例如,将图像分割)

条件GAN的目标可以表示为:
《Virtual to Real Reinforcement Learning for Autonomous Driving》翻译
其中G是试图最小化这个目标的生成器,D是对G起作用以最大化这个目标的对抗性鉴别器。为了抑制图像模糊,增加了L1损失正则化项,可以表示为:
《Virtual to Real Reinforcement Learning for Autonomous Driving》翻译
因此,图像到图像翻译网络的总体目标是:
《Virtual to Real Reinforcement Learning for Autonomous Driving》翻译
λ是正则化的权重。

我们的网络由两个图像到图像的平移网络组成,这两个网络使用的损失函数与方程3相同。第一个网络将虚拟图像x转换为它们的分段s: G1: {x,z1}→ s,第二种网络将分割后的图像s转换为现实的对应图像y: G2: {s,z2} →y,其中z1 z2是噪声项,以避免确定性输出。对于GAN神经网络结构,我们使用了与[11]相同的生成器和鉴别器结构。

2.2用强化学习训练自动驾驶汽车

我们使用传统的RL求解器A3C[18]来训练自动驾驶车辆,它在各种机器学习任务中表现良好。A3C算法是一种基本的 Actor-Critic算法,它结合了几种经典的增强学习算法和异步并行线程的思想。多个线程同时运行与环境不相关的副本,生成它们自己的训练样本序列。这些actors-learners就像在探索未知空间的不同部分。对于一个线程,在学习迭代之前同步参数,并在完成迭代之后更新参数。A3C算法实现的细节可以在[18]中找到。

为了鼓励agent驾驶速度更快,避免碰撞,我们将奖励函数定义为:
《Virtual to Real Reinforcement Learning for Autonomous Driving》翻译
在vt的速度(米/秒)时间步t,α是agent之间的角度(rad),切线速度和轨道,和dist (t)中心代理的中心之间的距离,中间的轨道。β,γ是常数,确定训练的开始。我们的训练中β= 0.006,γ= 0.025。

3.实验

我们进行了两组实验来比较我们的方法和其他强化学习方法以及监督学习方法的性能。第一组实验涉及到对真实世界驾驶数据的虚拟到真实的强化学习。第二组实验涉及不同虚拟驾驶环境下的转移学习。我们实验中使用的虚拟模拟器是TORCS[30]。

《Virtual to Real Reinforcement Learning for Autonomous Driving》翻译
图3:强化学习网络架构。网络是将状态表示映射到动作概率输出的端到端网络。
《Virtual to Real Reinforcement Learning for Autonomous Driving》翻译
图4:虚拟到真实图像转换的示例。奇数列是从TORCS捕获的虚拟图像。甚至列都是合成的真实世界图像,对应于左边的虚拟图像。

3.1虚拟到真实的RL对真实世界的驱动数据

在这个实验中,我们使用真实的翻译网络训练了我们提出的强化学习模型。首先对虚拟到真实的图像平移网络进行训练,然后利用训练后的网络对模拟器中的虚拟图像进行滤波,得到真实的图像。然后,这些逼真的图像被输入A3C,以训练驾驶策略。最后,在实际驾驶数据上对训练后的策略进行测试,评价其转向角预测精度。

为了进行比较,我们还训练了一个监督学习模型来预测每个试驾视频帧的转向角。该模型是一个深度神经网络,与我们的强化学习模型中的策略网络具有相同的体系结构设计。网络的输入是由四个连续帧组成的序列,网络的输出是动作概率向量,向量中的元素表示直走、左转和右转的概率。监督学习模型的训练数据不同于用于评估模型性能的测试数据。此外,还训练了另一种基线强化学习模型(B-RL)。B-RL与我们的方法的唯一区别是,虚拟世界图像是由agent直接作为状态输入获取的。此基线RL也在相同的实际驾驶数据上进行了测试。

数据集。真实的驾驶视频数据来自于[5],它是在晴天采集的,每帧都有详细的转向角度标注。该数据集中共有约45k张图像,其中选取15k进行监督学习模型的训练,选取15k进行测试。为了训练我们逼真的翻译网络,我们从TORCS的Aalborg环境中收集了虚拟图像及其分割。共采集了1673张图像,覆盖了Aalborg环境的整个驾驶周期。

场景分割。我们利用[2]的图像语义分割网络设计及其在城市景观图像分割数据集[7]上训练的分割网络,从[5]中分割出45k幅真实世界驱动图像。该网络在城市景观数据集上进行了11个类的训练,并进行了30000次迭代训练。

图像翻译网络训练。我们使用收集到的虚拟分割图像对和分段-真实图像对训练了虚拟-解析和解析-真实网络。翻译网络采用编码-解码器的方式,如图1所示。在图像翻译网络中,我们采用U-Net结构,采用跳跃连接,分别连接编码器和解码器的两个独立层,它们具有相同的输出特征映射形状。生成器的输入大小为 256×256,每个卷积层的卷积核大小为 4×4,步长为2。 LeakyReLU应用于每个卷积层之后,斜率为0.2,ReLU应用于每个反卷积层之后。此外,在每个卷积层和反卷积层之后都应用批处理归一化层。编码器的最终输出与卷积层连接,卷积层产生形状为3× 256 ×256的输出,然后是Tanh层。我们使用所有的1673个虚拟分割图像对来训练一个虚拟到分割网络。由于在45k幅真实图像中存在冗余,我们从45k幅图像中选取1762幅图像及其分割,来训练一个parsing-to-real的翻译网络。为了训练图像翻译模型,我们使用Adam优化器,初始学习率为0.0002,动量为0.5,批处理大小为16,迭代200次直到收敛。

强化训练。我们在训练中使用的RL网络结构类似于[18],其中actor网络是一个4层卷积网络(如图3所示),其中包含ReLU**函数。网络接受4个连续的RGB帧作为状态输入,输出的9个离散动作对应于“带着加速度直走”、“带着加速度左走”、“带着加速度右走”、“带着加速度直走刹车”、“带着加速走”“左刹车”,“右刹车”,“直走”,“左刹车”,“右刹车”。我们训练强化学习代理12异步程,RMSProp优化器在最初的学习速率为0.01,γ= 0.9,ε= 0.1。

** **。现实世界的驱动数据集[5]提供了每帧的转向角注释。然而,在TORCS虚拟环境中执行的操作只包含“向左”、“向右”和“直走”或它们与“加速”或“刹车”的组合。因此,我们在虚拟模拟器中定义了一种将转向角标签转换为动作标签的标签映射策略。我们将(10,10)中的转向角与动作“直行”联系起来(因为较小的转向角不能在短时间内导致明显的转弯),小于10的转向角与动作“向左”联系起来,大于10的转向角与动作“向右”联系起来。通过将该方法产生的输出动作与地面真实值进行比较,可以获得驱动动作预测的准确性。

用迁移学习学习在虚拟驾驶环境中训练

我们进一步进行了另一组实验,得到了不同虚拟驾驶环境之间的转移学习结果。在本实验中,我们训练了三种强化学习agents。第一个agent在TORCS的Cg track2环境中使用标准A3C进行训练,并在相同的环境下频繁地对其性能进行评估。我们有理由期望这个agent的性能是最好的,所以我们称之为“Oracle”。利用我们提出的基于现实翻译网络的强化学习方法对第二agent进行训练。然而,它在TORCS的E-track1环境中进行训练,然后在Cg-track2中进行评估。需要注意的是,E-track1的视觉外观与Cg-track2不同。第三个agent采用与[22]相似的域随机化方法进行训练,其中agent在10个不同的虚拟环境中进行训练,并在Cg-track2中进行评估。为了训练我们的方法,我们为E-track1和Cg-track2获得了15k个分割图像,用于训练虚拟到解析和解析到真实的图像翻译网络。图像翻译训练细节和强化学习细节与3.1节相同。

4.结果

图像分割的结果。采用基于城市景观[7]数据集的图像分割模型对虚拟图像和真实图像进行分割。图2显示了示例。如图所示,虽然原始虚拟图像和真实图像看起来有很大的不同,但是它们的场景解析结果非常相似。因此,使用场景解析作为连接虚拟图像和真实图像的过渡是合理的。

现实翻译网络的定性结果。图4显示了我们的图像翻译网络的一些代表性结果。奇数列是TORCS中的虚拟图像,偶数列是经过翻译的真实图像。虚拟环境中的图像似乎比翻译后的图像暗,因为用于训练翻译网络的真实图像是在晴天拍摄的。因此,我们的模型成功地将外观相似的真实图像与原始的地面真实图像进行合成。

强化训练的结果。对真实世界驾驶数据进行虚拟到真实强化学习的结果如表1所示。结果表明,该方法比基线法(B-RL)具有更好的综合性能,基线法是在虚拟环境中训练增强训练剂,不需要看到任何真实数据。监督方法(SV)的整体性能最好,但是,训练了大量的监督标记数据。
《Virtual to Real Reinforcement Learning for Autonomous Driving》翻译
不同虚拟环境下的迁移学习结果如图5所示。显然,在相同的环境中经过培训和测试的标准A3C (Oracle)性能最好。然而,我们的模型比需要在多个环境中进行训练的领域随机化方法具有更好的泛化性能。正如在[22]中提到的,领域随机化需要大量的工程工作才能使其一般化。我们的模型成功地观察了从E-track1到Cg-track2的转换图像,这意味着模型已经在一个与测试环境(Cgtrack2)非常相似的环境中接受了训练,从而提高了性能。

5.结论

通过实验证明,在增强学习中使用合成的真实图像作为训练数据,agent在真实环境下的泛化效果优于单纯的虚拟数据训练或区域随机化训练。下一步将是设计一个更好的图像到图像的翻译网络和一个更好的强化学习框架,以超越监督学习的性能。

借助场景解析的桥梁,虚拟图像可以转换为真实的图像,从而保持场景结构。在真实框架上学习的强化学习模型可以很容易地应用于实际环境。我们也注意到分割图的翻译结果并不是唯一的。例如,分割映射表示一辆汽车,但它没有指定该汽车的颜色。因此,我们未来的工作之一是使解析到现实的网络输出各种可能的外观(如颜色、纹理)。这样,强化学习训练中的偏差就会大大减少。

我们提供了第一个使用增强学习算法训练自动驾驶汽车的例子,该算法通过我们提出的图像分割到图像的框架与合成的真实环境交互。研究结果表明,利用RL训练的方法,有可能获得一种可以放置在现实世界中的自驾驶汽车。

相关文章:

  • 2022-12-23
  • 2021-08-16
  • 2022-01-07
  • 2021-04-24
  • 2021-07-12
  • 2021-10-21
  • 2022-01-15
猜你喜欢
  • 2021-12-12
  • 2021-08-19
  • 2021-06-07
  • 2021-07-02
  • 2021-05-08
  • 2022-01-03
  • 2021-08-04
相关资源
相似解决方案