当前位置: 首页 > article >正文

(NIPS-2024)GAN 已死;GAN 万岁!现代基线 GAN

GAN 已死;GAN 万岁!现代基线 GAN

paper是布朗大学发表在NIPS 2024的工作

paper title:The GAN is dead; long live the GAN! A Modern Baseline GAN

Code:https://github.com/brownvc/R3GAN

Abstract

有一种普遍的说法是 GAN 难以训练,文献中的 GAN 架构充斥着经验技巧。我们提供了反驳这一说法的证据,并以更原则的方式构建了现代 GAN 基线。 首先,我们推导出一个表现良好的正则化相对论 GAN 损失,解决了模式丢失和非收敛问题,这些问题之前是通过一袋临时技巧解决的。我们对我们的损失进行了数学分析,并证明它承认局部收敛保证,这与大多数现有的相对论损失不同。其次,这种损失使我们能够丢弃所有临时技巧,并用现代架构替换常见 GAN 中使用的过时主干。以 StyleGAN2 为例,我们提出了简化和现代化的路线图,从而产生了一个新的极简基线——R3GAN(“Re-GAN”)。尽管方法简单,但我们的方法在 FFHQ、ImageNet、CIFAR 和 Stacked MNIST 数据集上的表现超越了 StyleGAN2,并且与最先进的 GAN 和扩散模型相比毫不逊色。

1 Introduction

生成对抗网络 (GAN) 让我们能够在一次前向传递中生成高质量的图像。 然而,Goodfellow 等人 [13] 中的原始目标由于其极小极大性质而难以优化。这导致人们担心训练可能会因不稳定性而随时出现分歧,并且担心生成的图像可能会因模式崩溃而失去多样性。虽然 GAN 目标取得了进展 [14, 22, 81, 52, 64],但实际上,脆弱损失的影响仍然经常存在。 这种恶名对 GAN 研究产生了持久的负面影响。

一个补充问题(部分原因在于这种不稳定性)是,现有的流行 GAN 主干(如 StyleGAN [29, 31, 30, 32])使用了许多不太为人理解的经验技巧,而理论很少。例如,StyleGAN 使用梯度惩罚非饱和损失 [52] 来提高稳定性(影响样本多样性),但随后采用小批量标准偏差技巧 [28] 来增加样本多样性。没有这些技巧,StyleGAN 主干仍然类似于 2015 年的 DCGAN [60],但它仍然是 GigaGAN [26] 和 StyleGAN-T [70] 等 SOTA GAN 的共同主干。 与其他生成模型(如扩散模型 [20, 78, 33, 34])相比,GAN 的进展一直比较保守,而现代计算机视觉技术(如多头自注意力 [87])和预激活 ResNet [17]、U-Net [63] 和视觉转换器 (ViT) [9] 等主干模型才是主流。考虑到主干模型已经过时,人们普遍认为 GAN 在 Frechet Inception Distance [19] 等定量指标方面无法扩展,这并不奇怪。

我们重新考虑这种情况:我们表明,通过将目标进展与正则化训练损失相结合,GAN 可以获得更好的训练稳定性,这使我们能够使用现代骨干升级 GAN。首先,我们提出了一个新目标,用零中心梯度惩罚 [52, 64] 增强相对配对 GAN 损失 (RpGAN; [22]),从而提高稳定性 [14, 64, 52]。我们从数学上证明了梯度惩罚的 RpGAN 与正则化经典 GAN 享有相同的局部收敛保证,并且删除我们的正则化方案会导致不收敛。

一旦我们得到了一个表现良好的损失,任何 GAN 技巧都不再必要 [28, 31],我们就可以自由地设计一个现代的 SOTA 骨干架构。我们剥离 StyleGAN 的所有功能,找出那些必不可少的功能,然后从现代 ConvNets 和 transformers [48, 97] 中借鉴新的架构设计。简而言之,我们发现适当的 ResNet 设计 [17, 67]、初始化 [99] 和重采样 [29, 31, 32, 100] 很重要,还有分组卷积 [95, 5] 和无规范化 [31, 34, 14, 88, 4]。这导致了一种比 StyleGAN 更简单的设计,并且在相同网络容量的情况下提高了 FID 性能(FFHQ-256 上的 2.75 vs. 3.78)。

