百科问答小站 logo
百科问答小站 font logo



GAN:固定训练好的判别器网络,去指导训练生成器为什么不可以? 第1页

  

user avatar   chuang-9 网友的相关建议: 
      

谢邀。

这个情况其实我在另外一个相似的问题上做过解答。

偷个懒,就把答案搬过来吧。

这其实是一个很有趣的问题。在实践过程中,如果把判别器(Discriminator)训练得太好了,看似能够在对抗中更加有效的拒绝生成器(Generator)生成的假样本,但是其实一样会产生诸多问题。

判别器最主要的作用就是为生成器提供下降梯度。如果判别器太差,则无法提供有效的梯度,同时判别器越好,生成器梯度消失越严重。

回顾一下,原始GAN中判别器要最小化如下损失函数,尽可能把真实样本分为正例,生成样本分为负例:

(公式1)

其中是真实样本分布,是由生成器产生的样本分布。

假设我们如果要学习得到一个最优网络,必然上式求导等于0,则会得到:

(公式2)

从公式上就不难看出,此时最优的判别器,就是判断为真实图像概率对于判断为真和假的概率和的比值。当且,最优判别器就应该非常自信地给出概率0;如果,说明该样本是真是假的可能性刚好一半一半,此时最优判别器也应该给出概率0.5。

在极端情况——判别器最优时,生成器的损失函数变成什么。给损失函数加上一个不依赖于生成器的项,使之变成

(公式3)

注意,它刚好是判别器损失函数的反。代入最优判别器即公式2,再进行简单的变换可以得到

(公式4)

变换成这个样子是为了引入Kullback–Leibler divergence(简称KL散度)和Jensen-Shannon divergence(简称JS散度)这两个重要的相似度衡量指标。

KL散度和JS散度:

(公式5:KL散度)

(公式6:JS散度)

于是公式4就可以继续写成

(公式7)

根据原始GAN定义的判别器loss,我们可以得到最优判别器的形式;而在最优判别器的下,我们可以把原始GAN定义的生成器loss等价变换为最小化真实分布与生成分布之间的JS散度。我们越训练判别器,它就越接近最优,最小化生成器的loss也就会越近似于最小化和之间的JS散度。

问题就出在这个JS散度上。我们会希望如果两个分布之间越接近它们的JS散度越小,我们通过优化JS散度就能将“拉向”,最终以假乱真。这个希望在两个分布有所重叠的时候是成立的,但是如果两个分布完全没有重叠的部分,或者它们重叠的部分可忽略,它们的JS散度是多少呢?

答案是,因为对于任意一个x只有四种可能:

第一种对计算JS散度无贡献,第二种情况由于重叠部分可忽略所以贡献也为0,第三种情况对公式7右边第一个项的贡献是,第四种情况与之类似,所以最终:。

换句话说,无论跟是远在天边,还是近在眼前,只要它们俩没有一点重叠或者重叠部分可忽略,JS散度就固定是常数,而这对于梯度下降方法意味着——梯度为0!此时对于最优判别器来说,生成器肯定是得不到一丁点梯度信息的;即使对于接近最优的判别器来说,生成器也有很大机会面临梯度消失的问题。

但是与不重叠或重叠部分可忽略的可能性有多大?不严谨的答案是:非常大。比较严谨的答案是:当与的支撑集(support)是高维空间中的低维流形(manifold)时,与重叠部分测度(measure)为0的概率为1。

所以其实在实践过程中,用一个很优的判别器去训练好一个网络的概率其实很小。

不然还有什么对抗的意义呢,对吧。

ヾ(≧∇≦*)ゝ

参考:




  

相关话题

  如何评价ST-GCN动作识别算法? 
  对神经网络某一层做了小改进,效果却提升显著,可以发论文吗? 
  李航的统计学习方法,吴恩达的视频,关于机器学习的东西都看不懂是怎么回事? 
  深度学习的多个loss如何平衡? 
  神经网络,人工智能这块怎么入门? 
  怎样让机器有意识? 
  机器学习能否用于综合评价?具体怎么操作? 
  目前 AI 在疾病的诊断和治疗上,有哪些成功的应用? 
  你遇见过什么当时很有潜力但是最终没有流行的深度学习算法? 
  为什么现在有这么多人工智能无用论? 

前一个讨论
2019年,计算机视觉领域,你推荐哪些综述性的文章?
下一个讨论
如何评价2020年计算机视觉顶会CVPR投稿量破万的现象?





© 2024-12-25 - tinynew.org. All Rights Reserved.
© 2024-12-25 - tinynew.org. 保留所有权利