基址扫描(针对对抗样本的双管齐下的防御)

基址扫描(针对对抗样本的双管齐下的防御)(1)

Dongyu Meng, Hao Chen. MagNet: a Two-Pronged Defense against Adversarial Examples[J]. 2017.

摘要

研究人员发现深度学习系统容易受到人类察觉不到的小的、特制的扰动。这种扰动会导致深度学习系统错误地对敌对的例子进行分类,在安全或安保至关重要的情况下,会带来潜在的灾难性后果。为此我们提出了 MagNet,一个防御神经网络分类器对抗敌对例子的框架讨论了防御白盒攻击的内在困难,提出了一种防御灰盒攻击的机制。从经验上表明,在黑盒子和灰盒子场景中,MagNet 对最先进的攻击是有效的,而不会牺牲正常情况下的误报率。

1. 介绍

最近的研究表明,攻击者可以生成对抗性的例子来愚弄分类器。这些算法干扰了良性的例子,这些例子被正确地分类,少量的不影响人类的识别,但会导致神经网络的错误分类。我们称这些神经网络为目标分类器。

目前针对对抗性例子的防御方法有三种:

(1)用对抗性例子训练目标分类器,称为对抗性训练;

(2)训练一个分类器来区分正常和敌对的例子;

(3)通过阻断梯度途径,使目标分类器难以攻击。

MagNet 具有两个新特性。首先,它既不修改目标分类器,也不依赖于分类器的特定属性,可以用于保护广泛的神经网络。其次,MagNet 独立于生成对抗性例子的过程,因为它只需要正常的例子进行训练。

1.1 敌对的例子

分类任务的正常示例 x 是自然出现的示例。分类器的对抗性例子 y 不是一个正常的例子,分类器对 y 的决定与人类的普遍判断不一致。研究人员推测,对于许多人工智能任务,它们的相关数据位于一个比整个样本空间维度低得多的流形上。这表明分类任务的正常例子在流形上,而对抗性例子很可能在流形之外。

1.2 分类错误的原因及解决方法

一个分类器错误地分类一个对抗性的例子有两个原因:

1. 敌对的例子远离任务的多方面的边界。

2. 对抗性的例子接近流形的边界。

为了解决第一个问题,MagNet 使用检测器来检测测试示例与正常示例的区别。检测器学习一个函数 f: X→{0,1},其中 X 是所有例子的集合。f (x)试图测量示例 x 和流形之间的距离。如果该距离大于阈值,则检测器拒绝 x。

为了解决第二个问题,MagNet 使用了一个重整器来重整敌对的例子。给定一个靠近流形边界的反例 x,期望自动编码器在 y 靠近 x 的流形上输出一个例子。这样,自动编码器将反例 x 改造为类似的正常例。图 1 显示了重整器的效果。

基址扫描(针对对抗样本的双管齐下的防御)(2)

图 1. 格式对对抗性扰动影响的说明

1.3 贡献

我们做出以下贡献

1. 我们正式定义了对抗示例和评估对抗示例防御的度量标准。

2. 我们建议对敌对的例子进行辩护。辩护独立于目标分类器或生成对抗性例子的过程。

3. 我们提出了灰箱威胁模型,并提倡使用多样性来防御此类攻击。使用多样性来展示我们的方法。

2. 背景和相关工作

2.1 敌对环境中的深度学习系统

研究人员表明,有可能产生对抗性的例子来愚弄分类器。他们的算法将正常的例子干扰了一小部分,这并不影响人类的识别,但却导致了学习系统的错误分类。因此,如何保护这类量词不受对抗性例子的影响是一个真正值得关注的问题。

2.2 距离度量

根据定义,敌对的例子和它们的正常对应物在视觉上应该是人类无法区分的。研究人员提出了三个流行的度量标准来近似人类对视觉差异的感知,即 L0、L2 和 L∞。这些指标是 Lp 规范的特例:

基址扫描(针对对抗样本的双管齐下的防御)(3)

