PyTorch实战——基于文本引导的图像生成技术与Stable Diffusion实践
PyTorch实战——基于文本引导的图像生成技术与Stable Diffusion实践
0. 前言
在本节中,我们将为扩散模型添加文本控制能力。学习如何通过文字描述来引导图像生成过程,实现从"纯噪声+文本"生成图像,而不仅是从纯噪声生成。
1. 基于扩散模型的文本生成图像
在扩散模型的 UNet 模型训练流程中,我们仅训练模型从含噪图像中预测噪声。为实现文生图功能,需使用以下架构,将文本作为额外输入注入 UNet 模型:
这样的 UNet 模型称为条件 UNet 模型 ,或者更精确地说,是文本条件 UNet 模型,因为该模型会根据输入文本来生成图像。为了训练此类模型,首先我们需要将输入文本编码成一个可以输入 UNet 模型的嵌入向量。然后,我们需要对 UNet 模型稍作修改,以适配嵌入文本形式的额外输入数据(除了图像之外)。接下来,首先介绍文本编码。