常用的对抗性攻击方法
L2ContrastReductionAttack
给定指定大小的扰动\epsilon,根据扰动大小降低图像的对比度
VirtualAdversarialAttack
在Goodfellow的工作中,他们的寻找扰动r的方法是
该方法目的是使得加了扰动之后所预测的结果与真实分布的差距最大,其中D可以是交叉熵。其中求扰动的方法是根据对输入梯度的反方向得来的。
而本方法寻找扰动的目标与其类似
其中最主要的不同就是该方法使用了unlabelled data,所以q不再是真实标签的分布,而是由模型预测的结果。所以该目标函数的目的是使得未加扰动所预测的结果与加扰动后所预测的结果的分布差异最大。
由于该方法是半监督学习,所以计算出梯度得到的r是0,所以无法提供有用的信息。于是,该方法使用二阶泰勒展开目标函数
然后对该项求极值
得到
其中H是海森矩阵,可以用指数迭代法计算。最终可以求解得r通过以下方式计算
DDNAttack
该方法与PGD很类似,区别在于该方法可以自适应的寻找最佳的扰动范围\epsilon,因为寻找扰动范围是一个困难的工作
L2AdditiveGaussianNoiseAttack
给输入图像增加指定范围的高斯噪声
L2AdditiveUniformNoiseAttack
给输入图像增加指定范围的均匀噪声
L2RepeatedAdditiveGaussianNoiseAttack
重复的给输入图像增加指定范围的高斯噪声
L2RepeatedAdditiveUniformNoiseAttack
重复的给输入图像增加指定范围的均匀噪声
InversionAttack
像PGD这样的方法通常是提高正确分类的loss,而这种方法在类之间区分明显的时候足够。
但是在ImageNet种,这种方法很可能把一种雪橇狗错误分类成另一种雪橇狗。
于是该方法找到预测结果种概率最小的类,然后使预测为该类的loss最小。
BinarySearchContrastReductionAttack
用二分法搜索对抗扰动减少对比度
LinearSearchContrastReductionAttack
用线性搜索对抗扰动减少对比度
L2DeepFoolAttack
找到一个decision boundary,然后沿着正交这个decision boundary的向量找到对抗样本
SaltAndPepperNoiseAttack
增加椒盐噪声的数量,直到输入被错误分类。
LinearSearchBlendedUniformNoiseAttack
增加均匀噪声的数量,直到输入被错误分类。