稳定扩散(Stable Diffusion)的运作原理如下:
如果您曾尝试在太暗的情况下拍照,而拍出的照片全是颗粒状,那么这种颗粒状就是图像中“噪点”的一个例子。我们使用Stable Diffusion来生成艺术作品,但它实际上在幕后所做的是“清理”图像!不过,它比手机图像编辑器中的噪点消除滑块复杂得多。它实际上了解世界的样子、了解书面语言,并利用这些来指导(噪点消除)过程。例如,想象一下,如果我给了下面左边的图像给一位熟练的平面艺术家,并告诉他们这是一幅以H.R。Giger(瑞士画家、雕塑家与布景师,《异形》中的外星生物就是他的作品)的风格描绘的外星人弹吉他的画。我打赌他们可以精心清理它,创造出像右图那样的东西。(这些是稳定扩散的实际图像!)艺术家会利用他们对Giger的艺术作品的了解,以及对世界的了解(例如吉他应该是什么样子以及如何弹奏)来做到这一点。稳定扩散本质上是在做同样的事情![heading2]“推理步骤”[content]你熟悉大多数艺术生成工具中的“推理步骤”滑块吗?稳定扩散是逐步去除噪点的。这是一个运行25步的例子:外星吉他手的例子更有意义,因为你可以更清楚地看出它应该是什么样子的……但在上图中,起始图像看起来完全无法辨认!实际上,这个充满噪点的外星人例子其实是从过程的大约一半开始取的——它(最开始的图像)实际上也是从完全的噪点开始的!
为了生成艺术,我们给稳定扩散提供了一个实际上只是纯噪点的初始图像。但是,相当残忍地😏,我们撒谎说:“这是一幅超级充满噪点的H.R。Giger风格的外星人弹吉他的画——你能帮我清理一下吗?”如果你把这个任务交给一个平面艺术家,他们会束手无策——“我帮不了你,这个图像完全无法辨认!”那么稳定扩散是如何做到的呢?在最简单的层面上,答案是它是一个计算机程序,它别无选择,只能做它的事情并为我们生产一些东西。更深层次的答案与这样一个事实有关,即稳定扩散等AI模型(从技术上讲,“机器学习”模型)在很大程度上基于统计数据。它们估计所有选项的概率,即使所有选项的正确概率都极低,它们仍然只会选择概率最高的路径。例如,它对吉他可能出现在图像中的位置有一些理解,并且它可以寻找哪部分噪点最可能像是吉他边缘的部分(即使实际上没有“正确”的选择),然后开始填充物体。因为没有正确的答案,每次你给它一个不同的纯噪点图像,它都会创作出不同的艺术作品!
UNET是从噪音中生成图像的主要组件,在预测过程中,通过反复调用UNET,将UNET预测输出的noise slice从原有的噪声中去除,得到逐步去噪后的图像表示。Stable Diffusion Model的UNET包含约860M的参数,以float32的精度编码大概需要3.4G的存储空间。(source:zhuanlan.zhihu.com/p/582266032)核心的组件CLIP将用户输入的Prompt文本转化成text embeddingUNET UNET进行迭代降噪,在文本引导下进行多轮预测扩散模型在传统扩散模型中,反向扩散过程通过U-Net结构将全尺寸图像逐步传递,从而获得最终的去噪结果。然而,这种迭代性质在计算效率上带来了挑战,特别是在处理大尺寸图像和大量扩散步骤(T)时。在采样过程中,从高斯噪声中去噪图像可能需要很长时间。为了解决这一问题,一组研究人员提出了一种新的方法,称为稳定扩散(Stable Diffusion),最初称为潜在扩散模型(Latent Diffusion Models)CheckpointComfyUI存放路径:models/checkpoints/SD基础预训练模型SD1.5SDXLSD微调模型模型实例SD1.5【majicMIX realistic麦橘写实V7】by麦橘MERJIC----sd1.5微调SDXL【LEOSAM HelloWorld新世界】by LEOSAM是只兔狲----SDXL微调训练方法DreamBooth,by Google格式EMA-only & pruned VS FullEMA-only & pruned只画图Full画图和微调训练