你好,我是Stable Diffusion中文网的小编,今天我们将深入探讨Stable Diffusion的工作原理,这是一款开源免费的AI绘画工具,让图像生成达到了前所未有的高度。Stable Diffusion不仅能够根据文本描述生成惊艳的图像,还可以通过文本描述修改现有图像。在本文中,我们将解析Stable Diffusion的工作原理,从文本编码到图像生成的全过程。
Stable Diffusion的组成
Stable Diffusion并非一个单一的模型,而是由多个组件和模型组成的系统。首先,它包括一个文本理解组件,用于将文本信息转化为数字表示,以捕捉文本中的语义信息。目前,我们了解到这个文本编码器很可能是一个特殊的Transformer语言模型,具体来说是CLIP模型的文本编码器。它将文本字符串作为输入,并输出一个数字列表,用来表示文本中的每个单词或token,将其转化为向量。
接下来,这些信息会被提交到图像生成器中,图像生成器主要包括两个阶段:
- 图像信息创建器:这是Stable Diffusion的独家秘方,它运行多个步骤来生成图像信息。这些步骤通常在默认情况下设置为50或100,完全在图像信息空间中进行,使得它比其他在像素空间工作的Diffusion模型运行更快。技术上,这个组件包括一个UNet神经网络和一个调度算法。扩散是这一组件内部运行的过程,通过逐步处理信息,最终生成高质量的图像。
- 图像解码器:图像解码器根据从图像信息创建器中获取的信息绘制最终图像,整个过程只运行一次,即可生成最终的像素图像。
Stable Diffusion的三大组件
Stable Diffusion总共包含三个主要组件,每个组件都拥有独立的神经网络:
- Clip Text 用于文本编码,输入为文本,输出为77个token嵌入向量,每个向量包含768个维度。
- UNet + Scheduler 在信息空间中逐步处理/扩散信息,输入为文本嵌入和一个由噪声组成的初始多维数组。输出是一个经过处理的信息阵列。
- 自编码解码器(Autoencoder Decoder) 使用处理过的信息矩阵绘制最终图像,输入是处理过的信息矩阵,维度为(4, 64, 64),输出是结果图像,各维度为(3,512,512),即(红/绿/蓝,宽,高)。
Diffusion的工作原理
Diffusion是生成图像的核心思想,它利用已有的强大计算机视觉模型,将图像添加噪声,然后将其视为一个训练样本。这个过程重复进行,生成大量训练样本来训练图像生成模型的核心组件。
通过不同的噪声量值,可以控制噪声添加到图像中的程度,从原始图像到完全添加噪声。这个过程可以分散在多个步骤中,对数据集中的每张图像生成多个训练样本。训练出的噪声预测器可以用于去噪和噪声量的预测。
最终生成的图像并非精确的原始图像,而是一种分布,即世界的像素排列,风格取决于训练数据集。
不仅Stable Diffusion使用去噪进行图像生成,其他模型如DALL-E 2和谷歌的Imagen模型也采用类似的方法。
加速:在压缩数据上扩散
为了加速图像生成,Stable Diffusion选择在图像的压缩版本上运行扩散,这个过程被称为「Departure to Latent Space」。这包括将图像压缩到潜空间,然后使用解码器将图像重构。
前向扩散过程在压缩latents上进行,噪声是应用在latents上的,而不是像素图像。噪声预测器训练用来预测压缩表示中的噪声。前向过程使用自编码器中的编码器来训练噪声预测器,一旦训练完成后,通过运行反向过程(自编码器中的解码器)来生成图像。
结语
Stable Diffusion是AI图像生成的一个里程碑,它让我们探索了从文本描述到高质量图像的全过程。通过深入了解Stable Diffusion的工作原理,我们更能欣赏到这一令人惊叹的技术在艺术创作和图像生成中的潜力。希望这篇文章帮助您理解Stable Diffusion的神奇之处,以及它如何改变了图像生成的方式。
原创文章,作者:SD中文网,如若转载,请注明出处:https://www.stablediffusion-cn.com/sd/sd-knowledge/3680.html