一、非白盒攻击实验
1、实验配置
(1)数据集方面,ImageNet数据集过大。为了适配电脑配置,数据集只使用两类图片,分别为蚂蚁ants与蜜蜂bees
训练集:ants图片140张 ,bees图片137张
测试集:ants图片54张,bees图片67张
(2)识别模型方面,采用非预训练的Resnet18模型。为了方便起见,直接从python的torchvision库中获得模型,但是该模型默认是imagenet数据集,类别有1000类。因此获取非预训练的模型后,修改最后的全连接层为2类。
(3)攻击方法,采用FGSM。FGSM(fast gradient sign method)是一种基于梯度生成对抗样本的算法,属于对抗攻击中的无目标攻击(即不要求对抗样本经过model预测指定的类别,只要与原样本预测的不一样即可)。在理解简单的dp网络结构的时候,在求损失函数最小值,我们会沿着梯度的反方向移动,使用减号,也就是所谓的梯度下降算法;而FGSM可以理解为梯度上升算法,也就是使用加号,使得损失函数最大化。
二、实验步骤
1、用数据集训练模型,得到训练好的模型。
2、不进行攻击,正常测试。
3、发起FGSM攻击,并不断调整参数epsilon,验证模型此时的性能。
三、实验结果
1、不进行攻击,正常使用测试集,模型的准确率达到70.80%。
2、使用FGSM攻击后,随着扰动epsilon增加,准确率明显下降。
3、不同epsilon下,攻击样本如下图所示
三、现实图片攻击
1、一只蜜蜂,由笔者拍摄
将原图进行裁剪得到下图,用于测试
2、使用FGSM攻击,当epsilon为0,0.05,0.1时,均正确预测。当epsilon增大到0.15,0.20,0.25,0.30时,均错误预测。
3、不同epsilon下的对抗攻击样本如下图所示。