这三个指标关注视觉意义的不同方面。L0 计算两幅图像中相应位置具有不同值的像素数量。它回答了改变多少像素的问题。L2 测量两幅图像之间的欧几里得距离。l∞ 测量两幅图像中相应位置的所有像素的最大差值。

2.3 现有攻击

2.3.1 快速梯度符号法(FGSM)

给定一个正常图像 x′,快速梯度符号方法在 x 的 L∞ 邻域中寻找一个欺骗分类器的相似图像 x′。快速梯度符号方法通过在具有体积 ϵ 的图像空间中从 x 执行一步梯度更新来解决这个优化问题。对于每个像素,更新步长 ϵ 是相同的,并且更新方向由该像素处的梯度符号确定。形式上,对抗性例子 x′计算如下:

基址扫描(针对对抗样本的双管齐下的防御)(4)

虽然这种攻击很简单,但速度很快,威力也很大。通常,ϵ 被设定为很小。增加 ϵ 通常会导致更高的攻击成功率。

2.3.2 迭代梯度符号法

提出通过使用更精细的迭代优化策略来改进 FGSM。对于每一次迭代,攻击以较小的步长 α 执行 FGSM,并且剪辑更新的结果,使得更新的图像停留在 x 的 ϵ 邻域中。对于 ith 迭代,更新过程是:

基址扫描(针对对抗样本的双管齐下的防御)(5)

这种更新策略可以同时用于 L∞ 和 L2 的度量,大大提高了 FGSM 攻击的成功率。

2.3.3 卡里尼进攻

Carlini 最近引入了一种强大的攻击,它会产生带有小扰动的对抗性例子。对于所有三个指标 L0、L2 和 L∞,攻击可以是有目标的,也可以是无目标的。以非目标 L2 版本为例,介绍它的主要思想。

我们可以将攻击形式化为以下优化问题:

基址扫描(针对对抗样本的双管齐下的防御)(6)

或者固定的输入图像 x,攻击寻找长度较小的扰动 δ(目标中的||·||项)并同时扰乱分类器(目标中的 f(·)项)。c 是平衡两者的超参数。

f(·)的设计使得 f(x′)⩽0 当且仅当分类器错误地分类 x′时,这表明攻击成功。f(x′)具有铰链损失形式,定义为:

基址扫描(针对对抗样本的双管齐下的防御)(7)

其中 Z(x′)是软最大化前的分类结果向量(称为 logits)和 Lx 是基础真值标签,κ 是一个称为置信度的超参数。更高的置信度鼓励攻击者搜索分类置信度更高的对抗性示例。

2.4 现有防御

2.4.1 对抗训练

防御对抗性例子的一个想法是训练一个更好的分类器。构建健壮分类器的一种直观方法是在训练过程中包含对抗性信息,我们称之为对抗性训练。

同时,我们的方法与这一分支工作正交。MagNet 是一个额外的防御框架,在任何意义上都不需要修改目标分类器。MagNet 的设计和训练独立于目标分类器,因此更快、更灵活。

2.4.2 防御性蒸馏

防御性蒸馏利用蒸馏训练技术,并隐藏 softmax 前层(logits)和 softmax 输出之间的梯度。然而采用以下三种策略之一很容易绕过防御:

(1)选择更合适的损失函数

(2)直接从前软最大层而不是后软最大层计算梯度

(3)首先攻击易受攻击的网络,然后转移到提取的网络。。

2.4.3 检测敌对的例子

防御的另一个想法是用手工制作的统计特征或单独的分类网络来检测敌对的例子。对于所考虑的每种攻击生成方法,它都构建了一个深度神经网络分类器(检测器)来判断输入是正常的还是敌对的。检测器直接在正常和敌对的例子上训练。当训练和测试攻击示例是从同一个过程生成的,并且扰动足够大时,检测器表现出良好的性能,但是它不能很好地推广到不同的攻击参数和攻击生成过程。

3. 问题定义

3.1 敌对的例子

