GAN:ImprovedGAN-训练GAN的改进策略

论文:https://arxiv.org/abs/1606.03498

代码:https://github.com/openai/improved_gan

发表:NIPS 2016

GAN:ImprovedGAN-训练GAN的改进策略_第1张图片

一、文章创新

GAN:ImprovedGAN-训练GAN的改进策略_第2张图片

1:Feature matching:特征匹配通过为生成器指定新目标来解决GANs的不稳定性,从而防止其在当前鉴别器上过度训练。以前是直接最大化鉴别器的输出。现在是要求生成器生成的数据要能匹配真实数据的统计信息。具体来说,生成网络产生的图片经过判别网络后的中间层的feature 和真实图片经过判别网络的feature尽可能相同。判别网络仍按照原来的方式训练。

GAN:ImprovedGAN-训练GAN的改进策略_第3张图片

2:Minibatch discrimination: 文章指出,GAN很容易导致模式坍塌(mode collapse),也即生成器生成的结果单一(或者说不管随机变量z输入什么,输出的结果都一样)。这是因为辨别器在辨别的时候是对单个样本进行辨别(对每个输入均给出一个0-1的分数),没有考虑样本之间的关系,所以容易造成模式坍塌。

这块理解不是很透彻,可以参考:ImprovedGAN:Improved Techniques for Training GANs - 知乎

GAN:ImprovedGAN-训练GAN的改进策略_第4张图片 

3Historical averaging: 

生成器和辨别器的损失加上一项。其实就是对模型进一段时刻内的参数做了个平均,防止模型的参数变化太过剧烈。

GAN:ImprovedGAN-训练GAN的改进策略_第5张图片

 4One-sided label smoothing: 

标签平滑(label smoothing)方法最开始在1980s就提出过,它在分类问题上具有非常广泛的应用,主要是为了解决过拟合问题。这个方法是将分类器的判别结果0和1替换为平滑值:如0.1和0.9,标签平滑可以减少神经网络对对抗样本的脆弱性。

GAN:ImprovedGAN-训练GAN的改进策略_第6张图片

为什要单侧?

参考1:GAN的优化(七):几个训练小技巧 - 知乎

参考2: 对抗生成网络GANs的一些见解(二)_单侧标签平滑 gan-CSDN博客

具体怎么实现?

GAN:ImprovedGAN-训练GAN的改进策略_第7张图片

 

  5:Virtual batch normalization: 

DCGAN使用了BN,取得了不错的效果。但是BN有个缺点,即BN会时G网络生成一个batch的图片中,每张图片都有相关联(如,一个batch中的图片都有比较多的绿色)。

了避免这个问题,作者提出了一种新的bn方法,叫做virtual batch normalization。首先从训练集中拿出一个batch在训练开始前固定起来,算出这个特定batch的均值和方差,进行更新训练中的其他batch。VBN的缺点也显而易见,就是需要更新两份参数,比较耗时。
 

你可能感兴趣的:(生成对抗网络,人工智能,神经网络)