想象一下:你是一位路痴司机,正从一片纯白噪音的荒野出发,要开车去一个叫“提示词”的目的地,比如“一只戴着帽子的柴犬”。车里坐着一位导航老师傅,他的音量旋钮就是 CFG Scale。音量调得太低,你听不清导航,随心所欲乱开,可能绕进一片漂亮的野花田——但大概率到不了柴犬家;音量调得太高,导航老师傅在你耳边疯狂吼叫,你吓得猛打方向盘,车子冲过目的地、轮胎擦出刺耳的尖叫声。真正的老司机,会把这颗旋钮拧到一个“听得清、又不吓人”的位置。这篇文章,就是要带你把这颗 CFG Scale 旋钮彻底拧明白。

岗位关联

对 AI 图像创作者来说,CFG Scale 是控制“提示词约束力”的核心旋钮。读懂它,你就能在'听话'与'有创意'之间自由切换,大幅减少废图率,生成质量立刻上一个台阶。

目录
  1. 可视化演示
  2. CFG 基础概念
  3. 引导公式原理
  4. 低 CFG 效果
  5. 高 CFG 问题
  6. 动态 CFG 策略
  7. 调参实战
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

动态演示CFG Scale的核心机制,通过全局/局部/动态/静态四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

CFG Scale:CFGS CFG Scale的核心原理与 引导强度对图像生成质量的影响规 核心机制可视化 CFG Scale整体架构与关键组件

CFG 基础概念

路痴司机最怕的,不是没有导航,而是不知道自己该听谁的。扩散模型生成图像时,从一片随机噪声出发,每一步都在“猜”下一步应该往哪个方向走。如果没有提示词约束,这个猜测就像没有导航的司机——东南西北都能开,最后开到哪里全凭运气。CFG Scale 要解决的,正是“如何让司机把导航听得更清楚”的问题。

在 Stable Diffusion 中,这个“导航音量”就是 CFG Scale。它不是一个藏在角落里的小参数,而是 WebUI、ComfyUI 等工具里最醒目的滑块之一。你填 1,模型几乎无视提示词,随心所欲地画;你填 15,模型恨不得把提示词里的每个词都画成超大号logo,结果画面被“吼”得面目全非。大多数情况下,创作者会把 CFG Scale 放在 5 到 10 之间,像听导航一样,既听清方向,又不被吓到。

从技术上说,CFG Scale 全称是 Classifier Free Guidance,中文常译为“无分类器自由引导”。它的核心思路是:让同一个扩散模型在推理时同时做两次预测,一次看提示词,一次不看提示词,然后把“看与不看之间的差别”按一定强度放大。这个强度,就是 CFG Scale。不需要额外的图像分类器,所以叫“无分类器”。

回到司机的比喻:提示词是导航里的目的地,扩散模型是路痴司机,CFG Scale 则决定了导航老师傅的话在司机耳边占多大分量。声音太小,司机自由发挥,画面充满惊喜但容易跑偏;声音太大,司机被吼得只敢走直线,最后连原本该拐的弯都拐成了直角。调 CFG 的第一步,就是理解它不是一个“越大越好”的旋钮。

引导公式原理

导航老师傅是怎么给司机指路的?他其实会同时说两套话:一套是“没有导航时你自己也会说的话”——司机凭手感判断前方是不是路;另一套是“结合地图后重新计算的话”——前方该左转还是直行。两套话之间的差,就是导航真正提供的有效信息。CFG 引导公式做的正是这件事。

扩散模型在每一步去噪时,会先做一次无提示词的条件预测 $\varepsilon_{\text{uncond}}$,再做一次有提示词的条件预测 $\varepsilon_{\text{cond}}$。真正有价值的是两者的方向差:提示词想把画面“拉”向哪里。CFG 把这个方向差乘以强度系数 $s$,再加回无提示词的预测中,得到最终引导方向。

这个公式的美妙之处在于,它不需要任何额外的图像分类器,只需要同一个模型做两次前向推理。对比条件预测和无条件预测,模型自己就学会了“提示词想把图拉向哪里”。前面的箭头越大,最终图像就会越执着地扑向提示词描述的内容。