总之,我们的工作首先从数学上证明了 GAN 训练起来并不需要技巧,只需通过改进正则化损失即可。然后,它通过经验开发了一个简单的 GAN 基线,该基线在没有任何技巧的情况下,在 FFHQ、ImageNet、CIFAR 和 Stacked MNIST 数据集上与 StyleGAN [29、31、32]、其他 SOTA GAN [3、42、94] 和扩散模型 [20、78、86] 进行了 FID 比较。

2 Serving Two Masters: Stability and Diversity with RpGAN + R 1 + R 2 +R_1+R_2 +R1+R2

在定义 GAN 目标时,我们解决了两个挑战:稳定性和多样性。一些先前的研究涉及稳定性 [29、31、32],其他先前的研究涉及模式崩溃 [22]。为了在这两个方面取得进展,我们将稳定方法与基于理论的简单正则化器相结合。

2.1 Traditional GAN


传统GAN[13,57]被定义为判别器(或评判器) D ψ D_\psi Dψ与生成器 G θ G_\theta Gθ之间的一个极小极大博弈。给定真实数据 x ∼ p D x \sim p_{\mathcal{D}} xpD和由 G θ G_\theta Gθ生成的伪造数据 x ∼ p θ x \sim p_\theta xpθ,GAN的最一般形式表示为:

L ( θ , ψ ) = E z ∼ p z [ f ( D ψ ( G θ ( z ) ) ) ] + E x ∼ p D [ f ( − D ψ ( x ) ) ] \mathcal{L}(\theta, \psi)=\mathbb{E}_{z \sim p_z}\left[f\left(D_\psi\left(G_\theta(z)\right)\right)\right]+\mathbb{E}_{x \sim p_{\mathcal{D}}}\left[f\left(-D_\psi(x)\right)\right] L(θ,ψ)=Ezpz[f(Dψ(Gθ(z)))]+ExpD[f(Dψ(x))]

其中 G G G试图最小化 L \mathcal{L} L,而 D D D试图最大化它。 f f f的选择是灵活的[50, 44]。特别地, f ( t ) = − log ⁡ ( 1 + e − t ) f(t)=-\log \left(1+e^{-t}\right) f(t)=log(1+et)可以恢复Goodfellow等人提出的经典GAN[13]。在本文的其余部分,我们将选择此 f f f作为标准[57]。

已有研究表明,当 p θ p_\theta pθ可以直接优化时,公式(1)具有凸性质[13, 81]。然而,在实际实现中,经验GAN损失通常会将伪造样本推移到由 D D D设置的决策边界之外,而不是直接更新密度函数 p θ p_\theta pθ。这一偏差导致问题变得显著更具挑战性,并表现出两种常见的失败情形:模式崩溃/模式丢失以及不收敛。

2.2 Relativistic f f f-GAN


我们采用了一种稍有不同的极小极大博弈方法,称为相对配对GAN(Relativistic Pairing GAN, RpGAN),该方法由Jolicoeur-Martineau等人提出[22],用于解决模式丢失问题。一般形式的RpGAN定义如下:

L ( θ , ψ ) = z ∼ p z x ∼ p D [ f ( D ψ ( G θ ( z ) ) − D ψ ( x ) ) ] \mathcal{L}(\theta, \psi)=\underset{\substack{z \sim p_z \\ x \sim p_{\mathcal{D}}}}{ }\left[f\left(D_\psi\left(G_\theta(z)\right)-D_\psi(x)\right)\right] L(θ,ψ)=zpzxpD[f(Dψ(Gθ(z))Dψ(x))]

