MIT6.S184-04:用提示词引导生成
Guidance
到目前为止讨论的流匹配模型和扩散模型,都只是从噪声中还原出原始的,全局的数据分布——我们不给模型任何输入,模型相当于直接从中进行采样来得到一张图片。但是大部分情况下我们希望模型能够按照我们给出的prompt或者一些额外的信息生成特定类型的图片。为了和之前的 条件 Condition 区分开,我们称额外提供的信息为 引导 Guidance。
Vanilla Guidance
最直接地构建一个条件生成模型的方法,是在训练与推理阶段引入条件变量 作为神经网络的额外输入通道。在流匹配模型的数学语境下,这意味着我们需要学习一个受限于条件 的引导向量场 。
定义
一个基础的引导式扩散或流模型由参数化的条件神经网络向量场以及时间依赖的扩散系数 共同定义。具体而言:
- 神经网络定义:。这里,模型包含可学习的参数 。输入为当前时间步的带噪状态 、条件变量 以及时间 ,输出为一个 维向量,指示在当前空间位置和时间点的去噪“流速”或“方向” 。
- 固定扩散系数:
采样步骤
- 初始化:从一个简单的、易于采样的先验分布中抽取初始噪声状态 (在大多数情况下,这是一个标准高斯分布 )。
- 微分方程模拟:沿着时间轴从 积分到 ,模拟如下方程的演化轨迹:——在这个方程中, 是由神经网络提供的确定性漂移项,负责将噪声推向符合提示词 的数据流形;而 是布朗运动驱动的随机扩散项,当 时,该过程退化为纯粹确定性的 ODE 流模型 。
- 优化目标:整个模拟轨迹的终点 应当完美服从目标条件数据分布,即满足 。
流匹配目标
为了训练上述的条件神经网络 ,基础引导机制采用了一种自然的数据驱动扩展方法。假设真实数据分布现在是一个联合分布,包含了干净数据 与条件 的配对(例如,从互联网获取的高质量图像-文本对)。我们的终极目标是针对固定的 ,学习条件数据分布 。
将这一目标代入流匹配的框架中,研究者构建了 引导式条件流匹配目标 Guided Conditional Flow Matching Objective,其数学期望表达式如下 :
将公式拆解开:
- 联合分布采样 :在每一次训练迭代中,从 Dataloader 中抽取一个真实的图像 及其对应的描述文本 。这强调了流匹配模型在条件生成下必须处理联合概率空间 。
- 时间采样 :从均匀分布中随机抽取一个时间步 ,这确保了神经网络能够在整个从噪声到数据的转化路径上获得一致的优化。
- 状态采样 :根据预设的条件概率路径(通常是向干净数据 中添加与时间 对应比例的高斯噪声),计算出当前的中间带噪状态 。
- 网络预测 与目标向量场 的回归:网络尝试在给定文本 和带噪状态 的情况下,预测出正确的去噪方向。而 是一个理论上可精确计算的解析向量场,它指示了从当前噪声状态 直接指向真实无噪数据点 的绝对空间方向。值得注意的是,条件变量 并不改变条件概率路径 本身的定义(条件向量场在给定和的时候就已经确定),它仅作为额外的上下文信息通过 Cross-Attention 等方式喂给神经网络,以辅助其预测 。
Vanilla Guidance 的局限
从纯粹的数学收敛性理论来看,只要给定的数据集规模无限大、数据对齐完美,且神经网络的容量无限大,上述基础引导机制就足以完美地生成严格服从 的高质量样本 。然而,在实际的大规模工程训练中,研究人员很快发现这种基础模型生成的样本往往无法高度契合提示词 ,即表现出极弱的“保真度”(比如通过手写数字数据集训练出来的模型也许会输出不存在的“数字”)。