用司机的语言总结:无条件预测是你自己的方向盘手感,条件预测是导航建议,两者的差值就是“导航纠偏”。CFG Scale 就是这个纠偏声音的音量旋钮。旋钮拧得越大,你越不敢按自己的手感开车,最终车辆轨迹会被导航“掰”得笔直——但路面并不是笔直的,所以车轮反而会压线、擦边,甚至冲出路面。

ε^(zt,c)=εuncond+s×(εcond−εuncond)\displaystyle \hat{\varepsilon}(z_t,c)=\varepsilon_{\text{uncond}}+s\times(\varepsilon_{\text{cond}}-\varepsilon_{\text{uncond}})
  1. 无条件噪声预测$\varepsilon_{\text{uncond}}$ 表示模型完全忽略提示词时,对当前噪声图的“本能”预测方向。它相当于司机不依赖导航、凭直觉做出的判断。
  2. 条件噪声预测$\varepsilon_{\text{cond}}$ 表示模型结合提示词 $c$ 后,对噪声图的预测方向。它相当于导航根据地图重新算出的建议路线。
  3. 方向差值$\varepsilon_{\text{cond}}-\varepsilon_{\text{uncond}}$ 是提示词带来的“纠偏向量”。它回答了“提示词到底想让画面往哪个方向偏”的问题。
  4. 强度系数$s$ 就是 CFG Scale,控制纠偏向量被放大多少倍。$s=1$ 时几乎只有条件预测在起作用,没有额外引导;$s=7$ 时纠偏被放大 7 倍,提示词的影响力显著增强。

低 CFG 效果

如果把导航音量调到 1 到 4,司机会是什么状态?他隐约听到导航在说什么,但大部分时间还是凭感觉开车。车子可能绕远路,可能开进一条地图上没有的小路,但沿途会看见意外的野花、落日和岔路风景。低 CFG 生成的图像也是这样:提示词只提供一个模糊方向,模型放开手脚自由发挥。

在画面表现上,低 CFG 意味着“提示词遵循度偏弱但图像更松弛”。你要求“一只戴帽子的柴犬”,结果狗是柴犬,帽子却不明显;你要求“赛博朋克城市”,结果城市元素在,霓虹灯的强度和位置却很随机。画面往往没有高 CFG 那种紧绷感,色彩过渡更自然,细节更松散,光线和构图反而多了一份“画出来的呼吸感”。

对于创作者来说,低 CFG 是一把双刃剑。它特别适合创意探索和概念草图:当你不知道自己想要什么,只想看看模型能从一句模糊描述里长出什么灵感时,CFG 2 到 5 会给你带来很多意想不到的构图。但如果你需要稳定输出商品图、角色设定图,低 CFG 会让主体反复“失踪”,返工率直线上升。

所以,低导航音量并不是“坏导航”。它只是把方向盘的一部分还给了司机。真正的老司机有时候会故意关小导航,去探索一条没有人走过的山路。生成式 AI 的价值恰恰在于这种“可控的失控”——CFG 越低,失控越多,灵感也越多,但你需要有能力接受翻车。

高 CFG 问题

现在把导航音量拧到 15 甚至 20。导航老师傅不再是指路,而是对着司机的耳朵尖叫:“左转左转左转!”“直行直行!”司机吓得猛打方向盘,每一个动作都做得过度用力。结果车子冲过路口、撞上路沿,轮胎在地上留下刺耳的摩擦痕。高 CFG 图像给人的第一感觉,就是这种“用力过猛”的痕迹。

具体到画面上,过高的 CFG 会让模型把预测往提示词方向“推”得太远,从而偏离真实图像的分布。最典型的现象是过饱和:你写“黄金色调”,画面直接变成高饱和的荧光橙;写“美丽皮肤”,皮肤被磨成塑料质感;写“锐利细节”,边缘出现一圈一圈的伪影和硬边。这是因为纠偏向量被过度放大,模型每一步都在修正,最终越修越过。

