文章目录
- 引入
- 机器学习和对抗模型的一些定义
- The attack surface
- The adversarial capabilities
- 训练阶段的能力
- 测试阶段的能力
- 白盒攻击
- 黑盒攻击
- Adversarial goals
- EXPLORATORY ATTACKS探索性攻击
- Model inversion attack模型反演攻击
- Model extraction using APIs
- Inference attack
- EVASION AND POISONING ATTACKS
- Adversarial examples generation
- Training phase modification
- Testing phase generation
- 白盒攻击:
- 黑盒攻击:
- Transferability of adversarial samples对抗性样本的可传递性
- Adversarial classification
- ADVANCES IN DEFENSE STRATEGIES
- Adversarial training
- Gradient hiding
- 防御性蒸馏
- Feature squeezing
- Blocking the transferability
- Defense‐GAN
- MagNet
- Using HGD
- Using basis function transformations
- 结论
引入
Kurakin等人已经证明了对自动驾驶车辆的攻击。[17]对手操纵交通标志来混淆学习模型。Goodfellow等 [18] 的论文对线性模型的对抗性训练进行了详细的分析,而papernet等 [19] 则解决了对抗性实例的泛化方面。Abadi等 [20] 通过引入分布式深度学习的概念,提出了一种保护训练数据隐私的方法。最近,2017年,Hitaj等人。[21] 利用学习模型的实时性来训练生成对抗网络 (GAN),并表明协作系统的隐私可能会受到损害。自从Szegedy等人的发现以来,人们已经对对抗性学习的背景及其后果引起了很多关注。
近年来提出了一些对策,以减轻对抗性攻击的影响。Kurakin等。[17] 提出了使用对抗训练来保护学习者的想法,方法是使用原始数据和扰动数据来增强训练集。Hinton等人 [22] 引入了蒸馏的概念,该概念被用来提出一种对抗对抗攻击的防御机制 [23]。Samandouei等 [24] 提出了一种利用GAN作为对抗扰动对策的机制。尽管发现这些建议的防御机制中的每一个都可以有效地抵抗特定类别的攻击,但它们都不能用作各种攻击的一站式解决方案。此外,实施这些防御策略会导致相关模型的性能和效率下降。
本文的主要动机是通过分析各种威胁模型和攻击场景,总结不同类型对抗性攻击的最新进展及其对策。
机器学习和对抗模型的一些定义
The attack surface
基于机器学习构建的系统可以看作是通用的数据处理管道。在测试时系统的原始操作序列可以看作是 (A) 从数据存储库或传感器收集输入数据,(b) 在数字域中传输数据,© 通过机器学习模型处理转换后的数据以产生输出,最后,(d) 根据产出采取的行动。为了说明,请考虑如图3所示的自动车辆系统的通用管道。
系统收集传感器输入 (使用相机的图像),从中提取模型特征 (像素值的张量) 并将其馈送到模型。然后,模型尝试解释输出的含义 (图像是停车标志的概率),并采取适当的行动 (停车)。在这种情况下,可以基于数据处理步骤来解释攻击面。对手的目标可能是试图操纵数据收集或数据处理,以破坏目标模型,从而篡改原始输出。攻击面识别出的主要攻击场景勾勒如下 [29,32]:
- 逃避攻击: 这是对抗性设置中最常见的攻击类型。对手试图通过在测试阶段调整恶意样本来逃避系统。此设置不会对训练数据产生任何影响。
- 中毒攻击: 这种类型的攻击,称为训练数据的污染,是在机器学习模型的训练阶段进行的。对手试图注入巧妙制作的样本来毒害系统,以损害整个学习过程。
- 探索性攻击: 这些攻击不会影响训练数据集。给定对模型的黑盒访问权限,他们会尝试获得尽可能多的有关基础系统学习算法的知识和训练数据中的模式。
The adversarial capabilities
术语对抗能力是指对手可以获得的关于系统的信息量,包括在威胁表面上使用的攻击矢量。为了说明,再次考虑如图3所示的自动车辆系统的情况,其中攻击面是测试时间 (即逃避攻击)。内部对手是可以访问模型体系结构并可以使用它来区分不同图像和交通标志的对手,而较弱的对手是只能访问在测试期间馈送到模型的图像转储的对手。尽管两个对手都在同一攻击表面上工作,但 “前攻击者被认为拥有更多信息,因此严格来说是一个更强大的对手。我们探索了机器学习系统中攻击者能力的范围,因为它们与推理和训练阶段有关 [31]。
训练阶段的能力
训练阶段的大多数攻击是通过学习,影响或破坏模型来完成的,通过直接更改数据集。根据对抗能力,攻击策略大致分为以下几类:
- 数据注入: 对手既不能访问训练数据,也不能访问学习算法,但有能力将新数据扩展到训练集中。他可以通过将对抗样本插入训练数据集来破坏目标模型。
- 数据修改: 对手无法访问学习算法,但可以完全访问训练数据。在用于训练目标模型之前,他直接通过修改数据来毒害训练数据。
- 逻辑损坏: 对手能够干预学习算法。显然,要针对这些可以改变学习算法逻辑从而控制模型本身的对手设计对抗策略变得非常困难。
测试阶段的能力
在测试时的对抗性攻击不会干扰目标模型,而是迫使其产生不正确的输出。 攻击的有效性取决于对手可用的有关模型的知识量。这些攻击可以分为白盒攻击或黑盒攻击。在讨论这些攻击之前,我们为机器学习模型提供了训练过程的正式定义。让我们考虑在来自数据分布 μ 的输入对 (X,y) 上训练的目标机器学习模型f,模型参数 θ ← t r a i n ( f ; X ; y ; r ) θ ← train(f; X; y; r) θ←train(f;X;y;r)
白盒攻击
在机器学习模型的白盒攻击中,对手对用于分类的模型 (f) 具有全部知识 (例如神经网络的类型以及层数)。攻击者具有有关训练中使用的算法 (训练) 的信息 (例如梯度下降优化),并且可以访问训练数据分布 (μ)。他还知道经过完全训练的模型体系结构的参数 (θ)。对手利用此信息来分析模型可能易受攻击的特征空间,即模型的错误率很高。然后,通过使用对抗样本制作方法更改输入来利用模型,我们将在后面讨论。对白盒攻击的内部模型权重的访问对应于非常强大的对抗性攻击。
黑盒攻击
相反,黑盒攻击假定不了解模型,并使用有关设置和先前输入的信息来利用模型。“例如,在oracle攻击中,对手通过提供一系列精心设计的输入和观察输出来探索模型” [31]。黑盒攻击进一步细分为以下几类:
- 非自适应黑盒攻击: 对于target model (f),非自适应黑盒对手只能访问模型的训练数据分布 (μ)。然后,对手为model architecture f0选择过程train0,并对来自数据分布 μ 的样本进行本地模型训练,以近似目标分类器学习的模型。对手使用白盒攻击策略在本地模型f0上制作了对抗样本,并将这些精心制作的输入应用于目标模型以强制错误分类。
- 自适应黑盒攻击: 对于目标模型 (f),自适应黑盒对手没有有关训练过程的任何信息,但可以作为oracle访问目标模型。这种策略类似于密码学中的选择明文攻击。对手向目标模型发出自适应的oracle查询,并标记一个精心选择的数据集,也就是说,对于任何任意选择的x,对手通过查询目标模型f来获得其标签y。然后,对手选择过程train0和模型体系结构f0来训练元组 (x,y) 通过查询目标模型获得。然后,代理模型通过遵循白盒攻击技术来产生对抗样本,以迫使目标模型对恶意数据进行错误分类。
- 严格的黑盒攻击: 黑盒对手有时可能不包含数据分布 μ,但能够从目标分类器收集输入输出对 (x,y)。但是,他不能像自适应攻击过程那样更改输入以观察输出的变化。此策略类似于密码学中的明文攻击,并且最有可能在大量输入输出对中取得成功。
在黑盒攻击框架中要记住的一点是,对手既不尝试学习用于训练目标模型的随机性r,也不尝试学习目标模型的参数 θ。黑盒攻击对手的主要目标是在非自适应攻击的情况下,通过查询目标模型来训练具有数据分布 μ 的本地模型,并在自适应攻击的情况下使用精心选择的数据集。表1显示了黑盒攻击和白盒攻击之间的简要区别。对抗威胁模型不仅取决于对抗能力,还取决于对手采取的行动。在下一小节中,我们将讨论对手的目标,同时损害任何机器学习系统的安全性。
Adversarial goals
对手试图向分类系统提供输入x *,以使其产生不正确的输出。从模型的不正确性推断出对手的目标。根据对分类器输出完整性的影响,对抗性目标可以大致分类如下:
- 置信度降低: 对手试图降低对目标模型的预测置信度。例如,可以用较低的置信度预测 “停止” 标志的合法图像,而类归属的可能性较小。
- 错误分类: 对手试图将输入示例的输出分类更改为其他类。例如,“停止” 标志的合法图像将被预测为与停止标志类别不同的任何其他类别。
- Targeted mis‐classification: 对手试图以模型产生特定目标类别的输出的方式来制作输入。例如,分类模型的任何输入图像将被预测为具有 “go” 符号的图像类别。
- source/target mis‐classification: 对手试图将特定的输入源分类为预定义的目标类别。例如,“停止” 符号的输入图像将被分类模型预测为 “开始” 符号。
EXPLORATORY ATTACKS探索性攻击
探索性攻击不会修改训练集,而是尝试通过探测学习者来获取有关状态的信息。对抗样本的制作方式是,学习者在测试阶段将其作为合法的examples传递。
Model inversion attack模型反演攻击
Fredrikson等在 [49] 中引入了 “模型反转” (MI),其中他们使用线性回归模型f来使用患者信息,病史和遗传标记来预测药物剂量; 探索了该模型作为白盒和数据实例 (x={x1; x2;…; xn} ,Y),并尝试推断genetic mark x1。该算法通过迭代nominal feature (x1) 的所有可能值以获得目标值y,来产生x1的 “最小偏最大后验 (MAP) 估计”,从而最大程度地减少了对手的错误预测率。它有严重的局限性; 例如,由于在计算上不可行,因此它无法使用较大的已知功能集。Fredrikson等人。[36] 旨在消除其先前工作的局限性,并表明攻击者可以在黑箱环境中预测患者的遗传标记。这种新的MI攻击是通过机器学习 (ML) api在各种设置中利用置信度值,并在黑盒和白盒设置中探索了对策。这种攻击已在使用神经网络模型的人脸识别中成功进行了实验: 多层感知器 (MLP),softmax回归和堆叠去噪自动编码器网络 (DAE); 如果可以访问模型和人名,它可以恢复面部图像。图6说明了这三种算法产生的重构。由于DNN模型的复杂结构,MI攻击无法检索到比某些原型样本更多的样本,这些样本可能与用于定义该类的原始数据没有很大的相似性。
Model extraction using APIs
Tramèr等人 [34] 提出了简单的攻击场景,对手可以使用该场景提取有关目标机器学习模型的信息,例如决策树,回归和神经网络。这些攻击是严格的黑盒攻击,可以开发与目标模型功能接近的本地模型。作者演示了对亚马逊机器学习和BigM等在线ML服务提供商的模型提取攻击。由ml-as-service 提供商提供的机器学习api返回概率值以及类标签。由于攻击者没有有关模型或训练数据分布的任何信息,因此他可以尝试通过查询d+1个随机的d维输入(对于unknown d+1个参数),从而在给定置信度值和方程的情况下对未知参数或特征进行数学求解。
Inference attack
Ateniese等人。[40] 详细介绍了使用元分类器从机器学习分类器中收集相关信息。给定对模型的黑盒访问 (例如,通过公共api) 和训练数据,攻击者可能有兴趣知道该数据是否是模型训练集的一部分。他们尝试了一种语音识别分类器,该分类器使用隐马尔可夫模型并提取了不应该被显式捕获的信息,例如用户的口音。
Shokri等人 [37] 提出的另一种推理攻击是隶属度推理攻击,它确定数据点是否与训练数据集属于同一分布。此攻击可能属于非自适应或自适应黑盒攻击的类别。在典型的黑盒环境中,攻击者使用数据点查询目标模型并获得其输出,该输出是概率向量,指定数据点是否属于某个类。为了训练攻击模型,建立了一组影子模型。由于对手知道给定的记录是否属于训练集,因此可以采用监督学习,然后将相应的输出标签馈送到攻击模型中,以训练它以区分影子模型的输出。
图7说明了端到端攻击过程。将从影子模型获得的输出向量添加到攻击模型的训练数据集中。还使用测试一下数据集查询影子模型,并将其添加到攻击模型的训练数据集中。因此,通过利用阴影模型的黑盒行为来训练目标攻击模型的集合。作者对由亚马逊和谷歌等提供 “ml即服务” 的商业玩家训练的分类模型进行了会员攻击。
EVASION AND POISONING ATTACKS
逃避攻击是机器学习系统上最常见的攻击。恶意输入被巧妙地修改,以迫使模型做出错误预测并逃避检测。中毒攻击的不同之处在于,在训练过程中会修改输入,并在受污染的输入上训练模型以获得所需的输出。
Adversarial examples generation
在本节中,我们概述了可以在训练和测试阶段执行的对抗性样本修改,以便分类模型产生对抗性输出。
Training phase modification
学习过程通过分析训练集对假设h的参数 θ 进行精细调整。这使得训练集容易受到对手的操纵。Barreno等人 [26] 首先创造了 “中毒攻击” 一词; 根据Kearns等人 [58] 的工作,操纵训练数据集 (“中毒”) 以改变目标模型的决策边界特征,从而挑战了学习系统的完整性。训练集的中毒攻击可以通过两种方式完成: 通过直接修改训练数据的标签或根据对手的能力操纵输入特征。我们简要介绍了这两种技术,而没有太多技术细节,因为训练阶段攻击需要更强大的对手,因此通常并不常见。
- Label manipulation : 如果对手仅具有修改训练标签的能力,则在给定学习模型的全部或部分知识的情况下,他必须获得最脆弱的标签。一种基本方法是随机对标签进行扰动,即为训练数据的子集选择从随机分布中提取的新标签。结果表明,随机翻转40% 训练标签会显着降低SVM分类器的性能 [41]。
- Input manipulation: 在这种情况下,对手更强大,可以利用学习算法的知识修改训练数据的标签和输入特征,从而有效地对中毒数据进行模型训练。
Kloft等人 [59] 提出了一项研究,他们在研究中表明,通过在训练数据集中插入恶意点,可以逐渐改变异常检测分类器的决策边界。他们使用的学习算法以在线方式工作。根据在线学习场景中定期收集的训练数据样本,对学习算法的参数值进行微调。因此,在训练数据集中注入新的点对于对手来说本质上是一件容易的事情。中毒数据点可以通过求解线性规划with the objective of maximizing displacement of the training data’s mean.
在离线学习场景中,Biggio等人 [42] 提出了一种攻击场景,其中对手使用梯度上升算法将输入输入到与局部最大值误差相对应的训练数据集中。研究表明,将这些精心制作的输入插入训练集中会降低SVM分类器在测试一下数据上的推理准确性。按照他们的方法,提出了一个中毒的通用框架 [60] 作为优化问题,如果目标学习模型中使用的损失函数是凸的,并且它的输入域是连续的,则可以找到足够的对抗分类训练集的最佳变化。
Testing phase generation
白盒攻击:
在本小节中,我们精确地讨论了对手如何在白盒设置中制作对抗性样本。Paper未等人。[23] 介绍了一个通用框架,该框架建立在最近文献中讨论的攻击方法的基础上。该框架分为两个阶段 😦 a) 方向灵敏度估计和 (b) 如图10所示的扰动选择。该图提出了使用DNN进行图像分类的对抗性示例制作过程,该过程可以推广到任何监督学习算法。
假设X是输入样本,F是训练好的DNN分类模型。对手的目标是选择性地将扰动 δ X与样本X相加,从而生成恶意示例 X ∗ = X + δ X X^* = X + δ X X∗=X+δX,使得 F ( X ∗ ) = Y ∗ F(X^*) = Y^* F(X∗)=Y∗,其中 Y ∗ ≠ F ( X ) Y^* ≠ F(X) Y∗=F(X) 取决于对手目标的目标输出。对手以合法的样本X开始。由于攻击设置是白盒攻击,因此对手可以访问目标模型F的参数 θ F θ_F θF。对手采用两步过程进行对抗样本制作,如下所述:
- 方向敏感性估计Direction sensitivity estimation: 通过识别样本X附近输入空间中的方向,对手评估和估计输出的可变性on input feature 关于模型如何响应输入的特征变化。
- 扰动选择: 然后,对手利用敏感信息的知识来选择扰动 δ X δX δX,以获得最有效的对抗性扰动。
对手可以通过在每次迭代中将X替换为 X + δ X X+δX X+δX来重复这两个步骤,直到满足他的目标为止,使得用于从有效示例中制作 X ∗ X^* X∗ 的扰动之和必须尽可能小。这有助于对抗性样本保持人眼难以察觉。因此,最好定义适当的范数 ‖.‖ 来表示两个输入点之间的差异,形式化对抗样本作为以下优化问题的解决方案:
在大多数情况下,由于其非线性和非凸性质,很难找到上述问题的封闭解。作者描述了使用这两个步骤来设计近似解决方案的攻击的不同技术。
Direction sensitivity estimation
在此步骤中,对手取一个样本X,一个n维输入向量,并试图找出模型在尽可能小的扰动下表现为对手预期的维度。这可以通过改变X的输入分量并评估模型对这些变化的敏感性来实现。有许多技术可以评估模型的灵敏度,下面将讨论其中的一些技术。
- L-BFGS:
形式上,等式 (2) 找到 δ X δX δX,使得输入示例X虽然精确地用f标记,但如果用 δX扰动,则对抗样本 X ∗ = X + δ X X^* = X +δ X X∗=X+δX, 且 X ∗ X^* X∗ 仍属于输入域D,则赋予目标标签 l ≠ h ( X ) l ≠ h(X) l=h(X)。对于DNN等非凸模型,作者使用l-bfgs [61] 优化来求解方程 (2)。尽管该方法具有良好的性能,但在计算对抗样本时计算成本很高。 - Fast gradient sign method (FGSM)
他们提出了一种FGSM,该FGSM使用相对于输入数据的损失 (成本) 函数的梯度在单个步骤中计算对输入数据的扰动,目的是使损失最大化。对抗性示例使用以下方程式生成:
- 基于Jacobian的方法: papern等。[62] 通过使用训练模型的Jacobian,引入了一种使用前向导数来寻找sensitivity direction的方法。此方法提供与每个输入特征相对应的输出特征的梯度。由此获得的知识来制作对抗样本using a complex saliency map approach。此方法对于源目标错误分类攻击特别有用。
扰动选择:
在获得有关网络敏感性的知识后,对手将尝试确定目标模型将以最小的扰动产生错误分类的维度。扰动输入维度可以有两种类型:
5. 扰动所有输入维度: Goodfellow等人。[18] 建议使用FGSM来计算相对于输入维度的成本函数梯度,并扰动每个输入维度,但在梯度符号方向上的数量很小。FGSM将最小化loss计算为对抗样本与原始训练样本之间的距离。
6. 扰动一个选定的输入维度: paper未等人 [62] 使用显著性映射saliency map来扰动有限数量的输入维度。使用显着性图的目的是为输入维度的组合分配值,which指示该组合如果被干扰,是否会有助于对抗目标。该方法在制作对抗示例时有效地减少了被干扰的输入特征的数量。给定按对抗性显着值的降序排序的所有维度,可以通过按顺序选择输入维度来制作扰动。使用以下公式评估目标类别t的合法示例x的组件i的显着性值 S ( x , t ) [ i ] S(x,t)[i] S(x,t)[i]:
每种方法都有自己的优点和缺点。第一种方法可以相对更快地生成对抗性样本,但具有较高的扰动,使它们更易于检测。第二种方法实际上减少了扰动,但计算量大。
黑盒攻击:
在本小节中,我们将详细讨论黑盒设置中对抗性示例的生成。在非自适应和严格的黑盒场景中制作对抗样本非常简单。在这两种情况下,对手都可以访问庞大的数据集,以训练近似目标模型的决策边界的本地替代模型。一旦对本地模型进行了高置信度训练,任何白盒攻击策略都可以应用于本地模型以生成对抗示例,由于 “可传递性” [19] (将在后面讨论),最终可以用来欺骗目标模型。但是,在自适应的黑盒设置中,对手无法访问大型数据集,因此通过选择性地查询目标模型作为oracle来增强部分或随机选择的数据集。下面将讨论paper未等人 [35] 提出的一种流行的数据集增强方法。
基于jacobian的数据增强
尽管对手可以对Oracle进行无限查询以获取任何给定输入的输出,但考虑到要查询的输入的连续域,该过程是不允许的,并且系统还可能检测到异常行为。一种替代方法是在给定原始训练集的情况下,在模型输出变化的方向上启发式地生成对抗性输入。使用更多的输入输出对,可以轻松地为目标Oracle O O O捕获方向。因此,贪婪启发式方法是在查询oracle标签以获得和the Oracle有相同决策边界的替代DNN F F F的同时,prioritize the samples。决策边界可以通过评估替代DNN的雅可比矩阵 J f J_f Jf的符号来确定决策边界: s g n ( J F ( x ) [ O ( x ) ] ) sgn(J_F(x)[O(x)]) sgn(JF(x)[O(x)]),x:input label。
Transferability of adversarial samples对抗性样本的可传递性
对抗样本具有一个属性: 为欺骗特定模型而产生的样本可用于欺骗其他模型, 而与它们的基础架构无关-导致自适应黑盒攻击,如第2.2.2节所述。此属性被称为 “对抗性样本的可转让性” [19]。由于在黑盒攻击的情况下,对手无法访问目标模型F,因此他可以在本地训练替代模型F0以生成对抗性示例 X + δ X X+δX X+δX,然后将其转换为受害者模型。形式上,如果X是原始输入,则可传递性问题可以表示为最优化问题 (1)。它可以大致分为两种类型:
- 技术内部可传递性: 使用类似的机器学习技术 (例如,两者都是NN或SVM) 训练模型F和F0。
- cross‐technique transferability: 如果F和F0中的学习技术不同,例如,一个是NN,另一个是SVM。
这种替代模型实际上将制作知识的对抗性输入转移到受害者模型。由于对手在给定多个数据点的情况下查询目标模型的输出的能力有限,因此可以将该模型视为oracle。为了训练替代模型,如上所述的数据集增强用于捕获有关预测输出的更多信息。作者还介绍了 “在执行基于jacobian的数据集扩充时,储层采样以选择有限数量的新输入K” [19]。它减少了对oracle的查询数量。但是,替代模型体系结构的选择不会影响可传递性。
攻击已被证明可以推广到不可微的目标模型,例如,逻辑回归 (LR) 和DNN (可微模型) “都可以有效地用于学习使用SVM训练的许多分类器的替代模型,决策树,DNN和最近邻。cross‐technique transferability大大减少了对手强制对精心制作的输入进行错误分类所需的分类器的知识量。学习替代模型减轻了在典型的基于黑箱的攻击中推断体系结构,学习模型和参数的攻击需求。
Adversarial classification
Dalvi等人。[43] 从成本敏感的游戏理论角度将对抗性分类定义为两个玩家之间的博弈: 模型 (分类器) 和对手,每个玩家都在竞争以最大化其效用。分类器试图从训练集中学习一个函数yc = C(x),该函数准确地预测训练集中的实例。对手将训练数据中的实例从x修改为x0 = A(x),并试图迫使分类器对训练数据中的实例进行错误分类。分类器和对手不断试图通过最大化自己的收益来击败对方。分类器使用对成本敏感的贝叶斯学习者来最小化其预期成本,同时假设对手总是发挥其最优策略,而对手试图修改特征,以最小化其自身的预期成本 [27,63]。系统中自适应对手的存在会大大降低分类器的性能,尤其是在分类器未知对手的存在和类型时。分类器的目标是最大化其期望效用 (UC),而对手会试图找到最优的特征修改策略,以最大化其期望效用 (UA):
ADVANCES IN DEFENSE STRATEGIES
对抗性示例表明,许多现代机器学习算法可以以令人惊讶的方式轻松破解。在最近的文献中可以找到大量的研究,以提供针对这些对抗性示例的实际防御。在本节中,我们将简要讨论最近的进步和挑战。这些对抗性的例子很难辩护,因为以下原因 [69]:
- 构建对抗性示例制作过程的理论模型非常困难。对抗性样本生成是一个复杂的优化过程,因为它的大多数机器学习模型的非线性和非凸特性。由于缺乏适当的理论工具来描述这些复杂的优化问题的解决方案,因此更难提出任何理论论点,即特定的辩护将排除一组对抗性的例子。
- 机器学习模型需要为每一个可能的输入提供适当的输出。对模型进行大量修改以结合针对对抗示例的鲁棒性可能会改变模型的基本目标。
当前的大多数防御策略都无法适应所有类型的对抗性攻击,因为一种方法可能会阻止一种攻击,但会给知道潜在防御机制的攻击者留下另一个漏洞。此外,这种防御策略的实施可能会产生性能开销,并且还会降低实际模型的预测精度。现有的防御机制可以根据其实现方法分为以下几种类型。
Adversarial training
对抗训练的主要目标是通过将对抗示例注入训练集来提高模型的鲁棒性。对抗训练是一种标准的蛮力方法,防御者只需生成许多对抗示例,并在训练目标模型时增强这些干扰数据。增强可以通过将合法数据和精心制作的数据 (在 [17] 中提供) 给模型来完成,也可以通过使用修改后的目标函数进行学习,其中J是原始损失函数,由 [18] 给出:
该模型将在相同的方向上为合法示例和受干扰示例预测相同的类,从而提高了模型的鲁棒性。传统上,附加实例是使用第4.2.2节中提到的一种或多种攻击方法来构建的。对抗训练意味着对基于原始模型制作的对抗样本进行训练。**防御对于黑盒攻击 [35,72] 并不强大,在黑盒攻击中,对手会在本地训练的替代模型上生成恶意示例。**此外,Tramèr等人。[39] 已经证明,可以通过两步攻击轻松绕过对抗性训练,如第4.2.2节所述,首先对实例施加随机扰动,然后对实例进行任何传统攻击。
Gradient hiding
对 [39] 中提出的基于梯度的攻击和使用对抗性制作方法 (例如FGSM) 进行攻击的自然防御可能在于从对手那里隐藏有关模型梯度的信息。例如,如果模型是不可微的 (例如,决策树,最近邻分类器或随机森林),则基于梯度的攻击将变得无效。但是,通过学习具有梯度的替代黑盒模型并使用它来制作示例,这种防御很容易被愚弄 [35]。
防御性蒸馏
Paper未等人 [23,73] 表明,蒸馏 [22] 可以用作对抗训练技术,因此该模型不太容易受到对抗输入的影响。两步工作模型和蒸馏方法描述如下。神经网络F被训练为将输入样本X分类为 “硬标签” 和 “软标签” Y,也就是说,最终的softmax层在Y上产生概率分布。然后,将F的 “软标签” 输出作为输入馈送到具有与同一数据集X上的F0相同架构的第二神经网络F0,以实现相同的精度。第二个 “分解” 模型使输出对对抗性扰动更加平滑和鲁棒。蒸馏方法中的最终softmax层根据以下方程式进行修改:
其中T是称为温度的蒸馏参数。Papernot等人 [23] 通过实验表明,T的高经验值可提供更好的蒸馏性能。使用这种方法训练第二个模型的原因是为了提供更平滑的损失函数,对于未知的数据集,这种损失函数的泛化程度更高,即使对于对抗样本也具有很高的分类精度。因此,防御性蒸馏使模型平滑,标签平滑将类标签转换为软目标。目标类标签被分配一个接近1的值,而剩余的权重分布在其他类之间。然后将这些修改后的值用于训练,以代替真正的标签。因此,不再需要训练 “防御性蒸馏” 的额外模型。使用软目标的优势在于它使用概率向量而不是硬类标签。例如,给定手写数字的图像x,看起来相似的数字的可能性将彼此接近。
但是,随着黑盒攻击的最新发展,可以轻松避免防御性蒸馏方法和标签平滑方法 [35,47]。这些攻击成功的主要原因通常是对抗实例跨神经网络模型的强传递性。
Feature squeezing
特征挤压是另一种模型硬化技术 [74]。这种防御的主要思想是,它降低了表示数据的复杂性,由于灵敏度低,导致对抗性扰动消失。 考虑图像数据集的方法背后主要有两种启发式方法: 1。减少像素级别上的颜色深度,即使用更少的值来编码颜色。2.在图像上使用平滑过滤器将多个输入映射到相同的值。这使得该模型能够抵抗噪音和对抗性攻击。尽管这些技术为对抗攻击提供了强有力的对策,但已知它们会大大降低模型的准确性。
Blocking the transferability
大多数众所周知的防御机制失败的主要原因是由于神经网络中的强可传递性,也就是说,在一个分类器上生成的对抗示例预计会导致另一个分类器执行相同的错误。无论分类器的基础架构或它们所训练的数据集如何,可传递性属性都成立。因此,防止黑盒攻击的关键是阻止对抗性示例的可传递性。
Hosseini等。[75] 最近提出了一种三步零标记方法,以防止对抗示例从一个网络转移到另一个网络。所提出的方法背后的主要思想是在数据集中增加一个新的空标签,并通过将它们分类为空来训练分类器以拒绝对抗示例。该方法的基本工作如图14所示。该图以MNIST数据集中的图像为例,说明了该方法,以及三个具有不同扰动的对抗性示例。分类器为每个图像分配一个概率向量。空标记方法将较高的概率分配给具有较高扰动的空标签,而没有防御的原始标记会增加其他标签的概率。空标注方法由三个主要步骤组成:
1.目标分类器的初始训练: 对干净的数据集进行初始训练,得出分类任务的决策边界。
2. 计算空概率: 然后使用函数f为具有不同扰动量的对抗性示例计算属于空类的概率:
3. 对抗性训练: 然后使用原始分类器以及样本的不同扰动输入对每个干净的样本进行重新训练。训练数据的标签是根据上一步中获得的空概率来确定的。
此方法的优点是将扰动输入标记为空标签,而不是将其分类为原始标签。这种方法可以被认为是迄今为止针对对抗性攻击的最有效的防御机制。此方法准确地拒绝了对抗性示例,同时又不损害干净数据的准确性。
Defense‐GAN
Samangouei等。[24] 提出了一种利用GAN [46] 的力量来降低对抗性扰动的机制,该机制适用于白盒和黑盒攻击。在典型的GAN中,同时训练模拟数据分布的生成模型和区分原始输入和扰动输入的判别模型。中心思想是在将图像x馈送到分类器之前,通过最小化重建误差 G ( z ) − x G(z)-x G(z)−x的二范数,将输入图像 “投影” 到生成器G的范围上。因此,合法样本将比对抗样本更接近G的范围,从而大大减少了潜在的对抗扰动。Defense-gan机制的概述如图15所示。尽管defense-GAN在对抗对抗攻击方面非常有效,但其成功取决于GAN的表现力和生成能力。此外,GAN的训练可能具有挑战性,如果训练不当,defense-gan的性能可能会大大降低。
MagNet
Meng等人 [76] 提出了一个框架,名为MagNet,该框架使用分类器作为黑盒,仅读取分类器最后一层的输出,而不修改分类器,并使用检测器来区分正常和对抗的例子。检测器检查the given test example与the manifold之间的距离是否超过阈值。它还使用重整器reformer将对抗示例改革为使用自动编码器的类似合法示例 (图16)。尽管MagNet成功地阻止了一系列黑盒攻击,但在白盒攻击的情况下,攻击者应该知道MagNet的参数,其性能会大大降低。因此,作者提出了使用各种自动编码器并一次随机选择一个的想法,以使对手难以预测使用哪种自动编码器。
Using HGD
虽然像像素级重构损失函数这样的标准去噪器会受到误差放大的影响,但高层表示引导去噪器 (HGD) 可以通过从输入样本中去除噪声来有效地克服这一问题。它使用损失函数来比较目标模型的无扰动图像和去噪图像产生的输出。Liao等人。[77] 引入HGD设计了一种针对白盒和黑盒对抗攻击的强大目标模型。使用HGD的另一个优点是,它可以在相对较小的数据集上进行训练,并且可以用于保护除指导它的模型之外的模型。在HGD模型中,损失函数定义为由x和bx激活的神经网络的第l层表示之间的差的L1范数:
作者 [77] 提出了三种用于高级去噪器的训练方法,如图17所示。在特征引导的去噪器 (FGD) 中,CNN的最后一层的激活被喂到线性分类单元,在全球平均池化global average pooling后。在logits引导的去噪器 (LGD) 中,他们将 l = − 1 l = − 1 l=−1定义为logits的索引,即softmax层之前的层。虽然这两个变体都是无监督模型,但他们提出了一种监督变体,即类标签引导去噪器 (CGD),它使用目标模型的分类损失作为损失函数。
Using basis function transformations
Shaham等人。[78] 通过基于图像的基函数表示的操作研究了各种防御机制,例如PCA,低通滤波,JPEG压缩,软阈值处理等。**所有机制都被用作对抗性和合法图像的预处理步骤,并通过成功区分两组图像来评估每种技术的效率。**作者表明,在黑盒,灰盒和白盒设置中的所有类型的对抗性攻击中,JPEG压缩的性能均优于所考虑的所有其他防御机制。如所描述的,现有的防御机制在它们可以提供针对特定设置中的特定攻击的鲁棒性的意义上具有其局限性。针对所有类型的对抗示例设计鲁棒的机器学习模型仍然是一个开放的研究问题。
结论
对抗性学习是对机器学习在物理世界中的应用的真正威胁。尽管存在某些对策,但没有一种对策可以作为应对所有挑战的灵丹妙药。对于机器学习社区来说,针对这些对抗性攻击提出相当强大的设计仍然是一个悬而未决的问题。