尽管公式(2)与公式(1)仅有细微的差别,但评估判别器的差异对 L \mathcal{L} L的景观具有根本性的影响。由于公式(1)仅要求 D D D能够区分真实数据和伪造数据,在所有真实数据和伪造数据能够被单一决策边界分开的情况下,经验GAN损失会促使 G G G仅将所有伪造样本移动到该单一边界的另一侧。这种退化的解决方案被我们观察到为模式崩溃/模式丢失。Sun等人[81]将这种退化解描述为 L \mathcal{L} L景观中的坏局部极小值,并证明公式(1)中存在指数多的坏局部极小值。问题的根源在于,当真实数据和伪造数据被单独考虑时,自然会形成单一的决策边界。

RpGAN通过耦合真实数据和伪造数据提出了一个简单的解决方案,即一个伪造样本的真实性是相对于一个真实样本进行评估的。这种方法有效地在每个真实样本的邻域内保持了决策边界,从而避免了模式丢失。Sun等人[81]证明,公式(2)的景观中不存在对应于模式丢失解决方案的局部极小值,且每个盆地都是全局极小值。

2.3 Training Dynamics of RpGAN


尽管RpGAN的景观结果[81]使我们能够解决模式丢失问题,但RpGAN的训练动态尚未被研究。公式(2)的最终目标是找到一个平衡点 ( θ ∗ , ψ ∗ ) \left(\theta^*, \psi^*\right) (θ,ψ),使得 p θ ∗ = p D p_{\theta^*}=p_{\mathcal{D}} pθ=pD,并且 D ψ ∗ D_{\psi^*} Dψ p D p_{\mathcal{D}} pD上的值处处恒定。Sun等人[81]表明,在合理的假设下,沿公式(2)景观中的非增路径, θ ∗ \theta^* θ是全局可达的。然而,存在这样的路径并不意味着梯度下降一定会找到它。Jolicoeur-Martineau等人通过实验表明,未正则化的RpGAN性能并不理想[22]。

命题 I.(非正式表述)未正则化的RpGAN在使用梯度下降时并不总是收敛。
我们在附录B中通过证明确认了这一命题。我们从分析上证明,对于某些类型的 p D p_{\mathcal{D}} pD(例如接近于δ分布的分布),RpGAN无法收敛。因此,为了构造良好表现的损失函数,还需要进一步的正则化。

零中心梯度惩罚

为了解决RpGAN的非收敛性,我们研究了梯度惩罚作为解决方案,因为已有证明表明零中心梯度惩罚( 0 − G P 0-\mathrm{GP} 0GP)可以促进经典GAN的收敛训练[52]。两种最常用的 0 − G P 0-\mathrm{GP} 0GP R 1 R_1 R1 R 2 R_2 R2

R 1 ( ψ ) = γ 2 E x ∼ p D [ ∥ ∇ x D ψ ∥ 2 ] R 2 ( θ , ψ ) = γ 2 E x ∼ p θ [ ∥ ∇ x D ψ ∥ 2 ] \begin{aligned} R_1(\psi) & =\frac{\gamma}{2} \mathbb{E}_{x \sim p_{\mathcal{D}}}\left[\left\|\nabla_x D_\psi\right\|^2\right] \\ R_2(\theta, \psi) & =\frac{\gamma}{2} \mathbb{E}_{x \sim p_\theta}\left[\left\|\nabla_x D_\psi\right\|^2\right] \end{aligned} R1(ψ)R2(θ,ψ)=2γExpD[xDψ2]=2γExpθ[xDψ2]

