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 分类预测结果.为了
   136   137   138   139   140   141   142   143   144   145   146