From 9763360fbc3524a9e5dc5686ad52a2f69a72bf40 Mon Sep 17 00:00:00 2001 From: wizardforcel <562826179@qq.com> Date: Thu, 8 Feb 2024 19:13:21 +0800 Subject: [PATCH] 2024-02-08 19:13:19 --- totrans/gen-dl_14.yaml | 124 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/totrans/gen-dl_14.yaml b/totrans/gen-dl_14.yaml index 7bc60e3..ce32e93 100644 --- a/totrans/gen-dl_14.yaml +++ b/totrans/gen-dl_14.yaml @@ -285,27 +285,32 @@ id: totrans-39 prefs: [] type: TYPE_NORMAL + zh: 完整渐进训练过程完成后,生成器和鉴别器的整体结构如[图10-6](#progan_network_diagram)所示。 - en: '![](Images/gdl2_1006.png)' id: totrans-40 prefs: [] type: TYPE_IMG + zh: '![](Images/gdl2_1006.png)' - en: 'Figure 10-6\. The ProGAN generator and discriminator used to generate 1,024 × 1,024–pixel CelebA faces (source: [Karras et al., 2018](https://arxiv.org/abs/1812.04948))' id: totrans-41 prefs: - PREF_H6 type: TYPE_NORMAL + zh: 图10-6\. 用于生成1,024×1,024像素CelebA面孔的ProGAN生成器和鉴别器的结构(来源:[Karras等人,2018](https://arxiv.org/abs/1812.04948)) - en: The paper also makes several other important contributions, namely minibatch standard deviation, equalized learning rates, and pixelwise normalization, which are described briefly in the following sections. id: totrans-42 prefs: [] type: TYPE_NORMAL + zh: 该论文还提出了其他几个重要贡献,即小批量标准差、均衡学习率和像素级归一化,以下部分将简要描述。 - en: Minibatch standard deviation id: totrans-43 prefs: - PREF_H3 type: TYPE_NORMAL + zh: 小批量标准差 - en: The *minibatch standard deviation* layer is an extra layer in the discriminator that appends the standard deviation of the feature values, averaged across all pixels and across the minibatch as an additional (constant) feature. This helps @@ -317,11 +322,13 @@ id: totrans-44 prefs: [] type: TYPE_NORMAL + zh: '*小批量标准差*层是鉴别器中的额外层,附加了特征值的标准差,跨所有像素和整个小批量平均作为额外(常数)特征。这有助于确保生成器在输出中创建更多的变化——如果整个小批量中的变化较小,则标准差将很小,鉴别器可以使用此特征来区分假批次和真实批次!因此,生成器被激励确保它生成与真实训练数据中存在的变化量相似的数量。' - en: Equalized learning rates id: totrans-45 prefs: - PREF_H3 type: TYPE_NORMAL + zh: 均衡学习率 - en: All dense and convolutional layers in ProGAN use *equalized learning rates*. Usually, weights in a neural network are initialized using a method such as *He initialization*—a Gaussian distribution where the standard deviation is scaled @@ -332,6 +339,7 @@ id: totrans-46 prefs: [] type: TYPE_NORMAL + zh: ProGAN中的所有全连接和卷积层都使用*均衡学习率*。通常,神经网络中的权重是使用诸如*He初始化*之类的方法进行初始化的——这是一个高斯分布,其标准差被缩放为与层的输入数量的平方根成反比。这样,具有更多输入的层将使用与零的偏差较小的权重进行初始化,通常会提高训练过程的稳定性。 - en: The authors of the ProGAN paper found that this was causing problems when used in combination with modern optimizers such as Adam or RMSProp. These methods normalize the gradient update for each weight, so that the size of the update is independent @@ -344,6 +352,7 @@ id: totrans-47 prefs: [] type: TYPE_NORMAL + zh: ProGAN论文的作者发现,当与Adam或RMSProp等现代优化器结合使用时,这会导致问题。这些方法会对每个权重的梯度更新进行归一化,使得更新的大小与权重的规模(幅度)无关。然而,这意味着具有较大动态范围(即具有较少输入的层)的权重将比具有较小动态范围(即具有更多输入的层)的权重需要更长时间来调整。发现这导致了ProGAN中生成器和鉴别器不同层的训练速度之间的不平衡,因此他们使用*均衡学习率*来解决这个问题。 - en: In ProGAN, weights are initialized using a simple standard Gaussian, regardless of the number of inputs to the layer. The normalization is applied dynamically, as part of the call to the layer, rather than only at initialization. This way, @@ -353,11 +362,13 @@ id: totrans-48 prefs: [] type: TYPE_NORMAL + zh: 在ProGAN中,权重使用简单的标准高斯进行初始化,而不管层的输入数量如何。归一化是动态应用的,作为对层的调用的一部分,而不仅仅是在初始化时。这样,优化器会将每个权重视为具有大致相同的动态范围,因此会应用相同的学习率。只有在调用层时,权重才会按照He初始化器的因子进行缩放。 - en: Pixelwise normalization id: totrans-49 prefs: - PREF_H3 type: TYPE_NORMAL + zh: 像素级归一化 - en: Lastly, in ProGAN *pixelwise normalization* is used in the generator, rather than batch normalization. This normalizes the feature vector in each pixel to a unit length and helps to prevent the signal from spiraling out of control as @@ -366,11 +377,13 @@ id: totrans-50 prefs: [] type: TYPE_NORMAL + zh: 最后,在ProGAN中,生成器中使用*像素级归一化*,而不是批归一化。这将每个像素中的特征向量归一化为单位长度,并有助于防止信号在网络中传播时失控。像素级归一化层没有可训练的权重。 - en: Outputs id: totrans-51 prefs: - PREF_H2 type: TYPE_NORMAL + zh: 输出 - en: In addition to the CelebA dataset, ProGAN was also applied to images from the Large-scale Scene Understanding (LSUN) dataset with excellent results, as shown in [Figure 10-7](#progan_examples). This demonstrated the power of ProGAN over @@ -379,21 +392,25 @@ id: totrans-52 prefs: [] type: TYPE_NORMAL + zh: 除CelebA数据集外,ProGAN还应用于大规模场景理解(LSUN)数据集的图像,并取得了出色的结果,如[图10-7](#progan_examples)所示。这展示了ProGAN相对于早期GAN架构的强大之处,并为未来的迭代(如StyleGAN和StyleGAN2)铺平了道路,我们将在接下来的部分中探讨。 - en: '![](Images/gdl2_1007.png)' id: totrans-53 prefs: [] type: TYPE_IMG + zh: '![](Images/gdl2_1007.png)' - en: 'Figure 10-7\. Generated examples from a ProGAN trained progressively on the LSUN dataset at 256 × 256 resolution (source: [Karras et al., 2017](https://arxiv.org/abs/1710.10196))' id: totrans-54 prefs: - PREF_H6 type: TYPE_NORMAL + zh: 图10-7\. 在LSUN数据集上渐进训练的ProGAN生成的示例,分辨率为256×256(来源:[Karras等人,2017](https://arxiv.org/abs/1710.10196)) - en: StyleGAN id: totrans-55 prefs: - PREF_H1 type: TYPE_NORMAL + zh: StyleGAN - en: StyleGAN^([3](ch10.xhtml#idm45387005140128)) is a GAN architecture from 2018 that builds on the earlier ideas in the ProGAN paper. In fact, the discriminator is identical; only the generator is changed. @@ -529,6 +546,10 @@ id: totrans-71 prefs: [] type: TYPE_NORMAL + zh: AdaIN层是一种神经网络层,通过参考风格偏差𝐲 + b,i和比例𝐲 s,i调整每个特征图𝐱 i的均值和方差。这两个向量的长度等于合成网络中前一卷积层输出的通道数。自适应实例归一化的方程如下: - en: 𝐰比原始𝐳向量更具解耦性。 - en: Since the synthesis network is based on the ProGAN architecture, it is trained progressively. The style vectors at earlier layers in the synthesis network (when the resolution of the image is lowest—4 × 4, 8 × 8) will affect coarser features @@ -574,11 +597,15 @@ id: totrans-74 prefs: [] type: TYPE_NORMAL + zh: 由于合成网络基于ProGAN架构,因此是逐步训练的。在合成网络中较早层的风格向量(当图像分辨率最低时为4×4、8×8)将影响比网络后期(64×64到1,024×1,024像素分辨率)更粗糙的特征。这意味着我们不仅可以通过潜在向量𝐰完全控制生成的图像,还可以在合成网络的不同点切换𝐰向量以改变各种细节级别的风格。 - en: Style mixing id: totrans-75 prefs: - PREF_H3 type: TYPE_NORMAL + zh: 风格混合 - en: The authors use a trick known as *style mixing* to ensure that the generator cannot utilize correlations between adjacent styles during training (i.e., the styles injected at each layer are as disentangled as possible). Instead of sampling @@ -597,11 +624,22 @@ id: totrans-76 prefs: [] type: TYPE_NORMAL + zh: 作者使用一种称为*风格混合*的技巧,确保生成器在训练过程中不能利用相邻风格之间的相关性(即,每层注入的风格尽可能解耦)。不仅仅是采样单个潜在向量𝐳,而是采样两个( 𝐳 + 1 , 𝐳 2 + ),对应两个风格向量( 𝐰 1 + , 𝐰 2 )。然后,在每一层,随机选择( 𝐰 1𝐰 + 2 ),以打破可能存在的向量之间的任何相关性。 - en: Stochastic variation id: totrans-77 prefs: - PREF_H3 type: TYPE_NORMAL + zh: 随机变化 - en: The synthesizer network adds noise (passed through a learned broadcasting layer B ) after each convolution to account for stochastic details such as the placement of individual hairs, or the background @@ -610,6 +648,7 @@ id: totrans-78 prefs: [] type: TYPE_NORMAL + zh: 合成器网络在每个卷积后添加噪音(通过一个学习的广播层B传递),以考虑诸如单个头发的放置或面部背后的背景等随机细节。再次强调,噪音注入的深度会影响对图像的影响粗糙程度。 - en: This also means that the initial input to the synthesis network can simply be a learned constant, rather than additional noise. There is enough stochasticity already present in the style inputs and the noise inputs to generate sufficient @@ -617,25 +656,30 @@ id: totrans-79 prefs: [] type: TYPE_NORMAL + zh: 这也意味着合成网络的初始输入可以简单地是一个学习到的常量,而不是额外的噪音。在风格输入和噪音输入中已经存在足够的随机性,以生成图像的足够变化。 - en: Outputs from StyleGAN id: totrans-80 prefs: - PREF_H2 type: TYPE_NORMAL + zh: StyleGAN的输出 - en: '[Figure 10-9](#stylegan_w) shows StyleGAN in action.' id: totrans-81 prefs: [] type: TYPE_NORMAL + zh: '[图10-9](#stylegan_w)展示了StyleGAN的工作原理。' - en: '![](Images/gdl2_1009.png)' id: totrans-82 prefs: [] type: TYPE_IMG + zh: '![](Images/gdl2_1009.png)' - en: 'Figure 10-9\. Merging styles between two generated images at different levels of detail (source: [Karras et al., 2018](https://arxiv.org/abs/1812.04948))' id: totrans-83 prefs: - PREF_H6 type: TYPE_NORMAL + zh: 图10-9. 在不同细节级别上合并两个生成图像的风格(来源:[Karras等人,2018](https://arxiv.org/abs/1812.04948)) - en: Here, two images, source A and source B, are generated from two different 𝐰 vectors. To generate a merged image, the source A 𝐰 vector is passed through the synthesis @@ -648,11 +692,16 @@ id: totrans-84 prefs: [] type: TYPE_NORMAL + zh: 这里,两个图像,源 A 和源 B,是从两个不同的 𝐰 向量生成的。为了生成一个合并的图像,源 + A 的 𝐰 向量通过合成网络,但在某个时刻,被切换为源 B 的 𝐰 向量。如果这个切换发生得很早(4 × 4 或 8 × 8 分辨率),则从源 B 传递到源 A 的是粗略的风格,如姿势、脸型和眼镜。然而,如果切换发生得更晚,只有来自源 + B 的细粒度细节被传递,比如脸部的颜色和微结构,而来自源 A 的粗略特征被保留。 - en: StyleGAN2 id: totrans-85 prefs: - PREF_H1 type: TYPE_NORMAL + zh: StyleGAN2 - en: The final contribution in this chain of important GAN papers is StyleGAN2.^([5](ch10.xhtml#idm45387005019232)) This builds further upon the StyleGAN architecture, with some key changes that improve the quality of the generated output. In particular, StyleGAN2 generations @@ -662,27 +711,34 @@ id: totrans-86 prefs: [] type: TYPE_NORMAL + zh: 在这一系列重要的 GAN 论文中的最终贡献是 StyleGAN2。这进一步构建在 StyleGAN 架构之上,通过一些关键改变提高了生成输出的质量。特别是,StyleGAN2 + 生成不会像 *伪影* 那样受到严重影响——在 StyleGAN 中发现的图像中的水滴状区域,这些伪影是由于 StyleGAN 中的自适应实例归一化层引起的,如 + [图 10-10](#artifacts_stylegan) 所示。 - en: '![](Images/gdl2_1010.png)' id: totrans-87 prefs: [] type: TYPE_IMG + zh: '![](Images/gdl2_1010.png)' - en: 'Figure 10-10\. An artifact in a StyleGAN-generated image of a face (source: [Karras et al., 2019](https://arxiv.org/abs/1912.04958))' id: totrans-88 prefs: - PREF_H6 type: TYPE_NORMAL + zh: 图 10-10\. 一个 StyleGAN 生成的人脸图像中的伪影(来源:[Karras et al., 2019](https://arxiv.org/abs/1912.04958)) - en: Both the generator and the discriminator in StyleGAN2 are different from the StyleGAN. In the next sections we will explore the key differences between the architectures. id: totrans-89 prefs: [] type: TYPE_NORMAL + zh: StyleGAN2 中的生成器和鉴别器与 StyleGAN 不同。在接下来的章节中,我们将探讨这两种架构之间的关键区别。 - en: Training Your Own StyleGAN2 id: totrans-90 prefs: - PREF_H1 type: TYPE_NORMAL + zh: 训练您自己的 StyleGAN2 - en: The official code for training your own StyleGAN using TensorFlow is available on [GitHub](https://oreil.ly/alB6w). Bear in mind that training a StyleGAN2 to achieve the results from the paper requires a significant amount of computing @@ -690,11 +746,14 @@ id: totrans-91 prefs: [] type: TYPE_NORMAL + zh: 使用 TensorFlow 训练您自己的 StyleGAN 的官方代码可在 [GitHub](https://oreil.ly/alB6w) 上找到。请注意,为了实现论文中的结果,训练一个 + StyleGAN2 需要大量的计算资源。 - en: Weight Modulation and Demodulation id: totrans-92 prefs: - PREF_H2 type: TYPE_NORMAL + zh: 权重调制和去调制 - en: The artifact problem is solved by removing the AdaIN layers in the generator and replacing them with weight modulation and demodulation steps, as shown in [Figure 10-11](#stylegan2_styleblock). 𝐰 @@ -705,6 +764,9 @@ id: totrans-93 prefs: [] type: TYPE_NORMAL + zh: 通过删除生成器中的 AdaIN 层并将其替换为权重调制和去调制步骤,解决了伪影问题,如 [图 10-11](#stylegan2_styleblock) + 所示。 𝐰 代表卷积层的权重,在 StyleGAN2 中通过调制和去调制步骤直接在运行时更新。相比之下,StyleGAN + 的 AdaIN 层在图像张量通过网络时操作。 - en: The AdaIN layer in StyleGAN is simply an instance normalization followed by style modulation (scaling and bias). The idea in StyleGAN2 is to apply style modulation and normalization (demodulation) directly to the weights of the convolutional @@ -714,15 +776,19 @@ id: totrans-94 prefs: [] type: TYPE_NORMAL + zh: StyleGAN 中的 AdaIN 层只是一个实例归一化,后面跟着样式调制(缩放和偏置)。StyleGAN2 中的想法是在运行时直接将样式调制和归一化(去调制)应用于卷积层的权重,而不是卷积层的输出,如 + [图 10-11](#stylegan2_styleblock) 所示。作者展示了这如何消除了伪影问题,同时保持对图像样式的控制。 - en: '![](Images/gdl2_1011.png)' id: totrans-95 prefs: [] type: TYPE_IMG + zh: '![](Images/gdl2_1011.png)' - en: Figure 10-11\. A comparison between the StyleGAN and StyleGAN2 style blocks id: totrans-96 prefs: - PREF_H6 type: TYPE_NORMAL + zh: 图 10-11\. StyleGAN 和 StyleGAN2 样式块之间的比较 - en: 'In StyleGAN2, each dense layer A outputs a single style vector s i , where i indexes the number of input channels @@ -731,6 +797,9 @@ id: totrans-97 prefs: [] type: TYPE_NORMAL + zh: 在 StyleGAN2 中,每个密集层 A 输出一个单一的样式向量 s i,其中 i + 索引了相应卷积层中的输入通道数。然后将这个样式向量应用于卷积层的权重,如下所示: - en: w i,j,k ' @@ -748,12 +817,15 @@ id: totrans-99 prefs: [] type: TYPE_NORMAL + zh: 这里,j 索引了层的输出通道,k + 索引了空间维度。这是过程的 *调制* 步骤。 - en: 'Then, we need to normalize the weights so that they again have a unit standard deviation, to ensure stability in the training process. This is the *demodulation* step:' id: totrans-100 prefs: [] type: TYPE_NORMAL + zh: 然后,我们需要归一化权重,使它们再次具有单位标准差,以确保训练过程的稳定性。这是 *去调制* 步骤: - en: ϵ 是一个小的常数值,用于防止除以零。 - en: In the paper, the authors show how this simple change is enough to prevent water-droplet artifacts, while retaining control over the generated images via the style vectors and ensuring the quality of the output remains high. id: totrans-103 prefs: [] type: TYPE_NORMAL + zh: 在论文中,作者展示了这个简单的改变足以防止水滴状伪影,同时通过样式向量保持对生成图像的控制,并确保输出的质量保持高水平。 - en: Path Length Regularization id: totrans-104 prefs: @@ -947,31 +1021,38 @@ id: totrans-121 prefs: [] type: TYPE_NORMAL + zh: 一些StyleGAN2输出的示例显示在[图10-14](#stylegan2_output)中。迄今为止,StyleGAN2架构(以及诸如StyleGAN-XL这样的扩展变体)仍然是Flickr-Faces-HQ(FFHQ)和CIFAR-10等数据集上图像生成的最先进技术,根据基准网站[Papers + with Code](https://oreil.ly/VwH2r)。 - en: '![](Images/gdl2_1014.png)' id: totrans-122 prefs: [] type: TYPE_IMG + zh: '![](Images/gdl2_1014.png)' - en: 'Figure 10-14\. Uncurated StyleGAN2 output for the FFHQ face dataset and LSUN car dataset (source: [Karras et al., 2019](https://arxiv.org/pdf/1912.04958.pdf))' id: totrans-123 prefs: - PREF_H6 type: TYPE_NORMAL + zh: 图10-14。FFHQ人脸数据集和LSUN汽车数据集的未筛选StyleGAN2输出(来源:[Karras等人,2019](https://arxiv.org/pdf/1912.04958.pdf)) - en: Other Important GANs id: totrans-124 prefs: - PREF_H1 type: TYPE_NORMAL + zh: 其他重要的GAN - en: In this section, we will explore two more architectures that have also contributed significantly to the development of GANs—SAGAN and BigGAN. id: totrans-125 prefs: [] type: TYPE_NORMAL + zh: 在这一部分中,我们将探讨另外两种架构,它们也对GAN的发展做出了重大贡献——SAGAN和BigGAN。 - en: Self-Attention GAN (SAGAN) id: totrans-126 prefs: - PREF_H2 type: TYPE_NORMAL + zh: 自注意力生成对抗网络(SAGAN) - en: The Self-Attention GAN (SAGAN)^([7](ch10.xhtml#idm45387004886752)) is a key development for GANs as it shows how the attention mechanism that powers sequential models such as the Transformer can also be incorporated into GAN-based models @@ -980,16 +1061,19 @@ id: totrans-127 prefs: [] type: TYPE_NORMAL + zh: 自注意力生成对抗网络(SAGAN)是GAN的一个重要发展,因为它展示了如何将驱动序列模型(如Transformer)的注意机制也纳入到基于GAN的图像生成模型中。[图10-15](#sagan_attention)展示了介绍这种架构的论文中的自注意力机制。 - en: '![](Images/gdl2_1015.png)' id: totrans-128 prefs: [] type: TYPE_IMG + zh: '![](Images/gdl2_1015.png)' - en: 'Figure 10-15\. The self-attention mechanism within the SAGAN model (source: [Zhang et al., 2018](https://arxiv.org/abs/1805.08318))' id: totrans-129 prefs: - PREF_H6 type: TYPE_NORMAL + zh: 图10-15。SAGAN模型中的自注意机制(来源:[Zhang等人,2018](https://arxiv.org/abs/1805.08318)) - en: The problem with GAN-based models that do not incorporate attention is that convolutional feature maps are only able to process information locally. Connecting pixel information from one side of an image to the other requires multiple convolutional @@ -1003,10 +1087,12 @@ id: totrans-130 prefs: [] type: TYPE_NORMAL + zh: 不包含注意力的基于GAN的模型的问题在于,卷积特征图只能在局部处理信息。连接图像一侧的像素信息到另一侧需要多个卷积层,这会减小图像的尺寸,同时增加通道数。在这个过程中,精确的位置信息会被减少,以捕捉更高级的特征,这使得模型学习远距离像素之间的长距离依赖性变得计算上低效。SAGAN通过将我们在本章前面探讨过的注意力机制纳入到GAN中来解决这个问题。这种包含的效果在[图10-16](Images/#sagan_images)中展示。 - en: '![](Images/gdl2_1016.png)' id: totrans-131 prefs: [] type: TYPE_IMG + zh: '![](Images/gdl2_1016.png)' - en: 'Figure 10-16\. A SAGAN-generated image of a bird (leftmost cell) and the attention maps of the final attention-based generator layer for the pixels covered by the three colored dots (rightmost cells) (source: [Zhang et al., 2018](https://arxiv.org/abs/1805.08318))' @@ -1014,6 +1100,7 @@ prefs: - PREF_H6 type: TYPE_NORMAL + zh: 图10-16。SAGAN生成的一幅鸟的图像(最左侧单元格)以及由最终基于注意力的生成器层生成的像素的注意力图(右侧单元格)(来源:[Zhang等人,2018](https://arxiv.org/abs/1805.08318)) - en: The red dot is a pixel that is part of the bird’s body, and so attention naturally falls on the surrounding body cells. The green dot is part of the background, and here the attention actually falls on the other side of the bird’s head, on @@ -1024,38 +1111,45 @@ id: totrans-133 prefs: [] type: TYPE_NORMAL + zh: 红点是鸟身体的一部分,因此注意力自然地集中在周围的身体细胞上。绿点是背景的一部分,这里注意力实际上集中在鸟头的另一侧,即其他背景像素上。蓝点是鸟的长尾的一部分,因此注意力集中在其他尾部像素上,其中一些与蓝点相距较远。对于没有注意力的像素来说,尤其是对于图像中的长、细结构(例如这种情况下的尾巴),要维持这种长距离依赖性将会很困难。 - en: Training Your Own SAGAN id: totrans-134 prefs: - PREF_H1 type: TYPE_NORMAL + zh: 训练您自己的SAGAN - en: The official code for training your own SAGAN using TensorFlow is available on [GitHub](https://oreil.ly/rvej0). Bear in mind that training a SAGAN to achieve the results from the paper requires a significant amount of computing power. id: totrans-135 prefs: [] type: TYPE_NORMAL + zh: 使用TensorFlow训练自己的SAGAN的官方代码可在[GitHub](https://oreil.ly/rvej0)上找到。请注意,要实现论文中的结果,训练SAGAN需要大量的计算资源。 - en: BigGAN id: totrans-136 prefs: - PREF_H2 type: TYPE_NORMAL + zh: BigGAN - en: BigGAN,^([8](ch10.xhtml#idm45387004870736)) developed at DeepMind, extends the ideas from the SAGAN paper. [Figure 10-17](#biggan_examples) shows some of the images generated by BigGAN, trained on the ImageNet dataset at 128 × 128 resolution. id: totrans-137 prefs: [] type: TYPE_NORMAL + zh: BigGAN,由DeepMind开发,扩展了SAGAN论文中的思想。[图10-17](#biggan_examples)展示了一些由BigGAN生成的图像,该模型在ImageNet数据集上进行了训练,分辨率为128×128。 - en: '![](Images/gdl2_1017.png)' id: totrans-138 prefs: [] type: TYPE_IMG + zh: '![](Images/gdl2_1017.png)' - en: 'Figure 10-17\. Examples of images generated by BigGAN (source: [Brock et al., 2018](https://arxiv.org/abs/1809.11096))' id: totrans-139 prefs: - PREF_H6 type: TYPE_NORMAL + zh: 图10-17。由BigGAN生成的图像示例(来源:[Brock等人,2018](https://arxiv.org/abs/1809.11096)) - en: As well as some incremental changes to the base SAGAN model, there are also several innovations outlined in the paper that take the model to the next level of sophistication. One such innovation is the so-called *truncation trick*. This @@ -1191,6 +1285,7 @@ id: totrans-154 prefs: [] type: TYPE_NORMAL + zh: 代码本可以被看作是一组学习到的离散概念,这些概念由编码器和解码器共享,以描述给定图像的内容。VQ-VAE必须找到一种方法,使这组离散概念尽可能具有信息量,以便编码器可以准确地用特定的代码向量*标记*每个网格方块,这对解码器是有意义的。因此,VQ-VAE的损失函数是重构损失加上两个项(对齐和承诺损失),以确保编码器的输出向量尽可能接近代码本中的向量。这些项取代了典型VAE中编码分布和标准高斯先验之间的KL散度项。 - en: However, this architecture poses a question—how do we sample novel code grids to pass to the decoder to generate new images? Clearly, using a uniform prior (picking each code with equal probability for each grid square) will not work. @@ -1204,25 +1299,30 @@ id: totrans-155 prefs: [] type: TYPE_NORMAL + zh: 然而,这种架构提出了一个问题——我们如何对新颖的代码网格进行采样,以传递给解码器生成新的图像?显然,使用均匀先验(为每个网格方块均等概率选择每个代码)是行不通的。例如,在MNIST数据集中,左上角的网格方块很可能被编码为*背景*,而靠近图像中心的网格方块不太可能被编码为这样。为了解决这个问题,作者使用了另一个模型,一个自回归的PixelCNN(参见[第5章](ch05.xhtml#chapter_autoregressive)),来预测网格中下一个代码向量,给定先前的代码向量。换句话说,先验是由模型学习的,而不是像普通VAE中的标准高斯先验那样静态的。 - en: Training Your Own VQ-VAE id: totrans-156 prefs: - PREF_H1 type: TYPE_NORMAL + zh: 训练您自己的VQ-VAE - en: There is an excellent tutorial by Sayak Paul on training your own VQ-VAE using Keras available on the [Keras website](https://oreil.ly/dmcb4). id: totrans-157 prefs: [] type: TYPE_NORMAL + zh: 有一篇由Sayak Paul撰写的优秀教程,介绍如何使用Keras在[Keras网站](https://oreil.ly/dmcb4)上训练自己的VQ-VAE。 - en: The VQ-GAN paper details several key changes to the VQ-VAE architecture, as shown in [Figure 10-20](#vqgan). id: totrans-158 prefs: [] type: TYPE_NORMAL + zh: VQ-GAN论文详细介绍了VQ-VAE架构的几个关键变化,如[图10-20](#vqgan)所示。 - en: '![](Images/gdl2_1020.png)' id: totrans-159 prefs: [] type: TYPE_IMG + zh: '![](Images/gdl2_1020.png)' - en: 'Figure 10-20\. A diagram of a VQ-GAN: the GAN discriminator helps to encourage the VAE to generate less blurry images through an additional adversarial loss term' @@ -1230,6 +1330,7 @@ prefs: - PREF_H6 type: TYPE_NORMAL + zh: 图10-20。VQ-GAN的图表:GAN鉴别器通过额外的对抗损失项帮助VAE生成更清晰的图像 - en: Firstly, as the name suggests, the authors include a GAN discriminator that tries to distinguish between the output from the VAE decoder and real images, with an accompanying adversarial term in the loss function. GANs are known to @@ -1241,6 +1342,7 @@ id: totrans-161 prefs: [] type: TYPE_NORMAL + zh: 首先,正如名称所示,作者包括一个GAN鉴别器,试图区分VAE解码器的输出和真实图像,损失函数中还有一个对抗项。众所周知,GAN生成的图像比VAE更清晰,因此这个添加改善了整体图像质量。请注意,尽管名称中有VAE,但VAE仍然存在于VQ-GAN模型中——GAN鉴别器是一个额外的组件,而不是VAE的替代品。将VAE与GAN鉴别器(VAE-GAN)结合的想法首次由Larsen等人在他们2015年的论文中提出。 - en: Secondly, the GAN discriminator predicts if small patches of the images are real or fake, rather than the entire image at once. This idea (*PatchGAN*) was applied in the successful *pix2pix* image-to-image model introduced in 2016 by @@ -1259,6 +1361,7 @@ id: totrans-162 prefs: [] type: TYPE_NORMAL + zh: 其次,GAN鉴别器预测图像的小块是否真实或伪造,而不是一次性预测整个图像。这个想法(*PatchGAN*)被应用在2016年由Isola等人介绍的成功的*pix2pix*图像到图像模型中,并且也成功地作为*CycleGAN*的一部分应用,另一个图像到图像的风格转移模型。PatchGAN鉴别器输出一个预测向量(每个块的预测),而不是整个图像的单个预测。使用PatchGAN鉴别器的好处在于,损失函数可以衡量鉴别器在基于*风格*而不是*内容*来区分图像方面的表现如何。由于鉴别器预测的每个单独元素基于图像的一个小方块,它必须使用块的风格而不是内容来做出决定。这是有用的,因为我们知道VAE生成的图像在风格上比真实图像更模糊,因此PatchGAN鉴别器可以鼓励VAE解码器生成比其自然产生的更清晰的图像。 - en: Thirdly, rather than use a single MSE reconstruction loss that compares the input image pixels with the output pixels from the VAE decoder, VQ-GAN uses a *perceptual loss* term that calculates the difference between feature maps at @@ -1362,6 +1465,7 @@ id: totrans-176 prefs: [] type: TYPE_NORMAL + zh: 我们从2017年ProGAN论文中首创的渐进训练概念开始探索。2018年StyleGAN论文引入了几个关键改变,使对图像输出有更大的控制,例如用于创建特定样式向量的映射网络和允许在不同分辨率注入样式的合成网络。最后,StyleGAN2用权重调制和解调制步骤替换了StyleGAN的自适应实例归一化,同时还进行了额外的增强,如路径正则化。该论文还展示了如何保留渐进分辨率细化的可取属性,而无需逐步训练网络。 - en: We also saw how the concept of attention could be built into a GAN, with the introduction of SAGAN in 2018\. This allows the network to capture long-range dependencies, such as similar background colors over opposite sides of an image, @@ -1372,6 +1476,7 @@ id: totrans-177 prefs: [] type: TYPE_NORMAL + zh: 我们还看到了如何将注意力的概念构建到GAN中,2018年引入了SAGAN。这使网络能够捕捉长距离依赖关系,例如图像相对两侧的相似背景颜色,而无需依赖深度卷积映射将信息传播到图像的空间维度。BigGAN是这个想法的延伸,进行了几个关键改变,并训练了一个更大的网络以进一步提高图像质量。 - en: In the VQ-GAN paper, the authors show how several different types of generative models can be combined to great effect. Building on the original VQ-VAE paper that introduced the concept of a VAE with a discrete latent space, VQ-GAN additionally @@ -1383,93 +1488,112 @@ id: totrans-178 prefs: [] type: TYPE_NORMAL + zh: 在VQ-GAN论文中,作者展示了如何将几种不同类型的生成模型结合起来产生很好的效果。在最初引入具有离散潜在空间的VAE概念的VQ-VAE论文的基础上,VQ-GAN还包括一个鼓励VAE通过额外的对抗损失项生成更清晰图像的鉴别器。自回归变压器用于构建一个新颖的代码令牌序列,可以由VAE解码器解码以生成新颖图像。ViT + VQ-GAN论文进一步扩展了这个想法,通过用变压器替换VQ-GAN的卷积编码器和解码器。 - en: '^([1](ch10.xhtml#idm45387005226448-marker)) Huiwen Chang et al., “Muse: Text-to-Image Generation via Masked Generative Transformers,” January 2, 2023, [*https://arxiv.org/abs/2301.00704*](https://arxiv.org/abs/2301.00704).' id: totrans-179 prefs: [] type: TYPE_NORMAL + zh: '^([1](ch10.xhtml#idm45387005226448-marker)) Huiwen Chang等人,“Muse: 通过遮罩生成变压器进行文本到图像生成”,2023年1月2日,[*https://arxiv.org/abs/2301.00704*](https://arxiv.org/abs/2301.00704)。' - en: ^([2](ch10.xhtml#idm45387005216528-marker)) Tero Karras et al., “Progressive Growing of GANs for Improved Quality, Stability, and Variation,” October 27, 2017, [*https://arxiv.org/abs/1710.10196*](https://arxiv.org/abs/1710.10196). id: totrans-180 prefs: [] type: TYPE_NORMAL + zh: ^([2](ch10.xhtml#idm45387005216528-marker)) Tero Karras等人,“用于改善质量、稳定性和变化的GAN的渐进增长”,2017年10月27日,[*https://arxiv.org/abs/1710.10196*](https://arxiv.org/abs/1710.10196)。 - en: ^([3](ch10.xhtml#idm45387005140128-marker)) Tero Karras et al., “A Style-Based Generator Architecture for Generative Adversarial Networks,” December 12, 2018, [*https://arxiv.org/abs/1812.04948*](https://arxiv.org/abs/1812.04948). id: totrans-181 prefs: [] type: TYPE_NORMAL + zh: ^([3](ch10.xhtml#idm45387005140128-marker)) Tero Karras等人,“用于生成对抗网络的基于样式的生成器架构”,2018年12月12日,[*https://arxiv.org/abs/1812.04948*](https://arxiv.org/abs/1812.04948)。 - en: ^([4](ch10.xhtml#idm45387005090240-marker)) Xun Huang and Serge Belongie, “Arbitrary Style Transfer in Real-Time with Adaptive Instance Normalization,” March 20, 2017, [*https://arxiv.org/abs/1703.06868*](https://arxiv.org/abs/1703.06868). id: totrans-182 prefs: [] type: TYPE_NORMAL + zh: ^([4](ch10.xhtml#idm45387005090240-marker)) Xun Huang和Serge Belongie,“使用自适应实例归一化实时进行任意风格转移”,2017年3月20日,[*https://arxiv.org/abs/1703.06868*](https://arxiv.org/abs/1703.06868)。 - en: ^([5](ch10.xhtml#idm45387005019232-marker)) Tero Karras et al., “Analyzing and Improving the Image Quality of StyleGAN,” December 3, 2019, [*https://arxiv.org/abs/1912.04958*](https://arxiv.org/abs/1912.04958). id: totrans-183 prefs: [] type: TYPE_NORMAL + zh: ^([5](ch10.xhtml#idm45387005019232-marker)) Tero Karras等人,“分析和改进StyleGAN的图像质量”,2019年12月3日,[*https://arxiv.org/abs/1912.04958*](https://arxiv.org/abs/1912.04958)。 - en: '^([6](ch10.xhtml#idm45387004898624-marker)) Axel Sauer et al., “StyleGAN-XL: Scaling StyleGAN to Large Diverse Datasets,” February 1, 2022, [*https://arxiv.org/abs/2202.00273v2*](https://arxiv.org/abs/2202.00273v2).' id: totrans-184 prefs: [] type: TYPE_NORMAL + zh: '^([6](ch10.xhtml#idm45387004898624-marker)) Axel Sauer等人,“StyleGAN-XL: 将StyleGAN扩展到大型多样数据集”,2022年2月1日,[*https://arxiv.org/abs/2202.00273v2*](https://arxiv.org/abs/2202.00273v2)。' - en: ^([7](ch10.xhtml#idm45387004886752-marker)) Han Zhang et al., “Self-Attention Generative Adversarial Networks,” May 21, 2018, [*https://arxiv.org/abs/1805.08318*](https://arxiv.org/abs/1805.08318). id: totrans-185 prefs: [] type: TYPE_NORMAL + zh: ^([7](ch10.xhtml#idm45387004886752-marker)) Han Zhang等人,“自注意力生成对抗网络”,2018年5月21日,[*https://arxiv.org/abs/1805.08318*](https://arxiv.org/abs/1805.08318)。 - en: ^([8](ch10.xhtml#idm45387004870736-marker)) Andrew Brock et al., “Large Scale GAN Training for High Fidelity Natural Image Synthesis,” September 28, 2018, [*https://arxiv.org/abs/1809.11096*](https://arxiv.org/abs/1809.11096). id: totrans-186 prefs: [] type: TYPE_NORMAL + zh: ^([8](ch10.xhtml#idm45387004870736-marker)) Andrew Brock等人,“用于高保真自然图像合成的大规模GAN训练”,2018年9月28日,[*https://arxiv.org/abs/1809.11096*](https://arxiv.org/abs/1809.11096)。 - en: ^([9](ch10.xhtml#idm45387004838864-marker)) Patrick Esser et al., “Taming Transformers for High-Resolution Image Synthesis,” December 17, 2020, [*https://arxiv.org/abs/2012.09841*](https://arxiv.org/abs/2012.09841). id: totrans-187 prefs: [] type: TYPE_NORMAL + zh: ^([9](ch10.xhtml#idm45387004838864-marker)) Patrick Esser等人,“驯服变压器以进行高分辨率图像合成”,2020年12月17日,[*https://arxiv.org/abs/2012.09841*](https://arxiv.org/abs/2012.09841)。 - en: ^([10](ch10.xhtml#idm45387004834704-marker)) Aaron van den Oord et al., “Neural Discrete Representation Learning,” November 2, 2017, [*https://arxiv.org/abs/1711.00937v2*](https://arxiv.org/abs/1711.00937v2). id: totrans-188 prefs: [] type: TYPE_NORMAL + zh: ^([10](ch10.xhtml#idm45387004834704-marker)) Aaron van den Oord等人,“神经离散表示学习”,2017年11月2日,[*https://arxiv.org/abs/1711.00937v2*](https://arxiv.org/abs/1711.00937v2)。 - en: ^([11](ch10.xhtml#idm45387004808112-marker)) Anders Boesen Lindbo Larsen et al., “Autoencoding Beyond Pixels Using a Learned Similarity Metric,” December 31, 2015, [*https://arxiv.org/abs/1512.09300*](https://arxiv.org/abs/1512.09300). id: totrans-189 prefs: [] type: TYPE_NORMAL + zh: ^([11](ch10.xhtml#idm45387004808112-marker)) Anders Boesen Lindbo Larsen等人,“超越像素的自动编码:使用学习的相似度度量”,2015年12月31日,[*https://arxiv.org/abs/1512.09300*](https://arxiv.org/abs/1512.09300)。 - en: ^([12](ch10.xhtml#idm45387004801680-marker)) Phillip Isola et al., “Image-to-Image Translation with Conditional Adversarial Networks,” November 21, 2016, [*https://arxiv.org/abs/1611.07004v3*](https://arxiv.org/abs/1611.07004v3). id: totrans-190 prefs: [] type: TYPE_NORMAL + zh: ^([12](ch10.xhtml#idm45387004801680-marker)) Phillip Isola等人,“带条件对抗网络的图像到图像翻译”,2016年11月21日,[*https://arxiv.org/abs/1611.07004v3*](https://arxiv.org/abs/1611.07004v3)。 - en: ^([13](ch10.xhtml#idm45387004798080-marker)) Jun-Yan Zhu et al., “Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks,” March 30, 2017, [*https://arxiv.org/abs/1703.10593*](https://arxiv.org/abs/1703.10593). id: totrans-191 prefs: [] type: TYPE_NORMAL + zh: ^([13](ch10.xhtml#idm45387004798080-marker)) Jun-Yan Zhu等人,“使用循环一致性对抗网络进行无配对图像到图像翻译”,2017年3月30日,[*https://arxiv.org/abs/1703.10593*](https://arxiv.org/abs/1703.10593)。 - en: ^([14](ch10.xhtml#idm45387004793216-marker)) Xianxu Hou et al., “Deep Feature Consistent Variational Autoencoder,” October 2, 2016, [*https://arxiv.org/abs/1610.00291*](https://arxiv.org/abs/1610.00291). id: totrans-192 prefs: [] type: TYPE_NORMAL + zh: ^([14](ch10.xhtml#idm45387004793216-marker)) Xianxu Hou等人,“深度特征一致变分自动编码器”,2016年10月2日,[*https://arxiv.org/abs/1610.00291*](https://arxiv.org/abs/1610.00291)。 - en: ^([15](ch10.xhtml#idm45387004783968-marker)) Jiahui Yu et al., “Vector-Quantized Image Modeling with Improved VQGAN,” October 9, 2021, [*https://arxiv.org/abs/2110.04627*](https://arxiv.org/abs/2110.04627). id: totrans-193 prefs: [] type: TYPE_NORMAL + zh: ^([15](ch10.xhtml#idm45387004783968-marker)) Jiahui Yu等人,“改进的VQGAN进行矢量量化图像建模”,2021年10月9日,[*https://arxiv.org/abs/2110.04627*](https://arxiv.org/abs/2110.04627)。 - en: '^([16](ch10.xhtml#idm45387004780000-marker)) Alexey Dosovitskiy et al., “An Image Is Worth 16x16 Words: Transformers for Image Recognition at Scale,” October 22, 2020, [*https://arxiv.org/abs/2010.11929v2*](https://arxiv.org/abs/2010.11929v2).' id: totrans-194 prefs: [] type: TYPE_NORMAL + zh: ^([16](ch10.xhtml#idm45387004780000-marker)) Alexey Dosovitskiy等人,“一幅图像价值16x16个词:规模化图像识别的变压器”,2020年10月22日,[*https://arxiv.org/abs/2010.11929v2*](https://arxiv.org/abs/2010.11929v2)。 - en: ^([17](ch10.xhtml#idm45387004774560-marker)) Jiahui Yu and Jing Yu Koh, “Vector-Quantized Image Modeling with Improved VQGAN,” May 18, 2022, [*https://ai.googleblog.com/2022/05/vector-quantized-image-modeling-with.html*](https://ai.googleblog.com/2022/05/vector-quantized-image-modeling-with.html). id: totrans-195 prefs: [] type: TYPE_NORMAL + zh: ^([17](ch10.xhtml#idm45387004774560-marker)) Jiahui Yu和Jing Yu Koh,“改进的VQGAN进行矢量量化图像建模”,2022年5月18日,[*https://ai.googleblog.com/2022/05/vector-quantized-image-modeling-with.html*](https://ai.googleblog.com/2022/05/vector-quantized-image-modeling-with.html)。