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.8 应用谱系与取舍

前七节把生成模型拆成了七个零件:目标(4.1)、压缩(4.2)、可采样的潜空间(4.3)、对抗信号(4.4)、多步去噪(4.5)、潜空间与路径加速(4.6)、离散 token(4.7)。这一节把它们装回真实的系统里,回答三个工程问题:

  1. 选型:给定任务与约束(模态、延迟、数据量、算力、可控性、合规),该选哪一类,代价是什么,怎么判断失败?
  2. 改造:怎样在不重训大模型的前提下加条件、加控制、换风格(inpainting、ControlNet、LoRA、参考图)?
  3. 部署:生成内容要怎样标注与溯源?水印、隐写与内容凭证各自能保证什么、不能保证什么?

4.8.1 应用谱系:六种模态的主干选择

按模态看主干(截至 2025 年的工程共识,含明确的不确定标注)
模态 主流主干 为什么是它 实际约束
图像生成 / 编辑 潜空间扩散 + Transformer 主干(整流流 / 流匹配目标) 质量 + 可控性 + 可编辑性最好;潜空间把算力压到可训练范围 推理有延迟(多步采样);训练与数据成本高
视频生成 时空 patch 化的潜空间 DiT(4.6.2 的推广)+ 时间维压缩 与图像同构:把帧当作额外的空间维来 patch 化,再在潜空间上加时间维的压缩(时间下采样)以控制 token 数;规模上去后时间一致性与物理感明显改善 数据、算力、评测三方面成本都高;「世界模拟器」一类说法仍属未定论(它是观察到的现象描述,尚缺共识性的量化判据,引用时应区分事实与解读)
音频 / 语音 离散 token + 自回归(4.7)或扩散 / 流匹配(连续表示) 语音天然可离散化为 token;两条路线都在生产使用 高保真与低延迟的权衡;长序列的稳定性
3D / 资产 多视图扩散 + 重建、或直接在 3D 表示(体素 / 点云 / 高斯)上做去噪 多视图是「把 3D 降成 2D 生成」的低成本路线 跨视图一致性、拓扑正确性仍是难点
分子 / 蛋白质 扩散 + 等变网络(对旋转平移等变的去噪网络) 生成对象的对称性必须被结构尊重,否则样本无效 有效性 / 新颖性 / 可合成性的多目标评价(第 8 讲 AI for Science 详述)
机器人动作 扩散策略或流匹配策略(条件生成动作块) 动作分布多模态(同一状态有几种合理做法),回归策略会把它们平均成一个错误动作 闭环频率、延迟、安全性约束

一句方法论提示:这张表的价值不在于「哪个最好」,而在于每一行的右列都是约束——把约束写出来,选型就变成了可讨论的工程问题。

为什么「扩散统一了模态」而「离散统一了接口」

这两句话分别在这两节里出现过,这里给出它们的统一解释:

  • 扩散 / 流匹配统一的是「训练信号的形态」:不管数据是图像、音频、动作还是分子坐标,都可以定义「加噪 → 去噪」或「噪声 → 数据的速度场」。这类目标稳定、可批量、无需对抗,是它跨模态通用的根本原因。
  • 离散 token 统一的是「序列接口」:一旦模态被切成整数序列,就可以用同一个 Transformer 与同一套交叉熵训练,从而在一个模型里混合多模态(把图像 token 与文本 token 交替排列)。这是多模态大模型的工程底座。

两条路线并不互斥:现实中常见的组合是「离散 tokenizer + 扩散式解码」或「连续潜空间 + 自回归先验」。判断用哪一条,看你要的是稳定可训的目标(扩散)还是与语言模型共享的接口(离散自回归)。

