APP下载

基于k-WTA的对抗样本防御模型研究

2022-01-25曹春杰

关键词:鲁棒性梯度样本

吴 倩,曹春杰

(1.海南大学计算机科学与技术学院,海南 海口 570228;2.海南大学网络空间安全学院,海南 海口 570228)

深度神经网络已经在图像识别[1]及其他领域中取得了巨大成功,广泛应用于现实世界,如人脸识别系统,但都依赖于深度神经网络的安全性.因此,神经网络的安全问题已经成为人工智能安全领域的关注重点.目前已经有研究表明,深度神经网络易受到添加微小扰动的原始样本的干扰[2],这些人眼无法察觉的扰动却能使系统产生错误的判断结果,此类输入样本被称作对抗样本[3].

目前对抗样本的产生方法主要分为3大类:基于梯度的攻击方法,如快速梯度符号法(FGSM)[3],利用高维空间中深度神经网络模型的线性性质,通过输入向量梯度方向添加扰动快速得到对抗扰动,但是使用梯度法产生的对抗样本进行对抗训练存在极大极小值问题;基于优化的攻击方法,如C&W[4],通过限制于真实图像的距离l0,l2,l∞范数,减小对抗样本的扰动幅度,但是该系列方法通过复杂的线性搜索方法来找到最佳扰动值,十分耗时且不切实际,该系列方法计算得到的扰动在添加到图像后,可通过降低图像质量而失效;基于生成网络的方法,如Natural GAN[5],通过生成对抗网络来生成文字和图像的对抗样本,使生成的对抗样本更加自然,对抗生成网络也被用于黑盒攻击,该系列方法虽然生成速度快,但是比上述2类方法往往扰动大,人眼观察效果明显.

与对抗攻击相反,对抗防御是使模型能够抵抗对抗样本的技术,与攻击相比,防御是一项更为艰巨的任务.尽管如此,仍然提出了大量的防御方法,主要有2个方面:1)被动防御,包括输入重构、对抗检测;2)主动防御,包括防御蒸馏和对抗训练.

被动防御主要有2种方法:输入重构,如高层特征引导降噪器(HGD)[6],利用对抗样本与原始样本在神经网络高层特征的差异来训练对抗样本降噪器;对抗检测,如Lu等[7]提出用SafetyNet来提取每个ReLU层输出的二进制阈值作为对抗检测器的特征,并通过RBF-SVM分类器检测对抗样本.

主动防御主要有2种方法:1)防御蒸馏[8],本质上是通过梯度遮蔽来防御对抗攻击的方法;2)对抗训练[9],将每一次模型训练过程中生成的对抗样本加入到训练集中对网络进行训练,从而提高深度神经网络的鲁棒性.参考文献[10]中对抗训练被认为是最强对抗防御算法.但目前存在的对抗防御方法大多需要针对攻击方式对模型进行特定设计和修改,耗费大量的时间和精力且防御效果不佳.

基于上述问题,笔者提出Att-k-DefGAN,有效提高深度神经网络的鲁棒性,模型训练结束后可以防御多种对抗攻击,同时利用生成对抗网络生成假图提供对抗训练所需的足够样本,减少了防御训练所需的大量时间和资源.

1 相关工作

1.1 对抗攻击对抗攻击方法主要分为3类:基于梯度的攻击方法,基于优化的攻击方法和基于生成的攻击方法.经典的代表算法有PGD,MI-FGSM,AdvGAN++和MAN等.

PGD(Projected Gradient Descent)是2018年Madry等[11]提出FGSM的变体——投影梯度下降法,是一种多步迭代算法,每一步与FGSM相似做一次梯度下降,但是只移动一小步,每步迭代所移动的扰动大小都受到限制,

2018年Dong等[12]提出的动量迭代攻击法(Momentum Iterative Fast Gradient Sign Method,MI-FGSM).通过将动量引入I-FGSM,在迭代过程中沿损失函数的梯度方向累加速度矢量,加速梯度下降的一种方法,从而提高随机梯度下降的稳定性,可以在产生更具可传递性的对抗样本的同时不降低其攻击性能,极大地提高了黑盒攻击能力.

AdvGAN++是基于生成的攻击方法的一种,2019年由Mangla等[13]提出,将潜在特征作为对抗例子生成的先验信息,从而生成与原始图像具有高感知度的对抗例子,此方法要优于AdvGAN将输入图像作为先验信息,可以实现更高的攻击成功率.

