Tianyu Pang, Chao Du, Yinpeng Dong, Jun Zhu
目录
对抗样本的鲁棒检测
Towards Robust Detection of Adversarial Examples
摘 要
1、介绍
2、准备工作Preliminaries
2.1符号
2.2威胁模型
2.3攻击方法
3、方法Methodology
3.1非最大熵Non-maximal entropy
3.2反向交叉熵训练程序
3.3阈值测试策略
4、实验
4.1设置
4.2对正常样本的分类器
4.3 oblivious攻击下的性能
4.4白盒攻击下的性能
4.5黑盒攻击下的性能
5、结论
附录A
虽然深度学习最近的进展是实质性的,但是深度学习方法容易受到恶意生成的对抗样本的攻击。在本文中,我们提出了一种新的训练方法和阈值测试策略,用于对抗样本的鲁棒检测。在训练中,我们建议最小化反向交叉熵(RCE, reverse cross entropy),它鼓励深度网络学习潜在的表征(representations),从而更好地区分对抗样本和正常样本。在测试中,我们建议使用阈值策略作为检测器来过滤掉对抗样本以获得可靠的预测。我们的方法使用标准算法实现简单,与普通的交叉熵最小化相比,几乎没有额外的训练成本。我们应用我们的方法来防御广泛使用的MNIST和CIFAR-10数据集上的各种攻击方法,并在对抗环境中的所有威胁方法下显著提升了预测的鲁棒性。
深度学习(DL)在各种任务中取得了前所未有的进展,包括图像分类、语音识别和自然语言处理[11]。然而,在对抗性环境中[12,33],高精度的DL模型可能是脆弱的,在这种环境中,对抗样本被恶意生成,以误导模型输出错误的预测。现在已经开发了几种攻击方法来制造这样的对抗样本[2,4,12,18,22,29,30]。随着DL变得越来越普遍,提高鲁棒性是非常必要的,尤其是在安全关键型应用(safety-critical applications)中。
因此,已经提出了各种各样的防御,试图对对抗样本[14,25,31,32,33,36]进行正确分类。然而,这些防御措施大多不够有效,可能会被更强大的对手[2,3]成功攻击。在验证和训练可证明鲁棒网络[5,6,35]方面也有新的工作(There is also new work on verification and training provably robust networks),但是这些方法只能提供逐点保证,并且它们需要大量额外的计算成本。总的来说,由于对抗样本甚至存在于简单的分类任务[9]和人眼[7],这种方法不太可能通过防止对手产生对抗样本来解决问题。
由于困难,最近基于检测的防御作为替代解决方案吸引了很多注意。Grosse等人[13]在分类器中引入了一个额外的类,仅用于对抗样本,同样Gong等人[10]训练了一个额外的二元分类器来决定一个样本是否为对抗的。Metzen等人 [26]通过训练一个检测神经网络来检测对抗样本,该网络从分类网络的中间层获取输入。Bhagoji等人[1]降低输入到分类网络的输入图像的维数,并在较小的输入上训练全连接神经网络。Li和Li [21]建立级联分类器,其中每个分类器被实现为线性SVM,其作用于分类网络的内部卷积层的PCA。然而,这些方法都需要大量额外的计算成本,其中一些方法还会导致正常样本的准确性损失。相比之下,Feinman等人 [8]提出了一种核密度估计方法(kernel density estimate method)来检测位于最终层隐藏空间中远离数据流形(data manifolds)的点,这种方法不改变分类网络的结构,计算成本很小。然而,Carlini和Wagner [3]表明,这些防御方法中的每一种都可以被以特定防御为目标的对手回避,即白盒对手。
本文提出了一种防御方法,包括一种新的训练过程和阈值测试策略。阈值测试策略由[8]中引入的K-density (kernel density)检测器实现。在训练中,我们提出了一个新的称为反向交叉熵(RCE)的训练目标函数,来代替一般的交叉熵(CE)损失 [11]。通过最小化RCE,我们的训练过程鼓励分类器返回真实类的高置信度,同时对于每个数据点返回错误类的均匀分布,并且进一步使得分类器将正常样本映射到最后层隐藏空间中的低维流形(low-dimensional manifolds)的邻域。与CE相比,当使用K-density检测器或其他基于维度的检测器时,RCE训练过程可以学习更多关于过滤对抗样本的可区分表示(the RCE training procedure can learn more distinguishable representations on filtering adversarial examples)。与CE相比,使用随机梯度下降方法实现RCE最小化很简单,几乎没有额外的训练成本。因此,它可以很容易地应用于任何深度网络,并且与CE训练过程一样可扩展(scalable)。
我们使用我们的方法来防御被广泛使用的MNIST [20]和CIFAR-10[17]数据集上的各种攻击方法。我们在不同的威胁模型下测试我们方法的性能,即未察觉的对手(Oblivious adversaries)、白盒对手和黑盒对手。我们选择K-density估计方法作为我们的强基线,这显示了与其它基于探测的防御相比,其具有优越性和通用性[3]。结果表明,与基线相比,该方法提高了在所有威胁模型(models方法)下对抗敌对攻击(against adversarial attacks)的鲁棒性,同时在正常样本下保持了最先进的准确性。具体来说,我们显示出白盒对手必须用肉眼可见的噪声来精心制作对抗样本,才能成功规避我们的防御,这意味着人类观察者可以轻松过滤掉这些精心制作的对抗样本。
本节提供符号并介绍威胁模型和攻击方法。
深度神经网络(DNN)分类器一般可以表示为一个映射函数,其中是输入变量,表示所有的参数,是类的数量(此后我们省略将 为 ,,其中。令为倒数第二层的输出向量,即最后一个隐藏层。这定义了一个映射函数来提取数据表示。然后,分类器可以表示为,其中和分别为softmax层的权重矩阵和偏置向量。我们将pre-softmax的输出表示为,称为logits。给定一个输入(即的一个实例),预测标签为。概率值常被用作预测的置信度评分[11]。常见的训练目标是最小化交叉熵(cross-entropy, CE)损失,对一个单个输入-标签对,CE损失定义为:。
其中是的one-hot编码,向量的对数定义为取每个元素的对数。CE训练程序旨在最小化训练数据的平均CE损失(在适当的正则化下),以获得最佳参数。
在敌对环境下,[3]引入了一个详细的威胁模型分类:
未察觉的对手(Oblivious adversaries)不知道检测器D的存在,并基于不安全的分类模型F生成对抗样本。
白盒对手知道D的方案和参数,可以设计特殊的方法同时攻击F模型和D检测器。
黑盒对手知道探测器D及其方案的存在,但无法获得探测器D或F模型的参数。
虽然DNNs已经取得了长足的进步,但仍然可以很容易地识别出对抗样本来欺骗网络,甚至有时其有高的准确性[28]。近年来,提出了许多用来生成对抗样本的攻击方法。多数方法可以设计出在视觉上与正常样本难以区分,但被目标模型F错误分类的对抗样本。下面我们介绍一些众所周知且常用的攻击方法。
快速梯度符号法(Fast Gradient Sign Method, FGSM):Goodfellow等人[12]介绍了一种一步攻击方法,该方法将对抗样本设计为,其中为扰动,为训练损失。
基本迭代法(Basic Iterative Method, BIM):Kurakin等人[18]提出FGSM的迭代版本,公式为,其中,为迭代步数,是保持在其域内的剪切函数。
迭代最不可能类方法(Iterative Least-likely Class Method, ILCM):Kurakin等人[18]也提出一个BIM的目标版本,其中,。ILCM可以避免标签泄漏(label leaking)[19],因为它不利用正确标签的信息。
基于jacobian的显著性映射攻击(Jacobian-based Saliency Map Attack, JSMA):Papernot等人[30]提出了另一种针对目标攻击的迭代方法,该方法在每个迭代步骤中通过一个恒定的偏移量来扰动一个特征 ,使下式显著性映射最大化
与其他方法相比,JSMA扰动的像素更少。
Carlini &Wagner (C&W):Carlini和Wagner[2]引入了一种基于优化的方法,这是最强大的攻击之一。他们用辅助变量定义了,并求出了问题,其中是一个常数,需要通过修改的二进制搜索(modified binary search)选择。是作为的一个目标函数,其中控制置信度。
在本节中,我们提出了一种新的方法来提高分类器在对抗设置下的鲁棒性。我们首先构造了一个新的度量指标,并对其性质进行了分析,从而得到了新的方法。
由于很难正确分类出对抗样本[2,3]且其普遍存在 [7,9],我们设计了一种检测对抗样本的方法,这将有助于实际应用。例如,在半自动系统中,对抗样本的检测将允许禁用自动操作并请求人工干预[26]。
一个检测方法依赖于一些度量指标来决定对于给定的分类器,输入是否为对抗的。一个潜在的候选者是预测标签上的置信度,其先天地传达了预测的确定性程度,并被广泛应用[11]。然而,先前的研究表明,在对抗背景下,置信度得分是不可靠的[12,28]。因此,我们构建了另一个与我们的目标更相关且更有帮助的指标。也就是说,我们定义了指标non-ME——中归一化的非最大元素的熵,为:
其中是中归一化的非最大元素。此后,我们将考虑给定,的最后一层隐藏向量,并在没有歧义情况下使用与含义相同的符号。为了直观地说明这些想法,图1a给出了隐藏空间中分类器的例子,其中和。令,是logits的第个元素。那么每对类和类之间的决策边界(decision boundary)就是超平面,并令是所有与超平面平行的集合。在图1a中,每个 对应于三条黑线之一。我们表示半空间为。然后,我们可以将类的决策区域正式表示为,并将该区域的相应决策边界表示为。注意,对于低维流形(the low-dimensional manifold)上的任意点,输出具有个相等的非最大元素。运用上面的符号,我们有如下引理1:
引理1(证明于附录A)在类决策区域内,,在低维流形上任意点的non-ME值是常数。特别的,non-ME有且仅在下获得全局最大值。
引理1告诉我们,在类的决策区域内,如果一个沿着低维流形 移动一个正常输入,那么它的non-ME值就不会改变,反之亦然。
定理1(证明于附录A)在类决策区域内, ,存在一个独特的,使得,其中。令,那么问题
令表示为预测类的一个正常样本。当基于构造对抗样本时,对手需要扰动去跨越决策边界。定理1表示,存在一个独特的(unique)低维流形,位于类的决策区域。如果我们能够以某种方式,在对手扰动时限制他们改变non-ME的值,那么通过引理1,对手只能沿着流形扰动。在这种情况下,最接近的扰动对应者(the nearest adversarial counterpart)必须在集中[27]。那么的值是预测置信度的上界。这个上界是的一个函数。定理1进一步告诉我们,如果,上界的相应值将获得它的最小值,这导致。这使得很容易被区分,因为它的置信度得分低。
实际上,这种限制可以通过带有non-ME度量的检测器来实现。在图1a的情况下,位于集合(黑色虚线)上的任何点都具有最高 的值。假设学习到的representation转换:可以将所有正常样本映射到的邻域,其中邻域边界由 (蓝色点划线)的等值线(isolines)组成。这意味着所有正常样本的non-ME值都 。当没有检测器时,基于的最近对抗样本是,其位于关于最近的决策边界上。相反,当使用non-ME作为检测度量时,将很容易被检测器滤除,因为,并且在这种情况下,最近的对抗样本变成,其位于邻域边界和决策边界的连接流形上。很容易得出结论:几乎每个地方,。这意味着,由于检测器的存在,对手必须施加更大的最小扰动,才能成功地产生可以欺骗检测器的对抗样本。此外,根据定理1,处的置信度也低于处的置信度,这使得仍然最有可能被区分,因为它的置信度得分低。
基于以上分析,我们现在设计一个新的训练目标来提高DNN分类器的鲁棒性。关键是执行DNN分类器,将所有正常样本映射到最后一层隐藏空间中的低维流形的邻域。根据引理1,这可以通过使的非最大元素尽可能相等来实现,因此对于每个正常输入具有一个高的non-ME值。具体来说,对于一个训练数据,我们令表示它的反向标签向量,的第个元素为零,其他元素等于。实现的非最大元素之间一致性的一个明显方法是应用称为标签平滑(label smoothing)[34]的模型正则化方法,其可以通过在CE目标中引入和之间的交叉熵项来实现:
, (2)
其中是一个权衡参数。然而,很容易证明最小化等价于最小化和维向量之间的交叉熵,其中
请注意,和。当时,令,那么预测将倾向等于,而不是真值。这使得输出预测有偏差。为了得到无偏差的预测,使输出向量趋向于,同时鼓励非正确(untrue)类上概率的一致性,我们定义了另一个基于名为反向交叉熵(reverse cross-entropy, RCE)的目标函数为
。 (4)
最小化RCE相当于最小化。注意,通过直接最小化,即,可以得到一个反向分类器,这意味着给定输入,反向分类器不仅倾向于将最低概率分配给正确(true)类,而且倾向于在其他类上输出均匀分布。这一简单的见解引出了我们整个RCE训练程序,该程序由两部分组成,如下所述:
反向训练:给定训练集,通过最小化平均RCE损失来训练DNN成为反向分类器。最小化平均RCE损失:。
反向logits:最后的logits的负数输入到softmax层为(Negating the final logits fed to the softmax layer as )。然后我们将获得网络,它返回关于类的普通预测,被称为通过RCE训练程序训练的网络。
定理2(证明于附录A)假设是给定的训练数据。在范数下,如果存在训练误差即,那么我们有边界
,
和 ,
。
定理2展示了RCE训练过程的两个重要性质。首先,一致和公正的是当训练误差时,输出收敛到one-hot标签向量。第二,输出中任何两个非最大元素之间的差值的上界随着关于的减小,比和标签平滑更快。这两个属性使RCE训练程序符合我们的上述要求。
给定一个已训练的分类器,我们通过一个检测器来实现阈值测试策略,用于鲁棒预测。预设度量后,如果度量值大于阈值T,则检测器将输入分类为正常,并决定返回预测标签;或者在其他情况下,将输入分类为敌对的,返回“不确定”。在我们的方法中,我们采用了[8]中引入的核密度(Kernel density, K-density)度量,因为将K-density度量应用于CE训练已经显示出比其他防御系统[3]更好的鲁棒性和通用性。K-density可以被认为是置信度和non-ME度量的某种组合,因为它可以同时传递关于它们的信息。
Kernel density:K-density是在最后一层隐藏空间中计算的。给定预测标签,K-density定义为,其中代表具有标签的训练点集,和是相应的最后一层隐藏向量,是高斯核,带宽(bandwidth)被视为超参数。
Carlini和Wagner[3]表明,以前检测对抗样本的方法可以被白盒对手回避。然而,我们的方法(RCE训练+ K-density检测器)可以有效地防御白盒攻击。这是因为RCE训练过程隐藏了最后一层隐藏空间中的低维流形上的正常样本,如图1b和图1c所示。那么检测器允许的区域也可以被设置为低维的,只要这些区域包含所有正常样本。因此,那些想欺骗我们检测器的白盒对手必须用更精确的计算和更大的噪声来产生对抗样本。这在图1d中直观显示,其中在由CE训练的网络上制作的对抗样本比在由RCE训练的网络上制作的对抗样本更容易位于检测器允许的区域中。这在第4.4节中得到实验验证。
我们现在给出实验结果来证明我们的方法在对抗环境中提高DNN分类器鲁棒性的有效性。
我们使用了两个广泛研究的数据集——MNIST[20]和CIFAR-10[17]。MNIST是手写数字的集合,训练集有6万幅图像,测试集有1万幅图像。CIFAR-10由10个类别的6万幅彩色图像组成,每个类别有6千幅图像。其中5万个训练图像和1万个测试图像。两个数据集中图像的像素值被缩放到 区间。我们实验中的正常样本指的是训练和测试集中的所有样本。在对抗环境中,我们使用的强基线(strong baseline)是K-density估计方法(CE训练 + K-density检测器)[8],与其他在[3]中基于检测的防御方法[1,10,13,21,26]相比,该方法显示了其优越性和通用性。
我们首先在正常设置下进行评估,Resnet-32和Resnet-56 [15]模型都对以上两个数据集实现。对于每一个网络,我们都使用CE和RCE作为训练目标,与He等人[16]相同的设置进行训练。这两个目标的训练步(training steps)的个数在MNIST定为20000个,在CIFAR-10定为90000个。为了便于表示,我们将在已训练网络的模型名称后指出所使用的训练程序,例如Resnet-32 (CE)。类似地,我们在攻击方法之后指示训练程序,且省略目标网络的名称,例如FGSM(CE)。表1显示了测试错误率,其中阈值测试策略被禁用,并且所有点都接收它们的预测标签(all the points receive their predicted labels)。我们可以看到,RCE训练的网络的表现与传统的CE程序训练的网络一样好,有时甚至更好。请注意,我们在CE和RCE程序上都应用相同的训练超参数(例如,学习率和衰减因子),这表明RCE易于优化,并且不需要在调整超参数上做太多额外的工作。
为了验证RCE过程倾向于将所有正常输入映射到隐藏空间中的邻域,我们应用t-SNE技术[24]来可视化测试集上最后隐藏层向量的分布。图1b和图1c给出了1000个CIFAR-10测试样本的二维可视化结果。我们可以看到,由RCE训练的网络可以成功地将测试实例映射到最后一层隐藏空间中的低维流形的邻域。
我们测试了MNIST和CIFAR-10上经过训练的Resnet-32网络在oblivious攻击下的性能,其中我们研究了在2.3节中的攻击方法。我们首先禁用阈值测试策略,并让分类器返回所有预测,以研究网络正确分类对抗样本的能力。我们使用了基于迭代的攻击方法:FGSM、BIM、ILCM和JSMA,并计算了网络关于扰动在精心制作的对抗样本上的分类精度(calculate the classification accuracy of networks on crafted adversarial examples w.r.t. the perturbation )。图2a展示了结果。我们可以看到,在对两个数据集的所有四种攻击下,Resnet-32 (RCE)比Resnet-32 (CE)具有更高的准确度分数。
至于基于优化的方法,如C&W攻击及其变种,我们采用与[3]中相同的方法来报告鲁棒性。具体来说,我们对参数进行二进制(二元)搜索,以便找到能够成功攻击分类器的最小失真。该失真在[33]中被定义为,其中是生成的对抗样本,并且每个像素特征被重新缩放到[0, 255]。我们将C&W攻击的步长设置为0.01,并将的二进制搜索轮数设置为9,每轮最大迭代步长为10000。此外,为了使我们的研究更有说服力,我们引入了C&W攻击的高置信度版本(缩写为C&W-hc ),该版本在我们的实验中将C&W攻击中的参数设置为10。C&W-hc攻击可以产生置信度高于0.99的对抗样本,并且先前的工作表明,C&W-hc制作的对抗样本比C&W[2,3]制作的更强,更难防御。结果如图2b所示。我们可以看到,C&W和C&W-hc攻击需要比CE训练的网络更大的最小失真来成功攻击RCE训练的网络。在白盒攻击下也观察到类似的现象。
我们进一步使用K-density度量来激活阈值测试策略,并且还测试置信度或non-ME的性能以进行更完整地分析。我们构造简单的二元分类器,通过度量阈值来判断一个样本是否为敌对的,然后在这些二元分类器上计算ROC曲线的AUC分数。表2显示了在两个数据集上训练程序和阈值度量的不同组合下计算的AUC分数。从表2中,我们可以看到我们的方法(RCE训练+ K-density检测器)几乎在所有情况下都表现最好,而non-ME本身也是一个相当可靠的度量,尽管不如K-density好。RCE训练的分类器也返回了更可靠的置信度得分,验证了定理1的结论。此外,我们还表明,我们的方法可以更好地区分噪声样本(noisy examples)和对抗样本,如附录B.3所示。
我们在白盒攻击下测试我们的方法,这是最困难的威胁模型,目前还没有有效的防御手段。我们应用了[3]中引入的C&W攻击的白盒版本(缩写为C&W-wb),它是专门用来愚弄K-density检测器的。C&W-wb也是我们方法的白盒攻击,因为它没有利用训练目标的信息。C&W-wb引入了一个新的损失术语这惩罚了由K-density检测器检测到的对抗样本,其中被设置为的中值。表3显示了C&W-wb制作的对抗样本中的平均最小失真以及的比率,其中较高的比率表明检测器更鲁棒,更难被愚弄。我们发现,几乎所有在Resnet-32 (CE)上生成的对抗样本都具有,这意味着它们的K-density值大于训练数据值的一半。这个结果与以前的工作[3]是一致的。
然而,请注意,在我们的方法中应用C&W-wb具有高得多的比率,并导致更大的最小失真。图3显示了一些与正常样本对应的由C&W-wb制作的对抗样本。我们发现Resnet-32 (CE)上制作的对抗样本与普通样本无法用肉眼区分。相比之下,在Resnet-32 (RCE)上制作的对抗样本具有肉眼可见的噪声,这并不是严格意义上的对抗样本,因为它们在视觉上区别于正常样本。在我们的防御下最具攻击性的C&W-wb的低效率验证了我们在图1d的阐述。更多关于C&W-wb局限的细节见附录B.4。我们还设计了利用RCE训练损失信息的白盒攻击,与C&W-wb相比,我们的攻击效率较低。这是因为给定一个输入,它的RCE值和K-density分数之间没有明确的关系。因此,像C&W-wb那样直接攻击K-density检测器更有效。
为了进行完整的分析,我们研究了黑盒攻击下的鲁棒性。黑盒攻击的成功是基于不同型号之间对抗样本的可转移性[12]。我们将经过训练的Resnet-56网络设置为目标模型。对手打算攻击他们,但无法获得他们的参数。因此,我们将经过训练的Resnet-32网络设置为对手实际攻击的代理模型(substitute models),然后将精心制作的对抗样本输入目标模型。由于对手知道K-density检测器的存在,我们采用了C&W-wb攻击。我们发现,C&W-wb攻击形成的对抗样本的可转移性较差,其中不到50%的对抗样本会使目标模型在MNIST错误分类,在CIFAR-10上不到15%。表4显示了针对CIFAR-10的黑箱攻击的四种不同情况下的AUC分数,而针对MNIST的相同情况下的AUC分数均高于95%。请注意,在我们的实验中,目标模型和代理模型具有非常相似的结构,即使在这种相当接近“白色”的黑盒攻击下,C&W-wb攻击也变得无效。
我们提出了一种新的方法,通过可靠地检测和过滤对抗样本来提高深度学习模型的鲁棒性,该方法可以使用标准算法来实现,而几乎没有额外的训练成本。在所有威胁模型和各种攻击方法下,我们的方法在MNIST和CIFAR-10数据集上都表现良好,同时保持了在正常样本上的准确性。