基于条件对抗生成网络的对抗样本防御方法

2021-07-27 03:07李世宝曹大鹏刘建航
计算机与现代化 2021年7期
关键词:分类器扰动重构

李世宝,曹大鹏,刘建航

(1.中国石油大学(华东)海洋与空间信息学院,山东 青岛 266580;2.中国石油大学(华东)计算机科学与技术学院,山东 青岛 266580)

0 引 言

近年来,随着卷积神经网络的不断发展,深度神经网络在多领域中的应用已变得越来越广泛。但是,它们具有非直觉的特征和固有的盲点,使用模糊的输入操作很容易攻击它们[1-3]。Szegedy等人[1]首先注意到神经网络由于一些不可察觉的扰动可能会错误地区分测试样本,他们称这类微扰样本为对抗样本。与噪声样本相比,对抗性示例是经过有意设计且难以察觉的,并且有可能在图像分类域以高置信度输出错误预测。更为严重的是,这种对抗性攻击具有很强的泛化能力。

针对对抗攻击提出的防御措施主要涵盖以下几种:对抗训练[4]、防御性蒸馏[5-6]、消除对抗扰动[7-9]、跨层防御组合[10-11]、Defense-GAN[12]等。这些方法在对对抗攻击防御时均有一定的效果,但各个方法都存在其局限性[13],如防御范围有限、准确率不高或者时间开销巨大,因此,实现对对抗样本的有效防御仍是一个艰巨的研究任务。

对抗样本的错误分类主要是由于对输入图像某一或某些像素故意扰动导致的[14],去除这些扰动则可以达到防御的效果,因此本文提出一种基于条件对抗生成网络(CGAN)消除输入数据对抗性扰动以抵御对抗样本的防御机制Defense-CGAN。将标签信息应用到生成对抗网络(GAN)[15]的训练过程中,训练完好的CGAN[16]可以根据需求模拟生成不受干扰的特定图像,通过此过程消除对抗性扰动产生的影响,最后将重构后的图像输入到分类器中分类。

本文的主要贡献涵盖以下3个方面:

1)提出一种新的防御方法。该方法利用标签信息与GAN相结合的方法消除对抗性干扰,对对抗样本攻击实现有效的防御。

2)提出一种通用性框架。CGAN是高度线性的,无需假设攻击模型,可防御多种类型的对抗攻击。

3)执行多个维度的实验,实验结果表明本文所提防御方法Defense-CGAN的有效性。

1 相关工作

1.1 对抗样本攻击

不同对抗攻击方法攻击行为不同[17],攻击者在不了解目标模型训练过程的情况下仅通过访问目标模型的预测API来生成对抗示例,这种攻击被称为黑盒攻击,例如AdvGAN++[18];攻击者可以完全访问模型架构和参数,包括潜在的防御机制,这种攻击被称为白盒攻击,例如FGSM、CW等。

1.1.1 快速梯度符号法FGSM

所有攻击模型都旨在寻找扰动δ[4]来添加到合法的输入中,从而得出对抗性示例。FGSM对于图像x及其对应的真实标签y,其扰动δ设置为:

δ=ε·sign(∇xJ(x,y))

(1)

其中,ε是确定扰动大小的参数,∇xJ(x,y)是相对于输入x损失函数的一阶导数,y是输入样本x的原始标签。

FGSM仅使用每个像素处的渐变符号来确定更改相应像素值的方向。

1.1.2 Carlini-Wagner(CW)

CW[19]攻击是一种有效的基于优化的攻击模型,它甚至可以将分类器的准确性降低到几乎0%。CW方法有3种度量,分别为L0(扰动非0元素个数)、L2(扰动的各元素的平方和再开平方根)和L∞(扰动的各元素的最大值)。通过解决以下形式的优化问题可以找到扰动δ:

(2)

其中,c为大于0的常数,损失函数l被定义为:

l(D(x))=max(max{Z(D(x))i:i≠t}-Z(D(x))t,-k)

(3)

1.1.3 黑盒攻击

黑盒攻击中攻击者无法访问分类器或防御参数[20],但可以访问分类器为特定查询图像生成的标签。攻击者使用一个非常小的数据集来训练一个替代模型,该替代模型具有与目标分类器可能相同也可能不同的架构,然后通过在替代网络上应用任意攻击方法来找到对抗性示例。旨在愚弄替代模型的此类示例通常也会被目标分类器错误分类[21]。

1.2 对抗样本防御

针对对抗样本攻击,陆续提出多种防御对抗样本的方法,都取得了一定的防御效果。

1.2.1 对抗训练