MAN是一种多目标对抗网络,2019年由Han等[14]提出,可以使用单一模型生成多目标类别对抗样本,通过将指定的类别信息合并到中间特征中,可以在运行时攻击目标分类模型的任何类别,在单目标攻击和多目标攻击中,MAN生成的对抗样本都具有更强的攻击性和转移性.

1.2 对抗防御对抗防御方法主要分为针对模型的防御和针对数据的防御.其中常用的经典方法有HGD、对抗训练、Defense-GAN和隐写分析等.

HGD(High-level representation Guided Denoiser,HGD)是2018年Liao等[15]提出的一种高级特征引导去噪器方法.利用原始图像和对抗样本引起的目标模型输出之间的差距作为损失函数,而非重建对抗样本和原始图像之间的距离损失来训练对抗样本去噪器.此网络只需要学习如何去除噪声,而无需重建整张图.该方法使用U-Net作为去噪网络,与去噪自动编码器的编码器和解码器直接相连构成HGD.HGD具有良好的泛化性,可以提高目标模型的鲁棒性,并且效率更高,需要的训练数据和时间都更少.

对抗训练被认为是效果最好的对抗防御方法.2017年Wu等[7]提出对抗训练,即在每轮迭代中通过对干净样本添加扰动生成对抗样本,然后将对抗样本和干净样本进行混合,共同作为模型训练数据集输入到目标分类网络中进行训练,该方法试图让目标网络适应对抗样本,从而对其他对抗样本也具有鲁棒性.

Defense-GAN[16]是2018年提出的一种新的基于GAN的防御方法Defense-GAN.通过使用GAN可以有效地抵抗不同场景下的攻击,Defense-GAN可以连同任意分类器使用,可以看做分类任务之前的预处理,如果GAN表达能力足够好,则无需重新训练分类器.同时具有高度非线性性质,使得基于梯度的白盒攻击将很难实现,但是GAN要进行适当的训练和调整,否则防御效果会受到输入样本和对抗样本的影响.

2019年Liu等[17]首次提出将隐写分析应用于对抗样本检测,通过估计对抗性攻击引起的修改概率来增强隐写分析特征,从而对对抗样本进行检测,此方法基于高维人工特征和FLD集成,因此不会被二次对抗攻击.

2 基于k-WTA的对抗样本防御模型

2.2 Att-k-DefGAN框架图1展示了Att-k-DefGAN的总体框架,主要包括5个部分:特征提取器F、生成器网络G、鉴别器网络D、攻击算法Ω和目标攻击模型M.其中,攻击算法Ω负责将原始干净图像转化为经过对抗攻击算法预训练的对抗样本,攻击目标模型M成功后作为模型的训练集.特征提取器F负责对原始图像特征进行提取,得到特征图F(x),使得网络模型能够学习到原始图像深层特征之间的联系.生成器G负责接收图像的特征提取器F的输出F(x)和噪声向量z作为级联向量,并生成假图x fak e.鉴别器D接收经过指定对抗攻击算法Ω(如PGD攻击)预处理的图像x adv和生成器输出x fa ke,并将样本进行正确分类,当判断为对抗图像x adv时可以预测类别,反之,当判断为假图像x fake时,不对图像进行类别预测.同时,生成的假图x fake输入到目标攻击模型M中,通过对抗损失函数引导生成器的训练.另外,为了生成指定类别的假样本,此框架将类别信号c引入生成器,从而引导模型训练.

图1 Att-k-Def GAN框架图

攻击算法Ω接收真实样本x rea l和与之相对应的真标签c r eal作为输入,对真实样本进行预处理,生成对抗样本x adv,并与真标签c re al一起输出.生成器G以随机噪声z与特征图F(x)级联的向量F(x)*作为输入,生成假图像x fak e.鉴别器接收假图像x fake和对抗图像x adv及对抗图像对应的真标签c re al,D对假图像x fak e的鉴别损失函数反馈作用于生成器G,指导生成器G的训练,引导x fake越来越接近真实图像;D对对抗图像x adv的鉴别损失函数、分类损失函数和对假图像x fake的鉴别损失函数共同指导鉴别器D的训练,鉴别损失引导鉴别器D不断提高对生成样本和真实样本的区分能力,分类损失使D能够有效对样本进行分类,促使生成器G根据类别信号c fak e生成相应类别的假样本.

2.3 k-WTA的原理k-WTA激活函数是对1989年Majani等人提出的布尔KWTA2的自然概括,2020年Xiao等[18]首次提出将其运用到对抗防御中,并从理论及实验方面证明其可行性.图2展示了k-WTA激活函数的鲁棒性原理,利用k-WTA模型生成不连续的密集的短直线(蓝色)去拟合一维函数(绿色).