生成建模三十年:四条路线的分化与合流 时间轴示意:1990 年代末到 2013 年以自编码器与显式似然为主;2013–2014 年 VAE 与 GAN 分岔;2020 年扩散出现并逐步接管图像主干,2022 年进入潜空间(LDM),2023–2024 年主干换成 Transformer(DiT)并转向整流流 / 流匹配;同时离散路线(VQ-VAE 2017、VQGAN 2020、VAR 2024)与少步加速路线(一致性模型 2023)持续发展,最终在现代生成系统的管线中合流。 时间 → 2006 2013 2017 2020 2022 2023 2024 深度 AE VAE(ELBO) GAN(对抗) VQ-VAE(离散) DDPM / DDIM LDM(潜空间) 一致性模型 DiT / 整流流 VAR 主干演进:像素 → 潜空间 → Transformer 主干 → 直线路径
生成建模的路线分化与合流(本教程绘制)。纵向位置只表示「属于哪一支」,不代表优劣:蓝色为显式似然、红色为对抗、绿色为离散 token、紫色为扩散 / 流。2023 年之后四条线在真实系统里被拼在一起:感知压缩 + Transformer 主干 + 流匹配目标 + 少步蒸馏 + CFG 引导(见 [4.6.3](sec46.md))。
真实系统长什么样:五个零件的拼装图

把本讲七节的方法映射到一条真实管线,几乎所有现代生成系统都是下面这五个零件的一种组合:

  输入(文本 / 线稿 / 参考图 / 观测)
        │
        ├─► [文本编码器] ──────────────┐          (条件 c)
        ├─► [参考图编码器] ────────────┤
        └─► [控制图编码器] ────┐       │
                               │       │
  z_T ~ N(0, I) ──► [去噪主干 ε_θ / v_θ] ◄┤        ← 零件 3:主干(U-Net / DiT)
        ▲                │                │
        │                ▼                │
   [采样器] ◄──── 每步更新 ◄───────────────┘        ← 零件 4:采样器(DDIM / ODE / 少步蒸馏)
        │
        ▼
     ẑ_0 ──► [感知解码器 D] ──► x̂              ← 零件 5:解码器(VAE / VQ 解码器)
        │
        └─► [水印 / 指纹注入] ──► 输出 + 溯源元数据
零件 对应小节 主要替代方案
1. 感知压缩编码器 / 解码器 4.3、4.6.1、4.7 连续 VAE(潜空间扩散) / VQ 或 FSQ(离散 token)
2. 条件编码与注入 4.5.5、4.8.2 交叉注意力 / adaLN / ControlNet 旁路 / 参考图适配器
3. 去噪主干 4.5.2、4.6.2 U-Net / Transformer(DiT)/ 混合
4. 采样器 4.5.4、4.6.3 DDPM / DDIM / ODE 求解器 / 一致性 / 整流流
5. 溯源与标注 4.8.3 生成期水印 / 指纹 / 内容凭证

读这张图的方式:当有人问「扩散模型是什么」,答案不是某一个网络,而是这条管线的哪一部分被替换了。这也是本节选型表能写出来的原因——每一列都可以独立替换与度量。

4.8.2 编辑与定制:条件注入的四种做法

定义 4.8.1 · 四种条件注入机制

给定一个已训练好的扩散 / 流匹配模型,要在不重训主干的前提下控制它:

(一)条件修补(inpainting):只在图像的部分区域做去噪,未编辑区域保持原图。两种实现:① 在潜空间上把已知区域替换回原图的编码(每步都替换,保证一致性);② 让网络额外接收一个掩码 mm,输入为 (1−m)⊙zt+m⊙E(xgiven)(1-m)\odot z_t+m\odot\mathcal E(x_{\text{given}})。

(二)条件网络(ControlNet 类):复制主干的编码器分支,接收额外条件(边缘图、深度图、姿态、分割图),其输出通过零初始化的旁路层加回主干: hmain ← hmain+Zθ(hcopy,cctrl),Zθ 初始为零(训练初期主干行为不被破坏).h_{\text{main}}\ \leftarrow\ h_{\text{main}}+\mathcal Z_\theta\bigl(h_{\text{copy}},c_{\text{ctrl}}\bigr),\qquad \mathcal Z_\theta\ \text{初始为零(训练初期主干行为不被破坏)}. 主干权重冻结,只训练这条控制分支。

