C&W论文阅读

本文介绍了对抗性攻击在深度学习领域的最新进展,特别是针对防御蒸馏技术的攻击。作者提出了针对L0、L2和L∞距离度量的新型攻击算法,这些算法在保持高成功率的同时,可以找到更小的扰动。研究发现,防御蒸馏并未显著提高神经网络的鲁棒性,现有的攻击方法在防御蒸馏网络上仍能成功找到对抗性例子。此外,作者提出了一种使用高置信度对抗性例子来评估防御方法的可转移性测试,揭示了防御蒸馏的局限性。
摘要由CSDN通过智能技术生成

最近要读的论文比较多,翻译的比较匆忙,感兴趣的朋友们可以大致看看


评价神经网络的鲁棒性

摘要

神经网络为大多数机器学习任务提供了最先进的结果。不幸的是,神经网络在对抗的例子中是脆弱的:给定一个输入x和任何目标分类t,有可能找到一个类似于x但分类为t的新输入x0。这使得神经网络难以应用于安全关键领域。防御蒸馏是最近提出的一种方法,它可以采用任意神经网络,并提高其鲁棒性,将当前攻击的成功率从95%降低到0.5%。在本文中,我们通过引入三种新的攻击算法来证明防御蒸馏并没有显著提高神经网络的鲁棒性,这三种算法在蒸馏和未蒸馏的神经网络上都有100%的成功率。我们的攻击是根据先前文献中使用的三个距离度量进行调整的,与之前的对抗示例生成算法相比,我们的攻击通常更有效(而且不会更糟糕)。此外,我们建议在一个简单的可转移性测试中使用高置信对抗的例子,我们表明也可以用于打破防御性蒸馏。我们希望我们的攻击将被用作未来防御尝试的基准,以创建抵抗敌对例子的神经网络。

1.引言

深度神经网络在许多复杂的机器学习任务中变得越来越有效。在图像识别领域,他们能够以接近人类的精度识别图像[27],[25]。也用于语音识别[18],自然语言处理[1],玩游戏[43],[32]。然而,研究人员发现,现有的神经网络容易受到攻击。Szegedy等人[46]首先注意到在图像分类领域存在对抗性的例子:可以对图像进行少量的变换,从而改变图像的分类方式。通常,所需的总变更量很小,以至于无法检测到。攻击者能找到对抗性例子的程度限制了神经网络可以使用的领域。例如,如果我们在自动驾驶汽车上使用神经网络,对抗的例子可能会让攻击者导致汽车采取不必要的行动。

图1所示。这是一个对防御过滤网络进行攻击的示例。最左边的一列包含开始图像。接下来的三列分别展示了我们的L2、L∞和L0算法生成的对抗性例子。所有图像从标签l开始正确分类,三个错误分类的实例共享相同的错误分类标签l + 1 (mod 10)。图像从测试集中被选为第一个类。

对抗性例子的存在激发了人们对如何强化神经网络来对抗这类原始对抗性的研究。这是一个对防御过滤网络进行攻击的示例。最左边的一列包含开始图像。接下来的三列分别展示了我们的L2、L∞和L0算法生成的对抗性例子。所有图像从标签l开始正确分类,三个错误分类的实例共享相同的错误分类标签l + 1 (mod 10)。图像从测试集中被选为第一个类。许多早期安全神经网络的尝试失败了,或者只提供了边缘的鲁棒性改进[15],[2],[20],[42]。防御性蒸馏[39]是最近提出的一种防御方法,用于增强神经网络对抗对抗例子。初步分析证明是非常有前途的:防御性蒸馏击败了现有的攻击算法,并将其成功概率从95%降低到0.5%。防御性蒸馏可以应用于任何前馈神经网络,只需要一个单独的再训练步骤,并且是目前仅有的能够对对抗例子提供强大安全保证的防御之一。

