本文主要是介绍GAN的Loss的比较研究(3)——Wasserstein Loss理解(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前两篇文章讨论了传统GAN的Loss,该Loss有些不足的地方,导致了GAN的训练十分困难,表现为:1、模式坍塌,即生成样本的多样性不足;2、不稳定,收敛不了。Martin Arjovsky在《Towards principled methods for training generative adversarial networks》、《Wasserstein GAN》文章中,对传统Loss造成训练困难的原因进行了讨论:因为真实样本的概率分布 ℙr P r 与生成器生成的样本概率分布 ℙg P g 的支撑集不同,又由于两者的流型(Manifold)的维度皆小于样本空间的维度,因而两者的流型基本上是不可能完全对齐的,因而即便有少量相交的点,它们在两个概率流型上的测度为0,可忽略,因而可以将两个概率的流型看成是可分离的,因而若是一个最优的判别器去判断则一定可以百分百将这两个流型分开,即无论我们的生成器如何努力皆获得不了分类误差的信息,这便是GAN训练困难的重要原因,有一篇博文(《令人拍案叫绝的Wasserstein GAN》)对上述两篇文章做了深入浅出的解释,总结一下是:
用KL Divergence和JS Divergence作为两个概率的差异的衡量,最关键的问题是若两个概率的支撑集不重叠,就无法让那个参数化的、可移动的概率分布慢慢地移动过来,以拟合目标分布。
于是文章提出一种新的Loss定义,即Wasserstein Distance,它可以作为两个概率分布的距离衡量指标,其定义如下:
W(ℙr,ℙg) W ( P r , P g ) 是概率分布 ℙr,ℙg P r , P g 的距离,它是两个在同一空间上(即维度相同)的随机变量x,y之差的范数均值的下确界。假设 ℙr P r 和 ℙr P r 都是 ℝd R d 上的概率分布,则两个空间相乘,构成 ℝd×d R d × d 概率空间,在此空间中,找出所有在 ℝd R d 边界分布为 ℙr P r 和在另外一边 ℝd R d 边界分布为 ℙr P r 的所有分布,它们构成一个集合,即 Π(ℙr,ℙg) Π ( P r , P g ) 。在此集合中,我们任意抽取一个元素,即 γ γ ,它是一个在 ℝd×d R d × d 上的分布,由它抽样出的样本,皆在 ℝd×d R d × d 上,这些样本点分别投影在两个互补的
这篇关于GAN的Loss的比较研究(3)——Wasserstein Loss理解(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!