深度强化学习处理真实世界的自动驾驶
arXiv论文“Tackling Real-World Autonomous Driving using Deep Reinforcement Learning“,上传于2022年7月5日,作者来自意大利的帕尔马大学Vislab和安霸公司(收购Vislab)。
在典型的自主驾驶流水线中,规控系统代表了两个最关键的组件,其中传感器检索的数据和感知算法处理的数据用于实现安全舒适的自动驾驶行为。特别是,规划模块预测自动驾驶汽车在执行正确的高级操作时应遵循的路径,同时控制系统执行一系列低级操作,控制转向、油门和制动。
这项工作提出一种无模型(model- free)深度强化学习(DRL)规划器,训练一个预测加速度和转向角的神经网络,从而获得一个用自主驾驶汽车的定位和感知算法输出的数据驾驶车辆的单个模块。特别是,经过充分模拟训练的系统能够在模拟和真实(帕尔马城区)无障碍环境中平稳安全地驾驶,证明了该系统具有良好的泛化能力,也可以在训练场景以外的环境驾驶。此外,为了将系统部署在真实的自动驾驶汽车上,并减少模拟性能和真实性能之间的差距,作者还开发一个由微型神经网络表示的模块,该模块能够在模拟训练期间复现真实环境的汽车动态行为。
在过去几十年中,从简单的、基于规则的方法到实现基于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取决于智体实现的终端状态:
- 达成目标:代理达到目标位置,因此两个奖励的rterminal设置为+1.0;
- 驾驶出道路:智能体偏离其路径,主要是由于对转向角的预测不准确。因此,将负信号-1.0指定给Rsa,t,负信号0.0给R-acc-t;
- 时间到了:完成该片段的可用时间失效,这主要是由于智体的加速预测过于谨慎;因此,rterminal假设−1.0给R-acc-t,0.0给R-sa-t。
与模拟器相关的主要问题之一在于模拟数据和真实数据之间的差异,这是由于难以在模拟器内真实再现真实世界的情况造成的。为了克服这个问题,用一个合成模拟器以简化神经网络的输入,并减少模拟数据和真实数据之间的差距。事实上,作为神经网络输入的4个通道(障碍物、驾驶空间、路径和停止线)包含的信息可以通过感知和定位算法以及嵌入在真实自动驾驶汽车上的高清地图轻松再现。
此外,使用模拟器的另一个相关问题与模拟智体执行目标动作与自动驾驶汽车执行该命令的两个方式不同有关。实际上,在时间t计算的目标动作,理想情况下可以在模拟的同一精确时刻立即生效。不同的是,这不会发生在真实车辆上,因为真实情况是,此类目标动作将以某种动态执行,从而导致执行延迟(t+δ)。因此,有必要在仿真中引入此类响应时间,以便在真正的自动驾驶汽车上训练智体去处理此类延迟。
为此,为了实现更真实的行为,首先训练智体,将低通滤波器添加到智体必须执行的神经网络预测目标动作中。如图所示,蓝色曲线表示在模拟中采用目标动作(其示例的转向角)发生的理想和瞬时响应时间。然后,引入低通滤波器后,绿色曲线识别模拟的智体响应时间。相反,橙色曲线显示自动驾驶车辆在执行相同转向动作的行为。然而,可以从图中注意到,模拟车辆和真实车辆之间的响应时间差异仍然相关。
事实上,神经网络预先设定的加速度和转向角点不是可行的命令,并且没有考虑一些因素,例如系统的惯性、执行器的延迟和其他非理想因素。因此,为了尽可能真实地再现真实车辆的动力学,开发一个由3个全连接层(深度响应)组成的小型神经网络组成的模型。深度响应行为的曲线图如上图的红色虚线所示,可以注意到与代表真实自动驾驶汽车的橙色曲线非常相似。鉴于训练场景没有障碍物和交通车辆,所描述的问题对于转向角的活动更为明显,但同样的想法已应用于加速度输出。
用自动驾驶汽车上收集的数据集训练深度响应模型,其中输入对应于人类驾驶员给车辆的命令(加速器压力和方向盘转动),输出对应于车辆的油门、制动和弯曲,可以用GPS、里程计或其他技术测量。通过这种方式,将此类模型嵌入模拟器中,获得更具可扩展性的系统,从而再现自动驾驶汽车的行为。因此,深度响应模块对于转向角的校正至关重要,但即使以不太明显的方式,对于加速度也是必要的,并且随着障碍物的引入,这一点将清晰可见。
在真实数据上测试了两种不同的策略,以验证深度响应模型对系统的影响。随后,验证车辆正确地沿着路径行驶,并且遵守高清地图得到的速度限制。最后,证明通过模仿学习(Imitation Learning)对神经网络进行预训练可以显著缩短总训练时间。
策略如下:
- 策略1:不使用深度响应模型进行训练,但使用低通滤波器模拟真实车辆对目标动作的响应。
- 策略2:通过引入深度响应模型进行训练,确保更现实的动态。
在模拟中执行的测试对这两种策略都产生了良好的结果。事实上,无论是在训练过的场景,还是在没有训练的地图区域,智体都能够在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规则做纵向加速度。这两种方法之间的差距可能更明显,训练系统执行更复杂的机动,其中可能需要智体交互。
以上是深度强化学习处理真实世界的自动驾驶的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