一般来说,人们可以采用两种不同的方法来评估神经网络的鲁棒性:尝试证明一个下界,或构造证明一个上界的攻击。前一种方法虽然听起来不错,但实际上在实践中更难实现,所有尝试都需要接近[2]、[21]。另一方面,如果arXiv:1608.04644v2 [cs。后一种方法使用的攻击不够强,经常失败,上限可能没有用。在本文中,我们创建了一组攻击,可以用来构造神经网络鲁棒性的上界。作为一个案例研究,我们使用这些攻击来证明防御性蒸馏实际上并不能消除对抗性的例子。我们构建了三种新的攻击(在三个先前使用的距离度量:L0、L2和L∞),它们成功地为防御过滤网络上100%的图像找到了对抗的例子。虽然防御性蒸馏可以阻止先前发布的攻击,但它无法抵抗我们在本文中介绍的更强大的攻击技术。这个案例研究说明了对评估神经网络鲁棒性的更好技术的普遍需要:虽然蒸馏被证明对当前最先进的攻击是安全的,但它对我们更强的攻击是失败的。此外,当我们在标准的不安全模型上对当前最先进的攻击进行比较时,我们的方法在每一种情况下都生成具有较少完全失真的对抗示例。我们建议,我们的攻击是评估候选防御的一个更好的基准:在对一种新的可能的防御有任何信心之前,我们建议设计者至少检查一下它是否能抵抗我们的攻击。

我们还建议使用高可信的对抗例子来评估防御的鲁棒性。可转让性[46][11]是一个众所周知的性质,在一个模型上的对抗性例子在另一个模型上通常也是对抗性的。我们演示了攻击中的对抗示例可以从无安全模型转移到防御蒸馏(安全)模型。一般来说,我们认为任何抗辩都必须证明其能够破坏可转让性。我们评估我们对三个标准数据集的攻击:MNIST[28],数字识别任务(0-9);CIFAR-10[24],一个小图像识别任务,同样具有10个类;ImageNet[9],一个包含1000个类的大图像识别任务。图1显示了我们的技术在由MNIST和CIFAR数据集训练的防御性过滤网络上生成的对抗示例。

在ImageNet分类任务的一个极端例子中,我们可以通过只改变每个像素的最低阶位来导致Inception v3[45]网络错误地对图像进行分类。这种变化是无法用视觉检测到的。为了让其他人更容易地使用我们的工作来评估其他防御的健壮性,我们所有的对抗示例生成算法(以及用于训练我们使用的模型的代码,以重现我们提供的结果)都可以在http://nicholas.carlini.com/code/nn robust attacks上在线获得。本文的贡献如下:

•我们为L0, L2和L∞距离度量引入了三种新的攻击。我们的攻击比以前的方法更有效。我们的10点进攻是第一次

已发布的攻击可能导致ImageNet数据集上有针对性的错误分类。

•我们将这些攻击应用到防御蒸馏,发现蒸馏与未蒸馏的网络相比几乎没有安全优势。

•我们建议在一个简单的可转移性测试中使用高置信对抗例子来评估防御,并表明该测试打破了防御蒸馏。

•我们系统地评估了寻找对抗性例子的目标函数的选择,并表明该选择可以显著地影响an的有效性攻击。

2.背景

A:威胁模型

威胁模型机器学习正在越来越多的设置中使用,以做出潜在的安全关键决策:自动驾驶汽车[3],[4],无人机[10],机器人[33],[22],异常检测[22]0,恶意软件分类[22]1,[40],[48],语音识别和语音命令识别[17],[13],NLP[1],等等。因此,了解深度学习的安全特性已成为该领域的一个关键问题。我们构建对抗例子的程度会影响我们想要(或不想)使用神经网络的环境。在语音识别领域,最近的工作表明[5]可以生成听起来像机器学习算法的语音,但不像人类的语音。这可以在用户不知情的情况下控制他们的设备。例如,通过播放隐藏语音命令的视频,可能会导致智能手机访问恶意网页,从而导致驾车下载。这项工作集中在传统的技术(高斯混合模型和隐马尔可夫模型),但随着语音识别越来越多地使用神经网络,对敌例子的研究在这个领域变得相关。

在恶意软件分类,敌对的例子的存在不仅限制了他们潜在的应用程序设置,但完全击败了它的目的:敌人是谁能让只有轻微的修改一个恶意文件,使它保持恶意软件,但成为归类为良性的,完全击败了恶意软件分类器[8],[14]。回到前面提到的对自动驾驶汽车的威胁,这并不是不现实的攻击:已经有证据表明,在对自动驾驶汽车拍照后,在物理世界[26]中也可能出现与之对抗的例子。关键的问题就变成了我们到底要加多少扭曲才能使分类改变。在每个领域,我们必须使用的距离度量是不同的。在我们在本文中关注的图像空间中,我们依赖于之前的工作,这些工作表明各种Lp规范是人类感知距离的合理近似(更多信息见第II-D节)。

我们在本文中假设对手完全访问一个神经网络,包括架构和所有参数,并且可以以白盒方式使用它。这是一个保守且现实的假设:之前的工作表明,在给定目标模型的黑盒访问条件下,训练替代模型是可能的,并且通过攻击替代模型,我们可以将这些攻击转移到目标模型。考虑到这些威胁,已经有各种各样的尝试来构建增强神经网络鲁棒性的防御,定义为找到接近其原始输入的对抗例子有多容易。在本文中,我们研究了其中的一种,蒸馏作为一种防御[39],它希望保护任意的神经网络。这种类型的防御蒸馏表明,生成对抗的例子几乎不可能的现有攻击技术[39]。我们发现,虽然目前的现状无法为防御性过滤网络找到对抗的例子,但我们在本文中开发的更强的攻击能够构建对抗的例子。

B.神经网络和符号

神经网络是一个函数F(x) = y,它接受输入x∈Rn并产生输出y∈Rm。模型F也隐含地依赖于一些模型参数θ;在我们的工作中,模型是固定的,所以为了方便,我们不显示对θ的依赖性。在本文中,我们关注的是作为mclass分类器的神经网络。网络的输出采用softmax函数计算,保证输出向量y满足0≤yi≤1,y1+···+ym = 1。因此,输出向量y被视为一个概率分布,即yi被视为输入x具有类别i的概率。分类器将标签C(x) = arg maxi F(x)i赋给输入x。是x的正确标签。softmax函数的输入称为logit。我们使用来自Papernot等人[39]的符号:定义F为包含softmax函数的全神经网络,Z(x) = Z为除softmax外的所有层的输出(因此Z是logit),和

神经网络通常由层组成

对于一些非线性激活函数σ,一些模型权重矩阵θ,和一些向量ˆθ我的模型偏差。θ和ˆθ模型参数。σ的常用选择有tanh [31], sigmoid, ReLU [29], ELU[7]。在本文中,我们主要关注使用ReLU activationvector x∈R hw的网络,其中xi表示像素i的强度,被缩放到[0,1]范围内。彩色RGB图像是一个三维向量x∈r3hw。我们不将RGB图像转换为HSV、HSL或其他颜色图像的柱面坐标表示:神经网络作用于原始像素值。函数,因为它是目前使用最广泛的激活函数[45],[44],[31],[39]。我们使用图像分类作为我们的主要评价领域。h×w像素的灰度图像为二维图像,向量x∈R hw,其中xi表示像素i的强度,缩放到[0,1]范围内。彩色RGB图像是一个三维向量x∈r3hw。我们不将RGB图像转换为HSV、HSL或其他颜色图像的柱面坐标表示:神经网络作用于原始像素值。

c .敌对的例子

Szegedy等人[46]首先指出了对敌例子的存在:给定一个有效的输入x和一个目标t6 = C∗(x),通常有可能找到一个类似的输入x0,使得C(x0) = t但x, x0根据一些距离度量接近。带有此属性的示例x 0被称为目标对抗示例。文献中还讨论了一种不那么强大的攻击,它要求没有目标的对抗例子:不是将x分类为给定的目标类别,而是搜索一个输入x0,使C(x0) 6= C∗(x)和x, x0接近。无目标攻击严格来说比有目标攻击的威力要小,本文不考虑无目标攻击。3相反,我们考虑在有针对性的攻击中如何选择目标职业的三种不同方法:

•平均情况:在不是正确标签的标签中随机一致地选择目标类。

•最佳情况:对所有不正确的职业进行攻击,并报告最难攻击的目标职业。

•最坏的情况:对所有不正确的职业进行攻击,并报告最难攻击的目标职业。

在我们所有的评估中,我们执行所有三种类型的攻击:最佳情况、平均情况和最差情况。请注意,如果一个分类器的准确率只有80%,那么最佳情况攻击将要求20%的情况下更改为0。在ImageNet上,为了提高效率,我们从1000个可能的目标类中抽样100个随机目标类来近似最佳和最差情况的攻击。

d .距离度量

在我们对抗性例子的定义中,我们需要使用距离度量来量化相似性。在产生对抗例子的文献中有三种广泛使用的距离度量,所有这些都是Lp规范。Lp距离写成kx−x 0kp,其中p范数k·kp定义为

详细:

距离是坐标i的个数,使6= x0i。因此,L0距离对应于图像中已改变的像素数。4Papernot等人主张使用L0距离度量,它是主要的距离度量下防御性蒸馏的安全性被认为是[39]。

2) L2距离度量x和x之间的标准欧氏(均方根)距离

