基于GAN与数据流形的对抗样本防御模型

2023-11-02 13:03张俊三
计算机应用与软件 2023年10期
关键词:对抗性分类器扰动

余 勇 张俊三

(中国石油大学(华东)计算机科学与技术学院 山东 青岛 266580)

0 引 言

受益于大数据的出现和大规模计算能力的提升,深度学习已然成为最活跃的计算机研究领域之一。深度学习的多层非线性结构使其具备强大的特征表达能力和对复杂任务的建模能力。最近几年,深度学习的发展也带动了一系列的研究。尤其是在图像识别领域,在一些标准测试集上的实验表明,深度模型的识别能力已经可以达到人类的水平。但是对于一个非正常的输入,深度模型却不能产生正确的结果。

Szegedy等[1]在ICLR发表的论文中,对抗样本(Adversarial examples)的概念第一次被提出,即在数据集中通过故意添加细微的干扰所形成的输入样本,受干扰之后的输入导致模型以高置信度给出一个错误的输出[2]。攻击中具有对抗性的部分使得预测类与实际类完全不同。人们察觉不到这些输入网络的微小变化,但是这些微小的变化却使得攻击本质上变得具有对抗性。

最近,随着神经网络[3]的发展,对抗样本问题受到更多人的关注。目前对于生成对抗样本的研究已经非常成功,仍然在不断地产生多种攻击方法[4-6],其中有些方法能够让大多数深度模型的准确率下降到接近0%。

对抗样本的攻击模式有两种分类模式:黑盒攻击和白盒攻击;非目标攻击和有目标攻击。黑盒攻击:攻击者并不知道机器学习所使用的算法、参数和防御手段等一切信息,攻击者只能与机器学习的系统有所交互,比如可以通过传入任意输入观察输出,判断输出。白盒攻击:攻击者能够获知机器学习所使用的一切信息。攻击者在产生对抗性攻击数据的过程中能够与机器学习的系统有所交互。非目标攻击(Untargeted attack):对于一幅图片,生成一个对抗样本,即只要求攻击成功,不限制对抗样本被识别成某一特定类。有目标攻击(Targeted attack):对于一幅图片和一个目标标注,生成一个对抗样本,使得标注系统在该样本上的标注与目标标注完全一致。即不仅要求攻击成功,还要求生成的对抗样本属于特定的类。

防御对抗样本的研究发展较为缓慢[7-9],这些防御可以分为三种不同的方法;(1) 修改训练数据以使分类器对攻击更具鲁棒性,例如,对抗训练以对抗性示例增强分类器的训练数据;(2) 修改分类器的训练步骤,以减少梯度的大小,例如防御蒸馏;(3) 试图从输入样本中去除对抗性噪声。

本文提出一种新颖并且有效的深度学习算法,该算法旨在消除对抗扰动,对于原始样本和对抗样本区别处理,从而提高分类准确率。

相比之前的方法,本文模型能够有效地防御对抗样本,利用防御网络去除样本中对抗性扰动,并且尽可能避免干净样本经防御网络处理后降低准确率。同时,本文模型不需要修改分类器的训练过程和结构,可以看作图像识别任务中的数据预处理阶段,如图1所示。

本文的主要贡献如下:

1) 本文提出一种新颖的深度学习的框架,利用生成对抗网络和数据流形防御对抗样本。

2) 之前提出的防御模型中,没有考虑到正常样本经过防御网络处理后会降低分类准确率。由于防御网络在正常样本中训练,若输入图片为正常样本,则输出更加接近正常样本的数据流形;反之输入图片为对抗样本,则输出图片会随机地分布在原始数据的流形周围,本文模型可以减少对正常样本的误分类。

3) 在2个通用数据集和4种攻击方法上进行了实验,与之前的方法相比,在经过本文模型处理后分类器的准确率显著提升。

1 相关工作

近年来神经网络的迅速发展,在图像识别、自然语言处理和图像修复等各个方向表现得非常出色。然而对抗样本的出现使得人们不得不再次质疑神经网络。接下来本文将介绍关于对抗样本最具有代表性的工作。

对抗样本一方面,研究并设计更具攻击性的对抗样本,作为神经网络鲁棒性的评估标准;另一方面,研究针对对抗样本攻击的防御方法,来提升神经网络模型的鲁棒性。

1.1 生成对抗样本方法

本节将介绍几种生成对抗样本的方法,简要地描述对抗样本。对抗样本生成方法有:Fast Gradient Sign Method(FGSD)[10]、Iterative Gradient Sign[11]、DeepFool Attack[12]、Jacobian-Based Saliency Map Attack(JSMA)[13]、L-BFGS Attack[14]和Carlini &Wanger(C&W) Attack[15]。

