wgan 不理解 损失函数_GAN的优化(三):对偶与WGAN

本文介绍了Wasserstein距离在解决GAN中度量连续性问题的作用,通过实例解释了Wasserstein距离的计算,并探讨了其在高维空间中的优势。此外,还引入了对偶问题的概念,以及WGAN的判别器损失函数,为后续的1-Lipschitz限制打下基础。
摘要由CSDN通过智能技术生成

0415e954686900aff9b9d13fe812eb1b.png

本文首发于微信公众号:有三AI

作者:小米粥

说到对GAN的理解,我们不能简单停留在“生成器产生样本,判别器分辨样本真假”的阶段了,在经过第二篇文章后,对GAN的理解应该是:先学习一个关于生成器定义的隐式概率分布和训练数据集的本质概率分布之间的距离度量,然后优化生成器来缩减这个距离度量。今天的主要内容依旧围绕这个距离度量来展开。

1.度量连续性的问题

在第二篇文章的最后,我们简要讨论了f散度的问题。实际中,生成器定义的隐式概率分布和训练数据集的本质概率分布几乎不存在重叠部分,而且随着数据维度增加,这个趋势会更加严重,那么采样计算得来的f散度距离不仅不连续,而且几乎处处导数为0。

用一个非常简单的例子来解释一下,在二维空间有两个无任何重合的均匀分布,其中

f5a84580c2acd0786733c685627a91ac.png

我们来计算一下两个分布的KL散度,JS散度,总变差。

可以看出,当P和Q没有重合或者重合部分可忽略时,其f散度值为常数;当两者完全重合时,f散度值为0,即f散度无法为生成器提供可以减少损失函数的梯度信息,生成器无法训练获得优化方向。

对于此问题的一种解决方案是:通过对数据集中的样本和生成器生成的样本增加噪声,使得原本的两个低维概率分布“弥散”到整个高维空间,强行让它们产生不可忽略的重叠,此时的f散度便能“指示”出两个分布的距离。在训练过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DCGAN(Deep Convolutional Generative Adversarial Network)和WGAN-GP(Wasserstein GAN with Gradient Penalty)是两种常用的生成对抗网络模型。它们的损失函数公式如下: DCGAN损失函数公式: DCGAN使用了两个网络:生成器(Generator)和判别器(Discriminator)。生成器的目标是生成逼真的样本,而判别器的目标是区分真实样本和生成样本。DCGAN损失函数包括两部分:生成器损失和判别器损失。 1. 生成器损失: 生成器损失使用了交叉熵损失函数,表示生成样本被判别为真实样本的概率的负对数: L_G = -log(D(G(z))) 其中,G(z)表示生成器生成的样本,D表示判别器,z表示生成器的输入噪声。 2. 判别器损失: 判别器损失也使用了交叉熵损失函数,表示真实样本被判别为真实样本的概率和生成样本被判别为生成样本的概率的负对数之和: L_D = -log(D(x)) - log(1 - D(G(z))) 其中,x表示真实样本。 WGAN-GP的损失函数公式: WGAN-GP是对Wasserstein GAN进行改进的模型,引入了梯度惩罚(Gradient Penalty)来解决原始WGAN的训练不稳定问题。WGAN-GP的损失函数包括部分:生成器损失、判别器损失和梯度惩罚项。 1. 生成器损失: 生成器损失与DCGAN相同,使用了交叉熵损失函数: L_G = -log(D(G(z))) 2. 判别器损失: 判别器损失也与DCGAN相同,使用了交叉熵损失函数: L_D = -log(D(x)) - log(1 - D(G(z))) 3. 梯度惩罚项: 梯度惩罚项是WGAN-GP的关键改进,用于约束判别器的梯度。它通过计算真实样本和生成样本之间的差异,并对差异进行惩罚。梯度惩罚项的计算公式如下: L_GP = λ * ∥∇D(εx + (1-ε)G(z))∥₂ - 1∥² 其中,ε是从[0, 1]均匀采样的随机数,λ是梯度惩罚系数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值