5.3 基于梯度的对抗样本生成算法
5.3 基于梯度的对抗样本生成算法
之前我们介绍了使用优化器在反向传递的过程中调整输入,最终生成对抗样本。这是一种通用的对抗样本生成算法,也被称为基于优化的对抗样本生成算法。还有一系列算法是基于梯度来生成对抗样本的,naveed akhtar和ajmal mian在论文中较为系统地介绍了基于梯度的对抗样本生成算法。
常见的对抗样本生成算法如图5-9所示,其中比较重要的列含义如下。
? method列表示攻击算法的简称。
? black/white box列表示该算法是白盒攻击算法还是黑盒攻击算法。
? targeted/non-targeted列表示该算法是定向攻击还是无定向攻击算法,事实上即使是无定向攻击算法,通过一定的改进也可以支持定向攻击,比如deepfool;定向攻击算法,通过一定的改进也可以支持无定向攻击,比如fgsm。
? image-specific/universal列表示该算法是否具有通用性,image-specific表示不同的图片生成的对抗样本不一样,universal表示是通用对抗扰动,不同图片叠加同一个扰动均可以较大概率欺骗成功。
? perturbation norm列表示该算法支持的范数,通常l2和l∞主要是为了减小扰动量的大小,让人类感官难以察觉,l0主要是为了减少修改的原始数据的个数,比如减少修改的图像像素的个数,本书的举例主要使用l2。
? learning列表明该算法是基于迭代优化的,还是通过一步操作就可以完成的。
? strength列表示该算法的攻击强度,它通常代表了攻击成功率。
图5-9 常见的对抗样本生成算法
下面几节将举例介绍几种典型的基于梯度的对抗样本生成算法。
之前我们介绍了使用优化器在反向传递的过程中调整输入,最终生成对抗样本。这是一种通用的对抗样本生成算法,也被称为基于优化的对抗样本生成算法。还有一系列算法是基于梯度来生成对抗样本的,naveed akhtar和ajmal mian在论文中较为系统地介绍了基于梯度的对抗样本生成算法。
常见的对抗样本生成算法如图5-9所示,其中比较重要的列含义如下。
? method列表示攻击算法的简称。
? black/white box列表示该算法是白盒攻击算法还是黑盒攻击算法。
? targeted/non-targeted列表示该算法是定向攻击还是无定向攻击算法,事实上即使是无定向攻击算法,通过一定的改进也可以支持定向攻击,比如deepfool;定向攻击算法,通过一定的改进也可以支持无定向攻击,比如fgsm。
? image-specific/universal列表示该算法是否具有通用性,image-specific表示不同的图片生成的对抗样本不一样,universal表示是通用对抗扰动,不同图片叠加同一个扰动均可以较大概率欺骗成功。
? perturbation norm列表示该算法支持的范数,通常l2和l∞主要是为了减小扰动量的大小,让人类感官难以察觉,l0主要是为了减少修改的原始数据的个数,比如减少修改的图像像素的个数,本书的举例主要使用l2。
? learning列表明该算法是基于迭代优化的,还是通过一步操作就可以完成的。
? strength列表示该算法的攻击强度,它通常代表了攻击成功率。
图5-9 常见的对抗样本生成算法
下面几节将举例介绍几种典型的基于梯度的对抗样本生成算法。