1.1.1FastGradientSignMethodAttack

(1)

式中:ε为系数;ytrue表示样本X的标签。式(1)表示输入X的所有像素沿梯度方向进行单步移动。该方法比其他方法更简单、更快,但攻击成功率较低,因为最初的目的就被设计为快速而不是最优。

1.1.2L-BFGSAttack

通过对图像添加人类察觉不到的微小扰动误导神经网络做出错误分类。由于求解让神经网络做出误分类的最小扰动复杂度太高,转而求解简化后的问题,即寻找最小的损失函数添加项,使得神经网络做出误分类,这就将问题转化成了凸优化过程。常数λ控制扰动大小和攻击力度;D函数是寻找最小扰动并且满足f(D(x))≠f(x)。可以公式化表达:

(2)

s.t.D(x)∈[0,1]

(3)

1.1.3Carlini-Wagner(CW)Attack

与L-BFGS方法类似,C&W L2攻击同时最小化了两个标准,样本对位的扰动(例如,被模型错误分类)和扰动的L2范数。该文提出使用双曲正切(Tanh)函数来改变变量,没有优化对抗式例子的交叉性,而是使用了logits之间的差异。对于以获得类t为目标的有针对性攻击,Z为Softmax激活(Logits)前的模型输出,公式为:

(4)

式中:wn表示优化参数。

基于wn可以写出C&W优化过程的损失函数:

(5)

式中:c表示超参数。

1.1.4DeepFoolAttack

Deep Fool Attack是一种非目标攻击方法,在L2距离度量下,应用最小扰动进行误分类是一种有效的方法。该方法在分类器的局部近似梯度方向上进行迭代,直到与决策超平面相交为止。

(6)

(7)

1.1.5Jacobian-BasedSaliencyMapAttack

对抗攻击文献中通常使用的方法是限制扰动的L∞或L2范数的值以使对抗样本中的扰动无法被人察觉。但JSMA提出了限制L0范数的方法,即仅改变几个像素的值,而不是扰动整幅图像。

1.2 对抗样本防御方法

对抗样本的防御方法大致分为对抗训练[17]、梯度掩码、随机化、防御网络。目前防御网络较为火热,其原理是在样本输入模型进行判定之前,先对当前对抗样本进行修复或者重新构造,剔除其中对抗性扰动使得模型识别准确率显著提升。另外防御网络可以和任何分类网络一起使用,而且不需要修改分类网络。

1.2.1对抗训练

一种防御对抗扰动的方法是用对抗的例子来扩充训练数据集。使用一个或多个选定的攻击模型生成反例,并将其添加到训练集中。当用生成增强训练集的攻击模型与攻击者使用的攻击模型相同时,通常会提高模型对该攻击算法健壮性。然而,防御其他攻击算法生成的对抗样本时效果明显下降。

1.2.2防御去噪网络

Shen等[18]提出了一种利用GAN消除对抗扰动的网络APE-GAN。这是一个利用生成模型的表达能力来保护深度神经网络免受对抗攻击的新框架经过训练后,可以模拟正常图像的分布,在输入对抗样本时,会生成一个该对抗样本的近似样本,同时满足干净样本分布,然后再将该样本替代原始的输入样本进行分类。该方法不假设特定的攻击模型,无论白盒攻击还是黑盒攻击下的常见攻击算法都有效。

1.2.3防御重构网络

Samangouei等[19]提出了一种利用GAN生成一个新的样本替代原输入样本的模型Defense-GAN。该模型能成功防御对抗样本依赖于GAN的生成力。然而,训练GAN仍然是一项具有挑战性的任务,也是一个活跃的研究领域,如果GAN没有得到适当的训练和调整,则模型的性能将受到影响。

1.2.4检测对抗样本

近年来对于检测对抗样本的研究在不断增多。这里把检测也归于防御的一种方法,判断一个样本是不是对抗样本。检测对抗样本[20]的方法有:利用多个基础分类模型对样本进行分类,当基础模型对该样本的预测高度不一致时,将其标记为对抗样本;利用对抗样本的性质:对抗子空间脱离(但接近于)数据子流形、对抗子空间具有与其最接近的干净数据子流形不同的类分布等来区分对抗样本与正常样本。

1.3 对抗生成网络

GAN由Goodfellow等[21]提出,由两个神经网络组成,生成器(G)和判别器(D)。G是低维潜在空间映射到高维样本空间。D是二元神经网络分类器[22-26]。在训练阶段,G和D通常使用实际输入数据样本x和随机向量以对抗方式学习。通常在z上假设各向同性高斯先验。当G学会生成具有类似于x的分布的输出G(z)时,D学会区分“真实”样本x和“假”样本G(z)。D和G以交替方式训练,可以公式化为极大极小函数[18]:

