[GAN学习系列2] GAN的起源

本文是GAN学习系列的第二篇,探讨了GAN的起源,包括基本原理、对抗样本的概念,以及生成器和判别器的作用。文章详细阐述了GAN如何通过两个神经网络的博弈生成逼真图像,并分析了GAN的训练策略、优点和缺点。
摘要由CSDN通过智能技术生成

本文大约 5000 字,阅读大约需要 10 分钟

这是 GAN 学习系列的第二篇文章,这篇文章将开始介绍 GAN 的起源之作,鼻祖,也就是 Ian Goodfellow 在 2014 年发表在 ICLR 的论文–Generative Adversarial Networks”,当然由于数学功底有限,所以会简单介绍用到的数学公式和背后的基本原理,并介绍相应的优缺点。

基本原理

[GAN学习系列] 初识GAN中,介绍了 GAN 背后的基本思想就是两个网络彼此博弈。生成器 G 的目标是可以学习到输入数据的分布从而生成非常真实的图片,而判别器 D 的目标是可以正确辨别出真实图片和 G 生成的图片之间的差异。正如下图所示:

上图给出了生成对抗网络的一个整体结构,生成器 G 和判别器 D 都是有各自的网络结构和不同的输入,其中 G 的输出,即生成的样本也是 D 的输入之一,而 D 则会为 G 提供梯度进行权重的更新。

那么问题来了,如果 D 是一个非常好的分类器,那么我们是否真的可以生成非常逼真的样本来欺骗它呢?

对抗样本

在正式介绍 GAN 的原理之前,先介绍一个概念–对抗样本(adversarial example),它是指经过精心计算得到的用于误导分类器的样本。例如下图就是一个例子,左边是一个熊猫,但是添加了少量随机噪声变成右图后,分类器给出的预测类别却是长臂猿,但视觉上左右两幅图片并没有太大改变。

所以为什么在简单添加了噪声后会误导分类器呢?

这是因为图像分类器本质上是高维空间的一个复杂的决策边界。当然涉及到图像分类的时候,由于是高维空间而不是简单的两维或者三维空间,我们无法画出这个边界出来。但是我们可以肯定的是,训练完成后,分类器是无法泛化到所有数据上,除非我们的训练集包含了分类类别的所有数据,但实际上我们做不到。而做不到泛化到所有数据的分类器,其实就会过拟合训练集的数据,这也就是我们可以利用的一点。

我们可以给图片添加一个非常接近于 0 的随机噪声,这可以通过控制噪声的 L2 范数来实现。L2 范数可以看做是一个向量的长度,这里有个诀窍就是图片的像素越多,即图片尺寸越大,其平均 L2 范数也就越大。因此,当添加的噪声的范数足够低,那么视觉上你不会觉得这张图片有什么不同,正如上述右边的图片一样,看起来依然和左边原始图片一模一样;但是,在向量空间上,添加噪声后的图片和原始图片已经有很大的距离了!

为什么会这样呢?

因为在 L2 范数看来,对于熊猫和长臂猿的决策边界并没有那么远,添加了非常微弱的随机噪声的图片可能就远离了熊猫的决策边界内,到达长臂猿的预测范围内,因此欺骗了分类器。

除了这种简单的添加随机噪声,还可以通过图像变形的方式,使得新图像和原始图像视觉上一样的情况下,让分类器得到有很高置信度的错误分类结果。这种过程也被称为对抗攻击(adversarial attack),这种生成方式的简单性也是给 GAN 提供了解释。

生成器和判别器

现在如果将上述说的分类器设定为二值分类器,即判断真和假,那么根据 Ian Goodfellow 的原始论文的说法,它就是判别器(Discriminator)。

有了判别器,那还需要有生成假样本来欺骗判别器的网络,也就是生成器 (Generator)。这两个网络结合起来就是生成对抗网络(GAN),根据原始论文,它的目标如下:

两个网络的工作原理可以如下图所示,D 的目标就是判别真实图片和 G 生成的图片的真假,而 G 是输入一个随机噪声来生成图片,并努力欺骗 D 。

简单来说,GAN 的基本思想就是一个最小最大定理,当两个玩家(D 和 G)彼此竞争时(零和博弈),双方都假设对方采取最优的步骤而自己也以最优的策略应对(最小最大策略),那么结果就已经预先确定了,玩家无法改变它(纳什均衡)。

因此,它们的损失函数,D 的是

G 的是

这里根据它们的损失函数分析下,G 网络的训练目标就是让 D(G

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

spearhead_cai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值