2023-2-A-Review-of-Adversarial-Attacks-in-Computer-Vision

这次是承接上次的文章,是第二部分,主要总结黑盒攻击部分。

0 黑盒攻击介绍

实际情况下,攻击者不可能知道模型的结构、参数等。所以黑盒攻击才是更贴合实际的场景。

1 PBAAML(迁移攻击)

攻击者在本地训练一个替代模型,它和目标模型执行可以执行一样的任务。那么针对本地的对抗样本也可以攻击目标模型。训练替代模型以接近目标模型是具有挑战性的。首先不知道原始模型的结构,其次查询次数应该是被限制的。

他们通过引入一种合成的数据生成技术,被称为雅可比数据集增强,使得替代文件能够最大限度地逼近原模型的决策边界。

image-20231221150604275

初始收集:攻击者收集一个非常小的输入集合s0,比如手写数字集来说。取0-9数字,每种10张图片。

架构选择:为替代模型F选择一个模型架构,模型大小,层数等对攻击的成功性影响很小。

替代训练:迭代训练替代模型F,提高其准确性。

打标签:将S0中的样本输入O模型,将其输出作为实际标签。

训练:使用带标记的训练集s1训练替代模型。

扩充:使用之前提到的数据集扩充技术(雅可比数据集增强),对当前数据集s1进行扩充,得到s2,它能更好的表示决策边界,使用标记后的s2重复上面的标记和训练过程。

上述步骤会被重复多次,以达到代替模型更加逼近目标模型。

他们使用训练过的替代模型F来生成对抗样本,并提出了两种生成策略。

image-20231221153956857

第一种和fgsm很像。

image-20231221154024828

第二种不太懂,但是计算代价高,准确率也会高一些。

2 ZOO(重要)

zoo是基于CW攻击的。但是黑盒条件下有两个限制,首先是无法知道softmax层上一层的输出,也不知道模型梯度。

cw:

第一个问题是把损失函数进行修改,使其不需要logits输出。

第二个问题作者采用有限差分来估计梯度。

有限差分就是基于离散化的思想,将求解区域分为有限个离散的点,并通过近似表示微分项。 h是一个很小的数,比如0.0001,ei是一个标准基向量,在第i个分量上取1。

同样可以得到它的Hession估计,Hessian估计是指对函数的Hessian矩阵进行数值估计的方法。Hessian矩阵是一个包含函数的二阶偏导数信息的方阵。 如果输入长宽通道数分别是64,64,3的图片,那么一次梯度下降需要进行64*64*3*2次运算,所以不采用梯度下降法,而采用坐标下降法。

作者随机选取一个坐标维度;然后去寻找,使得加入该扰动叠加到x后,目标函数f的值最小,即 如果hession小于零,则严格下降,那么按照一阶导数的反方向更新参数,如果hession大于0,则用一阶导数除以二阶导数来更新。这被称之为牛顿法。

当维度很大的时候计算量依然很大,所以可以考虑维度变换,可以是线性或者非线性的。使用来代替扰动,其中D的输出和扰动的维度一样,但是beta的维度更小。D就是一个维度转换函数,因此可以将产生对抗样本的方法写成下面的形式: 函数D的一个简单的形式就是对beta进行双线插值,得到维度p的图像。例如:在 Inception-v3中,可以首先计算m=32*32*3的扰动beta,然后进行双线插值,得到原始尺寸p=299*299*3的扰动,极大减少了计算量。

虽然维度变化对扰动进行降维可以降低梯度估计的计算量,但是可能搜索空间有限,找不到对抗样本。针对尺寸较大并较难攻击的模型,作者提出了多尺度攻击策略,在优化过程中逐渐增加m,使用一系列维度m1,m2和一系列变化D1,D2。

换句话说:在第j次迭代中,令,将beta的维度从,其中D-1是D的逆变换,作用是把p维转换为m维。

例如: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
2
3
4
5
6
7
8
9
10
11
12
13
在图像处理中,双线性插值经常用于图像的缩放、旋转和变形等操作,以平滑地估计新像素的值。

双线性插值算法的步骤如下:

