Stable diffusion采样器详解

打印 上一主题 下一主题

主题 884|帖子 884|积分 2652

在我们使用SD web UI的过程中,有许多采样器可以选择,那么什么是采样器?它们是怎样工作的?它们之间有什么区别?你应该使用哪一个?这篇文章将会给你想要的答案。
什么是采样?


Stable Diffusion模型通过一种称为“去噪”的过程来生成图像,这个过程涉及到在潜在空间中渐渐从随机噪声中提取出有意义的图像特性。


  • 模型首先在潜在空间中生成一个完全随机的噪声图像。这个图像是随机的,不包含任何有意义的信息。
  • 噪声预测器(也称为去噪函数)估计这个随机图像中的噪声。这个预测器是模型的一部分,它学习怎样从噪声中规复出清晰的图像。
  • 模型从初始的随机噪声图像中减去预测的噪声,以便渐渐展现出隐藏在噪声下的图像内容。
  • 这个过程会重复多次(通常是十频频),每一步都会生成一个新的采样图像。这些采样图像逐渐从随机噪声转变为越来越清晰的图像。
  • 经过多次迭代后,终极得到的图像是一个干净的、去噪后的图像,它反映了文本提示中描述的内容。
下面是一个实际的采样过程。采样器逐渐产生越来越干净的图像。

Noise schedule

在Stable Diffusion模型的去噪过程中,噪声表(noise schedule)扮演着至关紧张的角色。
噪声表是一个预先界说的计划,它决定了在每一步采样过程中应用的噪声水平。


  • 在去噪过程的第一步,图像充满了高噪声,这是因为初始图像是完全随机的噪声图像。在这个阶段,噪声水平最高,图像看起来是不连贯和随机的。
  • 随着去噪过程的举行,噪声表会渐渐低落每个采样步骤中的噪声水平。这种低落是按照预定的计划举行的,旨在逐渐从噪声中提取出有意义的图像特性。
  • 在去噪过程的最后一步,噪声水平低落到零,此时图像应该是清晰且与文本提示相匹配的。理想情况下,终极图像应该险些没有噪声,且细节丰富,准确地反映了文本描述的内容。
下面是一个Noise schedule的基本工作原理:

如果我们增加采样步骤数,那么每个步骤之间的降噪幅将会变小。这有助于镌汰采样的截断误差。
可以比力一下 15 个步骤和 30 个步骤的噪音时间表。

不同的采样器

webUI自带了许多不同的采样器,并且这个采样器的个数还在不绝的增加,那么这些采样器都有些什么不同呢?

老式ODE solvers

让我们看一下最简单采样器。这些采样器算法已经被发明很久很久了。它们是常微分方程 (ODE) 的老式采样器。
Euler– 最简单的采样器。
Heun– 更准确但更慢的 Euler 版本。
LMS(线性多步法) – 与 Euler 的速率相同,但(听说)更准确。
Ancestral采样器

如果你留意观察的话,可以看到某些采样器的名称上带有一个字母’a’。 比如:


  • Euler a
  • DPM2 a
  • DPM++ 2S a
  • DPM++ 2S a Karras
他们是Ancestral采样器。Ancestral采样器在每个采样步骤中都会向图像添加噪声。它们是随机采样器,因为采样效果具有肯定的随机性。
固然也有许多随机采样器的名字上是不带a的。
使用Ancestral采样器的缺点是图像不会收敛。也就是说你有可能不会得到相同的效果。
还是刚刚的例子,我们比力一下使用 Euler a 和 Euler 生成的图像。(为了便于对比,我们加入了另外一个收敛的采样器)

可以看到Euler和DMP++ 2M Karras终极生成的图片其实是大致一样的,但是他们两个跟Euler a的效果不太相同。
所以为了可重复性,那就用收敛采样器。如果要生成眇小的变化,那么可以考虑使用随机采样器。
Karras noise schedule

带有“Karras”标签的采样器使用 Karras 文章中推荐的 noise schedule。和传统的采样器相比,你会发现噪声步长在接近尾声时变小了。这样的变化听说可以提高图像的质量。

DDIM 和 PLMS

