来源:Ho, Salimans 2022 · arXiv:2207.12598 §4(实验)、§5(讨论)、§6(结论)。本节把 CFG 的实际效果、超参选择、代价与直觉讲完,并给本单元覆盖率。数值读数用到 FID 与 Inception Score,均见 `评估指标/FID` 单元。 读法:§3.1 实验设置;§3.2 引导强度 $w$ 换来的 FID/IS 权衡(核心实验);§3.3 无条件训练概率 $p_{\text{uncond}}$;§3.4 采样步数与每步两次前向的代价;§3.5 guidance 到底在做什么(直觉);§3.6 本单元覆盖率。 --- ## §3.1 实验设置 论文在类别条件的 ImageNet 上训 CFG 模型,分辨率 $64\times64$ 与 $128\times128$,这是 BigGAN 以来研究 FID/IS 权衡的标准场子。目的是概念验证:证明 CFG 能拿到和 classifier guidance 相似的 FID/IS 权衡,并看清 CFG 的行为,而非把指标刷到最高。 一个要点:CFG 用和 Dhariwal & Nichol 的引导扩散模型相同的网络架构与超参(除连续时间训练外),但把有条件与无条件两个模型摊进同一套权重、不额外配分类器,所以实际用的模型容量比前作更少。即便如此,CFG 的样本质量指标仍有竞争力、有时反超前作。 ## §3.2 核心实验:引导强度 $w$ 的 FID/IS 权衡 这是全篇要验证的主张:调 $w$ 能像 classifier guidance 或 GAN 截断一样,在 FID 与 IS 之间换挡。论文扫 $w\in\{0,0.1,0.2,\dots,4\}$,每个 $w$ 用 50000 张样本算 FID 和 IS。ImageNet $64\times64$ 的结果节选($p_{\text{uncond}}=0.1$ 这一档): > [!danger] 论文 Table 1(节选,ImageNet 64×64,$p_{\text{uncond}}=0.1$) > | $w$ | FID(越低越好) | IS(越高越好) | > |---|---|---| > | 0.0 | 1.80 | 53.71 | > | 0.1 | 1.55 | 66.11 | > | 0.3 | 3.03 | 92.8 | > | 1.0 | 12.6 | 170.1 | > | 2.0 | 21.03 | 225.5 | > | 4.0 | 26.22 | 260.2 | > ($w=0$ 即不引导。Table 1 = 论文第 1 张表,完整表含 $p_{\text{uncond}}=0.1/0.2/0.5$ 三档。) **扫 $w$,IS 单调上升、FID 先降后升,两者此消彼长,正是保真度对多样性的权衡。** 具体读这张表:IS 从不引导的 53.71 一路涨到 $w=4$ 的 260.2;FID 则在 $w=0.1$ 时降到最低的 1.55、之后回升,到 $w=4$ 已是 26.22。所以最好的 FID 出现在很小的引导($w=0.1$ 或 $0.3$,视数据集而定),最好的 IS 出现在强引导($w\ge4$),两端之间是一条清晰的此消彼长。 为什么一个单调升、一个先降后升,用刚学过的 FID/IS 定义就能读通: > [!example] 用 FID 与 IS 的定义解释这条曲线的形状 > IS(评估指标 FID `00_导读` §0.2)只看生成图、不参照真实图,奖励「单张类别明确 + 整堆多样」。引导把样本越推越像高置信类别,「类别明确」这一项一路走高、盖过多样性的损失,于是 IS 单调升。 > > FID(评估指标 FID `02_FID本体与实践` §2.3)量的是「生成分布和真实分布」两个高斯的距离。适度引导(小 $w$)把样本收拢到更典型、更清晰的区域,反而更贴近真实图的主体,距离缩小、FID 降;继续加大 $w$,样本过度集中在少数高置信模式、颜色饱和、多样性塌缩,生成分布明显偏离真实分布,距离拉大、FID 回升。FID 先降后升,正因为 FID 同时惩罚「不够真」和「不够多样」,而 IS 不看真实分布、只顾类别明确,所以只升不降。 放到与前作比:$128\times128$ 上,$w=0.3$ 时 CFG 的 FID 优于 classifier-guided 的 ADM-G(2.43 对 2.97,FID 越低越好;ADM-G 是 Dhariwal & Nichol 那个「ADM 扩散模型 + 分类器引导」的组合),$w=4$ 时在 FID 与 IS 上都胜过取最佳 IS 截断档的 BigGAN-deep(当年最强的 GAN 基线之一)。论文称这批 $128$ 结果是当时文献里的最优,坐实了主张:纯生成模型不借分类器,也能拿到同款乃至更好的保真/多样权衡。 ## §3.3 无条件训练概率 $p_{\text{uncond}}$ $p_{\text{uncond}}$ 是 CFG 训练端唯一的新超参数(§2.3),控制训练时多大比例的步子丢掉条件、去练无条件预测。论文在 ImageNet $64$ 上试了 $p_{\text{uncond}}\in\{0.1,0.2,0.5\}$。 结果:$p_{\text{uncond}}=0.5$ 在整条 FID/IS 前沿上一直更差,$0.1$ 与 $0.2$ 表现相当、都好于 $0.5$。**只需把一小部分模型容量分给无条件任务,就足够产出有效的 guidance**,无条件预测不必和有条件预测平分训练。论文顺带指出,这和 classifier guidance 那边「小容量分类器就够引导」是同一个现象的两面。 ## §3.4 采样步数与每步两次前向的代价 采样步数 $T$ 照例影响质量。$128$ 模型上试 $T\in\{128,256,1024\}$,$T$ 越大质量越好,$T=256$ 在质量与速度之间平衡得好。 但有一处成本必须挑明:**CFG 采样每一步要跑两次网络前向**,一次算有条件 $\varepsilon_\theta(z_\lambda,c)$、一次算无条件 $\varepsilon_\theta(z_\lambda)$,才能组合成论文式(6)。所以按采样速度和前作公平比时,对等的是 CFG 的 $T=128$(两次前向 ≈ 单前向方法的 $256$ 步计算量),而这一档的 FID 逊于 ADM-G。换句话说,CFG 省掉了分类器、简化了训练,代价是采样端多一倍前向。论文提到一个可能的缓解方向(把条件在网络较晚处注入、让两路共享大部分计算),留作未来工作。 ## §3.5 guidance 到底在做什么:直觉 论文给了一个干净的直觉,收束前面所有现象: **guidance 在降低样本的无条件似然、同时抬高样本的条件似然。** 回看论文式(6) 的外推写法 $\tilde\varepsilon=\varepsilon_\theta(z_\lambda)+(1+w)[\varepsilon_\theta(z_\lambda,c)-\varepsilon_\theta(z_\lambda)]$:那个带负号的无条件项,作用正是把「无论什么条件都常见」的样本往下压,只留下「特别符合当前条件 $c$」的样本。样本因此更贴合条件、更清晰(条件似然高),却也更不像「随便一张真实图」(无条件似然低),多样性随之下降。论文指出,用一个负 score 项来主动压低无条件似然,此前没被探索过,可能在别处也有用。 几个附带现象与边角,一并记下: - 饱和色:强引导(大 $w$)的样本常出现颜色过饱和(论文 Figure 3 在正文、Figure 8 在附录 A,都是论文 PDF 里的插图),是过度引导、分布收窄在视觉上的表现之一。 - 少类别时可免训无条件那一路:条件类别不多、且先验已知时,无条件预测不必单独训,可以由各类别的有条件量现场组合出来(密度层面靠 $\sum_c p(x\mid c)p(c)=p(x)$;落到 $\varepsilon$/score 层面,组合权重是随样本变的后验 $p(c\mid z)$、不是固定的先验,见下框),省掉「以 $p_{\text{uncond}}$ 丢条件练无条件」。**免的只是无条件那一路,条件本身仍要照常训**;代价是每算一次无条件要对每个 $c$ 各跑一次前向,条件维度一高就不划算(两类时这一步尤其干净,见下框)。 - 多样性下降的部署风险:任何以牺牲多样性换保真的方法都要面对,数据里本就欠表达的部分,引导后可能被进一步抹掉,部署时需留意。 > [!example]- 两类时,引导方向化成「两类之差」 > 只有两类(如男/女)、先验各半时,密度层面无条件就是两类的对半混合 $p(z)=\frac12 p(z\mid c_1)+\frac12 p(z\mid c_2)$。但 $\varepsilon$/score 层面的组合权重不是先验:对混合密度求 score,得到的是按后验加权 > $\varepsilon_\theta(z)=p(c_1\mid z)\,\varepsilon_\theta(z,c_1)+p(c_2\mid z)\,\varepsilon_\theta(z,c_2)$ > 权重 $p(c\mid z)$ 随 $z$ 变:这个样本越像哪类,哪类的权重越大。在两类难分、后验各半($p(c_1\mid z)=p(c_2\mid z)=\frac12$)的点上,无条件预测才退化成两类的简单平均,此时引导 $c_1$ 的方向化简为 > $\varepsilon_\theta(z,c_1)-\varepsilon_\theta(z)=\frac{1}{2}\big[\varepsilon_\theta(z,c_1)-\varepsilon_\theta(z,c_2)\big]$ > 正好是「两类之差」(差一个 $1/2$ 系数)。CFG 的方向骨子里仍是「有条件减无条件」,在两类拉锯最凶的地带,它把样本沿两类差异的方向推开。 ## §3.6 本单元覆盖率(对 CFG 论文) 论文正文各部分、本单元哪一章覆盖: | 论文位置 | 内容 | 对应章节 | 覆盖 | |---|---|---|---| | §1 引言 | 动机:低温/截断采样在扩散失效、classifier guidance 三处不便 | §0.2 | ✅ 全 | | §2 背景 | 连续时间扩散、VP 前向、log-SNR $\lambda$、$\varepsilon$ 预测(论文式(1)–(5)) | §1.1–1.2 | ✅ 结论(论文式(1)–(5) 只用结论,完整推导在 Score-SDE/EDM 单元) | | §3.1 | classifier guidance:外挂分类器、系数 $w$、分布变形、保真/多样权衡 | §1.4–1.6 | ✅ 全(作对照物) | | §3.2 | classifier-free guidance:隐式分类器、核心论文式(6)、引导项非保守场 | §2.1–2.2、§2.5 | ✅ 全 | | Algorithm 1/2 | 联合训练(随机丢条件)、条件采样(组合两路) | §2.3–2.4 | ✅ 全 | | §4 实验 | ImageNet 64/128、$w$ 的 FID/IS 权衡、$p_{\text{uncond}}$、采样步数(Table 1/2) | §3.1–3.4 | ✅ 主干(取代表档说明趋势,完整见论文) | | §5 讨论 | 直觉(降无条件似然)、饱和色、少类别免训无条件、多样性风险 | §3.5 | ✅ 全 | | §6 结论 | 收束 | 本节一条线 | ✅ 全 | 没展开、点到为止的:论文背景 §2 里连续时间扩散的完整训练目标(论文式(5) 的去噪 score matching 加权、$p(\lambda)$ 的具体取法)只用到结论,未逐项推(这些在 Score-SDE、EDM 两单元已学透);ImageNet 实验的全部数据表与每张附图(只取代表档说明趋势,完整表见论文 Table 1、Table 2);classifier guidance 的原始出处 Dhariwal & Nichol 2021(本单元只按 CFG 论文的复述讲,作对照物,不单独展开该论文)。 ## 本节一条线 CFG 的实验坐实了主张:扫引导强度 $w$,IS 单调升、FID 先降后升,两者此消彼长,正是保真度对多样性的权衡(用 FID 罚「不真且不多样」、IS 只奖「类别明确」就能读懂曲线形状);小 $w$ 得最佳 FID、大 $w$ 得最佳 IS,$128$ 结果达到当时最优。训练端超参 $p_{\text{uncond}}$ 取 $0.1$–$0.2$ 即可,一小部分容量分给无条件就够;采样端的代价是每步两次前向。贯穿全部现象的直觉是:guidance 用一个负的无条件 score 项压低无条件似然、抬高条件似然,样本更贴条件更清晰、代价是多样性下降。至此 CFG 单元走完:为什么要 guidance(§0)→ 从条件 score 到 classifier guidance(§1)→ 隐式分类器与核心论文式(6)、训练与采样(§2)→ 实验、权衡与直觉(§3),一句话收束,CFG 就是把 Score-SDE `10_可控生成与逆问题` §10 的引导项从「外挂分类器」换成「同一网络有条件、无条件两路输出之差」。