R 1 R_1 R1对真实数据上的 D D D的梯度范数进行惩罚,而 R 2 R_2 R2对伪造数据上的 D D D的梯度范数进行惩罚。到目前为止,关于GAN训练动态的分析主要集中在局部收敛性[55,51,52],即当 ( θ , ψ ) (\theta, \psi) (θ,ψ)位于 ( θ ∗ , ψ ∗ ) \left(\theta^*, \psi^*\right) (θ,ψ)邻域时,训练是否至少能收敛。在这种情况下,可以通过分析梯度向量场 ( − ∇ θ L , ∇ ψ L ) \left(-\nabla_\theta \mathcal{L}, \nabla_\psi \mathcal{L}\right) (θL,ψL) ( θ ∗ , ψ ∗ ) \left(\theta^*, \psi^*\right) (θ,ψ)处的雅可比矩阵的谱来研究收敛行为[55,51,52]。

这里的关键见解是,当 G G G已经生成了真实分布时,我们希望 ∇ x D = 0 \nabla_x D=0 xD=0,以防止 G G G偏离其最优状态,从而避免训练发生振荡。 R 1 R_1 R1 R 2 R_2 R2 p θ = p D p_\theta=p_{\mathcal{D}} pθ=pD时施加了这样的约束。这也解释了为什么早期尝试的梯度惩罚(例如WGAN-GP[14]中的一中心梯度惩罚(1-GP))未能实现收敛训练[52],因为它们仍然鼓励 D D D G G G达到最优状态时具有非零斜率。

由于同样的见解也适用于RpGAN,我们扩展了之前的分析并证明:
命题 II.(非正式表述)RpGAN在具有 R 1 R_1 R1 R 2 R_2 R2正则化的情况下,在类似于Mescheder等人[52]的假设下是局部收敛的。

在附录C中,我们的证明类似地分析了正则化RpGAN梯度向量场在 ( θ ∗ , ψ ∗ ) \left(\theta^*, \psi^*\right) (θ,ψ)处的雅可比矩阵的特征值。我们证明了所有特征值的实部均为负值;因此,对于足够小的学习率,正则化RpGAN在 ( θ ∗ , ψ ∗ ) \left(\theta^*, \psi^*\right) (θ,ψ)邻域内是收敛的[52]。

讨论

另一类研究[64]将 R 1 R_1 R1 R 2 R_2 R2与实例噪声[75]作为其解析近似联系起来。Roth等人[64]表明,对于Goodfellow等人提出的经典GAN[13], R 1 R_1 R1近似为将 p D p_{\mathcal{D}} pD N ( 0 , γ I ) \mathcal{N}(0, \gamma I) N(0,γI)的密度函数进行卷积,外加额外的权重和拉普拉斯误差项。类似地, R 2 R_2 R2近似为将 p θ p_\theta pθ N ( 0 , γ I ) \mathcal{N}(0, \gamma I) N(0,γI)进行卷积,误差项类似。当 D ψ D_\psi Dψ接近 D ψ ∗ D_{\psi^*} Dψ时, R 1 R_1 R1 R 2 R_2 R2的拉普拉斯误差项相互抵消。我们并未将Roth等人[64]的证明扩展到RpGAN;然而,这种方法可能为我们的工作提供补充见解,而我们的工作遵循的是Mescheder等人[52]的策略。

2.4 实验演示


我们通过实验展示了我们的损失在StackedMNIST[46]数据集上的表现。该数据集包含1000个均匀分布的模式。网络结构为小型 ResNet ⁡ \operatorname{ResNet} ResNet[17],用于 G G G D D D,且不包含任何归一化层[21, 91, 1, 85]。通过使用一个预训练的MNIST分类器,我们可以明确地衡量 p θ p_\theta pθ恢复了 p D p_{\mathcal{D}} pD的多少模式。此外,我们还可以通过 p θ p_\theta pθ的分类分布与真实均匀分布之间的KL散度来估计伪造样本和真实样本之间的反向KL散度 D K L ( p θ ∥ p D ) D_{\mathrm{KL}}\left(p_\theta \| p_{\mathcal{D}}\right) DKL(pθpD)

