Hinton团队胶囊网络新进展:两种方法加持,精准检测和防御对抗性攻击

2017 年,图灵奖获得者 Hinton 提出的胶囊网络为深度学习研究开启了一扇新的大门。此后,对胶囊网络的探索便一直是该领域最前沿的研究话题。2018 年 11 月,Hinton 团队曾在论文「DARCCC:Detecting Adversaries by Recontruction from Class Conditional Capsules」中提出通过图像重建网络监测对抗性攻击的方法。上个月,Hinton 团队再发力作,进一步完善了胶囊网络在机器学习安全领域的应用。

论文地址:https://arxiv.org/abs/2002.07405

引言

在本文中,我们提出了一种基于胶囊层(Capsule layer,Sabour et al., 2017; Qin et al., 2020)的网络和检测机制,它可以精确地检测到攻击,对于未检测到的攻击,它通常也可以迫使攻击者生成类似于目标类的图像(从而使它们被偏转)。我们的网络结构由两部分组成:对输入进行分类的胶囊分类网络,以及根据预测的胶囊(predicted capsule)的姿态参数(pose parameters)重建输入图像的重建网络。

图 3:具有循环一致性的胜出的胶囊重建(cycle-consistent winning capsule reconstructions)网络架构。

除了(Sabour et al., 2017; Qin et al., 2020)中使用的分类损失和 L2 重建损失外,我们还引入了一个额外的循环一致性训练损失,该训练损失迫使胜出的胶囊重建结果的分类与原始输入的分类相同。这种新的辅助训练损失促使重建更严格地匹配有类别条件的分布,而且也对模型检测和偏转对抗攻击有所帮助。

此外,我们基于对干净的输入和对抗性输入的胜出胶囊重建之间的差异,提出了两种新的攻击不可知的检测方法。我们证明,在 SVHN 和 CIFAR-10 数据集上,基于三种不同的变形度量——EAD(Chen et al.,2018)、CW(Carlini & Wagner, 2017b)和 PGD(Madry et al.,2017)证明了,该方法可以准确地检测白盒和黑盒攻击。

检测方式

在本文中,我们使用三种基于重建的检测方法来检测标准攻击。这三种方法分别是:(1)最早由 Qin 等人在 2020 年提出的全局阈值检测器(Global Threshold Detector,GTD),局部最优检测器(Local Best Detector,LBD)和循环一致性检测器(Cycle-Consistency Detector,CCD)。

全局阈值检测器

当输入被对抗性攻击扰动时,对输入的分类结果可能是不正确的,但是重建结果常常是模糊的,因此对抗性输入和重建结果之间的距离比期望的正常输入与重建结果之间的距离要大。这使得我们可以通过全局阈值检测器检测出对抗性输入。这种 Qin 等人于 2020 年发表的论文中提出的方法,测量了输入与胜出胶囊的重建结果之间的重建误差。如果重建误差大于全局阈值 θ:

那么输入就会被标记为对抗性样本。

局部最优检测器

当输入是一个干净的(clean)图像时,胜出胶囊的重建误差小于失败胶囊的重建误差,相关示例如图 4 的第一行所示。

然而,当输入是一个对抗示例时,与胜出的胶囊对应的重建结果相比,从对应于正确标签的胶囊进行重建的结果更接近于输入(见图 4 中的第二行)。

图 4:干净输入的示例,通过 PGD 攻击生成的对抗性示例,以及每个类的胶囊对干净输入和对抗性输入的重构。

因此,我们提出利用「局部最佳检测器」(Local Best Detector,LBD)检测出这些对抗性图像,它们由胜出的胶囊产生的重构误差并非最小:

其中,n 是数据集中类的数量。

循环一致性检测器

如果输入是一个干净的图像,胜出的胶囊的重建结果会和输入很相似。理想情况下,我们的模型应该将获胜胶囊的重建结果和干净的输入标注为同样的类别。这种行为通过使用循环一致性损失的训练得以强化。