首先,确定要估计的目标像素位置,通常是在原始图像中的非整数坐标位置。

然后,根据目标像素的位置,找到其周围的四个最近的离散像素点。

对于每个离散像素点,计算其权重,权重与目标像素与该点之间的距离成反比。一般使用距离的倒数作为权重。

使用权重对四个离散像素点的像素值进行加权平均。每个像素值乘以对应的权重,然后相加得到目标像素的估计值。

最后,将得到的目标像素的估计值设置为图像的新像素值。

3 NES

与 ZOO 攻击逐坐标估计损失函数的梯度不同,NES攻击基于自然演化算法,通过估计损失函数在搜索分布下的期望值来估计梯度。

上述方法还是存在大量查询的,尽管自己也生产了一些样本,但现实条件下查询的次数可能会更少。一般情况下是这三种情况:

  1. 限制查询的设置:攻击者对分类器的查询结果数量有限。
  2. 部分信息设置:api只可能输出前k个样本的类别及其概率大小,总和一般小于1。
  3. 仅限标签设置:攻击者无法访问类别概率和分数,只能得到按照概率大小排序的前k个结果。

作者用梯度估计来代替损失函数的梯度,梯度估计由查询分类器逼近,而不是由自动微分计算。

2.1 Query-limited setting

为了估计分布,作者使用一种基于搜索分布的无导数优化方法NES。NES不是直接最大化目标函数,而是最大化搜索分布下损失函数的期望值。与典型的有限差分方法相比,这允许在更少的查询中进行梯度估计。

作者选取当前图像x周围随机高斯噪声的搜索分布,即θ = x + σδ,其中δ ~ N(0, I).采用对偶抽样来产生δ 值的总体:它基于对偶性原理,通过在一个问题的对偶空间中进行采样,来近似估计原问题的解或性质。对偶抽样的过程中,首先从对偶空间中进行随机采样,得到一组对偶样本。然后,这些对偶样本被映射回原问题的空间,用于近似估计原问题的解或性质。通常情况下,对偶抽样可以提供原问题的一致估计,并具有较小的方差。以下是方差减小的梯度估计:

简单来说,在当前样木 x周 围添加高斯噪声,则在该情况下的梯度可由 n个采样点估计出来

暂时还不懂,涉及到对偶问题。

image-20231221194954490

2.2 Partial-information setting

攻击不是从图像x开始,而是从一个目标类的x0开始。在更新的每个步骤t中,有两个不同的步骤,确保目标类别在top-k中:

公式不懂。

image-20231221195340767

2.3 Label-only setting

作者定义了对抗样本的离散化分数R(x(t)), 来简单地基于对抗标签y的排名来量化图像在每个步骤t中的对抗程度。

image-20231221195702143

不懂,但是作者说实验情况下确实很厉害。

4 One pixel attack(重要)

之前是加全景,现在,只改变一个像素。

半黑盒攻击只需要黑盒反馈,而不需要关于目标DNN的内部信息,例如梯度和网络结构。作者的方法直接集中在增加目标类的概率值标签。

x属于类t的概率是ft(x)。向量e(x)=(e1,e2,...,en)是具有目标类别和最大改变范围L内的对抗性扰动。这个问题涉及到,哪些维度需要扰动,以及每个维度扰动的范围。

image-20231221203817853

只关注少量像素。他们将扰动编码成元组,通过差分运算对其进行优化。那个元组就是候选集,候选集包含固定数量的扰动,每个扰动是一个包含5个元素的元组(x,y的坐标和扰动的rgb值)。一个扰动修改一个像素。候选集初始数量是400,每次迭代中,将生成另外400候选解使用传统的的差分进化公式。

image-20231221204621899

image-20231221204636452

一旦生成,每个候选解决方案将基于整体索引与其对应的父解决方案竞争,赢家将存活到下一次迭代。


2023-2-A-Review-of-Adversarial-Attacks-in-Computer-Vision
http://example.com/2023/12/21/2023-2-A-Review-of-Adversarial-Attacks-in-Computer-Vision/
作者
Guoxin
发布于
2023年12月21日
许可协议