0. 当很多像素有很多小的变化时,L2距离可以保持很小。

这个距离度量在最初的对抗性例子《[46]》中使用。

3) L∞距离表示任意坐标的最大变化:

对于图像,我们可以想象有一个最大预算,每个像素都允许在这个限制范围内更改,而修改的像素数没有限制。Goodfellow等人认为L∞是使用[47]的最优距离度量,在后续的论文not等人认为在该距离度量[36]下蒸馏是安全的。

没有一个距离度量是人类感知相似性的完美度量,我们没有判断哪一个距离度量是最优的。我们相信构建和评估一个良好的距离度量是一个重要的研究问题,我们留给未来的工作。然而,由于大多数现有的工作已经选择了这三个距离指标中的一个,并且由于防御蒸馏认为安全性针对其中的两个,我们也使用这些距离指标,并为每一个距离指标构建性能优于当前状态的攻击。在本文中报告所有数字时,我们使用如上定义的距离度量报告范围[0,1]。(也就是说,将灰度图像中的一个像素从全开到全开将导致L2变化为1.0,L∞变化为1.0,而不是255。)

e .防守蒸馏

我们简要地概述了防御性蒸馏。我们稍后将在第VIII节中提供完整的描述。为了防御地提取神经网络,先从这里开始在训练数据上以标准的方式训练具有相同体系结构的网络。当我们计算时将softmax培训这个网络,代之以一个更光滑的版本将softmax(分对数除以一个常数T)。在最后的训练,生成软培训评估这个网络在每个标签的训练实例和网络的输出标签。

然后,扔掉第一个网络,只使用软训练标签。有了这些,训练第二个网络,用软标签代替原来的训练标签。这训练了第二个模型,使其表现得像第一个模型一样,而软标签传递了第一个模型学到的额外隐藏知识。这里的关键观点是,通过训练来匹配第一个网络,我们有希望避免对任何训练数据进行过度拟合。如果神经网络存在的原因是因为神经网络是高度非线性的,并且在对抗性例子所在的地方有“盲点”[46],那么防止这种类型的过拟合可能会消除这些盲点。事实上,正如我们将在后面看到的,防御性的蒸馏并不能去除对抗性的例子。这可能发生的一个潜在原因是,其他[11]认为,对抗性例子存在的原因不是由于高度非线性神经网络中的盲点,而是由于神经网络的局部线性性质。这种所谓的线性假设似乎是正确的[47],在这种解释下,蒸馏不会增加神经网络的鲁棒性可能就不那么令人惊讶了。

f .组织

本文其余部分的结构如下。在下一节中,我们将调查文献中提出的用于生成L2、L∞和L0距离度量的对抗示例的现有攻击。然后,我们描述了我们的攻击算法,目标相同的三个距离指标,并提供优越的结果,以先前的工作。开发了这些攻击之后,我们更详细地回顾了防御蒸馏,并讨论了为什么现有的攻击不能在防御蒸馏网络上找到对抗的例子。最后,我们用我们的新算法来攻击防御蒸馏,并表明它只提供有限的值。

3.攻击算法

A. L-BFGS

Szegedy等人[46]使用盒子约束的L-BFGS生成了对抗例子。给定一个图像x,他们的方法找到一个不同的图像x0,它在L2距离下与x相似,但分类器标记不同。他们将问题建模为一个有约束的最小化问题:

这个问题可能很难解决,但是,Szegedy等人解决了以下问题:

其中lossF,l是一个将图像映射到正实数的函数。一个常用的损失函数是交叉熵。行搜索是为了找到常数c > 0,它产生了最小距离的一个对抗性例子:

我们用二分搜索或其他一维优化方法自适应地更新c值,反复求解多个c值的优化问题。

B.快速梯度符号

快速梯度符号[11]方法与L- bfgs方法有两个关键区别:首先,它针对L∞距离度量进行了优化,其次,它的设计主要是为了快速,而不是产生非常接近的对抗示例。给定图像x的快速梯度符号方法集

在哪里选择是足够小,是发现不了的,和t是目标标签。直观地说,对于每个像素,快速梯度符号法使用损耗函数的梯度来确定像素的强度应该在哪个方向改变(是增加还是减少),从而使损耗函数最小化;然后,它同时移动所有像素。值得注意的是,快速梯度符号攻击被设计成快速的,而不是最佳的。它的目的不是制造最小限度的敌对干扰。迭代梯度信号:Kurakin等人介绍一个简单的改进的快速梯度信号方法[26],而是把一个单步的大小 gradientsign方向,多个较小的α是采取措施,结果是由同一个剪。具体来说,从设置开始

然后在每一次迭代中

迭代梯度符号被发现产生优于快速梯度符号[26]的结果。

c . JSMA

Papernot等人提出了一种在L0距离[38]下优化的攻击,称为基于雅可比矩阵的显著映射攻击(JSMA)。简要总结了它们的攻击算法;为了获得完整的描述和动机,我们鼓励读者阅读他们的原始论文[38]。在较高层次上,这种攻击是一种贪婪算法,每次选取一个像素进行修改,每次迭代都增加目标分类。它们使用∇Z(x)l的梯度来计算显著性映射,该映射模拟每个像素对最终分类的影响。一个较大的值表明,改变它的可能性将大大增加模型标识形象目标类l。鉴于显著地图,它挑选最重要的像素和修改增加类l。这个重复的可能性,直到超过设定阈值的像素修改使攻击检测,也成功地改变了分类。

更详细地说,我们开始用一对像素p, q定义显著性映射

因此αpq表示像素p和q的改变会对目标分类产生多大的影响,βpq表示p和q的改变会对所有其他输出产生多大的影响。然后算法选择

因此αpq > 0(目标类更有可能),βpq < 0(其他类更不可能),−αpq·βpq最大。注意,JSMA在计算梯度时使用了倒数第二层Z的输出,即logits:没有使用softmax F的输出。我们称之为JSMA-Z攻击。然而,当作者将这种攻击应用到他们的防御过滤网络时,他们修改了攻击,使其使用F而不是Z。换句话说,他们的计算使用softmax (F)的输出,而不是logits (Z)。我们将这种修改称为JSMA-F攻击。5当一个图像有多个颜色通道(例如,RGB),这种攻击认为L0差异是每个颜色通道1改变独立(如果所有三个颜色通道的一个像素变化变化,L0范数是3)。虽然我们不相信这是一个有意义的威胁模型,当比较这种攻击,我们评估下两种模型。