然而,当输入是一个对抗性示例时,它与干净的图像在视觉上难以区分,但又迫使模型将其预测为目标类别。胜出胶囊的重建结果往往看起来更接近干净的输入,或是变得模糊。因此,获胜胶囊的重建结果往往不会被归类为目标类别。

因此,循环一致性检测器(Cycle-Consistency Detector,CCD)被设计用来在输入 x 与其胜出的胶囊的重建结果并没有被判定成同一类时,将 x 标注为对抗性样本。

能够感知防御机制的 CC-PGD 攻击

为了生成这样的攻击,我们在(Qin et al.,2020)的基础上,在每个梯度步上设计了包含两个阶段的攻击。第一个阶段试图通过遵循标准攻击(例如,标准 PGD 攻击)来欺骗分类器,该攻击的损失为其相对输入的交叉熵损失。然后,在第二阶段,我们重点关注通过考虑重构误差和循环一致性,来欺骗检测机制。

实验

在提出新的防御模型后,我们首先在 SVHN 和 CIFAR10 数据集上验证它对各种攻击的检测性能。然后,我们使用通过人工研究来证明我们的模型经常迫使未被发现的攻击被偏转。

评价指标及数据集

在本文中,我们使用准确率(accuracy)来表示被我们的网络正确分类的干净示例的比例。我们使用成功率(成功欺骗检测器将其预测为目标类别的对抗性示例的比例)来衡量攻击的性能。

为了评估不同检测机制的性能,我们同时给出了假阳性率(False Positive Rate,FPR)和漏检率。

最后,我们进行了一项人工研究,以表明我们的模型能够有效地偏转对抗性攻击。

训练细节与测试集准确率

我们将 batch 的大小设置为 64,学习率设置为 0.0001,从而在 SVHN 上训练网络。使用 CIFAR-10 中的数据进行训练时,batch 大小则被设置为 128,学习率为 0.0002。我们使用 Adam 优化器(Kingma & Ba,2014)来训练所有的模型。

我们在 SVHN(Netzer et al.,2011)和 CIFAR-10 数据集(Krizhevsky,2009)上测试了偏转模型。在针对干净样本数据集的测试中,在 SVHN 上的分类准确率为 96.5%,在 CIFAR-10 上的分类准确率为 92.6%,这些结果说明我们的偏转模型在干净图像的分类任务上性能优异。

威胁模型

在本文中,我们考虑了两种常见的威胁模型:白盒模型和黑盒模型。对于白盒攻击,攻击者完全了解网络结构和参数,可以通过计算模型输出相对于输入的梯度来构造对抗性攻击。在黑盒模型的环境下,攻击者知道目标模型的网络架构,但不能直接获取模型的参数

为了生成针对目标模型的黑盒攻击,在具有相同网络结构的替代模型上进行训练,并进一步受到白盒攻击的攻击,然后将白盒攻击作为黑盒攻击转移到目标模型中。

对抗性攻击

我们测试了在攻击不可知情况下,三种基于不同距离度量的标准目标攻击检测机制:基于 L1 范数的 EAD(Chen et al.,2018),基于 L2 范数的 CW(Carlini & Wagner,2017b)以及基于 L∞ 范数的 PGD(Madry et al.,2017)。此外,我们按照(Carlini & Wagner,2017a)中的建议,汇报了我们的检测机制检测能够感知防御的攻击时的性能。

PGD 和 CC-PGD 攻击的健壮性检测

在本节中,我们完成了基本的健壮性检测,以确保对抗性攻击的真正实现,并且确保我们提出的能够感知防御的 CC-PGD 得到了很好的调优。我们在 CIFAR-10 数据集上测试针对我们提出的偏转模型的攻击。类似的结论在 SVHN 数据集上也成立。

图 5(a)显示了在 CIFAR-10 数据集上,白盒 PGD 和 CC-PGD 的成功率随着迭代次数的增加而变化。在图 5(b)中,我们发现白盒 PGD 和 CC-PGD 的成功率随着对抗性扰动 E∞ 的 L∞ 界的增大而变化。在图 5(c)中,我们在 CIFAR-10 数据集上,针对我们的偏转模型分别使用一阶段和两阶段优化构建了能够感知防御机制的 CC-PGD。