(三)低秩自适应(LoRA):冻结基座权重 W0W_0,只学一个低秩增量 W=W0+BA,B∈Rd×r, A∈Rr×k, r≪min⁡(d,k),W=W_0+BA,\qquad B\in\mathbb R^{d\times r},\ A\in\mathbb R^{r\times k},\ r\ll\min(d,k), 其中 AA 小随机初始化、BB 零初始化(保证起点等于基座)。它改变的是风格 / 概念,不是空间结构。

(四)参考条件(IP-Adapter / 图像提示类):用另一个编码器(如 CLIP 图像塔)把参考图编码成若干 token,通过交叉注意力注入主干——把「文本提示」换成「图像提示」。它改变的是语义与风格,控制粒度比 ControlNet 粗。

四者的分工与「谁被冻结」

把一张图的生成过程拆成三层来理解,四类方法各自只动其中一层:

层次 描述 对应手段
空间结构层(哪里有什么) 构图、姿态、边缘、深度 ControlNet(结构条件);inpainting(局部冻结)
语义 / 风格层(像什么、什么质感) 主体身份、画风、材质 LoRA(权重增量);参考条件(图像提示)
采样过程层(怎么走) 引导强度、步数、路径 CFG 的 ww(4.5.5);少步采样器(4.6.3)

三条工程经验(社区默认做法,不是定理):

  1. 先调采样层,再动权重层:很多「不够听话」的问题靠 ww 与步数就能解决,不必训 LoRA。
  2. ControlNet 与 LoRA 可叠加,但两者同时高强度使用时会出现「控制冲突」(结构被风格覆盖或反之),需要分别降低强度。
  3. 零初始化是这些方法的共同点(ControlNet 的旁路、LoRA 的 BB、4.6.2 的 adaLN-Zero 门):新增分支一开始必须是恒等,否则预训练模型的行为在第一步就被破坏。这条经验在本讲出现了三次(4.6.2、4.8.2、4.8.2 的 LoRA),值得单独记住。
例 4.8.1 · 一次定制方案的设计与验收标准

任务:给一个已有的文本到图像模型(潜空间扩散 + Transformer 主干)加上「把用户上传的线稿转成彩色插画」的能力。约束:只有 2,0002{,}000 对(线稿,插画)样本;单卡,预算允许训练 24 小时;要求同一线稿多次生成时结构必须一致(构图不能变),颜色与质感可多样。

(a) 在 ControlNet、LoRA、参考条件、inpainting 四种手段里选哪一种(或组合)?说明理由。 (b) 给出训练配置与可验证的验收标准。 (c) 若上线后发现「结构一致但颜色单调」,最可能是哪个环节的问题?给出两条排查方向。

解

(a) 选择:ControlNet 类条件网络(线稿条件)+ 可选的轻量 LoRA(风格)。 理由逐条对应约束:① 「结构必须一致」= 需要空间条件注入,这正是 ControlNet 的定位(把线稿当控制图,逐位置约束);② 「颜色与质感可多样」= 不应把风格写死在控制分支里,所以风格层要么不加,要么用低强度 LoRA(并可随时关掉);③ 「只有 2000 对样本」= 主干必须冻结(否则 2000 对样本训一个数亿参数主干必然过拟合),只训控制分支(参数量通常是主干的一个小比例);④ inpainting 不适用:它适用于「局部改一张已有图」,而这里要对任意新线稿生成整张图;⑤ 参考条件不适用:它改变语义 / 风格但不保证构图,与「结构一致」这一硬约束不合。

(b) 训练配置与验收标准(可直接写成实验协议):

项 设置
冻结范围 主干与文本编码器全冻结;只训控制分支(零初始化旁路)
数据 2,0002{,}000 对;线稿需与图像严格对齐(同一分辨率、同一裁切);留 100100 对作验证
分辨率 与基座训练分辨率一致(换分辨率会同时改变条件图的统计)
训练目标 与基座相同(噪声预测或速度回归),条件为「文本 + 线稿」
采样 与基座相同的少步采样器 + CFG(ww 建议在 3∼73\sim7 内扫)
验收 1(结构) 固定线稿,用不同随机种子生成 88 张:用边缘检测器提取生成图的边缘,与输入线稿的IoU 或倒角距离应显著优于「不加 ControlNet 的同模型」基线
验收 2(多样) 同上 88 张之间的颜色直方图 / 感知相似度不应过近(若几乎相同 → 风格被写死)
验收 3(条件响应) 换一条不同的线稿,输出结构必须随之改变(防止「控制分支被忽略」这一常见失效:条件被整体无视,模型只按文本生成)
验收 4(回归) 控制强度置零时,模型应退回基座行为(确认旁路确实从恒等开始且可控)

