飞桨PaddlePaddle(论文复现)-BigGAN解读

飞桨PaddlePaddle(论文复现)-BigGAN解读

先来看看效果(左上脚为生成的图像)在这里插入图片描述
在这里插入图片描述

论文在现有GAN的基础上对生成样本的保真度与多样性之间的权衡进行改进

在ImageNet的128*128分辨率下训练,我们的模型(BigGANs)得到了166.3的Inception Score(IS)和9.6的Frechet Inception Distance(FID),改善了之前最好的52.52的IS和18.65的FID。

这篇论文没有提出新的模型,只是将原有的GAN的模型,
1.用8倍原有的batch size大小,
2.将隐藏层的变量数量扩充到原有模型的4倍以后进行训练获得了很好的图片生成的效果。
3.在扩充了变量数量和batch size大小后,模型出现了不稳定的现象,文章中对出现的不稳定现象,采用现有的比较有效的稳定训练GAN的方
4.文中发现这样确实会稳定GAN的训练,但是同时会牺牲生成图片的质量。

关于实现细节的问题

GAN架构:

SA-GAN

损失函数:

hinge loss

类信息处理:

Batch Norm for G

projection for D

训练

Spectral Norm in G

学习率减半

每训练G一次,训练D两次

G的权重使用moving average,decay为0.9999

初始化

Orthogonal Initialization

文章首先发现,只是增加batch size的大小到原来大小的8倍,模型提升了生成图片的质量(用Inception Score度量),但是也加快了模型发生不稳定和模式崩塌速度。

接着,增加每层的神经元的个数,将其个数翻倍,这样同样提升了生成图片的质量(用Inception Score度量)。但是实验发现,增加GAN网络的深度,并没有改善图片生成的质量。

文中对于类信息c使用batch norm处理,并采用了共享的策略,将c的信息传递给每一层中,这样可以提高性能,减少计算量。除了将类信息c传递到每层,文中同样将z,也就是生成图片所用的噪声数据传递到了每层,这样可以提升性能和加快训练速度。

文章讨论较多的是被其称作截断技巧的部分,简单说,截断技巧就是,用正态分布数据进行训练,然后测试的时候,采用截断的正态分布数据来生成更好的图片(这个思路类似于,训练了一大批军队,但是到时候真正上战场的是这批军队中的精兵)。这个技巧能很好的提高生成图片的质量,但是会降低生成图片的多样性。但是,有些模型不会服从截断(也就是说,使用了截断技巧,但是没有提升产生图片的质量),文章尝试用正交化初始化的方式,解决这个问题,最终找到较好的正则化权重如下:LargeScaleGANtrainingforHighFidelityNaturalImageSynthesis

文章中同时也对于GAN训练的稳定性做了研究,首先他们发现了生成器G的第一层的最大奇异值,会在发生模式崩塌的情况下,剧烈变化并且爆炸增长。但是限制这一层权重的增长,以限定其最大奇异值的变化,并没有保证获得模型的稳定,因而他们认为第一层最大奇异值的变化,是模式崩塌发生的征兆,而不是原因。

文章近一步研究了分辨器的模式崩塌的情况,发现在模式崩塌发生的时候,其权重的奇异值会发现跳跃,同时文章尝试了很多正则化的方法来防止模式崩塌的现象,发现采用了这些正则化的方法,可能会防止模式崩塌,但是这是以生成样本的质量为代价的。因而文章给出的建议是,在现有的技术情况下,可以考虑松弛防止模式崩塌的约束,或者就让模式崩塌发生,从而换取更好的模型生成的图片的质量。

文章的附录部分的讨论也值得一读,比如使用的GAN使用了resNet的架构;训练的trick,还有就是对于隐藏变量——生成器的输入z的取值研究,文中的实验表明,使用伯努利分布,Censored Normal,正态分布和伯努利分布的混合都可以提高输出图片的质量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值