简介:本文梳理图像生成从符号规则到扩散模型的技术演进脉络,解析VAE、GAN与扩散模型的底层机制差异,重点回答“文生图为何在特定阶段定型为跨模态对齐加去噪生成架构”,帮助读者理解各范式的数据流、模块协作与技术边界。
图像生成常被误解为“让模型输出一张图”。从工程视角看,它要解决的核心问题是:在高维像素空间中拟合一个数据分布 p(x),并从中采样出新的、合理的样本。一张 256×256 的 RGB 图像位于 196608 维空间中,而自然图像只占据这个空间中极小的低维流形。模型要做的,是学会这个流形的形状,并能在其上稳定采样。
这个定义决定了图像生成的四个基本难点:
围绕这些难点,历史上出现了几条技术路线。下面按“先讲机制、再讲局限”的顺序逐一拆解。
最早可考的机器作画系统出现在 1960 年代末,其代表思路是符号主义:把画家的认知过程外化为显式规则,由程序按规则驱动绘图设备输出线条与色块。
这类系统的工作流程可以概括为:
用伪代码表示其核心循环:
canvas = empty()while not finished(canvas):rule = select_rule(rule_base, canvas)primitive = instantiate(rule, canvas)canvas = draw(primitive, canvas)
这类系统的本质是知识驱动而非数据驱动:
它证明了一件关键的事:“机器产出视觉作品”和“模型学会图像分布”是两回事。前者可以靠规则工程实现,后者必须依赖从数据中估计概率分布的统计学习机制。这为后续所有生成模型划定了问题边界。
变分自编码器的思路是:用一个编码器把图像映射到低维隐空间,再用一个解码器从隐变量重建图像。由于真实似然不可解,它优化的是可计算的下界(ELBO)。
其数据流为:
x → Encoder → (μ, σ) → 采样 z ~ N(μ, σ²) → Decoder → x'
关键机制在于重参数化技巧:把随机采样写成 z = μ + σ·ε,使梯度可以穿过随机节点回传。这解决了“采样不可导”的问题,但引入了一个结构性缺陷:优化目标中的 KL 项会迫使隐分布接近标准正态,导致重建项被稀释,生成样本偏模糊。
自回归模型把图像按像素或按 token 展开成序列,用链式法则建模联合分布:
p(x) = ∏ p(x_i | x_<i)
它的优势是似然可精确计算、训练稳定。但瓶颈同样明显:
这类方法在文本生成中表现优异,但在高分辨率图像生成上效率与质量难以兼顾。
GAN 放弃了显式似然,改用对抗博弈:生成器 G 把噪声映射为图像,判别器 D 判断图像真伪,二者交替优化。
z ~ N(0, I) → G(z) → 假图真图 x ~ p_dataD 的目标:最大化 log D(x) + log(1 - D(G(z)))G 的目标:最小化 log(1 - D(G(z)))
其优势是样本锐利:因为判别器直接对“真实感”施加梯度,生成器不需要建模整个分布,只需骗过判别器。
从原理上看,GAN 回避了似然建模,却把难度转移到了博弈均衡的求解上,而这个均衡在参数空间中极难稳定到达。
在扩散模型接管之前,AI 画图经历了两个阶段:先会看图(识别),再试图听话画画(条件生成)。
跨模态对齐模型的机制是对比学习:把图像和文本分别编码到同一嵌入空间,拉近匹配对的相似度、推远不匹配对。这样,文本嵌入就成为一个可用的条件信号,可以注入生成模型。
这一步打通了“语言→视觉”的接口,使得文生图从“按类别生成”升级为“按自由文本生成”。
扩散模型把采样拆成多步去噪回归:
前向:x_t = √(α_t)·x_0 + √(1-α_t)·ε反向:从 x_T ~ N(0, I) 出发,逐步预测 ε 并去噪,直到 x_0
其关键机制包括:
一个典型的文生图系统由以下模块协作:
| 模块 | 职责 |
|---|---|
| 文本编码器 | 把提示词编码为条件嵌入 |
| 潜空间编码器 | 把图像压缩到低维潜表示 |
| 去噪网络 | 在潜空间中迭代去噪,注入文本条件 |
| 潜空间解码器 | 把去噪结果还原为像素图像 |
工作流程为:
从规则系统到扩散模型,图像生成的演进本质是问题建模方式的演进:从手写规则,到显式似然,到对抗博弈,再到多步去噪回归。每一步都在回答同一个问题——如何在高维空间中稳定地拟合并采样数据分布。跨模态对齐补齐了条件控制的接口,潜空间扩散补齐了计算可行性与训练稳定性,二者结合,才使文生图在特定阶段定型为“对齐加去噪”的架构。理解这条机制链条,比记住某个模型名字更重要。