(c) 「结构一致但颜色单调」的排查。 最可能的原因有两个方向:

  • 方向一:控制强度过大。线稿条件在每一步都被强加,导致采样轨迹被约束在「低方差」区域(4.5.5 的机制:放大某一方向的同时会压窄其他方向的探索)。排查:把控制强度调低、或在采样后期(高噪声步之后)提前停止控制(一种常见做法是只在前面一部分步数施加控制)。
  • 方向二:CFG 的 ww 过大。ww 过大时模型被推向「条件似然高、数据似然低」的狭窄区域(4.5.5),颜色与质感多样性下降。排查:固定线稿与种子,扫 w∈{2,4,7.5,12}w\in\{2,4,7.5,12\} 看多样性—对齐度曲线。

次要方向:训练数据本身的配色分布过于单一(2,0002{,}000 对样本若来自同一位画师,风格自然单一);或训练过度导致控制分支记住了训练集的颜色映射(可用「留出验证集上的颜色分布距离」判断)。■\blacksquare

∎

4.8.2.2 代码:把「编辑」做成一次掩码替换

下面这段把 定义 4.8.1 的第一种做法(inpainting)与第三种做法(LoRA)的接线写清楚:插值回填是保证一致性的手段,LoRA 的开关是保证可回滚的手段。两者都不需要改主干的权重。

import torch
from torch import nn

@torch.no_grad()
def inpaint_sample(model, vae, x_given, mask, steps=50, device="cpu", strength=1.0):
    """在潜空间做条件修补:已知区域每步回填,未知区域正常去噪。

    x_given: (B, 3, H, W) 已知像素(未编辑区域),mask: (B, 1, H, W),1 = 保留(不改)
    """
    model.eval()
    z_given = vae.encode(x_given.to(device)).sample() * vae.config.scaling_factor   # 已知区域的潜码
    z = torch.randn_like(z_given) * 1.0                                             # 从纯噪声起步
    m = torch.nn.functional.interpolate(mask.to(device), size=z.shape[-2:], mode="nearest")

    # 只保留一部分步数做「重加噪」,是 inpainting 的常用做法:
    t_start = int(steps * (1.0 - strength))     # strength 越小 → 越贴近原图,编辑幅度越小
    for t in range(t_start, steps):
        # ① 关键一步:把已知区域的潜码每步插值回去(否则去噪轨迹会漂移)
        z = z * (1 - m) + z_given * m
        # ② 未知区域正常做一步去噪(此处用模型自带调度器,省略具体公式,见 sec45 的 DDIM)
        z = model.scheduler.step(model.unet(z, t), t, z).prev_sample
    z = z * (1 - m) + z_given * m               # 收尾再保证一次一致性
    return vae.decode(z / vae.config.scaling_factor).sample

def lora_scale_hook(module, scale):
    """示意:LoRA 增量以可调强度接入(scale=0 即完全回到基座权重)。
    实际工程用 peft 的 set_scale / LoraLayer.scaling 实现。"""
    def hook(_m, _inp, out):
        return out + scale * _m.lora_delta(_inp[0])      # lora_delta 为 B·A·x
    return module.register_forward_hook(hook)

# 验收要点(对应例 4.8.1):
#   结构:固定线稿换随机种子,生成图边缘与输入线稿的 IoU 应稳定高于基线
#   多样:同一线稿的多样本颜色直方图不应几乎相同
#   回滚:lora_scale=0、strength=1 时行为应回到基座(便于定位冲突来自哪一层)

4.8.3 水印、隐写与溯源

定义 4.8.2 · 生成内容的水印与溯源三层