d . Deepfool

Deepfool[34]是针对L2距离度量优化的无目标攻击技术。与前面讨论的L-BFGS方法相比,它是有效的,并产生更接近的对抗例子。作者通过想象神经网络是完全线性的,用一个超平面将每一类与另一类分开来构造Deepfool。由此,他们解析地推导出这个简化问题的最优解,并构造出对抗性的例子。然后,由于神经网络实际上不是线性的,它们向解决方案迈进了一步,并再次重复这一过程。当找到一个真正的对抗性的例子时,搜索终止。使用的精确公式相当复杂;有兴趣的读者请参考[34]原版。

四、实验装置

在我们开发打破蒸馏的攻击算法之前,我们描述了我们如何训练模型来评估我们的攻击。

表1

MNIST和CIFAR模型的模型架构。这个建筑与原来的防御蒸馏作品是相同的。[39]

表二

型号mist和CIFAR型号的参数。这些参数与原防御蒸馏工作的参数一致。[39]

我们为MNIST[28]和CIFAR-10[24]分类任务训练了两个网络,并使用一个预先训练的网络用于ImageNet分类任务[41]。我们的模型和训练方法与[39]中的方法相同。我们在MNIST上达到了99.5%的精确度,可与最先进的技术相媲美。在CIFAR-10上,我们实现了80%的精度,与在蒸馏工作中给出的精度相同。6 MNIST和CIFAR-10。表一给出了模型架构,表二选取了超参数。我们在培训期间使用基于动量的SGD优化器。CIFAR-10模型显著地过度拟合训练数据,即使有dropout:我们获得的最终训练交叉熵损失为0.05,准确率为98%,而验证损失为1.2,验证准确率为80%。我们不会通过执行图像增强或增加额外的退出来改变网络,因为在[39]中没有这样做。ImageNet。除了考虑相对较小的数据集MNIST和CIFAR之外,我们还考虑了ImageNet数据集。我们没有训练我们自己的ImageNet模型,而是使用预先训练的Inception v3网络[45],它达到了96%的top-5准确率(也就是说,网络报告的正确类是最有可能的五个类之一的概率是96%)。盗梦空间的图像是299×299×3维向量。

五.我们的方法

现在我们转向构建对抗性例子的方法。首先,我们依赖对抗性例子[46]的初始表述,正式定义为图像x寻找对抗性实例的问题如下:

x是固定的,我们的目标是找到δ使D(x, x+δ)最小。也就是说,我们想找到一些小的δ变化,我们可以对图像x进行改变它的分类,但这样结果仍然是有效的图像。这里D是距离度量;对我们来说,它将是L0, L2,或者L∞,就像前面讨论的那样。我们将其作为一个适当的优化实例来阐述,并通过现有的优化算法来解决这个问题。有很多方法可以做到这一点;我们探索公式的空间,并根据经验确定哪些导致最有效的攻击。

A:目标函数

由于约束C(x +δ)= t是高度非线性的,现有算法难以直接求解上述公式。因此,我们用另一种形式来表达它更适合于优化。我们定义一个目标函数f,使C(x +δ)= t当且仅当f(x +δ)≤0。f有很多可能的选择:

其中s是正确的分类,(e)+是max(e, 0)的简写,softplus(x) = log(1 + exp(x)), lossF,s(x)是x的交叉熵损失。我们这样做只是为了使函数符合我们的定义。这不会影响最终的结果,因为它只是对最小化函数进行了缩放。现在,我们不再把问题表述为

我们使用替代公式:

图2所示。对常数c的敏感性。我们绘制了通过梯度下降计算的对抗例子的L2距离作为c的函数,用于目标函数f6。当c < .1时,攻击很少成功。在c > 1之后,攻击变得不那么有效,但总是成功的。其中c > 0是一个适当选择的常数。这两个是等价的,即存在c > 0,使得后者的最优解与前者的最优解相匹配。在用lp范数实例化距离度量D后,问题变成:给定x,找到能解决的δ

根据经验,我们发现通常选择c的最佳方法是使用c的最小值,其结果解x∗f(x∗)≤0。这将导致梯度下降同时最小化这两项,而不是先选择一个进行优化。我们通过运行我们的f6公式(我们发现这是最有效的)来验证这一点,在MNIST数据集中,c的值均匀间隔(在对数尺度上)从c = 0.01到c = 100。我们在图2中绘制这条线。7进一步,我们发现,如果选择最小的c使f(x∗)≤0,则该解在70%的最优时间的5%之内,在98%的最优时间的30%之内,其中“最优”是指利用c的最佳值找到的解。因此,在我们的实现中,我们使用修改后的二分搜索来选择c。

B.箱约束

为了确保修改产生一个有效的图像,我们对δ有一个约束:我们必须对所有i有0≤xi +δi≤1。在优化文献中,这被称为“框约束”。“之前的工作使用了一种特殊的优化算法,LBFGS-B,它本身支持框约束。我们研究了处理这个问题的三种不同方法。1)投影梯度下降执行标准梯度下降的一步,然后将所有坐标剪辑到框内。这种方法对于具有复杂更新步骤的梯度下降方法(例如带有动量的方法)来说效果很差:当我们截取实际的xi时,我们意外地将输入更改为算法的下一个迭代。2)剪切梯度下降不在每次迭代上剪切xi;相反,它将剪切合并到最小化的目标函数中。换句话说,我们用f(min(max(x +δ,0),1))替换f(x +δ),用分量上的min和max。在解决投影梯度下降的主要问题时,裁剪引入了一个新问题:算法可能会被卡在一个平坦的点上,因为它增加了一些比最大允许值大得多的分量xi。当这种情况发生时,偏导数变为零,所以即使通过以后的减少xi可以有一些改善,梯度下降也没有办法检测到这一点。3)引入了一个新的变量w,而不是对上面定义的变量δ进行优化,我们应用了一个变量变元并对w进行优化,

设置

由于−1≤tanh(wi)≤1,则0≤xi+δi≤1,解自动有效。8 .我们可以把这种方法看作是裁剪梯度下降的平滑,它消除了在极端区域卡住的问题。

