LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS

LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS

尽管最近在生成性图像建模方面取得了进展,但从ImageNet这样的复杂数据集中成功生成高分辨率、多样化的样本仍然是一个难以实现的目标。为此,我们以迄今为止最大的规模训练生成式对抗网络,并研究这种规模特有的不稳定性。我们发现,将正交正则化应用于生成器使其适用于一个简单的 “截断技巧”,允许通过截断latent space来精细控制样本保真度和种类之间的权衡。我们的修改导致了模型在类别条件下的图像合成方面的新技术状态。当在128×128分辨率的ImageNet上进行训练时,我们的模型(BigGANs)达到了166.3的IS和9.6的FID,比之前最好的IS52.52和FID18.65有所提高。

1 INTRODUCTION

近年来,生成性图像建模的发展迅速,生成性对抗网络(GANs,Goodfellow et al.(2014))成为利用直接从数据中学习的模型生成高保真、多样化图像。GAN训练是动态的,并且对其设置的几乎每个方面(从优化参数到模型结构)都很敏感,但是大量的研究已经产生了在各种设置下实现稳定训练的经验和理论见解。尽管取得了这一进展,但条件ImageNet建模(Zhang et al.,2018)的当前技术水平(Salimans et al.,2016)的初始得分为52.5,而实际数据为233。

在这项工作中,我们致力于缩小GANs生成的图像与ImageNet数据集中的真实世界图像之间在保真度和多样性方面的差距。为实现这一目标,我们做出了以下三个贡献。

  • 我们证明了GANs从扩展中获益匪浅,与现有技术相比,训练模型的参数是其2到4倍,批量大小是其8倍。我们引入了两个简单的、通用的架构变化来提高可扩展性,并修改了一个正则化方案来改善调节,明显地提高了性能。

  • 作为我们修改的一个副作用,我们的模型变得适合于 “截断技巧”,这是一种简单的抽样技术,可以明确、精细地控制样本种类和保真度之间的权衡。

  • 我们发现了大规模GANs特有的不稳定性,并根据经验对其进行了描述。利用这一分析的洞察力,我们证明了新技术和现有技术的结合可以减少这些不稳定性,但完全的训练稳定性只能以巨大的性能代价来实现。

我们的修改大大改善了以类为条件的GANs。当在128×128分辨率的ImageNet上训练时,我们的模型(BigGANs)将最先进的Inception Score(IS)和Frechet Inception Distance(FID)分别从52.52和18.65提高到166.3和9.6。我们还在256×256和512×512分辨率的ImageNet上成功地训练了BigGANs,并在256×256上实现了233.0和9.3的IS和FID,在512×512上实现了241.4和10.9的IS和FID。最后,我们在一个更大的数据集–JFT-300M–上训练我们的模型,并证明我们的设计选择能很好地从ImageNet转移过来。

3 SCALING UP GANS

在本节中,我们探讨了扩大GAN训练的方法,以获得更大的模型和更大的batch的性能优势。作为基线,我们采用Zhang等人(2018)的SA-GAN架构,它使用hinge损失(Lim & Ye,2017;Tran等人,2017)GAN目标。我们用类别条件BatchNorm(Dumoulin等人,2017;de Vries等人,2017)向G提供类别信息,用投影法(Miyato & Koyama,2018)向D提供类别信息。优化设置遵循Zhang等人(2018)(特别是采用G中的 Spectral Norm),但我们将学习率减半,每个G步骤采取两个D步骤。对于评估,我们采用Karras等人(2018);Mescheder等人(2018)之后的G的权重的移动平均数,衰减为0.9999。我们使用正交初始化(Saxe等人,2014),而以前的工作使用N(0,0.02I)(Radford等人,2016)或Xavier初始化(Glorot和Bengio,2010)每个模型在谷歌TPU v3 Pod(谷歌,2018)的128至512个核心上进行训练,并在所有设备上以G计算BatchNorm统计数据,而不是像标准实现中那样按设备计算。我们发现渐进式增长(Karras等人,2018)即使对我们最大的512×512模型来说也是不必要的

在这里插入图片描述