使用 R 1 R_1 R1正则化的传统GAN损失(如Mescheder等人[52]和StyleGAN系列[29,31,32]所用)会迅速发散(图1)。接着,尽管理论上足以实现局部收敛,仅使用 R 1 R_1 R1正则化的RpGAN也表现出不稳定并迅速发散。在每种情况下,当训练发散时, D D D对伪造样本的梯度会爆炸。在同时使用 R 1 R_1 R1 R 2 R_2 R2的情况下,无论是经典GAN还是RpGAN的训练都变得稳定。一旦训练稳定,我们可以看到,经典GAN仍然遭受模式丢失,而RpGAN实现了完全的模式覆盖(表1)并将 D K L D_{\mathrm{KL}} DKL从0.9270降低到0.0781。作为对比,StyleGAN[29,31,30,32]使用小批量标准差技巧来减少模式丢失,将StackedMNIST上的模式覆盖从857提升到881,但对 D K L D_{\mathrm{KL}} DKL几乎没有改进[28]。

图1

图1:不同目标下生成器 G G G的训练损失 无论使用哪种目标函数,仅使用 R 1 R_1 R1时训练都会发散,而同时使用 R 1 R_1 R1 R 2 R_2 R2时训练能够成功。仅使用 R 1 R_1 R1导致的收敛失败已由Lee等人[42]指出。

表1

表 1:StackedMNIST [46] 中每个损失函数的结果。最大可能模式覆盖率为 1000。“失败”表示训练早期就出现了分歧。

仅使用 R 1 R_1 R1并不足以实现全局收敛的训练。尽管对此进行理论分析较为困难,我们的小型实验仍然提供了一些关于收敛证明假设的洞见。特别地,在训练早期,假设 ( θ , ψ ) (\theta, \psi) (θ,ψ)足够接近 ( θ ∗ , ψ ∗ ) \left(\theta^*, \psi^*\right) (θ,ψ)是非常不现实的。在这种情况下,如果 D D D足够强大,仅对真实数据进行正则化可能对 D D D在伪造数据上的行为没有多大影响,因此训练可能会由于 D D D在伪造数据上的不良表现而失败。已有研究[84,83]注意到,在经验GAN训练中,仅使用 R 1 R_1 R1正则化会导致伪造数据上的梯度爆炸,这是由于 D D D对真实样本的记忆化所致。

因此,实际的解决方案是对真实数据和伪造数据同时进行正则化。从Roth等人[64]的见解来看,这种方法的益处在于:同时应用 R 1 R_1 R1 R 2 R_2 R2能够平滑 p D p_{\mathcal{D}} pD p θ p_\theta pθ,使学习过程比仅平滑 p D p_{\mathcal{D}} pD更加容易。我们还通过实验证明,在同时使用 R 1 R_1 R1 R 2 R_2 R2的情况下,即使在训练早期, D D D也倾向于满足 E x ∼ p D [ ∥ ∇ x D ∥ 2 ] ≈ E x ∼ p θ [ ∥ ∇ x D ∥ 2 ] \mathbb{E}_{x \sim p_{\mathcal{D}}}\left[\left\|\nabla_x D\right\|^2\right] \approx \mathbb{E}_{x \sim p_\theta}\left[\left\|\nabla_x D\right\|^2\right] ExpD[xD2]Expθ[xD2]。Jolicoeur-Martineau等人[23]表明,在这种情况下, D D D成为一个最大边界分类器——但如果仅应用一个正则化项,这一性质则不成立。此外,保持真实数据和伪造数据上的梯度范数大致相同可能减少判别器过拟合的可能性。正如Fang等人[10]观察到,当 D D D开始过拟合时,真实数据和伪造数据上的梯度范数会发生偏离。

3 A Roadmap to a New Baseline — R3GAN

