堆叠生成对抗网络

2025 年 6 月 25 日 | 阅读 8 分钟

StackGAN 的目标是利用生成对抗网络 (GAN) 架构,根据文本描述生成高分辨率的逼真图像。该模型由 Han Zhang、Tao Xu 和 Hongsheng Li 于 2016 年提出的 StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 组成,包含 StackGAN Stage-I 和 StackGAN Stage-II。这两个阶段是连续的;第一个阶段创建一个基本的图像布局,第二个阶段通过精细化图像布局和提高图像视觉质量来对其进行微调。

概述

生成对抗网络 (GAN) 是一种 深度学习 模型,由两个相互对抗训练的神经网络组成:一个生成器和一个判别器。生成器试图生成逼真的图像,而判别器则需要区分真实图像和生成图像。在这场对抗训练中,这两个网络不断进步。

StackGAN 将从文本到图像的生成任务分解为两个阶段。首先,生成一个低分辨率图像,该图像提供了主体形状和颜色的轮廓。在第二阶段,该图像被进一步完善,添加更精细的细节,以生成高分辨率、照片级的逼真结果。

StackGAN Stage-I

StackGAN 的第一部分 Stage I 负责生成一个 64x64 分辨率的低分辨率图像,其中包含输入文本中的基本形状和颜色模式。在此阶段,生成器接收两个输入:随机噪声向量和文本嵌入。此外,还有一个预训练的文本编码器,用于根据输入描述派生输入描述的文本嵌入。

在 Stage I 中,判别器接收生成的图像和图像对应的文本嵌入,以判断它是真实图像还是合成图像。训练是通过更新生成器和判别器来最小化由标准的 GAN 损失和条件损失组成的联合损失。在这个条件组件中,生成的图像保证与给定的文本描述对齐。

StackGAN Stage-II

StackGAN Stage-II 是对 Stage-I 输出的扩展,它将低分辨率图像增强为高分辨率(256x256)的逼真图像。在此阶段,生成器接收 Stage-I 生成的 64x64 图像以及相同的文本嵌入,并使用残差块和上采样层来精炼图像。视觉细节易于理解,图像的清晰度和分辨率得到提高。

在 Stage II 中,文本嵌入与高分辨率图像一起被用于让判别器判断图像是真实的还是生成的。训练基于优化联合损失,该损失由 GAN 损失、与文本一致的条件损失以及感知损失组成。感知损失充当生成器的指导,使其生成具有相似高级特征的真实图像。

StackGAN 的应用

StackGAN 工具由于能够根据文本输入创建高质量的图像输出,因此被应用于不同的行业领域。StackGAN 主要应用于以下几个方面:

艺术创作

StackGAN 将文字转化为视觉艺术,创作出新颖的、可作为艺术品的输出。艺术家可以通过该系统快速生成图像,将他们的设计理念映射到视觉结果,或者从文本提示中获取内容。数字艺术因此项发现而扩展,人们与 AI 合作创造数字艺术。

机器学习的数据增强

对于处理图像和对象的监督学习任务,数据集需要包含大量独特的样本。StackGAN 创建新的训练图像,这些图像精确地符合特定要求的文本描述。该技术产生的合成训练样本通过解决类别不平衡问题或提供难以获取的数据样本来增强 机器学习 模型。

媒体和娱乐的图像合成

StackGAN 系统为包括公共宣传、游戏开发和虚拟空间设计在内的各种行业创建定制图像。该工具将书面描述转化为高质量的输出,用于不同的项目,从而快速创建逼真的视觉效果。该系统的快速生产系统和详细的输出生成能力可以更快地创建定制内容。

StackGAN 的局限性

StackGAN 能够生成分辨率清晰的基于文本的图像,但也存在一些重要的缺点。

模式崩溃

GAN 的基本问题也影响了 StackGAN。生成器在学习过程中对任何类型的输入都会产生固定的响应。在 StackGAN 配置中,当输入不同文本输入时,模型倾向于在多个图像之间创建视觉相似性。当发生此问题时,模型生成的照片的质量和多样性会下降,使其难以显示所有内容。

训练不稳定

训练 GAN 很难,因为它们的对抗组件在训练过程中相互竞争。GAN 的训练过程涉及发现彼此击败的策略,这使得模拟变得不可预测。在 StackGAN 期间,由于不满意的最终图像和不可预测的训练结果,训练过程可能会阻止模型达到稳定。为两个网络设置合适的学习率和调整模型定制需要大量努力和很长时间。

高计算成本

两阶段的 StackGAN 网络有助于以高昂的处理能力成本生成更好的图像。为了生成最终结果,StackGAN 每个阶段的判别器和生成器都需要同时训练。该架构需要更多的参数和内存空间,这需要更长的训练时间才能完成。StackGAN 需要更现代化的硬件和更长的训练时间才能正常工作,因为它有两个阶段,使得简单的 GAN 网络更容易部署和维护。

GAN 的扩展

在本节中,我们将研究一些最常见和最常用的 GAN 模型,它们不仅代表了有趣的 GAN 模型,而且作为 GitHub 仓库或 GAN 中可用的模型,它们也很容易进行实验。

