Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第 4 讲 · 勘误与补注

本页记录四类内容:与母本讲义的差异(母本讲到什么程度、本教程补齐了什么)、术语与译法的统一、录播年代之后发生的默认实践变化,最后是本教程自身的更正记录。 使用方式:读到某节觉得「母本没这么讲」或「书里和论文对不上」时先查本页;查不到就把疑点标「需核实」并按第四节格式记下来,作为自己的薄弱点单独跟踪。

一、对照母本讲义的补注

母本 MIT 6.S191 · Lecture 4(Deep Generative Modeling) 在一节课里把自编码器、VAE、GAN 走到「能跑起来」的程度,定位是建立地图与直觉:ELBO 的完整推导、最优判别器到 JS 散度的代回、扩散的变分下界与简化损失、离散 token 路线、少步加速这一整代工程改进,大多不在课堂范围内。本教程沿用它的骨架与术语,逐节把中间步骤与工程判据补齐。

读母本时容易出现的三种落差,先在这里说清:

  1. 「课堂上说显然」的步骤,推导题与面试会要求写出来——本教程把每一步写进可折叠的推导框,第一遍可以跳过,二刷必须能自己复现(4.3 的两种 ELBO 推导、4.4 的 JS 代回、4.5 的前向闭式归纳与降权结论、4.6 的整流流直线性论证)。
  2. 「课堂上没提」的工程默认,真实项目里天天遇到——β\beta 的率失真含义、KL 退火与自由比特、EMA 与 TTUR、潜码尺度对齐、CFG 的 ww 扫描,本教程把它们归位到相应小节并标明是「社区默认经验」还是「定理」。
  3. 「课堂上只给结论」的地方,条件与代价才是考点——例如「扩散比 GAN 稳」这句话在支撑不重叠、步数极少、条件极复杂时都会失效;本教程在每个结论后面都补了「什么时候不成立」。
节母本的处理本教程的补齐(位置)
4.1给生成模型的定义与一张分类图;FID / IS 作为「常用指标」提及三支谱系的「守住什么 / 放弃什么」读法(定义 4.1.2);采样与似然是两项独立能力的四类构造(命题 4.1.1);连续密度对数似然无界的构造性反例(例 4.1.1);FID / IS 的五条已知缺陷与「声明口径」清单(方法 4.1.2)
4.2给 AE 结构、重建损失,指出「AE 不能生成」线性 AE 与 PCA 同子空间的完整证明(命题 4.2.1)与「解不唯一」的含义;瓶颈的信息损失论证(定理 4.2.1);潜空间空洞的定量表述(命题 4.2.2);正则化 AE 谱系与 VAE 的对应表;去噪与得分的关系(方法 4.2.1)
4.3给 VAE 的直觉:编码—采样—解码;ELBO 一句话ELBO 的两种推导(Jensen 与贝叶斯分解)与缺口定位(定理 4.3.1);重参数化的无偏性与方差优势(命题 4.3.1);KL 闭式推导与逐项读法(命题 4.3.2);后验坍塌的诊断数值与三个处置手段(4.3.6)
4.4给极小极大目标与「最优判别器」结论逐点最大化的完整代回(定理 4.4.1、例 4.4.1);「判别器越强梯度越小」的定量说明;WGAN 的 KR 对偶与 Lipschitz 约束三种实现对比(定理 4.4.2);训练清单与调试顺序(方法 4.4.2、方法 4.4.3)
4.5给加噪—去噪直觉与「预测噪声」目标前向闭式的归纳证明(定理 4.5.1);真实后验的配方推导(命题 4.5.1);VLB 到简化损失的三步推导与「不再是下界」的代价(定理 4.5.2);DDIM 的跳步自洽性;CFG 的贝叶斯读法(定义 4.5.3)
4.6母本课堂基本不涉及(属于 2022 年后的推进)LDM 两阶段与算力账(命题 4.6.1,30723072 倍);adaLN-Zero 的条件注入接口(定义 4.6.2);一致性模型的两种训练方式(定义 4.6.3);整流流与重流化,以及「圆弧 vs 直线」的定量对照(例 4.6.2);对抗蒸馏让 GAN 回归(4.6.5)
4.7母本只提「可以用离散 token」,不展开发散VQ 三项损失各自的梯度归属与在线 k-means 读法;直通估计量「估的是什么」;FSQ 的网格设计与 K=∏LiK=\prod L_i;VAR 的 next-scale prediction 与光栅扫描的错配分析;掩码去噪的两方证据对照
4.8母本以「应用示例」收尾四轴取舍表与六模态主干表(方法 4.8.1);四种条件注入的三层分工与「零初始化」共同点(定义 4.8.1);五维决策表(方法 4.8.2);水印三层各自「能证明什么 / 不能证明什么」(定义 4.8.2)

一句话总结差异:母本给「有哪些路线」与「直觉上为什么」,本教程补「怎么算出来」与「算错 / 训坏时长什么样」。凡属后者,正文都配了可执行判据:形状断言、数值阈值、曲线形态表。

