zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

BigGAN-论文阅读笔记

2023-03-14 22:43:02 时间

论文结构


1.Introduction

2.Background

3.Scaling up GANs

3.1 Trading off variety and

fidelity with the truncation trick

3.2 Summary

4.Analysis

4.1 Characterizing instability: the

generator

4.2 Characterizing instability: the

discriminator

4.3 Summary

5.Experiments

5.1 Evaluation on ImageNet

5.2 Additional evaluation on JFT-300M

6.Conclusion


摘要


原文

Despite recent progress in generative image modeling, successfully generating high-resolution, diverse samples from complex datasets such as ImageNet remains an elusive goal. To this end, we train Generative Adversarial Networks at the largest scale yet attempted, and study the instabilities specific to such scale. We find that applying orthogonal regularization to the generator renders it amenable to a simple truncation trick, allowing fine control over the trade-off between sample fidelity and variety by reducing the variance of the Generator’s input. Our modifications lead to models which set the new state of the art in class-conditional image synthesis. When trained on ImageNet at 128x128 resolution, our models (BigGANs) achieve an Inception Score (IS) of 166.5 and Frechet Inception Distance (FID) of 7.4, improving over the previous best IS of 52.52 and FID of 18.6.


核心

1.基于复杂数据集(如ImageNet)生成高分辨率的多类别图像仍旧是一个非常困难的目标

2.为此,我们训练了现有最大规模的GAN,并研究了这种规模下GAN训练的不稳定性

3.在生成器上应用正交正则化使得它能够进行隐空间的截断,从而可以调节生成器输入的方差,实现了对生成图像保真度和多样性之间平衡的良好控制

4.BigGAN成为了目前类别条件图像生成领域的新SOA模型

5.使用ImageNet进行128×128分辨率的训练时,BigGAN的IS得分为166.5,FID得分为7.4


研究背景


Research background


谱归一化(Spectral Normalization)

• 卷积操作可以看成是矩阵乘法,只需要约束,每一层卷积核的参数 W,使它是Lipschitz连续的,就可以满足整个神经网络的Lipschitz连续性

• 谱归一化,是另一种让函数满足Lipschitz连续性的方式,因为经过谱归一化之后,神经网络的每

一层权重,都满足

• 在每一次训练迭代中对神经网络的每一层作奇异值(SVD)分解求解谱范数是不现实的,因此采用幂迭代的方法去迭代得到奇异值的近似解


条件判别

image


• Concat自由度非常大,增加了函数的假设空间,导致性能变差

• Condition Batch Normalization是另一种融合条件信息的方式,作者将它应用在生成器的每一层

• 其中γ和β是把图片的类别信息输入一个浅层网络求得,从而不同类别的图片,将对于不同的 BN 层参数

• 判别器中,首先提取输入图像的特征,然后再分成两路:一路与编码后的类别标签 y 做点乘,另一路映射成一维向量,最后两路结果相加,作为神经网络最终的输出,越大代表输入越真实


研究意义


• 将多类别自然图像生成的效果大幅提升到了令人震惊的水准

• 深入研究了GAN训练稳定性与性能之间的平衡


image


• 证明了大batch和大网络对于GAN的重要性

• 积累了大规模GAN网络训练的工程经验

• 大幅推进了多类别图像生成的SOTA得分


image


模型框架


• 使用SAGAN作为Baseline

• 生成器使用类别条件BN,判别器使用projection,使用hinge loss作为损失函数

• 在SAGAN优化方式的基础上,将学习率减半,并且每一个G step运行两个D steps

• 推断时,使用了Weighted Moving Average技巧

• 模型参数使用了正交初始化

• 使用Google TPUv3 Pod的128-512个cores进行并行训练,对所有并行数据联合使用 BatchNorm


image


将batch size提升到8倍,IS得分增加了46%,这可能是因为每个batch可以覆盖更多的模式了

• 增大batch size后,模型可以收敛的更快,但训练也变得更加不稳定更容易发生崩溃

• 将模型每层的通道数增加50%,总参数大约增加两倍(1.5*1.5),IS得分进一步提高了21%

• 在ImageNet上训练时,加深模型深度并不能带来帮助,反而会降低性能

• 生成器的条件BN层,使用共享的条件嵌入,这使得训练速度提高了37%

• 将随机噪声z切分后输入到生成器的多个层,而不仅仅是初始层,这带来了4%的性能提升和18%的速度提升


image


• 通过这些改进,BigGAN可以在不使用ProGAN分层训练的条件下,也能生成512*512的高清图像

• 但模型仍然存在训练崩溃的可能性,并需要在实践中进行早期停止


image


image


隐空间截断


Truncation Trick

• GAN可以接受任意先验分布,一般设为标准高斯分布,或者[-1,1]的均匀分布