这些方法允许我们使用其他不支持框约束的优化算法。我们几乎只使用Adam[23]优化器,因为我们发现它是最有效的快速找到对抗例子。我们尝试了三种求解方法——标准梯度下降法、带动量的梯度下降法和Adam法——所有这三种方法都得到了相同质量的解。然而,亚当比其他人收敛得快得多。

C.评估方法

对于每个可能的目标函数f(·)和强制框约束的方法,我们评估所发现的对抗性例子的质量。

用三个方框约束编码中的一个计算七个可能目标函数中的一个的所有组合。我们展示了L2平均失真、标准偏差和成功概率(可以找到对抗性例子的实例的分数)。对1000个随机实例进行评估。当成功不是100%的时候,平均值只是用于成功的攻击。为了选择最优的c,我们在c上执行了20次二分搜索迭代。对于每个选定的c值,我们使用Adam优化器运行10000次梯度下降迭代。9 .这项分析的结果见表三。我们评估在MNIST和CIFAR数据集上发现的对抗性例子的质量。两个数据集之间每个目标函数的相对顺序是相同的,因此为了简洁,我们只报告MNIST的结果。在最佳目标函数和最差目标函数之间有三个质量差异因子。处理盒子约束的方法的选择并不影响结果的质量,因为对于最佳的最小化函数有显著的影响。事实上,表现最差的目标函数,交叉熵损失,是以前的文献[46],[42]中最建议的方法。

为什么有些损失函数比其他的更好?当c =0时,梯度下降不会离开初始图像。然而,较大的c往往会导致梯度下降的初始步骤过于贪婪,只沿着最容易减少f的方向行进,而忽略了D的损失,从而导致梯度下降得到次优解。这意味着对于损失函数f1和f4,在梯度下降搜索的整个过程中,没有一个好的常数c是有用的。因为常数c是距离项和损失项的相对重要性的权重,为了让固定常数c有用,这两项的相对值应该保持近似相等。这两个损失函数不是这样的。为了解释为什么会出现这种情况,我们将不得不进行侧面讨论,分析如何存在对抗性的例子。考虑一个有效的输入x和一个对抗性的示例x0在网络中。当我们对x和x 0进行线性插值时,它是什么样子的?即,对于α∈[0,1],设y =αx+(1−α)x0。从输入到对抗的例子,Z(·)t的值基本上是线性的,因此F(·)t是一个逻辑关系。我们以经验来验证这一事实,通过构建对抗的例子,首先使用我们的方法在MNIST和CIFAR数据集上测试1000张图像,并找到Pearson相关系数r > .9。考虑到这一点,考虑损失函数f4 (f1的参数类似)。为了让梯度下降攻击在一开始做出任何改变,常数c必须足够大

这意味着c必须大于梯度的倒数才能取得进展,但是f1的梯度与F(·)t相同,所以在初始图像周围会很小,这意味着c必须非常大。然而,一旦我们离开初始图像的直接附近,∇f1(x +δ)的梯度以指数速率增加,使得大常数c导致梯度下降以一种过于贪婪的方式进行。我们用经验来验证这一理论。当我们运行我们的攻击尝试常量从10−10到1010时,损失函数f4的平均常数是106。在有效图像周围的损失函数f1的平均梯度是2−20,而在最近的对抗例子中是2−1。这意味着c比它必须的值大一百万倍,导致损失函数f4和f1的表现比其他任何函数都差。

d.离散化

我们将像素强度建模为[0,1]范围内的(连续的)实数。然而,在有效的图像中,每个像素强度必须是范围{0,1,…255}。这个额外的要求在我们的公式中没有包含。在实践中,我们忽略完整性约束,解决连续优化问题,然后四舍五入到最接近的整数:第i个像素的强度变为b255(xi +δi)e。这种舍入会略微降低对抗性例子的质量。如果我们需要恢复攻击质量,我们对由离散定义的格进行贪婪搜索.

图3所示。我们的L2对手应用于mist数据集,对每个源/目标对执行有针对性的攻击。每个数字都是数据集中带有该标签的第一张图像。图4所示。我们的L0对手应用于mist数据集,对每个源/目标对执行有针对性的攻击。每个数字都是数据集中带有该标签的第一张图像。

解决方法是每次更改一个像素值。这种贪婪的搜索从未失败过我们的攻击。以前的工作很大程度上忽略了完整性约束。10为例,当使用快速梯度与签订攻击= 0.1(即改变像素值10%),离散化很少影响攻击成功率。相比之下,在我们的工作中,我们能够找到对图像做出更小改变的攻击,因此离散化效果不能被忽略。我们注意始终生成有效的图像;当报告我们攻击的成功率时,它们总是针对包括离散化后处理的攻击。

六、我们的攻击

A.我们的L2攻击

将这些想法放在一起,我们获得了一种寻找L2度规中具有低失真的对抗性例子的方法。给定x,我们选择一个目标类t(这样我们有t6 = C∗(x)),然后搜索解出的w

这种方式的特点是,它允许一个人控制所需的信心。这将在第八- d节进一步讨论。图3显示了针对每个源数字和目标数字应用于我们的MNIST模型的这种攻击。几乎所有的攻击在视觉上都无法与原始数字区分开来。附录中有一个关于CIFAR的可比数据(图12)。没有攻击从视觉上区分的基线图像。多起点梯度下降。梯度下降法的主要问题是它的贪婪搜索不能保证找到最优解,而且会陷入局部最小值。为了弥补这一点,我们在原始图像附近选取多个随机的起始点,并从每个点开始进行固定次数的梯度下降。我们从半径为r的球上随机均匀采样点,其中r是目前发现的最接近的对手例子。从多个起点开始可以减少梯度下降陷入糟糕的局部极小值的可能性。

B.L0点攻击

