AI大模型教程
一起来学习

Stable Diffusion教程:采样器,一篇文章带你了解清楚!

前言

采样器的用途

Stable Diffusion 提供的是一种称为稳定扩散的图片生成能力。

这里的重点是扩散,在 Stable Diffusion 中扩散分为两种:前向扩散和后向扩散。

简单点说,前向扩散是将图片转换为数据模型,而后向扩散是从数据模型生成图片。

后向扩散时,Stable Diffusion 先会生成一张完全的噪音图,然后根据提示词的语义,通过不断的采样来去除噪音图中不符合语义的噪音,而采样器就是去除噪音用的算法程序。

所有的AI设计工具,安装包、模型和插件,都已经整理好了,👇获取~

采样步数

在 Stable Diffusion 中采样器和采样步数有着紧密的关系,在采样的每一步,采样器会按照一个噪音计划表控制噪音的水平,在第一步噪音水平最高,在最后一步噪音水平降为零,如下图所示:

增加采样步数,可以减少每步之间的降噪幅度,这样可以避免截断误差。所谓截断误差就是采样器在每一步采样去噪时所使用的算法都是求近似值,这个近似值和真实的解存在误差。增加采样步数,就会降低每次采样要处理的噪音数量,从而可以降低每次采样时的误差。

如何选择采样器?

Stable Diffusion WebUI 中默认已经集成了很多采样器,比如 Euler a、DPM++、DDIM和Restart等等,随着算法的改进和新算法的出现,未来估计还会不断增加新的采样器。

这些采样器在图像生成的效果和速度上各不相同,我们应该如何选择呢?

认识采样器

所谓知己知彼,百战不殆!首先我们要来认识下这些采样器,了解它们的算法特性,然后才能更好的使用它们。为了更好的认识这些采样器,我们可以根据它们的算法特性做一些分类。

经典的常微分方程(ODE)求解方法

Euler:欧拉采样方法,20-30步就能生成效果不错的图片。

Heun:欧拉的一个更准确但是较慢的版本,耗费时间接近Euler的2倍。

LMS:Linear multi-step method,线性多步法,速度与Euler相仿,但是可能更准确 。

这些算法已经有100多年的历史,绝对可以称得上经典。

初始采样器

DDIM 是在 Stable Diffusion 初始1.0版本中自带的采样器。其在 DPM 基础上做了重要改进:预测噪声而不是直接预测信号,基于时间步顺序采样。采样速度快,质量大幅提升。

初始发布的还有PLMS (Pseudo Linear Multi-Step method),即伪线性多步法,它是为了解决LMS采样方法更新慢的问题而提出的,实测效果不太好。

这两个采样器一般被认为是过时的,而不再被广泛使用。

2S、2M、3M

很多采样器带有这些数字标识,这里介绍下它们的含义。

先看数字。

2:代表这是一个二阶采样器。

3:代表这是一个三阶采样器。

不带这些数字的就是一阶采样器,比如 Euler 采样器。

三阶采样器比二阶采样器准确,二阶采样器比一阶采样器准确,但是阶数越高,计算复杂度也更高,消耗更多的计算资源。

在数学中,”阶”通常指的是对某个变量的导数或微分。一阶通常涉及到变量的第一导数或微分,而二阶涉及到第二导数或微分,在优化和采样的上下文中,使用二阶方法意味着我们不仅考虑当前的样本点,还考虑这些点如何变化。这可以帮助我们更准确地估计函数的形状和行为,从而更好地进行采样。

再看字母。

S:代表singlestep。这意味着该采样器在每次迭代中只执行一步。

由于每次迭代只进行一次更新,采样速度更快,但可能需要更多的采样步数才能达到所需的图像质量。更适合需要快速反馈或实时渲染的应用,因为它可以快速生成图像,尽管可能需要更多的迭代来完善。

M:代表multistep。这意味着该采样器在每次迭代中会执行多步,采样质量更高,但是每次采样速度较慢。

由于每次迭代需要进行多次更新,采样速度较慢,但可能只需要较少的采样步数就能达到所需的图像质量。更适合对图像质量有较高要求的应用,或者那些可以接受稍长的计算时间以获得更好结果的应用。

祖先采样器(Ancestral sampling)

所有在名字中包含独立字母 a 的都是祖先采样器,祖先采样器会在每一步采样时都向图片添加新的随机噪声,这会导致不断采样时,图片内容一直在大幅度的变化,不会稳定下来,专业点的说法叫难以收敛。

下图是采样器 Euler a 和 Euler 在不同采样步数时生成图片的对比,可以看到随着采样步数的增加, Euler 生成的图片变化很小,而 Euler a 生成的图片则一直在发生明显的变化。