表1: Frechet Inception Distance(FID,越低越好)和Inception Score(IS,越高越好)对我们提出的修改进行了消融。Batch是批次大小,Param是参数总数,Ch.是代表每层单位数量的通道乘数,Shared是使用shared embeddings,Hier.是使用分层潜伏空间,Ortho.是正交正则化,Itr要么表示设置稳定到106次迭代,要么表示在给定迭代时崩溃。除第1-4行外,其他结果是在8种不同的随机初始化中计算的。

我们首先增加了基线模型的batch大小,并立即发现这样做有巨大的好处。表1的第1-4行显示,仅仅将batch_size增加8倍,就将最先进的IS提高了46%。我们猜测,这是由于每个batch覆盖了更多的模式,为两个网络提供了更好的梯度。**这种扩展的一个明显的副作用是,我们的模型在更少的迭代中达到更好的最终性能,但变得不稳定,并经历了完全的训练崩溃。我们将在第4节讨论其原因和影响。**在这些实验中,我们在崩溃后就停止训练,并报告在崩溃前保存的检查点的分数。

然后,我们将每层的宽度(通道数)增加50%,使两个模型的参数数量增加一倍。这导致IS进一步提高了21%,我们认为这是由于相对于数据集的复杂性而言,模型的容量增加了。深度增加一倍似乎对ImageNet模型没有产生同样的效果,反而会降低性能。

我们注意到,G中用于条件BatchNorm层的class embeddings c 包含大量的权重。我们没有为每个embeddings 设置单独的层(Miyato等人,2018;Zhang等人,2018),而是选择使用一个shared embedding,它被线性地投射到每个层的收益和偏差(Perez等人,2018)。这减少了计算和内存成本,并将训练速度(达到特定性能所需的迭代次数)提高了37%。接下来,我们采用了 a variant of hierarchical latent spaces,其中噪声向量z被送入G的多个层,而不仅仅是初始层

**这种设计背后的直觉是允许G使用潜在空间来直接影响不同分辨率和层次的特征。**对于我们的架构,这很容易实现,将z分成每个分辨率的一个块,并将每个块连接到条件向量c,投射到BatchNorm收益和偏差(For our architecture, this is easily accomplished by splitting z into one chunk per resolution, and concatenating each chunk to the conditional vector c which gets projected to the BatchNorm gains and biases.)。以前的工作(Goodfellow等人,2014年;Denton等人,2015年)已经考虑了这个概念的变体;我们的贡献是对这个设计的一个小修改。Hierarchical latents改善了内存和计算成本(主要是通过减少第一个线性层的参数预算),提供了约4%的适度性能改进,并进一步提高了18%的训练速度。

3.1 TRADING OFF VARIETY AND FIDELITY WITH THE TRUNCATION TRICK

与需要反向传播其潜质的模型不同,GANs可以采用任意的先验p(z),但以前的绝大多数工作都选择从N(0,I)或U[-1,1]中抽取z。我们对这一选择提出质疑,并在附录E中探讨了替代方案。

在这里插入图片描述

图2:(a)增加truncation的效果。从左到右,阈值=2,1.5,1,0.5,0.04。(b)对条件差的模型应用截断后出现的饱和假象。

值得注意的是,我们最好的结果来自于使用与训练时不同的潜在分布进行采样。以z∼N(0,I)训练的模型为例,从截断的正态分布中取样(在这个范围之外的值被重新取样到这个范围之内),立即为IS和FID提供了一个提升。我们称之为 “截断技巧”:通过对幅度超过所选阈值的数值进行重新采样来截断z向量,以减少整体样本种类为代价来提高单个样本的质量。图2(a)表明了这一点:随着阈值的降低,z的元素被截断为零(latent distribution的模式),单个样本接近G的输出分布的模式。

值得注意的是,我们可以计算一系列阈值的FID和IS,得到sample quality and variety曲线,这让人联想到精确-召回曲线(图16)。由于IS并不惩罚类条件模型中的lack of variety,减少截断阈值会导致IS的直接增加(类似于精度)。FID惩罚缺乏多样性(类似于召回率),但也奖励精度,所以我们最初看到FID有适度的改善,但随着截断接近零,多样性减少,FID急剧下降。

对许多模型来说,用不同于训练中所看到的latents 取样所引起的分布转移是有问题的。我们的一些较大的模型不适合截断,在输入截断噪声时产生饱和伪影(图2(b))。为了解决这个问题,我们试图通过调节G的平滑性来加强对截断的适应性,从而使Z的全部空间能够映射到良好的输出样本。为此,我们转向Orthogonal Regularization(Brock等人,2017),它直接强制执行正交条件。

