摘要
最近的研究揭示了深度神经网络的脆弱性:人类察觉不到的微小敌对性扰动,很容易使训练有素的深度神经网络错误分类。这使得将神经网络应用于安全关键应用是不安全的。
在本文中,我们结合随机和集成两个重要概念,提出了一种新的防御算法——随机自防御(RSE)。为了保护目标模型,RSE在神经网络中加入随机噪声层以防止强梯度攻击,并综合对随机噪声的预测以稳定性能。我们证明了我们的算法等价于在没有任何额外内存开销的情况下集成无限个噪声模型f,并且提出的基于噪声随机梯度下降的训练过程可以保证集成模型具有良好的预测能力。
我们的算法在真实数据集上显著优于以前的防御技术。例如,在CIFAR-10 VGG网络精度没有任何攻击(92%),在强大的英国大东电报局攻击在一定变形公差,不受保护的模型的准确性下降到低于10%,之前最好的防御技术有48%的准确率,而我们的方法仍有86%相同级别的攻击下预测精度。最后,我们的方法简单,易于集成到任何神经网络中。
1介绍
深度神经网络已经在许多机器学习和计算机视觉应用中展示了它们的成功,包括图像分类[14,7,35,9,34]、对象识别[30]和图像字幕[38]。尽管有近乎完美的预测性能,最近的研究已经揭示了深度神经网络对对抗例子的脆弱性|给出了一个正确分类的图像,一个精心设计的图像扰动可以使一个训练良好的神经网络错误分类。制作这些对抗性图像的算法,称为攻击算法,旨在将干扰最小化,从而使对抗性图像难以与自然图像区分。这就带来了安全问题。尤其是在将深度神经网络应用于安全敏感系统(如自动驾驶汽车和医学成像)时。为了使深度神经网络对对抗性攻击更具鲁棒性,最近提出了几种防御算法[23,40,17,16,39]。然而,最近的研究表明,这些防御算法在对抗性攻击下只能略微提高准确性[4,5]。
本文提出了一种新的防御算法:随机自集成(RSE)。更具体地说,我们引入了新的“噪声层”,它融合了输入向量和随机生成的噪声,然后我们将这一层插入到深度网络的每个卷积层之前。在训练阶段,梯度仍然是通过反向传播来计算的,但是当它通过噪声层时,会受到随机噪声的干扰。在推理阶段,我们进行几次前向传播,每次由于噪声层的不同而获得不同的预测分数,然后集成结果。通过提出的训练和测试方案,我们证明了RSE使网络更能抵抗对抗性攻击。同时,在不对自然图像进行攻击的情况下,对测试精度的影响很小。该算法实现简单,可应用于任何深度神经网络的增强。
直观地说,RSE之所以运行良好,是因为有两个重要的概念:整体和随机性。众所周知,对多个训练过的模型进行集成可以提高[29]的鲁棒性,但也会使模型大小增加k倍。相比之下,在不增加任何内存开销的情况下,RSE可以构造无穷多个模型,其中随机生成,然后对结果进行集成以提高鲁棒性。但如何保证这些模型的集成能够达到良好的精度呢?毕竟,如果我们在没有噪声的情况下训练原始模型,而仅仅在推理阶段添加噪声层,算法的性能就会很差。这表明,在一个预先训练好的网络中加入随机噪声只会降低网络的性能。相反,我们表明,如果在训练阶段考虑噪声层,那么训练过程可以被认为是最小化模型集成损失的上限,因此我们的算法可以获得良好的预测精度。
本文的贡献可以总结如下:
- 我们提出了随机自集成(RSE)方法来提高深度神经网络的鲁棒性。其主要思想是在训练和预测阶段的每个卷积层之前添加一个“噪声层”。该算法等价于集成无限多个随机模型来防御攻击者。
- 我们解释了为什么RSE可以显著提高对对抗攻击的鲁棒性,并表明添加噪声层等价于使用额外的正则化Lipschitz常数来训练原始网络。
- 在我们所有的实验中,RSE明显优于现有的防御算法。例如CIFAR-10数据和VGG网络(无攻击时准确率为92%),在C&W攻击下,未保护模型的准确率下降到10%以下;前期最佳防御技术准确率为48%;在同样的攻击强度下RSE仍有86:1%的预测精度。此外,RSE易于实现,可以与任何神经网络相结合。
2相关工作
深度神经网络的安全性是近年来研究的热点。我们将神经网络表示为f(w;其中w为模型参数,x为输入图像。给定一个正确分类的图像x0 (f(w;x0) = y0),攻击算法寻求微扰动图像x0,其结果如下:(1)神经网络将对该扰动图像进行误分类;(2)失真系数kx0−x0k较小,人们很难注意到这种扰动。一种防御算法被设计用来提高神经网络对攻击者的鲁棒性,通常通过轻微地改变损失函数或训练过程。下面,我们总结一下最近在这方面的一些工作。2.1白盒攻击
在白盒设置下,攻击者拥有目标神经网络的所有信息,包括网络结构和网络权值(用w表示)。利用这些信息,攻击者可以根据输入数据rxf(w;通过反向传播x)。注意,梯度对于攻击者来说是非常有用的,因为它描述了预测相对于输入图像的敏感性。
为了构造一个对抗性的例子,[11]提出了一种快速梯度符号法(FGSM),其中对抗性的例子由x0 = x0−·sign(rxf(w;x0))(1)有一个小的 >0. 在此基础上,进一步开展了Rand-FGSM[32]和I-FGSM[17]等提高效率和可用性的后续工作。最近,Carlini & Wagner[5]表明,构建一个对抗例子可以表述为解决以下优化问题:
x0 = min x2[0;1]d c·g(x) + x0k2 2;(2)其中第一项是表征攻击成功的损失函数,第二项是强制一个小失真。参数c >0用于平衡这两个需求。最近提出了几种变体[6,20],但大多数都可以在类似的框架下分类。
C&W攻击被认为是一种测试防御方法的强攻击算法。
对于无目标攻击,目标是找到一个与原始例子接近但产生不同类预测的对抗例子,(2)中的损失函数可以定义为
2.2防御算法
由于对抗性例子[31]的脆弱性,人们提出了几种方法来提高网络对对抗性例子的鲁棒性。[24]提出了防御蒸馏,利用一种经温度控制的改进的softmax层对教师网络进行训练,然后利用教师网络的预测概率(软标签)对学生网络进行训练(与教师网络具有相同的结构)。然而,正如[5]所述,这种方法在处理C&W攻击时不能正常工作。此外,[40]表明,通过使用改进的ReLU激活层(称为BReLU),并在原始图像中添加噪声来增强训练数据集,学习模型对对抗图像将获得一定的稳定性。另一种流行的防御方法是对抗训练[17,16]。它生成攻击算法找到的对抗实例,并将其添加到训练集中,帮助网络学习如何识别对抗实例。通过将对抗性训练与扩大的模型容量相结合,[20]能够创建一个对一阶攻击具有鲁棒性的MNIST模型,但这种方法在CIFAR-10等更困难的数据集上效果不是很好。
值得一提的是,文献中针对白盒攻击的防御算法有很多(r.f.[3,19,13,8,36,27,25])。不幸的是,正如[2,1]所指出的,这些算法对白盒攻击并不真正有效。回想一下“白盒子”意味着攻击者知道所有关于模型如何做出决策的事情,包括潜在的防御机制。在这种情况下,白盒攻击可以绕过上述所有防御算法,被攻击的准确率仍然可以接近于零。除了改变网络结构,还有其他方法[39,21,10,12]检测“对抗样本,这超出了我们的论文的范围。
还有另一个高度相关的工作(r.f.[18])也采用了非常相似的思想,除了他们从差分隐私的角度来看待这个问题,而我们认为对抗鲁棒性更多的是与正则化和集成学习相关。此外,我们的工作比Arxiv的类似工作更早公开。
3提出算法:随机自集成
在本节中,我们提出我们的自集成算法来提高神经网络的鲁棒性。我们将首先介绍我们的算法,然后讨论它背后的几个理论原因。
我们知道,多个不同模型的集成可以提高鲁棒性。然而,一个有限的k模型集合不是很实用,因为它将增加k倍的模型尺寸。例如,ImageNet上的AlexNet模型需要240MB的存储空间,存储100个需要24GB的内存。此外,很难找到许多具有相似精度的异构模型。为了提高实际系统的鲁棒性,我们提出了以下自汇编算法,它可以在不增加任何内存开销的情况下实时生成无限个模型。
我们的主要想法是在网络结构中加入随机性。更具体地说,我们引入了一个新的“噪声层”,它融合了输入向量和随机生成的噪声,即x !x + 通过噪声层时。然后我们在每个卷积层之前添加这一层,如图1所示。
由于大多数攻击需要计算或估计梯度,我们模型中的噪声水平将控制这些攻击算法的成功率。事实上,我们可以将这一层整合到其他任何神经网络中。
如果我们将原始的神经网络表示为,其中w2rdw为权值,x2rdx为输入图像,那么考虑到随机噪声层,网络可以记为随机 2 Rde。因此我们有无数个模型在口袋里(用不同的)没有任何内存开销。然而,加入随机性也会影响模型的预测精度。我们如何才能确保这些随机模型的整体具有足够的准确性?
一个重要的观察是,我们需要在训练和测试阶段添加这个随机层。训练和测试算法列在算法1中。在训练阶段,梯度计算为其中包含了噪声层,每次随机梯度下降更新都会随机产生噪声。在测试阶段,构造n个随机噪声,并将它们的概率输出集合为
如果我们不关心预测时间,n可以非常大,但在实践中我们发现它在n≈10时饱和(见图4)。
这种方法与[40]中的高斯数据增强不同:在训练期间只对图像添加高斯噪声,而在训练和推理时,我们在每个卷积层之前都添加噪声。在训练时,噪声帮助优化算法找到一个对扰动输入具有鲁棒性的稳定卷积滤波器,而在测试时,噪声的作用是双重的:一种是扰乱梯度以欺骗基于梯度的攻击。二是通过多次前向运算得到不同的输出,采用简单的集成方法可以提高测试精度。
3.1数学解释
RSE训练和测试。这里我们解释我们的训练和测试程序。在训练阶段,我们的算法正在解决以下优化问题:
3.2 讨论
4实验
数据集和网络结构 我们在CIFAR10和STL10两个数据集上测试了我们的方法。我们没有比较MNIST上的结果,因为它是一个更简单的数据集,现有的防御方法如[23,40,17,16]可以有效地增加对抗性攻击下的图像失真。在CIFAR10数据上,我们评估了VGG-16[26]和ResNeXt[37]的性能;在STL10数据上,我们复制并稍微修改了一个简单的模型,我们把它命名为模型A”。
防御算法。我们将以下防御算法包括在比较中(它们的参数设置可以在Tab中找到
- {随机自集成(RSE):我们提出的方法。
- {防御蒸馏[24]:首先在温度T下训练一个教师网络,然后用教师网络训练一个相同架构、相同温度的学生网络。学生网络被称为蒸馏网络。
- {与BReLU激活结合的鲁棒优化[40]:首先,我们用BReLU激活代替所有的ReLU激活。然后在训练阶段,我们使用σ = 0:05的高斯噪声随机扰动训练数据。
- {由FGSM攻击进行的对抗性再训练[17,16]:我们首先对一个没有对抗性再训练的神经网络进行预训练。之后,我们选择一个原始数据批处理或一个概率为1=2的对抗数据批处理。我们继续训练它直到收敛。
攻击模型。我们考虑白盒设置,选择最先进的C&W攻击[5]来评估上述防御方法。此外,我们在无目标攻击下测试了我们的算法,因为无目标攻击比有目标攻击严格地更难防御。事实上,C&W无目标攻击是一种防御算法中最具挑战性的攻击。
另外,我们假设C&W攻击知道RSE的随机化过程,因此C&W目标函数会相应改变(正如[1]中攻击集成模型时所提出的那样)。详细信息可以在附录中找到。
衡量。与只需要对正确分类的图像进行操作的攻击模型不同,竞争防御模型不仅在攻击者存在时保护模型,而且在干净的数据集上保持良好的性能。基于这个想法,我们比较谨慎的准确性的模型在不同优势的C&W攻击,力量L2正则化可以测量的图像失真,进一步控制参数c(2)。请注意,一个C&W攻击下的对抗样本被正确预测当且仅当原始图像是正确分类并且C&W攻击不能在一定的失真水平内发现对抗样本。
4.1噪声层的影响
我们首先测试了RSE在不同噪声水平下的性能。我们对网络中的所有噪声层都使用高斯噪声,高斯控制噪声层的标准差σ。注意,我们称第一个卷积层之前的噪声层为”init-noise”,所有其他的噪声层为”inner-noise”。
在这个实验中,我们在训练和测试阶段应用不同的噪声水平,以观察不同的方差如何改变网络的鲁棒性和泛化能力。作为示例,我们选择
on VGG16 + CIFAR10 。结果如图3(左)所示。
我们可以看到,init-noise和inner-noise都有利于神经网络的鲁棒性,但同时,我们可以看到较高的噪声降低了弱攻击的准确性。从图3可以看出,如果将输入图像归一化为[0,1],那么选择 = 0.2和 比较好。因此我们在所有的实验中都确定了这个参数。
4.2 Self-ensemble
接下来,我们展示了自集成有助于提高我们的噪声模式的测试精度。以VGG16+CIFAR10组合为例,初始噪声层标准差为σ = 0.2,其他噪声层标准差为σ = 0.1。我们将50-ensemble与1-ensemble(即单个模型)进行比较,结果如图4所示。
当c <0:4。这是因为当攻击足够弱时,大多数网络的选择具有较低的方差和较高的准确性。另一方面,我们可以看看c >1:0或同等地,平均失真大于0:93,集成模型更差。我们推测,这是因为当攻击足够强时,大多数随机子模型会做出错误的预测,但当观察任何单个模型时,随机效应可能会
4.3防御方法比较
最后,将RSE算法与现有的防御算法进行了比较。请注意,我们使用C&W无目标攻击来测试它们,这对防守者来说是最困难的设置。
不同数据集和网络之间的比较见表2和图5。
我们可以看到,以前的防御方法对C&W攻击的影响很小。例如,健壮的Opt+BReLU[40]对CIFAR10+ResNeXt很有用,但是对于STL10+模型a,其准确性甚至比没有防御模型更差。相反,我们的RSE方法在所有情况下都是一个很好的防御。具体来说,RSE方法强制攻击者寻找更多失真的对抗性图像,以便发起成功的攻击。如图5所示,当CIFAR10+VGG16上允许平均0.21的失真时,C&W攻击能够进行无针对性的攻击,成功率>99%。相反,通过RSE防御网络,C&W攻击的成功率仅为20%。最近,另一个版本的对抗性训练被提出[20]。不同于Tab1所示对抗训练,它利用多级梯度下降生成的对抗样本对网络进行训练(因此在Tab1中我们称之为”对抗训练(II)”)。和我们的方法相比,它主要的缺点是需要∼10倍的时间来训练一个健壮的网络尽管结果只是略优于我们的RSE,参见图3(右)。
除了C&W攻击下的精度之外,我们发现对抗图像的失真也明显增加,从图2(第二行)可以看出,由于c足够大(所有防御算法都不能正常工作),我们的RSE方法失真最大。
以上实验虽然都是关于无目标攻击,但并不意味着没有涉及到有目标攻击,正如我们所说的,有目标攻击,攻击方法更难,防御更容易。以CIFAR-10数据集为例,在有目标攻击下测试了所有防御算法。我们从CIFAR10中随机选取一张图像,并在图6中绘制扰动(确切数字在表3中),为了更容易打印出来,我们从255中减去RGB通道(因此大部分像素是白色的,可以注意到失真)。我们很容易发现RSE方法使对抗图像更加失真。
最后,除了CIFAR-10,我们还设计了一个在更大数据上的实验,以支持我们的方法在大数据上的有效性。由于篇幅限制,结果推迟到附录。
5结论
本文提出了一种新的防御算法——随机自集成(RSE),以提高深度神经网络对对抗性攻击的鲁棒性。我们证明了我们的算法等价于将大量的噪声模型集成在一起,并且我们所提出的训练过程保证了集成模型能够很好地泛化。进一步证明了该算法等价于增加一个Lipchitz正则化,从而提高了神经网络的鲁棒性。实验结果表明,该方法对强白盒攻击具有很强的鲁棒性。此外,我们的方法简单,易于实现,可以很容易地嵌入到现有的网络中。