图像生成
问题
Diffusion 模型的原理是什么?和 GAN 有什么区别?
答案
一、图像生成方法演进
二、Diffusion 模型原理
前向过程:逐步向图像添加噪声,直到变成纯噪声
反向过程:从纯噪声逐步去噪,恢复为图像
Stable Diffusion 架构
文本 → CLIP Text Encoder → 文本特征
↓
噪声 → U-Net(反复去噪) → Latent → VAE Decoder → 图像
关键创新:在潜空间(Latent Space)而非像素空间做去噪,大幅降低计算量。
三、GAN vs Diffusion
| 对比维度 | GAN | Diffusion |
|---|---|---|
| 训练方式 | 生成器 vs 判别器对抗 | 去噪(非对抗) |
| 训练稳定性 | 不稳定(模式坍塌) | 稳定 |
| 生成质量 | 高(特定领域) | 更高(通用) |
| 多样性 | 有模式坍塌风险 | 多样性好 |
| 生成速度 | 快(一次前向) | 慢(需多步去噪) |
| 可控性 | 差 | 好(文本控制) |
四、主流图像生成模型
| 模型 | 提供方 | 特点 |
|---|---|---|
| DALL-E 3 | OpenAI | 文本理解强、集成 ChatGPT |
| Midjourney | Midjourney | 艺术质量高 |
| Stable Diffusion | Stability AI | 开源、可定制 |
| Flux | Black Forest Labs | 开源、质量高 |
常见面试问题
Q1: Stable Diffusion 为什么在潜空间做去噪?
答案:
- 原始图像 512×512×3 = 786K 维度,直接去噪计算量巨大
- VAE 将图像压缩到 64×64×4 的潜空间,维度降低 48 倍
- 在低维潜空间去噪 → 解码回像素空间
- 质量损失很小,但训练和推理速度大幅提升
Q2: 如何控制图像生成的结果?
答案:
- 文本 Prompt:通过自然语言描述控制内容
- 负面 Prompt:描述不想出现的内容
- ControlNet:用边缘图/姿态图/深度图精确控制构图
- LoRA:针对特定风格/人物微调
- Inpainting:指定区域重新生成