DDIM(去噪扩散隐式模型)和 PLMS(伪线性多步法)是原始 Stable Diffusion v1 附带的采样器。DDIM是首批为扩散模型设计的采样器之一。PLMS 是 DDIM 的更新、更快的替代方案。
这两个采样器已经过期了,我们通常不会使用他们。
DPM 和 DPM++

DPM(扩散概率模型求解器)和 DPM++ 是专为 2022 年发布的扩散模型设计的新采样器。它们表示具有类似体系结构的求解器系列。DPM 和 DPM2 相似,但 DPM2 是二阶的(更准确但更慢)。DPM++ 是对 DPM 的改进。
DPM adaptive是自顺应调整步长。所以它可能很慢,并且不能保证在采样步骤数内完成。
UniPC

UniPC(同一预测器校正器)是 2023 年发布的新采样器。受常微分方程求解器中预测变量-校正器方法的启发,它可以在 5-10 个步骤内实现高质量的图像生成。
怎么选择采样器

那么这么多的采样器,我们应该怎样选择呢?我想我们可以从采样算法是否收敛,采样的速率和终极生成图片的质量这几个方面来具体考量需要使用什么样的采样器。
是否收敛

首先,对Euler、DDIM、PLMS、LMS Karras 和 Heun这些老式的常微分方程求解器或原始扩散求解器来说,PLMS和LMS Karras收敛效果不佳。Heun收敛得更快。
对于所有的Ancestral采样器来说,都是不收敛的。这些采样器有:Euler a, DPM2 a, DPM++ 2S a, DPM2 a Karras, DPM++ 2S a Karras。
DPM++ SDEDPM++ SDE Karras 与Ancestral采样器存在相同的缺点。它们不仅不会收敛,而且图像也会随着步数的变化而显着波动。
DPM++ 2MDPM++ 2M Karras 体现良好。当步数足够高时,karras变体收敛得更快。
UniPC 收敛速率比 Euler 慢一点,但还不错。
采样速率

下图是使用不同采样器的采样速率:

固然 DPM adaptive在收敛方面体现良好,但它也是最慢的。
其余的渲染时间可以分为两组,第一组花费的时间大致相同(约 1 倍),另一组花费的时间约莫是两倍(约 2 倍)。时间花费2倍的是因为他们用的是2阶求解器。
二阶求解器固然更准确,但需要对去U-Net举行两次评估,所以它们花费的时间大概是2倍。
质量

固然,前面讲的收敛和速率都是次要的,如果终极生成的图片质量欠好,那么收敛和速率也就无从谈起了。
我们比力一下常用的一些采样器的终极图片效果:

各人觉得哪幅图更好?事实上,哪幅图更好是一个主观上的尺度,每个人的审雅观点不同,最后可能选出来不同的效果。
所以…哪一个是最好的?

我不能说哪个是最好的,但是我可以给点我的发起。
如果您想快速、有创造力并且质量不错,那么可以这样选择:


  • DPM++ 2M Karras,20-30 步
  • UniPC,20-30 步。
如果您想要高质量的图像并且不关心收敛性,那么可以这样选择:


  • DPM++ SDE Karras,10-15 步(留意:这是一个较慢的采样器)
  • DDIM,10-15 步。
如果您喜欢稳固、可重现的图像,请避免使用任何Ancestral采样器。
EulerHeun也是不错的选择.
写在最后

感兴趣的小同伴,赠予全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

AIGC技术的将来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。将来,AIGC技术将在游戏和计算范畴得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更机动的特性。同时,AIGC技术也将与人工智能技术紧密联合,在更多的范畴得到广泛应用,对程序员来说影响至关紧张。将来,AIGC技术将继承得到提高,同时也将与人工智能技术紧密联合,在更多的范畴得到广泛应用。


一、AIGC所有方向的学习门路
AIGC所有方向的技术点做的整理,形成各个范畴的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。


二、AIGC必备工具
工具都帮各人整理好了,安装就可直接上手!

三、最新AIGC学习笔记
当我学到肯定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记具体记载了他们对一些技术点的理解,这些理解是比力独到,可以学到不一样的思路。


四、AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很轻易入门的。

五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才华将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莱莱

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表