我正在与Wasserstein GANs合作一个项目,更具体地说,是一个改进版的Wasserstein GANs的实现。关于wGANs的稳定性和训练过程,我有两个理论问题。首先,众所周知,损失函数的结果与生成的样本(that is stated here)的结果质量相关。是否有额外的参考书目支持这一论点
其次,在我的实验阶段,我注意到使用wGANs训练我的架构要比使用简单版本的GANs快得多。这是一种常见的行为吗?是否也有相关的文献分析
此外,还有一个关于用Wasserstein损失保证的连续函数的问题。我在实践中理解这个概念时遇到了一些问题,正常的GANs损失不是连续函数是什么意思
稳定WGAN训练的最常用方法是用梯度惩罚(WGAN-GP)取代早期W-GAN中使用的梯度剪裁技术。这项技术的性能似乎优于原始的WGAN。描述什么是GP的论文可以在这里找到: https://arxiv.org/pdf/1704.00028.pdf
此外,如果您需要有关如何实现此功能的任何帮助,可以查看我在此处找到的一个不错的存储库: https://github.com/kochlisGit/Keras-GAN
您还可以使用其他技巧来提高生成图像的总体质量,如存储库中所述。例如:
等等
您现在可以检查Inception Score和Frechet Inception Distance。还有here。问题是,GAN没有统一的目标函数(有两个网络),没有统一的方法来评估和比较GAN模型。相反,人们设计了与图像分布和生成器分布相关的度量
wGAN可能更快,因为它有更稳定的训练程序,而不是普通的GAN(Wasserstein度量、重量剪裁和梯度惩罚(如果您正在使用它))。我不知道是否有关于速度的文献分析,对于WGAN来说,速度可能并不总是比简单的GAN快。WGAN找不到像GAN这样最好的纳什均衡病毒
考虑两种分布:p和q。如果这些分布重叠,即它们的域重叠,那么KL或JS散度是可微的。当p和q不重叠时,问题就出现了。在WGAN的论文示例中,假设二维空间上的两个PDF,V=(0,Z),Q=(K,Z),其中K不同于0,Z从均匀分布中采样。如果你试图对这两个PDF的KL/JS发散量求导,你就做不到。这是因为这两个散度将是一个二元指示函数(相等或不相等),我们不能对这些函数求导。然而,如果我们使用瓦瑟斯坦损耗或地球移动器距离,我们可以采用它,因为我们将其近似为空间上两点之间的距离简而言之:当分布有重叠时,正常的GAN损失函数是连续的,否则它是离散的。
希望这有帮助
相关问题 更多 >
编程相关推荐