Stable Diffusion 基础教程:提示词引导系数(CFG Scale)

2024-02-2709:04:41AI绘画与短视频剪辑Comments669 views字数 2402阅读模式

CFG(Classifier-Free Guidance) 用于控制Stable Diffusion在采样期间应遵循提示词的严格程度。几乎所有稳定扩散 AI 图像生成器都提供了此参数设置。今天我们重点来看看在Stable Diffusion中CFG参数相关内容。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

一. CFG是什么 

我们先以一个实例来看看CFG在不同参数值时的效果。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

breathtaking, cans, geometric patterns, dynamic pose, Eclectic, colorful, and outfit, full body portrait, portrait, close up of a Nerdy Cleopatra, she is embarrassed, surreal, Bokeh, Proud, Bardcore, Lens Flare, painting, pavel, sokov文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

令人惊叹的、罐子、几何图案、动态姿势、折衷主义、色彩缤纷和服装、全身肖像、肖像、书生气克利奥帕特拉的特写、她很尴尬、超现实、散景、骄傲、Bardcore、镜头光晕、绘画、帕维尔、索科夫文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

大模型:Protovision XL 高保真 3D文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

Stable Diffusion 基础教程:提示词引导系数(CFG Scale)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

当值为1时,图片几乎不会遵循提示,图片缺乏活力。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

当值为3时,图片会出现提示词所描述的样式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

典型值为7时,图像与较大CFG比例的图像相似。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

较高的CFG值往往会显示相似的图像,并且颜色变得越来越饱和。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

通常将CFG值设置在7到10之间。这样可以让提示词引导图像而不饱和。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

二. LCM与SDXL Turbo中CFG参数值 

当使用LCM LoRA和SDXL Turbo等快速采样模型时,CFG 参数值要低很多。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

LCM LoRA模型中,CFG设置为1-2左右,通常设置为1.5。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

SDXL Turbo模型中,CFG设置为1-1.2左右,通常设置为1。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

三. CFG原理介绍之CG(Classifier Guidance) 
要了解CFG,必须首先了解它的前身:分类器指导(Classifier Guidance)。
分类器引导是一种能够将图像标签信息包含于扩散模型中的方法。你可以使用一个标签来引导扩散过程。举个例子,“猫”这个标签可以引导逆向扩散过程使其生成一张关于猫的图像。
分类器引导强度(classifier guidance scale)是一个用于控制扩散过程应该多贴近于给定标签的一个变量。
假设有三组图片分别具有”猫“,”狗“以及”人“的标签,如果扩散过程是无引导的,扩散模型在绘图过程中会在这三个组中均匀采样。这会导致它有时候输出的图像会包含两个标签的内容,比如一个男孩牵着一条狗。
Stable Diffusion 基础教程:提示词引导系数(CFG Scale)

分类器引导。左:无引导。中间:低强度引导。右:高强度引导。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

在分类器的高强度作用下,扩散模型产生的图像将偏向于某一标签类别中极端或明确的那些示例。如果你要求模型绘制一个猫,它将返回一张确切无疑是猫的图像并且不包含任何其他内容。
分类器引导强度(classifier guidance scale)控制扩散过程与指导目标的贴近程度。在上图中,右边的样本比中间的样本具有更高的分类器引导强度。实际上,这个比例值只是扩散模型计算中的一个漂移变量的乘数。
四. CFG原理介绍 

尽管分类器指导为扩散模型带来了突破性的效果提升,但它需要一个额外的模型来提供该指导。这给整个模型的训练带来了一些困难。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

无分类器引导(Classifier-free Guidance),用其作者的话来说,是一种可以获得分类器引导结果而不需要分类器的方法。不同于前面所说使用标签和一个单独模型用于引导,他提出使用图像的描述信息并训练一个带条件的扩散模型(conditional diffusion model)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

他们将分类器部分作为噪声预测器 U-Net 的调节,实现了图像生成中所谓的“无分类器”(即没有单独的图像分类器)指导。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

在text-to-image功能中,这种引导就由文本指令来提供。
现在我们有了一个可调节的无分类器的扩散过程,我们要如何控制扩散过程遵循指导到什么程度?
无分类器引导强度(CFG Scale)是一个值,它控制文本指令(prompt)对扩散过程的影响程度。当将其设置为 0 时,图像生成是无引导的(即忽略提示),而较高的值会使扩散过程更贴近于文本指令。
假设有3组图像呈现的三个提示:猫、狗和人。
您输入提示:a cat(一只猫)。
  • 如果 CFG Scale设置为 -1,则忽略该提示。你有同等的机会产生一只猫、一只狗和一个人。
  • 如果 CFG Scale设置为中等 (7-10),则遵循提示。你总是会生成一只猫。
  • 如果CFG Scale设置为高等(大于10以上)可以获得更明确的猫图像
Stable Diffusion 基础教程:提示词引导系数(CFG Scale)
Classifier-free guidance.无分类器指导。
五. 采样迭代步数中使用CFG

现在我们知道CFG是如何工作的了。我们可能想知道最好的CFG值是多少呢。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

答案是有合理值 (7-10),但没有最佳值。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

CFG Scale设定了准确性和多样性之间的权衡。您可以在高 CFG 值下获得更准确的图像,在低 CFG 值下获得更多样化的图像。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

那么我们如何使用CFG Scale呢?答案是它在采样迭代步数中使用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

(1)我们首先从一张随机图像开始。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

(2)估计受提示词条件和完全无条件条件的图像的噪声。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

(3)图像在条件噪声和非条件噪声之间的方向移动。CFG Scale用于控制步长有多大。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

(4)根据噪声表调整图像的噪声。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

重复步骤 2 至 4,直到采样步骤结束。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

因此,使用CFG时需要两次估计噪声。一种是以文本为条件的,另一种是无条件的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

六. 控制CFG使用否定提示词 

您可能想知道否定提示词是如何出现的。在训练和采样中,不使用否定提示词!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

否定提示词的出现是一种破解:它是通过在采样步骤中用否定提示预测的噪声替换无条件噪声来启用的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

如果没有否定提示词,可以使用空白标记来预测无条件噪声。图像朝着提示词移动,远离随机主体。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

Stable Diffusion 基础教程:提示词引导系数(CFG Scale)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

当使用否定提示词时,可以用它来预测“无条件”噪声。现在,图像移向提示词并远离负面提示词。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

Stable Diffusion 基础教程:提示词引导系数(CFG Scale)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/jianji/61358.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/jianji/61358.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定