论文盘点:GAN生成对抗样本的方法解析

©PaperWeekly 原创 · 作者|孙裕道

学校|北京邮电大学博士生

研究方向|GAN图像生成、情绪对抗样本生成

论文盘点:GAN生成对抗样本的方法解析

引言

对抗样本的生成方式很多。一般情况下会分成三大类,第一种是基于梯度的生成方式如 FGSM 和 PGD,第二种是基于优化的生成方式如 CW 和 JSMA,第三种就是基于 GAN 的生成方式。本文会主要详解近几年来有关 GAN 生成对抗样本的各种方法。

论文盘点:GAN生成对抗样本的方法解析

对抗样本的介绍

对抗样本攻击模型主要从两个角度进行考虑:分别为攻击的目标和攻击的背景知识。攻击的目标可以分为四类:

  • 减少置信度:减小输入分类的置信度,从而引起歧义。

  • 无目标分类:将输出分类更改为与原始类不同的任何类。

  • 有目标分类:强制将输出分类为特定的目标类。

  • 源到目的分类:强制将特定的输入的输出分类为特定的目标类。

攻击的背景知识可以分为五类:

  • 网络结构与训练数据:最强大的背景知识,包训练数据以及模型的详细参数信息。网络结构:了解目标模型的网络组成细节。

  • 训练数据:了解生成目标模型的训练数据。

  • 输入到输出映射:攻击者可以访问模型提供的 API 接口,输入数据并获得反馈,并且可以观察到输入和输出的变化之间的关系。

  • 完全黑箱:攻击者无法获得模型 API 的反馈,不能观察到输入和输出的变化之间的关系。

论文盘点:GAN生成对抗样本的方法解析

将攻击目标和攻击的背景知识整合可以如上示意图。GAN 生成对抗样本的方式一般不需要获取太多的背景知识,适用于攻击难度较高的半白盒攻击,半黑盒攻击和黑盒攻击。

论文盘点:GAN生成对抗样本的方法解析

AdvGAN

论文盘点:GAN生成对抗样本的方法解析

论文标题:Generating Adversarial Examples with Adversarial Networks

论文来源:IJCAI 2018

论文链接:https://arxiv.org/abs/1801.02610

代码链接:https://github.com/mathcbc/advGAN_pytorch

3.1 模型介绍

AdvGAN 的核心思想是将干净样本通过 GAN 的生成器映射成对抗扰动,然后加在对应的干净样本中,判别器负责判别输入的样本是否为对抗样本。

论文盘点:GAN生成对抗样本的方法解析

上图为 AdvGAN 的总体架构,主要由三部分组成:生成器 G、判别器 D 和目标神经网络 C。将干净样本 x 输入到 G 中生成对抗扰动 G(x)。然后将 x+G(x) 发送给判别器 D,用于区分生成的样本和原始干净的样本,判别器 D 的目的是鼓励生成的实例与原始类中的数据不可区分。

为了实现愚弄学习模型的目标,再将生成的数据 x+G(x) 输入到目标分类模型 C 中,其中输出的损失为 ,表示预测与目标类别 t 目标攻击之间的距离。优化目标损失函数,当模型达到最优时,G(x) 即为对抗扰动。

目标损失可以分解为三部分分别为:,表示为:

论文盘点:GAN生成对抗样本的方法解析

为对抗损失,即为 Goodfellow 在 2014 年提出来的原始形式。

论文盘点:GAN生成对抗样本的方法解析

判别器 的目的是将扰动数据 与原始数据 区分开来。其中数据 是从真实数据中取样的,优化对抗损失的目的是鼓励生成的数据分布接近原始类的数据的分布。

为误判损失,目的是使得 往对抗扰动的方向去生成。

论文盘点:GAN生成对抗样本的方法解析

的有目标攻击扰动图像被误分类为 类目标,无目标攻击通过最大化预测值与真实值之间的距离来执行。

为 hinge 损失,hinge 损失在一些机器学习方法中用于正则化。

论文盘点:GAN生成对抗样本的方法解析

它是目的是用于稳定 GAN 的训练,其中公式中的超参数 为优化间距。

3.2 实验结果

下图为半白盒环境下在 MNIST 和 CIFAR-10 上对抗样本的攻击成功率的表格,可知由 AdvGAN 生成的对抗样本的方法要比 FGSM 和基于优化的方法要好。