EZ~PZ(Z)[log(1-G(D(Z)))]

(8)

1.4 数据流形

对于任意的数据集而言,每一个数据集都有特定的数据流形,其中每一个数据都应该符合该流形。尽管攻击方法都会有约束:

(9)

因为攻击算法的目标是使得分类器的损失最大化,所以由攻击算法修改正常样本生成的对抗样本是不符合正常样本的数据流形[27-28],因而防御网络修复对抗样本的程度也大于正常样本,如图2所示。

图2 处理前后的样本MSE

虽然被修复后的样本均方误差值(MSE)在不断变换,但是被修复后的对抗样本MSE值总是高于被修复后的正常样本MES值,满足如下公式:

(10)

2 算法简介

对抗生成网络有两个部分:一个是生成器G,接收一个随机的噪声z,期望生成和训练数据(Xnorm)相同分布的数据G(z);另一个是判别器D,目的是区分训练数据和生成的数据。本文的防御网络是通过修改输入数据,去除对抗性扰动,提高分类网络的准确率。

2.1 防御网络

本文提出一种新颖的防御网络,该网络同时使用正常样本和对抗样本训练模型来去除对抗性扰动。如图3所示。

图3 模型训练

测试时,在将图像X输入分类器之前,本文通过生成器重建G(x)再给分类器分类。由于生成器经过训练模拟正常样本的数据分布,我们期望这一步骤可以显著减少各种潜在的对抗性扰动。

2.2 损失函数

本文通过将处理后的图像尽量回归到真实图像来训练防御网络,通过联合多个损失函数来使最终的修复结果与原始图像的距离减小。

2.2.1判别器损失函数

根据GAN的最小最大损失函数,判别器的损失LD定义为[18]:

LD=-∑[logD(X)+log(G(Xadv))]

(11)

2.2.2生成器损失函数

生成器对于消除样本中的对抗性扰动至关重要,本文将其定义为3个损失函数的加权求和形式:

LG=θ1ladv+θ2lmse+θ3lre

(12)

对抗损失Ladv:对抗性损失试图让防御修复后的样本显得更加真实,并且是在正常样本流形上的样本。利用判别器对所有防御修复后的样本概率计算对抗性损失[19]:

Ladv=∑[1-logD(G(Xadv))]

(13)

内容损失Lmse:使用均方误差损失作为内容损失,其定义为:

(14)

式中:W、H为图像样本的像素点。

修复损失Lre:利用L2损失定义修复损失:

(15)

修复损失能够使生成器减少对正常样本的修改,从而改善正常样本经过防御网络准确率下降的问题。

3 实 验

本文在2种数据集上使用了4种攻击方法进行验证。

3.1 数据集

模型采用MNIST[29]和CIFAR10[30]数据集训练以及验证模型效果。MNIST数据集包含用于训练的50 000个样本和10 000个用于测试的样本,像素为28×28。这些数字已经过尺寸标准化并位于图像中心,其值为0到1。CIFAR10数据集包括60 000幅32×32的彩色图像,其中训练集50 000幅,测试集10 000幅,如表1所示。

表1 数据集设置

3.2 模型的训练

在训练GAN时有4个参数需要设置,它们分别是扰动大小ε、通道数c、学习率r、训练的批大小b,如表2所示。

表2 参数设置

MNIST数据集训练阶段在第100个epoch后生成器G的损失和判别器D的损失逐渐收敛,如图4所示。

图4 模型损失

3.3 防御效果

3.3.1MNIST数据集

在MNIST数据集上使用了Fast Gradient Sign Method(FGSM)、Project Gradient Descent(PGD)、Perturb Iterative(PI)、Momentum Iterative Attack(MIM)四种攻击方法。

在扰动ε=0.15的限制下,防御各种攻击的效果如表3所示。

表3 MNIST防御对抗样本效果(%)

可以看出,分类器识别对抗样本的准确率远低于正常样本,对抗样本仅在10%以下。尽管在面对FGSM攻击方法产生的对抗样本时能够达到62.2%的准确率,但是FGSM攻击方法追求的是最快的攻击速度,并不是最好的攻击效果。经过防御网络修复后准确率都可以达到96%以上,相比对抗样本都有很大的提高,相比识别正常样本的准确率也仅相差2百分点。

正常样本经过防御模型处理后的准确率如表4所示。

表4 MNIST处理正常样本效果(%)

可以看出正常样本分类器的识别准确率能够达到98.7%以上,在经过防御网络处理后准确率仅下降了0.3百分点左右。

