arXiv论文“Tackling Real-World Autonomous Driving using Deep Reinforcement Learning“,上传于2022年7月5日,作者来自英国的帕尔马大学Vislab和安霸公司(收购Vislab)。
在典型的自主驾驶流水线中,规控系统代表了两个最关键的组件,其中传感检索的数据和感知算法处理的数据用于实现安全舒适的手动驾驶行为。特别是,规划模块预测手动驾驶车辆在执行正确的中级操作时应遵守的路径,同时控制系统执行一系列低级操作,控制转向、油门和刹车。
这项工作提出一种无模型(model- free) 深度加强学习(DRL) 规划器,训练一个预测加速度和转向角的神经网路,从而获得一个用自主驾驶车辆的定位和感知算法输出的数据驾驶汽车的单个模块。特别是,经过充分模拟训练的系统才能在模拟和真实(帕尔马县城)无障碍环境中平稳安全地驾驶,证明了该系统具有良好的泛化能力,也可以在训练场景以外的环境驾驶。此外,为了将系统布署在真实的手动驾驶车辆上,并降低模拟性能和真实性能之间的差别,作者还开发一个由微型神经网路表示的模块,该模块才能在模拟训练期间复现真实环境的车辆动态行为。
在过去几十年中神经网络预测r程序,从简单的、基于规则的方式到实现基于AI的智能系统,车辆自动化水平的提升取得了巨大进展。特别是,这些系统致力解决基于规则的方式的主要局限性,即欠缺与其他公路使用者的协商和交互,以及对场景动态性理解较差。
强化学习(RL) 广泛用于解决使用离散控制空间输出的任务,如象棋、Atari游戏或国际象棋以及连续控制空间的自主驾驶。特别是,RL算法广泛应用于自主驾驶领域,用于开发决策和机动执行系统,如主动超车、车道保持、超车机动、十字路口和环岛处理等。
本文采用D-A3C的延后版本,属于所谓的Actor-Critics算法家族。特别由两个不同的实体组成:Actor和Critics。Actor的目的是选择智体必须执行的动作,而Critics 估计状态值函数,即智体特定状态的良好程度。换句话说,Actor是动作上的机率分布π(a | s;θπ)(其中θ是网路参数),critics是恐怕状态值函数v(st;θv)=E(Rt | st),其中R是期盼的回报。
内部开发的高清地图实现了仿真模拟器;场景的示例如图a所示,是在真实手动驾驶车辆测试系统的部份地图区域,而图b显示智体感知的周围视图,对应于50×50米的区域,被分为四个通道:障碍物(图c),可驾驶空间(图d)、智体应遵守的路径(图e)和停止线(图f)。模拟器中高清地图容许检索有关外部环境的多个信息,如位置或车道数、道路限速等。
专注于实现平稳安全的驾驶风格,因此在静态场景中训练智体,不包括障碍物或其他公路使用者,学习遵守路线并遵循速率限制。
使用如图所示的神经网路对智体进行训练,每100毫秒预测一次转向角和加速度。分为两个子模块:第一个子模块才能定义转向角sa,第二个子模块用于定义加速度acc。这两个子模块的输入由4个通道(可驾驶空间、路径、障碍物和停止线)表示,对应于智体的周围视图。每个视觉输入通道包含4个84×84象素的图象,以便为智体提供过去状态的历史。与此视觉输入一起,网络接收5个标量参数,包括目标速率(道路速率限制)、智体的当前速率、当前速率-目标速率比,以及与转向角和加速度相关的最后动作。
为了保证探求(exploration),采用两个高斯分布对两个子模块输出进行取样,获得相对加速度(acc=N(μacc,σacc))和转向角(sa=N(μsa,σsa))。标准差σacc和σsa在训练阶段由神经网络进行预测和调制,估计模型的不确定性。此外,该网路使用两个不同的奖励函数R-acc-t和R-sa-t,分别与加速度和转向角相关,生成相应的状态值恐怕(vacc和vsa)。
神经网路在帕尔马城市的四个场景进行训练。对于每位场景,创建多个实例,智体在这种实例上互相独立。每个智体遵守运动学单车模型,取值转向角为[-0.2,+0.2],加速度为[-2.0 m,+2.0 m]。在该片断开始时,每个智体以随机速率([0.0, 8.0])开始驾驶,并遵照其预定路径,并遵守道路速率限制。该市区的公路速率限制在4 ms到8.3 ms之间。
最后,由于训练场景中没有障碍物,因此片断可以在以下一种终端状态下结束:
为了获得才能在模拟和真实环境中顺利驾驶车辆的策略,奖励成形对实现预期行为至关重要。特别是,定义两个不同的奖励函数来分别评估两个动作:R-acc-t和R-sa-t分别与加速度和转向角有关,定义如下:
其中
R-sa-t和R-acc-t在公式中都有一个元素,用于惩罚两个连续动作,其加速度和转向角的差值分别小于某个阀值δacc和δsa。特别是,两个连续加速度之间的差值估算如下:acc=| acc(t) acc(t 1) | ,而racc_indecision的定义如下:
相反,转向角的两个连续预测之间的差值估算为sa=| sa(t) sa(t 1)|, 而 rsa_indecision定义如下:
最后,R-acc-t和R-sa-t取决于智体实现的终端状态:
与模拟器相关的主要问题之一在于模拟数据和真实数据之间的差别,这是因为无法在模拟器内真实再现真实世界的情况导致的。为了克服这个问题,用一个合成模拟器以简化神经网路的输入,并降低模拟数据和真实数据之间的差别。事实上,作为神经网路输入的4个通道(障碍物、驾驶空间、路径和停止线)包含的信息可以通过感知和定位算法以及嵌入在真实手动驾驶车辆上的高清地图轻松重现。
此外,使用模拟器的另一个相关问题与模拟智体执行目标动作与手动驾驶车辆执行该命令的两个形式不同有关。实际上,在时间t估算的目标动作,理想情况下可以在模拟的同一精确时刻立刻生效。不同的是,这不会发生在真实汽车上,因为真实情况是,此类目标动作将以某种动态执行,从而造成执行延后(t+δ)。因此,有必要在仿真中引入这种响应时间,以便在真正的手动驾驶车辆上训练智体去处理这种延后。
为此,为了实现更真实的行为,首先训练智体,将低通滤波器添加到智体必须执行的神经网路预测目标动作中。如图所示,蓝色曲线表示在模拟中采用目标动作(其示例的转向角)发生的理想和瞬时响应时间。然后,引入低通滤波器后,绿色曲线辨识模拟的智体响应时间。相反,橙色曲线显示手动驾驶汽车在执行相同转向动作的行为。然而,可以从图中注意到,模拟汽车和真实汽车之间的响应时间差别依然相关。
事实上,神经网路预先设定的加速度和转向角点不是可行的命令,并且没有考虑一些诱因,例如系统的惯性、执行器的延后和其他非理想诱因。因此,为了尽可能真实地重现真实汽车的动力学神经网络预测r程序,开发一个由3个全联接层(深度响应)组成的大型神经网路组成的模型。深度响应行为的曲线图如上图的黑色实线所示,可以注意到与代表真实手动驾驶车辆的白色曲线十分相像。鉴于训练场景没有障碍物和交通汽车,所描述的问题对于转向角的活动更为显著,但同样的看法已应用于加速度输出。
用手动驾驶车辆上搜集的数据集训练深度响应模型,其中输入对应于人类驾驶员给汽车的命令(加速器压力和方向盘转动),输出对应于汽车的油门、制动和弯曲,可以用GPS、里程计或其他技术检测。通过这些方法,将这种模型嵌入模拟器中,获得更具可扩展性的系统,从而重现手动驾驶车辆的行为。因此,深度响应模块对于转向角的校准至关重要,但虽然以不太显著的形式,对于加速度也是必要的,并且随着障碍物的引入,这一点将清晰可见。
在真实数据上测试了两种不同的策略,以验证深度响应模型对系统的影响。随后,验证汽车正确地顺着路径行驶,并且遵循高清地图得到的速率限制。最后,证明通过 模仿学习(Imitation Learning) 对神经网路进行预训练可以明显减短总训练时间。
策略如下:
在模拟中执行的测试对这两种策略都形成了良好的结果。事实上,无论是在训练过的场景,还是在没有训练的地图区域,智体都还能在100%的情况下以平稳安全的行为达到目标。
通过在真实场景中测试策略,得到了不同的结果。策略1未能处理汽车动力学,与模拟中的智体相比,其执行预测动作的形式不同;通过这些方法,策略1将观察到其预测结果的意外状态,导致手动驾驶车辆上的含噪和不舒适行为。
这种行为也会影响系统的可靠性,事实上,有时须要人工协助以防止手动驾驶车辆驶出公路。
相反,在对手动驾驶车辆进行的所有真实测试中,策略2未曾要求人类接管,因为晓得汽车动态以及系统将怎样演化为预测动作。唯一须要人为干预的情况是防止其他公路使用者;然而,这些情况不被视为失败,因为策略1和策略2都是在无障碍场景中训练的。
为了更好地理解策略1和策略2之间的差别,如图是神经网路预测的转向角以及在真实世界测试的短时窗口内到中心车道的距离。可以注意到这两种策略行为是完全不同的,策略1(蓝色曲线)与策略2(红色曲线)相比是吵闹和不安全的,这证明了深度响应模块对于在真正手动驾驶车辆上布署策略至关重要。
为了克服RL的限制,即须要数百万片断能够达到最优解,通过模仿学习(IL)进行了预训练。此外,即使IL的趋势是训练小型模型,也使用相同的大型神经网路(约100万个参数),因为看法是继续使用RL框架训练系统,以确保更具鲁棒性和泛化能力。这样,不会降低硬件资源的使用,考虑到未来可能的多智体训练,这一点至关重要。
IL训练阶段使用的数据集由模拟智体生成,这些智体遵守基于规则的方式运动。特别是,对于弯曲,用pure pursuit的跟踪算法,其中智体的目的是顺着特定的航路点联通。相反,用IDM模型来控制智体的横向加速度。
为了创建数据集,基于规则的智体在四个训练场景上运动,每100毫秒保存一次标量参数和四个视觉输入。相反,输出由pure pursuit算法和IDM模型给出。
与输出相对应的两个纵向和横向控件仅表示元组(μacc,μsa)。因此,在IL训练阶段,不恐怕标准差(σacc,σsa)的值,也不恐怕值函数(vacc,vsa)。这些特点以及深度响应模块在IL+RL训练阶段学习。
如图所示,展示从预训练阶段(蓝色曲线,IL+RL)开始训练同一神经网路,并和四种情况下RL(红色曲线,纯RL)结果比较。即使IL+RL训练须要的次数比纯RL少,并且趋势也更稳定,但这两种方式都取得良好的成功率(如图a)。
此外,图b中所示的奖励曲线证明,使用纯RL方式获得的策略(红色曲线)甚至没有达到更多训练时间的可接受解,而IL+RL策略在几个片断内达到最优解(图b中的红色曲线)。这种情况下,最优解由红色实线表示。该基线表示,用在4个场景执行50000片断的模拟智体获得的平均奖励。模拟的智体遵守确定性规则,与搜集IL预训练数据集的规则相同,即用pure pursuit规则做弯曲和IDM规则做横向加速度。这两种方式之间的差别可能更显著,训练系统执行更复杂的机动,其中可能须要智体交互。