这个论文是我在复现UniAD中看到的,UniAD在carla中实现的时候提到了这个方法。是上海交通大学UniAD团队成员的论文。
1 摘要
- 基于CARLA Leaderboard v2环境。此环境相比于v1增加了很多角落案例(corner cases),即正常驾驶任务中不易产生但在训练过程中会使端到端训练效果下降。
- 提出了一个世界模型,将模拟器(世界)中获取的信息映射到低维度空间,加快训练速度。
- 单个A6000 GPU上训练三天达到100%的路线完成情况。
- 提出了CornerCaseRepo,一个支持按场景评估模型的基准。
关键词:Autonomous driving · Neural planner · World model · Modelbased reinforcement learning · CARLA v2 · Think2Drive
2 介绍
背景:
- 传统的基于规则的控制方案很难处理复杂和动态的交通场景,对于长尾情况则更加困难。用基于规则的方法难免会随着决策树的拓展而出现兼容性问题,所以神经规划器很重要。
- 一些在v1上表现出色的规划方法由于v2出现了很多角落案例和更复杂的场景,这些场景造成了长尾问题,而表现得不佳。
意义:
- 提出了基于世界模型的强化学习方法,来提高数据效率和复杂场景中的灵活性。
- 具体而言,用世界模型对自动驾驶汽车中的环境转换函数进行建模,并将其作为神经网络模拟器,是规划器在这个虚构的模拟器中去驾驶。
提出了三个问题:
- 策略退化:同一个场景不同的动态情况会使模型陷入局部最优解。
- 长尾问题:角落案例太多了
- 航向角稳定问题:基于学习的规划器可能会使车辆不稳定。
做出的贡献:
- 首创性地提出了基于模型的强化学习规划方法
- 提出了一种新的评价指标,包括路线完成、违规次数等
- 在v2中提出了CornerCaseRepo,一个支持按场景评估模型的基准。
3 方法论
3.1 问题定义
两个主体:
- 规划模型:利用高清地图、交通灯的情况等作为输入, 输出控制信号。
- 世界模型:将现实世界降维。
流程:
给定从记录中采样的时间步长t处的初始输入xt,世界模型将其编码为状态st。然后,规划器基于st生成at。最后,世界模型以st和at为输入预测奖励rt、终止状态ct和未来状态st+1。

通过在世界模型的潜在状态空间st中滚动,规划者可以高效地思考和学习,而无需与重型物理模拟器交互。
3.2 世界模型学习和规划模型学习
使用openmind的Dreamerv3进行世界模型的构建。
- RSSM(Recurrent State Space Model):使用四个组件来构建世界模型,包括序列模型、编码器、动态预测器、奖励预测器和终止预测器。RSSM的目标是提供环境的准确转移函数,并在潜在空间中进行高效的回滚(rollout)。
- 状态表示:将状态表示分解为随机表示和确定性隐藏状态,以更好地建模真实转移函数的确定性和随机性方面。
- 损失函数:包括预测损失、动态损失和表示损失,用于训练模型并最小化不同的误差。
利用actor-critic网络进行规划模型的构建
- 演员-评论家架构:规划器模型作为演员,评论家模型用于辅助学习。规划器模型在潜在空间中进行决策,旨在最大化预测的奖励。
- 探索过程:模型从记录中获取输入,并进行T步探索,规划器模型试图最大化期望折现回报。
- 评论家模型:用于评估每个状态,以减少累积误差。
- 损失函数:通过交叉熵损失训练评论家,并对奖励期望进行归一化,以稳定训练过程。
如何相互联系?
- 世界模型生成并预测潜在表示(st=(zt,ht))(s_t = (z_t, h_t))(st=(zt,ht)),其中ztz是随机表示,hth是隐藏状态。这些潜在表示是环境状态的简化抽象,保留了环境动态的关键信息。
- 规划器模型则基于世界模型输出的潜在表示(zt,ht)来进行决策。具体来说,规划器将这些潜在表示作为输入,通过策略πη生成动作,从而在潜在空间中执行决策。
3.3 一些问题和解决方式
- 策略退化陷入局部最优解问题:
在训练过程中,随机重新初始化规划器的所有参数。这一过程允许智能体逃离局部最优。 - 角落案例造成的长尾问题
- 实现了自动场景生成器。给定一条路线,它可以自动将路线拆分为多条短路线,并根据路况生成场景,因此,训练过程能够获得许多具有密集场景的较短路线。
- 建立了一个基准CornerCaseRepo进行评估,可以在官方测试路线太长,因此结果难以分析的情况下估计每种情况下的详细能力。
- 非均匀的有价值过度和训练效率低:例如,在红灯停等的 10 秒钟内,如果智能体以每秒 10 帧的频率决策,那么它可能会连续生成 100 帧低价值的过渡。智能体在训练过程中大部分时间都在处理价值较低的状态,导致探索空间不平衡且长尾。
终止状态优先采样策略:一种有价值的过渡是指在一个 episode(回合)结束前的 K 帧。 - 动作波动,航向角不稳定的问题:
引入一个转向成本函数(steering cost function)来训练智能体 - 场景复杂性:
借鉴课程学习(curriculum learning)的理念,在统一训练之前,先进行一个预热训练阶段,使用简单的车道跟随和简单转弯场景。 - 动态环境问题:世界模型和规划器模型的适配问题:
设置规划器模型的增量训练比例,在训练结束时,规划器的训练比例是世界模型的四倍,以加快收敛速度。 - carla环境问题:太冗杂,RL时重置时间太长
将CARLA包装成一个RL环境,并通过异步重载和并行执行来提高运行效率。
4 实验
4.1 CARLA Leaderboard v2的问题
官方的测试方法有一些问题,此论文进行了优化。
4.2 CornerCaseRepo基准测试
在官方基准测试中,多个场景沿着一条长路线,这使得训练和评估模型变得困难。
为了解决这一不足,引入了CornerCaseRepo基准,包括1600条训练路线和390条测试路线。
4.3 加权驾驶分数
如4.1 ,官方的评估方式不合理,这里针对性的进行了优化。
4.4 实验表现
- Baseline为tcp,相比有很大优势
- 对比了Roach和ppo,Think2Drive在CARLA Leaderboard v1和v2中的表现都优于Roach和PPO,尤其是在更复杂的v2路线中。
- 提出了ppo的问题:次重置后,PPO都必须从存储在重放缓冲区中的轨迹中重新学习策略,这些轨迹由于AD特性而包含固有的奖励噪声。
4.5 4.6 可视化和消融实验
对比3.3,消融实验说明1 5 问题更有影响力
5 实现细节
描述了输入输出,还有规划器的奖励设计。
如下:
- 速度奖励 rspeed用于训练自我车辆保持安全速度,取决于与其他物体的距离及其类型。
- 行驶奖励 rtravelr:表示在CARLA的每个时间步中沿目标路线行驶的距离,鼓励自我车辆完成更多目标路线。
- 偏离惩罚 pdeviation:是自我车辆与车道中心之间距离的负值
- 转向成本 csteer:用于使自我车辆更加平稳地行驶,设定为当前转向角与上一个转向角之间的差值。
6 结论
相比摘要提到了一点,这个模型作为数据手机模型,为端到端驾驶提供专家数据。