ODI for Adversarial Attacks_阅读报告

Output Diversified Initialization for Adversarial Attacks

学习报告

小组成员:裴建新、赖妍菱、周子玉


 

1 引言

       深度神经网络在图像分类方面取得了很大的成功。然而,它们很容易受到对抗性样例的影响,由视觉上无法检测到的噪声所产生的扰动图像可能会导致错误的分类。一些学者致力于提高模型对这些恶意干扰的鲁棒性。例如,进行对抗性训练(Madry et al., 2018;)模型对抗图像进行训练,以获得更好的鲁棒性,用没有被噪声干扰的干净图片作为输入,生成模型,然后用正则化训练损失。

       强壮的攻击方法是评价不同分类器和防御方法的重要手段。为了达到这种目的,最流行的攻击之一是Pro-Gradient Descent (PGD)攻击,它通过对一些干净的图像随机添加足够小的噪声,然后根据分类丢失的梯度方向迭代地更新它,生成一个初始化对抗性样本。为了获得更好的性能,PGD攻击常常使用不同的干净图像随机扰动多次重新启动,以增加成功找到对抗性样例的可能性。这些扰动通常从输入像素空间的均匀分布中采样。这种随机重启策略也被其他攻击方法广泛采用。

       但是,我们认为标准的初始化策略不太适合生成对抗性的实例。由于深度神经网络通常是高度非线性的函数,因此输入像素空间的多样性不能直接转化为目标模型输出(对数)空间的多样性。因此,我们可能无法通过在输入空间中随机重新启动来充分探索输出空间。如图1.1所示,当随机打乱输入空间中的初始数据点时(见图1.1左),其输出可能非常相似。在这种情况下,迭代攻击方案(如PGD)往往会陷入类似的局部最适条件,不能有效地发现疑难对抗性样例(如图1.1右)。这种现象会对实际的攻击产生负面影响,特别是对于对抗训练的模型,因为它们的输出被明确地训练为对输入空间的变化不敏感。

 

             图1.1 原始初始化

       为了提高发现困难对抗性样例的成功率,论文提到了一个猜想:利用输出空间中的随机重启动。特别是,在开始攻击之前,我们将输入从输出空间中的距离测量的原始图像中移开(参见图1.2右)。为了在输出空间中生成足够多样化的起点,我们在每次重启时都随机选择移动方向。我们将这种新的初始化策略称为输出多样性初始化(ODI)

 

图1.2 输出多样化的初始化

       此外,由于这种初始化策略与底层攻击方法无关,所以我们可以很容易地将ODI合并到大多数现有的白盒攻击策略中。

       论文通过实验证明了和在MNIST、CIFAR-10和ImageNet三个数据集上,对于针对性攻击和非针对性攻击都取得了一定的成功。结果表明,相比原始初始化,ODI减少最先进的健壮的模型的准确性1% - 17%。此外,使用ODI的PGD攻击要优于当前针对预先训练的防御模型的最先进的攻击,而在CIFAR-10上要快50倍。

 

2 预备知识

       首先下定义,我们表示一个图像分类器 ,其中x是输入图像,z表示logits,,C是类数。我们用 来表示模型预测,其中fc(x)是f(x)的第c个元素。logits就是不必担心值在0和1之间、各种情况相加等于一,但是又可以被容易地转换成那种格式的表示概率的值。

       接着提出有目标攻击和无目标攻击的概念。给定一个图像x,一个标签y和一个分类器f,无目标攻击的目的是找到一个与x相似但会导致误分类 的对抗示例 。在有目标攻击中,攻击者旨在将模型预测 更改为特定的目标标签

       存在用于构造对抗性示例的两种设置。最常见的关于 攻击的设置是用 找到一个对抗样本 ,这是原始图像x周围的 半径球。另一种设置是从原始图像中找到一个最小的 扰动的有效对抗示例。

       这部分的重点讲了预计梯度下降(PGD)攻击。通常用于 攻击, PGD攻击会反复应用以下更新规则,以在 中找到一个对抗示例:

       其中 是步长, 是损失函数。为了增加找到对抗性示例的可能性,我们通常通过从 均匀采样初始输入 来多次重新启动该过程。我们的目标是改善这种朴素的输入多样化方法,这种方法在许多其他攻击方法中也很常见。

       实际上,PGD攻击是多次迭代的FGSM算法。FGSM计算扰动 ,所以公式(1)中的 就代表FGSM生成的对抗样本。所以PGD攻击实际上就是将FGSM攻击生成的对抗样本做了一个范围约束的比较,如果这个对抗样本 范围里面,那么第k+1次对抗样本 就等于这里FGSM生成的 。但是如果这个 超出 范围之外,那么第k+1次对抗样本 将被变更为满足 最小时的 值, 属于 范围内。

 

       如图2.1所示,扰动范围是无穷范数,无穷范数的范围是正方形,黑圈每一次改变,都是以最优的方向改变,最后一次由于扰动超出了限制,所以直接截断,如果此时迭代次数没有用完,那么就在截断处继续迭代,直到迭代次数用完。