补注的边界(避免把本教程读成「母本的升级版」):本教程不改变母本的结论方向,只补中间步骤与判据;凡与本教程不一致处,一律以可复现实验与原文文献为准。本教程标为「社区默认经验」的条目(EMA、TTUR、β\beta 的甜点区、ww 的甜点区、重流化 1∼21\sim2 轮)不是定理,收益幅度必须在自己的配置上验证。

二、术语与常见译误

这一节的用法:当你在「同一个词指向两件事」上卡住时来查。以下七条都是本讲内部就构成实际困惑的对比,不是泛泛的词汇表。

术语常见误用/误译正确理解
diffusion(扩散)vs denoising(去噪)把两者当同义词,于是读不出「前向无参数、反向要学」的分工「扩散」指整条前向加噪链及其分布演化(固定、无参数,定义 4.5.1);「去噪」指反向链要学的那个回归任务(预测所加噪声)。所以「去噪扩散模型」是一个复合词:用去噪目标去学扩散过程的逆。同样,「去噪 AE」(4.2.4)里的去噪发生在数据侧(输入被污染),扩散的去噪发生在整条时间链上——两者共享「最优去噪器沿对数密度梯度方向工作」这一结论(方法 4.2.1),但不是同一个东西
latent(潜变量 / 潜空间)vs hidden(隐层 / 隐藏状态)把 zz 和 RNN 的隐状态 hth_t、MLP 的隐藏层激活都叫「hidden」,于是讨论先验时指代不清本讲的 latent 特指有概率语义的隐变量:zz 上定义了先验 p(z)p(z)、后验 qϕ(z∣x)q_\phi(z\mid\boldsymbol x),可以从中采样(定义 4.3.1)。而 hidden state / hidden layer 只是确定性的中间激活,没有分布、不可采样。判断一个表示是 latent 还是 hidden,唯一的标准是:有没有为它规定一个可采样的分布——这正是 4.2 与 4.3 的分界线,也是 LDM 里「潜空间必须先把尺度对齐到先验」的原因(4.6.1 的工程坑 ①)
guidance scale(引导尺度)vs temperature(温度)把 CFG 的 ww 说成「采样温度」,或把温度说成「引导强度」温度作用于同一个分布之内:把 logits 除以 TT 后重新归一化,改变的是分布的尖锐程度(T→0T\to0 趋于 argmax)。CFG 的 ww 作用于两个分布之间:用「条件预测 − 无条件预测」的差沿条件方向外推(定义 4.5.3),轨迹会被推出原有分布族。两者的可观察后果也不同:温度主要改「像不像最可能的那一个」,ww 过大则出现过饱和 / 构图僵化 / 多样性下降这一组特有退化。可以类比(都在调「贴合 vs 多样」),但不能互换使用
sampling(采样)vs inference(推理)把「推理」当「采样」的同义替换,于是讨论「推理一步」时指代模糊在本讲语境里,sampling 指从分布里生成一个样本(可以是一步:VAE / GAN;也可以是多步迭代:扩散的 TT 步);inference 指模型前向传播(可能不产生样本,例如算似然、算重建、算 loss)。所以「扩散比 GAN 慢三个数量级」说的是后者(网络前向次数),而「DDIM 更少随机性」说的是前者(采样过程)——同一段话里两个字经常同时出现,必须分清
posterior(后验)vs latent(潜变量)用「后验」笼统指潜码本身;生成时从后验取 zz后验是潜变量上的一个分布(qϕ(z∣x)q_\phi(z\mid\boldsymbol x) 或真后验 pθ(z∣x)p_\theta(z\mid\boldsymbol x)),潜变量是它取值的那个量。这个区分决定两个操作的区别:从后验取 zz 再解码 = 重建 / 编码(输入已知);从先验 p(z)p(z) 取 zz 再解码 = 生成(不依赖任何具体样本)。参见 4.3 陷阱框第 2 条与 4.3.6 的后验坍塌定义
mode collapse(模式坍塌)vs 低多样性(low diversity)把一切「样本不够丰富」都叫模式坍塌模式坍塌有特定的机制:GG 只覆盖真实分布的部分模态,却仍能让当前的 DD 无法分辨,于是 DD 也停止在这些模态上提供信号(命题 4.4.1、4.4.3)——它的判据是「多样性崩溃 + DD 损失稳在 0.690.69 附近(即 DD 输出恒为 0.50.5)」。而低多样性是全球性的成因:ww 过大(4.5.5)、β\beta 过大(4.3.6)、重流化过度导致路径合并(例 4.6.2)、少步蒸馏坍塌(4.6.5)。处置方向完全不同:前者要改博弈结构(多样性保护、WGAN-GP、EMA),后者要调那个具体的旋钮
直通估计量(STE)vs「近似正确」把 STE 描述成「量化梯度的近似」,于是以为存在更精确的写法就不用它STE 给出的梯度是有偏的(真实的量化导数几乎处处为零,参见 4.7.2);而「真实导数」本身在分段常数函数上几乎不携带信息。因此把 STE 读成「不严谨」是错的:它是一个有意的、经验上有效的处理方式,VQ 家族的成功是经验事实而非近似定理。真正需要警惕的是:不要用「梯度无偏」去论证 VQ 的可靠性

