🎨 第5次课 · AI 绘图原理 · Stable Diffusion
已点亮 0/7
AIGC 应用与实践 · 第 5 次课 · 动画闯关

一张图,是怎么从噪声里「长」出来的?

Stable Diffusion 不检索、不拼贴——它先学会加噪,再学会去噪:VAE 压缩装箱、CLIP 翻译提示词、U-Net 主笔去噪、CFG 拧音量、LoRA 与 ControlNet 助攻。跟着 7 个动画关卡走完一张图的诞生全程!

M1

扩散模型:先学会加噪,再学会去噪

一张图里有轮廓、纹理、光影、空间关系,直接凭空输出所有像素太难了。换个思路:让模型先学会处理「坏掉的图」。下面这幅风景画,现在交给噪声审判。

🌫️ 前向加噪 × 反向去噪 实验台

拖动滑块给画面加噪(前向过程,训练时发生);或点「播放完整循环」看一次「清晰 → 纯噪声 → 一步步复原」的全过程(反向生成,出图时发生)。噪声不是贴纸,看仔细每一步模型在恢复什么。

扩散模型演示:天空、太阳、房子和树组成的风景画,随时间步 t 增大逐渐被噪声淹没,随反向去噪逐步恢复。 时间步 t = 0 / 100
t = 0
📷 清晰原图:模型训练的起点

📌 一句锚点:扩散模型先学会给图加噪,再学会从噪声中一步步去噪生成图。种子决定初始噪声——相同种子 + 相同模型和参数,更容易复现相似结果。

易错点预警:扩散 ≠ 修复旧照片
  • 去噪不是「把脏图还原成原始照片」——它是从随机噪声在学到的分布里采样出新图,不保证符合现实。
  • 模型学的是训练分布,可能复制训练数据中的偏差
  • 步数少会粗糙;步数多也不一定持续变好,可能增加耗时甚至过度锐化。
  • 「能生成」≠「可发布」:还要过提示词、模型权重和安全过滤器这几关。
📱 学习通课后完成【M1-01】识别扩散闭环、【M1-02】判断生成与修复边界。

📚 证据锚点:Ho, Jain & Abbeel, 2020 提出 DDPM,用神经网络预测噪声,把扩散模型的质量与稳定性推到重要水平,CIFAR10 上 Inception Score 达 2.90——arXiv:2006.11239

M2

VAE 潜在空间:先把图「装箱」再计算

512×512 的 RGB 图有近 79 万个像素值,每一步都在像素空间去噪,普通显卡会哭。Stable Diffusion 的答案是:先压缩,在「小箱子」里扩散,最后再拆箱。

🧳 装箱三步演示

依次点击三个按钮,完整走一遍潜在扩散的数据旅程。注意看数值变化和中间的紫色小格子。

🖼️ 像素空间

512 × 512 × 3 通道

786,432 个数值

🧳 潜在空间

约 64 × 64 latent

约 16,384 个数值

就绪:等一张 512×512 的图进门。

🔍 细看拆箱结果:压缩不是无损复制——细小纹理、手部、文字和复杂边缘可能出现误差,这就是「压皱的细节」。

📌 一句锚点:VAE 先把图压进潜在空间,扩散在那里算完,再解码成像素图。潜在空间不是「模糊的小图」,而是模型表示结构的特征空间。

易错点预警:latent 不是缩略图,VAE 不是万能
  • 潜在空间是人眼不可读的特征空间,别把它当成小尺寸图片。
  • VAE 不保证文字、手部、微小纹理完全准确——常见「崩手崩字」重灾区。
  • 不同模型家族的 VAE 可能不通用:混用基础模型、VAE 和 LoRA 会出现颜色偏移、噪点或结构崩坏。
📱 学习通课后完成【M2-01】匹配 VAE 角色、【M2-02】判断潜在扩散收益与代价、【M2-03】解释压缩损失。

📚 证据锚点:Rombach 等人 2022 年提出 Latent Diffusion Models,把扩散搬进潜在空间、用交叉注意力引入文本条件,在保持质量的同时大幅降低计算需求,Stable Diffusion 正是基于这一路线——arXiv:2112.10752

M3

CLIP 翻译官:把你的话变成画师的路线单

计算机看不见公园、狗和奔跑。文字必须变成「可计算、且与图像语义对齐」的向量,U-Net 才知道画什么、强调什么。

🗣️ 选一句提示词,看它怎么被编码

每个词会被切成 token,编码成一组连续向量。条的长度 ≈ 这股语义在嵌入里的分量。

📌 一句锚点:CLIP 把提示词转成图文对齐的向量,供 U-Net 在去噪时理解画什么。CLIP 用 4 亿图文对训练,ImageNet 零样本分类 Top-1 达 76.2%——图文对齐是它的看家本领。

易错点预警:CLIP 不是全知翻译官
  • 长句中的数量、空间关系、否定和代词经常不稳定:「不是猫」可能真画只猫。
  • 「CLIP 只支持英文」不是绝对规律——取决于具体模型的训练和分词器;SD 1.x 偏英文,新模型多已支持多语言。
  • 提示词超过编码器上下文长度会被截断,写在后面的内容可能失去影响。
  • 括号、权重不是魔法咒语:最终仍依赖训练分布和文本嵌入。
📱 学习通课后完成【M3-01】匹配 CLIP 作用、【M3-02】判断语言支持边界。

📚 证据锚点:Radford 等人 2021 年训练 CLIP 使用 4 亿图文对,零样本 ImageNet Top-1 76.2%——arXiv:2103.00020

M4

U-Net 主笔师:反复去噪,但步数不是越多越好

U-Net 长得像个字母 U:下采样看整体、上采样补细节,skip connection 把浅层细节直接递给重建路径。每个采样步只做一次「小幅去噪更新」——那步数到底选多少?