• BigGAN在训练时仍然使用标准高斯分布,但推断时使用截断的高斯分布

• 通过截断技巧能提升生成图像的质量,但会减少生成的多样性,可以用来在训练后对生成质量和多样性的trade-off进行调节

image

• IS不会对模型缺乏多样性进行惩罚,所以使用截取技巧后会提高IS得分

• FID会同时考虑多样性和生成质量,随着截断越来越接近0,FID得分会先增大,然后急剧下降

• 由于训练的噪声分布和推断的噪声分布的不同,一些模型在使用截断技巧后会产生饱和伪影

• 为了减少这种情况,作者设法提升生成器的平滑性,以便z的整个空间都能映射到良好的输出样本,从而提高截断技巧的适应性


image


• 为此,作者使用了正交正则化


image


• 但是原始的正交性条件过于严格,因此作者尝试了几种正交正则化的变体,希望在放松约束的同时仍然能为生成器带来所需的平滑性

• 最终,作者发现最好的变体,是从正则化中删除对角元素,并且把最小化滤波器之间的余弦相似性作为目标,同时不限制它们的范数


image


• 其中1表示全为1的矩阵,β经过试验,选取为1e-4

• 使用正交正则化之前,只有16%的模型适合上述的截断技巧,而使用之后,适合的比例达到了60%


不稳定性分析


Analysis

生成器

• 对模型的权重进行监控,以寻找可能预示着训练即将崩溃的指标

• 实验发现每个权重矩阵的前三个奇异值是最有用的,这些奇异值可以用Alrnoldi迭代法进行计算

• 不使用谱归一化时,生成器的大多数层表现正常,但第一层(非卷积层)的谱范数在训练过程中保持增长,并在崩溃发生时爆炸

• 尝试对生成器的每个权重的首个奇异值进行正则化,可以防止持续增加和爆炸,但仍不能阻止训练崩溃


image


判别器

• 使用上述方法来分析判别器,发现判别器的谱范数有很多噪声

• 各层的奇异值在训练过程中保持增长,在训练崩溃时发生跳跃而不是爆炸

• 各层的权重周期性的在前几个奇异方向上接受到了非常大的梯度,说明生成器会周期性产生对判别器有强烈干扰的batch

• 尝试使用各类正则化策略来削弱噪声,结果显示:对判别器的惩罚足够高时,可以实现稳定训练,但性能成本很高

• 另外,判别器正常训练时损失接近0,而发生崩溃时损失急剧上升,这可能是因为判别器过度拟合了训练集,而没能学习到区分真实图像和生成图像的真正规则;测试发现,判别器对训练集的样本分类精度高于98%,而验证集上的精度只有50-55%,说明判别器只是简单记住了训练集


实验结果


Experiments


ImageNet

• 训练了128、256、512三种分辨率的模型

• 记录了不同设置下的得分:最佳FID,IS与验证集的IS相同,最佳IS

• 这三种情况下,IS和FID得分都优于SNGAN和SAGAN

• 还尝试了4x深度的BigGAN-deep,使用了不同的ResBlock结构,结果显示性能有进一步的提升

• 使用最近邻方法搜索了与生成样本最接近的真实样本

• badcase与其它GAN的局部artifacts不一样


image


image


• 固定住随机噪声z,而只对类别向量c进行插值时,生成图像的大致结构保持不变


image


• 各个类别生成的效果不一样,比如狗生成的比人要好


image


JFT-300M

• 有300M张图像,包括18k个类别;保留其中最多的8.5k个类别,共292M张图像,比ImageNet大两个数量级;对

于有多个标签的图像,采样时随机选一个

• 使用在该数据集上训练的Inception v2模型来计算IS和FID得分

• 使用了ImageNet上模型的轻量级版本,模型大小与SAGAN相当,使用ImageNet实验中的最佳参数

• 结果表明,使用论文的改进技术能够在SAGAN的基础上显著提升性能,说明了本文所使用技巧的可泛化性

• 不同于ImageNet的结果,在JFT-300M上如果把模型进一步增大,性能还能进一步提升


image


论文总结


结论

• 提升GAN网络的规模,能对生成图像的保真度和多样性都带来很大提升

• 把基于ImageNet训练的GAN模型的生成能力提升到了新的阶段,大幅提高了SOA得分

• 基于模型权重的奇异值,对训练的稳定性进行了表征和分析,讨论了稳定性和性能之间

的相互影响



[外链图片转存中…(img-1lEdk7GS-1665106488450)]


论文总结


结论

• 提升GAN网络的规模,能对生成图像的保真度和多样性都带来很大提升

• 把基于ImageNet训练的GAN模型的生成能力提升到了新的阶段,大幅提高了SOA得分

• 基于模型权重的奇异值,对训练的稳定性进行了表征和分析,讨论了稳定性和性能之间

的相互影响