【摘录】【Stable Diffusion】之原理篇

【Stable Diffusion】之原理篇
https://zhuanlan.zhihu.com/p/618862789

前言

一、扩散模型的组成

1、图像信息生成器

2、图像解码器

二、什么是扩散(Diffusion)?

三、扩散是如何工作的 ?

四、如何通过去噪声来绘制图像 ?

五、速度提升:在压缩(潜在)数据上扩散而非在像素数据上

六、文本编码器:一个 Transformer 语言模型

七、CLIP如何训练 ?

八、将文本信息喂给图像生成过程

九、Unet 噪声预测器的隐层(不包括文本)

十、带有文本的 Unet 噪声预测器隐层

总结

AI 图像生成技术 是近期以来最震撼人心的 AI 能力。通过文本描述生成生动图像所体现的能力,具有一种神奇的特质,并且清晰地指明人类艺术创作的转变方向。稳定扩散模型的推出是在此发展过程中的一个明确里程碑,其对大众提供了高性能的模型能力(不止于图像质量、速度、相对低资源/内存需求)。

扩散模型的组成

扩散模型是一个系统,由几个组件和模型构成,而非单独一个模型。 当我们关注底层原理时,首先注意到的是有一个“文本理解组件”也就是文本编码器,它将“文本信息”转变成“数字化描述”,从而让AI能够捕捉到文本中的含义。

我们可以说这个文本编码器是一个特殊的Transformer语言模型(技术:CLIP模型的文本编码器)。它接收文本做输入,然后输出数组表示每个词/表征(每个表征都是一个向量)。然后这些信息被提供给由一堆组件构成的“图像生成器”。

这里的图像生成历经下面两个过程:

1、图像信息生成器

这个组件是扩散模型的秘密武器,它是该模型远超之前模型的价值所在。
这个组件分好几步来生成图像信息。Step 参数通常是 50 或者 100,在扩散模型的公开接口或者开放库中。图像信息生成器完全在图像信息空间(潜在空间)中工作。我们将在后续介绍其更多的意义。这一特性使得扩散模型比之前在像素空间工作的扩散模型要更快。用技术术语来说,这一组件由网格网络和调度算法组成。单词 diffusion 描述了这一组件中发生了什么。正是对信息一步一步的处理,使得高质量图像得以最终生成。

2、图像解码器

图像解码器通过前置信息生成器得到的信息来生成图像。它只在最后运行一次来生成最终的像素图像。

有了这些我们再来看组成SD扩散模型的3个主要组件

1)Clip Text 用于文本编码

输入:文本
输出:77 个表征向量,每个有 768 维度

2)网格网络+调度,逐渐处理/扩散信息到潜在(信息)空间。

输入:文本向量 和 起始多维数组(结构化的数字列表,也叫 Tensor)由噪声组成。
输出:处理后的信息数组

3)自编码解码器,绘出最后的图像,借助之前处理过的信息数组。

输入:处理过的信息数组(维度:(4,64,64))
输出:结果图像(维度:(3,512,512)分别是红 / 绿 / 蓝,宽,高)

二、什么是扩散(Diffusion)?

扩散发生于下图粉色组件“图像信息生成器”中。获取表达输入文本的表征向量,以及一个随机启动的图像信息数组,这一过程产生后续的图像解码器用来绘图的所需信息数组


已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注