- Authors

- Name
- Youngju Kim
- @fjvbn20031
- 引言
- 大局观:模型学习的是什么
- 扩散模型的原理
- 潜在扩散(Latent Diffusion)
- 文本条件化
- CFG:无分类器引导
- Rectified Flow 与 Flow Matching
- DiT:向扩散 Transformer 的转变
- 谱系与代表性模型系列
- 对比表:按架构维度梳理
- 完整流水线图
- 优势
- 局限与未解决的问题
- 实务启示
- 结语
- 参考资料
引言
文本-图像生成是过去几年生成式 AI 领域发展最快的方向之一。走过 GAN 时代之后,扩散模型(diffusion model)事实上已成为标准,2024 年以来,用 rectified flow 与 flow matching 将扩散的数学框架加以推广、并把主干网络从 U-Net 换成 Transformer(DiT)的趋势愈发明显。本文不打算断言各个模型的具体细节参数,而是聚焦这一领域 SOTA 模型共同的架构原理与谱系脉络。
这个领域变化非常快。以下内容以广为人知的概念、论文与架构系列为准,请在阅读时留意:具体模型的排名或数值会随基准测试、版本、评估方式而变化。
大局观:模型学习的是什么
图像生成模型的目标是学习数据分布,再从这个分布中抽取新的样本。文本-图像模型在此基础上加入「文本条件(condition)」,从给定句子所描述图像的条件分布中采样。
扩散模型的核心思路分为两个阶段。
- 前向过程(forward process):给干净图像逐步加入高斯噪声,最终变成纯噪声。
- 反向过程(reverse process):从纯噪声出发,逐步去除噪声以复原图像。
模型学习预测「每一步混入了什么样的噪声」。这个噪声预测越准确,就越能把纯噪声在反向过程中逐渐还原成看起来合理的图像。
前向(生成训练信号): x0 --noise--> x1 --noise--> ... --> xT (纯噪声)
反向(生成): xT --denoise--> ... --> x1 --denoise--> x0 (图像)
每一步神经网络都在预测"混入的噪声"
扩散模型的原理
噪声预测与目标函数
在最广泛使用的表述(DDPM 系列)中,在任意时刻 t 给图像混入固定量的噪声,训练神经网络去预测这个噪声。损失通常是「实际混入的噪声」与「预测出的噪声」之间的均方误差。
训练循环(概念):
1. 从数据中采样图像 x0
2. 随机选择时刻 t (1..T)
3. 采样噪声 eps,按调度生成 x_t
4. 神经网络预测 eps_pred = model(x_t, t, 条件)
5. 最小化损失 = mean( (eps - eps_pred)^2 )
这里的「条件」就是文本嵌入。除了噪声预测这种形式外,直接预测原始图像或预测速度(velocity)的变体(如 v-prediction)也被广泛使用。表述方式不同,核心是一样的:神经网络要在混入噪声的状态下学会「去噪的方向」。
逆扩散与采样器
训练结束后,从纯噪声出发,经过多个步骤去除噪声。实际执行这一过程的算法称为采样器(solver)。
- DDPM:最初的方式。步数很多(数百步),速度较慢。
- DDIM:允许确定性路径,大幅减少步数。
- DPM-Solver 系列:从微分方程的角度使用高阶近似,即使步数很少也能维持质量。
逆扩散实际上可以看作求解随机微分方程(SDE)或常微分方程(ODE)的问题。这一视角与后文将要谈到的 flow matching 自然衔接。
潜在扩散(Latent Diffusion)
早期的扩散模型直接在像素空间中处理噪声。高分辨率图像像素数量巨大,运算量会爆炸式增长。潜在扩散模型(Latent Diffusion Model, arXiv 2112.10752)优雅地解决了这个问题。
其核心是先训练一个自编码器(VAE),把图像压缩到小得多的潜在空间(latent space)。扩散过程就发生在这个压缩后的潜在表示之上。
[图像] --VAE 编码器--> [小的潜在张量] --扩散 训练/生成--> [潜在张量] --VAE 解码器--> [图像]
例: 512x512x3 像素 ==> 64x64x4 潜在 (空间压缩8倍)
得益于这一结构,扩散神经网络只需处理小得多的张量,运算量与显存占用大幅下降。Stable Diffusion 系列正是建立在这种潜在扩散之上,此后大多数实用的文本-图像模型都采用了潜在空间的方式。
文本条件化
要用文本控制图像,需要把句子转换成神经网络能理解的向量,并把这个向量注入生成过程。
文本编码器
- CLIP 文本编码器:通过图像-文本对比学习训练出来的编码器,把文本和图像对齐到同一个嵌入空间。用来把提示词的语义与图像生成连接起来非常自然。
- T5 系列文本编码器:基于大语言模型的编码器,能更丰富地捕捉长而复杂的提示词的句法与语义。
最近的模型经常采用同时使用 CLIP 与 T5 的混合配置。其直觉是:CLIP 提供图像对齐信号,T5 提供语言理解的深度。
交叉注意力与条件注入
把文本嵌入注入图像生成过程的代表性方式是交叉注意力(cross-attention)。生成中的潜在表示作为查询(query),文本嵌入作为键(key)与值(value)。每个图像位置学习去关注提示词中的哪个词。
[潜在表示的 token 们] --Query-->
[交叉注意力] --> 以文本为条件的特征
[文本嵌入] --Key,Value-->
在 Transformer 主干(DiT)中,把文本 token 与图像 token 拼接成一个序列一起做注意力(joint attention)的方式也很常见。这让文本表示与图像表示能够更深入地相互作用。
CFG:无分类器引导
Classifier-Free Guidance(CFG)是一种调节模型对文本条件遵循程度的技巧。训练时以一定概率把条件置空(无条件)一起训练,生成时再把有条件预测与无条件预测混合起来。
guided = uncond + scale * (cond - uncond)
scale = 1: 接近于忽略条件
scale 上升: 提示词忠实度提高,但过高会导致饱和度过度/不自然
CFG 系数是调节「提示词忠实度」与「多样性、自然度」之间权衡的关键旋钮。数值过大时,颜色会过曝,画面也会显得人工痕迹很重。
Rectified Flow 与 Flow Matching
把扩散的反向过程看作 ODE,由此自然产生的就是 flow matching 与 rectified flow。这一系列已经成为近期 SOTA 文本-图像模型的训练框架。
其核心思路是这样的:直接学习从噪声分布走向数据分布的「速度场(velocity field)」。rectified flow 尤其会把连接噪声与数据的路径尽量拉直成直线。
扩散(曲线路径) rectified flow(接近直线的路径)
噪声 . . . 数据 噪声 -------- 数据
弯弯曲曲的轨迹 拉直后的轨迹 -> 少数几步即可到达
路径越接近直线,生成时所需的积分步数就越少。也就是说,可以用更少的计算量获得不错的质量。这也是最新模型偏好 flow matching 系列的实用理由之一。
DiT:向扩散 Transformer 的转变
早期扩散模型的主干网络大多是 U-Net,一种基于卷积的编码器-解码器结构,带有跳跃连接。此后 Diffusion Transformer(DiT)登场,把主干网络换成 Transformer 的趋势逐渐加强。
DiT 的想法很简单:把潜在张量切成 patch,构成 token 序列,再用标准的 Transformer block 处理。时刻 t 与条件通过归一化层等方式注入。
[潜在张量] --patch 切分--> [token 序列]
|
[Transformer block x N]
(self-attention + 条件注入)
|
[噪声/速度预测] --> patch 还原
Transformer 主干的优势在于可扩展性(scalability)。观察到的趋势是,模型规模与数据量越大,性能提升越平滑,这正是大规模文本-图像模型逐渐收敛到 DiT 系列的背景。
谱系与代表性模型系列
以下是以概念、架构系列为中心的梳理。具体参数因版本、公开时点而异,因此这里以系列的特征为准来看。
- Stable Diffusion 早期系列:潜在扩散 + U-Net + CLIP 条件化。极大拓展了开放生态。
- 基于 DiT 的大型模型:把主干网络换成 Transformer、引入文本-图像 joint attention 的趋势。据了解,Stable Diffusion 3 系列采用了 rectified flow、Transformer 主干与多文本编码器的组合。
- FLUX 系列:据了解是结合 rectified flow 与大规模 Transformer 主干的系列,在提示词忠实度与图像质量上被评价为表现强劲。具体的训练配方与确切数值因公开范围而异。
- Imagen / DALL-E 系列:据了解是强调强大文本编码器与扩散(或级联)结构的系列。多为闭源,细节公开有限。
在这条谱系中共同观察到的方向有三个:(1) 用潜在空间取代像素,(2) 用 Transformer 取代 U-Net,(3) 用 flow matching / rectified flow 取代纯粹的扩散表述。
对比表:按架构维度梳理
| 维度 | 早期扩散(U-Net) | 基于 DiT 的大型模型 | rectified flow 系列 |
|---|---|---|---|
| 主干网络 | U-Net(卷积) | Transformer | 以 Transformer 为中心 |
| 训练表述 | 噪声预测(DDPM 系列) | 噪声/速度预测 | 速度场(flow matching) |
| 条件注入 | 交叉注意力 | joint/交叉注意力 | joint/交叉注意力 |
| 文本编码器 | 主要用 CLIP | 倾向 CLIP + T5 组合 | 倾向 CLIP + T5 组合 |
| 可扩展性 | 有限 | 优秀 | 优秀 |
| 生成步数倾向 | 多 | 中等 | 较少(直线路径) |
表中数值是各系列的一般性倾向,可能与特定产品、版本的实际配置不同。
完整流水线图
[提示词文本]
|
[文本编码器: CLIP / T5]
|
[文本嵌入] ------------------+
|
[纯噪声(潜在)] --> [扩散/flow 主干: U-Net 或 DiT] <-- (交叉/joint 注意力)
|
[反复去噪: 采样器 + CFG]
|
[最终潜在张量]
|
[VAE 解码器]
|
[最终图像]
优势
- 质量与控制的平衡:扩散/flow 系列容易同时兼顾多样性与忠实度,并通过 CFG 提供调节旋钮。
- 模块性:文本编码器、主干网络、VAE 相互分离,便于替换、改进各个部件。
- 可扩展性:借助 DiT 的引入,获得大规模扩展带来的收益。
- 优化空间:用 rectified flow 与高阶采样器减少生成步数的研究十分活跃。
局限与未解决的问题
- 文本渲染:在图像中准确画出文字依然棘手。最近有很大改善,但还不完美。
- 组合准确性:像「红色立方体上放一个蓝色球」这样需要准确保持物体、属性、空间关系的组合式提示词,仍然容易出错。
- 手部与解剖结构:手指数量等细节仍然常出错误。
- 评估的困难:FID 之类的指标无法完全捕捉感知质量,可能与人类偏好评价不一致。排名会随基准测试、版本而变化。
- 版权与数据来源:训练数据的版权与风格模仿问题,是技术之外的重大争议点。
实务启示
- 如果提示词忠实度很重要,就需要把 CFG 系数与采样器一起调优。并不是 CFG 越高越好。
- 如果速度很重要,用 rectified flow 系列或高阶采样器减少步数会更有利。
- 要固定特定风格或对象,可以组合 LoRA 之类的轻量微调与条件控制(如结构引导)技巧。
- 选择模型时,与其断言「最新即最好」,不如在目标领域中直接做对比评估更为稳妥。
结语
图像生成 SOTA 的演进趋势,可以概括为「潜在空间 + Transformer 主干 + flow matching」这三个轴。Stable Diffusion 3 系列与 FLUX 系列据了解是结合这些轴的代表性案例。不过,这个领域的排名与具体数值变化非常快,理解概念与架构原理、并在实际领域中亲自验证的态度,才最经得起时间考验。
参考资料
- High-Resolution Image Synthesis with Latent Diffusion Models (arXiv 2112.10752)
- Denoising Diffusion Probabilistic Models (arXiv 2006.11239)
- Denoising Diffusion Implicit Models, DDIM (arXiv 2010.02502)
- Classifier-Free Diffusion Guidance (arXiv 2207.12598)
- Scalable Diffusion Models with Transformers, DiT (arXiv 2212.09748)
- Flow Matching for Generative Modeling (arXiv 2210.02747)
- Learning to Generate Images with Rectified Flow (arXiv 2209.03003)
- Learning Transferable Visual Models From Natural Language Supervision, CLIP (arXiv 2103.00020)
- black-forest-labs/flux (GitHub)
- Hugging Face Diffusers 文档