🖌️ U-Net 工作台

U 形网络:左侧三个下采样块逐级提取大尺度结构,底部为瓶颈层,右侧三个上采样块恢复分辨率;三条虚线为 skip connection,把浅层细节传给深层;黄色节点表示交叉注意力接收 CLIP 文本向量。 瓶颈 bottleneck 输出 skip connection:细节直达重建路径 CA 交叉注意力:CLIP 向量从这里进入 下采样:看整体结构 上采样:补细节

⏱️ 采样步数实验

选一个步数,点「开始生成」,看这个步数下出图的节奏与质量评价(动画模拟去噪循环)。

就绪:选择步数后开始生成。

出师小考:「采样步数越多,生成质量一定越好?」

📌 一句锚点:U-Net 根据时间步预测噪声,skip connection 帮它边去噪边保细节。高噪声步定构图和大色块,低噪声步管边缘、纹理和细节。

易错点预警:U-Net 不是唯一答案,步数没有万能值
  • U-Net 不是 SD 独有魔法,也不是唯一去噪结构——新模型已有 Transformer、DiT 路线。
  • 步数要按模型和 sampler 实测,不能死记「50 一定最好」;更多步存在边际收益递减,某些模型颜色偏重或过度锐化。
  • 采样器、CFG、种子、模型版本共同影响结果,只改步数救不了写错的提示词。
📱 学习通课后完成【M4-01】识别 U-Net 任务、【M4-02】判断输入与结构作用、【M4-03】选择采样步数策略。

📚 证据锚点:U-Net(Ronneberger et al., 2015, arXiv:1505.04597)提出收缩+扩张路径与 skip connection,后被 DDPM 用作噪声预测网络,奠定现代扩散模型结构基础。

M5

CFG 音量旋钮:听话程度与自然程度的跷跷板

同一个 prompt 对应无数张可能的图。CFG 在采样时比较「有文本引导」和「弱文本引导」的预测差值并放大——拧小了不听话,拧大了画面僵。不想要的东西,交给负面提示词推开。

🎛️ 拧一拧 CFG

最终方向 = 弱条件方向 + 强度 ×(正向条件方向 − 弱条件方向)。拖动滑块,看贴合度与自然度此消彼长,并体验四个区间。

CFG 7
文本贴合度
自然度 / 多样性
⚖ 甜蜜区:贴合描述又保持自然

大多数 WebUI 的常见范围在 5–8,必须结合模型和 sampler 实测。

🚫 负面提示词上岗考核

下面 6 个候选词,勾选适合写进负面提示词的(描述明确不想要的属性),别勾不该去的,然后提交。

📌 一句锚点:CFG 放大正向方向,负面提示词推开不想要的方向,强度都要适中。负面提示词不是安全过滤器,替代不了版权、内容安全和平台审核。

易错点预警:旋钮与排除清单的误区
  • CFG 不是越高越准:过高牺牲自然度和多样性,出现高饱和、硬边、肢体错误。
  • 负面提示词修不了错误的主体、错误的模型或混乱的 prompt
  • 把「masterpiece」当高质量保证、把互相冲突的长串负面词堆一起,结果只会更难解释。
  • 不同基础模型、LoRA、sampler 对 CFG 敏感度不同——换配置就要重测。
📱 学习通课后完成【M5-01】解释 CFG 机制、【M5-02】判断 CFG 高低影响、【M5-03】选择负面提示词、【M5-04】纠正参数误区。

📚 证据锚点:Ho & Salimans, 2022 提出 Classifier-Free Diffusion Guidance,训练时随机丢弃条件,采样时用预测差值放大条件影响,ImageNet 128×128 上把 1.79 提升到 3.93——arXiv:2207.12598

M6

助攻组选人:LoRA 管长得像,ControlNet 管站哪里

LoRA 是主厨的风格手册(低秩适配层,文件小、可切换);ControlNet 是画师手里的骨架稿(线稿、深度、OpenPose 注入扩散过程)。8 个真实需求,你来选人。

🧩 需求诊所(允许错 1 题)

📌 一句锚点:LoRA 小成本学风格和角色,ControlNet 用线稿、姿态和深度控制构图。LoRA 依赖匹配的基础模型;ControlNet 控制强度和预处理阈值也要调,不是上传参考图就一定复刻得好。

易错点预警:助攻不是主角
  • LoRA 不能脱离匹配的基础模型单独生图;风格标签写得多 ≠ 训练到位。
  • LoRA 权重过低可能无效,过高可能破坏画面;换基础模型或版本必须重新测试。
  • ControlNet 的控制强度、预处理阈值需要调试;不保证完美复刻参考图。
  • 人像、版权素材和真人风格有法律与伦理风险,商用前确认授权和平台规则。
📱 学习通课后完成【M6-01】识别 LoRA 机制、【M6-02】判断 LoRA 边界、【M6-03】匹配 ControlNet 条件、【M6-04】选择控图方法。

📚 证据锚点:LoRA(Hu et al., 2021, arXiv:2106.09685)冻结原权重、只训练低秩适配器,大幅降低参数量与部署负担;ControlNet(Zhang, Rao & Agrawala, 2023, arXiv:2302.05543)把线稿、深度、姿态等视觉条件加入预训练扩散模型。

终局

终局闪卡:6 张牌验收你的本节课

先自己说答案,再翻面对照。6 张全部翻过,点亮最后一颗星。

📦 课后作业卡

【作业-01】LiblibAI(哩布哩布AI)参数对照实验(截止:下节课前一天 22:00)

🎉 7 关全部点亮!从噪声到成图的全链路你已经打通了。别忘了:学习通练习 + LiblibAI 三组对照实验,下节课见!