论文盘点:GAN生成对抗样本的方法解析

下图为在加有防御的 MNIST 和 CIFAR-10 下不同黑盒对抗生成的攻击成功率,同样可以显现出 AdvGAN 的优越性。

论文盘点:GAN生成对抗样本的方法解析

论文盘点:GAN生成对抗样本的方法解析

AdvGAN++

论文盘点:GAN生成对抗样本的方法解析

论文标题:AdvGAN++: Harnessing latent layers for adversary generation

论文来源:ICCV 2019

论文链接:https://arxiv.org/abs/1908.00706

4.1 模型介绍

AdvGAN++ 的核心思想是引入分类器中的隐层向量作为 GAN 的输入来生成对抗样本。

论文盘点:GAN生成对抗样本的方法解析

上图为 AdvGAN++ 框架,它包含目标模型 M,特征提取器 f,生成器 G 和判别器 D。首先将干净图像经过特征提取器 f 输出特征向量,特征向量作为生成对抗样本的先验信息。然后将特征向量 f(x) 和噪声向量 z 作为级联向量,输入到生成器 G 中生成对抗样本。

判别器 D 将生成数据与真实数据区分开来,同时用生成数据欺骗分类器 M。

优化的目标函数分为三部分分别为:,公式如下所示:

论文盘点:GAN生成对抗样本的方法解析

其中:

论文盘点:GAN生成对抗样本的方法解析

这里 , 是控制目标权重的超参数。从目标模型 M 的一个中间卷积层中提取特征 f,通过求解最小-最大博弈问题,得到 G 和 D 的最优参数。

4.2 实验结果

下表格展示的是在有防御的三个模型 Lenet C,Resnet-32 和 Wide-Resnet-34-10 中,AdvGAN 和 AdvGAN++ 生成对抗样本攻击模型成功率,可以发现不管是什么种类的防御措施,AdvGAN++ 的表现都要比 AdvGAN 要好。

论文盘点:GAN生成对抗样本的方法解析

论文盘点:GAN生成对抗样本的方法解析

Natural GAN

论文盘点:GAN生成对抗样本的方法解析

论文标题:Generating Natural Adversarial Examples

论文来源:ICLR 2018

论文链接:https://arxiv.org/abs/1710.11342

代码链接:https://github.com/zhengliz/natural-adversary

5.1 模型介绍

Natural GAN 是基于 WGAN 的框架进行创新,其核心在低维流形的隐特征空间中寻找对抗样本的隐向量,并且生成的对抗样本的扰动更加具有针对性,人眼看起来更自然。

论文盘点:GAN生成对抗样本的方法解析

Natural GAN 生成对抗样本的方法分为两阶段,如上图所示为阶段一,阶段一目的是将样本空间与隐特征空间建立对应关系。

首先用真实数据训练好 WGAN 中的生成器 G 和判别器 D,生成器是将隐特征空间映射到样本空间中去:,即 。然后再需要训练一个逆转器 I,它的目的是将样本空间映射到隐特征空间中去:,即 。当 G,D,I 训练完毕之后,会将隐特征空间与样本空间建立起对应关系会有

优化的目标函数为:

论文盘点:GAN生成对抗样本的方法解析

表示的是样本空间数据 x 通过逆转器 I 映射到隐特征空间 z,然后再通过生成器 G 映射回来。 表示的是隐特征空间数据 z 通过生成器 G 映射到样本空间,然后再通过生成器 I 映射回来。

论文盘点:GAN生成对抗样本的方法解析

上图表示的是阶段二,阶段二为利用阶段一训练好的网络在隐特征空间中搜索对抗样本。对于一个特定的真实数据 x,利用 I 将其映射回隐空间,然后在隐空间上对 进行随机扰动得到 ,最后由生成器 G 得到相应的对抗样本。

具体地,有 iterative stochastic search 和 hybrid shrinking search 两种方式,第一种每次迭代随机采样 N 个扰动并按一定的步长增大搜索范围,直到相应的生成数据的标签发生改变,然后在这些对抗样本中选择与原样本相似度最高的一个。