防御对抗样本的一种普遍方法是使用对抗性示例来扩充训练数据集。使用一个或多个选定的攻击模型生成对抗样本,将其添加到训练集中,这通常会提高鲁棒性。通过大量的实验数据发现,对抗训练是防御对抗样本攻击的有效方法,但当攻击者使用不同的攻击策略时,对抗训练的效果将不佳。

1.2.2 MAGNET

Meng引入MagNet作为防御策略,训练一个重整器网络(自动编码器构成),使对抗样本更接近正常示例的多样性,其损失函数定义为:

(4)

它被证明可以在攻击者了解除参数之外的所有信息时进行有效防御,但防御性能欠佳。

1.2.3 Defense-GAN

图1 Defense-GAN算法流程

该算法存在以下问题:

1)当检测数据集规模较大时,生成样本可能与输入图像的差异比较大。

2)算法执行时,需要为所有R个随机数z(0)-z(R)生成其对应的重构图像样本GAN(z0(0))—GAN(zR(0)),并且对每个重构图像,需要梯度下降迭代L次。计算迭代后图像与测试图像相似度,得出最佳随机数z(L)*,总共需计算R·L次,极为耗时,使得算法运行速度极低。

本文提出的防御方法将标签信息y加入到GAN训练过程中,使用训练完好的CGAN重构输入样本x,不需进行梯度下降计算。在检测数据集规模较大时,不会与输入图像类别有差异,在保障较高防御成功率同时,大大提高运行速度。

2 基于CGAN的对抗样本防御方法

生成对抗网络(GAN)由Goodfellow等人最初引入,由神经网络生成器G和鉴别器D组成。G:将一个低维潜在空间映射到x的高维样本空间;D:二进制神经网络分类器。GAN的损失函数为:

Ez~pz(z)[log(1-D(G(z)))]

(5)

如式(5)所示,D(x)表示D判断真实图片是否真实的概率,D(G(z))是D判断G生成的图片是否真实的概率,E代表其数学期望,当数据分布pz等于目标分布pdata时,可以获得最佳GAN。

2.1 对抗样本防御

在原始GAN网络基础上,给其G和D添加额外的条件信息进行改进,实现条件生成模型,即CGAN,网络训练过程如图2所示。生成器网络架构使用MLP全连接网络,给定一个输入噪声与额外信息y(标签信息),将两者通过全连接层连接到一起作为G的输入,输出还是生成图;之后将生成图、真实图和额外信息y输入到判别器进行判别,输出还是真和假,通过优化器交替训练G和D,直到G可以生成出D不能判别为假的图像则认为获得了完好的生成器。

图2 CGAN训练过程

CGAN的损失函数为:

Ez~pz(z)[log(1-D(G(z|y)))]

(6)

同GAN一样G和D的概率表达都是条件概率公式,在输入为特定标签y时成立。CGAN可以看作一个包含了所有种类个数N的生成器集合,通过更改标签y得到自己想要的生成图像。

Defense-CGAN防御流程如图3所示,将输入样本集合X_test馈送到目标模型得到其分类标签集合Y_test=f(X_test),将分类标签集合Y_test和随机噪声Z输入至CGAN网络生成器,为每个标签生成R张样本,组成对应的样本集合X*=G(Y_test,Z)。计算输入样本X_test与生成样本X*均方误差,取使之范数最小的生成样本x*,最后将样本x*馈送至目标网络模型得到分类标签Y_true,Y_true即为输入样本的真实预测标签。CGAN网络生成器可以模拟不受干扰的训练数据的分布,因此,这个重构步骤可以消除潜在的对抗性噪声。

图3 Defense-CGAN防御流程

与现有其他防御方法相比,本文提出的防御方法Defense-CGAN有以下几点不同:

1)Defense-CGAN比对抗训练等类似方法防御范围更加广泛,可以防御多种对抗攻击。

2)Defense-CGAN比普通的基于消除对抗噪声的方法,如局部空间平滑[22]、MagNet等,识别准确率更高。

3)Defense-CGAN应用标签信息,在检测数据集规模很大时也不会与输入图像种类有差异,最为重要的是,算法复杂度低,极大降低了时间开销。

2.2 复杂度分析

Defense-CGAN将标签信息应用到重构样本阶段,为每个输入图像x生成R个所有标签的重构图像,对比均方误差选取最佳匹配图像G(z*|y)分类识别。同MagNet使用自动编码器防御不一样,Defense-CGAN使用CGAN进行重构,防御效果更佳。Defense-CGAN不需同Defense-GAN一样进行梯度下降迭代,而是只需重构一次对比选取,算法复杂度更低,执行速度可提升近百倍。

3 实验与评估

3.1 对抗样本检测

