PyTorch 实战——基于文本引导的图像生成技术与 Stable Diffusion 实践
前言
本节旨在为扩散模型注入文本控制能力。我们将学习如何通过文字描述来引导图像生成过程,实现从'纯噪声 + 文本'生成图像,而不仅仅是从纯噪声开始。
基于扩散模型的文本生成图像
在扩散模型的 UNet 训练流程中,我们通常只训练模型预测含噪图像中的噪声。要实现文生图功能,需要调整架构,将文本作为额外输入注入 UNet 模型。
这种经过调整的 UNet 被称为条件 UNet,更准确地说,是文本条件 UNet 模型。它会根据输入文本来生成对应的图像。为了训练此类模型,首先需要将输入文本编码成 UNet 可以理解的嵌入向量。接着,我们需要对 UNet 进行微调,以适配这种额外的文本输入数据。下面我们先介绍文本编码的具体思路。
将文本输入编码
文本编码的核心在于将自然语言转换为模型可处理的数值表示。通常我们会利用预训练的编码器(如 CLIP)将文本转化为嵌入向量。这一步至关重要,因为它是连接人类语义与潜在空间噪声的桥梁。只有将文本信息准确映射到特征空间,后续的 UNet 才能有效地根据这些条件去噪并生成符合描述的图像。