更麻烦的是“主体过拟合”。当 CFG 很高时,模型会把提示词中的每个词都当作生死攸关的指令,导致画面元素堆砌、构图不自然。你写“一只戴帽子的柴犬站在雪山前”,它可能会把雪山、帽子、狗各画一个巨大的特写,而不是把三者和谐地放进一个画面。这种“照单全收”的机械感,恰恰是 AI 味最重的地方。

回到导航比喻:高 CFG 不是“更听话”,而是“被吼得不会开车了”。司机每一步都被导航拽着走,最终连自己原本擅长的流畅轨迹都被破坏。这就是为什么老手看到 CFG 超过 15 的图,第一反应不是“哇,好精细”,而是“哦,又过饱和了”。导航音量太大,目的地反而更远了。

动态 CFG 策略

聪明的司机从来不会全程用一个音量开车。刚上高速、路况不熟时,他会把导航音量调大,严格按指示变道;快到目的地时,他会把音量调小,因为最后几百米往往路况复杂,过度依赖导航反而容易错过路口。动态 CFG 策略就是这个思路:在采样前期用较高的 CFG,快速锁定主体轮廓;在采样后期降低 CFG,给细节和色彩留出自然生长的空间。

在实现上,动态 CFG 可以是一条随去噪步数线性下降的曲线:

除了线性递减,也可以做分段调整:前 30% 步数保持 CFG 12,中间 40% 线性下降到 7,最后 30% 保持 5。这样的“先高后低”策略,保证了大结构不跑偏,同时让皮肤、光影、材质等细节不至于被过度修正。许多采样器插件和动态 CFG 节点已经支持这种调度,你不需要手写公式,只需要理解它的意图。

动态 CFG 最适用的场景,是那些既需要“忠于提示词”又需要“色彩自然”的任务。比如动漫风格插画、人物半身像、复杂场景渲染。固定高 CFG 虽然能保证人物特征准确,但背景常常过曝;固定低 CFG 又会让角色五官漂移。动态策略像一位经验丰富的司机:前半程紧握方向盘,后半程放松双手,让车自然滑入车位。

st=sstart−tT(sstart−send)\displaystyle s_t=s_{\text{start}}-\frac{t}{T}(s_{\text{start}}-s_{\text{end}})
  1. 总步数$T$ 表示完整的去噪步数,比如 20 步。它给定了“旅程总长度”。
  2. 当前步数$t$ 表示当前进行到第几步,从 0 到 $T$。$t$ 越靠近 $T$,越接近生成终点。
  3. 起始强度$s_{\text{start}}$ 是采样开始时的 CFG,通常设为 10 到 12,保证前期严格跟随提示词。
  4. 结束强度$s_{\text{end}}$ 是采样结束时的 CFG,通常设为 4 到 6,避免后期因过度纠偏产生伪影。

调参实战

说了这么多比喻,实践里 CFG Scale 到底该调成多少?最稳的起点是 7,这是 Stable Diffusion 生态里最常见的默认值。在大多数写实风格下,5 到 10 是一个安全区间;插画和动漫风格可以稍微高一点到 7 到 12;而极简风格或抽象艺术,反而更适合 3 到 6。记住:这个数字没有绝对的标准,只有“适合当前画面的值”。

不同模型对 CFG 的敏感度差异很大。SD 1.5 时代的模型提示词理解较弱,往往需要 7 到 10 才能把主体稳住;SDXL 等新模型对提示词的还原能力更强,同样的效果可能只需要 5 到 8。如果你用的是社区微调模型,最好先看一眼模型卡上的推荐 CFG,再结合自己测试。比如人物模型喜欢 5,风景模型喜欢 8,这不是玄学,而是训练数据分布不同。

调参的正确姿势,是“控制变量”。固定提示词、种子、步数和采样器,只让 CFG 从 2 到 15 逐个生成一张网格图。你会清楚地看到:低 CFG 时主体模糊,中段图像最自然,高段过饱和和伪影开始出现。此时再回头微调提示词,往往比继续加 CFG 更有效。比如主体不清晰时,把“戴着帽子”写成“红色贝雷帽”,比把 CFG 从 7 调到 12 更聪明。

