经典GAN简明原理:LSGAN

点击上方“机器学习与生成对抗网络”,关注星标

获取有趣、好玩的前沿干货!

1,摘要

  • 事实证明,使用生成对抗网络(GAN)进行无监督学习是成功可行的。常规GAN默认的判别器设置是sigmoid交叉熵损失函数训练的分类器。但是,在训练学习过程中这种损失函数的使用可能会导致梯度消失。

  • 为了克服这个问题,最小二乘生成对抗网络(LSGAN)采用最小二乘的损失来缓解。实际上,LSGAN的目标函数将本质上是最小化Pearson χ2散度。

  • 与常规GAN相比,LSGAN有两个好处:一是能生成更高质量的图像;二是在训练过程中更稳定。

2,背景

  • 原始GAN的极小极大损失函数为:

  • 而针对生成器的更新,Goodfellow推荐的非饱和损失是:

  • 原始的GAN中,非饱和损失和极小极大损失都有更新生成器时梯度消失的问题。

  • 如下图所示,当输入相对较大时,非饱和损失(蓝色线,即-log D(·))将饱和;而当输入相对较小时,极小极大损失(红色线,即log(1- D(·)))将饱和。

经典GAN简明原理:LSGAN_第1张图片
  • 因此,如下面的图1(b)所示,在更新生成器时,非饱和损失几乎不会对品红色中的伪样本(即生成数据)产生任何梯度的反馈,因为这些样本已位于真实数据的一侧,对应于具有相对图2(a)中的较大值。

经典GAN简明原理:LSGAN_第2张图片
  • 同样,极小极大损失对绿色的伪样本几乎没有梯度反馈。但是这些假样本仍与真实数据相去甚远,而我们希望它们更接近真实数据。

  • 基于上述观察,LSGAN对判别器和生成器均采用最小二乘损失,它能促使生成的伪样本更靠近决策边界,因为最小二乘损失会惩罚距离边界远的样本,而不仅仅要求它们满足坐落于正确一侧的“弱”条件。如图1(c)所示,最小二乘损失将惩罚上述两种类型的假样本并将其拉向决策边界。基于此属性,LSGAN能够生成更接近真实数据的样本。

  • LSGAN的另一个好处是提高了训练稳定性。一般来说,由于GAN学习的不稳定性,训练GAN是一个困难的问题。此前的研究里表明,GANs学习的不稳定性是由目标函数引起的:最小化常规GAN的目标函数可能会导致梯度消失,这很难去更新生成器。相反,LSGAN则可缓解此问题,因为基于与决策边界的距离对样本进行惩罚可能会生成更丰富的梯度。

  • LSGAN还提出了一种评估GAN稳定性的方法。此前一种流行的评估方法是搭建“困难”的网络结构,例如不用批归一化等。但实际上我们总会选择稳定的网络结构来完成任务。况且困难往往源于数据集。因此,LSGAN作者们建议使用较困难的数据集、而较稳定的网络结构来评估GAN的稳定性。例如,使用字体数据集来进行实验,因为不同的字体风格带有差异,判别器要捕捉这些微小的差异是不简单的事情。

3,方法

  • LSGAN则从平方误差的角度出发,判别器理想下给生成样本和真实样本分别编码为a和b以示区分;

  • 生成器希望能将它的生成样本编码为c并以此成功“欺骗”判别器;

  • 那么用平方误差作为目标函数,上述的目标函数就是:

经典GAN简明原理:LSGAN_第3张图片
  • 而当b-c=1,b-a=2时,LSGAN目标函数等价于皮尔森卡方散度Pearson χ2。为了验证,首先,求一阶导可得到D的最优解为:

  • 代入:

  • 注意,上式添加了一项,并不影响最终的 ,因为对它而言没有参数G,可以视为常数。当b-c=1,b-a=2时, 为:

  • 也就是:

4,总结

  • 最小二乘生成对抗网络(LSGAN)可以缓解训练过程中梯度消失的问题。实验结果表明,与常规GAN相比,LSGAN更稳定、生成的图像质量更高。

经典GAN简明原理:LSGAN_第4张图片

你可能感兴趣的:(机器学习,人工智能,python,深度学习,计算机视觉)