Page 141 - 《软件学报》2020年第9期
P. 141
2762 Journal of Software 软件学报 Vol.31, No.9, September 2020
击神经网络,相对于黑盒攻击而言具有更强的攻击能力.因此,使用白盒攻击来验证提高模型鲁棒性带来的防御
能力具有更大的说服力.本文选择了 7 种流行的白盒攻击方式:快速梯度符号法(fast gradient sign method,简称
FGSM) [22] 、基本迭代法(basic iterative method,简称 BIM) [23] 、投影梯度下降(project gradient descent,简称
PGD) [24] 、动量迭代法(momentum iterative method,简称 MIM) [25] 、基于雅可比矩阵的显著图攻击(Jacobian-based
saliency map attack,简称 JSMA) [26] 、Carlini & Wagner(C&W) [27] 、弹性网络攻击(elastic-net attack,简称 EAD) [28] .
此外,为了观察模型在不同攻击力度下防御表现的变化,每种攻击方式都设置了 3 种参数.
接下来选择实验使用的数据集.我们选取了图像分类领域两个最常用的数据集 MNIST 和 CIFAR-10.
MNIST 是一个黑白手写数字数据集,包含 0~9 这 10 类来自 250 人的手写数字,图片尺寸为 28×28.其中,训练集
图片数量为 60 000 张,测试集图片数量为 10 000 张;CIFAR-10 是一个更接近于普适物体的彩色图像数据集,包
含飞机、汽车、鸟类、猫、鹿、狗、蛙类、马、船和卡车这 10 类数据,图片尺寸为 32×32.其中,训练集图片数
量为 50 000 张,测试集图片数量为 10 000 张.
本文认为:使用这两种数据集,能成功验证本方法的可行性和有效性.
为了回答问题 1 和问题 3,我们设计了 2(数据集)×7(攻击方式)×3(攻击参数)×4(模型)=168 组对比实验,在两
个数据集上分别使用上述 7 种攻击方式,对每种攻击方式设置 3 种攻击参数调节攻击力度,对比上述 4 种模型
的分类正确率.
为了回答问题 2 和问题 3,我们设计了 2(数据集)×4(模型)=8 组对比实验,在两个干净的数据集上对比上述 4
种模型的分类准确率.同时,使用 T-SNE 视图 [29] 对各个模型的输出降维可视化,进一步佐证了本方法的可用性.
为了回答问题 4,我们设计了 2(数据集)×4(攻击方式)×3(攻击参数)×2(模型)=48 组对比实验,在两个数据集
上分别使用 FSGM,BIM,MIM,PGD 这 4 种攻击方式.之所以使用这 4 种方式,是因为它们具有相似的攻击原理,
同样,对每种攻击方式设置 3 种攻击参数,对比 F+D 模型和 AdvT+F+D 模型的防御表现.
3.2 实验过程
本次实验所使用的 CPU 型号为 Intel i7 9700k,使用的图形处理器型号为 Nvidia RTX 2080Ti,操作系统为
Linux 18.04,Python 版本为 3.7,机器学习平台为 Tensorflow v1.12 [30] 以及 Keras v2.4.
在训练模型之前,我们首先对数据集进行了归一化预处理:将所有的训练样本都归一化到 0-1 范围内.同时,
为达到更好的训练效果并降低训练出来的模型的过拟合程度,在训练过程中也使用了数据增广技术,对原始图
像样本分别进行水平翻转、水平平移和竖直平移操作.在平移过程中,使用常量 0 填充超出边界的部分.
实验选择的 B 模型为深度残差网络 Resnet-32,它的基本结构如图 2(a)所示,它包含 3 组通道数依次为 16,32,
64 的残差块:第 1 组残差块由 5 个恒等残差块构成,第 2 组、第 3 组残差块均由 1 个卷积残差块和 4 个恒等残
差块构成.恒等残差块和卷积残差块的差别在于块中残差分支是否做卷积操作,所以卷积残差块会改变特征图
的大小,从而满足每个阶段特征图尺寸缩小的需求.这 3 个残差块对应的特征图尺寸分别为 32,16,8.最后,通过一
个全连接层输出 10 分类结果.
F 模型的结构如图 2(b)所示,它是在 B 模型的基础上,在第 1 组和第 2 组残差块之后分别加入额外分支,算
上原出口,改动后的模型存在 3 个出口.在模型中加入特征金字塔,实现特征融合的过程分为 3 步.
• 第 1 步在第 3 组残差块的特征图做上采样后,达到与第 2 组残差块的特征图同一尺寸,再采用横向连接
的方法与第 2 组的特征图融合;
• 第 2 步对第 1 步得到的融合后特征图再做上采样到与第 1 组残差块的特征图同一尺寸,再次进行特征
融合,并在融合过程中使用小卷积,以保证 3 部分特征图的通道数一致;
• 最后对 3 个分支都进行小尺寸卷积核的特征压缩,统一生成 8×8 尺寸 128 通道的特征图,然后对其进行
全局平均池化,生成 1×128 的向量,分别经过全连接层得到最后的 10 分类预测(包含 softmax 变换),最
终输出结果是 3 个预测结果的平均值.
D 模型的结构如图 2(c)所示,它同样在 B 模型的第 1 组和第 2 组残差块之后加入额外分支,与 F 模型不同
的是:它并不会对各个出口输出的特征图做特征融合,而是直接通过全连接层得到一个 10 分类预测结果.为了