经过良好设计的RpGAN + R 1 + R 2 +R_1+R_2 +R1+R2损失缓解了GAN优化问题,使我们能够构建一个极简基线模型——R3GAN,同时结合了近期网络骨干的最新进展[48,97]。我们将从StyleGAN2基线[30]出发,逐步阐述新方法的实现路径,而不是直接陈述新方法。该模型(配置A,与[30]完全一致)包含一个VGG风格的 G G G骨干[73]、一个ResNet判别器 D D D、一些用于促进基于风格生成的技术,以及多个作为patch修复弱骨干的技巧。然后,我们依次执行以下步骤:移除StyleGAN2的所有非必要特性(配置B),应用我们的损失函数(配置C),并逐步对网络骨干进行现代化(配置D-E)。

我们在FFHQ 256 × 256 256 \times 256 256×256数据集[29]上评估每个配置。所有配置的网络容量大致相同—— G G G D D D的可训练参数均约为2500万。每个配置的训练均进行到 D D D观察到500万张真实图像为止。除非另有说明,我们继承配置A的训练超参数(如优化器设置、批量大小、EMA衰减长度)。我们为最终模型调整了训练超参数,并将在第4节展示其收敛结果。

最低基线(配置 B)。我们剥离了所有 StyleGAN2 功能,仅保留原始网络主干和基本图像生成功能。 这些功能分为三类:

  • 基于风格的生成:映射网络 [29]、风格注入 [29]、权重调制/解调 [31]、噪声注入 [29]。
  • 图像处理增强:混合正则化 [29]、路径长度正则化 [31]。
  • 技巧: z z z 正则化 [28]、小批量标准差 [28]、均衡学习率 [28]、惰性正则化 [31]。

根据[69,70],我们将 z z z的维度降低到64。由于缺乏均等化学习率,我们需要降低学习率,从 2.5 × 1 0 − 3 2.5 \times 10^{-3} 2.5×103减少到 5 × 1 0 − 5 5 \times 10^{-5} 5×105。尽管相比配置A,FID略高(12.46),这一简化基线依然能够生成合理的样本质量并实现稳定的训练。我们将其与早期图像生成尝试DCGAN[60]进行比较,主要差异包括:

a) 使用带有 R 1 R_1 R1正则化的收敛训练目标。
b) 更小的学习率,并避免动量优化器(Adam β 1 = 0 \beta_1=0 β1=0)。
c) G G G D D D中均未使用归一化层。
d) 使用双线性插值的正确重采样,而非步幅(转置)卷积。
e) 在 G G G D D D中均使用Leaky ReLU,且 G G G的输出层未使用tanh激活函数。
f) G G G中使用 4 × 4 4 \times 4 4×4的常量输入,跳跃连接,以及ResNet判别器 D D D

实验发现:来自StyleGAN的经验总结

违反条件a)、b)或c)通常会导致训练失败。Gidel等人[11]表明,负动量可以改善GAN训练动态。然而,由于最优负动量是一个难以调整的超参数,我们选择不使用任何动量以避免加剧GAN训练动态的不稳定性。研究表明,归一化层对生成模型有害[31,34]。批归一化[21]由于跨多个样本的依赖性经常破坏训练,并且与假设独立处理每个样本的 R 1 , R 2 R_1, R_2 R1,R2或RpGAN不兼容。较弱的与数据无关的归一化方法[31,34]可能有所帮助,但这部分工作留待未来研究。早期GAN可能在违反条件a)和c)的情况下仍然成功,这可能是因为其满足公式(1)的全秩解[52]。

违反条件d)或e)不会显著影响训练稳定性,但会对样本质量产生负面影响。不正确的转置卷积会导致棋盘状伪影,即使使用亚像素卷积[72]或精心调整的转置卷积也难以解决,除非使用低通滤波器。插值方法可以避免此问题,从最近邻插值[28]到凯撒滤波器[32]各有不同。我们为简化起见选择了双线性插值。对于激活函数,(leaky) ReLU的平滑近似如Swish[61]、GELU[18]和SMU[2]会导致FID恶化。PReLU[15]对FID有轻微提升,但会增加显存使用,因此我们选择使用leaky ReLU。