图2.1

       多个损失函数 可用于PGD攻击,包括交叉熵损失,以及定义为 的余量损失(cf,CW攻击(Carlini&Wagner,2017) 。在本文实验中,将余量损失用于无目标PGD攻击,并将交叉熵损失用于有目标PGD攻击,以使考虑的攻击方法更强大。

3 ODI

       在输入空间中原始的随机重启不一定会在logit空间中产生各种各样的输出,并且可能导致攻击方法的多次重启以生成非常相似的对抗样本。为了解决这个问题,提出了输出多元化初始化(ODI)。

       ODI是一种不同的随机初始化策略,可以直接鼓励输出空间的多样性。具体来说,通过解决以下优化问题,根据给定输入 生成重启

       其中 定义了多元化的方向, 是原始输入 的允许扰动集合,通常为 范数中的 -ball。通过优化方程式(2),可以找到在输出空间中沿 方向与原始图像 足够远的初始图像。 方向向量 通过从均匀分布 中采样来实现多样化。这也满足了我们的需求,让输出空间中对抗样本与原始样本的差距最大化。

       为了最大化方程式(2),我们采用以下基于梯度的迭代更新,如方程式(1):

       其中 表示设置B(x)的投影函数。将ODI应用于 攻击时,用归一化梯度 替换方程式(3)中的正负号函数,这里类似有单位向量的作用。当与PGD攻击结合时,我们在两个方程式中对投影梯度下降优化使用相同的 -ball(3)和公式(1)。

       图3.1中提供了ODI的伪代码。ODI有两个超参数:ODI步数 和步长 。 尽管大量的 将带来多样化的投入,但同时也导致了计算成本。因此,除非另有说明,否则所有实验都固定

图3.1 ODI算法流程

       ODI是做 次重启,每次重启走 步,步长为 。对每一步进行上述公式的迭代,还是要将 约束在 ,与PGD攻击的约束采用统一规则。所以算法最后会得到 个对抗样本,然后将生成的这些样本利用各种攻击测试效果。这充分体现了ODI可以找到更多样化的初始化点集。

       作者通过实验证明了ODI可以提高输出多样性,在CIFAR-10数据集上使用ODI进行了1次PGD攻击(称为ODI-PGD),并使用三个指标定量评估一组随机初始化的多样性。

图3.2 loss衡量的多样性

图3.3 对位距离测量、梯度测量的多样性

       从图3.2可知,ODI-PGD的loss范围更大,所以更多样,并且经过攻击之后的结果只有在loss大于0的时候才是有效对抗样本,只有ODI-PGD可以生成。从图3.3可知,ODI-PGD的 距离更大,不管是输出还是输入,这样都有了更大的区分,并且ODI-PGD降低了初始输入和最终攻击结果的余弦相似度。

 

4 利用ODI改进PGD

4.1多样性提高了攻击成功率

      论文中证明了ODI相比于原始初始化策略能提供更多样的初始输入和输出多样化。一个自然的后续问题是,这种增加的多样性是否有助于提高攻击成功率。为了研究这个问题,论文做了以下实验,实验的参数设置与之前的实验设置相同。

      我们将实验结果总结在图4.1中,图4.1描述了目标模型的精度如何随着重启次数的增加而降低。正如预期的那样,当使用更多的重新启动时,这两种初始化方法都会导致更低的成功率,并将目标模型的准确性降低到一个较低的水平。尽管ODI-PGD的初始模型准确性较高,曲线下降更快,迅速赶上naive -PGD。由此可见,ODI-PGD对于攻击的成功率确实有较大的提高。

图4.1

4.2 更严格的模型鲁棒性估计

      强大的对抗攻击的一个重要应用是评估和比较不同的防御方法。在许多先前的防御敌对的工作的例子,naive-PGD现行基准及其攻击成功率通常被视为严格的评估(最差)模型的鲁棒性。在本节中,我们对六种已发表的防御方法进行了案例研究,以证明ODI-PGD优于naive-PGD上边界的最糟糕的模型精度下所有可能的攻击。实验设置与前面相似,实验结果如表4.1所示。

表4.1 模型的准确性执行ODI-PGD和naive-PGD攻击最近提议防御模型

      如表4.1所示,ODI-PGD一致优于naive-PGD对所有六个最近提出的防御模型,降低1 - 17%精度换句话说,ODI-PGD比naive-PGD提供统一严格的上界在最坏的情况下模型精度。此外,性能改进的naive-PGD和ODI-PGD呈正相关。这表明ODI-PGD可能是一个更好的基准比较和评价不同的防御方法,而不是naive-PGD。

4.3 ODI-PGD在多个数据集的有效性

      另外,文章还在MNIST, CIFAR-10, and ImageNet数据集上说明ODI-PGD的成功。

      对四个预先训练好的模型进行攻击。这两种模型都使用无目标的PGD攻击进行对抗性样例训练,对于ImageNet,我们评估了针对两种预先训练的模型的攻击:1)针对原始图像训练的vanilla ResNet50模型和2)对ResNet152网络进行去噪的特征除了使用前1000个测试图像的ImageNet之外,所有的攻击都是在整个测试集中用20个重新启动来评估的。对于非目标攻击,我们进行比较ODI-PGD对na¨ıve-PGD基于模型的准确性。对于目标攻击,我们为每个测试图像随机固定一个目标标签,并评估攻击成功率,即至少一个试验生成有效的对抗性示例(归类为目标标签)的百分比。

 4.2 两种方式的比较

 

