前言
Stable Defusion是一个从文件生成图像的深度学习模型,

图1:示例
1.Stable Defusion模型原理
1.1 Stable Defusion和LDM
Stable Defusion是基于LDM(Latent diffusion mode, 潜在扩散模型),但在LDM基础上进行了该进,Stable Defusion流程和LDM一致:

LDM流程图
Stable Defusion原理:基于VAE将图像转为低维的潜空间,配合条件极值的DM将此低维空间转化的新的变量,再VAE解码将此生成的变量转化为新的图片
1.2 DM(Diffusion model)扩散模型原理
DM本身是个生成模型:

Defusion model
分两个步骤:
- 向前扩散 Foward diffusion:不断给图片加载噪声,直至看起来像一个噪声图
- 向后扩散 Reverse diffusion:噪声图不断去除噪声,直至推算出原图
1.3.训练噪声预测器
为了将图像从噪声中还原,需要训练一个噪声预测器(Noise predictior),训练流程:往图像加入一个随机噪声,然后使用预测器预测加入了多少噪声,重复该流程,直到预测器能很好的预测噪声。
2.VAE(Vriational AutoEncode)
2.1 VAE分为编码器和解码器。
- 编码器将图像从高维的像素空间(256 * 256 * 3)转化为低维的潜在空间(latent space 4 * 64 * 64),该转化几乎不会损失人类能察觉的细节。
- 解码器将潜在空间转化为原来的空间。
2.2 训练
VAE需要训练是为了学习两个核心能力:
1)如何将复杂的高维数据(如图片)压缩到一个有意义的低维“潜在空间”;
2)如何从这个低维空间中生成新的、类似真实数据的数据。
- 如果不训练,VAE就只是一个具有随机权重的普通神经网络,它无法完成任何有意义的任务。
- 训练过程就是调整神经网络参数(权重和偏置),以最小化一个特定的损失函数
3.总结

VAE编码器对图像进行降维等到 Latent image input ,然后用训练好的DM,不断对图像进行噪声预测,并对Latent image input进行去噪处理,经过多步后生成 Latent image output,并用VAE的解码器输出图像。