图2 k-WTA激活函数鲁棒性原理图[18]

由图2可知,由于在不连续中,梯度无法确认.因此,攻击者对对抗样本的搜索将会盲目,同时因为权重W的维度在参数空间中比数据空间中大得多,不会影响模型的正常分类训练,网络可以被成功训练.

2.4 基于注意力机制的特征提取器将原图通过与生成器网络完全对称的网络结构进行降维提取图像特征,再引入注意力机制(SE模块[19]),将图像浅层特征中的空间关系和通道特征关系抽离出来形成深层特征,使图像学习到不同通道特征的权重系数,从而使模型对各个通道的特征更有辨识力,相比直接输入原图进行学习,添加注意力机制的特征提取器使得模型能以更小的代价学习更多的图像知识.

2.5 损失函数对Rob-GAN[20]中的损失函数做出改进,鉴别器判断图像的来源和类别P(S|x),P(C|x)=D(x),在生成器G增加了原始图像的深层特征进行融合作为输入x fa ke=G((c fake,z))+F(x re al)),并增加对抗损失,对GAN生成器的训练进行约束损失函数由3个部分组成:

分类损失

对抗损失

2.6 网络结构本文中鉴别器采用的是AC-GAN[21]的标准网络结构,因为不仅会区分真实和虚假的图像,当真标签可用时还可以预测类别,同时鼓励高分类精度.生成器与传统的GAN训练类似,定期更新以模拟真实数据的分布.

生成器 生成器的具体网络结构如表1所示:生成器第一层全连接层输入为128的噪声,输出是42×64×16的图像,其中42为特征图大小,64×16为通道数.然后是4个残差块,一个批正则化,最后一层为3*3卷积核大小的卷积层.生成器中包含3个上采样残差块和1个普通残差块,其中上采样使用UpSampling2D实现,除最后一层使用Tanh激活函数外其余层都使用ReLU激活函数.

表1 Att-k-DefGAN生成器的具体结构表

鉴别器 鉴别器的具体网络结构如表2所示:鉴别器第一层是1个特殊的下采样残差块,然后是1个下采样残差块,2个普通残差块,一层激活层,最后一层全连接层有2种:1)判断真假图像时输出通道数为1;2)判断图像类别时输出通道数为类别数.其中下采样用AvgPooling2D实现,因为批正则化会使同一批次的不同样本产生依赖关系,而此模型要对每个样本独立进行梯度惩罚,所以鉴别器中不使用批正则化层.另外,鉴别器中使用k-WTA激活函数替换ReLU激活函数,此为核心.鉴别器网络中残差块中也只使用普通卷积层,卷积核大小为3*3,步长为1.

表2 Att-k-DefGAN鉴别器的具体结构表

3 实验与分析

3.1 实验环境及训练细节实验环境:处理器:64 bit Intel(R)Xeon(R)Gold 5117 CPU@2.00 GHz;内存(RAM):256 GiB;操作系统:Windows Server 2019 Datacenter;显卡:NVIDIA GeForce RTX 2080 Ti双卡;框架:Pytorch[22];数据集:CIFAR-10和ImageNet的子集.

3.1.1 对比实验将Att-k-DefGAN与Rob-GAN[20]、对抗训练[9]进行比较.Rob-GAN是目前效果最好的攻防一体化模型,对抗训练是目前普遍使用、防御效果最好的训练方法,因此选择这2种方法作为对比实验.为了公平比较,3种方法使用相同的生成器和鉴别器的网络体系结构,其他重要因素,如学习率、优化算法和每个周期中的鉴别器更新次数也保持不变.训练过程中分别使用训练集训练.从正态分布中采样噪声矢量,并使用标签平滑来稳定训练过程.

模型训练完成后,再将测试集输入到鉴别器中进行测试,以模型正确分类的精确度作为衡量标准.超参数设置如下:对于使用ReLU的网络(Rob-GAN、对抗训练和Att-k-DefGAN的生成器),动量大小为0.9进行随机梯度下降训练,学习速率设置为0.000 2,训练迭代次数为200 epochs,每50步衰减50%,批次大小设为80.对使用k-WTA的网络(Att-k-DefGAN的鉴别器),设置稀疏比γ=0.1,其余与使用ReLU网络相同的参数.训练阶段,使用对抗攻击强度为ε=0.062 5的PGD攻击生成对抗样本.判别器和生成器的迭代次数设置为2∶1.

