点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
今天自动驾驶之心为大家分享北航最新的端到端研究进展!如果您有相关工作需要分享,请在文末联系我们!
自动驾驶课程学习与技术交流群事宜,也欢迎添加小助理微信AIDriver004做进一步咨询
编辑 | 自动驾驶之心
写在前面&笔者的个人理解
在自动驾驶系统当中包括感知、预测以及规控在内的各个功能模块。传统的解决方案主要是侧重于独立的解决单个子任务,但是这可能导致诸如模块间信息丢失、错误累积和特征错位等问题。因此,学术界和工业界为了应对这些挑战,提出了端到端的自动驾驶算法模型,这类算法模型将从感知到规划的所有组件统一起来,以提供更全面的解决方案并实现最先进的表现性能。
虽然目前提出的各类基于深度学习的自动驾驶模型具有良好的表现性能,但它在对抗性攻击,细微的扰动都会显著降低模型性能。先前的相关研究工作已经广泛评估了自动驾驶系统在各种子任务,比如目标检测、轨迹预测以及端到端算法模型中的对抗鲁棒性。但是,端到端的自动驾驶模型受到的关注相对较少。这种研究的稀疏性对端到端自动驾驶的安全性构成了严重风险,增加了其受到攻击的脆弱性。
因此基于上述提到的相关问题,本文提出了研究端到端自动驾驶背景下的对抗训练,但是由于学习范式不同,简单地将现有的对抗性训练基线扩展到端到端自动驾驶任务上存在两点挑战。
多样化的训练目标:由于整个端到端流程中每个模块的训练目标并不同,因此设计有效的对抗性训练目标具有很大的挑战性
不同模块的贡献:不同的模块对模型最终决策的稳健性有不同的影响和贡献程度
因此,基于上述提到的端到端自动驾驶的背景以及相关的挑战,本文提出了基于模块化的自适应对抗训练算法。为了验证提出算法模型的有效性,我们在nuScenes数据集上进行了大量的实验,实验涉及多个端到端自动驾驶模型。同时面对白盒和黑盒攻击,我们提出的方法相比其他基线方法表现更加优异。此外,我们通过CARLA模拟环境中的闭环评估验证了我们防御的稳健性,结果表明,即使面对自然破坏,我们的防御能力也得到了提升。
论文链接如下:https://arxiv.org/pdf/2409.07321v1
网络模型的整体架构&细节梳理
在详细介绍本文提出的算法模型之前,下图展示了我们提出的算法模型的整体思路,包含了基于模块化的噪声注入以及动态权重累计适应。

具体而言,针对模块间训练目标不同的问题,我们设计了模块化的噪声注入,以总体目标而非各个独立模块损失来训练模型。这种方法确保噪声的生成具有模型的整体性,使用总体损失进行反向传播,而不是关注可能相互矛盾并对整体决策鲁棒性产生负面影响的单个模块损失。为了管理训练过程中模块的不同贡献,我们引入了动态权重累积自适应,它根据噪声注入期间模块的贡献自适应地调整每个模块的损失权重以适应总体目标。具体而言,该方法结合了权重累积因子来调整下降率以保持平衡的训练过程,可以自适应地控制每个模块的权重并防止任何模块在训练期间的急剧下降。
基于模块化的噪声注入
为了应对多样化训练目标带来的挑战,我们设计了模块化的噪声注入方法。我们将噪声直接注入算法模型的每个模块的输入中,以确保对所有模块进行全面的训练。虽然之前的相关方法针对每个模块的损失,但这可能会导致对模型产生不一致的影响。为了缓解这种情况,我们采用统一的目标来指导模型的训练过程。
具体而言,我们在每个模块的输入引入了噪声来实现模块化的噪声注入,具体流程如下公式所示。
其中代表在感知、预测和规划模块中对第个图像应用特定的对抗性扰动。在常规的训练过程中,总损失是通过汇总每个模块的损失来计算的。具体来说,它是感知模块损失,预测模块损失以及规划模块损失的总和。
其中,我们引入了来表达所有模块的总损失和。对于生成的每个,我们使用总损失作为攻击目标。对抗模型的目标是最大化对抗条件下的总损失,公式如下所示。

这种策略可以保证在产生噪声时,攻击的目标是总损失。这里我们以UniAD算法模型为例,我们可以将噪声注入到五个不同的模块当中。噪声注入管道的位置有:数据输入、数据传播、损失反向传播、噪声注入以及提供噪声生成的梯度。
动态权重累计适应
我们通过引入了动态权重累计适应思想来解决不同模块的贡献的挑战,通过合并累积权重变化自适应地调整每个模块的损失权重。这种方法利用模块的贡献来确保更好的平衡和更稳健的训练。前向传播过程中每个模块的损失可以用来描述。受到多任务学习中动态加权累计思路的启发,将多任务的概念扩展到多个模块,每个模块在当前时间戳的损失相对于其前一个值的比值计算方式如下:
其中,比例捕获两个时间步长之间模块损失的相对变化。在此基础上,我们引入了一个缩放因子来表达损失率变化相对于所有模块平均变化的重要性。该因子的定义方式如下
其中,是在所有时间戳上所有模块比率的平均值,代表的是标准差。考虑到仅依赖最后两个损失会导致不稳定和次优解决方案。为了缓解这种情况,我们引入了一个时间衰减因子来考虑损失的时间变化率。通过将时间衰减因子应用于前一个权重并合并新计算的权重,可以更新下一个时间戳中每个模块的权重
最终在时间戳时模型的总损失函数通过对所有模块的加权损失函数求和来计算,计算方式如下
通过上述的方式,确保权重能够随时间动态适应每个模块的性能,从而提高稳定性并改善整体性能。这种指数调整允许模型在保持整体稳定性的同时优先考虑性能变化显著的模块。
整体训练
由于模型训练时间较长,我们采用微调的方法。该过程从预先训练的模型开始,该模型已经学习了标准驾驶任务,允许专注于对抗性微调以有效增强鲁棒性。在微调过程中,对抗性噪声被策略性地引入到各个模块中,模块级噪声注入的集成可确保每个模块都暴露于对抗性条件,从而促进整个模型的全面训练。训练过程遵循最小-最大优化框架,旨在最大限度地减少对抗条件下的最坏情况损失,确保微调模型在面对最具挑战性的攻击时仍能保持稳健。
实验结果&评价指标
在实验部分中,我们选取两个具有代表性的端到端自动驾驶模型UniAD和VAD来验证我们提出算法模型的有效性,并且在白盒和黑盒的设置下进行实验。
下表展示了我们使用UniAD在nuScenes上的白盒设置下的实验结果。