所以,CFG Scale 调的不是一个数字,而是“提示词可信度”。提示词写得越精准,CFG 就可以越低;提示词越模糊,CFG 越高只会让模型手忙脚乱。真正的高手总是先用提示词把导航地图画清楚,再把 CFG 音量调到刚好能听清的程度,然后用动态策略稳住后段。这样,司机不慌,导航不吼,目的地自然近在眼前。

AI 应用场景

电商产品主图批量生成

阶段:图像生成与批量交付

解决的问题:传统电商拍摄需要模特、影棚和后期修图,成本高且周期长;生成式 AI 出图时又常出现产品颜色、角度“跑偏”。借助较高的 CFG Scale(8 到 10),可以把“红色保温杯”“俯视 45 度”“纯白背景”等关键词死死锁进画面,减少人工筛选成本。

具体案例:某电商运营团队要为一款新品生成 50 张不同场景的主图。他们固定提示词和种子,只把 CFG 从 6 调到 9,最终选出的主图不仅色彩准确,背景也干净统一,从原来的一天修图缩短到两小时完成。

概念设计师的灵感探索

阶段:创意发散与概念草图

解决的问题:概念设计最怕“想法太常规”,而低 CFG(2 到 4)会让模型对提示词的约束放松,生成许多反直觉的构图、材质和光影组合。设计师把这些结果当作“灵感抛砖”,再逐步提高 CFG 收敛到可用方案。

具体案例:一位游戏概念设计师输入“废弃的机械神庙”,用 CFG 3 连续生成 20 张草图,其中一张出现了奇特的藤蔓与齿轮缠绕结构,直接成为新地图的核心视觉灵感。

视频生成中的动态 CFG 控制

阶段:多帧生成与后处理

解决的问题:视频生成需要对每一帧做去噪采样,如果全程使用高 CFG,画面会频繁闪烁、过饱和;如果 CFG 太低,主体又会漂移。采用“前期高、后期低”的动态 CFG 策略,可以有效保证首帧构图稳定,同时让后续帧避免过度修正。

具体案例:一个 AI 短视频工作室用动态 CFG 生成角色待机动画:前 30% 采样 CFG 12,后段降到 5,最终成片的色彩比固定 CFG 9 的版本更柔和,闪烁率明显下降。

Python 演示

python45 行
import math  def guided_prediction(uncond, cond, cfg):    """CFG 引导公式:    guided = uncond + cfg * (cond - uncond)    它把提示词带来的噪声方向差放大 cfg 倍。    """    return [u + cfg * (c - u) for u, c in zip(uncond, cond)]  def linear_cfg_schedule(steps, start=12.0, end=4.0):    """生成从 start 到 end 线性下降的 CFG 序列。"""    if steps <= 1:        return [start]    return [start + (end - start) * i / (steps - 1) for i in range(steps)]  def simulate_denoising(uncond_list, cond_list):    """模拟每一步去噪时的引导噪声预测。"""    steps = len(uncond_list)    schedule = linear_cfg_schedule(steps, start=12.0, end=4.0)    outputs = []    for i, (u, c) in enumerate(zip(uncond_list, cond_list)):        cfg = schedule[i]        outputs.append((cfg, guided_prediction(u, c, cfg)))    return outputs  if __name__ == "__main__":    uncond_series = [        [3.0, 2.5, 2.0, 1.5],        [3.2, 2.6, 2.1, 1.4],        [3.1, 2.4, 2.2, 1.6],        [2.9, 2.3, 1.8, 1.3],    ]    cond_series = [        [7.0, 6.5, 6.0, 5.5],        [7.2, 6.4, 6.1, 5.6],        [7.1, 6.6, 5.9, 5.4],        [7.3, 6.7, 6.2, 5.7],    ]    results = simulate_denoising(uncond_series, cond_series)    for step_idx, (cfg, guided) in enumerate(results, start=1):        print("step {}: CFG={:.1f}, guided={}".format(step_idx, cfg, guided))
目的:这段代码实现了 CFG 引导公式,并用一个 4 步的简化采样流程展示动态 CFG 如何从 12 线性下降到 4,每一步都输出引导后的噪声预测。
  1. guided_prediction(uncond, cond, cfg)核心公式所在,返回无条件预测与纠偏项的组合。
  2. linear_cfg_schedule(steps, start=12.0, end=4.0)生成动态 CFG 序列,模拟“先高后低”策略。
  3. simulate_denoising(uncond_list, cond_list)把动态 CFG 与引导公式串联起来,模拟整个采样过程。
  4. zip(uncond, cond)按步配对无条件预测和条件预测,逐元素计算引导噪声。
  5. print(...)输出每一步的 CFG 和引导结果,方便直观观察动态引导的变化。

