AI-GAN 2021 IEEE
AI-GAN
干净图像通过预训练的模型提取特征。将特征与目标标签输入Generator,生成扰动图像(扰动+原图)。通过扰动图像在目标分类模型的预测结果、鉴别器鉴别真假的结果和鉴别器分类结果共同指导Generator训练。
另外添加一个对抗攻击者(文中选的PGD),将对抗攻击者生成的对抗图像和扰动图像的鉴别器分类结果、鉴别器对干净图像和扰动图像的鉴别损失共同作用指导Discriminator训练。
传统的对抗攻击方法的缺点
- 基于优化的方法
- 耗时长、计算量大、强攻击需要访问目标模型。
- 基于GAN的方法
- 一个训练好的generator只能针对特定的目标实现目标攻击
- 难以扩展到真实世界的数据集
AI-GAN意义
在Discriminator中增加分类的分支并加入一个攻击者,此分支为对抗训练能够更有效的指导Generator生成攻击图像。
增加一个攻击者的目的:在分类模块进行对抗训练,增强Generator的攻击能力
鉴别器有助于稳定和加速GAN的训练
干净图像x,Generator生成的扰动图像x’,GAN中增加的攻击者产生的攻击图像x’’
Discriminator的损失函数
Discriminator两个分支:一个用于区分干净图像和扰动图像,一个用于对扰动图像正确分类。
损失函数=LS+ LC(adv)+LC(pert):
- LS区分干净图像与扰动图像的损失
LS=E[log P(S=clean|x)]+E[log P(S=perturbed|x’)]
- LC(adv)分类对抗图像的损失
LC(adv)=E[log P(C=y|x’')]
- LC(pert)分类扰动图像的损失
LC(pert)=E[log P(C=y|x’)]
Generator的损失
使用预训练的编码器提取特征,将特征和目标标签输入生成器生成对抗扰动。
损失函数= Ltarget(pert)+LD(pert)-LS:
-
LS攻击Discriminator区分干净图像与扰动图像的损失
LS=E[log P(S=clean|x)]+E[log P(S=perturbed|x’)]
-
Ltarget(pert)攻击目标模型分类的损失
Ltarget(pert)=E[log P(C=t|x’)]
-
LD(pert)攻击Discriminator分类的损失
LD(pert)=E[log P(C=t|x’)]