【深度学习】生成式对抗网络原理与GAN/WGAN/WGAN-GP初步

GAN

生成对抗网络(GAN, Generative Adversarial Networks)相比于CNN与RNN是一项比较新的技术,由Ian J. GoodFellow于2014年提出,随后不断发展,目前已经广泛用于图像生成、图像合成与图像增强领域。
GAN创新性地将机器学习中的生成模型与判别模型结合了起来,其目的从数学的角度来讲是训练得到的生成器能够通过输入随机的噪声生成符合指定分布的数据,例如图像数据,从而起到图像合成、生成等一系列目的。
通俗地讲,GAN采用了一种博弈的思想,通过设置特殊的代价函数,使生成器生成分类器越来越难以分辨的数据,而分类器经过训练又逐渐提高其区分生成数据分布与真实分布数据的能力。最终两者不断促进,分类器的分辨能力不断提高,生成器生成的数据越来越符合指定分布,几乎能够以假乱真。
这样巧妙的思路自然也是在数学理论支撑之上的。对于GAN,除了设计两者合理有效的模型,很关键的一点是设计的代价函数,这是因为代价函数的设计决定了学习的最终目标与学习的效果。
尽管GAN出现于最近10年,其数学理论可以追溯到最大化均值差异(MMD),其用来衡量两个数据分布的差异性程度。
理论上,如果两个分布一致,其均值相同且对于各种复杂的非线性变换得到的结果均值应该仍然相同。其实这里说数学期望更加准确,但为了简化以及针对有限的数据,往往采用均值来计算。其公式如下:


这样的公式对SGD并不优化,因为均值和数学期望一般都是建立在完整的数据下。经过调整,将平方更改为内积,得到的公式如下:

从公式可以看出,在具体优化时至少需要4个样本,2个来自p分布,两个来自q分布。另外,这里变换的选取有很多种,理论上要求Lipschitz系数小于等于1,其实一般来说有界即可,防止因为较大的系数导致发散。过去流行的变换包括在SVM时代采用的各类核函数或者多核学习,对不同的核函数进行线性组合得到更复杂的变换。
图1 GAN的基本思想
GAN从一另个角度来看待数据分布相似性问题,认为如果分布相同那么就无法学到一个分类器将其区分开,那么就可以先尝试对噪声与目标分布分类,然后固定住分类器更新生成器,然后在尝试分类,以此类推。
图2 不断接近的分布
这样变得到了如下函数:

首先看max部分,前面的部分是真实数据的得到的数学期望,后面是“1 – 生成数据”的数学期望,即认为其为假的数学期望,这个max的目标则是使分类器的分类能力得到提高;max以后min的目的则是使生成器得到的数据更能以假乱真。从后续代码实现介绍部分可以看到对其的遵循。
事实上,由于每步无法学到全局最优,这样的生成网络会存在模式坍塌的问题,难以学到目标的分布。尤其是对于传统的SGD,几乎是难以避免的发生振荡,收敛难度较大。
GoodFellow后来也尝试过使用MMD,将神经网络看做复杂的非线性变换,但因为缺少对Lipschitz系数限制的考虑存在一定的局限性。

WGAN

WGAN即Wasserstein GAN,与2017年提出。WGAN主要的改进是对GAN的目标函数,在MMD的基础上做了更深入的理论分析与研究。

WGAN使用了统计学上的Wasserstein距离。基于问题的单边特性,Wasserstein距离将MMD的平方与绝对值都去除,去除平方消除了一定的放大作用,从求导的角度对优化也更加有利。另外,为了使Lipschitz系数小于等于1,WGAN采用clip的方式进行截取,尽管保证了有界,但是与目标的效果是不一样的,因此会存在一些问题。

WGAN-GP

图3 WGAN/WGAN-GP效果对比
WGAN-GP在WGAN的基础上进行了改进,通过在目标函数后加入gradient penalty来实现对Lipschitz系数的限制。Lipschitz系数可以理解为对x求梯度中最大的梯度,WGAN-GP实际上是加入了对梯度的一种限制,通过加入到目标函数中使之成为优化的目标。

这里梯度代价的目标实际上是让偏导接近于1,这是因为最优解很有可能在这种情况出现,能够充分利用约束条件。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值