论文盘点:GAN生成对抗样本的方法解析
©PaperWeekly 原创 · 作者|孙裕道
学校|北京邮电大学博士生
研究方向|GAN图像生成、情绪对抗样本生成
引言
对抗样本的生成方式很多。一般情况下会分成三大类,第一种是基于梯度的生成方式如 FGSM 和 PGD,第二种是基于优化的生成方式如 CW 和 JSMA,第三种就是基于 GAN 的生成方式。本文会主要详解近几年来有关 GAN 生成对抗样本的各种方法。
对抗样本的介绍
对抗样本攻击模型主要从两个角度进行考虑:分别为攻击的目标和攻击的背景知识。攻击的目标可以分为四类:
减少置信度:减小输入分类的置信度,从而引起歧义。
无目标分类:将输出分类更改为与原始类不同的任何类。
有目标分类:强制将输出分类为特定的目标类。
源到目的分类:强制将特定的输入的输出分类为特定的目标类。
攻击的背景知识可以分为五类:
网络结构与训练数据:最强大的背景知识,包训练数据以及模型的详细参数信息。网络结构:了解目标模型的网络组成细节。
训练数据:了解生成目标模型的训练数据。
输入到输出映射:攻击者可以访问模型提供的 API 接口,输入数据并获得反馈,并且可以观察到输入和输出的变化之间的关系。
完全黑箱:攻击者无法获得模型 API 的反馈,不能观察到输入和输出的变化之间的关系。
将攻击目标和攻击的背景知识整合可以如上示意图。GAN 生成对抗样本的方式一般不需要获取太多的背景知识,适用于攻击难度较高的半白盒攻击,半黑盒攻击和黑盒攻击。
AdvGAN
论文标题:Generating Adversarial Examples with Adversarial Networks
论文来源:IJCAI 2018
论文链接:https://arxiv.org/abs/1801.02610
代码链接:https://github.com/mathcbc/advGAN_pytorch
3.1 模型介绍
AdvGAN 的核心思想是将干净样本通过 GAN 的生成器映射成对抗扰动,然后加在对应的干净样本中,判别器负责判别输入的样本是否为对抗样本。
上图为 AdvGAN 的总体架构,主要由三部分组成:生成器 G、判别器 D 和目标神经网络 C。将干净样本 x 输入到 G 中生成对抗扰动 G(x)。然后将 x+G(x) 发送给判别器 D,用于区分生成的样本和原始干净的样本,判别器 D 的目的是鼓励生成的实例与原始类中的数据不可区分。
为了实现愚弄学习模型的目标,再将生成的数据 x+G(x) 输入到目标分类模型 C 中,其中输出的损失为
,表示预测与目标类别 t 目标攻击之间的距离。优化目标损失函数,当模型达到最优时,G(x) 即为对抗扰动。
目标损失可以分解为三部分分别为:
,,,表示为:
为对抗损失,即为 Goodfellow 在 2014 年提出来的原始形式。
判别器
的目的是将扰动数据 与原始数据 区分开来。其中数据 是从真实数据中取样的,优化对抗损失的目的是鼓励生成的数据分布接近原始类的数据的分布。
为误判损失,目的是使得 往对抗扰动的方向去生成。
的有目标攻击扰动图像被误分类为 类目标,无目标攻击通过最大化预测值与真实值之间的距离来执行。
为 hinge 损失,hinge 损失在一些机器学习方法中用于正则化。
它是目的是用于稳定 GAN 的训练,其中公式中的超参数
为优化间距。
3.2 实验结果
下图为半白盒环境下在 MNIST 和 CIFAR-10 上对抗样本的攻击成功率的表格,可知由 AdvGAN 生成的对抗样本的方法要比 FGSM 和基于优化的方法要好。
下图为在加有防御的 MNIST 和 CIFAR-10 下不同黑盒对抗生成的攻击成功率,同样可以显现出 AdvGAN 的优越性。
AdvGAN++
论文标题:AdvGAN++: Harnessing latent layers for adversary generation
论文来源:ICCV 2019
论文链接:https://arxiv.org/abs/1908.00706
4.1 模型介绍
AdvGAN++ 的核心思想是引入分类器中的隐层向量作为 GAN 的输入来生成对抗样本。
上图为 AdvGAN++ 框架,它包含目标模型 M,特征提取器 f,生成器 G 和判别器 D。首先将干净图像经过特征提取器 f 输出特征向量,特征向量作为生成对抗样本的先验信息。然后将特征向量 f(x) 和噪声向量 z 作为级联向量,输入到生成器 G 中生成对抗样本。
判别器 D 将生成数据与真实数据区分开来,同时用生成数据欺骗分类器 M。
优化的目标函数分为三部分分别为:
,,,公式如下所示:
其中:
这里
, 是控制目标权重的超参数。从目标模型 M 的一个中间卷积层中提取特征 f,通过求解最小-最大博弈问题,得到 G 和 D 的最优参数。
4.2 实验结果
下表格展示的是在有防御的三个模型 Lenet C,Resnet-32 和 Wide-Resnet-34-10 中,AdvGAN 和 AdvGAN++ 生成对抗样本攻击模型成功率,可以发现不管是什么种类的防御措施,AdvGAN++ 的表现都要比 AdvGAN 要好。
Natural GAN
论文标题:Generating Natural Adversarial Examples
论文来源:ICLR 2018
论文链接:https://arxiv.org/abs/1710.11342
代码链接:https://github.com/zhengliz/natural-adversary
5.1 模型介绍
Natural GAN 是基于 WGAN 的框架进行创新,其核心在低维流形的隐特征空间中寻找对抗样本的隐向量,并且生成的对抗样本的扰动更加具有针对性,人眼看起来更自然。
Natural GAN 生成对抗样本的方法分为两阶段,如上图所示为阶段一,阶段一目的是将样本空间与隐特征空间建立对应关系。
首先用真实数据训练好 WGAN 中的生成器 G 和判别器 D,生成器是将隐特征空间映射到样本空间中去:
,即 。然后再需要训练一个逆转器 I,它的目的是将样本空间映射到隐特征空间中去:,即 。当 G,D,I 训练完毕之后,会将隐特征空间与样本空间建立起对应关系会有 ,。
优化的目标函数为:
表示的是样本空间数据 x 通过逆转器 I 映射到隐特征空间 z,然后再通过生成器 G 映射回来。 表示的是隐特征空间数据 z 通过生成器 G 映射到样本空间,然后再通过生成器 I 映射回来。
上图表示的是阶段二,阶段二为利用阶段一训练好的网络在隐特征空间中搜索对抗样本。对于一个特定的真实数据 x,利用 I 将其映射回隐空间,然后在隐空间上对
进行随机扰动得到 ,最后由生成器 G 得到相应的对抗样本。
具体地,有 iterative stochastic search 和 hybrid shrinking search 两种方式,第一种每次迭代随机采样 N 个扰动并按一定的步长增大搜索范围,直到相应的生成数据的标签发生改变,然后在这些对抗样本中选择与原样本相似度最高的一个。
第二种采用由粗到精的搜索方式,首先在较大范围内搜索,然后逐步缩小范围。由于这一过程是非启发式的,因此需要进行多次迭代。
5.2 实验结果
由下图可知,基于 FGSM 生成的对抗扰动感觉很凌乱,毫无语义性可言,但是基于 Natural GAN 方法生成的对抗样本则在外观上更加自然,这也更加契合了对抗样本的宗旨人眼不可查觉。
RobGAN
论文标题: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 的训练,而且有助于缩减对抗训练性能上的差距。
上图为阶段一联合训练部分,将对抗攻击学习和生成对抗网络组成一个新的模型,将生成器、判别器和对抗攻击者组合训练,通过在 SNGAN 中引入对抗学习中的对抗样本的元素,不仅可以加速 GAN 的训练,提高生成图像的质量,更重要的可以得到鲁棒性更好的判别器。
上图为阶段二,阶段二的目的是精细化训练判别器 D。用假样本和真实数据样本继续训练阶段一训练好的判别器 D,使得它能够有更好的鲁棒性抵御对抗攻击。
6.2 实验结果
下图表明经过阶段二使用 fine-tuning 训练之后,在 CIFAR10(左边第一张图)和 ImageNet-64(中间的图)上可以发现模型的泛化能力明显增强,并且可以一定程度上的抵御对抗攻击。
作者对 RobGAN 进行了微调使判别器单独执行多分类问题,以便更好的比较 RobGAN 的效果,下面是 RobGAN 在 CIFAR10 以及 ImageNet 上不同扰动情况下模型训练的准确率。
AdvFaces
论文标题:AdvFaces: Adversarial Face Synthesis
论文链接:https://arxiv.org/abs/1908.05008v1
7.1 模型介绍
AdvFaces 继承 AdvGAN 的框架,并引入人的身份匹配信息从而产生人脸对抗样本。
上图为 AdvFaces 生成人脸对抗样本的框架。给定一个 C 罗面部图像,AdvFaces 会自动生成一个对抗扰动 Mask,然后将其添加到原始图片中,从而获得对抗人脸图像。目标函数可以分为三部分分别为:
,,,表示为:
其中:
其中
和 分别是身份匹配损失 和对抗扰动损失 的超参数。 和 鼓励生成的图像在视觉上与原始人脸图像相似,而 则优化以获得较高的攻击成功率。
7.2 实验结果
下表为无目标攻击中人脸图像的攻击成功率和结构相似性的评分。可以直观的发现与其它方向相比,AdvFaces 可以保证与原图像高相似度的同时实现高攻击准确率。
下图为各种方法生成人脸图像的示意图,可以发现 AdvFaces 生成的对抗样本视觉上的变化是最小的。
更多阅读
#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
???? 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
???? 投稿邮箱:
• 投稿邮箱:hr@paperweekly.site
• 所有文章配图,请单独在附件中发送
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
????
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。
论文盘点:GAN生成对抗样本的方法解析相关推荐
- 【论文笔记】—生成对抗网络—GAN—2014-NIPS
论文介绍 生成对抗神经网络GAN开山之作论文. 论文作者为"生成对抗网络之父"Ian Goodfellow和图灵奖得主Youshua Bengio. GAN近年来成为人工智能和深度 ...
- ACL2020 | 使用强化学习为机器翻译生成对抗样本
2020-07-12 03:08:49 本文介绍的是 ACL 2020 论文<A Reinforced Generation of Adversarial Examples for Neural ...
- DLbest系列1——GAN生成对抗网络2
GAN 6 COGAN(耦合生成对抗网络,1个模型2个用途) 7 LSGAN(最小二乘GAN,均方差替换交叉熵) 7.1 训练思路 8 CycleGAN(风格转换) 8.1 训练思路 9 SRGAN( ...
- LNG:首个基于图的对抗样本检测方法
关注公众号,发现CV技术之美 Adversarial Example Detection Using Latent Neighborhood Graph 论文链接: https://openacce ...
- 对抗攻击之利用水印生成对抗样本
本文为52CV粉丝鬼道投稿,介绍了对抗学习领域最新的工作Adv-watermark. 论文标题:Adv-watermark: A Novel Watermark Perturbation for Ad ...
- 深度学习(九) GAN 生成对抗网络 理论部分
GAN 生成对抗网络 理论部分 前言 一.Pixel RNN 1.图片的生成模型 2.Pixel RNN 3.Pixel CNN 二.VAE(Variational Autoencoder) 1.VA ...
- GAN生成对抗网络综述
前阵子学习GAN的过程发现现在的GAN综述文章大都是2016年Ian Goodfellow或者自动化所王飞跃老师那篇(最新发现一篇更新paper,也是王飞跃老师的:http://blog.scienc ...
- 【轩说AI】生成模型(2)—— GAN生成对抗网络 + WGAN + Conditional GAN + Cycle GAN
文章目录 GAN生成对抗网络(Generative Adversarial Network) 神经网络的本质就是一个函数,一个用于拟合的函数 生成模型面临的前所未有的问题 GAN解决这一问题的思想 O ...
- 论文阅读-可迁移对抗样本攻击
我的博客已全部迁往个人博客站点:oukohou.wang,敬请前往-- paper:Transferable Adversarial Attacks for Image and Video Objec ...
最新文章
- 通往安全自动驾驶汽车的艰难道路
- 深度学习发现古人类遗址,AI 考古比胡八一更高效
- 数据库基础 (六)单表查询进阶
- 【Linux】 linux的进程系统一点补充
- php jquery选择器,常用jQuery选择器总结_jquery
- 一道比较实用的MySQL面试题:游戏数据充值查询
- 基于深度学习的多目标跟踪算法——ReID与MOT的联系
- flink的datastream输出没有结果
- java jpanel setbackground,java – JLabel.setBackground(颜色)不起作用?
- 后台系统应该具备的素养
- Struts2的输入验证(三)-短路验证与非字段验证
- 请问诸位大神,Android怎么实现图片转动
- c++ 跳转到上级目录_基于VSCode和CMake进行C/C++开发第五讲IDEVSCode
- JDK API 中英文版 在线版、下载地址
- Android仿人人客户端(v5.7.1)——个人主页(二)
- 荣耀笔试(8.16)
- 【mysql数据库】通过python 3.7 爬虫获取企查查公开的企业信息,并记录到数据库
- 图解|网络究竟是如何运作的?
- IdentityServer3 v1文档
- 单刀双掷的模拟开关MAX4544
热门文章
- component是什么接口_逐行解读Spring(二)什么,自定义标签没听说过?
- git rebase 的常见冲突及解决办法
- java报告(一)编程打印一个三角形的乘法口诀表
- MSSQLSERVER数据库- 递归查询例子
- 基于SuperMap Objects写的GoogleMap地图切割程序(二)
- 深圳.NET俱乐部 Windows 7 社区发布会总结及资源下载
- [翻译] 构建完美的WPF开发工作站
- DHH观点:为什么我偏爱Ruby?
- python编程入门详解_python编程入门知识练习
- android 7.0 裁剪,Android 7.0中拍照和图片裁剪适配的问题详解