PyTorch 文本引导图像生成与 Stable Diffusion 实践
前言
本节重点在于为扩散模型添加文本控制能力。我们将学习如何通过文字描述来引导图像生成过程,实现从'纯噪声 + 文本'生成图像,而不仅仅是从纯噪声开始。
基于扩散模型的文本生成图像
在扩散模型的 UNet 训练流程中,通常仅训练模型从含噪图像中预测噪声。要实现文生图功能,需要采用一种新的架构,将文本作为额外输入注入 UNet 模型:
条件 UNet 模型会根据输入文本来生成图像。为了训练此类模型,首先我们需要将输入文本编码成一个可以输入 UNet 的嵌入向量。然后,对 UNet 模型稍作修改,以适配嵌入文本形式的额外输入数据(除了图像之外)。
接下来,我们先介绍文本编码部分。
将文本输入编码
为了让模型理解人类语言,必须先将文本转化为数值向量。这一步通常借助预训练的文本编码器(如 CLIP 或 T5)完成,将自然语言转换为高维语义空间中的嵌入向量。这些向量随后会被送入条件 UNet,指导去噪过程的方向。完成编码后,文本信息便成功融入了图像生成的核心逻辑中。