以生成“一只在雪山背景下奔跑的柯基犬”为例,基础引导模型可能仅仅生成了一只模糊的狗,完全忽略了特定的品种和背景环境。这种现象的根本原因可归结为以下几点:
- 高维条件信号的稀释:在极高维度的图像空间(如 1024x1024x3 像素)中,文本特征的嵌入向量所能提供的梯度引导往往被海量的图像底层纹理特征所淹没。模型在拟合边缘向量场时,倾向于走“捷径”,即优先拟合边缘数据分布 中概率密度最高的“通用”视觉特征,而将复杂的条件约束视为可忽略的噪音 。
- 数据质量缺陷与错配:现实世界中的图文对存在大量的噪声、描述不全或错误匹配。这种弱监督信号导致模型无法建立 与特定视觉特征之间的强对应关系 。
- 决策边界的模糊性:在条件概率空间中,不同类别(如不同的狗品种)的分布流形在严重加噪的阶段会发生严重的交叠。基础引导机制缺乏显式的力学机制将采样轨迹强行推离这些模糊的决策边界 。
为了强迫生成轨迹严格遵守提示词 ,并生成契合人类直觉的高保真度内容,必须引入一种能够在采样阶段显式 放大条件信号的技术。这直接催生了 分类器引导 Classifier Guidance 及其后续产生颠覆性影响的 无分类器引导 Classifier-Free Guidance 。
Classifier Guidance
为了解决基础引导机制提示词契合度不足的问题,早期的扩散模型文献提出利用一个外挂的、独立训练的预训练图像分类器来对生成过程进行逐时间步的“修正”。这一思想不仅适用于离散时间扩散模型,在连续时间流匹配的数学框架下同样严密适用 。这里以现代流匹配和扩散模型中最常用的高斯概率路径为例,进行分数函数与贝叶斯推导 。
向量场与分数函数的等价转换
在条件高斯概率路径 下(其中 和 是随时间单调变化的噪声调度函数),根据高斯分布的概率密度特性,向量场 与分数函数(即对数概率密度的空间梯度 )之间存在一个极其优雅且严密的线性转换关系 :
对其系数进行拆解(证明参考上一章 向量场与分数函数的数学等价性 部分):
- 比例系数 :定义为 。
- 偏移系数 :定义为 。
- 导数:这里 和 分别代表噪声调度函数对时间 的一阶偏导数。
这一转换公式的重要性在于它揭示了扩散与流的统一性:在给定当前时间 与空间状态 的情况下,条件引导向量场完全且唯一地由条件引导分数 决定。 分数函数可以直观地理解为在概率密度空间中寻找“最陡峭的上升路径”的方向向量,它永远指向数据分布密度更高的区域(即更像真实数据的区域) 。
解耦条件分数
既然控制流动的核心是条件分数 ,我们能否将其解耦为更易于操作的组件?根据基础概率论中的贝叶斯定理(Bayes’ rule),带噪数据 在条件 下的后验概率密度可重写为 :
由于分数函数需要计算关于空间变量 的梯度,我们对等式两边同时取自然对数 ,并作用梯度算子 (即对 求导):
而我们要求的梯度是对 的,那么最后一项就是 。最终的公式就是:
包含条件限制的引导分数 被解耦为两部分:
- 无条件分数 :它仅负责指示如何将当前的噪声 还原为任意一张符合真实世界分布的合法图像,而不关心图像的内容。它实际上指向真实概率密度增长最快的方向。
- 似然梯度 :这是一个分类器模型在给定带噪图像 时,预测类别或文本 的对数概率的梯度。它代表了一个明确的“语义修正向量”,指向让当前的图像 更加接近 语义的方向。
构建与放大分类器引导向量场
将上述贝叶斯展开式代回先前的向量场线性转换公式中,我们得到了分类器引导的核心解析形式 :
它表明,条件引导向量场本质上等于无条件向量场,叠加上一个指向“使得提示词 被分类器判定为真的概率最大化”的显式方向。
既然前文提到基础引导机制生成的图像提示词契合度不够,那么在明确了分类器梯度的修正作用后,一个顺理成章的工程学思路就是:人为地、非物理地放大这个分类器梯度的权重。这正式引入了 引导尺度 Guidance Scale, 的概念。我们将原始的系数 替换为 (其中 是一个超参数),从而定义了经过分类器刻意引导修正的新向量场 :
通过增加 ,系统被强迫“更加用力”地增加目标标签 置信度,从而显著改善图像与提示词的对齐度 。
分类器引导的局限
尽管上述推导在数学上无懈可击,但在将分类器引导部署到工业级生成系统时,存在难以逾越的工程瓶颈 :
- 额外庞大的模型依赖:必须在生成模型之外独立训练和维护一个分类器网络来估算 。这极大增加了系统的复杂性和显存压力 。
- 噪声分类的噩梦:传统的图像分类器(如预训练在 ImageNet 上的 ResNet 或 ViT)仅在无噪的干净像素图像上有效。而在扩散与流匹配的积分路径中,数据 在早期通常是一团纯高斯噪声。这意味着不能复用现成的分类器,必须针对所有的噪声尺度 专门从零训练一个“噪声感知分类器”(Noise-aware Classifier),这种训练在极高噪声水平下几乎是不可能收敛的 。
- 对抗高维开放文本:如果条件 是极其复杂的自由文本(Free-form Text)而非几十个离散类别,我们需要训练一个从模糊的噪声图像逆向预测长文本的编码器。这种梯度的计算在开放语义空间中是不稳定的,直接判了文本驱动分类器引导的死刑 。
为突破这一绝境,由 Jonathan Ho 和 Tim Salimans 提出的无分类器引导(CFG)成为了一场真正的范式革命。
Classifier-Free Guidance
无分类器引导的初衷极为纯粹:在不依赖任何外部独立分类器的前提下,在数学上完美等效地达成上述分类器放大的引导效果 。如今,CFG 已经成为无论是扩散模型还是流匹配模型(如 Stable Diffusion 3、Meta Movie Gen)中不可或缺的关键组件 。
消除额外分类器的依赖
既然我们由于工程原因难以直接训练并计算分类器的梯度 ,我们是否可以通过生成模型自身所能学习到的变量,将这个棘手的分类器项给“替换”掉?
让我们回到之前推导出的关键贝叶斯分数分解公式:
其中,条件分数 是条件生成模型可以预测的,无条件分数 是无条件生成模型可以预测的。通过简单的移项,我们就能用生成模型自身的预测结果,隐式地逆向表达出分类器的梯度 :
它说明:条件生成模型与无条件生成模型在空间指引上的差值,本质上构成了一个贝叶斯生成式分类器 。相比于专门训练去区分边界的判别式分类器,这种由整个数据分布衍生出的分类器更加鲁棒,且自动支持各种复杂的文本模态。
现在,我们将这个等效替换形式代回具有放大因子 的分类器引导向量场公式中 :
如同在上一节中所做的,为了将纯粹的分数转换为我们可以直接优化的向量场形式,我们需要利用线性等价关系展开。由于 ,且对于条件部分同理 ,代入上述方程并进行多项式化简 :
至此,我们推导出了无分类器引导最终、也是最核心的执行公式:
为了避免混淆,通常用 来明确表示无条件输入,因此该公式常被写为 :
这样操作可以让有引导和无引导两种情况合并到同一个模型来训练——无引导的情况输入一个 即可,而不需要再单独训练一个模型。这就是无分类器引导模型。
为何 CFG 表现优秀?
单纯从代数上看,CFG 只是做了一个线性组合。但从高维空间几何学的视角审视,CFG 的操作是一次空间外推。

