Stable Diffusion 基础教程:提示词引导系数(CFG Scale)
CFG(Classifier-Free Guidance) 用于控制Stable Diffusion在采样期间应遵循提示词的严格程度。几乎所有稳定扩散 AI 图像生成器都提供了此参数设置。今天我们重点来看看在Stable Diffusion中CFG参数相关内容。
我们先以一个实例来看看CFG在不同参数值时的效果。
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 令人惊叹的、罐子、几何图案、动态姿势、折衷主义、色彩缤纷和服装、全身肖像、肖像、书生气克利奥帕特拉的特写、她很尴尬、超现实、散景、骄傲、Bardcore、镜头光晕、绘画、帕维尔、索科夫
大模型:Protovision XL 高保真 3D
当值为1时,图片几乎不会遵循提示,图片缺乏活力。
当值为3时,图片会出现提示词所描述的样式。
典型值为7时,图像与较大CFG比例的图像相似。
较高的CFG值往往会显示相似的图像,并且颜色变得越来越饱和。
通常将CFG值设置在7到10之间。这样可以让提示词引导图像而不饱和。
当使用LCM LoRA和SDXL Turbo等快速采样模型时,CFG 参数值要低很多。
LCM LoRA模型中,CFG设置为1-2左右,通常设置为1.5。
SDXL Turbo模型中,CFG设置为1-1.2左右,通常设置为1。

分类器引导。左:无引导。中间:低强度引导。右:高强度引导。
尽管分类器指导为扩散模型带来了突破性的效果提升,但它需要一个额外的模型来提供该指导。这给整个模型的训练带来了一些困难。
无分类器引导(Classifier-free Guidance),用其作者的话来说,是一种可以获得分类器引导结果而不需要分类器的方法。不同于前面所说使用标签和一个单独模型用于引导,他提出使用图像的描述信息并训练一个带条件的扩散模型(conditional diffusion model)。
他们将分类器部分作为噪声预测器 U-Net 的调节,实现了图像生成中所谓的“无分类器”(即没有单独的图像分类器)指导。
-
如果 CFG Scale设置为 -1,则忽略该提示。你有同等的机会产生一只猫、一只狗和一个人。 -
如果 CFG Scale设置为中等 (7-10),则遵循提示。你总是会生成一只猫。 -
如果CFG Scale设置为高等(大于10以上)可以获得更明确的猫图像

现在我们知道CFG是如何工作的了。我们可能想知道最好的CFG值是多少呢。
答案是有合理值 (7-10),但没有最佳值。
CFG Scale设定了准确性和多样性之间的权衡。您可以在高 CFG 值下获得更准确的图像,在低 CFG 值下获得更多样化的图像。
那么我们如何使用CFG Scale呢?答案是它在采样迭代步数中使用。
(1)我们首先从一张随机图像开始。
(2)估计受提示词条件和完全无条件条件的图像的噪声。
(3)图像在条件噪声和非条件噪声之间的方向移动。CFG Scale用于控制步长有多大。
(4)根据噪声表调整图像的噪声。
重复步骤 2 至 4,直到采样步骤结束。
因此,使用CFG时需要两次估计噪声。一种是以文本为条件的,另一种是无条件的。
您可能想知道否定提示词是如何出现的。在训练和采样中,不使用否定提示词!
否定提示词的出现是一种破解:它是通过在采样步骤中用否定提示预测的噪声替换无条件噪声来启用的。
如果没有否定提示词,可以使用空白标记来预测无条件噪声。图像朝着提示词移动,远离随机主体。
当使用否定提示词时,可以用它来预测“无条件”噪声。现在,图像移向提示词并远离负面提示词。