AIGC实战——WGAN0.前言1.WGAN-GP1.1Wasserstein损失1.2Lipschitz约束1.3强制Lipschitz约束1.4梯度惩罚损失1.5训练WGAN-GP2.GAN与WGAN-GP的关键区别3.WGAN-GP模型分析小结系列链接0.前言原始的生成对抗网络(GenerativeAdversarialNetwork,GAN)在训练过程中面临着模式坍塌和梯度消失等问题,为了解决这些问题,研究人员提出了大量的关键技术以提高GAN模型的整体稳定性,并降低了上述问题出现的可能性。例如WGAN(WassersteinGAN)和WGAN-GP(WassersteinGAN-Gra
目录1.WGAN产生背景(1)超参数敏感(2)模型崩塌2.WGAN主要解决的问题3.不同距离的度量方式(1)方式一(2)方式二(3)方式三(4)方式四4.WGAN原理(1)p和q分布下的距离计算 (2)EM距离转换优化目标推导(3)判别器和生成器的优化目标5.WGAN训练算法 6.WGAN网络结构7.数据集下载8.WGAN代码实现 9.mainWindow窗口显示生成器生成的图片10.模型下载 GAN原理及Pytorch框架实现GAN(比较容易理解)Pytorch框架实现DCGAN(比较容易理解)CycleGAN的基本原理以及Pytorch框架实现1.WGAN产生背景 之所以会产生WGA
论文传送门:https://arxiv.org/pdf/1704.00028.pdfWGAN存在的问题:在WGAN中,为使得判别器D(x)满足Lipschitz连续条件,从而对网络参数进行了[-c,c]的区间限制,使得网络参数分布极端,参数均接近于-c或c。WGAN-gp的目的:解决WGAN参数分布极端的问题。 WGAN-gp的方法:在判别器D的loss中增加梯度惩罚项,代替WGAN中对判别器D的参数区间限制,同样能保证D(x)满足Lipschitz连续条件。(证明过程见论文补充材料)红框部分:与WGAN不同之处,即判别器D的loss增加梯度惩罚项和优化器选择Adam。梯度惩罚项的计算实现见代
目录0.摘要1.基础知识1.1信息量1.2熵1.3相对熵1.4交叉熵1.5JS散度1.6其它相关概念2.WGAN理论分析2.1 WGAN的改变2.2原始GAN中存在的问题2.2.3第一种生成器损失函数2.2.4第二种生成器损失函数2.3GAN到WGAN的一个过渡方案2.4 Wasserstein距离2.5从Wasserstein距离到WGAN2.6WGAN代码展示3.WGAN-GP分析3.1WGAN-GP与WGAN的区别3.2 WGAN-GP方法介绍3.3 WGAN中存在的问题(CP和GP问题详解)3.4WGAN-GP代码展示0.摘要WGAN-GP(WassersteinGANwithgrad
WGAN论文地址:[1701.07875]WassersteinGAN(arxiv.org)WGAN解决的问题原始GAN训练过程中经常遇到的问题:模式崩溃,生成器生成非常窄的分布,仅覆盖数据分布中的单一模式。模式崩溃的含义是生成器只能生成非常相似的样本(例如,MNIST中的单个数字),即生成的样本不是多样的。没有指标可以告诉我们收敛情况。生成器和判别器的loss并没有告诉我们任何收敛相关信息。当然,我们可以通过不时地查看生成器生成的数据来监控训练进度。但是,这是一个手动过程。因此,我们需要有一个可解释的指标可以告诉我们有关训练的进度。一句话概括:判别器越好,生成器梯度消失越严重。 GAN网
WGAN论文地址:[1701.07875]WassersteinGAN(arxiv.org)WGAN解决的问题原始GAN训练过程中经常遇到的问题:模式崩溃,生成器生成非常窄的分布,仅覆盖数据分布中的单一模式。模式崩溃的含义是生成器只能生成非常相似的样本(例如,MNIST中的单个数字),即生成的样本不是多样的。没有指标可以告诉我们收敛情况。生成器和判别器的loss并没有告诉我们任何收敛相关信息。当然,我们可以通过不时地查看生成器生成的数据来监控训练进度。但是,这是一个手动过程。因此,我们需要有一个可解释的指标可以告诉我们有关训练的进度。一句话概括:判别器越好,生成器梯度消失越严重。 GAN网