⬡ 节点流学园

⚙️ 02-核心机制

CFG 与负面引导:引导强度的数学

核心cfgclassifier-free guidance过曝rescale

一句话定义

CFG(Classifier-Free Guidance)= 每步去噪时同时算"有条件"与"无条件(负)"两个方向,按 ε = ε(c−) + s·(ε(c+) − ε(c−)) 放大两者的差值——s 就是 cfg 参数,它是"听提示词的力度"旋钮,也是"炸图"的头号元凶。

为什么重要

前置知识

CLIP 与条件编码:文字如何变成方向(正负条件)、KSampler 全参数解剖:seed/steps/cfg/denoise(KSampler 参数)。

核心概念

  • 无条件项 ε(c−):并不真是"无条件",而是把负面提示词编码后的方向;sd 系经典实现里,空白负面 ≈ 无条件基线。
  • 差值放大:cfg=7 意味着"正负差异放大 7 倍"——提示词的每个特征都被强调 7 倍。
  • 家族差异:

- SD1.5/SDXL:cfg 4-8 为主战场,负面提示词必需; - Flux:经 guidance 蒸馏,cfg=1(无负引导),由独立的 FluxGuidance 节点控制"引导值"(dev 推荐 3.5 左右,见 Flux 架构与工作流:cfg=1 的新物种); - LCM/Turbo 蒸馏:cfg 1-2。

原理与机制

每步:  ε_pos = MODEL(x, t, c+)      ε_neg = MODEL(x, t, c−)
       ε = ε_neg + cfg · (ε_pos − ε_neg)
cfg=1  →  纯正条件(无引导)  → 蒸馏家族的常态
cfg↑   →  服从性↑ 但分布外偏移↑ → 过曝、高对比、撕裂

过高引导的本质:放大的差值向量把采样点推出模型训练分布,表现为颜色溢出、锐化过度、"塑料感"。RescaleCFG 节点(见 模型采样补丁:ModelSampling/RescaleCFG/FreeU)通过压缩离群幅度缓解,但根治靠降 cfg 或换引导策略。

公式 / 模型 / 图示

cfg=1     无引导,服从性弱,多样性最高
cfg=5-8   SD 系甜点:服从与自然的平衡
cfg=12+   强服从,高风险区(炸图/过曝)
Flux:     cfg 恒 1,"引导"由 FluxGuidance 的 guidance 值承担(蒸馏进模型)

直观类比

cfg 是甲方改稿的强势程度:1 = 画师自由发挥;5-8 = 明确需求下保留画师发挥;15+ = 每一笔都要按甲方说的来——结果就是画师崩溃,画面用力过猛。负面提示词是"需求单上的禁止事项",cfg 决定这些禁止事项被放大多大声。

实例与案例

  • 画面"酱油色、高饱和":先把 cfg 从 8 降到 6,或加 RescaleCFG(multiplier≈0.7);比调提示词立竿见影。
  • Flux 出图灰淡?那不是 cfg 问题——Flux 固定 cfg=1,调 FluxGuidance 的 guidance(2.5-4),并在提示词里直接描述想要的对比度。
  • 负面"擦不掉"某个元素:降低该元素出现概率的正确顺序:改正面描述 → 负面提权 → 局部重绘清除;单纯堆负面收益有限。

常见误区

  • "cfg 越高越清晰":高 cfg 换来的是"服从"不是"清晰";清晰度归 steps/sampler/分辨率管。
  • 在 Flux/Turbo 上调 cfg:恒为 1,调它无意义(甚至破坏蒸馏);用对应的引导节点。
  • 负面提示词当橡皮擦:它只是把整体方向拉离负面;精准移除对象请用重绘或 region 控制。
  • RescaleCFG 当万能滤镜:它治"过曝症状",不治"引导过头"的根因。

自测题

  1. 写出 CFG 公式,并解释 cfg=1 时发生什么。
  2. 为什么 SD 系"没有负面提示词"效果通常更差?
  3. 过曝图的第一处置动作是什么?
  4. FluxGuidance 的 guidance 与 cfg 是什么关系?
参考答案
  1. ε = ε_neg + cfg·(ε_pos − ε_neg);cfg=1 时 ε=ε_pos,即纯正条件引导,负方向不参与。
  2. 没有负面项时差值缩小、引导力弱,提示词服从性下降;基线负面对比之下结果更"脏"。
  3. 降 cfg(如 8→6),或叠 RescaleCFG 压缩离群幅度,再查提示词权重。
  4. 二者是不同参数:cfg 在蒸馏家族恒为 1;guidance 是蒸馏进模型的引导强度,由 FluxGuidance 节点调节(常用 2.5-4)。

与其他知识点的关系

延伸阅读

前置知识

CLIP 与条件编码:文字如何变成方向KSampler 全参数解剖:seed/steps/cfg/denoise

关联知识点

提示词工程:权重、结构与负面写法模型采样补丁:ModelSampling/RescaleCFG/FreeUFlux 架构与工作流:cfg=1 的新物种