定义了以下集合:

S:样本空间中所有示例的集合。

Ct:分类任务 t 的互斥类集合,那么 C= {0,1,…,9}.

Nt= {x|x∈S 和 x 对于分类任务 t 自然发生}。每个分类任务都假设一个数据生成过程,该过程以概率 x 生成每个示例 x∈S。x 自然发生,如果 p(x)不可忽略。研究人员认为,Nf 构成了一个比 S 维度低得多的流形。我们用 4 个自然数据集的并集来近似 Nf。

定义 3.1:任务 t 分类器是函数 ft: S→Ct

定义 3.2:任务 t 的基本事实分类器代表人类的主要判断。我们用函数 gt: S→Ct∪{⊥}来表示它,其中 ⊥ 表示输入 x 不太可能来自 t 的数据生成过程的判断。

定义 3.3:任务 t 和分类器 ft 的对立示例 x 是这样的:

ft(x)≠gt(x)且 x∈S\Nt

第一个条件表明分类器犯了一个错误,但这本身不足以使例子成为对抗性的。首先,传统上它们被认为是测试错误,因为它们反映了分类器的不良泛化。第二,在大量的自然例子中靠蛮力找到这些例子是低效和费力的。因此,我们在上面添加了第二个条件,将对抗性示例限制为仅由攻击者人为生成以欺骗分类器的示例。

3.2 防御和评估

定义 3.4:分类器 ft 是 a 函数 dft: S→Ct∪{⊥}的对抗示例防御

防御 d_ft 扩展了分类器 ft,使其更加健壮。防御算法 dft 可能以三种不同的方式使用 ft:

1. 防御算法不读取 ft 中的数据或修改 ft 中的参数。

2. 防御算法读取 ft 中的数据,但不修改 ft 中的参数。

3. 防御算法修改 ft 中的参数。

定义 3.5:如果下列任一情况适用,防御 d_ft 会对示例 x 做出正确的判决:

1. x 是一个正常的例子,且在 x 的类上创建了真值分类器 g,即 x∈Nt 且 dft(x)=gt(x)。

2. x 是一个对抗性的例子,d_ft 判定 x 是对抗性的,或者 d 和基本事实分类器不同意 x 的分类,即 x∈S\Nt 且(dft(x)=⊥ 或 ft(x) =gt(x))。

3.3 威胁模型

我们假设攻击者知道她想要攻击的分类器 ft(称为目标分类器)的所有信息。根据攻击者是否知道防御 d_ft,有三种情况:

1. 黑盒攻击:攻击者不知道 dft 的参数。

2. 白盒攻击:攻击者知道 dft 的参数

3. 灰盒攻击:除了参数,攻击者知道 dft 的其他一切。

4. 设计

基址扫描(针对对抗样本的双管齐下的防御)(8)

图 2. 测试阶段的 MagNet 工作流程

MagNet 是一个防御对抗性例子的框架。MagNet 由两个组件组成:

(1)拒绝远离流形边界的示例的检测器。

(2)给定示例 x 的重整器,该重整器努力在流形上或附近找到示例 x ′,其中 x′是 x 的近似,然后将 x′给予目标分类器。

图 3 显示了二维样品空间中检测器和重整器的效果。

基址扫描(针对对抗样本的双管齐下的防御)(9)

图 3. 检测器和重整器如何在二维样本空间中工作的图示

4.1 检测器

检测器是一个函数:S→{0,1},它决定输入是否是对抗性的。它有一个基本的限制,即它要求防御者通过获取对抗性示例或了解生成对抗性示例的过程来模拟攻击者。

4.1.1 基于重构误差的检测器

自动编码器 ae = d ◦ e 包含两个组件:编码器 e : S→ H 和解码器 d:H→S,其中 S 是输入空间,H 是隐藏表示的空间。我们训练自动编码器以最小化训练集上的损失函数,其中损失函数通常是均方误差:

基址扫描(针对对抗样本的双管齐下的防御)(10)