(一)生成期水印(statistical watermark):在生成过程的采样环节嵌入一个统计信号。以自回归语言模型为例(绿名单方案):用一个只有生成方知道的密钥 SS 在每一步把词表随机划分为绿名单(约一半)与红名单,然后给绿名单 token 的对数几率加一个偏置 δ\delta: ℓi ← ℓi+δ⋅1[ i∈green(S) ].\ell_i\ \leftarrow\ \ell_i+\delta\cdot\mathbf 1[\,i\in\text{green}(S)\,\big]. 检测器用同一个密钥统计文本中绿名单 token 的比例:在无水印文本中该比例约为 γ\gamma(如 0.50.5),在水印文本中约 >0.5+ϵ>0.5+\epsilon。关键性质:这个偏置只改变采样分布、不改变生成流程的合法性,检测误差有可计算的界(论文给出 z 检验的假阳性率随长度指数下降的结论)。扩散模型也有对应做法(在初始噪声的频谱上嵌入信号,或在每步注入与密钥相关的偏移),检测鲁棒性与具体方案强相关。

(二)隐写 / 指纹(steganography / fingerprinting):把标识藏在不影响观感的信息里(扩散模型可以嵌在初始潜噪声的频谱中),或在生成时嵌入与用户 / 会话绑定的指纹以支持事后追责。

(三)内容凭证与签名(content credentials, provenance):不修改内容本身,而是给文件附一份可验证的元数据(谁生成、用什么模型、何时、是否被编辑过),并用密码学签名防止伪造。典型的开放标准是 C2PA 内容凭证。

三层各自的保证强度:务必分清「能证明什么」
  • 统计水印:能回答「这段内容是不是用某模型生成的」(给生成方一个可检测信号)。它不能回答「是谁生成的」;对改写 / 翻译 / 重打水印的鲁棒性有限(具体鲁棒性边界取决于方案,必须实测)。
  • 指纹 / 隐写:能回答「是哪个账户 / 会话生成的」(追责用途)。它的前提是标识在攻击后仍能被恢复——这恰恰是最脆弱的一环(重压缩、裁剪、再生成都可能破坏)。
  • 内容凭证:能回答「这个文件自带的元数据是否被篡改」(密码学保证),但不能强制任何平台读取它,也不能阻止有人去掉它后重新分发。

一句必须写进报告的话:溯源系统的强度取决于最薄弱的环节,而不是最精巧的算法。工程上的合理组合是「生成期水印(自动、可批量检测)+ 内容凭证(可验证、跨平台)+ 检测方对擦除攻击的独立鲁棒性评估」。

为什么「生成内容标注」是产品需求,而不只是伦理要求

把来源讲清楚有三重现实动机:

  1. 合规与信任:多个司法辖区与平台已要求对合成内容做标注(具体条文与生效时间以官方文本为准,本教程只作事实性概述、不给合规建议)。对研发团队而言,这直接影响能不能上线。
  2. 数据卫生:生成内容回流进训练集是模型崩塌(model collapse)类风险的已知来源之一——标注与溯源是缓解链条的第一环(本教程只描述机制,不夸大「崩塌」的必然性)。
  3. 误信息防御:合成语音 / 视频在诈骗与舆论操纵中的实际使用已经发生。溯源不能阻止生成,但能把「这是合成的」变成一个可被独立验证的技术事实,从而改变传播链条的成本结构。

一条反直觉但重要的提醒:水印的存在会让人误以为「没有水印的内容就是真实的」。这是危险的推论——水印可以被去除,也可以被伪造到真实内容上。溯源应被设计成「增加可信证据」,而不是「充当真实性的判定器」。

4.8.4 选型决策表

