GAN-overview reading note(3)Wasserstein GAN

文章目录

  • 了解WGAN
  • 强行写点理解
  • 2019.4.13——子涣

了解WGAN

继续读GAN overview,在第一部分基本了解了GAN的基本概念,又在第二部分了解了LSGAN对其的改进,同时也基本了解了GAN在训练过程中容易出现梯度为0,导致很难训练生成器。
附上前两篇bolg的链接:
GAN-overview reading note(1)基础概念
GAN-overview reading note(2)Least Squares-GAN
本文继续沿着GAN_overview的顺序继续阅读,并深入了解GAN的研究现状。本次主要是了解一种全新的改进思路,Wasserstein GAN。
本文主要参考:令人拍案叫绝的Wasserstein GAN
同时,也在不明白的时候查阅WGAN提出的两篇原文,附上原文:
WGAN提出前的数学证明
Wasserstein GAN提出了具体方法。
其实,WGAN的具体改进,包括之前已经提到的GAN本身的缺陷,在令人拍案叫绝的Wasserstein GAN文中已经被非常详细的讲解了。本文仅对其中几个我自己理解起来相对费力的点进行整理和记录,读者可以作为一个辅助阅读,也欢迎讨论。

在(近似)最优判别器下,最小化生成器的loss等价于最小化P_r与P_g之间的JS散度,而由于P_r与P_g几乎不可能有不可忽略的重叠,所以无论它们相距多远JS散度都是常数\log 2,最终导致生成器的梯度(近似)为0,梯度消失。
接着作者写了很多公式定理从第二个角度进行论证,但是背后的思想也可以直观地解释:
首先,P_r与P_g之间几乎不可能有不可忽略的重叠,所以无论它们之间的“缝隙”多狭小,都肯定存在一个最优分割曲面把它们隔开,最多就是在那些可忽略的重叠处隔不开而已。由于判别器作为一个神经网络可以无限拟合这个分隔曲面,所以存在一个最优判别器,对几乎所有真实样本给出概率1,对几乎所有生成样本给出概率0,而那些隔不开的部分就是难以被最优判别器分类的样本,但是它们的测度为0,可忽略。最优判别器在真实分布和生成分布的支撑集上给出的概率都是常数(1和0),导致生成器的loss梯度为0,梯度消失。
有了这些理论分析,原始GAN不稳定的原因就彻底清楚了:判别器训练得太好,生成器梯度消失,生成器loss降不下去;判别器训练得不好,生成器梯度不准,四处乱跑。只有判别器训练得不好不坏才行,但是这个火候又很难把握,甚至在同一轮训练的前后不同阶段这个火候都可能不一样,所以GAN才那么难训练。

这段对判别器训练的太好导致G训练梯度接近0进行了非常直观的解释。下面原作者给了实际实验证明:
GAN-overview reading note(3)Wasserstein GAN_第1张图片

理解: 这个实验是,用DCGAN进行1次、20次和25次迭代,得到G并固定下来不再训练G,只训练D。由于D的结果证实G训练进化的驱动,也就是其影响G的loss函数的梯度。则由图可见,随着D的不断迭代进化,Gloss函数的梯度越来越小,而且下降的非常快,非常明显。这与上述理论证明恰好符合。

哎……原文作者写的太好,基本没啥需要整理的,知乎作者写的非常直观,清晰易懂,基本没有需要谈我自己的理解了……

强行写点理解

WGAN从根本上说就是改变了生成数据分布于真是数据分布之间的度量关系,原文作者详细阐述了在GAN中,两者度量关系从在的诸多问题。同时给出了用EM(Earth Mover)也叫Wasserstein距离来作为度量方法。
这种方法与原来的KL散度或者JS散度之间的区别就是:在生成分布于真实分布完全不相关的情况下也可以提供很好的梯度方向,指引G继续进化。所以,可以不用再谨慎的进化D,来维持G的迭代动力。剩下的就是具体去理解EM与JS等本质的区别了。
在overview中,WGAN这种度量方法已经被整理为一类度量方法:Integral probality metric(IPM)
在这里插入图片描述

GAN-overview reading note(3)Wasserstein GAN_第2张图片

2019.4.13——子涣

你可能感兴趣的:(deep,learning)