通过上述的实验结果,我们可以发现在白盒场景的防御扰动时,的表现始终优于其他方法,在所有五个任务中实现了超过10%的绝对改进。这凸显了在增强端到端模型抵御各种扰动的稳健性方面的有效性。对于至关重要的规划任务,在抵御各类攻击方面表现出了显著的提升,在规划的平均误差UniAD减少了0.64米,VAD减少了0.58米,在真实驾驶场景中提供了实质性的安全保障。
此外,我们使用训练的UniAD和VAD作为受害者模型,其带有三类攻击模型:分别是具有相同架构的vanilla模型、传统对抗训练模型和具有不同架构的vanilla模型。相关的实验结果如下表所示。

通过上述的实验结果,我们可以发现在黑盒设置下,两种模型的性能下降幅度均小于白盒设置,但还提供了防御攻击的能力,即使面对未知攻击,也能实现平均7.2%的性能提升,超过其他方法的6.0%。此外,传统对抗训练模型进行的转移攻击是三种设置中最强的,但还也可以发挥防御作用,UniAD的规划误差减少了0.2m,VAD减少了0.1m。不同模型架构产生的攻击最弱,相应的防御提升也相对较小,这仍然证明了在防御来自不同领域的噪声方面的有效性。
此外,我们也验证了我们提出的模块化噪声注入的有效性。作为的核心组件,模块式噪声注入对于增强对抗性防御至关重要。我们尝试了五种不同类型的噪音。默认设置包括注入所有五种类型,并且我们探索在对抗训练期间仅去除或保留一种噪音的设置,以衡量其效果。
考虑到不同训练阶段的结果存在差异,我们对每个设置进行了多次重复实验,并用小提琴图可视化了平均L2误差,如下图所示。总体而言,结果表明,当注入所有类型的噪声时,防御效果最有效。此外,随着注入噪声的模块数量的增加,防御效果显著提高。具体来说,我们发现,当只注入一个噪声时,来自Track-Motion分支的噪声对模型的稳健性贡献最大,而当只丢弃一个噪声时,丢弃Track-Motion分支的噪声后,规划误差最大化。这意味着Track-Motion接口的关键和脆弱特性。

此外,我们也进一步验证了动态权重累计自适应的效果,相关的实验结果汇总在下图中。

通过上图可以看出,使用动态权重累计自适应时,模型的损失在6,000个Batch时几乎收敛,而没有动态权重累计自适应时,损失持续下降直到8,000个Batch,并且规划模块早在4,000个Batch时就接近收敛。这些发现证实了动态权重累计自适应在加速减少损失、平衡模块间损失分配和提高整体模型性能方面的有效性。
除此之外,我们使用了CARLA模拟器进行闭环评估,同时集成了最先进的UniAD和VAD算法模型,我们将图像作为感知数据直接输入模型,以评估其在现实驾驶场景中的决策性能。为了验证我们的在现实世界中的有效性,我们进行了黑盒攻击实验。
为了验证对抗训练模型的稳健性,我们通过将生成的噪声应用于输入图像,在CARLA上测试了训练模型。下图显示了在干净条件下的vanilla模型、攻击后的vanilla模型和攻击后的训练模型之间的性能比较。

同时,我们也将相关的详细实验结果指标汇总在下表当中。

通过实验结果可以看出,在黑盒攻击下,UniAD和VAD模型的性能显著下降。例如,VAD的驾驶得分从37.72%下降到25.64%,UniAD的驾驶得分从39.42%下降到37.91%。任务特定性能也受到影响。例如,UniAD的合并成功率从4.11%下降到1.25%。显著提高了模型对这些攻击的鲁棒性。经过训练后,UniAD的驾驶得分提高到38.86%,VAD的驾驶得分提高到26.87%。这些结果表明方法在减轻对抗性攻击的影响方面非常有效,几乎恢复了模型的原始性能水平。
此外,我们也将几种关键场景下的模型表现性能进行了可视化,如下图所示。通过可视化的结果可以看出,在应用之后,模型准确预测了周围车辆的未来运动状态,与没有受到攻击的情景非常相似。

结论
在本文我们引入了一种专门设计用于增强端到端自动驾驶模型抵御各种对抗性攻击的稳健性的新方法,称之为模块化自适应对抗训练方法。在nuScenes数据集和CARLA模拟器的闭环评估实验验证了我们算法模型的有效性。
『自动驾驶之心知识星球』欢迎加入交流!重磅,自动驾驶之心科研论文辅导来啦,申博、CCF系列、SCI、EI、毕业论文、比赛辅导等多个方向,欢迎联系我们!
① 全网独家视频课程
端到端自动驾驶、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、CUDA与TensorRT模型部署、大模型与自动驾驶、NeRF、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
② 国内首个自动驾驶学习社区
国内外最大最专业,近4000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(端到端自动驾驶、世界模型、仿真闭环、2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频

③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】全平台矩阵