专栏名称: 自动驾驶之心
自动驾驶开发者社区,关注计算机视觉、多维感知融合、部署落地、定位规控、领域方案等,坚持为领域输出最前沿的技术方向!
51好读  ›  专栏  ›  自动驾驶之心

北航出品MA2T:基于端到端驾驶模型的对抗训练新方法!

自动驾驶之心  · 公众号  ·  · 2024-09-25 07:30

正文

点击下方 卡片 ,关注“ 自动驾驶之心 ”公众号

戳我-> 领取 自动驾驶近15个 方向 学习 路线

今天自动驾驶之心为大家分享北航最新的端到端研究进展! 如果您有相关工作需要分享,请在文末联系我们!


自动驾驶课程学习与技术交流群事宜,也欢迎添加小助理微信AIDriver004做进一步咨询


>> 点击进入→ 自动驾驶之心 端到端自动驾驶 技术交流群

辑 | 自动驾驶之心

写在前面&笔者的个人理解

在自动驾驶系统当中包括感知、预测以及规控在内的各个功能模块。传统的解决方案主要是侧重于独立的解决单个子任务,但是这可能导致诸如模块间信息丢失、错误累积和特征错位等问题。因此,学术界和工业界为了应对这些挑战,提出了端到端的自动驾驶算法模型,这类算法模型将从感知到规划的所有组件统一起来,以提供更全面的解决方案并实现最先进的表现性能。

虽然目前提出的各类基于深度学习的自动驾驶模型具有良好的表现性能,但它在对抗性攻击,细微的扰动都会显著降低模型性能。先前的相关研究工作已经广泛评估了自动驾驶系统在各种子任务,比如目标检测、轨迹预测以及端到端算法模型中的对抗鲁棒性。但是,端到端的自动驾驶模型受到的关注相对较少。这种研究的稀疏性对端到端自动驾驶的安全性构成了严重风险,增加了其受到攻击的脆弱性。

因此基于上述提到的相关问题,本文提出了研究端到端自动驾驶背景下的对抗训练,但是由于学习范式不同,简单地将现有的对抗性训练基线扩展到端到端自动驾驶任务上存在两点挑战。

  • 多样化的训练目标 :由于整个端到端流程中每个模块的训练目标并不同,因此设计有效的对抗性训练目标具有很大的挑战性
  • 不同模块的贡献 :不同的模块对模型最终决策的稳健性有不同的影响和贡献程度

因此,基于上述提到的端到端自动驾驶的背景以及相关的挑战,本文提出了基于模块化的自适应对抗训练算法 。为了验证提出算法模型的有效性,我们在nuScenes数据集上进行了大量的实验,实验涉及多个端到端自动驾驶模型。同时面对白盒和黑盒攻击,我们提出的方法相比其他基线方法表现更加优异。此外,我们通过CARLA模拟环境中的闭环评估验证了我们防御的稳健性,结果表明,即使面对自然破坏,我们的防御能力也得到了提升。

论文链接如下:https://arxiv.org/pdf/2409.07321v1

网络模型的整体架构&细节梳理

在详细介绍本文提出的 算法模型之前,下图展示了我们提出的算法模型的整体思路,包含了基于模块化的噪声注入以及动态权重累计适应。

以UniAD为例说明提出的算法模型

具体而言,针对模块间训练目标不同的问题,我们设计了模块化的噪声注入,以总体目标而非各个独立模块损失来训练模型。这种方法确保噪声的生成具有模型的整体性,使用总体损失进行反向传播,而不是关注可能相互矛盾并对整体决策鲁棒性产生负面影响的单个模块损失。为了管理训练过程中模块的不同贡献,我们引入了动态权重累积自适应,它根据噪声注入期间模块的贡献自适应地调整每个模块的损失权重以适应总体目标。具体而言,该方法结合了权重累积因子来调整下降率以保持平衡的训练过程,可以自适应地控制每个模块的权重并防止任何模块在训练期间的急剧下降。

基于模块化的噪声注入

为了应对多样化训练目标带来的挑战,我们设计了模块化的噪声注入方法。我们将噪声直接注入算法模型的每个模块的输入中,以确保对所有模块进行全面的训练。虽然之前的相关方法针对每个模块的损失,但这可能会导致对模型产生不一致的影响。为了缓解这种情况,我们采用统一的目标来指导模型的训练过程。

具体而言,我们在每个模块的输入引入了噪声 来实现模块化的噪声注入,具体流程如下公式所示。



其中 代表在感知、预测和规划模块中对第 个图像应用特定的对抗性扰动。在常规的训练过程中,总损失 是通过汇总每个模块的损失来计算的。具体来说,它是感知模块损失 ,预测模块损失 以及规划模块损失 的总和。



其中,我们引入了 来表达所有模块的总损失和。对于生成的每个 ,我们使用总损失 作为攻击目标。对抗模型 的目标是最大化对抗条件下的总损失,公式如下所示。

这种策略可以保证在产生噪声时,攻击的目标是总损失。这里我们以UniAD算法模型为例,我们可以将噪声注入到五个不同的模块当中。噪声注入管道的位置有:数据输入、数据传播、损失反向传播、噪声注入以及提供噪声生成的梯度。

动态权重累计适应

我们通过引入了动态权重累计适应思想来解决不同模块的贡献的挑战,通过合并累积权重变化自适应地调整每个模块的损失权重。这种方法利用模块的贡献来确保更好的平衡和更稳健的训练。前向传播过程中每个模块的损失可以用 来描述。受到多任务学习中动态加权累计思路的启发,将多任务的概念扩展到多个模块,每个模块在当前时间戳 的损失 相对于其前一个值的比值计算方式如下:


其中,比例 捕获两个时间步长之间模块 损失的相对变化。在此基础上,我们引入了一个缩放因子 来表达损失率变化相对于所有模块平均变化的重要性。该因子的定义方式如下



其中, 是在所有时间戳上所有模块比率的平均值,







请到「今天看啥」查看全文