常见误区

误区我刚学 Stable Diffusion 的时候,以为 CFG Scale 就像“听话程度”,数值越大,AI 越听提示词,画面越精致。所以每次都直接拉到 20 以上,结果图片颜色鲜艳到刺眼,边缘还全是奇怪的晕影。

正解CFG 超过某个临界点后,纠偏向量被过度放大,模型会偏离真实数据分布,导致过饱和、伪影和机械感。它更像导航音量:太大会让人听不清路况,反而不容易到达目的地。一般 5 到 10 是稳妥区间,超过 15 就要警惕翻车。

为何常见:因为很多教程都会说“高 CFG 更听话”,初学者容易把“更听话”误解为“更好”,忽略了过高引导会破坏图像质量。

误区我以为 CFG 是“加速键”,调大之后 AI 会更用力地朝提示词冲,所以可以减少采样步数来省时间,比如 CFG 20 配 10 步,效果应该和 CFG 7 配 30 步差不多。

正解CFG 控制的是“引导强度”,采样步数控制的是“去噪精细度”。两者是完全独立的维度。减少步数会让图像来不及从噪声中长出合理结构,就算 CFG 再大也无济于事。正确的做法是先用合理步数保证结构完整,再调 CFG 控制提示词权重。

为何常见:因为二者都能影响“画面内容是否明显”,新手容易把不同机制产生的效果混为一谈,误以为可以互相替代。

误区有次我用 CFG 3 生成了一张图,人物五官有点模糊、背景也随意,我就觉得低 CFG 等于“模型偷懒”,于是把所有图都调回 CFG 12。

正解低 CFG 降低的是提示词约束力,不是画质。画面模糊可能是因为提示词本身不够具体,或采样步数不足。在合适的提示词下,CFG 3 到 5 能生成色彩柔和、细节自然、有艺术氛围的图像,很多插画风格反而更吃低 CFG。

为何常见:因为低 CFG 生成的图经常“不按照提示词走”,人容易把“不符合预期”归结为“画质差”,忽略了创意探索的价值。

误区我写“一只猫,眼睛很大”,结果猫不够显眼,就想把 CFG 从 7 加到 15,以为这样 AI 就会拼命把大眼睛画出来。

正解高 CFG 不会帮你理解“大眼睛”,只会让所有词都被放大,结果可能眼睛变大了,但背景也被加到过曝。更好的做法是把提示词写具体,比如“琥珀色的大圆眼,眼睛占脸部三分之一”,或者使用负面提示词排除多余元素。

为何常见:因为提升 CFG 后图像确实会“更用力”,短期看起来像是提示词更准了;但长期看,提示词本身的质量才是上限,CFG 只是放大器。

面试题

Q1. CFG Scale 在中文语境中常被称为什么?

单选题 · easy

  • A.分类器自由引导← 正确答案
  • B.扩散模型步数
  • C.随机种子强度
  • D.学习率调整参数

答案:A。CFG 全称是 Classifier Free Guidance,即“无分类器自由引导”。扩散模型步数、随机种子、学习率都是另外的概念,与 CFG 的引导机制无关。

Q2. Stable Diffusion 中 CFG Scale 最常见的默认值是多少?

单选题 · easy

  • A.0
  • B.1
  • C.7← 正确答案
  • D.50