五维选型决策表(把约束写在左列,方法写在右列)
约束 / 需求 首选 次选 明确不要选 失败判据
单图延迟 < 200 ms 少步潜空间扩散(LCM / 一致性,4.6.3) GAN / 对抗蒸馏(一步) 50+ 步 DDPM 少步样本多样性显著低于基线
延迟不敏感、质量优先 潜空间扩散 + 流匹配 + 多步 ODE DDIM 5050 步 一步模型 细节区(文字 / 手部)系统性崩坏
要「一个能跑的最小基线」 全连接 VAE(4.3)或 2D 玩具扩散(4.5) 小规模 DDIM 直接上前沿架构 训练不收敛或 KL 坍塌
似然要可报(bits/dim) 自回归 / 归一化流(精确似然)或完整 VLB 的扩散 VAE(下界) GAN(无似然) 报了一个「不是似然」的数当似然
需要多模态动作分布 扩散策略 / 流匹配策略 混合密度网络(多高斯) 单峰高斯策略(会把模式平均) 动作出现「平均值」导致的抖动
数据量很小(< 10k) 冻结基座 + LoRA / ControlNet(4.8.2) 从头训小模型 + 强增广 从头训大模型 训练集样本被近似记忆(近邻检查)
要给生成内容打标 / 溯源 生成期水印 + 内容凭证(4.8.3) 指纹(内部追责) 只依赖元数据字段(易被剥离) 重压缩 / 裁剪后检测失效
需要强空间控制(结构不跑) ControlNet 类条件分支 inpainting(局部编辑) 纯文本条件(无法约束构图) 条件被忽略(换条件输出不变)
算力有限但要多分辨率 潜空间扩散(压缩率可调) 分辨率条件训练 像素空间高分辨率扩散 显存放不下 / 训练时间爆炸
要跨模态统一接口 离散 token + 自回归 / 掩码扩散(4.7) 多任务微调 每个模态各训一套不共享的管线 序列过长导致显存与延迟不可接受
本节四条高频误解
  1. 「FID 更低就是选型更优」:FID 的口径依赖特征提取器、样本量与预处理,跨设置不可比(4.1 的五条缺陷)。选型要看多轴:保真度 + 多样性 + 条件一致性 + 延迟 + 成本。
  2. 「有了水印就万无一失」:水印对改写、重压缩、再生成的鲁棒性有限,且没有水印不等于真实(4.8.3 的反直觉提醒)。溯源必须与独立鲁棒性评估一起交付。
  3. 「微调总比不微调好」:小数据下全参数微调会破坏基座能力(灾难性遗忘)并过拟合;正确做法通常是冻结主干 + 低秩 / 旁路(4.8.2),并保留「关掉增量即可回到基座」的可回滚性。
  4. 「扩散策略就是把扩散套到强化学习上」:它与 第 5 讲 的策略优化有交互——条件生成解决的是「如何表达多模态动作分布」,而「如何改进策略」仍需 RL 或模仿学习的目标。两者是互补的组件,不是替代关系。
即时自测 · 4.8

Q1 用一句话说明 ControlNet 与 LoRA 分别改变生成过程的哪一层,以及它们为什么都从「零初始化」开始。

Q2 「用参考图(图像提示)替代文本提示」能保证构图一致吗?为什么?

Q3 生成期水印的检测依据是什么统计量?它对「改写 / 重压缩」的鲁棒性应当被如何评估?

Q4 一个团队要在 8 张单卡、2 万张未标注图像上做一个图像生成产品,延迟不能超过 200 ms。给出你的选型与三条验收标准,并指明两条最可能失败的环节。

参考要点

Q1 ControlNet 改变的是空间结构层(把边缘 / 深度 / 姿态等控制图注入主干,逐位置约束构图),LoRA 改变的是权重 / 风格层(用低秩增量微调主干的部分权重)。二者都从零初始化开始的原因相同:新增分支在训练第一步必须是恒等映射,否则一个随机初始化的分支会立刻破坏预训练模型的行为,训练从「修好一个坏模型」开始(ControlNet 的旁路卷积零初始化、LoRA 的 BB 零初始化、4.6.2 的 adaLN-Zero 门都是同一动机)。

Q2 不能。参考条件只提供语义 / 风格级的信息(主体身份、画风、材质),它不把参考图的每个位置与输出对应起来,因此不约束构图。要保证构图必须用空间条件(ControlNet 类)或直接做结构条件(边缘 / 深度 / 分割图),这与 4.8.1 的「三层分工」表一致。