所有后续配置均遵循条件a)至e)。违反条件f)是可以接受的,因为这涉及到StyleGAN2[31]的网络骨干,在配置D和E中已被现代化。

表现良好的损失函数(配置C)

我们使用第2节提出的损失函数,将FID降低至11.65。我们推测,配置B中的网络骨干是限制因素。

通用网络现代化(配置D)

首先,我们将1-3-1瓶颈ResNet架构[16,17]应用于 G G G D D D。这是所有现代视觉骨干[48,97]的直接前身。

我们还结合了从配置B中发现的原则以及来自ConvNeXt[48]的各种现代化实践。我们将ConvNeXt的实现路线图分类如下:

i. 始终有益的改进
i.1) 增加宽度并结合深度卷积,
i.2) 倒置瓶颈结构,
i.3) 减少激活函数的数量,
i.4) 独立的重采样层。

ii. 性能提升微乎其微的改进
ii.1) 具有较少通道数的大核深度卷积,
ii.2) 将ReLU替换为GELU,
ii.3) 减少归一化层的数量,
ii.4) 用层归一化替代批归一化。

iii. 与我们的场景无关的改进
iii.1) 改进的训练配方,
iii.2) 阶段比例调整,
iii.3) “块化”Stem结构。

我们旨在将类别i)中的改进应用到我们的模型中,特别是针对经典ResNet骨干的i.3和i.4,而将i.1和i.2保留给配置E。类别ii)中的许多改进仅是为了模仿视觉Transformer[47,9],但并未带来显著提升[48]。由于我们根据原则c)避免使用归一化层,ii.3和ii.4对我们不适用。此外,ii.2与我们发现的结论相矛盾,即GELU会恶化GAN性能,因此我们根据原则e)选择使用leaky ReLU。Liu等人强调使用大卷积核(ii.1)[48],但与更宽的 3 × 3 3 \times 3 3×3卷积层相比,这种设计略微降低了性能,因此我们未采用此ConvNeXt的设计选择。

神经网络架构细节

根据i.3、i.4以及原则c)、d)、e),我们用现代化的ResNet替代了StyleGAN2的骨干网络。生成器 G G G和判别器 D D D的设计完全对称,均包含2500万参数,与配置A相当。架构设计极简:每个分辨率阶段包含一个过渡层和两个残差块。

  • 过渡层:由双线性重采样组成,可选 1 × 1 1 \times 1 1×1卷积用于调整空间尺寸和特征图通道数。
  • 残差块:包含五个操作:
    • 1 × 1 1 \times 1 1×1卷积 → \rightarrow Leaky ReLU → \rightarrow 3 × 3 3 \times 3 3×3卷积 → \rightarrow Leaky ReLU → \rightarrow 1 × 1 1 \times 1 1×1卷积。
      最后的 1 × 1 1 \times 1 1×1卷积不带偏置项。

对于 4 × 4 4 \times 4 4×4分辨率阶段,过渡层被替换为生成器 G G G的基础层和判别器 D D D的分类头:

  • 基础层:类似于StyleGAN[29,31],使用 4 × 4 4 \times 4 4×4的可学习特征图,通过线性层对其进行 z z z的调制。
  • 分类头:采用全局 4 × 4 4 \times 4 4×4深度卷积移除空间维度,后接线性层生成 D D D的输出。

我们保持每个分辨率阶段的宽度比例与配置A一致,同时由于高效的 1 × 1 1 \times 1 1×1卷积,将Stem宽度设置为3倍。残差块中的 3 × 3 3 \times 3 3×3卷积具有4倍压缩比[16,17],使得瓶颈宽度约为配置A的 0.75 0.75 0.75倍。

避免归一化缺失导致的方差爆炸