L0距离度量是不可微的,因此不适用于标准梯度下降。相反,我们使用迭代算法,在每次迭代中,识别一些对分类器输出没有太大影响的像素,然后固定这些像素,因此它们的值永远不会改变。固定像素的集合在每次迭代中不断增长,直到我们通过消除的过程,确定了一个最小(但可能不是最小)像素子集,可以修改以生成一个对抗的例子。在每次迭代中,我们使用L2攻击来识别哪些像素是不重要的。更详细地说,在每次迭代中,我们称之为L2对手,它被限制为只修改允许集合中的像素。δ是L2对抗者在输入图像x上返回的解,所以x+δ是一个对抗的例子。我们计算g =∇f(x +δ)(目标函数的梯度,在对抗实例处求值)。然后我们选择像素i = arg迷你gi·δ我和修复,也就是说,把我从允许set.11 gi·δ的直觉是我告诉我们多少减少f(·)我们从第i个像素的图像获取,当从x x +δ:胃肠道告诉我们我们获得多少减少f,单位改变第i个像素,我们第i个像素乘以多少已经改变了。这个过程会重复,直到L2对手找不到对抗的例子。要实现强大的结果,还需要一个最后的细节:为L2对手选择一个常数c。为了做到这一点,我们首先将c设置为一个非常低的值(例如,10−4)。然后我们在这个c值运行L2对手。如果它失败了,我们将c加倍并再次尝试,直到它成功为止。如果c超过一个固定的阈值(例如,1010),则中止搜索。JSMA增长一组允许更改的像素(最初为空),并将这些像素设置为最大限度的总损失。相反,我们的攻击缩小了像素集——最初包含每个像素——允许更改。我们的算法明显比JSMA更有效(参见第7节的评估)。它也是高效的:我们引入了一些优化,使得它在MNIST和CIFAR上只有一个起点的情况下可以和L2attack一样快;在ImageNet上要慢得多。我们不是在每次迭代中从初始图像开始梯度下降,而是从前一次迭代中找到的解决方案开始梯度下降(“warm-start”)。这极大地减少了每次迭代中需要的梯度下降轮数,因为保持k个像素不变的解通常非常类似于保持k + 1个像素不变的解。图4显示了应用于mist数据集上每个源类的一位数字的L0攻击,目标是每个目标类。攻击在视觉上是显而易见的,这意味着L0攻击比L2更难。也许最糟糕的情况是将7分类为6;有趣的是,L2的这种攻击是仅有的可视的攻击之一。附录中有一个关于CIFAR的可比数据(图11)。

C.我们的L∞攻击

L∞距离度量不是完全可微的,标准梯度下降对它的性能不是很好。我们尝试了简单的优化

然而,我们发现梯度下降产生非常差的结果:kδk∞项只惩罚δ中最大的(绝对值)项,对其他任何项都没有影响。因此,梯度下降很快就会在两个次优解之间摇摆。我考虑这样一种情况:δ= 0.5和δj = 0.5−。L∞范数只会惩罚δi,

图5所示。我们的L∞对手应用于mist数据集,对每个源/目标对执行有针对性的攻击。每个数字都是数据集中带有该标签的第一张图像。不是δj,∂δj kδk∞在这一点是0。因此,梯度对δj的增加没有影响,即使它已经很大了。在下一个迭代中我们可能会搬到一个位置δj是略大于δ,我说δ= 0.5− 0和δj = 0.5 + 00,镜像的我们开始的地方。换句话说,梯度下降可能会在δi =δj = 0.5这条线上来回振荡,使其几乎不可能取得进展。我们使用迭代攻击来解决这个问题。我们将目标函数中的L2项替换为任何超过τ(最初为1,在每次迭代中减少)的项的惩罚。这样可以防止振荡,因为这个损失项同时惩罚所有大的值。具体地说,在每次迭代中我们求解

每次迭代后,对于所有i,如果δi <τ,将τ减少0.9倍,并重复;否则,终止搜索。同样,我们必须选择一个好的常数c来应对L∞的对手。我们采用与处理L0攻击相同的方法:最初将c设置为一个非常低的值,并在这个c值上运行L∞对手。如果它失败了,我们将c加倍并再次尝试,直到它成功为止。如果c超过一个固定的阈值,我们就中止搜索。在每次迭代中使用“warm-start”进行梯度下降,这个算法和我们的L2算法一样快(只有一个起点)。图5显示了对MNSIT数据集上的每个源类的一个数字应用的L∞攻击,目标是每个目标类。虽然大多数差异在视觉上是不明显的,但有一些是明显的。再一次,最坏的情况是将7分类为6。

关于CIFAR的一个可比较的数字(图13)在附录中。没有攻击从视觉上区分的基线图像。

7攻击评估

我们将我们的目标攻击与之前的出版物中报道的最好的结果进行比较,对于三个距离指标中的每一个。我们重新实现了深度傻瓜,快速梯度符号,迭代梯度符号。快速梯度信号,我们在搜索找到的最小距离生成一个敌对的例子;返回失败如果没有产生目标类。迭代梯度方法是类似的:我们搜索在(固定α= 1 256)并返回最小的成功。对于JSMA,我们使用CleverHans[35]中的实现,只做了轻微的修改(我们将性能提高了50倍,但对精度没有影响)。由于固有的重大计算成本,JSMA无法在ImageNet上运行:回想一下,JSMA执行搜索一对像素p、q,它们可以一起更改,从而使目标类更有可能而其他类更不可能。ImageNet将图像表示为299×299×3个向量,因此在计算的每一步中搜索所有对像素需要236次工作。如果我们删除对像素的搜索,JSMA的成功率就会显著下降。因此,我们报告ImageNet总是失败。如果攻击产生了一个带有正确目标标签的对抗例子,我们就会报告成功,不管需要做多少改变。失败是指攻击完全无法成功的情况。我们在CIFAR和MNSIT上测试集的前1000张图像上进行评估。在ImageNet上,我们报告了最初被Inception v3 12正确分类的1000张图像。在ImageNet上,我们通过随机选择100个目标类(10%)来近似最佳和最差的结果。结果见表IV的MNIST和CIFAR,表V的ImageNet。13对于每个距离度量,在所有三个数据集,我们的攻击找到更接近的对抗例子比以前的最先进的攻击,我们的攻击从来没有失败过找到一个对抗的例子。我们的L0和L2攻击找到了比之前发表的最佳攻击低2到10倍失真的对抗性例子,并且成功率为100%。我们的L∞攻击在质量上可与之前的工作相比较,但他们的成功率更高。我们对ImageNet的L∞攻击是如此成功,以至于我们可以通过翻转每个像素的最低位来改变图像分类到任何想要的标签,这种改变是不可能被视觉检测到的。随着学习任务的难度越来越大,由于模型的复杂性,以往的攻击都会产生较差的结果。相比之下,随着任务复杂性的增加,我们的攻击表现得甚至更好。我们发现JSMA是无法实现的,在ImageNet上找到有针对性的L0对抗的例子,而我们可以100%成功。重要的是要认识到模型之间的结果是不能直接比较的。例如,即使一个L0对手必须改变10倍的像素来切换ImageNet分类相比mist分类,ImageNet有114×同样多的像素,所以必须改变的像素比例明显更小。