防御网络的目的是去除对抗性扰动,从而使分类器准确识别样本。在MNIST数据集中,扰动大小ε=0.2的限制下,使用FGSM攻击方法进行可视化实验,如图5所示。

(a) (b)

图5(a)是正常样本;图5(c)为使用FGSM攻击方法攻击正常样本所得到的对抗样本;图5(b)是支持样本经过防御网络处理后生成的图;图5(d)是对抗样本经过防御网络修复后的图。图5(c)的对抗样本图有特别明显噪声(对抗性扰动),分类器识别准确率相对于正常样本的识别准确率大幅度下降。但经过防御模型处理后扰动显著减少,从而使得分类器能够准确识别。而正常样本经过防御网络处理后没有明显变化,故分类器的分类准确率下降得很小。

3.3.2CIFAR10数据集

在CIFAR10数据集上使用了FGSM、PGD、PI、MIM四种攻击方法,检测该模型防御对抗样本的能力。

在ε=0.01的限制下,防御各种攻击的效果如表5所示。

表5 CIFAR防御对抗样本效果(%)

正常样本经过模型修复后的准确率如表6所示。

表6 CIFAR处理正常样本效果(%)

可以看出,在CIFAR10数据集上分类器识别对抗样本的准确率低于MNIST数据集,而经过防御网络处理后的样本识别准确率有所提升。正常样本在经过处理后分类器的识别准确率下降约为10百分点。

3.4 不同扰动大小的防御效果

在不同扰动限制下使用四种攻击方法攻击MNIST数据集效果如图6和图7所示。

图6 不同扰动下防御对抗样本效果

图7 不同扰动下处理正常样本效果

通过不断放大扰动大小Epsilon,从图6中可以看出随着扰动的变大分类器识别对抗样本的准确率逐渐减小。除FGSM攻击算法生成的对抗样本以外,其他三种攻击方法生成的对抗样本都使得分类器准确率接近0%。而经过防御网络处理后的对抗样本识别准确率有大幅度的提高。尽管随着扰动不断放大,识别修复后的样本准确率呈现下降趋势,但是识别准确率仍然在95%左右。图7展示了正常样本在经过防御网络处理后的准确率下降情况。随着扰动的变大尽管准确率整体有下降波动,但是降低的幅度很小,尤其在扰动幅度较小时下降幅度更小。

3.5 多种攻击方式

在训练防御网络时,需要指定一种攻击方法生成对抗样本,用以GAN的训练。训练阶段每次使用一种攻击算法产生对抗样本,测试阶段使用多种攻击算法生成的对抗样本进行测试。

在ε=0.15的限制下,MNIST数据集上测试效果如表7所示。

表7 攻击多样性防御(%)

可以看出,在训练时不需要特定某一种或者多种攻击算法。防御网络对于非训练时使用的攻击算法生成的对抗样本仍然具有防御能力。从理论上来说,该防御网络可以防御多种攻击算法。

3.6 局限性

本文模型对于CIFAR10数据集的表现弱于MNIST数据集。可能是由于CIFAR10数据中的样本更加复杂,分类模型对正常数据分类准确率就低于对MNIST数据集,另外在防御修复过程中对生成器的挑战更大。

4 结 语

本文提出一种新颖的模型用于防御对抗样本和降低传统防御网络对正常样本的影响。利用对抗生成网络的生成器修复输入样本,去除对抗性扰动以达到防御对抗样本的目的;同时利用数据流形减少正常样本经过防御网络处理后的误分类。本文方法不仅在防御对抗样本有显著提高,而且对于正常样本的影响小,尤其在MNIST数据集上仅有0.3百分点的准确率下降。另外本文并没有对特定的攻击方法进行针对性的训练,因此对于其他的攻击方法仍然有效。本文方法不需要修改分类模型,可以视为数据的预处理结合各种分类器。

在处理复杂样本时,本文模型仍然有进步的空间,可以考虑重新构造更深层的对抗生成网络,以构造更加复杂的样本;另外最近的工作表明在图片的前景中的对抗性扰动对分类器的影响要远大于在图片背景中的对抗性扰动,因此可以考虑结合注意力机制重点修复图片前景部分。这将是我们下一步的重点工作。

猜你喜欢
对抗性分类器扰动
Bernoulli泛函上典则酉对合的扰动
技能主导类隔网对抗性项群运动训练特征和实战技巧研究——以网球为例
(h)性质及其扰动
关于羽毛球教学中多球训练的探讨
BP-GA光照分类器在车道线识别中的应用
技战能主导类格斗对抗性项群的竞技特点与训练要求
小噪声扰动的二维扩散的极大似然估计
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
用于光伏MPPT中的模糊控制占空比扰动法