Stable Diffusion - 架构

大型文本到图像模型取得了显著的成功,能够高质量地合成文本提示形式的图像。Stable Diffusion是其中一种用于图像生成的模型。它基于一种称为潜在扩散模型的扩散模型,由 CompVis、LMU 和 RunwayML 创建。

这种新的扩散模型通过将扩散过程应用于较低维度的潜在空间而不是实际的高维图像空间,减少了内存的使用和计算时间。

Stable Diffusion中的三个主要组成部分是 −

  • 变分自动编码器 (VAE)
  • U-Net
  • 文本编码器
潜在扩散架构

变分自动编码器 (VAE)

变分自动编码器 (VAE) 具有两个部分:编码器和解码器。在训练过程中,编码器将图像转换为低维潜在表示,用于正向扩散过程,即将图像变成噪声的过程。这些小的编码版本称为潜在数据,在每一步训练中都会反复向其施加噪声,并将其作为 U-Net 模型的输入。

VAE 的解码器用于将低维表示转换回图像。去噪的潜在数据由反向扩散过程生成,即使用解码器将噪声转换为图像的过程。

U-Net

U-Net 是一个卷积神经网络,可以预测噪声潜在数据的去噪图像表示。U-Net 的输入是噪声潜在数据,而 UNet 的输出是潜在数据中的噪声。此步骤专门用于通过去除噪声潜伏信息中的噪声来获取实际潜伏信息。

该模型中 U-Net 的架构由一个 12 个块的编码器和一个中间块组成,然后是一个 12 个块的解码器。在这 25 个块中,其中 8 个用于下采样或上采样卷积层,其余的是主要块,由 4 个 resNet 层和两个 Vision Transformers (ViTs) 组成。

文本编码器

文本编码器是一种简单的基于 Transformer 的模型,它将一系列输入标记转换为一系列潜在文本嵌入。Stable Diffusion 应用了预训练的 CLIP 文本编码器,它生成了与给定输入文本相对应的嵌入。嵌入空间进一步用作 U-Net 的输入,还为 U-Net 训练过程中的噪声潜伏信息去噪提供了指导。