深度卷积生成对抗网络 (DCGAN)

深度卷积 GAN 是经典 GAN 架构的升级版本,通过在生成器和判别器中引入深度卷积神经网络。引入了特定的模型配置和训练技术,可以稳定生成器的训练过程。

DCGAN 之所以重要,是因为它们为构建良好的生成器模型奠定了重要的设计原则。在此架构的基础上,建立了许多更优越的 GAN 变体和更实用的应用。

条件生成对抗网络 (CGAN)

条件生成对抗网络 (CGAN) 是原始 GAN 架构的扩展,它将额外的类标签或数据属性信息提供给生成器及其对抗对手(判别器)。也就是说,生成器不仅仅是通过一些噪声来生成数据,它还接收一些输入条件,例如预期的类标签,以帮助输出。类似地,判别器通过数据和关联的条件来评估生成的数据。

通过 cGANs,我们可以基于其他信息(例如类规范)进行条件约束,以生成具有更受控和更有针对性行为的输出,并且 cGANs 对于此类条件约束可以导致更合适的生成过程的任务特别强大,例如类特定的图像生成、图像翻译等。

InfoGAN

InfoGAN 是传统 GAN 的一个扩展,专为结构化和可解释的生成器潜在空间而设计。其次,它旨在为潜在输入下的某些变量提供语义。

首先,InfoGAN 将输入分为两部分:随机噪声和潜在代码。通过鼓励更具可解释性和可控性的生成,这些潜在代码旨在通过将其效应编码到其输出中来影响和控制生成输出的特定特征或属性,例如旋转、对象样式或数字身份。InfoGAN 允许我们学习解耦表示:相同潜在代码的变化可以预测并有意义地改变生成数据。

辅助分类器生成对抗网络 (AC-GAN)

作为 GAN 架构的高级变体,辅助分类器生成对抗网络 (AC-GAN) 引入了两个主要修改。与 cGAN 类似,它首先,像生成器一样,它是类条件(它生成以给定类标签为条件的图像)。其次,引入了第二个判别器作为辅助分类器,它不仅决定图像是真实的还是假的,还会尝试找出输入图像属于哪个类别。

双功能判别器使模型能够更好地评估图像,这意味着它既评估图像的真实性,也评估其与提供的类的对齐程度。因此,对于前面提到的图像生成任务,AC-GAN 可以生成高质量的、类特定的图片,同时学习强大的分类任务表示。

StackGAN 的架构

StackGAN 的架构是通过两个阶段从文本描述生成高质量图像。我在下面更深入地探讨了它的基本组成部分:

1. 嵌入

文本嵌入模块首先将输入的文本描述转换为固定长度的特征向量。可以说,此步骤最重要的部分是能够处理文本数据,因为其长度可变,因此需要保持一致才能进行处理。通常,StackGAN 使用预训练的字符级嵌入模型,如 char-CNN-RNN 编码器来非常有效地捕获输入文本的结构和语义。生成的嵌入作为描述的紧凑且有意义的表示。

2. 条件增强 (CA)

然后,此文本嵌入被输入到条件增强模块。StackGAN 的贡献在于该组件的创新。通过生成一个分布(均值和标准差)并使用重参数化技巧进行采样,使得条件向量随机化,这与变分自编码器中的情况相同。它允许模型从相同的文本输入生成不同的图像,并对各种文本输入具有鲁棒性。

3. Stage I 生成器

给定采样后的条件向量和随机噪声,Stage I 生成器生成一个低分辨率的粗糙图像(通常为 64x64 像素)。此图像类似于文本中主体的基本结构、颜色和布局,但缺乏精细细节和逼真度。此阶段的目标是制作一个不太好的草稿,勾勒出大致要点。

4. Stage I 判别器

在这个分辨率级别,Stage I 判别器对真实和虚假图像进行区分。它判断生成的图像在多大程度上与文本中的语义信息匹配。此组件向 Stage I 生成器提供反馈,以使文本和图像的输入词更加一致。

5. 残差块

在 Stage I 生成器生成输出以馈入 Stage II 生成器之前,使用残差块来增强特征表示。它们可以通过保证更好的梯度流和避免梯度消失来实现更深的网络训练。它们还有助于通过保留内容同时添加结构和细节来改进从 Stage I 学习到的图像特征。

6. Stage II 生成器

在 Stage I 中,输入低分辨率图像,并根据原始文本嵌入生成新图像(通常为 256x256 像素)。然后在 Stage II 中,再次使用低分辨率图像和文本嵌入来更精确地猜测要生成什么。分辨率也比 Stage I 高得多,它纠正了 Stage I 输出中的缺陷,并增加了纹理、空间精度和光照的锐度。Stage II 基本上采用 Stage I 的草稿图像,并将其抛光成逼真的结果。

7. Stage II 判别器

Stage II 判别器与其在 Stage I 中的对应项一样,用于评估高分辨率图像。除了寻找视觉逼真度外,图像还必须与其伴随的文本描述对齐。这种额外的反馈层进一步确保最终输出在视觉上令人信服且语义准确。