答案:C。大多数 SD 界面默认 CFG 为 7,这是一个兼顾提示词遵循度与画质自然度的经验值。1 表示几乎不引导,50 远超出正常使用范围。

Q3. CFG 引导公式中,最终引导噪声的正确表达是?

单选题 · mid

  • A.无条件预测直接输出
  • B.无条件加引导差值加权← 正确答案
  • C.条件预测直接输出
  • D.条件减无条件再取均值

答案:B。最终引导噪声等于无条件预测加上 CFG 乘以条件与无条件的差值。直接输出无条件或条件预测都会丢掉“纠偏量”,取均值则完全没有放大引导强度。

Q4. 低 CFG 值时,生成图像通常呈现什么特征?

单选题 · mid

  • A.比提示词更自由、细节更柔和← 正确答案
  • B.完全贴合每个提示词含义
  • C.画面出现明显过饱和现象
  • D.产生大量生硬边缘伪影

答案:A。低 CFG 意味着提示词约束力弱,模型会更多凭直觉生成,因此画面风格更自由、色彩过渡更自然。完全贴合提示词、过饱和和硬边伪影都是高 CFG 的典型表现。

Q5. 高 CFG 出现“过饱和”的根本原因是什么?

单选题 · mid

  • A.采样步数设置得太少
  • B.引导差值被放大过度偏离数据分布← 正确答案
  • C.随机种子刚好生成了噪点
  • D.负面提示词和正面提示词冲突

答案:B。高 CFG 会把条件与无条件的差值放大太多,使预测方向偏离真实图像分布,色彩被“推”到极端。采样步数少会影响结构完整性,但不会直接导致过饱和。

Q6. 动态 CFG 策略最推荐的做法是哪一种?

单选题 · hard

  • A.全程保持固定最高值
  • B.前期高后期低逐步降低← 正确答案
  • C.前期低后期高逐步增加
  • D.每步随机切换大或小

答案:B。前期高 CFG 能快速锁定主体构图,后期低 CFG 能避免过饱和和伪影。全程最高值会保留所有高 CFG 缺陷,后期升高会让细节越修越硬,随机切换则缺少稳定性。

Q7. 关于高 CFG Scale,以下哪个说法是正确的?

单选题 · hard

  • A.遵守提示词更强但自然度下降← 正确答案
  • B.遵守提示词更弱但色彩自然
  • C.能直接提高采样速度
  • D.会明显降低显存占用

答案:A。高 CFG 会让提示词约束更强,但代价是色彩过饱和、细节机械、伪影增多。它不影响采样速度和显存;低 CFG 才对应更弱约束和更自然的画面。

Q8. 高 CFG 带来的典型图像问题有哪些?

多选题 · mid

  • A.色彩出现过饱和← 正确答案
  • B.线条伪影变得生硬← 正确答案
  • C.提示词遵循反而变弱
  • D.细节锐利且机械感强← 正确答案

答案:ABD。高 CFG 会放大纠偏向量,导致过饱和、线条伪影和细节机械锐利。提示词遵循并不会变弱,反而会过强,所以 C 不正确。

Q9. 哪些方法可以有效缓解高 CFG 带来的过饱和问题?

多选题 · hard

  • A.降低 CFG 到合适范围← 正确答案
  • B.使用动态 CFG 后段降低← 正确答案
  • C.大幅增加所有提示词权重
  • D.优化负面提示词和采样器← 正确答案

答案:ABD。降低 CFG、动态后期降值、优化负面提示词和采样器都能减少过度引导。大幅增加提示词权重会加剧过拟合,属于错误操作。

Q10. CFG Scale 调参时,哪些因素值得一起考虑?

多选题 · easy

  • A.模型类型与风格差异← 正确答案
  • B.提示词表达详细程度← 正确答案
  • C.采样器与步数配置← 正确答案
  • D.电脑内存条的品牌

答案:ABC。不同模型、不同提示词细致度、不同采样器步数都会影响最佳 CFG。硬件品牌与 CFG 效果没有直接关系,不属于调参依据。