PyTorch 文本引导图像生成与 Stable Diffusion 实践
1. 基于扩散模型的文本生成图像
本节重点探讨如何为扩散模型赋予文本控制能力。我们不再满足于从纯噪声中恢复图像,而是希望通过文字描述来引导生成过程,实现'文本 + 噪声'到图像的映射。
在传统扩散模型的 UNet 训练流程中,模型仅负责从含噪图像中预测噪声。要实现文生图功能,需调整架构,将文本作为额外条件注入 UNet。这种结构被称为条件 UNet(Conditional UNet),更精确地说是文本条件 UNet。它会根据输入文本动态调整去噪方向。
为了训练此类模型,核心在于两点:首先将输入文本编码成嵌入向量,其次对 UNet 进行适配以接收这些文本特征。我们先来看看如何将文本转化为模型可理解的向量。
2. 将文本输入编码为嵌入向量
文本本身无法直接输入神经网络,必须转化为数值向量。这一步通常利用预训练的文本编码器将自然语言转换为高维嵌入向量。这些向量捕捉了语义信息,随后会被融合进 UNet 的条件分支中,指导去噪过程的方向。完成编码后,即可进入下一步的融合处理。


