ReLU再进化ReLUMax:自动驾驶的瞬态容错语义分割
Abstract
度学习模型在自动驾驶感知中至关重要,但其可靠性面临着算法限制和硬件故障的挑战。我们通过研究语义分割模型的容错性来应对后者。使用已有的硬件故障模型,我们在准确性和不确定性方面评估了现有的加固技术,并引入了一种名为ReLUMax的新型激活函数,旨在增强模型对瞬态故障的抵抗力。ReLUMax可以无缝集成到现有架构中,并且不会产生时间开销。我们的实验表明,ReLUMax有效提高了鲁棒性,保持了模型性能并提升了预测的置信度,从而为开发可靠的自动驾驶系统做出了贡献。
代码可在以下链接获取:https://github.com/iurada/neutron-segmentation
Introduction
自动驾驶汽车在感知和导航复杂环境方面面临重大挑战。可靠的场景识别模型尤为重要,特别是对高级驾驶辅助系统(ADAS)来说,它们必须符合ISO 26262等功能安全标准。虽然深度学习在诸如障碍物检测和交通标志识别等方面有了很大进展,但对这些组件的认证仍然是一个难题。近年来的研究集中在通过领域泛化、异常检测和开放集识别来提高算法的鲁棒性。然而,硬件的鲁棒性同样至关重要。由宇宙粒子引发的瞬态硬件故障,可能导致比特翻转错误,这可能会导致错误的预测,进而在自动驾驶车辆中做出潜在的致命决策(见图1)。我们的工作解决了语义分割任务中的这一硬件脆弱性,语义分割是自动驾驶场景解读中的关键任务。我们旨在理解并减轻硬件错误对这一关键功能的影响。
理想的容错系统要求具有低延迟和低成本的策略。然而,当前的解决方案涉及昂贵的硬件或高成本的冗余,如特斯拉的全自动驾驶芯片所示。传统的错误纠正码(ECC)主要针对GPU内存,而非功能单元。基于软件的策略通常将经典技术应用于神经网络中,导致显著的时间开销。最近关于计算机视觉模型可靠性的研究使用了有限的数据集和简化的故障模型,或者依赖于反应式的后处理方法,而忽视了模型的训练过程。
3.Method
硬件瞬态故障的一个明显后果是内部深度网络值范围的显著改变,通常会导致出现过大的激活值。现有的应对这一问题的策略包括基于每层神经元在没有故障情况下的值,手动设置上限。在以前的研究中,有提出在训练阶段结束时收集每层激活值的平均值、最小值、最大值和标准差(AMMS)的分布。该研究为每个统计量设定了一个错误检测阈值,确定其是否超出最小值或最大值的一个标准差。研究表明,如果平均值和最小值都超出范围,可以可靠地识别故障,并通过将值掩码为零来缓解故障。
我们注意到,深度神经网络本质上具有通过ReLU函数管理超出范围激活值的能力,因此添加手工设计的程序显然是不理想的。有研究使用了截断的ReLU激活函数,将高强度(可能存在故障的)激活值映射为零。所选的截断阈值通过专用的微调算法进行了优化,但可能低于训练阶段的最大激活值,这可能会改变网络的无故障行为。另外有研究采用了ReLU6,源自高效深度学习模型的文献,其中选择了阈值6来减少溢出/下溢的风险,并证明在硬件永久性故障的情况下产生了最佳的准确性-可靠性平衡。此外,他们通过量身定制的数据增强进行故障感知训练,模拟硬件故障的影响,以学习对与故障相关的噪声具有鲁棒性的模式。随后,讨论了ReLU6用于缓解分割任务中故障的缺点。
ReLUMax。我们提出利用一种新的ReLU函数版本来提高语义分割中深度神经网络的容错性,同时克服现有方法的局限性。特别是,我们引入了ReLUMax,它基于已有的ReLU-n概念,但有一个关键区别:它在训练过程中动态计算每个特征图的最佳剪辑值。每个ReLUMax激活函数在训练过程中存储其自身输出的最大值(即单个浮点数),并在评估时使用该值作为触发器,将激活值截断为零。
Experiment
在本节中,我们将展示实验分析,评估ReLUMax作为容错语义分割硬化解决方案的性能。
4.1 实验设置
架构。我们使用基于ResNet-50的DeepLabV3架构。按照标准做法,我们从一个在COCO子集上预训练的模型开始,只使用Pascal VOC数据集中存在的20类。
数据集。我们在GTA5和Cityscapes数据集上运行语义分割实验。这两个数据集都是用于城市场景理解的大规模数据集。前者包含24,966张1052×1914的合成图像,具有像素级的精确标注。后者包含3,975张1024×2048的真实世界道路场景图像,具有细致的标注,涵盖多达30个不同的类别。
瞬态故障注入。我们使用现有研究的模块进行瞬态故障注入。错误以行或列的条带或特征图中的局部块的形式出现。损坏涉及将输出张量乘以一个均匀采样的随机值,决定错误幅度。在每次前向传递期间,随机应用于随机层的故障注入是随机进行的。
4.2. 语义分割结果
我们对ReLUMax与五个基线方法进行了评估:无硬化、故障感知训练、ReLU6、ReLU6 + 故障感知训练以及AMMS。我们使用平均交并比(mIoU)进行评估,将无声数据损坏(SDC)分类为以下几类:Masked(如果输出对数值中没有比特级别的差异),No Impact(如果预测的像素级类别相同),Tolerable(如果输出预测中少于1%的像素受到SDC影响,并且没有语义类别出现或消失)。否则,将其分类为Critical SDC。结果如表1所示。在无故障场景下,硬化方法对性能的影响不大,尽管ReLU6略有下降。在注入故障的情况下,ReLUMax证明效果最佳,其次是AMMS。两者使用类似的掩码逻辑,但ReLUMax在训练期间估计剪辑阈值,从而生成更好的故障估计。
4.3. 故障注入的定性影响
如图1所示,缺乏硬化措施会导致瞬态故障的严重损坏,这对自动驾驶的安全性构成重大风险。故障通常会导致层输出中的整列受到干扰。ReLUMax显示出显著的缓解故障影响的能力,提供了稳定的预测。图2展示了Cityscapes推理阶段记录的最坏情况。没有硬化时,观察到显著的性能下降。没有剪辑的故障感知训练导致预测完全损坏。ReLU6激活避免了完全损坏,但会高估人物类别(以红色显示),形成破碎的块。结合ReLU6和故障感知训练或使用AMMS也无法解决问题,人物类别完全消失。ReLUMax即使在最坏情况下也能正确定位人物。
4.4. 硬化模型的不确定性分析
虽然mIoU评估像素级分割准确性,但它忽略了模型的置信度,而置信度在现实应用中至关重要,因为不确定的预测可能带来重大后果。为了解决这一问题,我们使用通过模型输出的softmax熵计算的预测不确定性来分析模型的置信度。随后,我们使用中提出的四个指标来评估这一不确定性。对于前三个指标,我们需要将图像划分为大小为w×w的补丁,w>1,并对其进行像素准确性和预测不确定性的评估。结果被收集到一个包含准确且确定的补丁数(nac)、准确但不确定(nau)、不准确且确定(nic)、不准确且不确定(niu)的混淆矩阵中。最后,我们可以计算出Pac,用来衡量模型在确定的情况下输出准确预测的概率,以及Pui,衡量模型在预测错误时不确定的概率。它们分别定义为:
最后,PAvPU计算模型对准确预测有置信度和对不准确预测不确定的概率:
这些指标可以使用各种不确定性阈值进行计算,这些阈值定义了模型的“确定”含义。我们使用w = 4作为窗口大小,50%作为定义补丁为准确的阈值(给定w = 4,每个补丁中至少有9个像素必须被模型正确预测)。此外,我们将不确定性阈值估计为验证集所有像素的不确定性平均值。
第四个指标是预测拒绝率(PRR)。它通过拒绝低置信度样本,计算准确率与被拒绝样本数量(即我们计算拒绝-准确率曲线),通过一个oracle的曲线下面积进行归一化并减去随机排序样本的基线得分。一个在所有四个指标上都表现出较高值的模型能够有效地区分置信且准确的预测与不确定且不准确的预测。
表2展示了无故障推理(前四列)和模拟应用级故障(后四列)的不确定性结果。我们的方法在所有指标上均优于其他方法,尤其是在不确定性估计方面,无论是在无故障还是有故障的情况下。值得注意的是,在Cityscapes无故障条件下,ReLU6剪辑稍微降低了两个指标。
结论
本文的贡献如下:
1.首次针对自动驾驶的基于深度学习的语义分割进行容错分析。我们的研究利用了基于物理实验获得的故障模型,而非标准的合成模型。2.一种适用于深度卷积分割模型的新加固技术。我们引入了激活函数ReLUMax,允许在训练阶段进行监控,并在推理时进行修正且不产生延迟。基于故障注入的实验评估表明,该解决方案有效减少了瞬态计算错误,保持了接近无故障状态的准确性,显著减少了关键错误的数量,并呈现出较高的模型置信度。
本文引用:Transient Fault Tolerant Semantic Segmentation for Autonomous Driving
最后别忘了,帮忙点“在看”。
您的点赞,在看,是我创作的动力。
AiFighing是全网第一且唯一以代码、项目的形式讲解自动驾驶感知方向的关键技术,加入知识星球,一起学习自动驾驶感知技术。
关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。