人工智能对抗攻防技术综述
引用
Qiu, Shilin , et al. 'Review of Artificial Intelligence Adversarial Attack and Defense Technologies.' Applied Sciences 9.5(2019).
摘要
近年来,人工智能技术已经广泛应用于计算机视觉、自然语言处理、自动驾驶等领域。然而,人工智能系统容易受到攻击,这限制了人工智能技术在关键安全领域的应用。因此,提高人工智能系统对抗攻击的鲁棒性在人工智能的进一步发展中发挥着越来越重要的作用。本文旨在全面总结深度学习中对抗攻防技术的最新研究进展。根据目标模型发生对抗攻击的不同阶段,分别阐述了训练阶段和测试阶段的对抗攻击方法。然后,我们梳理了对抗攻击技术在计算机视觉、自然语言处理、网络空间安全和物理世界中的应用。最后,我们分别从修改数据、修改模型和使用辅助工具三个主要类别描述了现有的对抗防御方法。
介绍
近年来,人工智能技术在各个领域的应用发展迅速。由于高性能、高可用性和高智能,人工智能技术已经应用于图像分类、物体检测、语音控制、机器翻译等更高级的领域,如药物成分分析、脑回路重构、粒子加速器数据分析、DNA 突变影响分析。
自 Szegedy 等人提出神经网络易受攻击攻击以来,人工智能攻击技术的研究逐渐成为热点,研究者不断提出新的攻击方法和防御方法。根据目标模型的不同阶段,对抗性攻击可以分为三类:训练阶段的攻击、测试阶段的攻击和模型部署阶段的攻击。由于模型部署阶段的攻击方法与测试阶段的方法非常相似,为了简单起见,本文只讨论训练阶段的攻击和测试阶段的攻击。
训练阶段对抗攻击是指在目标模型的训练阶段,攻击者通过修改训练数据集、操纵输入特征或数据标签来进行攻击。Barreno 等人通过修改或删除训练数据来改变训练数据集的原始分布,属于修改训练数据集。Biggio 等人的工作中展示了操纵标签的方法,他们通过随机翻转 40%的训练标签来降低支持向量机(SVM)分类器的性能。在 Kloft 等人、Biggio 等人和 Mei 等人的工作中,攻击者将精心生成的恶意数据注入训练数据集中,从而改变模型的决策边界。
测试阶段的对抗攻击可以分为白盒攻击和黑盒攻击。在白盒场景中,攻击者可以访问目标模型的参数、算法和结构。攻击者可以利用这一知识构建对抗样本来实施攻击。Papernot 等人介绍了一个对抗攻击框架,该框架可分为方向灵敏度估计步骤和扰动选择步骤。在此基础上,研究人员提出了各种不同的攻击方法。Szegedy 等人提出了一种叫做 Large-BFGS 的方法来搜索对抗样本。Goodfellow 等人提出了一种快速梯度符号法(FGSM),计算成本函数相对于输入的梯度。Kurakin 等人提出了三种变型的功能梯度法,分别命名为一步目标类方法,基本迭代方法和迭代最小可能类方法。Su 等人展示了一种攻击方法,它只改变图像中的一个像素。Moosavi-dezfooli 等人提出以迭代方式计算给定图像的最小范数对抗扰动,以找到最接近正常样本的决策边界,并找到跨越边界的最小对抗样本。Cisse 等人提出了一种称为 HOUDINI 的方法,它欺骗了基于梯度的机器学习算法。
相反,在黑盒场景中,攻击者不能获得关于目标模型的信息,但是他们可以通过查询目标模型、利用对抗样本的可传递性或使用模型反演方法来训练本地替代模型。Papernot 等人首先利用合成输入训练替代模型,然后利用替代模型生成的对抗样本攻击目标模型。Fredrikson 等人实施了一种模型反转攻击,该攻击使用机器学习(ML)应用编程接口(API)来推断敏感特征。Tramèr 等人展示了针对在线 ML 服务提供商(如 BigML 和 Amazon Machine Learning)的模型提取攻击。
对抗攻击技术已经逐渐在学术界和工业界得到应用。本文总结了四个领域的应用。在计算机视觉领域,在图像分类、语义图像分割和目标检测中存在对抗攻击。在自然语言处理领域,机器翻译和文本生成中存在对抗攻击。在网络空间安全领域,云服务、恶意软件检测以及网络入侵检测中存在对抗攻击。物理世界中的对抗攻击表现在路标识别、欺骗摄像头、机器视觉和人脸识别中。
为了提高神经网络对对抗攻击的鲁棒性,研究人员提出了大量对抗防御方法,这些方法可以分为三大类:修改数据、修改模型和使用辅助工具。
修改数据的方法是指在训练阶段修改训练数据集或在测试阶段改变输入数据。有五种方法可以修改数据。对抗训练是一种广泛使用的修改数据的方法;Szegedy 等人注入对抗性样本并修改其标签,以提高目标模型的鲁棒性。通过使用对抗式训练,Goodfellow 等人将国家标准与技术研究所混合数据集上的误识别率从 89.4%降低到 17.9%,Huang 等人通过惩罚误分类的对抗样本增加了目标模型的鲁棒性。第二种方法叫做梯度隐藏;它向攻击者隐藏目标模型的梯度信息。然而,通过学习具有梯度的代理黑盒模型,并使用由该模型生成的对抗样本,该方法很容易失效。因为即使神经网络具有不同的体系结构或在不相交的数据集上训练,可传递性属性也成立,所以第三种方法是阻止可传递性以防御黑盒攻击。Hosseini 等人提出了一个三步零标记法,以防止对抗样本的可转移性。这种方法的优点是将扰动输入标记为空标签,而不是将其分类为原始标签。第四种方法是数据压缩,通过压缩数据来提高健壮性。Dziugaite 等人和 Das 等人分别使用 JPG 压缩和 JPEG 压缩方法来防止 FGSM 攻击。这种方法的局限性在于,大量的压缩会导致原始图像分类精度下降,而少量的压缩往往不足以消除干扰的影响。修改数据的最后一种方法是数据随机化。Wang 等人使用与网络模型分离的数据转换模块来消除图像中可能存在的对抗干扰,并在训练过程中进行数据扩展操作,可以略微提高目标模型的鲁棒性。
修改模型是指修改目标神经网络,可分为六种类型。第一种方法是正则化,旨在通过添加正则项来提高目标模型的泛化能力。Biggio 等人在训练 SVM 模型时使用正则化方法来限制数据的脆弱性。第二种方法是防御净化法,这种方法使得产生的模型输出面更平滑,对扰动的敏感性更小,从而提高了模型的鲁棒性,可以将对抗攻击的成功率降低 90%。此外,Papernot 等人提出了可扩展的防御净化技术,以保证在黑盒攻击中的有效性。第三种方法是特征压缩,其目的是降低数据表示的复杂性,并减少由于低灵敏度引起的对抗干扰。对于图像数据,有两种方法,在像素级减少颜色深度和在图像上使用平滑过滤器。虽然这种方法可以有效防止对抗攻击,但降低了真实样本分类的准确性。第四种方法是使用深度压缩网络(DCN),它使用降噪自动编码器来降低对抗噪声。第五种方法是在识别分类的网络模型之前插入掩模层。掩模层用于对原始图像和先前网络模型层的输出特征之间的差异进行编码。最后一种修改模型的方法是使用 Parseval 网络。
使用辅助工具是指使用附加工具作为神经网络模型的辅助工具。Samangouei 等人提出了一种机制,称为防御生成对抗网(Defence Generative Agressiary Nets)。该网络适用于白盒和黑盒攻击,可以降低对抗干扰的效率。这种方法利用了生成对抗网络的力量。但生成对抗网络的训练是有挑战性的,即没有适当的训练,防御生成对抗网络的表现会明显下降。Men 等人提出了一个名为 MagNet 的框架,它将分类器最后一层的输出作为一个黑盒来读取。MagNet 使用检测器来识别合法样本和对抗样本。检测器测量给定待测样品和标准样本之间的距离,如果距离超过阈值,则剔除样品。Liao 等人设计了一个针对白盒和黑盒对抗攻击的鲁棒目标模型。作者提出了三种不同的 HGD 训练方法。使用 HGD 的优势在于,它可以在相对较小的数据集上进行训练,并可用于保护模型。
对抗样本与对抗攻击策略
在这一部分中,我们主要介绍了对抗样本和对抗攻击策略,包括对抗样本的原因和特点,以及对抗攻击的能力和目标。
1、对抗样本
Szegedy 等人首先提出了对抗样本的概念,通过在模型的输入样本中加入人眼无法识别的微小扰动来构造对抗样本,使得对抗图像被高置信度的目标模型误分类。
图 1:该模型将原始图像视为“熊猫”(57.7%)。事实上,添加了微小扰动的图像被同一模型归类为“长臂猿”(99.3%),而人眼无法识别差异。
假设有一个机器学习模型 M 和一个可以正确分类的原始样本 x,即 M(x)= y;通过给 x 增加一个微小的扰动,对手可以构造一个与 x 相似的敌对样本 x0,但可能被 M 误分类,即 M(x0) != y。图 1 显示了对抗过程。
2、对抗样本的成因
研究人员对对抗样本的存在提出了一些解释。一些研究人员认为对抗样本采摘的原因是模型的过拟合或欠正则化,这导致了学习模型预测未知数据的泛化能力不足,而另一些研究人员认为对抗样本是由深度神经网络的极端非线性引起的。然而,Goodfellow 等人对具有足够维数的正则化模型和线性模型的输入增加了扰动,并证明了两种模型防御对抗攻击的有效性没有显著提高。
图 2:扰动前后分类“1”的概率。扰动前,“1”类得分为 5%;然而,通过在原始样本的特定方向上从每个维度加或减 0.5,得分增加到 88%。
Goodfellow 等人认为,对抗样本的成因是高维空间中的线性行为。在高维线性分类器中,每个输入特征被归一化,因此每个输入的一个维度的微小扰动不会改变分类器的整体预测,而对输入的所有维度的微小扰动将导致有效的改变。如图 2 所示,通过在原始样本 x 的特定方向上对每个维度加或减 0.5,“1”类的分数从 5%增加到 88%,这证明了线性模型容易受到对抗样本的攻击。
防御策略
研究人员提出了许多对抗攻击防御策略,这些策略包括:修改数据、修改模型。
1、修改数据
这些策略是指在训练阶段修改训练数据集或在测试阶段改变输入数据,包括对抗训练、梯度隐藏、阻止可传递性、数据压缩和数据随机化。
对抗样本被引入到训练数据集中,通过用合法的对抗样本训练模型来提高目标模型的鲁棒性。Szegedy 等人首先注入对抗样本,并修改其标签,使模型在面对攻击时更加稳健。Goodfellow 等人通过使用对抗训练,将 MNIST 数据集的误识别率从 89.4%降低到 17.9%。Huang 等人通过惩罚错误分类的对抗样本,提高了模型的鲁棒性。Tramèr 等人提出了组合对抗训练,可以增加对抗样本的多样性。但是将所有未知的攻击样本引入对抗训练是不现实的,这导致了对抗训练的局限性。
2、修改模型
我们可以修改神经网络模型,如正则化、防御净化、特征压缩、深度收缩网络和掩码防御。
该方法通过在代价函数中加入被称为惩罚项的规则项来提高目标模型的泛化能力,使模型具有良好的适应性,能够抵抗预测中对未知数据集的攻击。Biggio 等人在训练 SVM 模型时使用正则化方法来限制数据的脆弱性。另一些研究者采用正则化方法提高算法的鲁棒性,在抵抗对抗攻击方面取得了良好的效果。
图 3:净化防御机制概述
Papernot 等人在净化技术的基础上提出了一种防御净化方法来抵抗攻击。原始净化技术旨在将大规模模型压缩成小规模并保持原始精度,而防御性净化方法不改变模型的规模,而是产生输出面更平滑、对扰动更不敏感的模型,以提高模型的鲁棒性。如图 3 所示,他们首先在最大温度为 T 的数据 X 上训练初始网络 F,然后使用概率向量 F(X),由网络 F 预测,以在相同的数据 X 上训练温度为 T 的净化网络 F_d。作者证明,使用防御净化可以将对抗攻击的成功率降低 90%。
结论
自从 Szegedy 等人提出机器学习算法易受攻击以来,研究者们对对抗攻击和防御方法进行了大量的研究,并产生了很好的结果。本文首先描述了对抗样本的成因和特点,以及攻击者的对抗能力和目标。此外,我们回顾了分别在目标模型的训练阶段和测试阶段进行的对抗攻击。其中,训练阶段的对抗攻击可以通过三种方式实现:修改训练数据集、标签操作和输入特征操作。然而,这种发生在训练阶段的攻击在现实世界中并不常见。测试阶段的对抗攻击有两种:白盒攻击和黑盒攻击。对于白盒攻击,在进行攻击的过程中,攻击者可以获得目标模型的算法、参数、结构等信息,并利用这些信息生成对抗样本。因此,与黑盒攻击相比,白盒攻击具有更高的成功率,这可以使目标模型达到大约 89-99%的错误率。虽然黑盒攻击的攻击成功率(错误率约为 84-96%)不如白盒攻击,但由于黑盒攻击不需要知道目标模型的任何信息,因此可以利用对抗样本的可转移性、模型反演和模型提取来进行对抗攻击。因此,黑盒攻击在现实世界中具有更好的适用性,很可能成为未来研究的一个热点。此外,我们还总结了对抗攻击在四个领域的应用以及现有的对抗攻击的防御方法。虽然研究人员已经提出了一些防御方法来处理对抗攻击,并取得了良好的效果,可以将对抗攻击的成功率降低 70%-90%,但它们一般都是针对特定类型的对抗攻击,没有防御方法来处理多种甚至所有类型的攻击。因此,保证人工智能技术在各种应用中安全性的关键是深入研究对抗攻击技术,并提出更有效的防御策略。
致谢
本文由南京大学软件学院 2020 级硕士张松涛翻译转述。
感谢国家重点研发计划(2018YFB1403400)和国家自然科学基金(71732003,61772014)支持!