第二种采用由粗到精的搜索方式,首先在较大范围内搜索,然后逐步缩小范围。由于这一过程是非启发式的,因此需要进行多次迭代。

5.2 实验结果

由下图可知,基于 FGSM 生成的对抗扰动感觉很凌乱,毫无语义性可言,但是基于 Natural GAN 方法生成的对抗样本则在外观上更加自然,这也更加契合了对抗样本的宗旨人眼不可查觉。

论文盘点:GAN生成对抗样本的方法解析

论文盘点:GAN生成对抗样本的方法解析

RobGAN

论文盘点:GAN生成对抗样本的方法解析

论文标题:Rob-GAN: Generator, Discriminator, and Adversarial Attacker 

论文来源:CVPR 2019 

论文链接:https://arxiv.org/abs/1807.10454 

代码链接:https://github.com/xuanqing94/RobGAN 

6.1 模型介绍 

RobGAN 是基于 SNGAN 的框架上进行创新的,其核心思想是在训练 GAN 的过程中引入对抗样本,可以稳定 GAN 的训练,而且有助于缩减对抗训练性能上的差距。

论文盘点:GAN生成对抗样本的方法解析

上图为阶段一联合训练部分,将对抗攻击学习和生成对抗网络组成一个新的模型,将生成器、判别器和对抗攻击者组合训练,通过在 SNGAN 中引入对抗学习中的对抗样本的元素,不仅可以加速 GAN 的训练,提高生成图像的质量,更重要的可以得到鲁棒性更好的判别器。

论文盘点:GAN生成对抗样本的方法解析

上图为阶段二,阶段二的目的是精细化训练判别器 D。用假样本和真实数据样本继续训练阶段一训练好的判别器 D,使得它能够有更好的鲁棒性抵御对抗攻击。

6.2 实验结果

下图表明经过阶段二使用 fine-tuning 训练之后,在 CIFAR10(左边第一张图)和 ImageNet-64(中间的图)上可以发现模型的泛化能力明显增强,并且可以一定程度上的抵御对抗攻击。

论文盘点:GAN生成对抗样本的方法解析

作者对 RobGAN 进行了微调使判别器单独执行多分类问题,以便更好的比较 RobGAN 的效果,下面是 RobGAN 在 CIFAR10 以及 ImageNet 上不同扰动情况下模型训练的准确率。

论文盘点:GAN生成对抗样本的方法解析

论文盘点:GAN生成对抗样本的方法解析

AdvFaces

论文盘点:GAN生成对抗样本的方法解析

论文标题:AdvFaces: Adversarial Face Synthesis 

论文链接:https://arxiv.org/abs/1908.05008v1 

7.1 模型介绍

AdvFaces 继承 AdvGAN 的框架,并引入人的身份匹配信息从而产生人脸对抗样本。

论文盘点:GAN生成对抗样本的方法解析

上图为 AdvFaces 生成人脸对抗样本的框架。给定一个 C 罗面部图像,AdvFaces 会自动生成一个对抗扰动 Mask,然后将其添加到原始图片中,从而获得对抗人脸图像。目标函数可以分为三部分分别为:,表示为:

论文盘点:GAN生成对抗样本的方法解析

其中:

论文盘点:GAN生成对抗样本的方法解析

论文盘点:GAN生成对抗样本的方法解析

其中 分别是身份匹配损失 和对抗扰动损失 的超参数。 鼓励生成的图像在视觉上与原始人脸图像相似,而 则优化以获得较高的攻击成功率。

7.2 实验结果

下表为无目标攻击中人脸图像的攻击成功率和结构相似性的评分。可以直观的发现与其它方向相比,AdvFaces 可以保证与原图像高相似度的同时实现高攻击准确率。

论文盘点:GAN生成对抗样本的方法解析

下图为各种方法生成人脸图像的示意图,可以发现 AdvFaces 生成的对抗样本视觉上的变化是最小的。

论文盘点:GAN生成对抗样本的方法解析

更多阅读

论文盘点:GAN生成对抗样本的方法解析

论文盘点:GAN生成对抗样本的方法解析

论文盘点:GAN生成对抗样本的方法解析

论文盘点:GAN生成对抗样本的方法解析

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:[email protected] 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

论文盘点:GAN生成对抗样本的方法解析

论文盘点:GAN生成对抗样本的方法解析