2023-2-A-Review-of-Adversarial-Attacks-in-Computer-Vision
这次是承接上次的文章,是第二部分,主要总结黑盒攻击部分。
0 黑盒攻击介绍
实际情况下,攻击者不可能知道模型的结构、参数等。所以黑盒攻击才是更贴合实际的场景。
1 PBAAML(迁移攻击)
攻击者在本地训练一个替代模型,它和目标模型执行可以执行一样的任务。那么针对本地的对抗样本也可以攻击目标模型。训练替代模型以接近目标模型是具有挑战性的。首先不知道原始模型的结构,其次查询次数应该是被限制的。
他们通过引入一种合成的数据生成技术,被称为雅可比数据集增强,使得替代文件能够最大限度地逼近原模型的决策边界。
初始收集:攻击者收集一个非常小的输入集合s0,比如手写数字集来说。取0-9数字,每种10张图片。
架构选择:为替代模型F选择一个模型架构,模型大小,层数等对攻击的成功性影响很小。
替代训练:迭代训练替代模型F,提高其准确性。
打标签:将S0中的样本输入O模型,将其输出作为实际标签。
训练:使用带标记的训练集s1训练替代模型。
扩充:使用之前提到的数据集扩充技术(雅可比数据集增强),对当前数据集s1进行扩充,得到s2,它能更好的表示决策边界,使用标记后的s2重复上面的标记和训练过程。
上述步骤会被重复多次,以达到代替模型更加逼近目标模型。
他们使用训练过的替代模型F来生成对抗样本,并提出了两种生成策略。
第一种和fgsm很像。
第二种不太懂,但是计算代价高,准确率也会高一些。
2 ZOO(重要)
zoo是基于CW攻击的。但是黑盒条件下有两个限制,首先是无法知道softmax层上一层的输出,也不知道模型梯度。
cw:
第一个问题是把损失函数进行修改,使其不需要logits输出。
第二个问题作者采用有限差分来估计梯度。
有限差分就是基于离散化的思想,将求解区域分为有限个离散的点,并通过近似表示微分项。
同样可以得到它的Hession估计,Hessian估计是指对函数的Hessian矩阵进行数值估计的方法。Hessian矩阵是一个包含函数的二阶偏导数信息的方阵。
作者随机选取一个坐标维度
当维度很大的时候计算量依然很大,所以可以考虑维度变换,可以是线性或者非线性的。使用
虽然维度变化对扰动进行降维可以降低梯度估计的计算量,但是可能搜索空间有限,找不到对抗样本。针对尺寸较大并较难攻击的模型,作者提出了多尺度攻击策略,在优化过程中逐渐增加m,使用一系列维度m1,m2和一系列变化D1,D2。
换句话说:在第j次迭代中,令
例如:D1是把beta从m1 = 32*32*3提升到229*229*3,D2把beta从m2=64*64*3提升到229*229*3,一开始使用m1,D1,当使用D1损失函数不收敛,则增大使用空间,使用D2和m2。
还可以事先对一些重要部分进行重要性采样,可以采样那些靠近主要物体的像素。具体做法为,将图像分为8*8个区域,并根据区域像素值的变化大小来分配采样概率。
补充:
1 |
|
3 NES
与 ZOO 攻击逐坐标估计损失函数的梯度不同,NES攻击基于自然演化算法,通过估计损失函数在搜索分布下的期望值来估计梯度。
上述方法还是存在大量查询的,尽管自己也生产了一些样本,但现实条件下查询的次数可能会更少。一般情况下是这三种情况:
- 限制查询的设置:攻击者对分类器的查询结果数量有限。
- 部分信息设置:api只可能输出前k个样本的类别及其概率大小,总和一般小于1。
- 仅限标签设置:攻击者无法访问类别概率和分数,只能得到按照概率大小排序的前k个结果。
作者用梯度估计来代替损失函数的梯度,梯度估计由查询分类器逼近,而不是由自动微分计算。
2.1 Query-limited setting
为了估计分布,作者使用一种基于搜索分布的无导数优化方法NES。NES不是直接最大化目标函数,而是最大化搜索分布下损失函数的期望值。与典型的有限差分方法相比,这允许在更少的查询中进行梯度估计。
作者选取当前图像x周围随机高斯噪声的搜索分布,即θ = x + σδ,其中δ ~ N(0, I).采用对偶抽样来产生δ 值的总体:它基于对偶性原理,通过在一个问题的对偶空间中进行采样,来近似估计原问题的解或性质。对偶抽样的过程中,首先从对偶空间中进行随机采样,得到一组对偶样本。然后,这些对偶样本被映射回原问题的空间,用于近似估计原问题的解或性质。通常情况下,对偶抽样可以提供原问题的一致估计,并具有较小的方差。以下是方差减小的梯度估计:
简单来说,在当前样木 x周 围添加高斯噪声,则在该情况下的梯度可由 n个采样点估计出来
暂时还不懂,涉及到对偶问题。
2.2 Partial-information setting
攻击不是从图像x开始,而是从一个目标类的x0开始。在更新的每个步骤t中,有两个不同的步骤,确保目标类别在top-k中:
公式不懂。
2.3 Label-only setting
作者定义了对抗样本的离散化分数R(x(t)), 来简单地基于对抗标签y的排名来量化图像在每个步骤t中的对抗程度。
不懂,但是作者说实验情况下确实很厉害。
4 One pixel attack(重要)
之前是加全景,现在,只改变一个像素。
半黑盒攻击只需要黑盒反馈,而不需要关于目标DNN的内部信息,例如梯度和网络结构。作者的方法直接集中在增加目标类的概率值标签。
x属于类t的概率是ft(x)。向量e(x)=(e1,e2,...,en)是具有目标类别和最大改变范围L内的对抗性扰动。这个问题涉及到,哪些维度需要扰动,以及每个维度扰动的范围。
只关注少量像素。他们将扰动编码成元组,通过差分运算对其进行优化。那个元组就是候选集,候选集包含固定数量的扰动,每个扰动是一个包含5个元素的元组(x,y的坐标和扰动的rgb值)。一个扰动修改一个像素。候选集初始数量是400,每次迭代中,将生成另外400候选解使用传统的的差分进化公式。
一旦生成,每个候选解决方案将基于整体索引与其对应的父解决方案竞争,赢家将存活到下一次迭代。