[论文总结] One Pixel Attack for Fooling Deep Neural Networks
说在前面
欢迎大家关注我的专栏,顺便点个赞~~~
计算机视觉日常研习zhuanlan.zhihu.comCVPR 2017,TEVC 2019,原文链接:http://arxiv.org/abs/1710.08864
本文的开源代码:https://github.com/Hyperparticle/one-pixel-attack-keras
本文作于2020年8月30日,看的是期刊版本。
1. 解决的问题
基于DNN的方法超过了传统图像处理的技术,但是最近的研究发现对抗图像可以让分类器误分类,通过往图像添加一些人眼无法识别的扰动。主流的工作添加的扰动是全图,而且容易被人眼识别出来,于是作者分析了只改变一个像素的极限攻击场景,用一种基于差分进化的方法。
因此本文中作者主要
用差分进化提出一种单像素的黑盒攻击方法,唯一可获取的信息就是概率标签。这个工作和之前的工作相比,主要优点是:
- 有效性。在Kaggle CIFAR-10数据集上,仅通过修改三个常见的深度神经网络结构上的一个像素就可以发起非目标攻击,成功率为68.71%,71.66%和63.53%。我们还发现,每个自然图像都可以被扰乱到1.8、2.1和1.5的其他类别。在攻击场景更为有限的原始CIFAR-10数据集上,我们显示出22.60%,35.20%和31.40%的成功率。在ImageNet数据集上,通过更改一个像素也可以对BVLC AlexNet模型进行非目标攻击,表明可以攻击16.04%的测试图像。
- 半黑盒攻击。仅需要黑盒反馈(概率标签),而无需目标DNN的内部信息,例如梯度和网络结构。我们的方法也比现有方法简单,因为它没有将搜索扰动的问题抽象为任何显式目标函数,而是直接关注于增加目标类的概率标签值。
- 灵活性。可以对梯度难以计算和不可微的网络进行攻击。
对于极其有限的单像素攻击情形,作者考虑的主要原因有几个:
- 自然图像邻域的分析:在几何学上,以前的一些工作通过限制摄动向量的长度来分析自然图像邻域。例如,通用扰动为每个像素增加了较小的值,以使得它在自然图像周围的球体区域中搜索对抗图像。另一方面,可以将所提出的少数像素扰动视为使用非常低维的切片来削减输入空间,这是探索高维DNN输入空间特征的另一种方式。其中,单像素攻击是几像素攻击的极端情况。从理论上讲,它可以为CNN输入空间的理解提供几何上的理解,这与另一种极端情况相反:修改每个像素的通用对抗性扰动。
- 可观测性的评价指标:该攻击实际上可以有效地隐藏对抗性修改。以前的工作都不能保证所产生的扰动是完全不可见的。 缓解此问题的直接方法是将修改量限制为尽可能少。具体而言,不是在理论上提出其他约束条件或考虑进行扰动的更复杂的成本函数,而是通过限制可以修改的像素数量来提出经验解决方案。换句话说,使用像素数代替摄动矢量的长度作为单位来测量摄动强度,并考虑最坏的情况是单像素修改以及其他两种情况(即3和5像素)进行比较。
2. 提出的方法
2.1 问题描述
生成对抗图像可以表述为具有约束的优化问题。我们假设输入图像可以由一个向量表示,其中每个标量元素代表一个像素。令
为接收n维输入的目标图像分类器,
为正确分类为
类的原始自然图像。 因此,x属于类t的概率为
。向量
为额外添加的对抗扰动,目标类别为
,最大改动范围为
。注意,
一般由它的长度来衡量。所以目标对抗攻击的目的是找到一个优化解
:
问题涉及找到两个值:(a)需要扰动哪些尺寸;(b)每个尺寸的修改范围。在我们的方法中,上式有一些改动:
其中,
是一个很小的数字。在单像素攻击中,
。先前的工作通常会修改一部分维度,而在该方法中,只有
这个维度会被修改,而
的其他维度则保留为零。可以将一个像素的修改视为沿平行于n个维度之一的轴的方向干扰数据点。类似地,3(5)像素修改将数据点移动到3(5)维多维数据集中。总体而言,很少像素的攻击会在输入空间的低维切片上产生干扰。实际上,一个像素的扰动允许以任意强度朝n个可能方向中的选定方向修改图像。 n = 3时的情况如下图所示。
在3维输入空间中使用一个和两个像素的扰动攻击的说明(即图像具有三个像素)。绿点(球体)表示自然图像。在单像素扰动的情况下,搜索空间是在自然图像点相交的三条垂直线,由红色和黑色条纹表示。对于两个像素的摄动,搜索空间是三个蓝色(阴影)的二维平面。 总之,一像素和二像素攻击分别在原始三维输入空间的一维和二维切片上搜索扰动。
因此,通常的对抗图像是通过扰动所有像素而对累积的修改强度产生整体约束而构造的,而
本文中所考虑的少数像素攻击则是相反的,它只专注于少数像素,但并不限制修改强度。
2.2 差分进化
差分进化(Differential evolution,DE)是用于解决复杂的多模式优化问题的基于总体的优化算法。DE属于进化算法(evolutionary algorithms,EA)的一般类别。此外,它具有在种群选择阶段保持多样性的机制,因此在实践中,有望有效地找到比基于梯度的解决方案甚至其他类型的EA更优质的解决方案。具体而言,在每次迭代期间,根据当前解决方案(父代)生成另一组候选解决方案(子代)。然后将子代与相应的父代进行比较,如果他们比父代更适合(拥有更高的价值),则保留。以这种方式,仅比较父代和他的子代,就可以同时实现保持多样性和提高价值的目标。
DE不使用梯度信息进行优化,因此不需要目标函数是可微的或先前已知的。 因此,与基于梯度的方法(例如,不可微,动态,噪声等)相比,它可以用于更广泛的优化问题。 使用DE生成对抗性图像具有以下主要优点:
- 可以以更大的概率找到全局最优解。DE不像梯度下降或者贪婪算法那样受局部影响较大(保持多样性的机制及子候选解集影响)。本文中有一个很强的限制条件,(只允许修改一个像素)使问题变得更加复杂。
- 需要得信息更少。DE不需要梯度下降、拟牛顿法等优化方法需要的信息进行优化求解。这对于对抗图片的生成是至关重要的。(1)有些网络是不可微的(2)为了求解梯度信息需要获得目标系统更多的信息,有时是无法获得的。
- 简易性。本文提出的方法与分类器无关,获得类别的概率就足够。
DE有很多变化/改进,例如自适应、多目标等等。通过考虑这些变化/改进,可以进一步改善当前的工作。
关于差分进化更加直观的内容可以看李宏毅老师的相关课程。
2.3 方法和设置
我们将扰动编码为一个数组(候选解),该数组通过差分运算进行优化(演化)。一个候选解包含固定数量的扰动,并且每个扰动都是一个元组,该元组包含五个元素:
x-y坐标和该扰动的RGB值。一个扰动会修改一个像素。候选解(子代)的初始数量为400,在每次迭代中,将使用常规的DE公式生成另外400个候选解(子代):
其中
是候选解的元素,r1,r2,r3是随机数,F是设置为0.5的比例参数,g是当前一代的索引。生成后,每个候选解决方案将根据总体指数与其相应的父代竞争,获胜者将生存下来进行下一次迭代。如果对Kaggle CIFAR-10进行有针对性的攻击,则当目标类别的概率标签超过90%时,最大迭代次数设置为100,并且将触发提前停止条件,如果在ImageNet上进行非目标攻击,则真实类别的标签低于5%。然后将真实类别的标签与最高的非真实类别进行比较,以评估攻击是否成功。通过使用CIFAR-10图像的均匀分布U(1,32)和ImageNet图像的均匀分布U(1,227)初始化初始填充,以生成xy坐标(例如,图像在CIFAR-10中的大小为
, 对于ImageNet,我们将各种分辨率的原始图像统一为
)和RGB值的高斯分布N(μ= 128,σ= 127)。对于CIFAR-10,fitness function只是目标类别的概率标签,对于ImageNet,fitness function只是真实类别的概率标签。 交叉不包括在我们的方案中。
3. 实验和效果
3.1 评价指标
- Success Rate: 在非目标攻击的情况下,被定义为对抗图像被成功分为任意其他类别的比例。在目标攻击的情况下,它被定义为将图像扰动为一个特定目标类的概率。
- Adversarial Probability Labels(confidences):累加每次成功扰动为目标类别概率值,然后除以成功扰动的总数。表示模型对对抗图像产生“误分类”的confidence。
- Number of target classes:计算成功扰动到一定数量类别的图片的数量。尤其,计算无法被其他类别扰动的图片数量,可以评估非目标攻击的有效性。
- 原始目标类别对的数量:计算原始目标类别对被攻击的次数。
3.2 一些实验结果
4. 总结和展望
这个方法的局限性在于
是个搜索,而且图像尺寸越大效果越差,但是如果迭代次数够,就能找到比较好的解。写这个之前刷了一下这个paper相关的知乎,很多知友对这样的搜索方法还是不屑,但是不可否认的是这个工作是有意义的。