测试示例 x 的重建误差为:

基址扫描(针对对抗样本的双管齐下的防御)(11)

自动编码器学习训练集的特征,使得编码器可以用某些属性的隐藏表示对输入进行编码,并且解码器试图从隐藏表示重构输入。必须设置一个阈值 tre 来决定输入是否正常,该阈值是检测器实例的超参数。它应该尽可能低,以检测轻微扰动的对抗性例子。

4.1.2 基于概率散度的检测器

大多数神经网络分类器在最后一层实现 softmax 函数:

基址扫描(针对对抗样本的双管齐下的防御)(12)

softmax 的输出是类的概率质量函数。softmax 的输入是一个名为 logit 的向量 l。设 rank(l,I)是 l 中所有元素中排名第一的元素的索引。给定一个 logit 为 l 的正常示例,攻击者的目标是扰动该示例以获得一个新的分对数 l′,使得 rank(l,1)≠rank(l′, 1)。

设 f (x)为输入上神经网络 f 的最后一层(softmax)的输出。ae(x)是自动编码器 ae 的输出,它是在正常示例上训练的。我们观察到,即使当 x′上的重建误差很小时,f(x′)和 f(ae(x′))也可能显著不同。我们使用詹森-香农散度:

基址扫描(针对对抗样本的双管齐下的防御)(13)

基址扫描(针对对抗样本的双管齐下的防御)(14)

基址扫描(针对对抗样本的双管齐下的防御)(15)

