GAN学习笔记:MMGAN:Manifold-Matching Generative Adversarial Network

一、主要思想

MMGAN的一个重要思想在于:数据可以分为两个不同的manifold:真实数据和生成数据。

那么,训练G的目标就是尽可能地match这两个manifold。

在MMGAN中,不妨用球形来表示manifold,这样,可以使用指数平滑来得到球的中心和半径,此外,针对mode collapse的问题,MMGAN也进行了相关的工作来提升数据的diversity,接下来会具体介绍。

二、Manifold-Matching

我们提到了,训练G的目标是让两个manifold尽可能match。

现在,我们不妨用球形来表示一个manifold,即

其中c为中心,l为半径,φ为space mapping函数。

这里,为了讨论方便,我们可以取一个最简单的φ,φ(x)=x。

进而我们可以得出,对于一个数据集S,拟合效果最好的球形满足以下式子:

GAN学习笔记:MMGAN:Manifold-Matching Generative Adversarial Network_第1张图片

GAN学习笔记:MMGAN:Manifold-Matching Generative Adversarial Network_第2张图片

至此,就可以定义一个G的损失函数了:


这里My为真实数据的manifold,Mx为生成数据的manifold,训练G的目标就是让损失函数最小化,即让两个manifold尽可能match。

在Reproducing Kernel Hilbert Space中,这里可以取线性的kernel。


则损失函数在这里可以表示为:

GAN学习笔记:MMGAN:Manifold-Matching Generative Adversarial Network_第3张图片

三、应对mode collapse

要避免G产生的数据太过相似,这里对损失函数做如下调整,用As来表示数据之间的关联性,定义


其中:A为一个参照,A中的数据之间完全独立,可以看出,As要越接近A越好。

GAN学习笔记:MMGAN:Manifold-Matching Generative Adversarial Network_第4张图片

补充一下Frobenius范数的定义。

接下来,就可以调整损失函数了:


四、训练算法

GAN学习笔记:MMGAN:Manifold-Matching Generative Adversarial Network_第5张图片

这里的Equation(1)指的就是最原始的训练D的方法,而Equation(12)指的是第三部分结尾处调整过的Loss函数。

指数平滑的系数一般会取到0.8以上。


你可能感兴趣的:(神经网络,机器学习,神经网络)