Skip to content

扩散模型极简:从「满屏噪声」到「一张图」

一、背景

文生图产品(Midjourney、SD、DALL·E)这几年特别火:输入一句话,出一张 构图、光影、风格 都像样图。背后一大类技术是 扩散模型(Diffusion Model)——和 自回归一个个吐 token 的 LLM 不同,图像往往是 高维像素网格,扩散走另一条路:先学怎么给图加噪,再学怎么一步步去噪

做应用的同学不必一开始就啃完全部数学,但懂 「前向加噪 / 反向去噪 / 条件(文本)怎么注入」,读 API参数(步数、CFG、种子)会顺很多;也能和 多模态 LLM 文章里「谁生成图、谁生成文」的分工对上号。

二、核心概念和核心原理(详细解答+通俗解释)

(一)核心概念(先通俗,再详细)

  • 1. 前向过程——把清晰图磨成噪声通俗解释:像一张照片反复 复印失真,最后只剩雪花点;数学上是逐步加高斯噪声,已知 每一步的噪声分布。详细解答:前向是 固定规则,用来 造训练数据对(干净图 ↔ 各步噪声图)。

  • 2. 反向过程——从噪声里「抠」出图通俗解释:模型学 预测这一步该减多少噪声,重复多步,慢慢显出结构。详细解答:采样步数 越多通常越细,但 更慢;少步采样依赖 蒸馏/加速算法

  • 3. 条件生成——文本怎么控制画面通俗解释:把 文本 Embedding 通过 Cross-AttentionClassifier-Free Guidance 注入 U-Net / DiT。详细解答:CFG scale 越大越「贴提示」,太大可能 过饱和、构图僵

(二)核心原理(通俗拆解,一步一步讲清楚)

  1. 第一步:训练目标常是预测噪声通俗解释:网络输入 当前噪声图 + 时间步 t,输出 应去掉的噪声;MSE 拟合。详细解答:Stable Diffusion 类还在 潜空间(latent) 做扩散,降低分辨率维度,省算力

  2. 第二步:采样是迭代去噪通俗解释:从纯噪声出发,for循环 T 次,每次 减一点;不同 调度器(scheduler) 是不同减噪配方。详细解答:随机种子 固定可复现;换种子换多样性。

  3. **第三步:和 GAN、自回归图像的区别(直觉)**通俗解释:GAN 像 对抗博弈 生成;自回归图像 按块/按行生成;扩散 全局逐步细化,结构往往更稳。详细解答:各有优劣,扩散在 可控与质量 上近年占优。

三、补充进阶知识点(易懂不晦涩,适配新手进阶)

  • 1. ControlNet / LoRA通俗解释:ControlNet 加边缘、深度等 条件LoRA 低秩适配 风格/人脸。简单补充:和 LLM 的 LoRA 思想同源

  • 2. 视频扩散通俗解释:时间维 一起建模或 帧间一致性 约束;算力 远高于 单图。简单补充:与 多模态 里的视频理解是 相反方向(生成 vs 理解)。

  • 3. 和之前知识点的关联****注意力 同样存在(U-Net/DiT);Embedding 把文本拉进条件空间;评测FID/CLIP Score 与人类偏好;Agent调用文生图工具 完成 UI 草图。

四、文章知识总结

  1. 背景:扩散 = 加噪再学去噪;文生图主流路线之一。
  2. 核心概念:前向固定、反向学习;条件用 cross-attn / CFG;潜空间扩散省算力。
  3. 核心原理:预测噪声 + 迭代采样;步数、调度器、种子是工程旋钮。
  4. 进阶:ControlNet、LoRA;视频更难;与 LLM 工具链结合。
  5. 核心逻辑扩散不是 LLM,但「条件 + 迭代」直觉可以类比。

总结:把扩散想成 「雕刻」:从一团泥(噪声)慢慢修出形;读 API 文档里的参数时,你会知道 每个旋钮在动哪一步