为避免由于缺乏归一化导致的方差爆炸,我们采用了Fix-up初始化方法[99]:

  • 将每个残差块中最后一个卷积层的权重初始化为零。
  • 将块中其他两个卷积层的初始化值按 L − 0.25 L^{-0.25} L0.25缩小,其中 L L L为残差块数量。

我们避免了其他Fix-up技巧,如过多的偏置项和可学习的倍乘器。

瓶颈现代化(配置E)

在确定整体架构后,我们进一步探讨如何对残差块进行现代化,具体关注i.1)和i.2)。以下是改进步骤:

  1. 引入分组卷积(i.1)
    我们将残差块中的 3 × 3 3 \times 3 3×3卷积替换为分组卷积。分组大小设为16,而非1(即ConvNeXt中的深度卷积),原因如下:

    • 深度卷积在GPU上的效率较低,与更大分组大小的分组卷积相比速度提升有限。
      使用分组卷积后,在保持相同模型规模的情况下,可以将瓶颈的压缩比降低到2。这使得瓶颈的宽度达到配置A的1.5倍。
  2. 增强分组卷积的容量(i.2)
    我们注意到,与 1 × 1 1 \times 1 1×1卷积相比,分组卷积的计算成本可以忽略不计。因此,我们进一步改进瓶颈设计:

    • 应用i.2),反转瓶颈宽度与Stem宽度的比例。
    • 在不增加模型规模的情况下,将分组卷积的宽度加倍。

最终设计使分组卷积的能力得到了显著增强,同时体现了现代CNN架构的特点。图2展示了我们最终的设计方案。

图2

图2:架构比较在图像生成任务中,生成器 G G G和判别器 D D D通常是深度卷积网络(ConvNets),并具有部分或完全对称的架构。(a) StyleGAN2 [31] StyleGAN2的生成器 G G G使用一个网络将噪声向量 z z z映射到中间风格空间 W \mathcal{W} W。我们选择使用传统的生成器架构,因为对于一个极简可用的模型,风格映射并非必要。(b) StyleGAN2的构建模块 StyleGAN2的构建模块包含复杂的层,但整体架构仍然较为简单,其卷积网络结构基于2015年的设计[38, 73, 16]。此外,判别器中的残差网络(ResNet)未遵循身份映射原则。© 我们的现代化设计 我们移除了各种技巧并对架构进行了现代化升级。我们的设计具有简洁的层结构,并采用了更强大的卷积网络架构。图2展示了这些架构之间的对比,强调了我们设计的简洁性和效率。


http://www.kler.cn/a/505686.html

相关文章:

  • 在VS2022中用C++连接MySQL数据库读取数据库乱码问题
  • ASP.NET Core - 缓存之分布式缓存
  • C语言:数据的存储
  • Prompt工程框架介绍与场景选择
  • flutter 安卓端打包
  • 卷积神经02-CUDA+Pytorch环境安装
  • Python 上下文管理器:优雅地管理资源
  • 鸿蒙-UIAbility组件生命周期
  • Vue3初学之Element-plus-table组件及分页
  • 【linux】文件与目录命令 - vim
  • linux之进程信号(初识信号,信号的产生)
  • 基于单片机的无线智能窗帘控制器的设计
  • 基于Java+SpringMvc+Vue技术的在线宠物分享平台分享
  • Windows 环境下安装和启动 Redis 服务
  • 国产fpga nvme ip高速存储方案设计
  • MATLAB语言的编程范式
  • 当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)
  • 雷达流量监测系统:精准监控水流,确保水资源安全
  • 基于vite+vue3+mapbox-gl从零搭建一个项目
  • 使用 VSCode 进行 AI Commit 的笔记
  • Python 的函数式编程与应用场景
  • TIOBE编程语言排行靠前的编程语言的吉祥物
  • 跨平台实践:python中如何检查当前操作系统
  • 使用JMeter模拟多IP发送请求!
  • Jenkins-简介/安装!
  • Lesson 109 A good idea