图6所示。针对10个MNIST数字中的每一个进行有针对性的攻击,其中三个距离指标的起始图像都是完全黑的。

图7所示。目标攻击的10个MNIST数字,其中开始图像是完全白色的三个距离指标。

在ImageNet上找到有针对性的L0对抗的例子,而我们可以100%成功。重要的是要认识到模型之间的结果是不能直接比较的。例如,即使一个L0对手必须改变10倍的像素来切换ImageNet分类相比mist分类,ImageNet有114×同样多的像素,所以必须改变的像素比例明显更小。生成合成数字。对于我们的目标对手,我们可以从任何我们想要的图像开始,并找到每个给定目标的敌对例子。使用此方法,在图6中,我们展示了使其分类为每个数字、每个距离度量所需的对全黑图像的最小扰动。这个实验是对之前[38]的L0任务进行的,但是当他们发动攻击时,“对于0、2、3和5类,可以清楚地识别目标数字。“在我们更强大的攻击下,没有一个数字是可识别的。图7从一个全白图像开始执行相同的分析。注意,全黑图像不需要改变就能变成数字1,因为它最初被分类为1,全白图像不需要改变就能变成8,因为初始图像已经是8了。运行时分析。我们相信有两个原因可以解释为什么人们会认为对抗示例生成算法的运行时性能很重要:首先,理解性能是否会阻止对手实际发动攻击,其次,用作内部循环。

将目标攻击的三种变体与我们的MNIST和CIFAR模型之前的工作进行比较。当成功率不是100%的时候,平均值只是超过成功。

将目标攻击的三种变体与先前IMAGENET上的INCEPTION V3模型的工作进行比较。当成功率不是100%的时候,平均值只是超过成功。敌对的部门[11]。比较攻击的准确运行时间可能会产生误导。例如,我们将L2对手的实现并行化,允许它在GPU上同时运行数百次攻击,将性能从10倍提高到100倍。然而,我们没有并行处理我们的L0或L∞攻击。类似地,我们的快速梯度符号实现是并行的,但JSMA不是。因此,我们避免给出确切的业绩数字,因为我们认为不公平的比较比没有比较更糟糕。我们所有的攻击,以及之前所有的攻击,都足够有效地被对手利用。在任何给定实例上运行攻击所花费的时间都不会超过几分钟。与L0相比,我们的攻击速度比优化后的JSMA算法慢2×−10×(并且明显快于未优化版本)。对于L2和L∞,我们的攻击通常比之前的攻击慢10×−100×,除了迭代梯度符号的攻击慢了10×。

8.评估防守蒸馏

蒸馏最初是作为一种将一个大模型(教师)减少到一个较小的蒸馏模型[19]的方法提出的。在高层次上,蒸馏的工作是首先在训练集上以标准的方式训练教师模型。然后,我们使用teacher来标记训练集中的每个实例,软标签(来自教师网络的输出向量)。例如,手写数字7的图像的硬标签会说它被分类为7,而软标签可能会说它有80%的机会是7,20%的机会是1。然后,我们根据教师提供的软标签训练蒸馏模型,而不是训练集提供的硬标签。蒸馏可以潜在地提高测试集的准确性,以及小模型学习预测硬标签[19]、[30]的速度。防御蒸馏利用蒸馏来增加神经网络的鲁棒性,但有两个显著的变化。首先,教师模型和蒸馏模型在大小上是相同的——防御蒸馏不会导致更小的模型。其次,也是更重要的是,防御性蒸馏使用一个较大的蒸馏温度(如下所述)来迫使蒸馏模型对其预测更有信心。回想一下,softmax函数是神经网络的最后一层。防御蒸馏修改softmax功能,还包括一个温度常数T:

很容易看到softmax(x, T) = softmax(x/T, 1)。直观地说,升高温度会导致一个“软”的最大值,降低温度会导致一个“硬”的最大值。当温度极限为0时,softmax趋于max;当极限趋于无穷时,softmax(x)趋于均匀分布。

防御蒸馏分为四个步骤:

1)在培训阶段,通过将softmax的温度设置为T来培训一个网络,即教师网络。

2)将教师网络应用于训练集中的每个实例,计算软标签,再次计算温度T下的softmax。

3)在温度为T的条件下,使用softmax将蒸馏后的网络(与教师网络形状相同的网络)训练到软标签上。

4)最后,在测试时间运行蒸馏网络时(对新输入进行分类),使用温度1。

A.现有攻击的脆弱性

我们简要地研究了现有攻击在过滤网络上失败的原因,并发现现有的攻击非常脆弱,即使它们存在,也很容易找不到对抗的例子。L-BFGS和Deepfool失败的原因是F(·)的梯度几乎总是为零,这禁止使用标准目标函数。当我们训练一个网络在蒸馏温度T然后测试温度1,我们有效地导致输入将softmax成为大T的一个因素减到最小交叉熵在培训期间,将softmax被迫的输出接近1.0 0.0,其他所有正确的类。由于Z(·)除以T,经过过滤的网络将学会使Z(·)值比原来大T倍。(正的值被迫变大T倍;负值乘以一个约为T的因子,从而变得更负。)通过实验,我们验证了这一事实:在未蒸馏的网络上,Z(·)(logit)的L1范数平均值为5.8,标准差为6.4;在蒸馏后的网络上(T = 100),均值为482,标准差为457。因为Z(·)的值是100倍,当我们测试温度1,F的输出成为所有组件除了输出类中有信心1−9 对于一些非常小的(任务10类)。事实上,在大多数情况下,太小,32位浮点值是圆形的为0。由于类似的原因,梯度非常小,当表示为32位浮点值时,它变成0。

这将导致L-BFGS最小化过程无法进行并终止。相反,如果我们使用之前确定的稳定目标函数运行l - bfgs,而不是Szegedy等人[46]建议的目标函数lossF,l(·),l - bfgs不会失败。修复攻击的另一种方法是设置

