攻击对抗基础知识
https://zhuanlan.zhihu.com/p/37260275 对抗攻击基础知识,主要是对抗方法
对抗方法:
FGSD(Fast gradient sign method) 一种基于梯度生成对抗样本的算法
FGM(fast gradient method) 对FGSD做了推广,使其能够满足 L2约束
IFGSD(Iterative gradient sign Method) 也是对FGSD的一种推广,是上述算法的多次应用
Deepfool 基于超平面分类思想的一种对抗样本生成方法,超平面是实现分类的基础 ,那么要改变某个样本 x 的分类,最小的扰动就是将 x 挪到超平面上,这个距离的代价最小
C&W(Carlini & Wagner) C&W算法与IFGSD同属于一种迭代攻击算法,它使用一个变量 wn 辅助寻找最小扰动 rn
Optimization based method 这一算法的训练目标是在能够达到攻击目的的前提下,最小化对抗样本和原始样本之间的距离
上面提及的几种算法是目前用于测试防御算法能力最常用的算法,其中FGSD尤为重要,应用最广
https://zhuanlan.zhihu.com/p/37922148 主要是防御方法
防御方法:
对抗训练:对抗训练是通过不断输入新类型的对抗样本进行训练,从而不断提升模型的鲁棒性。为了保证有效性,该方法需要使用高强度的对抗样本,并且网络架构要有充足的表达能力
防御性蒸馏:一层模型的输出,也作为特征然后再训练 stacking
去噪网络:去噪的思想是使得去噪后的对抗样本更解接近于原始样本,相当于想把生成对抗样本的加入的噪声去掉,尽可能恢复成原始样本,从而对对抗样本能够准确地分类。常用网络:Denoising Autoencoder(DAE),另一个是 Denoising Additive U-Net(DUNET),PGD-->HGD(更好)