德利根解释

上周,我在CVPR 2017阅读了一篇名为《德力根:生成》的文章。由几位印度学者撰写的《多样性和有限数据的对抗性网络》。

本文的动机是针对小样本训练数据,提出一种改进的遗传算法来提高生成数据的多样性。

本文有两个主要贡献:

1.原始GAN的潜在空间被定义为混合高斯模型。实验表明,在训练数据有限的情况下,这种微小的变化可以有效提高生成样本的多样性,提高GAN训练的稳定性。他们把这个模型命名为德利根。

2.为了定量衡量生成样本的类内多样性,他们提出了一种称为修正关联分数(modified incidence-score)的指标,简称m-IS。

原始GAN的训练目标是放一个服从简单分布的侧变量?z被映射成服从复杂分布的高维数据。为了达到多样化的效果,这一般需要网络的深度,在数据有限的情况下很难做到。因此,作者着重于提高z的复杂度。

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

这里

用高斯分布表示

中间抽样到z的概率,所以这个分布相当于在n个高斯分布中随机选择一个分布来抽样z。

每个高斯分布都有

两个参数,属于要学习的模型。但是,这里会有一个问题。这两个参数的梯度应该是通过Z传播回来的,但是Z是不可微的随机变量,梯度不能在这里传递。

所以你需要使用一种叫做重新参数化的技巧。这种技术是由作者VAE提出的,其原理非常简单,即每个高斯分布都可以写成标准高斯分布的形式:

这样z就变成了确定性变量,我们可以对它进行微分。

应用重新参数化技巧前后模型节点的变化如下,可以清楚地看到该技巧的作用。

这样,在德利根重新描述z就是

定义

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

DeLiGAN和原始GAN之间的差异可以用示意图表示:

T.Salimans,I. Goodfellow和其他人在他们的论文中改进了?在训练GAN时,提出了一个名为inception-score的指标来评价GAN生成的图像。除了评估生成图像的质量,inception-score还考虑了类间多样性;。本文对初始得分进行了改进,除了图像质量之外,更加强调了类内多样性。

详情如下:

1)首先用CNN图像分类模型Inception对GAN生成的图像进行分类,所以对于每一幅图像,

我们都可以得到它的分类标签的分布p(y|x)。

2)我们希望生成的图像足够逼真,容易被分类器判断,所以p(y|x)的分布轮廓应该有一个“峰值”,这样p(y|x)应该有一个相对较低的熵。

3)?另一方面,我们希望同一品类的多样性足够大。例如,当GAN生成同样被分类为汽车的两个图像和xj时,它们的图像细节应该是不同的。自然,p(y|xi)和p(y|xj)应该有明显的区别,体现在信息论上,就是这两种分布的交叉熵比较大。

总之,修正的发生率分数(m-is)可以通过KL散度来衡量:

因为

当k1散度相对较大时,

相对较大,

比较小,符合上面的分析。

本文还与原GAN进行了一系列对比实验,结果表明,在训练数据规模较小时,原GAN在图像质量和多样性方面不如DeLiGAN。

很明显,根本原因在于两种模型潜在空间复杂度的不同。当真实数据的分布呈现复杂的多模态且训练数据规模有限时,混合高斯分布比单一高斯分布更灵活,能更准确地拟合真实数据分布。

除了性能优势之外,DeLiGAN还具有实现简单的优势,可以轻松充当现有GAN结构的“插件”。