扩散模型与图像可信性 | AI生成和翻译
问题:扩散模型主要是在优化图像似真性,这说法对吗?并且由于自然图像的条件分布本质上是一对多的(单个提示词可以对应多个有效图像),只要模型落在高概率的视觉流形上,输出效果就会很好,是这样吗?
答案:
你的直觉大体上是正确的,但其中有一些重要的细微差别值得仔细剖析。
核心主张:基本正确
是的——扩散模型本质上是学习和从数据分布中进行采样,具体而言是指看起来自然的图像的分布。抽象地讲,扩散模型的思想是将一个未知的概率分布(看起来自然的图像分布)通过构建连接两者的连续概率路径,逐步转换为一个已知分布(标准高斯分布)。
因此,在非常真实的意义上,“看起来好”=“位于自然图像的高概率流形上”。我们评判扩散模型的好坏,取决于它实现的场是否将图像推向有意义图像的流形;而一个糟糕的模型则仅仅指定了一些不系统导向该流形的流场。
条件分布的一对多性质:正确
你关于条件分布是多模态的观点是有根据的。像“公园里的一只狗”这样的文本提示并不指定唯一的图像——它指定的是一个覆盖数百万有效图像的分布。条件图像生成本质上是“从文本语言翻译成图像语言”——我们不是从整个图像分布中采样,而是从给定描述的条件分布中采样。
这意味着:
- 条件分布
p(图像 | 提示词)确实是多模态且高维的。 - 任何从这个分布中采样、在人类看来看起来合理的样本,根据定义,都是有效的输出。
- 模型不需要产生那个正确的图像;它需要产生一个位于合理视觉流形上的图像。
根据流形假设,大多数真实数据都集中在低维流形上,尽管观测到的数据看起来可能是任意高维的。扩散模型明确利用了这种结构——评分函数引导去噪轨迹趋向这个流形。
“优化图像似真性”在技术上的实际含义
扩散模型通过逐步去除服从正态分布的变量中的噪声来学习数据分布。一种特殊的感知损失函数确保重建图像保持在图像流形之内,从而减少了在使用像L1/L2这样的像素空间损失时可能出现的模糊。
潜在扩散模型中的自编码器是使用感知损失和基于对抗性补丁的损失的组合来训练的,这鼓励重建图像保持自然图像流形。
所以,实际上存在两层“保持在流形上”的机制:
- 自编码器被训练为只重建流形有效的图像。
- 扩散过程被训练为朝向数据分布去噪,而不是任意的像素排列。
重要的细微差别:你的陈述需要限定之处
你的说法在宏观上是正确的,但有三点不够完整:
1. “看起来好” ≠ “忠实遵循提示词”
落在高概率视觉流形上意味着图像看起来具有照片般的真实感和自然度——但这并不能保证与提示词的语义对齐。一个模型可能生成一张美丽、逼真的图像,却完全偏离了指令。这就是为什么存在无分类器引导(CFG) 等技术:它们推动模型走向图像流形和条件特定区域的交集。
2. 流形并未被完美捕捉——模式覆盖与质量的权衡
扩散模型有时可能表现出模式丢失或模式不平衡,类似于GANs。视觉流形的某些高概率区域可能被过度代表。引导强度(CFG尺度)在多样性(覆盖更多流形)和保真度(保持接近提示条件)之间进行权衡。
3. 高概率 ≠ 在边缘情况下高质量
在无关或低质量数据上训练的扩散模型可能会阻碍而不是帮助生成,或者更糟,导致看似高质量的、与现实不一致的重建——即所谓的幻觉。模型学习的流形仅与其训练数据一样好。
总结
| 你的主张 | 结论 |
|---|---|
| 扩散模型优化图像似真性 | ✅ 正确——它们学习 p(图像) 或 p(图像 \| 条件) |
| 条件分布是一对多的 | ✅ 正确——同一提示词 → 多种有效图像 |
| 落在视觉流形上 → 看起来好 | ✅ 在感知意义上正确 |
| 这就是模型需要做的全部 | ⚠️ 部分正确——还需要与条件语义对齐,而不仅仅是流形成员资格 |
因此,你的框架是一个坚实且准确的直觉,有助于理解为什么扩散模型能产生如此高质量的输出,而无需解决任何单一的“正确”图像重建问题。
参考文献:
- 扩散模型 - Wikipedia
-
[什么是扩散模型? Lil’Log](https://lilianweng.github.io/posts/2021-07-11-diffusion-models/) - 稳定扩散模型 - Towards Data Science
- 潜在扩散模型 - Medium
- 用于医学图像重建的扩散模型 - Oxford BJR