WGAN原理

第一部分:原始GAN问题详细讨论

第二部分:WGAN原理

第一部分:

对于判别器,GAN最小化如下损失函数:

其中,Pr表示真实样本分布,Pg表示生成器产生的样本分布。

对于生成器,有两个损失函数:

        第一种损失函数存在的问题是当判别器最优时,生成器损失函数相当于最小化JS散度,即判别器越优,最小化生成器的loss就越接近于最小化Pr和Pg之间的JS散度。但是问题就在这个JS散度上,当两个分布有重叠部分时,可以优化JS散度,而当两个分布不重叠时,JS散度为log2,其梯度为0,因此,会出现梯度消失现象,此时对于最优的判别器来说,生成器不会得到一点信息。有定理说:当Pr和Pg的支撑集是高维空间中的低维流形时,Pr与Pg重叠部分的测度为0的概率为1。因为生成器一般是从低维空间(如100维)的随机分布中采样一个向量,再经过神经网络生成一个高维样本(如4096维),但是由于维度已经被100维限制死了,撑不满4096维,因此Pr和Pg重叠率非常少的几率非常大,所以使用JS散度是不可行的,判别器训练的太好,生成器loss为0,判别器训练的不好,生成器又没有标准,所以判别器需要训练得中等,这个火候难把握。

       第二种损失函数存在的问题是会导致梯度不稳定以及多样性不足,及collapse mode。

梯度不稳定问题详解

最优判别器D*下,生成器的损失函数如下:

KL散度也可变换为D*的形式:

因此,生成器loss2可写为:

最后两项与生成器无关,相当于最小化:

可看出,生成器loss又要最小化KL散度,又要最大化JS散度,又要拉近,又要疏远,在数值上导致梯度不稳定。

collapse mode详解

KL散度是不对称的,

因此,生成器会宁愿局限在某一个小的分布,也不愿尝试出现在Pr没有的点上,所以会出现重复性的样本。

第二部分:

Wasserstein距离又叫Earth-Mover(EM)距离,定义如下:

由于inf无法求解,将公式12近似为:

即有一个函数,满足K-Lipschitz,取后面式子最大,即:

即网络参数的梯度绝对值小于K,该篇论文限制w在[-c,c]之间。

WGAN两个loss变为:

WGAN与原始GAN的不同在于:

(1) 判别器去掉最后一层sigmoid,因为原始的GAN做的是真假二分类,而WGAN拟合Wasserstein距离,属于回归;

(2)判别器和生成器的loss不取log;

(3)要对更新后的参数截断;

(4)不使用动量优化算法(如momentum和Adam),推荐使用RMSProp,SGD也行。

算法流程图如下:

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值