其中T是选定的蒸馏温度。然后最小化lossf0,l(·)不会失败,因为现在由于浮点算术舍入,梯度不会消失。这清楚地说明了使用损失函数作为最小化目标的脆弱性。JSMA-F(我们指的是攻击使用最后一层F(·)的输出)失败的原因与L-BFGS失败的原因相同:Z(·)层的输出非常大,所以softmax基本上变成了一个硬最大值。这是Papernot等人在他们的纸张[39]中用来攻击防御性蒸馏的攻击版本。JSMA-Z(使用日志的攻击)失败的原因完全不同。回想一下在Z(·)版本中在攻击中,我们使用softmax的输入来计算梯度,而不是网络的最终输出。这消除了任何潜在的问题与梯度消失,但这引入了新的问题。这种攻击是由Papernot等人的[38]介绍的,但它不用于攻击蒸馏;我们在这里分析它失败的原因。由于这种攻击使用Z值,所以认识到相对影响的差异是很重要的。如果softmax层的最小输入是−100,那么softmax层之后对应的输出实际上为零。如果输入从−100变为−90,输出仍然为零。但是,如果softmax层的最大输入是10,当它变为0时,这将对softmax的输出产生巨大的影响。这与他们攻击中使用的参数有关,α和β代表在softmax层的输入变化的大小。可能令人惊讶的是,JSMA-Z可以在未蒸馏的网络上工作,因为它将所有的更改视为同等重要,不管它们对softmax输出的影响有多大。如果改变一个像素会使目标类增加10个,但也会使最不可能的类增加15个,那么攻击不会增加那个像素。回想一下,在温度为T时的蒸馏会使对数值增大T倍。实际上,这放大了上面提到的次优性,因为logit非常不可能,但有轻微的变化,可能导致攻击拒绝做任何更改。快速梯度符号一开始失败的原因与LBFGS失败的原因相同:梯度几乎总是为零。然而,如果我们尝试同样的除法,在将logit除以T后再将其输入softmax函数,就会发生一些有趣的事情:蒸馏仍然有效。我们无法解释这个现象。

B.应用我们的攻击

当我们对防御性蒸馏网络进行攻击时,我们发现蒸馏只提供了边际价值。我们在MNIST和CIFAR-10上重新实现防御性蒸馏,正如[39]所描述的那样,使用我们在上面评估时使用的相同模型。我们用温度T = 100训练蒸馏模型,发现最有效的值为[39]。表VI显示了应用于蒸馏的攻击。之前所有的攻击都没有找到对抗性的例子。相比之下,我们的攻击在三个距离指标中的每一个都有100%的成功概率。与表IV相比,蒸馏几乎没有增加任何价值:我们的L0和L2攻击性能稍差,而我们的L∞攻击性能近似相等。我们所有的攻击都取得了100%的成功。

C.温度的影响

在最初的研究中,增加温度被发现持续降低攻击成功率。在MNIST上,从T = 1时91%的成功率到T = 5时24%的成功率,最后是T = 100时0.5%的成功率。

表六 比较我们的攻击应用于防御蒸馏网络。比较表IV中未蒸馏的网络。

图8所示。平均距离目标(随机目标)对抗例子,不同蒸馏温度的MNIST。温度与平均对抗样本距离不相关。

图9所示。对抗性的例子从一个模型转移到另一个模型的概率,包括有目标的(对抗性的类别保持不变)和无目标的(图像不是正确的类别)。

我们用改进的攻击重新实现这个实验,以了解温度的选择如何影响稳健性。我们在t = 1到t = 100的温度范围内训练模型。当我们重新运行JSMA的实现时,我们观察到同样的效果:攻击成功率迅速下降。然而,随着我们改进的L2攻击,我们看到温度对对抗例子的平均距离没有影响:相关系数ρ=−0.05。这清楚地表明,提高蒸馏温度并不会增加神经网络的鲁棒性,它只会使现有的攻击更加频繁地失效。

d可转移性

最近的研究表明,一个敌对的例子为一个模型往往会转移到不同的模型是一个敌对的,即使他们被训练在不同的训练数据集[46],[11],即使他们使用完全不同的算法(例如,敌对的例子在神经网络转移到随机森林[37])。因此,任何能够对对抗性例子提供健壮性的辩护都必须以某种方式打破这种可转移性;否则,我们可以在一个容易攻击的模型上运行我们的攻击算法,然后将那些对抗的例子转移到难以攻击的模型上。尽管防御性蒸馏对我们更强的攻击并不健壮,但我们通过将攻击从标准模型转移到防御性蒸馏模型来演示蒸馏的第二次突破。我们通过寻找高度可信的对抗性例子来实现这一点,我们将其定义为被原始模型严重错误分类的对抗性例子。我们不需要寻找仅仅将分类从源更改为目标的对抗性示例,而需要一个目标比任何其他标签都更有可能发生的示例。回想一下前面为L2攻击定义的损失函数:

参数κ的目的是控制对抗性例子的强度:κ越大,对抗性例子的分类就越强。这使得我们可以通过增加κ来生成高置信度的对抗性例子。我们首先调查我们的假设是否正确,即第一种模型的分类越强,它就越有可能转移。我们通过将κ从0变到40来实现这一点。如第四节所述,我们的基线实验使用了两个用MNIST训练的模型,每个模型使用一半的训练数据进行训练。我们发现,可转移性攻击的成功率在κ= 0到κ= 20之间线性增加,然后在κ≈20接近100%的成功率处趋于稳定,因此,增加κ增加了可转移攻击成功的概率。然后我们进行同样的实验,只是用防御性蒸馏训练第二个模型,发现对抗的例子确实会转移。这为我们提供了另一种攻击技术,用于在经过过滤的网络上寻找对抗示例。然而,有趣的是,与之前的模式相比,无担保模式和蒸馏模式在κ= 40时的转移成功率仅达到100%这种方法只需要κ= 20。我们认为,这种方法可以用于总体上评估防御的鲁棒性,即使防御能够完全阻止梯度流,导致我们的基于梯度下降的方法成功。

9结论

对抗性例子的存在限制了深度学习可以应用的领域。如何构造对对抗性例子具有鲁棒性的辩护是一个开放性问题。为了解决这一问题,提出了一种提高任意神经网络鲁棒性的通用方法——防卫精馏。在这篇文章中,我们提出击败防御蒸馏的强大攻击,证明我们的攻击更普遍地可以用来评估潜在防御的效能。通过系统地评估许多可能的攻击方法,我们选定了一种能够始终找到比所有现有方法更好的对抗例子的方法。我们使用这个评估作为三个L0 L2和L∞攻击的基础。我们鼓励那些创建防御的人执行我们在本文中使用的两种评估方法:

•使用强大的攻击(如本文中提出的那些)来直接评估受保护模型的健壮性。因为一个阻止我们L2攻击的防御将阻止我们的其他攻击,防御者应该确保针对L2距离度量建立健壮性。

•通过在无担保模型上构建高可信度的对抗性例子,证明可转移性失败,并表明它们未能转移到有担保模型。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值