写在前面&笔者的个人理解三维Gaussiansplatting(3DGS)是近年来在显式辐射场和计算机图形学领域出现的一种变革性技术。这种创新方法的特点是使用了数百万个3D高斯,这与神经辐射场(NeRF)方法有很大的不同,后者主要使用隐式的基于坐标的模型将空间坐标映射到像素值。3DGS凭借其明确的场景表示和可微分的渲染算法,不仅保证了实时渲染能力,而且引入了前所未有的控制和场景编辑水平。这将3DGS定位为下一代3D重建和表示的潜在游戏规则改变者。为此我们首次系统地概述了3DGS领域的最新发展和关

昨天面试被问到了是否做过长尾相关的问题,所以就想着简单总结一下。自动驾驶长尾问题是指自动驾驶汽车中的边缘情况,即发生概率较低的可能场景。感知的长尾问题是当前限制单车智能自动驾驶车辆运行设计域的主要原因之一。自动驾驶的底层架构和大部分技术问题已经被解决,剩下的5%的长尾问题,逐渐成了制约自动驾驶发展的关键。这些问题包括各种零碎的场景、极端的情况和无法预测的人类行为。自动驾驶中的边缘场景"长尾"是指自动驾驶汽车(AV)中的边缘情况,边缘情况是发生概率较低的可能场景。这些罕见的事件

0.写在前面&&个人理解自动驾驶系统依赖于先进的感知、决策和控制技术,通过使用各种传感器(如相机、激光雷达、雷达等)来感知周围环境,并利用算法和模型进行实时分析和决策。这使得车辆能够识别道路标志、检测和跟踪其他车辆、预测行人行为等,从而安全地操作和适应复杂的交通环境.这项技术目前引起了广泛的关注,并认为是未来交通领域的重要发展领域之一。但是,让自动驾驶变得困难的是弄清楚如何让汽车了解周围发生的事情。这需要自动驾驶系统中的三维物体检测算法可以准确地感知和描述周围环境中的物体,包括它们的位置、

一先导与重点文章主要介绍自动驾驶技术中几种常用的坐标系统,以及他们之间如何完成关联和转换,最终构建出统一的环境模型。这里重点理解自车到相机刚体转换(外参),相机到图像转换(内参),图像到像素有单位转换。3d向2d转换会有相应的畸变,平移等。重点:自车坐标系相机机体坐标系需要被重写的是:平面坐标系像素坐标系难点:要考虑图像畸变,去畸变和加畸变都是在像平面上去补偿二简介视觉系统一共有四个坐标系:像素平面坐标系(u,v)、图像坐标系(x,y)、相机坐标系()和世界坐标系()。每种坐标系之间均存在联系,

轨迹预测在自动驾驶中承担着重要的角色,自动驾驶轨迹预测是指通过分析车辆行驶过程中的各种数据,预测车辆未来的行驶轨迹。作为自动驾驶的核心模块,轨迹预测的质量对于下游的规划控制至关重要。轨迹预测任务技术栈丰富,需要熟悉自动驾驶动/静态感知、高精地图、车道线、神经网络架构(CNN&GNN&Transformer)技能等,入门难度很大!很多粉丝期望能够尽快上手轨迹预测,少踩坑,今天就为大家盘点下轨迹预测常见的一些问题和入门学习方法!入门相关知识1.预习的论文有没有切入顺序?A:先看survey,p

强化学习中的奖励函数设计问题引言强化学习是一种通过智能体与环境的交互来学习最优策略的方法。在强化学习中,奖励函数的设计对于智能体的学习效果至关重要。本文将探讨强化学习中的奖励函数设计问题,并提供具体代码示例。奖励函数的作用及目标奖励函数是强化学习中的重要组成部分,用于评估智能体在某一状态下所获得的奖励值。它的设计有助于引导智能体通过选择最优行动来最大化长期累

原标题:SIMPL:ASimpleandEfficientMulti-agentMotionPredictionBaselineforAutonomousDriving论文链接:https://arxiv.org/pdf/2402.02519.pdf代码链接:https://github.com/HKUST-Aerial-Robotics/SIMPL作者单位:香港科技大学大疆论文思路:本文提出了一种用于自动驾驶车辆的简单高效的运动预测基线(SIMPL)。与传统的以代理为中心(agent-cent

最近一个月由于众所周知的一些原因,非常密集地和行业内的各种老师同学进行了交流。交流中必不可免的一个话题自然是端到端与火爆的特斯拉FSDV12。想借此机会,整理一下在当下这个时刻的一些想法和观点,供大家参考和讨论。如何定义端到端的自动驾驶系统,应该期望端到端解决什么问题?按照最传统的定义,端到端的系统指的是一套系统,输入传感器的原始信息,直接输出任务关心的变量。例如,在图像识别中,CNN相对于传统的特征提取器+分类器的方法就可以称之为端到端。在自动驾驶任务中,输入各种传感器的数据(相机/LiDAR
