2013年 ,Szegedy 等 人 [1]首先通过添加轻微扰动来干扰输入样本,使基于深度神经网络(Deep neural network, DNN)的图片识别系统输出攻击者想要的任意错误结果,此过程称为对抗攻击.
研究人员表明,现代深度神经网络模型极易受到人类视觉系统几乎无法察觉的微小扰动的对抗攻击。这种攻击可以造成神经网络分类器对原始图像进行错误预测。如果将其应用于现实世界,如恶意代码检测、无人驾驶系统、生物医学领域,将会带来极为严重的后果
本文根据对抗攻击的分类,从模型和数据两个层面对防御策略进行了分类和介绍。通过对相关研究工作的调研和分析,未来针对对抗深度学习的研究可以从两个角度展开。
对抗样本指的是攻击者在数据集原始输入样本通过添加人类无法察觉的细微扰动来形成新的输入样本,导致模型以高置信度给出一个错误的输出,以欺骗机器学习模型。
深度神经网络( DNN )是典型的深度学习模型,其他深度学习模型在其基础上进行扩展 。 DNN 本质是一个函数链,是由多个神经网络层累加起来的结构,神经网络层由多个人工神经元构成,每个神经元都是一个感知器,可以将一组输入映射到具有激活功能的输出值上 。 DNN 每个函数是由每一层上的神经元组成,其目标是使训练的模型与真实的数据生成过程相匹配。函数表达如下所示:
深度神经网络的强表达能力使其在许多领域取得了巨大的成功。CNN被广泛应用于计算机视觉领域,RNN在处理具有可变长度的顺序输入数据上,具有很好的处理效果。深度学习解决某些复杂问题的能力已经超出了人类水平,但研究表明,深度学习技术也面临多种安全性威胁。
根据敌手知识可分为白盒攻击和黑盒攻击 :
白盒攻击指攻击者完全了解神经网络模型和参数;
黑盒攻击指攻击者无法获取模型全部信息,只能通过对模型的使用来观察输入输出并展开攻击。
根据对抗特异性可以分为针对目标攻击和非针对目标攻击 :
针对目标攻击中对抗样本的分类结果会错分到指定分类;
非针对目标攻击的对抗类输出是任意的。
对对抗样本的典型防御方法从模型和数据两个方向从模型入手的防御方法主要分为两种。
模型层面的防御策略可分类为修改网络和使用附加网络,通过在训练阶段修改原始DNN模型的结构,或者不改变原始模型用外部模型作为附加网络,使得防御后的DNN分类器能够检测出对抗样本或将其识别为正确标签;
数据层面的防御策略主要通过在训练阶段将对抗样本注入训练数据集后重新训练模型,或预测阶段对样本进行修改,进行重建并将转换后的对抗样本输入到原模型来进行预测。
从模型入手的防御方法主要分为两种。
(1)修改网络:仅修改原始模型的结构。
(2)使用附加网络:在保持原始模型所有
信息的情况下,用外部模型作为附加网络。
1)防御蒸馏
Distillation(蒸馏)最早由Hinton提出,是指将复杂网络的知识迁移到简单网络上。该知识以训练数据的类概率向量形式提取,并反馈给原始模型。Papernot提出了防御蒸馏,是蒸馏算法的扩展。如图 1 所示,利用蒸馏算法为原始模型训练一个蒸馏模型。训练蒸馏模型时,输入是训练原始模型所需的样本集合。
可以理解为softmax层的输出,除了正例之外,负标签也带有大量的信息,比如某些负标签对应的概率远远大于其他负标签。而在传统的训练过程(hard target)中,所有负标签都被统一对待。也就是说,KD的训练方式使得每个样本给Net-S带来的信息量大于传统的训练方式。
2)正则化
正则化方法是指在训练过程中在目标函数上惩罚输出对于输入的变化程度,可以在一定程度上使小的对抗扰动不会对输出有显著影响。Moosavi-Dezfooli [10]指出对抗训练的主要作用之一是使损失函数的曲率和分类器的决策边界显著减小,所以提出了一种新的正则化策略,即曲率正则化,可以直接最小化损失面的曲率。这种正则化方法被证明可以显著提高神经网络的鲁棒性,甚至达到与对抗训练相当的性能,但可能在一定程度上会使模型的效果(如准确度)变差。此外,正则化方法与对抗训练结合会有很好的效果,但计算复杂度太高。
3)深度压缩网络
深度压缩网络 Deep contrac-tive network, DCN),在训练过程中采用正则化方法使用压缩自编码器的平滑惩罚项,使得模型的输出更加平滑。
高阶表征引导去噪器(High-level representation guided denoiser, HGD),训练一个基于神经网络的去噪器来消除对抗扰动。该方法使用U-Net作为去噪网络,相较于编码器和解码器结构,U-Net在同分辨率的编码层和解码层之间直接相连,网络只需学习如何去除噪音,而无需重建整张图。
1)防御通用扰动
Akhtar等人提出了一种防御框架,该框架将额外的神经网络层附加到目标网络中,并重新训练网络来完成对对抗样本的校正,使目标网络对图像的原始版本与相应对抗样本的预测相同。通过这种方式不需要调整系数,而且能有效防御对抗样本。
2)基于GAN的防御
Lee等 人[15]利用生成对抗网络(GAN)来训练一个可以抵抗FGSM攻击的网络。直接在生成的网络上训练,在训练过程中,生成网络不断尝试对原始和对抗图像进行正确分类。
Shen等人使用网络的生成器部分来修正一个受干扰的图像。
Samangouei等人提出一种新的防御策略Defense-GAN,利用GAN来增强分类模型对白盒和黑盒对抗攻击的鲁棒性。实验表明,Defense-GAN可以有效抵抗对抗攻击,但如果GAN没有得到适当的训练和调整,Defense-GAN会受到原始输入样本和对抗样本的影响。
3)对抗样本检测
上述使用附加网络的防御方法可以使得防御后的DNN分类器能够将对抗样本识别为正确的标签,而对抗样本检测只需判断输入样本是否为对抗样本,而无须将对抗样本识别为正确标签。
Feature Squeezing方法通过对输入样本压缩简化来检测输入样本是否为对抗样本,该方法在 DNN 分类器中添加了两个外部模型,分别用来减少每个像素的颜色位深度和进行像素值的空间平滑。将原始输入图片和用两种Squeezing方法压缩后的图片经过分类器预测后的两个结果进行比较,如果距离很大,则输入样本会被认为是对抗样本。
且有研究表明Feature Squeezing方法与对抗训练结合,分类结果会有更高的准确性。
Feature Squeezing
1)训练阶段修改模型参数(对抗训练)
自从发现深度神经网络的对抗样本以来,相关文献中普遍认为,防御对抗样本的神经网络的鲁棒性会随着对抗训练而提高。对抗训练方法从训练数据集入手,在每个训练步骤中产生对抗样本,并将它们注入训练集,构建鲁棒性更好的模型。Goodfellow等 人[21]和Huang等人[22]使用对抗训练防御方法MNIST数据集上进行评估,实验表明这种混合了合法样本和对抗样本训练出的模型有更强的鲁棒性。
对抗训练在训练过程中只能加入由已知攻击产生的特定类别的对抗样本,因此对抗训练防御通常不具备对其他攻击产生对抗样本的泛化能力。此外,对抗训练防御方法在训练阶段需要大量的正常样本和对抗样本,训练的成本较高,使得该方法很难在大规模数据集上使用,这是对抗训练防御方法亟待解决的难题。
2)测试阶段修改输入样本
(1)输入转换
输入转换方法不需要改变训练数据集和模型结构,而是对预测样本进行各种转换方法来减少可能存在的扰动,之后将转换后的样本输入到原模型中预测,使对抗样本重新被正确分类 。输入转换防御方法需要对预测样本进行转换处理,实验表明,目前这种方法在对抗样本预测上的误报率和漏报率较大。
(2)数据压缩
Dziugaite 等人发现在图像领域应用中最广泛的图像压缩技术是 JPG 图像压缩技术。受此启发,他们研究了JPG 压缩技术对由 于FGSM 攻击扰动带来的网络模型识别率的影响。Das 等人使 用 JPEG 压缩方法,提出一种针对 FGSM 和 DeepFool 攻击方法的集成防御手段,但这种图像压缩技术无法面对更加强力的攻击,如 C&W 等。
L i和Wang提出了一种新的深度去噪神经网络,用于消除对抗样本上的噪声。Liu等人运用数据压缩技术来防御对抗图像的攻击,实验结果表明所提出的防御策略只有在添加的扰动较小时才有一定的效果。
M a 等人利用对抗样本的局部本征维数(Local intrinsic di-mensionality, LID) 值大于正常样本的特性来识别对抗样本和正常样本,提出基于 LID 的检测方法。
Buckman
等人提出使用温度计编码( Thermometer encoding)将连续的输入样本进行离散化。
Prakash等人将像素偏转和小波去噪技术结合提出了新的集成防御方法,利用小波域中的自适应软阈值使模型的输出平滑,该防御方法可以有效抵御最新的对抗攻击。
(1)对抗攻击的防御存在对目标模型参数的依赖问题,模型使用的白盒防御策略为改变目标模型梯度传递过程,而黑盒攻击使用替代模型构造对抗样本,其本身的可迁移性属性使其在黑盒攻击中具有很好的泛化性,使模型使用的白盒防御策略失效。
( 2 )几乎所有的防御方法只能对有限的对抗攻击有效,不能够解决来自未知攻击带来的风险,并且很容易被不断演化的对抗样本绕过。
( 3 )大多数防御都是针对计算机视觉任务中的对抗样本,随着其他领域对抗样本的发展,迫切需要研究这些领域存在的问题。例如在网络空间安全领域,一些深度学习的网络空间安全应用存在的最大问题是健壮性差,容易受到对抗攻击。
(4)正如本文介绍,对抗攻击在物理世界也十分有效,所以研究其在物理世界的防御方法也是非常必要的。