公式还可以被重写为另一种直观的增量形式:
我们可以这样解构它的几何动态:
- 基座方向 :这是模型在没有任何提示词约束时,单纯为了把当前的雪花噪声变成一张“普遍存在”的自然图像而想要移动的基准方向。
- 增量方向:即括号内的差值项。这个向量代表了“哪些视觉特征是特定提示词 独有的,而无条件生成的普通图像所缺乏的”。
- 外推倍增:当超参数 时(通常被设置为 3.0 到 7.0 之间),模型不仅顺着条件差值的方向走,而且跨步过度放大了这个趋势。如果提示词是“一只红色的狗”,差值向量就会试图剥离“普通的狗”或“普通的红色背景”等泛化特征,极度强化并放大“红色毛发+狗的形态”这一高度耦合的语义特征。
理论研究进一步揭示了 CFG 的成功并非偶然,而是深植于对比主成分分析的原理之中 。在自注意力和高维流形中,CFG 的线性组合效应拆解为:
- 均值平移 Mean-shift:外推将概率流动的轨迹强行拉离通用数据集的均值点,直接指向目标特定类别 的高维簇心。
- 正向 CPC 放大 Positive CPC:它极大放大了条件数据域内独有的主成分特征,使得局部纹理更加锐利、语义匹配度急剧上升。
- 负向 CPC 抑制 Negative CPC:这是最令人惊叹的一点。公式中的负号 意味着 CFG 正在刻意压制和剔除无条件数据中那些过于宽泛、无聊的通用特征(如千篇一律的灰色背景、模糊的结构等) 。
CFG 的训练
推导出了 CFG 的理论公式后,“我们需要同时计算 和 ,这难道不需要分别训练两个庞大的基础模型吗?”成了新的痛点 。如果在工程上真的去维护两个具有数十亿参数的流匹配模型,显然是无法接受的。
Ho 等人提出的另一个关键性策略是联合训练。由于无条件模型和条件模型在底层提取视觉特征的能力上有着巨大的重叠,我们可以将它们合二为一,用同一个神经网络架构来实现双重目的 。
具体的训练策略十分精妙且易于实现:
- 引入空标签:在原本真实的文本标签集合 中,人为地扩充一种表示“无任何条件”的特殊标志位 (在自然语言处理模型如 CLIP 中,通常用空字符串或者全零嵌入向量替代)。
- Dropout:在每次训练 Iteration 中,当从数据集采样得到一个真实的图文对 时,系统设定一个超参数——丢弃率 (通常经验性地设定为 )。以概率 ,我们将这一 Batch 中的提示词 强行抹除并替换为 。
这种机制导致了 CFG 特有的流匹配训练目标函数 :
这里的核心在于期望操作 代表了一个复杂的复合混合分布,其规则如下:
- 采样真实数据和标签对 。
- 采样时间步 。
- 采样对应的中间噪声状态 。
- 按固定概率丢弃标签,即 with prob. 。
现在我们可以用这个目标来训练:

