在GAN中使用JS散度评估的问题

Martin Arjovsky, Léon Bottou, Towards Principled Methods for Training Generative Adversarial Networks, 2017, arXiv preprint这篇论文中,作者发现在选择不同的epoch时,随着迭代次数的增加,它们的交叉熵都会减小到一个很低的值,同时准确度也都会到达1.0


在这里插入图片描述

但是通过JS散度来直到GAN的训练过程,从中得到的信息却是很少的。如下图所示,即使使用了一个很强的Generator,JS divergence 大体上仍然是处在某一个固定的值附近


在这里插入图片描述

其中的原因一个可能是由于我们是使用了抽样的方法,虽然真实数据和随机噪声数据之间有一定的重叠部分,但是可能抽样取到的值不在其中,或是D太强,可以找到一个边界将其完美的分割开,这时候就需要我们使用一个弱一点的D来训练。


在这里插入图片描述

另一个原因可能是由于数据本身的特质导致的,比如当我们的数据是如下的二维线性的形式,它们重叠的部分本身就很小。


在这里插入图片描述

再想一下GAN的基本思想是什么?GAN希望pG(x)p_{G}(x)pG(x)pdata(x)p_{data}(x)pdata(x)越接近越好,对于JS散度来说,就是希望它越小越好。但是如果JS散度变化不明显的话,使得pG(x)p_{G}(x)pG(x)接近pdata(x)p_{data}(x)pdata(x)动力就变得很小,训练的过程将会很慢。


在这里插入图片描述

那么解决这个问题的一个办法就是人为的添加一些噪声,比如往D的输入中添加噪声、对于图像的真实标签做一些扰动……这样做就会使得数据的范围变宽,重叠部分就会大一些。当然随着训练的推进,噪声要逐渐减小。


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值