Multimodal · 面试核心

文生图与扩散模型

从 GAN 到 Diffusion 再到 DiT,图像生成是 multi-modal 面试的高频区。核心问题往往是:扩散模型在「扩散」什么?Stable Diffusion 为什么快?它和 LLM 的自回归有何不同?

01生成模型谱系

GAN

生成器/判别器对抗,出图快但训练不稳、模式易崩塌。

VAE

把图编码到潜空间再解码,可生成但偏模糊。

自回归 (AR)

像 LLM 一样逐像素/分块生成,质量高但慢。

Diffusion ✅

逐步去噪,训练稳、质量高,是当前主流(SD / DALL·E 3 / 即梦)。

02扩散模型在「扩散」什么

扩散模型的训练分两步:前向加噪(把真实图逐步加高斯噪声直到变成纯噪声)与反向去噪(学一个网络,从噪声一步步还原出图)。推理时,从随机噪声出发,重复「预测并去掉一点噪声」,最终得到图像。

训练时:前向加噪(固定,不需学习) 清晰图 纯噪声 逐渐加噪 → 推理时:反向去噪(网络学习的部分,由噪声生成图)

关键直觉:与其「直接学怎么画图」(难),不如「学怎么把噪声擦掉」(简单且处处可定义目标)。

03DDPM 去噪数学

前向过程在时刻 t 的加噪图有闭式解:

x_t = √(ᾱ_t)·x_0 + √(1−ᾱ_t)·ε ,   ε ~ N(0, I)

即 x_t 是「原图信号」与「纯噪声」的加权混合,权重由调度系数 ᾱ_t 控制(t 越大越接近纯噪声)。网络 ε_θ 被训练去预测这一步加进去的噪声 ε,损失就是简单的 MSE:

L = E[ ‖ ε − ε_θ(x_t, t) ‖² ]
为什么可靠:因为 x_t 可由 x_0 和 ε 一步算出来(重参数化技巧),所以训练目标纯净、稳定,不像 GAN 那样需要博弈。这是扩散模型比 GAN 好训的根本原因。

04Stable Diffusion:潜空间扩散

直接在像素上 diffusion 太贵。Stable Diffusion 的巧思是先在潜空间(latent)里扩散:

Stable Diffusion 三件套 VAE Encoder图→潜变量 z UNet在潜空间去噪 VAE Decoderz→图 条件:文本经 CLIP 编码,通过 Cross-Attention 注入 UNet CLIP Text Encoder"a cat in space"
  • VAE 把 512×512 像素压到 64×64 的潜变量,去噪在 1/8 分辨率上做,算力骤降。
  • UNet 是去噪主力,带噪声预测 + 文本交叉注意力。
  • Classifier-Free Guidance (CFG):同时算「带提示」与「空提示」的预测,拉开差距以强化文本贴合度。guidance scale 越大越听话、但越易过饱和。

05条件控制:不只是文字

Text / Image

文生图、图生图(img2img:先加噪再重建)。

ControlNet

冻结原 UNet,外接可训练分支,用边缘/姿态/深度图精确控构图。

LoRA(图像)

用小权重注入特定画风/角色,和 LLM 的 LoRA 思想一致。

06DiT 与加速采样

DiT(Diffusion Transformer)

用 Transformer 替换 UNet 做去噪骨干,Sora、SD3、即梦均基于此,可规模化、质量高。

采样加速

原生 DDPM 要上千步;DDIM、DPM-Solver 等确定性/常微分方程采样器把步数压到 20–50 步,速度数量级提升。

07面试速记卡

扩散 = 学去噪

不直接学生成分布,学「擦掉噪声」;训练目标纯净稳定。

SD 快在潜空间

VAE 压缩 + UNet 在 latent 去噪 + CLIP 文本条件。

CFG

带/不带提示双预测拉开差距,控制「听话程度」。

DiT

用 Transformer 替 UNet,是新一代文生图/视频底座。

关联:图像「理解」见《多模态大模型如何识别图片》,“图文对齐”见《多模态大模型架构 VLM》。