图 5。

模型简化实验

在图 10 中,我们绘制了不同检测器标记的白盒对抗攻击的漏检率与干净输入的假阳性率。

图 10。

为了证明本文提出的循环一致性损失的有效性,我们构建了一个基线胶囊模型,该模型与我们的偏转模型具有相同的网络结构,但经过不使用额外的循环一致性损失的训练。

图 5(d)显示了,在 CIFAR-10 数据集上,能够意识到防御机制的白盒攻击的漏检率与干净输入的假阳性率(FPR)。

检测白盒攻击

如图 7 所示,对于 SVHN 和 CIFAR-10 数据集上,我们的检测方法对于所有三种标准白盒攻击(EAD、CW 和 PGD)的漏检率都非常小。其中,PGD 对我们的检测机制的攻击最强,在 FPR 相同时的漏检率最高。

图 7:在 SVHN 和 CIFAR-10 数据集上,白盒和黑盒攻击的漏检率与干净输入的假阳性率(FPR)。最强攻击的线下面积最大。

尽管我们可以清楚地看到,与标准的 PGD 攻击相比,CC-PGD 的漏检率增加了。然而,如表 1 所示,在 SVHN 上,白盒 CC-PGD 的成功率却显著下降(从 PGD: 96.0% 到 CC-PGD: 69.0%)。这说明攻击者需要牺牲一定的成功率才能不被我们的检测机制检测到。

表 1。

从表 2 可以看出,虽然统计检验(Roth et al.,2019)和基于分类器的检测方法(Hosseini et al.,2019)可以成功地检测到标准攻击,但是它们对于能够感知防御的攻击的检测则都失败了。相比之下,我们提出的基于重建的检测机制在检测能够感知防御的对抗性攻击时的漏检率是最小的,在检测 CW 攻击方面的漏检率仅为 4.6%。

表 2:在 CIFAR-10 数据集上,与目前最先进的检测方法的漏检率的比较。

检测黑盒攻击

为了研究我们的检测机制的有效性,我们还在黑盒攻击上测试了我们的模型。在图 7 中,我们可以看到,在这两个数据集上,当输入为黑盒 CC-PGD 攻击时,漏检率仅为白盒 CC-PGD 的一半。

此外,如表 1 所示,白盒攻击和黑盒攻击的成功率有巨大差距,这就表明我们的防御模型显著降低了各种对抗性攻击的可迁移性。

偏转攻击

在 SVHN 上进行人工研究

为了验证我们的方法可以偏转对抗性攻击的说法,我们进行了一项人工研究。我们使用亚马逊土耳其机器人网络服务招募参与者,并要求人们标记 SVHN 数字。结果如图 8 所示。

图 8:在 SVHN 上的人工研究结果。最大的 L∞ 扰动为 16/255。

此外,与白盒攻击相比,更多在黑盒环境下生成的未被检测到的、成功的对抗性攻击会被偏转,从而变得与目标类相似。这表明,要在更真实的场景(黑盒)下攻击我们的偏转模型,攻击将被偏转以避免被检测到,如图 9 所示。

图 9:在 SVHN 和 CIFAR-10 上被偏转的对抗性攻击。SVHN 的最大 L∞ 扰动为 16/255,CIFAR-10 的最大 L∞扰动为 25/255。

CIFAR-10 上的偏转攻击

为了证明我们的模型可以在 CIFAR-10 数据集上有效地偏转对抗性攻击,我们为每个类选择了一个偏转后的对抗性攻击,其最大 L∞范数为 25/255,如图 9 所示。

很明显,为了欺骗分类器和我们的检测机制,干净的输入已经被扰动,具有目标类的代表性特征。实验结果表明,我们的模型也成功地偏转了这些对抗性攻击。

理论偏转攻击胶囊网络
相关数据
参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

假阳性技术

假阳性是指模型因为种种原因把不应该分类成特定情况的人/物错误地分类到了该分类的情况。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

暂无评论
暂无评论~