图4.2 攻击性能和重启次数的关系

      实验结果如上图所示,在图4.2中,我们展示了攻击性能如何随着重启次数的增加而提高。这些曲线进一步证实,重启促进攻击算法的运行和ODI重启是更有效的比naive的。我们将所有定量结果汇总在表4.2中。对于非针对性攻击,ODI-PGD对CIFAR-10和ImageNet模型的改进比ODI-PGD更显著在MINST数据集上,我们假设这种改善上的差异是由于模型非线性上的差异造成的。当目标模型的非线性较强时,输入和输出空间的多样性差异较大,这时ODI可以更有效地提供一组不同的重启。

4.4 ODI-PGD在攻击排行榜

      为了进一步证明ODI-PGD的能力,论文在三个健壮的模型上测试了它的攻击性能:MadryLabs在MNIST和CIFAR-10上的防御模型,实验参数的设置也同前节。

图4.3

4.3

      我们在表4.3中总结了ODI-PGD和最先进攻击之间的比较。我们调优的ODI- pgd将MadryLab的MNIST模型的精度降低到88.13%MadryLab的CIFAR-10模型为43.99%,行业CIFAR-10模型为53.01%。我们的结果超越了现有的最先进的攻击,并在提交时在他们的排行榜上排名第一。令人惊讶的是,(未调优的)在CIFAR-10数据集上,ODI-PGD甚至可以超越调优的PGD攻击,尽管其步骤和重启要少得多。

      我们还将总步数(步数和重新启动次数的乘积)作为计算复杂度进行比较,因为对于所有基于梯度的攻击,每一步的计算时间都是可比较的。调节的复杂性。ODI-PGD比最先进的攻击要小。特别是,调优的ODI-PGD比针对CIFAR-10模型的多目标攻击快50倍。

      利用辅助程序,我们还显示了我们的结果相对于MadryLab的MNIST和CIFAR-10模型的置信区间。我们运行调优的的ODI-PGD攻击,MNIST上3000次重启,CIFAR-10上100次重启。然后,我们样品在MNIST上运行1000次,在CIFAR-10上运行20次,以评估模型的准确性,并重新采样100次以计算统计数据。图5为调节后的ODI-PGD的精度曲线。我们观察到,随着重新启动的数量增加,置信区间变得更紧,并且调优的ODI-PGD在1000倍精度之后始终比最先进的攻击表现得更好。