设 l(x)为输入 x 的分对数,当 l(x)中最大的元素远大于其第二大元素时,softmax(l(x))饱和,即 softmax(l(x))中最大的元素非常接近 1。这将使 softmax(l(x))和 softmax(l(ae(x))之间的詹森-香农散度非常小。为了解决这个数值问题,我们在计算 softmax 时添加了一个> 1 的 T:

基址扫描(针对对抗样本的双管齐下的防御)(16)

4.2 改良

重整器是试图重构测试输入的函数 r:S→Nt。然后将重整器的输出送入目标分类器。理想的改进:

1. 不应改变正常例子的分类结果。

2. 应该适当地改变对抗性的例子,使重建的例子接近正常的例子。

4.2.1 基于噪声的重整器

如果我们使用高斯噪声,我们得到下面的重整器:

基址扫描(针对对抗样本的双管齐下的防御)(17)

其中 y ~ N(y;0,I)是具有零均值和单位协方差矩阵的正态分布,ϵ 对噪声进行缩放,并且 clip 是将输入向量的每个元素裁剪到有效范围内的函数。

这种基于噪声的重整器的缺点是它随机而盲目地改变正常的和敌对的例子,但我们理想的改进应该几乎不改变正常的例子。

4.2.2 基于自动编码器的重整器

当给出与训练示例来自相同数据生成过程的正常示例时,自动编码器将输出非常相似的示例。当给出一个对抗性的例子时,自动编码器应该输出一个接近对抗性的例子并且更接近正常例子的流形的例子。这样,MagNet 在保持正常示例分类精度不变的同时,提高了对抗性示例的分类精度。

4.3 使用多样性来减轻灰箱攻击

在黑盒攻击中,攻击者知道目标分类器的参数,但不知道检测器或重整器的参数。我们的评估表明,MagNet 在防御黑盒攻击方面非常有效。

然而,在白盒攻击中,攻击者也知道检测器和重整器的参数,我们的评估显示 MagNet 变得不太准确。

我们从密码学中得到启发,创建了大量的自动编码器作为候选检测器和重整器。MagNet 为每个会话、每个测试集,甚至每个测试示例的每个防御设备随机选择一个自动编码器。我们可以增加这个集合的大小和多样性,使攻击更难执行。

我们通过随机初始化同时训练 n 个相同或不同架构的自动编码器。在训练期间,在成本函数中,我们添加一个正则化项来惩罚这些自动编码器的相似性:

基址扫描(针对对抗样本的双管齐下的防御)(18)

其中 aei 是第 I 个自动编码器,MSE 是均方误差函数,α > 0 是反映重建误差和自动编码器分集之间权衡的超参数。当 α 变大时,它促进了自动编码器的多样性,但也增加了重构误差。

5. 实施和评估

5.1 设置

在 MNIST,我们为训练集选择了 55 000 个例子,为验证集选择了 5 000 个,为测试集选择了 1 000 个。在 CIFAR-10 上,我们为训练集选择了 45 000 个例子,为验证集选择了 5 000 个,为测试集选择了 10 000 个。在这些数据集上,这两种分类器的精度都接近现有技术水平。表 1 和表 2 显示了这些分类器的体系结构和训练参数。为了简单起见,我们使用了[0,1]的缩放范围,而不是[0,255]。

表 1. 要保护的分类器的架构

基址扫描(针对对抗样本的双管齐下的防御)(19)

表 2. 待保护分类器的训练参数

基址扫描(针对对抗样本的双管齐下的防御)(20)

由于非目标攻击更难防御,我们在非目标攻击上评估 MagNet,以显示其最坏情况下的性能。

5.2 抵抗黑盒攻击的整体性能

我们使用快速梯度符号方法、迭代梯度符号方法、DeepFool 和 Carlini 的方法测试了 MagNet 抵抗攻击的能力。

5.2.1 MNIST

与 CIFAR-10 相比,MNIST 是一个更容易的分类器数据集。我们训练了一个分类器,达到了 99.4%的准确率,接近现有技术水平。检测器二和检测器一(见表 3)分别使用 L2 和 L1 范数来测量重建误差。我们选择重建误差的阈值,使得验证集上检测器的假阳性率最多为 0.001,即每个检测器错误地拒绝验证集中不超过 0.1%的例子。

表 3. 用于 MNIST 的防御设备架构,包括编码器和解码器

基址扫描(针对对抗样本的双管齐下的防御)(21)

表 4. MagNet 对不同攻击方法生成的对抗样本的分类准确率

基址扫描(针对对抗样本的双管齐下的防御)(22)

对对抗性例子的影响。表 4a 显示,除了具有 L0norm(92.0%)的 Carlini 攻击之外,MagNet 对所有考虑的攻击的准确率都在 99%以上。此处没有对 MagNet 进行任何攻击训练。

5.2.2 CIFAR-10

对于 CIFAR-10,MagNet 由一个重整器、一个基于重构误差的检测器和两个基于概率散度的检测器组成,T 分别为 10° 和 40°。我们将自动编码器训练成一个去噪自动编码器,单位高斯噪声为 0.025。基于误差的检测器使用 L1 范数来测量重构误差。同样,我们在验证集上设置一个假阳性率阈值,以找到重建误差阈值。对于基于重构误差的检测器,我们 tfp 设置为 0.005,对于基于概率散度的检测器,我们将 tfp 设置为 0.01。

对正常例子的影响。在测试集上,没有 MagNet,分类器的准确率为 90.6%;使用 MagNet,精度降低到 86.8%。精确度的降低很小。

对对抗性例子的影响。表 4b 显示了 MagNet 对 10 种不同攻击的准确性。MagNet 在 CIFAR-10 上不如在 MNIST 上准确。MagNet 对所有攻击的准确率都在 75%以上,对一半以上的攻击准确率都在 90%以上。表明 MagNet 是有效的,并很好地推广到不同的攻击和同一攻击的不同参数。

5.3 卡里尼进攻案例分析,为什么 MagNet 有效?

在我们评估的进攻中,卡里尼的在生成对抗性例子时,可以通过调整置信度来改变攻击强度。置信度越高,分类置信度越强,失真越大。在置信度为 40 的情况下,即使通过进行转移攻击,该攻击在具有蒸馏防御的分类器上也获得了接近 100%的成功率。

我们评估了不同信心水平对卡里尼攻击 MagNet 的影响。对于 MNIST,我们使用了与卡里尼论文中相同的分类器来生成对抗性例子,并在我们的评估中用作目标分类器。我们生成了置信水平在[0,40]范围内的对抗性例子。对于 CIFAR-10,没有评估置信水平的影响,但我们选择了[0,100]范围内的置信水平。

基址扫描(针对对抗样本的双管齐下的防御)(23)

图 4. Carlini 对 MNIST 数据集的 L2 攻击的不同置信度的防御性能

图 4 显示了 MNIST 探测器和重整器的性能。表明在黑盒场景中,MagNet 完全阻止了 Carlini 的攻击。

基址扫描(针对对抗样本的双管齐下的防御)(24)

图 5. Carlini 对 CIFAR-10 数据集的 L2 攻击的不同置信度的防御性能

图 5 显示了 CIFAR10 上 MagNet 的分类精度。所有的攻击也接近 100%的成功率。图 5 中总体分类精度曲线的中间范围有所下降。这种下降对攻击者来说是一个机会之窗。在图 5 中,即使这个机会窗口存在,MagNet 仍然在所有置信水平上达到 80%以上的分类准确率。

5.4 防御灰箱攻击

在灰盒攻击中,除了参数之外,攻击者知道关于防御的其他一切,例如网络结构、训练集和训练过程。如果我们假设

(1)攻击者无法预测防御者在对其对抗性示例进行分类时使用的参数

(2)攻击者在生成其对抗性示例时,不可能误导所有可能的防御

那么我们可以通过使我们的防御网络多样化来防御攻击者。

我们从 MagNet 中移除了探测器,只保留了重整器,以允许 Carlini 的攻击产生敌对的例子。我们进行了卡里尼攻击,以生成置信度为 0 的对抗性例子且只选择了 CIFAR-10。

表 5. CIFAR-10 灰盒攻击生成的对抗样本的分类准确率百分比

基址扫描(针对对抗样本的双管齐下的防御)(25)

表 5 显示了 MagNet 对由 Carlini 攻击产生的对抗性例子的分类准确性。我们将每个自动编码器命名为 A 到 h。每一列对应于产生攻击的自动编码器,每一行对应于测试期间使用的自动编码器。最后一行,random,意味着 MagNet 从它的八个自动编码器中选择一个随机的。对角线显示,当训练 Carlini 攻击的自动编码器也是 MagNet 在测试中使用的自动编码器时,MagNet 的分类精度几乎下降到 0。然而,当这两个自动编码器不同时,分类精度会跃升至 90%以上。最后一行显示了一个更现实的场景,攻击者在训练期间选择了一个随机自动编码器,而 MagNet 也在测试期间选择了一个随机自动编码器。在这种情况下,MagNet 将分类准确率保持在 80%以上。

表 6. CIFAR-10 测试集上的分类准确率百分比

基址扫描(针对对抗样本的双管齐下的防御)(26)

表 8 显示了这些自动编码器在 CIFAR-10 测试集上的分类精度。与目标分类器的准确率 90.6%相比,这些自动编码器几乎没有降低目标分类器的准确率。

6. 结论

我们提出了 MagNet,一个防御神经网络对抗扰动的框架。MagNet 使用两种方法处理不受信任的输入。它使用检测器网络检测具有大扰动的对立示例,并将具有小扰动的示例推向正常示例的流形。这两种方法共同提高了分类精度。实验表明,MagNet 能有效抵御最先进的攻击。在攻击者知道 MagNet 的训练示例的情况下,我们描述了一个新的灰箱威胁模型,并使用多样性来有效防御这种攻击。

我们主张针对对抗性例子的防御应该独立于攻击。不是从特定的生成过程中找到对抗性例子的属性,而是通过在所有对抗性生成过程中找到内在的共同属性,使防御更容易转移。MagNet 是实现这一目标的第一步,并通过实验证明了良好的性能。

致谢

本文由南京大学软件学院 2021 级硕士冯翔翻译转述

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页