在这里插入图片描述

其中W是一个权重矩阵,β是一个超参数。众所周知,这种正则化往往限制性太强(Miyato等人,2018年),因此我们探索了几个变体,旨在放松约束,同时仍然为我们的模型赋予所需的平滑度。我们发现效果最好的版本是将对角线项从正则化中移除,并旨在最小化filters 之间的成对余弦相似性,但不限制norm

在这里插入图片描述

其中 1 \mathbf 1 1表示一个所有元素都设置为1的矩阵。我们试验过β值,选择 1 0 − 4 10^{-4} 104,发现这个小的额外正则化足以提高我们的模型可以被截断的可能性。在表1中,我们观察到在没有正交正则化的情况下,只有16%的模型可以被截断,而在用正交正则化训练时,有60%的模型可以被截断。

SUMMARY

我们发现,目前的GAN技术足以实现对大型模型的扩展和分布式的大批量训练。我们发现,我们可以极大地提高技术水平,在不需要像Karras等人(2018)那样明确的多尺度方法的情况下,训练模型到512×512分辨率。尽管有这些改进,我们的模型经历了训练崩溃,在实践中必须提前停止。在接下来的两节中,我们研究了为什么在以前的工作中稳定的设置在应用规模时变得不稳定。

4 ANALYSIS

在这里插入图片描述

图3:在Spectral Normalization之前,G(a)和D(b)层的第一奇异值 σ 0 σ_0 σ0的典型图。G中的大多数层都有良好的频谱,但如果没有约束,一小部分在整个训练过程中都会增长,并在崩溃时爆炸。D的光谱比较嘈杂,但其他方面表现较好。从红到紫的颜色表示越来越深。

4.1 CHARACTERIZING INSTABILITY: THE GENERATOR

以前的许多工作都从各种分析角度和玩具问题上研究了GAN的稳定性,但我们观察到的不稳定性发生在小规模稳定的设置中,因此有必要在大规模上进行直接分析。我们在训练过程中监测了一系列的权重、梯度和损失统计,以寻找一个可能预示训练崩溃开始的指标,类似于(Odena等人,2018)。我们发现每个权重矩阵的前三个奇异值 σ 0 、 σ 1 、 σ 2 σ_0、σ_1、σ_2 σ0σ1σ2是最有信息的。它们可以使用Alrnoldi迭代法(Golub & der Vorst, 2000)进行有效计算,该方法将Miyato等人(2018)使用的幂级迭代法扩展到估计额外的奇异向量和值。

一个明显的模式出现了,从图3(a)和附录F可以看出:大多数G层有良好的频谱规范,但有些层(通常是G的第一层,which is over-complete and not convolutional)是ill-behaved,其频谱规范在整个训练中增长,在崩溃时爆炸。

为了确定这种病态是崩溃的原因还是仅仅是一种症状,我们研究了对G施加额外条件以明确对抗频谱爆炸的影响。首先,我们直接对每个权重的顶部奇异值 σ 0 σ_0 σ0进行正则化处理,要么朝向一个固定值 σ r e g σ_{reg} σreg,要么朝向第二个奇异值的某个比率r, r ⋅ s g ( σ 1 ) r\cdot sg(σ_1) rsg(σ1)(其中sg是停止梯度操作,以防止正则化增加 σ 1 σ_1 σ1)。另外,我们采用部分奇异值分解来代替钳制σ0(we employ a partial singular value decomposition to instead clamp σ0.)。给定一个权重W,它的第一个奇异向量 u 0 和 v 0 , 以 及 σ c l a m p u_0和v_0,以及σ_{clamp} u0v0σclamp,即 σ 0 σ_0 σ0将被clamped的值,我们的权重就变成了

在这里插入图片描述

其中 σ c l a m p σ_{clamp} σclamp被设置为 σ r e g σ_{reg} σreg r ⋅ s g ( σ 1 ) r\cdot sg(σ_1) rsg(σ1)。我们观察到,无论是有还是没有光谱归一化,这些技术都有防止 σ 0 或 σ 0 / σ 1 σ0或σ_0/σ_1 σ0σ0/σ1逐渐增加和爆炸的效果,但即使在某些情况下,它们温和地改善了性能,没有任何组合能防止训练崩溃。这一证据表明,虽然调节G可能会提高稳定性,但它不足以确保稳定性。因此,我们把注意力转向了D。