化石能源已被最大限度的开发利用,工业、经济的高速发展也伴随着能源危机,新能源技术在此时迎来春天。新能源发电技术走入世人眼中,诸如风力发电、光伏太阳能发电技术等。虽然新能源发电技术能够应对能源危机,但由于其本身具有发电间歇性的缺陷,并网时会对电网造成电力波动,降低电能质量,从而被限制发电量,微电网的提出为此问题指出了道路。

3.1.2 消融实验在CIFAR-10数据集上实验,在原有Att-k-DefGAN模型框架上,将使用k-WTA激活函数的训练模型与未使用k-WTA激活函数的训练模型(用ReLU激活函数代替)对比.为了公平比较,两者使用相同的生成器和鉴别器的网络体系结构,其他重要因素,如学习率、优化算法和每个周期中的鉴别器更新次数也保持不变.不同的是Att-k-DefGAN的鉴别器中使用k-WTA激活函数,另一个模型的鉴别器则用Relu激活函数代替,其他实验细节同3.1.1.

3.2 实验结果及分析

3.2.1 对比实验结果为了测试模型的鲁棒性,选择广泛使用的l∞PGD攻击[11]在数据集CIFAR-10和ImageNet子集上进行测试,l∞扰动设为δmax∈np.range(0,0.01,0.02,0.03,0.04).另外将图像缩放到[-1,1]而不是[0,1],因为生成器的最后一层有tanh()输出,所以要进行相应的修改.所有结果均为运行5次后的平均结果,结果如图3和4所示.

图3 CIFAR-10数据集上不同PGD攻击下的模型分类精确度图

图4 ImageNet数据集子集上不同PGD攻击下的模型分类精确度图

从图3和4可以看出,在CIFAR-10数据集中训练后的Att-k-DefGAN在无攻击情况下分类较Rob-GAN、对抗训练最高提高10%以上,且在攻击强度为0.01的情况下提高效果最为明显.在ImageNet子集上最高较Rob-GAN和对抗训练分别提高8%和11%.但在ImageNet子集上防御性能较弱,但在攻击强度小于0.03的情况下,Att-k-DefGAN的防御性替提升仍相对明显.在CIFAR-10数据集上,攻击强度小于0.03的情况下,Att-k-DefGAN所获得的分类器精确度要高于60%,证明Att-k-DefGAN训练后能获得的具有强鲁棒性的分类器.观察2组实验对比,在[0,0.04]的攻击强度下,Att-k-DefGAN模型的分类精确度相对于Rob-GAN、对抗训练均有提高,证明了Att-k-Def GAN模型进一步提高了模型对对抗攻击的防御能力.

3.2.2 消融实验结果实验选择l∞PGD攻击[11]和MI-FGSM 2种梯度攻击在数据集CIFAR-10上进行测试,l∞扰动设为δmax∈np.range(0,0.01,0.02,0.03,0.04).所有结果均为运行5次后的平均结果,结果如图5和6所示.

从图5和6可以看出,在相同数据集和攻击强度下,使用k-WTA激活函数的Att-k-DefGAN较未使用k-WTA激活函数的Att-DefGAN模型的防御能力最高提高近7%.在攻击强度为0的情况下,两者的分类精确度近似,在攻击强度为[0.01,0.04]的PGD和MI-FGSM攻击条件下,有k-WTA激活函数的模型防御能力均有所提高.因此,使用k-WTA激活函数训练模型可以有效提高模型对梯度攻击的防御能力.

图5 CIFAR-10数据集上不同PGD攻击下的模型分类精确度图

图6 CIFAR-10数据集上不同MI-FGSM攻击下的模型分类精确度图

4 结束语

针对深度神经网络易受对抗攻击的问题,提出一种基于k-WTA的防御性GAN模型,在攻防一体模型Rob-GAN基础上做出改进,加入注意力机制对图像特征进行提取作为先验知识,并加入目标模型模块对生成器训练进行约束.利用k-WTA激活函数的不连续性抵抗基于梯度的对抗攻击预处理,从而进一步提高模型的鲁棒性,模型训练完成后可获得具有强鲁棒性的分类器网络,且训练过程中不需要了解目标模型的结构及参数,降低了训练所需的成本.下一步将针对模型的泛化能力做出优化来进一步提高防御成功率.

猜你喜欢

鲁棒性梯度样本
基于应变梯度的微尺度金属塑性行为研究
武汉轨道交通重点车站识别及网络鲁棒性研究
一个具梯度项的p-Laplace 方程弱解的存在性
内容、形式与表达——有梯度的语言教学策略研究
航磁梯度数据实测与计算对比研究
规划·样本
人大专题询问之“方城样本”
随机微分方程的样本Lyapunov二次型估计
一种基于三维小波变换的鲁棒视频水印方案
电子节气门非线性控制策略