实验选用的对抗攻击方法为FGSM(ε=0.15)白盒攻击、CW(L2)白盒攻击和FGSM(ε=0.3)黑盒攻击。使用图像数据集为MNIST手写数字数据集[23],包括60000张训练图像和10000张测试图像,将训练图像分成50000张图像的训练集和10000张图像的验证集。白盒攻击测试集数量保持不变;黑盒攻击测试集被分为包含150个保留给攻击者替代训练的小保留集与包含9850个用于测试不同方法的样本的测试集。CGAN生成器和鉴别器网络架构的详细信息如表1所示;使用的目标网络分类器A、B、C、D、E和F体系结构详细信息如表2所示。

表1 GAN网络架构

表2 分类器网络体系结构

3.2 黑盒攻击防御

本节介绍在FGSM(ε=0.3)黑盒攻击下的防御结果。攻击者使用有限的数据集,在一个与目标模型可能相同,也可能不同的网络体结构上训练一个替代模型。使用的分类器网络架构和替代模型网络架构如表2中所示。

在MNIST数据集上分别以E、F为替代模型训练黑盒攻击,如表3所示为添加黑盒攻击后目标模型的分类精度与使用防御方法后的分类精度,其中Defense-GAN的L=200、R=10,Defense-CGAN的R=1000。可以看出,FGSM(ε=0.3)黑盒攻击成功地将5个分类器的准确性进行了不同程度的降低,而所有的防御方法也相对成功地减少了其影响。Defence-CGAN在不同分类器和替代模型组合中准确率都在90%以上,表现良好。对抗训练防御性能在不同体系结构之间具有很大的差异,E与D模型下准确率甚至低至11%与3%,且仅适用于FGSM攻击,而Defense-CGAN是通用防御机制,不采用特定的攻击模型。MagNet也可以在不同分类器和替代模型组合中起作用,但其准确度远远低于Defence-CGAN,只有50%~65%之间。如表3与表5所示,Defence-CGAN与Defence-GAN的防御准确率相差在5%~9%之间,但是前者的防御效率比后者提高了90倍左右,因为前者的设计初衷就是在保证较高准确率的同时大大降低时间开销。

表3 替代模型E、F下各分类器准确率

表4 FGSM ε=0.15和CW2下各分类器准确率

表5 Defense-GAN与Defense-CGAN防御耗时 单位:s

3.3 白盒攻击防御

本节介绍使用2种不同白盒攻击方法FGSM和CW的实验结果,如表4所示,分别展示了A、B、C、D这4个目标模型白盒攻击下的分类精度和添加防御方法后的分类精度,其中Defense-GAN的L=200、R=10,学习率为40,Defense-CGAN的R=1000。从表4可以看出,Defense-CGAN防御准确率高于对抗训练60%左右,比MagNet高20%左右,而且对抗训练还存在不能针对不同的攻击方法进行全防御的缺陷。如表5所示,Defense-GAN与Defense-CGAN对不同模型不同攻击算法下10000张对抗样本集重构所消耗的时间相差90倍,准确率仅相差7%左右,防御耗时极大缩减。

3.4 实例展示

如图4所示,图4(a)左图为针对A模型FGSM(ε=0.15)下的对抗样本,标签为其原始标签,即干净标签,右图为Defense-CGAN重构后的图片与A模型识别后的标签;图4(b)左图为针对B模型FGSM(ε=0.3)下的对抗样本,标签为其原始标签,即干净标签,右图为Defense-CGAN重构后的图片与B模型识别后的标签。CGAN生成器可以模拟生成不受干扰的图像,所以图4中Defense-CGAN重构后的图片跟被攻击前的干净样本基本保持一致,16张对抗样本全部防御成功。

(a) A模型FGSM(ε=0.15)

(b) B模型FGSM(ε=0.3)图4 重构前后样本

表6展示了在FGSM(ε=0.15)攻击下,取不同R值时Defense-CGAN对A模型的防御耗时与准确率。可以看出,增加R值具有提高目标模型准确率的预期效果,但同时时间消耗也会提高。

表6 改变R值对Defense-CGAN的影响

4 结束语

本文提出了一种新的对抗样本防御机制——Defense-CGAN。该机制利用标签信息,通过CGAN有效地增强了分类器模型对对抗攻击的鲁棒性。该方法在保证较高防御准确率的同时,大幅降低时间开销,加快防御执行速度。Defense-CGAN通过重构输入图像来消除对抗性扰动进行防御,不需要改变分类器结构且没有假定攻击模型,对常用的攻击方法均有效。本文在MNIST数据集上的大量实验验证了该方法的有效性。

猜你喜欢
分类器扰动重构
Bernoulli泛函上典则酉对合的扰动
视频压缩感知采样率自适应的帧间片匹配重构
长城叙事的重构
(h)性质及其扰动
北方大陆 重构未来
北京的重构与再造
小噪声扰动的二维扩散的极大似然估计
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
用于光伏MPPT中的模糊控制占空比扰动法