在 Inference 阶段,给定用户输入的一个真实的提示词 (例如“赛博朋克风格的汽车”),系统在每一个时间步 都会执行两次前向传播计算:一次网络输入实际的 ,另一次网络输入 。然后立刻利用公式组合这两次输出的结果计算最终用于更新轨迹的 ()。
引导尺度的选择
之前定义的引导尺度 控制着样本保真度与样本多样性之间的权衡。我们可以从指数分布的角度来理解 的作用机制。在隐式分类器的作用下,增加 在数学上近似于我们正在从一个被修正为 的分布中进行采样(类似于对概率分布应用了非线性的 Softmax 温度缩放)。
- 平滑分布的突变:当 时,这个分布的“峰值”(即最符合文本描述的高似然区域)被急剧锐化和拉高,而原本的低概率区域(边缘情况或略有瑕疵的生成可能)被指数级地抑制并压平。
- 远离决策边界:在一维和高维空间的数据实证分析中发现,由于类别之间的条件信息在边界处容易混淆纠缠,CFG 通过强化梯度,强硬地将去噪流的演化轨迹推离了这些模棱两可的决策边界,使得生成的样本极其明确地归属于某一个概念簇中心 。这也解释了为何 CFG 生成的图像往往具有令人惊叹的主体明确性和视觉冲击力。
既然提高 能够增加提示词保真度,我们能否无限调大 ?答案是否定的。天下没有免费的午餐,过度应用向量外推会引发严重的生成灾难 :
- 极端的多样性塌缩:当 过大时,概率分布已经严重收缩至仅有的几个绝对极值点。由于缺乏探索周围空间的动力,无论使用何种初始高斯噪声种子,扩散或流匹配模型都会走上几乎完全相同的轨迹。此时,生成的图像不仅在构图上雷同,甚至在微小的纹理上都千篇一律,彻底丧失了生成模型本该拥有的“创造力”和随机性 。
- 图像伪影与过度饱和:CFG 的推导公式 是一种不受限的线性操作。在实际的神经网络中,向量的更新步长可能被外推至极大。导致预测出的下一个空间状态 超出了图像像素的合法物理和颜色分布范围(如超出了像素阈值 )。在视觉上,这直接表现为色彩呈现出荧光感或异常鲜艳的色块溢出(即饱和度爆炸),并且在物体的边缘出现高对比度的锯齿状结构性“烧坏”现象。
| 引导尺度 w 区间 | 概率空间与景观效应 | 样本多样性 | 提示词保真度 | 视觉特征与实际表现 |
|---|---|---|---|---|
| 能量景观平滑,广泛覆盖所有训练数据中的潜在模式 | 极高,想象力发散,甚至偏离常理 | 极低,模型往往忽略部分复杂的提示词,出现概念融合或幻觉 | 细节柔和,但经常主体不明确、边界特征融合混乱。 | |
| 概率分布被合理锐化,轨迹被有效推离模棱两可的分类边界 | 适中(维持在可接受范围内) | 高,能准确匹配复杂的文本组合语义 | 主题突出,结构清晰。被绝大多数现代生成大模型用作默认参数(如 SD 默认设为 7.0 左右)。 | |
| 能量分布极度收缩为绝对陡峭的尖峰,丧失周边采样能力 | 极低,严重的多样性塌缩,生成结果千篇一律 | 极高,呈现出病态的刻板对应 | 高对比度,色彩严重溢出(过度饱和),画面出现被“烧坏”的失真伪影。 |
为了缓解上述问题,现代的高阶生成管线往往会在使用 CFG 时配套引入动态阈值截断技术 。这种技术会在每一步更新后,检查并限制预测的无噪信号向量 的极值范围,强制将那些因为高 而失控的张量重新映射回合理区间内,从而在享受高保真度的同时压制色彩烧图效应 。
由流模型推广到扩散模型
如前文推导所述,流匹配中用于指导 ODE 运动的“边缘向量场”与扩散模型中用于指导 SDE 的“分数函数” ,在最普遍使用的高斯概率路径假设下,存在着精确且解析的仿射线性映射关系 。这意味着,无论是为了求解确定性的流,还是为了在带有 Langevin Dynamics 的框架中进行迭代,基于贝叶斯分解的 CFG 外推操作本质都是一致的 。
如果将计算好的 CFG 引导场 放回扩散模型的 SDE 采样框架中,积分演化方程即可平滑写为 :
流匹配作为一种对扩散过程优化的范式,在引入 CFG 后的实际推断和工程应用中展现出了不同的特性:
- 路径的平滑度与求解步数:传统的扩散模型通常定义一条高曲率的随机路径(例如逐渐增加高斯方差的马尔可夫链),需要极细的积分步长和特殊的求解器(如 DDIM)。而流匹配在训练目标上强制使得从噪声到数据的路径趋向于绝对的直线 。这种直线属性使得带有 CFG 的流向量场更加稳定且曲率低,能够使用诸如 Euler 这样极简的高阶 ODE 求解器,在短短的 10 到 50 步内就实现高质量生成 。
- 确定性与随机性的权衡:在采用流匹配加上 CFG 的模型中,研究表明引入基于 SDE 的随机采样(即保留公式中的扩散系数项 )往往会产生反作用,极大降低生成质量。这是因为随机采样在直线型的高阶流匹配模型上会打乱被高度优化的确定性轨迹 。因此,在最前沿的工业实践中,带有引导的流匹配几乎全部采用零扩散系数的 ODE 确定性求解 。
- 视觉风格的差异:在同等参数量和 CFG 设定的情况下,传统扩散模型倾向于呈现更柔和的微观纹理与影调渐变;而优化了直线映射的流匹配模型在少量迭代步骤下更容易表现出锐利的边缘、大胆的色彩过渡与精准的几何结构,这也使得流匹配在配合 CFG 高保真输出时展现出极具“冲击力”的美学风格 。




