- WGAN(Wasserstein GAN)简介
- WGAN是生成对抗网络(GAN)的一种改进版本。传统GAN在训练过程中存在一些问题,如训练不稳定、生成样本质量不高以及模式崩溃(生成器只能生成有限的几种模式)等。WGAN通过引入Wasserstein距离(推土机距离)作为生成器和判别器之间的损失函数,有效地缓解了这些问题。
-
它的核心思想是使用Wasserstein距离来衡量生成数据分布和真实数据分布之间的差异,从而使生成器能够更好地学习到真实数据的分布特征。
-
WGAN的结构与原理
- 判别器(Critic)的变化
- 在传统GAN中,判别器是一个二分类器,输出样本是来自真实数据还是生成数据的概率。而在WGAN中,判别器被称为“Critic”,它的输出是一个实数,用于估计生成数据分布和真实数据分布之间的Wasserstein距离。这个实数没有像传统GAN判别器输出那样的概率解释,其绝对值大小反映了两个分布之间的距离远近。
- 损失函数的改进
- 传统GAN的损失函数是基于交叉熵构建的,而WGAN的损失函数基于Wasserstein距离。具体来说,WGAN的生成器损失函数(L_G)和判别器(Critic)损失函数(L_D)如下:
- (L_D = - \mathbb{E}{x \sim P}[D(x)]+\mathbb{E}{z \sim P_z}[D(G(z))]),其中(D)是判别器(Critic)函数,(P)是真实数据分布,(P_z)是生成器输入的噪声分布,(G)是生成器函数。这个损失函数的目的是让判别器(Critic)尽可能准确地估计两个分布之间的Wasserstein距离。
- (L_G=\mathbb{E}_{z \sim P_z}[D(G(z))]),生成器的目标是最小化这个损失函数,即让生成器生成的数据在判别器(Critic)上的得分尽可能接近真实数据的得分,从而使生成数据分布和真实数据分布之间的Wasserstein距离减小。
-
权重裁剪(Weight Clipping)或梯度惩罚(Gradient Penalty)
- 为了保证Wasserstein距离计算的有效性和判别器(Critic)的Lipschitz连续性(一种数学性质,用于保证损失函数的平滑性),WGAN采用了权重裁剪或梯度惩罚技术。
- 权重裁剪是一种简单的方法,即限制判别器(Critic)的权重在一个固定的范围内,例如([-c, c]),其中(c)是一个常数。然而,这种方法可能会导致判别器(Critic)的容量受限。
- 梯度惩罚是一种更灵活的替代方法,它在损失函数中添加了一个关于判别器(Critic)梯度的惩罚项。这个惩罚项鼓励判别器(Critic)满足Lipschitz连续性条件,从而使WGAN的训练更加稳定和有效。
-
WGAN的应用优势
- 生成高质量样本
- 由于WGAN能够更稳定地训练生成器,使得生成器可以更好地学习真实数据的分布。例如,在图像生成任务中,WGAN能够生成更加清晰、细节更加丰富的图像。与传统GAN生成的图像相比,WGAN生成的图像在纹理、形状等方面更接近真实图像。
- 缓解模式崩溃
- WGAN通过更准确地衡量分布差异,降低了生成器陷入模式崩溃的风险。在生成多种风格的图像或文本等任务中,WGAN可以使生成器生成更多样化的样本,而不是只集中在少数几种模式上。
- 改善训练稳定性
- 传统GAN在训练过程中,判别器和生成器之间的对抗平衡很容易被打破,导致训练失败。WGAN通过使用Wasserstein距离和相关的训练技术,如梯度惩罚,使得训练过程更加稳定,减少了训练过程中的振荡和发散现象。
WGAN
评论
20 views