DeLiGAN解读

上周读了CVPR 2017一篇名为DeLiGAN : Generative Adversarial Networks for Diverse and Limited Data的论文,作者是几位印度学者。

该论文的动机是,针对小样本训练数据的情况,提出一种GAN的变种,以提高生成的数据的多样性。

本文主要有两个贡献点:

1. 将原始GAN的latent space定义为一个混合高斯模型,实验证明,这个小小的改动使GAN在训练数据受限的情况下有效提高了生成样本的多样性,同时也改善了GAN训练的稳定性。他们将该模型命名为DeLiGAN。

2. 为了定量地衡量生成样本的类内多样性(intra-class diversity),他们提出了一项名为modified inception-score的指标,简称m-IS。

DeLiGAN

原始GAN的训练目标是把一个服从简单分布的latent variable z映射成服从复杂分布的高维数据,为了达到多样化的效果,这一般对网络的深度有一定的要求,而这在数据受限的情况很难做到,因此,作者的着眼点是提高z的复杂度。

他们把z的分布定义为一个混合高斯模型:

这里的

表示在高斯分布

中取样到z的概率,所以这样的分布就等价于在N个高斯分布中均匀随机地选择一个分布对z进行取样。

每个高斯分布都有

两个参数,属于模型要学习的参数。然而这里会遇到一个问题,这两个参数的梯度本应该经过z来反向传播,但z是一个不可微分的随机变量,梯度无法在这里继续传递。

所以需要用到一个名为reparameterization trick的技巧。该技巧由VAE的作者提出,其原理非常简单,即每个高斯分布都可以写成包含标准高斯分布的形式:

这样一来,z就变成了一个确定的(deterministic)变量,我们可以对其进行微分。

应用reparameterization trick前后模型节点的变化如下,可以清楚地看到这一技巧的作用。


如此一来,重新描述DeLiGAN中的z,就是

定义

则这两者也是模型需要优化的参数。

可以用示意图表示DeLiGAN和原始GAN的区别:


Modified Inception Score

T.Salimans、I. Goodfellow等人在其论文Improved techniques for training GANs中提出了一个名为inception-score的指标,用于评估GAN生成的图像。inception-score除了评估生成图像的质量外,还考虑了inter-class diversity;本文对inception-score进行了修改,除了图像质量外,更侧重于考虑intra-class diversity。

具体如下:

1) 首先用CNN图像分类模型Inception对GAN生成的图像进行分类,于是,对于每张图像

我们都能得到其分类label的分布p(y|x)

2) 我们希望生成的图像足够逼真,对分类器来说容易判断,所以p(y|x)的分布轮廓应该有一个“尖峰”,从而p(y|x)要具备比较低的entropy。

3) 另一方面,我们希望同一类别内的多样性足够大,比如,当GAN生成了两张同样被分类为Car的图像xi和xj,它们的图像细节应该有所区别,自然,p(y|xi)p(y|xj)也要有明显的差异,反映到信息论的角度上,就是这两个分布的cross-entropy要比较大。

综上所述,modified inception-score (m-IS)可以用KL散度来度量:

由于

,KL散度比较大时,

相对较大,

相对较小,与上面的分析相符。

小结

该论文还进行了一系列与原始GAN的对比实验,这些实验表明,当训练数据的规模较小时,原始GAN在图像质量和多样性的表现上都不如DeLiGAN。

显然根源在于两个模型latent space复杂度的差异。当真实数据的分布呈现复杂的多峰状(multi-modal)而训练数据的规模又受限时,混合高斯分布就显得比单一高斯分布灵活性更强,能更准确地拟合真实数据分布。

除了性能上的优势以外,DeLiGAN的优势还在于实现简单,可以很轻松地充当已有GAN结构的“插件”。

你可能感兴趣的:(DeLiGAN解读)