Skip to content

鲁棒性评测介绍

模型的鲁棒性是指模型在面对不同类型的异常、噪声、干扰、数据分布变化以及对抗性攻击等情况下,仍能够维持其性能水平的能力。在数学上,鲁棒性可以用损失函数的稳定性来描述,即对于给定的输入 X 和真实标签 Y,模型的预测 fθ(X) 与实际标签之间的损失 L(fθ(X),Y) 在存在输入扰动 ΔX 的情况下保持在一个可接受的界限内,即 L(fθ(X+ΔX),Y)ϵ,其中 ϵ 表示损失的上限,当该损失过大,有可能引起模型的错误输出。对抗性鲁棒性的情况下,模型在最坏情况的对抗性扰动下也能保持鲁棒,即 maxΔXL(fθ(X+ΔX),Y)ϵ。鲁棒性的提高对于确保模型在复杂和多变的现实环境下能够可靠工作至关重要。此外,构建的扰动噪音要求对人具有隐蔽性。即在构建图像噪音时,评估所生成的测试样例会设计ΔX,使X+ΔX与原始的X在人的理解上差异不大,但又容易使模型的输出犯错。

我们通过对各个计算机视觉任务中的输入图像分别应用对抗性扰动和自然噪声扰动两种方式来构建扰动实例,以评测模型的鲁棒性。具体而言,我们对图像数据集进行不同程度的扰动,涵盖了两个主要方面的干扰。首先,我们考虑了常见的物理世界中存在的自然噪声,例如由光照和传感器噪声引起的高斯噪声、自然天气中的雾雨雪等。第二个方面是针对性的对抗性扰动,我们采用代理模型来生成对抗性扰动,目的是使模型在面对这些扰动时产生错误的结果。通过应用上述的扰动方法,我们生成了不同程度的扰动数据集,并通过评估模型在这些扰动数据集上的性能来计算模型的鲁棒性指标。这种评测方法可以帮助我们更好地了解模型在应对各种图像干扰情况下的表现,从而提高其在实际计算机视觉应用中的鲁棒性。

评测数据集

Stanford Cars

鲁棒性数据集的构建有两个方面,一个为分别向原始图像中添加各类自然噪声进行扰动以生成测试图像,主要涵盖高斯噪声、脉冲噪声和散粒噪声三种。另一个是采用对抗性扰动算法,通过代理模型对结果进行扰动,目标是在一定次数内,最大可能扰乱代理模型的结果。

Stanford Cars_gaussian

高斯噪声

高斯噪声是图像处理中常见的自然噪声类型,通常由光照变化、电子传感器的随机波动或传输过程中的干扰引起。其特点是像素值的随机性,符合高斯分布。添加高斯噪声的数学表达式为:

I(x,y)=I(x,y)+N(0,σ2)

扰动数据集样例

00001_g

Stanford Cars_impulse

脉冲噪声

脉冲噪声也被称为盐与胡椒噪声,是图像处理中的一种常见自然噪声类型。它通常表现为图像中出现突然的明亮或暗黑像素,模拟了图像传感器或传输过程中的突发错误。其数学表达式可以用以下形式表示:

I(x,y)={A, with probability PaB, with probability PbI(x,y), with probability 1PaPb

扰动数据集样例

00001_i

Stanford Cars_shot

散粒噪声

散粒噪声是图像处理中的一种常见自然噪声类型,通常由图像传感器中的故障像素或传感器缺陷引起。它表现为图像中个别像素呈现异常亮或异常暗,通常由于传感器中的某些像素值异常高或异常低。散粒噪声的数学表达式可以用以下形式表示:

I(x,y)=I(x,y)+S(x,y)

扰动数据集样例

00001_s

Stanford Cars_pgd

PGD对抗扰动算法

对抗噪声中的PGD(Projected Gradient Descent)算法是一种常用于生成对抗性样本的优化算法。它旨在找到最小的扰动,以使深度学习模型在输入数据上产生错误的输出。PGD算法的目标是最小化损失函数,同时限制扰动的范围不超过一个预定的界限,且会做多次迭代,每次走一小步,每次迭代都会将扰动投射到规定范围内。选用代理模型为 ResNet-50,数学表达式可以用以下形式表示:

δ(t+1)=Clipϵ(δ(t)+αsign(δJ(θ,x+δ(t),y)))

扰动数据集样例

00001_p

鲁棒性指标(RB-index)

对于每个任务的不同指标都有对应的鲁棒性指标,以Acc指标为例介绍鲁棒性指标的计算方法,其他指标同理。

针对原始数据集以及不同的扰动数据集我们有AccorgAccdist1Accdist2Accdist3...AccdistTAcc指模型在该数据集下的评测指标,org指原始数据集,dis1...T指不同的扰动数据集)。

在该数据集上的鲁棒性指标计算公式为:Robustness=1TAccorgΣi=1T(AccorgAccdisti)Flag

如果模型在数据集下Acc指标数值越大说明模型效果越好,则Flag值为1,否则Flag值为-1

鲁棒性指标数值越小说明模型鲁棒性越好,可以为负数(多在NLP中出现)