MADRaS:多代理驾驶模拟器
本文介绍 MADRaS:多智能体驾驶模拟器。它是 TORCS 的多智能体版本,TORCS 是一个赛车模拟器,在强化学习和模仿学习领域被广泛用于自动驾驶研究。
概述
本文介绍 MADRaS:多智能体驾驶模拟器。它是 TORCS 的多智能体版本,TORCS 是一个赛车模拟器,在强化学习和模仿学习领域被广泛用于自动驾驶研究。参阅
MADRaS 是 Gym-TORCS 的多智能体扩展,它是开源的、轻量级的、易于安装的,并具有 OpenAI Gym API,这使其成为自动驾驶研究初学者的理想选择。它可以在同一环境中独立控制数十个智能体,为多智能体强化学习和模仿学习研究开辟了一个富有成效的方向,旨在在复杂的交通状况下获得类人般的谈判技能——这是自动驾驶领域的一项重大挑战,所有主要参与者都在竞相解决。
大多数开源自动驾驶模拟器(如 CARLA*、DeepDrive、AirSim 和 Udacity* SDC)本质上只支持以自我为中心的控制;也就是说,单个智能体的行为,而其他智能体则具有预编程的行为。在这些模拟器中引入具有自定义行为的智能体的难度限制了可以模拟的真实世界场景的多样性。为了解决这个问题,我们开发了 MADRaS,其中赛道上的每辆车都可以独立控制,从而能够创建丰富、定制的交通场景,并同时学习多个智能体的控制策略。
更多细节
交通中的谈判任务可以被视为在多智能体游戏中寻找获胜策略,其中多个实体(汽车、公交车、两轮车和行人)正努力实现其从一个地方到另一个地方既快速又安全可靠的目标。行为克隆、主动学习和学徒学习(逆强化学习后接强化学习)等模仿学习算法已被证明在许多简化假设和约束条件下,能有效地学习这种复杂的行为。当前文献的很大一部分做出了单智能体假设;也就是说,智能体在一个包含大量其他智能体(相似或不同)的环境中行动,但并不与其中任何一个交互,从而剥夺了它可能对决策非常有用的数据和信息,无论是自上层还是协作层面。
什么?
然而,驾驶本质上是多智能体的,以下是我们摆脱单智能体假设后可能实现的一些事情的非详尽列表。
车队行驶
多智能体系统在车辆中的最早应用之一(早在 1993 年!)就是车队行驶,即车辆以高速行驶,车辆间距很小,以减少拥堵并仍实现高吞吐量而不影响安全。现在看来,未来的自动驾驶汽车将在其通勤路线上进行通信、协作并形成车队,这似乎是显而易见的。
知识汇聚
除了将前方事故和可能的绕行信息传输给地理范围内所有车辆外,这种可靠的通信能力还可以用于汇聚多个学习智能体的知识。一个直观的动机可以考虑一个大的网格世界。对于单个学习智能体,可以在n小时的训练中解决网格世界。通过多个学习智能体汇聚它们的经验,我们可以大大缩短训练时间,甚至可能是线性的!
在各种环境中(尚未用于自动驾驶),关于多个智能体之间的通信的未开发文献很多。参阅
现在这引发了关于车辆之间通信可靠性的重要问题。随着 5G 的临近,1 车辆之间快速可靠的通信有助于实现完全免提自动驾驶汽车的训练和部署。
利用意图
路上的驾驶员不断预测其他驾驶员的潜在行为。例如,在停车场和十字路口进行近距离操控时,会进行眼神交流以确保双方理解一致。美国国防部高级研究计划局 (DARPA) 表示,对无法与机器人进行眼神交流感到不安的交通车辆驾驶员,已经诉诸于观察机器人的前轮以获取其意图的迹象。2
随着车际通信变得普遍且可靠(高呼 5G!),自动驾驶汽车将能够将其意图传输给邻近车辆,从而实现人类驾驶员目前通过眼神交流所能达到的协调水平。
但是…
多智能体学习也伴随着其自身的复杂性
- 非平稳性 一个移动目标问题,因为最佳策略会随着其他智能体的策略改变而改变。
- 维度灾难 随着智能体数量的增加,状态和动作变量呈指数增长。
- 指定一个好的目标 困难,因为智能体的回报是相关的,不能独立最大化。
- 探索 除了探索环境之外,智能体还需要获取其他智能体的信息。
- 协调 智能体的行为对环境的影响也取决于其他智能体采取的行动,因此需要相互一致的行动才能达到预期的效果。
记住为什么?
但请记住,我们最初为什么开始解决全自动驾驶 (FAD)。Will Knight 在为《Technology Review》撰文时,概述了我们无人驾驶汽车的未来可能性。
- 更安全的交通
美国国家公路交通安全管理局估计,超过 90% 的交通事故涉及人为错误,这一数字导致一些专家预测,自动驾驶将使道路事故数量减少相同的百分比。假设这项技术变得普及并确实产生了这样的影响,那么对社会的益处将是巨大的。根据美国汽车协会的数据,美国每年约有 33,000 人死于交通事故,造成 3000 亿美元的损失。世界卫生组织估计,全球每年有超过 120 万人在道路上死亡。3 - 提高燃油效率
除了因事故减少而导致的交通拥堵减轻外,预计自动驾驶出租车的兴起也将有助于减少道路上的汽车总数,从而缓解整体交通。而且,由于无人驾驶汽车的设计将优化加速和制动效率,自动驾驶汽车的普及可以将汽车产生的 CO2 排放量每年减少多达 3 亿吨。以高速车队形式行驶的自动驾驶车辆可以减少空气动力学阻力,从而将燃油消耗降低 20%。4 - 减少交通拥堵?
相互通信并与其周围环境通信的无人驾驶汽车可以更有效地找到并利用最佳路线,这将有助于分流稀缺的开放道路空间的需求。 - 提高人类生产力
随着汽车承担大部分或全部驾驶任务,我们可以自由地充分利用在车上的时间——花时间阅读书籍、观看比赛、与家人互动,甚至做一些工作!
还有更多…
结语
因此,今天我们很高兴向社区发布 MADRaS,以启动使 FAD 成为现实的研究。该模拟器构建在 TORCS 的基础上,能够同时在环境中引入多个学习智能体,可用于对现有的和新的自动驾驶汽车多智能体学习算法进行基准测试和试用,例如:多智能体深度确定性策略梯度 (MADDPG)(MADDPG)、PSMADDPG 等等。而且由于它是 TORCS 的扩展,它也支持所有单智能体学习算法的部署。提供了 DDPG 智能体训练的脚本作为示例。
观看以下视频,了解功能概述和一般界面。
- 请查看 GitHub* 仓库和 项目维基。
- 查看 视频,了解一个已学会驾驶的示例深度确定性策略梯度 (DDPG) 智能体在交通中的表现。
该项目由 Abhishek Naik 和 Anirban Santara(英特尔® AI 学生大使)在印度班加罗尔英特尔实验室并行计算实验室实习期间开发。该项目由英特尔旨在解决缺乏开源多智能体自动驾驶模拟器的问题所驱动,该模拟器可供机器学习(尤其是强化学习)科学家快速原型化和评估他们的想法。虽然该系统完全在英特尔®酷睿™ i7 处理器和英特尔®至强®处理器上开发和优化,但我们相信它也能在其他 x86 平台上流畅运行。目前,我们正在将 MADRaS 与 英特尔® Nervana™ 平台强化学习教练集成,并邀请社区参与其开发。
请随时通过在 GitHub 仓库中创建 issue 来报告任何不兼容或错误。我们希望 MADRaS 能够使学术界和工业界的新老研究人员能够实现 FAD 的目标!
作者
Abhishek Naik:IIT Madras
Anirban Santara:英特尔 AI 学生大使,IIT Kharagpur
Balaraman Ravindran:IIT Madras, RBC-DSAI 主任
Bharat Kaul:并行计算实验室,英特尔实验室