6.6 通用对抗样本
6.6 通用对抗样本
有这样一类对抗样本,它和原始图像没有关系,只与图像分类模型有关,只要是该图像分类模型可以识别的图片,叠加上该对抗样本,都有较大概率被识别错误。s.moosavi-dezfooli*、a.fawzi*、o.fawzi和p.frossard在论文《universal adversarial perturbations》中证明了通用对抗样本的存在,并且给出了计算方法。通用对抗样本事实上是一类精心构造的扰动,具有通用性,而且可以足够小,所以也被称为通用对抗扰动。
假设原始数据为x,模型的分类结果为,叠加的扰动为v。我们定义通用对抗扰动需要满足两个条件:
? 扰动足够小。
? 扰动叠加到整个测试数据集上,可以较大概率欺骗分类模型。
用数学语言描述,p为范数,∈控制扰动的大小,?控制通用对抗扰动可以多大比例欺骗测试样本,假设原始数据的分布满足x~μ,那么有:
? ‖v‖p≤∈
?
通用对抗扰动的获取是一个迭代求解的过程,通常需要准备一份测试数据,该测试数据需要覆盖全部分类类型,并且尽可能使各个分类的数量都比较均匀。如图6-7所示,遍历测试数据集,不断求解样本跨越决策平面的最小扰动,使用这个扰动不断优化通用对抗扰动。
图6-7 通用对抗扰动迭代求解过程
针对原始数据xi,求解跨越决策平面的最小扰动r,定义为:
定义投射操作:
那么使用最小扰动不断优化通用对抗扰动的操作可以表示为:
迭代求解通用对抗扰动v的过程可以用伪码描述为:
论文中给出非常详细的实验,以imagenet2012的数据集为例,在训练集上训练通用扰动,在校验集上验证效果,攻击模型为caffenet、vgg、googlenet和resnet,攻击成功率普遍达到80%以上,如图6-8所示。
图6-8 通用对抗扰动的迁移攻击效果
如图6-9所示,通用对抗扰动也具有良好的迁移性,攻击成功率普遍达到40%以上。
图6-9 通用对抗扰动的迁移攻击效果
论文中还指出,通用对抗扰动对分类器的欺骗具有一定的规律性,如图6-10所示,伪装成的对象具有一定的规律。
图6-10 通用对抗扰动倾向于让图片伪装成几种物体
通用对抗扰动的开源实现位于:
https://github.com/lts4/universal
作者使用的数据集为imagenet2012,分类模型是resnet50,并且把训练好的通用对抗扰动也以universal.npy文件的形式发布出来了,运行demo程序,效果如图6-11所示,把陶盆识别为牛仔帽。
cd python
python demo_inception.py -i data/test_img.png
图6-11 通用对抗扰动演示效果
有这样一类对抗样本,它和原始图像没有关系,只与图像分类模型有关,只要是该图像分类模型可以识别的图片,叠加上该对抗样本,都有较大概率被识别错误。s.moosavi-dezfooli*、a.fawzi*、o.fawzi和p.frossard在论文《universal adversarial perturbations》中证明了通用对抗样本的存在,并且给出了计算方法。通用对抗样本事实上是一类精心构造的扰动,具有通用性,而且可以足够小,所以也被称为通用对抗扰动。
假设原始数据为x,模型的分类结果为,叠加的扰动为v。我们定义通用对抗扰动需要满足两个条件:
? 扰动足够小。
? 扰动叠加到整个测试数据集上,可以较大概率欺骗分类模型。
用数学语言描述,p为范数,∈控制扰动的大小,?控制通用对抗扰动可以多大比例欺骗测试样本,假设原始数据的分布满足x~μ,那么有:
? ‖v‖p≤∈
?
通用对抗扰动的获取是一个迭代求解的过程,通常需要准备一份测试数据,该测试数据需要覆盖全部分类类型,并且尽可能使各个分类的数量都比较均匀。如图6-7所示,遍历测试数据集,不断求解样本跨越决策平面的最小扰动,使用这个扰动不断优化通用对抗扰动。
图6-7 通用对抗扰动迭代求解过程
针对原始数据xi,求解跨越决策平面的最小扰动r,定义为:
定义投射操作:
那么使用最小扰动不断优化通用对抗扰动的操作可以表示为:
迭代求解通用对抗扰动v的过程可以用伪码描述为:
论文中给出非常详细的实验,以imagenet2012的数据集为例,在训练集上训练通用扰动,在校验集上验证效果,攻击模型为caffenet、vgg、googlenet和resnet,攻击成功率普遍达到80%以上,如图6-8所示。
图6-8 通用对抗扰动的迁移攻击效果
如图6-9所示,通用对抗扰动也具有良好的迁移性,攻击成功率普遍达到40%以上。
图6-9 通用对抗扰动的迁移攻击效果
论文中还指出,通用对抗扰动对分类器的欺骗具有一定的规律性,如图6-10所示,伪装成的对象具有一定的规律。
图6-10 通用对抗扰动倾向于让图片伪装成几种物体
通用对抗扰动的开源实现位于:
https://github.com/lts4/universal
作者使用的数据集为imagenet2012,分类模型是resnet50,并且把训练好的通用对抗扰动也以universal.npy文件的形式发布出来了,运行demo程序,效果如图6-11所示,把陶盆识别为牛仔帽。
cd python
python demo_inception.py -i data/test_img.png
图6-11 通用对抗扰动演示效果