鲁棒性评测介绍
模型的鲁棒性是指模型在面对不同类型的异常、噪声、干扰、数据分布变化以及对抗性攻击等情况下,仍能够维持其性能水平的能力。在数学上,鲁棒性可以用损失函数的稳定性来描述,即对于给定的输入
我们通过对各个计算机视觉任务中的输入图像分别应用对抗性扰动和自然噪声扰动两种方式来构建扰动实例,以评测模型的鲁棒性。具体而言,我们对图像数据集进行不同程度的扰动,涵盖了两个主要方面的干扰。首先,我们考虑了常见的物理世界中存在的自然噪声,例如由光照和传感器噪声引起的高斯噪声、自然天气中的雾雨雪等。第二个方面是针对性的对抗性扰动,我们采用代理模型来生成对抗性扰动,目的是使模型在面对这些扰动时产生错误的结果。通过应用上述的扰动方法,我们生成了不同程度的扰动数据集,并通过评估模型在这些扰动数据集上的性能来计算模型的鲁棒性指标。这种评测方法可以帮助我们更好地了解模型在应对各种图像干扰情况下的表现,从而提高其在实际计算机视觉应用中的鲁棒性。
评测数据集
Stanford Cars
鲁棒性数据集的构建有两个方面,一个为分别向原始图像中添加各类自然噪声进行扰动以生成测试图像,主要涵盖高斯噪声、脉冲噪声和散粒噪声三种。另一个是采用对抗性扰动算法,通过代理模型对结果进行扰动,目标是在一定次数内,最大可能扰乱代理模型的结果。
Stanford Cars_gaussian
高斯噪声
高斯噪声是图像处理中常见的自然噪声类型,通常由光照变化、电子传感器的随机波动或传输过程中的干扰引起。其特点是像素值的随机性,符合高斯分布。添加高斯噪声的数学表达式为:
扰动数据集样例
Stanford Cars_impulse
脉冲噪声
脉冲噪声也被称为盐与胡椒噪声,是图像处理中的一种常见自然噪声类型。它通常表现为图像中出现突然的明亮或暗黑像素,模拟了图像传感器或传输过程中的突发错误。其数学表达式可以用以下形式表示:
扰动数据集样例
Stanford Cars_shot
散粒噪声
散粒噪声是图像处理中的一种常见自然噪声类型,通常由图像传感器中的故障像素或传感器缺陷引起。它表现为图像中个别像素呈现异常亮或异常暗,通常由于传感器中的某些像素值异常高或异常低。散粒噪声的数学表达式可以用以下形式表示:
扰动数据集样例
Stanford Cars_pgd
PGD对抗扰动算法
对抗噪声中的PGD(Projected Gradient Descent)算法是一种常用于生成对抗性样本的优化算法。它旨在找到最小的扰动,以使深度学习模型在输入数据上产生错误的输出。PGD算法的目标是最小化损失函数,同时限制扰动的范围不超过一个预定的界限,且会做多次迭代,每次走一小步,每次迭代都会将扰动投射到规定范围内。选用代理模型为 ResNet-50,数学表达式可以用以下形式表示:
扰动数据集样例
鲁棒性指标(RB-index)
对于每个任务的不同指标都有对应的鲁棒性指标,以Acc指标为例介绍鲁棒性指标的计算方法,其他指标同理。
针对原始数据集以及不同的扰动数据集我们有
在该数据集上的鲁棒性指标计算公式为:
如果模型在数据集下
鲁棒性指标数值越小说明模型鲁棒性越好,可以为负数(多在NLP中出现)