Q3 检测依据是「密钥划分的绿名单 token 在文本中的比例」这一统计量(如绿名单比例显著超过期望的 γ\gamma),用水印 / 无水印样本的分布做假设检验(如 z 检验),假阳性率随文本长度下降(具体界限以论文结论为准)。鲁棒性评估要做受控攻击:改写、翻译、重压缩、插入删除、再次用其他模型生成,报告检测率随攻击强度的曲线与假阳性率,而不是给一个「能检测 / 不能检测」的二值结论。

补充提示:扩散模型的水印做法与语言模型不同(不是逐 token 加偏置,而是在初始噪声或每一步的偏移上做文章),因此两者的鲁棒性结论不能相互搬运。

Q4 选型:潜空间扩散(自训或微调基座)+ 少步采样(一致性 / LCM 类蒸馏)+ CFG 引导。理由:200 ms 的硬约束直接排除多步 DDPM;8 张单卡的预算排除从零训练数十亿参数的主干,因此应以「复用开放基座 + 小数据适配(LoRA / ControlNet)」为主。验收标准:① 目标分辨率下的端到端延迟 p50 / p95 都在预算内;② 多样性指标(同提示多样本的两两距离)不低于基座;③ 条件一致性(提示对齐度或控制图 IoU)达到设定阈值。最可能失败的环节:① 少步蒸馏后质量下降(尤其是细节区),需要对目标分辨率与目标提示分布实测而不是照搬论文;② 数据授权与合规(2 万张未标注图像的来源与使用许可)——它可能直接决定项目能否上线,而不只是一个技术环节。

延伸阅读
  • Ho, Jain & Abbeel, Denoising Diffusion Probabilistic Models(2020,arXiv:2006.11239)与 Song et al., Denoising Diffusion Implicit Models(2020,arXiv:2010.02502)——本讲主干方法的原始论文(若只读两篇扩散论文,就是这两篇)。
  • Rombach et al., High-Resolution Image Synthesis with Latent Diffusion Models(2022,arXiv:2112.10752)与 Peebles & Xie, Scalable Diffusion Models with Transformers(2022,arXiv:2212.09748)——4.6 的 LDM 与 DiT。
  • Zhang, Rao & Agrawala, Adding Conditional Control to Text-to-Image Diffusion Models(2023,arXiv:2302.05543)——ControlNet 原始论文(零初始化旁路的动机在此)。
  • Hu et al., LoRA: Low-Rank Adaptation of Large Language Models(2021,arXiv:2106.09685)——LoRA 原始论文;同一机制在 第 9 讲 会以微调工程的形式再次出现。
  • Ye et al., IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models(2023,arXiv:2308.06721)——参考图条件(图像提示)的代表方法。
  • Kirchenbauer et al., A Watermark for Large Language Models(2023,arXiv:2301.10226)——绿名单水印与 z 检验检测的原始论文(4.8.3 第一层的依据)。
  • Fernandez et al., The Stable Signature: Rooting Watermarks in Latent Diffusion Models(2023,arXiv:2303.15435)——扩散模型中的隐写 / 指纹方案。
  • C2PA(Coalition for Content Provenance and Authenticity),内容凭证规范(官方规范与实现见 c2pa.org;无 arXiv 编号,引用时指向官方规范)——内容凭证层的工业标准。
  • Nichol et al., GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models(2021,arXiv:2112.10741)——条件生成与编辑(inpainting)的早期系统性工作,读它可看清「编辑 = 条件修补」的原始思路。

本节小结:应用谱系可以落成一条原则——先写清约束(模态、延迟、数据量、算力、可控性、合规),再选主干。扩散 / 流匹配统一的是训练信号形态,离散 token 统一的是序列接口,二者常在真实系统中组合使用。改造已有模型的四种手段(inpainting / ControlNet / LoRA / 参考条件)分别作用于空间结构层、权重风格层与采样过程层,它们的共同工程前提是新增分支必须从恒等(零初始化)开始。部署阶段的溯源由三层组成:生成期水印(能否检测)、指纹(是谁生成)、内容凭证(元数据是否被篡改)——每一层的保证强度都不同,且没有水印不等于真实。

本讲到此处收束为一条主线:生成建模 = 学分布 + 可采样 + 可控 + 可评价 + 可溯源。前七节解决「怎么学、怎么采」,本节解决「怎么选、怎么改、怎么交付」。