需要注意除了祖先采样器,DDIM 和带 SDE 标识的采样器也会在采样时增加随机噪声,比如 DPM++ SDE、DPM++ 2M SDE等。SDE是随机微分方程的意思,英文全称:stochastic differential equations。

因为会在采样时增加随机噪声,使用这些采样器时,即使相同的参数和随机数也有可能生成不同的图片。

DPM

很多采样器都携带 DPM 标识,那么 DPM 是什么呢?

DPM(Diffusion probabilistic model solver)和 DPM++ 是2022年发布的新采样器。它们代表了类似体系结构的解算器家族。

DPM 的主要优点是生成质量高,但是由于DPM会自适应调整步长,不能保证在约定的采样步骤内完成任务,整体速度可能会比较慢。

DPM和DPM2相似,但DPM2是二阶的(更准确但更慢)。

DPM++是对DPM的改进,引入了很多新的技术和方法,如EMA(指数移动平均)更新参数、预测噪声方差、添加辅助模型等,从而在采样质量和效率上都取得了显著的提升,是目前效果最优秀的反向扩散采样算法之一。

Karras

所有后缀带有 karras 的采样器是使用了 karras 噪声计划表,如下图所示:

karras 噪声计划表在初始采样步骤中的噪音水平较高,而在结尾采样步骤中的噪音水平较低,实验表明这样有助于提高生成图片的质量。

UniPC

UniPC (Unified Predictor-Corrector,统一预测-校正器)是2023年新发布的采样器,受到同名的常微分方程求解法思路的影响。

可以在5-10个步骤中实现高质量图像生成,收敛速度略慢于欧拉方法,但质量相当,推荐使用20-30步。

k-diffusion

这个词并不指某一个采样器,它指的是 Katherine Crowson 的 k-diffusion Github库和与之相关的采样器,正是这个库实现了karras2022年论文中的采样方法,在 Stable Diffusion WebUI 中基本上除了DDIM、PLMS、UniPC的其他采样器都来自于k-diffusion。

采样器选择建议

通过以上对采样器的认识,这里给出一些建议。

如果我们比较关注图片质量,那最好选择带 DPM++、Karras、2M或者3M的,比如:DPM++ 2M Karras、DPM++ 3M SDE Karras、DPM++ 2M SDE Heun Karras、DPM++ SDE Karras ;或者使用较新的 UniPC。

如果想要快速或者简单的图像,Euler、DDIM是不错的选择。

如果期望得到稳定、可重现的图像,避免采用任何祖先采样器、SDE采样器。

大部分采样器的采样步数在20-30之间会有比较好的出图效果,低于20时可能采样不足,高于30时可能仅在细节上有些改善,收益不大。

注意实际的效果可能会因具体的模型、数据和其他因素而异,因此在实际应用中可能需要进行实验来确定最佳策略。

这里直接将该软件分享出来给大家吧~

1.stable diffusion安装包

随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。

最新 Stable Diffusion 除了有win多个版本,就算说底端的显卡也能玩了哦!此外还带来了Mac版本,仅支持macOS 12.3或更高版本

2.stable diffusion视频合集

我们在学习的时候,往往书籍源码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,一步步带你入坑stable diffusion,科学有趣才能更方便的学习下去。

3.stable diffusion模型下载

stable diffusion往往一开始使用时图片等无法达到理想的生成效果,这时则需要通过使用大量训练数据,调整模型的超参数(如学习率、训练轮数、模型大小等),可以使得模型更好地适应数据集,并生成更加真实、准确、高质量的图像。

4.stable diffusion提示词

提示词是构建由文本到图像模型解释和理解的单词的过程。可以把它理解为你告诉 AI 模型要画什么而需要说的语言,整个SD学习过程中都离不开这本提示词手册。

5.SD从0到落地实战演练

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名SD大神的正确特征了。

这份完整版的stable diffusion资料我已经打包好,需要的点击下方插件,即可前往免费领取!

文章来源于互联网:Stable Diffusion教程:采样器,一篇文章带你了解清楚!

相关推荐: 哈哈哈,让 GitHub Copilot 用上 deepseek,性能不输 GPT-4,每月立即省 10 刀!

你有没有遇到这种情况?每个月花个 10 刀订阅 GitHub Copilot,虽然它好用,但每次看到信用卡账单时总觉得这钱花得有点“肉疼”?如果我告诉你,有个方法不仅能省下这笔钱,而且还能保持同样的代码生成效果,你会不会很感兴趣?   今天,我就和你分享一个隐…

赞(0)
未经允许不得转载:5bei.cn大模型教程网 » Stable Diffusion教程:采样器,一篇文章带你了解清楚!
分享到: 更多 (0)

AI大模型,我们的未来

小欢软考联系我们