利用ODI改进

5.1 ODI-在多个数据集的有效性

      ODI的有效性并不局限于提高PGD对白盒攻击的效果。特别是,当把ODI和另一个流行的攻击结合起来时,可以看到他的突出表现。

      

表5.1 运用了不同初始化方案的攻击

 

图5.1 使用ODI的攻击和原始重新启动时的攻击性能比较

      通过对比结合了ODI的攻击和原始的随机重启动。我们将微扰动半径设定在平均微扰距离附近:用于MadryLab (MNIST), MadryLab (CIFAR-10), ResNet50,and ResNet152 (Denoise)数据集上无目标攻击的分别设置为2.0,1.0,1.0,5.0,有目标攻击的分别设置为4.0,2.0,2.0,10.0。

      表5.1和图5.1分别展示了实验结果。ODI对ImageNet模型特别有效。它使平均扰动距离减少了18%。此外,对于CIFAR-10和ImageNet模型,如图6所示,随着重新启动次数的增加,ODI和原始重新启动之间的性能差距增大,这些结果与PGD攻击不安全4.3的结果一致。有趣的是,相对于MNIST模型,针对攻击的ODI并不是很有效。我们假设这是由于梯度掩蔽造成的。根据Madry的研究,由于梯度掩蔽作用,基于梯度的攻击可以高估其MNIST模型的鲁棒性。由于梯度更新对ODI至关重要,梯度掩蔽可能会对其性能产生负面影响。

 

5.2 用ODI进行黑盒攻击

      对抗性示例可以转移到其他模型,针对源模型生成的一个对抗性示例可能很容易愚弄另一个模型(目标模型)。这一事实可以被杠杆化来构造黑盒对抗实例,其中目标模型的确切结构和权重是未知的。论文中提到的ODI在执行黑盒攻击时也是有效的。

      我们在CIFAR-10上考虑了三种预先训练的模型。其中两个模型是MadryLab的对手训练模型和第4.4节中介绍的交易模型。另一个模型也来自MadryLab,但使用原始自然图像进行训练。我们称此模型为自然模型。所有模型都使用WideResNet34架构。当对目标模型形成黑盒攻击时,我们使用另外两个模型作为源模型。

表5.2 对CIFAR-10的黑盒攻击性能。每个值表示使用20次重新启动的敌对示例的模型精度。

 

      这里比较了ODI-PGD和naıve-PGD的转移性。两次攻击的设置与第4.3节中的无目标PGD攻击相同。我们计算了目标模型的模型精度,这表明模型对所有使用20次重新启动的源模型创建的对抗性示例都具有鲁棒性。表5.2显示,对于所有源和目标模型对,ODI-PGD的精确度都低于naıve PGD。这表明odi-PGD产生了更多可转移的对抗性例子,而忽略了目标模型是否是对抗性训练。

 

6 总结

       为了在输出空间中生成足够多样化的起始点,论文提出了新的策略:每次重启随机选择移动方向。这种新的初始化策略称为输出多样化初始化(ODI)。ODI通过在输出空间中生成更多不同的输入,来达到在输出空间中生成足够多样化的起始点的目的。其能够改进攻击算法的优化过程。我们证明,使用ODI初始化的攻击比使用原始策略运行随机重启动的攻击对模型健壮性的估计更为严格。结合ODI和流行的PGD攻击,我们可以在不同的设置上实现最新的最先进的性能我们的结果在许多方面都有显著的效果。

 

7 参考文献

[1]  机器学习安全小白.3.基于梯度的攻击——PGD[EB/OL].https://www.cnblogs.com/tangweijqxx/p/10617752.html,2019-03-29.

原文地址:https://www.cnblogs.com/gris3/p/12612970.html