点击下方
卡片
,关注“
自动驾驶之心
”公众号
>>
点击进入→
自动驾驶之心
『
大模型
』
技术交流群
本文只做学术分享,如有侵权,联系删文
自动驾驶领域的发展见证了采用端到端算法框架的方法的快速增长,
这些方法利用原始传感器输入来生成车辆运动计划,而不是专注于检测和运动预测等单个任务。
与模块化管道相比,端到端系统受益于感知和规划的联合特征优化。由于大规模数据集的可用性、闭环评估以及对自动驾驶算法在具有挑战性的场景中有效执行的需求不断增加,该领域蓬勃发展。
传统的自动驾驶系统采用模块化部署策略
,其中感知、预测、规划等各个功能都是单独开发并集成到车载车辆中。规划或控制模块负责生成转向和加速输出,在确定驾驶体验方面发挥着至关重要的作用。模块化Pipeline中最常见的规划方法涉及使用复杂的基于规则的设计,这通常无法有效解决驾驶时发生的大量情况。因此,利用大规模数据并使用基于学习的规划作为可行的替代方案的趋势日益明显。
我们将端到端自动驾驶系统定义为完全可微分的程序,该程序将原始传感器数据作为输入并生成计划或低级控制操作作为输出。图 1 (a)-(b) 说明了经典公式和端到端公式之间的差异。
传统方法将每个组件的输出(例如边界框和车辆轨迹)直接输入后续单元
(虚线箭头)。相反,
端到端范式跨组件传播特征表示
(灰色实线箭头)。例如,优化函数设置为规划性能,并通过反向传播(红色箭头)最小化损失,在此过程中任务得到联合全局优化。
本文首次提供了端到端自动驾驶的全面分析,包括高层动机、方法论、基准等。我们提倡的不是单个模块的优化,而是
整体设计算法框架
的理念,最终目标是实现安全舒适的驾驶。
在经典Pipeline中,每个模型都提供独立的组件并对应于特定的任务(例如交通灯检测)。这样的设计在可解释性、可验证性和易于调试方面是有益的。然而,由于各个模块的优化目标不同,感知中的检测追求平均精度(mAP),而规划则以驾驶安全性和舒适性为目标,整个系统可能不会朝着一个统一的目标,即最终的规划/控制任务。随着顺序过程的进行,每个模块的错误可能会加剧并导致驱动系统的信息丢失。此外,多任务、多模型部署可能会增加计算负担,并可能导致计算使用不佳。
与传统的对应系统相比,端到端自治系统具有多种优势。(a) 最明显的优点是它简单地将感知、预测和规划结合到一个可以联合训练的模型中。(b) 整个系统,包括其中间表示,针对最终任务进行了优化。(c) 共享主干网提高了计算效率。(d) 数据驱动的优化有可能通过简单地扩展培训资源来提供改进系统的新兴能力。
请注意,端到端范式不一定表示只有规划/控制输出的黑匣子。它可以像经典方法一样采用中间表示和输出进行模块化(图 1 (b))。事实上,一些最先进的系统提出了模块化设计,但同时优化所有组件以实现卓越的性能。
本文重点说明了三种流行的范式,
包括两种模仿学习框架(行为克隆和逆最优控制)以及在线强化学习。
本文回顾大多数现有端到端自动驾驶方法背后的基本原理。并讨论了使用模仿学习的方法,并提供了两个最流行的子类别的详细信息,即行为克隆和逆最优控制。最后,总结了遵循强化学习范式的方法。
模仿学习(IL),也称为从演示中学习,通过模仿专家的行为来训练智能体学习最优策略。IL 需要数据集
包含根据专家的政策收集的轨迹
,其中每个轨迹都是状态-动作对的序列
。
IL 的目标是学习代理策略
匹配
。
IL 的一个重要且广泛使用的类别是行为克隆(BC,Behavior Clone),它将问题归结为监督学习。
逆向最优控制(IOC),也称为逆向强化学习(IRL),是另一种 IL 方法,它利用专家演示来学习奖励函数。
我们将在以下几节中详细说明这两个类别。
行为克隆BC 在驾驶任务中的早期应用利用端到端神经网络从摄像头输入生成控制信号。在行为克隆中,将代理策略与专家策略相匹配的目标是通过最小化计划损失来实现的,作为收集数据集上的监督学习问题:
。
这里,
表示一个损失函数,用于测量代理动作和专家动作之间的距离。
行为克隆因其简单和高效而具有优势,因为它不需要手工设计的奖励设计,而这对于强化学习至关重要。
已有学者提出了进一步的增强功能,例如多传感器输入、辅助任务和改进的专家设计,以使基于 BC 的端到端驾驶模型能够处理具有挑战性的城市驾驶场景。
然而,存在一些与行为克隆相关的常见问题。在训练过程中,行为克隆将每个状态视为独立且相同分布,从而导致一个称为协变量偏移的重要问题。对于一般的IL,已经提出了几种在策略方法来解决这个问题。在端到端自动驾驶的背景下,行为克隆的另一个常见问题是因果混淆,即模仿者利用并依赖某些输入组件和输出信号之间的错误相关性。这个问题已经在中的端到端自动驾驶的背景下进行了讨论。基于模仿学习的端到端自动驾驶的这两个具有挑战性的问题将在后续文段中进一步讨论。
成本学习方法仍然存在一些挑战。特别是,为了产生更现实的成本,通常会结合高清地图、辅助感知任务和多个传感器,这增加了多模态多任务框架的学习和构建数据集的难度。为了解决这个问题,MP3、ST-P3和 IVMP放弃了先前工作中使用的 HD 地图输入,并利用预测的 BEV 地图来计算交通规则的成本,例如靠近中心线并避免与道路边界发生碰撞。上述成本学习方法显着增强了自动驾驶汽车决策的安全性和可解释性,相信受行业启发的端到端系统设计是真正实现自动驾驶汽车决策的可行方法。
强化学习(RL)是一个通过反复试验进行学习的领域。深度Q网络(DQN)在Atari 2600基准上实现人类级别的控制的成功已经普及了深度强化学习。DQN 训练一个称为批评家(或 Q 网络)的神经网络,该网络将当前状态和操作作为输入,并预测该操作的贴现未来奖励(当随后遵循相同的策略时)。然后通过选择具有最高 Q 值的操作来隐式定义策略。强化学习需要一个允许执行潜在不安全操作的环境,因为它需要探索(例如,有时在数据收集期间执行随机操作)。此外,强化学习比监督学习需要更多的数据来训练。因此,现代强化学习方法通常会跨多个环境并行数据收集。在现实汽车中满足这些要求提出了巨大的挑战。因此,几乎所有在自动驾驶中使用强化学习的论文都只研究了仿真技术。
实际上,强化学习与监督学习相结合已成功应用于自动驾驶。隐式可供性、 GRI都使用监督学习、语义分割和分类等辅助任务来预训练其架构的 CNN 编码器部分。在第二阶段,预训练的编码器被冻结,并使用现代版本的 Q 学习对冻结图像编码器的隐式可供性进行训练。强化学习也已成功用于微调 CARLA 上的完整架构,这些架构是使用模仿学习进行预训练的。
强化学习还被有效地应用于网络可以访问特权模拟器信息的规划或控制任务。本着同样的精神,强化学习已应用于自动驾驶的数据集管理。Roach在特权 BEV 语义分割上训练 RL 方法,并使用该策略自动收集用于训练下游模仿学习代理的数据集。WoR 采用 Q 函数和表格动态规划来为静态数据集生成附加或改进的标签。
该领域未来的挑战是将模拟结果转移到现实世界。在强化学习中,目标被表示为奖励函数,大多数算法要求这些奖励函数是密集的,并在每个环境步骤提供反馈。当前的工作通常使用简单的目标,例如进度和避免碰撞,并将它们线性组合。这些简单化的奖励函数因鼓励冒险行为而受到批评。设计或学习更好的奖励函数仍然是一个悬而未决的问题。另一个方向是开发可以处理稀疏奖励的强化学习算法,从而直接优化相关指标。强化学习可以与世界模型有效结合,当前自动驾驶的 RL 解决方案严重依赖于场景的低维表示。
强化学习已经证明了在空荡荡的街道上的真车上成功学习车道跟随。尽管早期结果令人鼓舞,但必须指出的是,三十年前就已经通过模仿学习完成了类似的任务。迄今为止,还没有报告显示强化学习端到端训练的结果可以与模仿学习相媲美。在与 CARLA 模拟器发布一起进行的直接比较中,强化学习远远落后于模块化Pipeline和端到端模仿学习。这种失败的原因很可能是通过强化学习获得的梯度不足以训练驾驶所需的深度感知架构(ResNet 规模)。RL取得成功的 Atari 等基准测试中使用的模型相对较浅,仅由几个层组成。
自动驾驶系统需要对其可靠性进行全面评估以确保安全。为了实现这一目标,研究人员必须使用适当的数据集、模拟器和指标对这些系统进行基准测试。端到端自动驾驶系统大规模基准测试有两种方法:
其中需要特别关注更有原则性的在线设置,并提供离线评估的简要总结以确保完整性。
对于图 1 中所示的每个主题/问题,我们现在讨论相关工作、当前挑战以及有希望的未来趋势和机遇。我们先基于处理不同输入方式和公式相关的挑战开始。然后是关于高效政策学习的视觉抽象的讨论。此外,我们还介绍了学习范式,例如世界模型学习、多任务框架和策略蒸馏。最后,我们讨论阻碍安全可靠的端到端自动驾驶的一般问题,包括可解释性、因果混乱、稳健性和普遍性。