由于首次接触对抗训练方面的内容,在此借着Defense-GAN中的相关内容先对对抗训练相关知识做一个简要的整理。
对抗训练基本说明见https://www.leiphone.com/news/201702/Jpb0uiOt9RTwcB8E.html
对抗攻击大致分为3种:
黑盒攻击:攻击者无权接触到分类模型参数,同时无法接触到分类模型的训练数据集。目前通常采用训练一个攻击目标分类器的替代模型,在其上训练并攻击以找出对抗样本。这些对抗样本往往能够被目标分类器误分类。这也证明了黑盒攻击的可迁移性。替代模型的训练集获得方式:将一小部分数据集送入目标分类器中,获得输出label并对此进行数据增强。
白盒攻击:攻击者能够获得分类模型的所有参数,例如网络结构和权限,防御机制的细节等。攻击模型得到loss函数表达,因而能够将扰动指向某一特定分类类别。
指向特定类别的攻击有Iterative FGSM,JSMA,Deepfool等。
不指向特定类别的攻击有FGSM,RAND+FGSM,CW(目前最强白盒攻击之一,参考见https://zhuanlan.zhihu.com/p/39285664)等。
灰盒攻击:上述两者的折中。攻击者知道网络结构和防御机制,但是不知道具体参数。
对抗防御大致分为3类:
1.调整训练数据使得分类器对攻击更鲁棒,比如用对抗样本进行数据增强。由于对抗样本由攻击产生,显然在攻击策略更换后,这种防御方式将会表现不佳。同时由于gredient masking这种防御方式对白盒攻击的防御效果优于黑盒攻击。
2.对分类器进行防御蒸馏训练。利用