扩散模型原理
扩散模型原理
扩散模型是一类常用于图像生成的模型。Stable Diffusion、Midjourney 等图像生成工具背后都与扩散思想密切相关。它的核心思路可以概括为:先学习如何把噪声还原成清晰数据,再从随机噪声一步步生成新图像。
从“擦掉噪声”理解
想象你有一张清晰照片。现在逐步给它加噪声:第一步有一点颗粒,第二步更模糊,直到最后几乎变成一团随机噪声。
扩散模型训练时会学习反过来的过程:看到一张带噪图片,判断应该去掉哪些噪声,让它更接近原图。训练很多次后,模型就学会了从噪声中恢复图像结构。
生成图片时,模型从一张随机噪声图开始,一步一步去噪,最终得到符合提示词的图片。
正向过程和反向过程
扩散模型包含两个方向:
- 正向扩散:不断往真实图片里加噪声,直到接近纯噪声。
- 反向去噪:训练模型预测噪声,并逐步还原出清晰图片。
真正用于生成的是反向过程。模型不是从空白画布直接画图,而是从噪声中逐步“雕刻”出图像。
提示词如何影响结果
文本生成图像时,模型不仅看噪声,还会参考提示词。提示词描述主体、风格、光线、构图、材质等信息,模型在去噪过程中会让图像逐渐符合这些条件。
例如:
一只橘猫坐在窗边,清晨阳光,柔和光线,写实摄影风格
这个提示会影响主体、场景、光照和风格。如果提示词含糊,结果就更随机。
采样步数和种子
采样步数指去噪迭代多少次。步数太少,图像可能粗糙;步数增加通常会更稳定,但也更慢。到一定程度后,继续增加步数收益会变小。
种子 Seed 控制随机起点。同一个提示词、同一个模型、同一个种子,通常可以复现相近结果。做设计迭代时,固定种子很有用。
扩散模型能做什么
- 文生图;
- 图生图;
- 局部重绘;
- 风格迁移;
- 超分辨率;
- 视频生成中的帧生成或一致性建模。
它适合创意视觉生成,但不适合直接生成需要严格事实准确的图片,例如医学诊断图或法律证据图。
常见问题
扩散模型可能出现手指错误、文字乱码、结构不合理、人物身份不一致等问题。这些问题来自训练数据、模型结构、提示约束和生成随机性。
实际使用时,常结合 ControlNet、LoRA、参考图、后期修复和人工筛选提高稳定性。
小结
扩散模型的关键是“加噪—去噪”。理解这个过程后,你就能明白为什么提示词、采样步数、种子和控制条件会影响生成结果。它是强大的创意工具,但不是事实证明工具。