三、时效补注

母本录播(约 2018–2019 年)的生成建模讲次以 VAE 与 GAN 为主干:扩散处于「刚提出、还没进课堂」的阶段,流匹配尚未成型,离散 token 路线只有 VQ-VAE 雏形,而少步采样、潜空间扩散、Transformer 主干这一整代工程改进都还没发生。本教程保留母本的三条主线(似然 / 对抗 / 编码—解码),同时按 2023–2025 年的工程现实做了三类更新:

维度母本年代(约 2018–2019)截至 2025 年的主流水位本教程的处理
主干路线VAE 与 GAN 并列为主角;扩散只是边缘想法扩散 / 流匹配接管图像与视频主干;VAE 退化为「第一阶段感知压缩器」;GAN 不再作主生成器4.5–4.6 为必读,4.3 与 4.6.1 对照读可看清 VAE 的新角色
判别器的去向GAN 的训练困难被当作「主要待解决问题」GAN 以对抗蒸馏形式回归:教师扩散提供方向、判别器惩罚模糊(4.6.5),把 TT 步压到 1∼41\sim4 步4.4 的结论仍然必要(否则读不懂蒸馏为何需要判别器),但要按 4.6.5 读它的新角色
采样代价「一次前向」是默认期望;迭代采样被视为不可接受迭代采样被接受,代价由少步方法(DDIM / 一致性 / LCM / 重流化)与潜空间压缩共同偿还4.5.4、4.6.3、方法 4.6.4 的对照表是选型入口
接口形态各模态各自为战离散 token 统一序列接口(多模态模型把图像与文本 token 排成一条序列),扩散统一训练信号形态4.7.1、4.8.1
评价实践FID / IS 是默认结论FID 的地位被降级为「回归测试指标」,人类偏好与条件一致性指标进入常规口径;水印与溯源成为部署必要件4.1.4、4.8.3

一条提醒:本页表格里的年份与「主流水位」是趋势性判断,不是精确的历史分期;引用具体模型与版本时应指向该项目的官方材料(模型卡、技术报告、仓库),而不是把本教程的概括当一手来源。

四、本教程更正记录

位置原表述更正说明
4.1.3 的 FID 定义早期草稿把 FID 写成「生成集与真实集的均值差」更正为均值项 ++ 协方差项两部分,并注明特征提取器、样本量与预处理三项口径只报均值项会把「方差塌缩」类失败判成好模型
4.5.4 的反向方差早期草稿写「反向方差必须学」更正为实践中常固定 Σθ=βtI\Sigma_\theta=\beta_tI 或 β~tI\tilde\beta_tI,只学均值;「学方差」是额外的工程选择与 定义 4.5.1 的写法保持一致,避免读者以为不学方差就不成立
4.5.3 的简化损失早期草稿说「Lsimple\mathcal L_{\text{simple}} 就是变分下界」更正为「把下界各项权重置 1 后的加权版本,不再是下界」报 bits/dim 一类似然数字时必须用完整权重重算
4.6.4 的整流流早期草稿称「整流流的轨迹就是直线」更正为:模型学的是边缘速度场 E[x0−x1∣xt]\mathbb E[\boldsymbol x_0-\boldsymbol x_1\mid\boldsymbol x_t],初始配对下轨迹仍可能弯;重流化才把轨迹拉直与 例 4.6.2 的 (c) 双模分析一致;这也是「重流化会抹平模态」风险的来源
4.7.2 的 STE早期草稿称其为「量化梯度的近似」更正为「前向如实量化、反向用单位矩阵替代零矩阵」的有偏但有效处理与 N4 卡配套;避免「存在更精确写法」的误解
4.8.3 的溯源早期草稿写「水印可证明内容是否真实」更正为:水印只回答「是否由某模型生成」,没有水印不等于真实(水印可被去除,也可被伪造)引用溯源结论时必须以这一条为前提

需核实清单(本讲引用中标注过的不确定项):4.1 与 4.8.1 涉及的部分开源项目与官方技术报告(如 FLUX 模型卡、视频生成的官方报告)没有正式论文与 arXiv 编号,引用时请指向官方页面;4.3 的 β-VAE(ICLR 2017)与 4.2 的深度 AE(Science 2006)、低秩逼近原始文献(Psychometrika 1936)均为无 arXiv 编号的正式出版物,按会议 / 期刊引用;4.6.2 的 DiT 四变体参数与 4.5.5 的引导尺度甜点区、4.7.4 的 FSQ 档位设计,请以论文表格与实测为准。规律是:任何「最优值 / 甜点区 / 报告数值」都不要照搬,必须在你自己的数据与分辨率上实测。