4.2 CHARACTERIZING INSTABILITY: THE DISCRIMINATOR

和G一样,我们分析了D的权重谱,以深入了解其行为,然后通过施加额外的约束来寻求稳定训练。图3(b)显示了D的 σ 0 σ_0 σ0的典型图(进一步的图见附录F)。与G不同的是,我们看到频谱是有噪声的, σ 0 / σ 1 σ_0/σ_1 σ0/σ1是行为良好的,奇异值在整个训练过程中不断增长,但只是在崩溃时跳跃,而不是爆炸。

D的频谱中的尖峰可能表明它周期性地接受了非常大的梯度,但我们观察到Frobenius规范是平滑的(附录F),表明这种影响主要集中在前几个奇异方向上。我们认为这种噪声是通过对抗性训练过程进行优化的结果,其中G定期产生强烈扰动D的批次。如果这种频谱噪声与不稳定性有因果关系,一个自然的对策就是采用梯度惩罚,明确地将regularize D的Jacobian系数的变化。我们探索Mescheder等人(2018)的 R 1 R_1 R1零中心梯度惩罚

在这里插入图片描述

在默认建议的γ强度为10的情况下,训练变得稳定,并改善了G和D中光谱的平滑性和约束性,但性能严重下降,导致IS下降45%。降低惩罚力度可以部分缓解这种退化,但会导致频谱越来越不稳定;即使惩罚力度降低到1(不会发生突然崩溃的最低力度),IS也会降低20%。用不同强度的正交正则化、DropOut(Srivastava等人,2014)和L2(详见附录H)重复这个实验,发现这些正则化策略有类似的行为:如果对D有足够高的惩罚,可以实现训练的稳定性,但要付出很大的性能代价。

我们还观察到,D的损失在训练期间接近零,但在崩溃时经历了一个急剧上升的跳跃(附录F)。对这种行为的一个可能的解释是,D对训练集过度拟合,记忆训练实例,而不是学习真实图像和生成图像之间一些有意义的边界。作为对D的记忆力的简单测试(与Gulrajani等人(2017)有关),我们在ImageNet训练集和验证集上评估未折叠的判别器,并衡量有多少百分比的样本被分类为真实或生成。虽然训练准确率一直在98%以上,但验证准确率却在50-55%之间,不比随机猜测的结果好(不管正则化策略如何)。这证实了D确实在记忆训练集;我们认为这符合D的作用,它不是明确的概括,而是提炼训练数据,为G提供有用的学习信号。

我们发现,稳定性并不完全来自于G或D,而是来自于它们通过对抗性训练过程的互动。虽然它们的不良条件的症状可以用来跟踪和识别不稳定性,但确保合理的条件被证明对训练是必要的,但不足以防止最终的训练崩溃。有可能通过强烈限制D来强制实现稳定,但这样做会在性能上产生巨大的代价。在目前的技术中,通过放松这种调节,允许崩溃在训练的后期阶段发生,可以获得更好的最终性能,此时的模型已经被充分训练以获得良好的结果。

我们使用(Zhang等人,2018)的ResNet(He等人,2016)GAN架构。该架构与(Miyato等人,2018)所使用的架构相同,但修改了D中的通道模式,使每个区块的第一个卷积层的过滤器数量等于输出过滤器的数量(而不是输入过滤器的数量,如Miyato等人(2018);Gulrajani等人(2017))。

我们在G中使用一个单一的共shared class embedding,它被线性投影以产生BatchNorm层的每个样本增益和偏置。偏置投射是以零为中心的,而增益投射是以一为中心的。当采用分层潜伏空间时,潜伏向量z被沿其通道维度分割成同等大小的块,每个块被分别连接到传递到给定块的类嵌入副本。

在这里插入图片描述

图15:(a)G的典型结构布局;细节见下表。(b) G中的一个Residual Block。c与z的一个块连接,并投射到BatchNorm的增益和偏置。

-1624505264611)]

图15:(a)G的典型结构布局;细节见下表。(b) G中的一个Residual Block。c与z的一个块连接,并投射到BatchNorm的增益和偏置。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值