本文是基于 jerryrzeng 同学的 PPT,并与 Gemini 3 对话探讨的总结(经过 Gemini 2.5 pro 的润色),本人在学习这个 PPT 之前对 Diffusion Model 的认知基本为 0 。与 Gemini 的对话链接可以查看: Gemini 学习辅导:Diffusion Model 原理与推导 。
引言:在“雪花”噪声中预见“创世”的蓝图
在人工智能生成内容(AIGC)的浪潮之巅,Diffusion Model(扩散模型)无疑是那颗最耀眼的星。它如同一位数字时代的艺术家,能从一片纯粹的随机噪声(如同电视雪花屏)中,逐步“雕刻”出梵高风格的星空、写实风格的人像,甚至是充满奇幻色彩的“宇航员在海洋中骑着骏马”的超现实画作。对于任何一位探索人工智能前沿的技术人而言,理解 Diffusion Model 不再是“加分项”,而是通往未来 AIGC 世界的“必修课”。
本文旨在为你构建一个关于 Diffusion Model 的完整知识框架。我们将不仅仅满足于知晓“它是什么”,更会深入探索“它为什么这样设计”。这篇文章将是一次穿越“噪声”的深度旅行,沿途我们将:
- 建立核心直觉: 借助物理学中的熵增与熵减定律,理解模型“破坏”与“重建”图像的核心循环。
- 解构核心架构: 像拆解精密机械一样,剖析 Stable Diffusion 等主流模型背后的“创作铁三角”——Latent Space、U-Net 与 Text Encoder,理解它们如何各司其职,协同创作。
- 揭秘采样魔法: 深入探讨采样过程中的随机性与确定性,理解不同的采样策略(SDE vs. ODE)如何像“震动的雕刻刀”与“光滑的刮刀”一样,影响最终画面的纹理与质感。
- 掌握控制法门: 探究时间步编码、Classifier-Free Guidance (CFG) 和 Negative Prompt 等技术,理解我们如何通过数学工具,精确地“引导”和“约束”模型的创作过程,让它从“听懂人话”到“心领神会”。
这趟旅程将融合直观生动的比喻与严谨的数学推导,无论你是刚入门的研究生,还是希望系统化知识的从业者,相信都能在这里找到属于你的那份豁然开朗。现在,让我们从那张最经典的“猫”图开始,步入这个从混沌到秩序的创世之旅。
第一部分:核心直觉——熵增与熵减的物理之舞
理解 Diffusion Model 的第一步,是接纳一种“先破坏,后重建”的哲学。这个过程与物理世界中的一个基本定律——热力学第二定律,有着惊人的相似性。
1.1 宏观流程:Forward Process 与 Reverse Process
一切都始于一个简单而优雅的对称过程:
-
Forward Process (前向过程 / 扩散过程):这是一个主动引入混乱、走向无序的 熵增 过程。我们从一张清晰、信息丰富的真实图像(,例如一张猫的照片)开始,通过一系列微小的步骤(通常是 1000 步),在每一步都向图像中添加少量的高斯噪声。随着步数 从 0 增加到 , 越来越模糊,信息量不断减少。当 时,图像 已经完全变成了一片纯粹的、毫无信息量的高斯噪声,其分布我们已知,即标准正态分布 。
这个过程是固定的、无需学习的。它就像将一滴墨水滴入清水中,看着它逐渐扩散,最终均匀地分布在整杯水中。这个过程的轨迹是确定的,由一个预设的方差调度表(Variance Schedule) 控制每一步添加噪声的“量”。
-
Reverse Process (逆向过程 / 去噪过程):这是模型的真正使命所在,一个对抗混乱、恢复秩序的 熵减 过程。模型从一张纯粹的随机噪声图像 开始,一步步地“倒带”,尝试预测并去除在 Forward Process 中每一步加入的噪声。它需要在每一步 (从 到 1)都精准地估计出应该从当前图像 中减去哪个噪声分量,从而得到一个更清晰的“前一刻”的图像 。最终,在 时,我们期望得到一张清晰、真实、且符合我们期望的全新图像。
这个过程是需要模型去学习的。它就像是拥有了让墨水从水中分离出来、重新凝聚成一滴的“魔法”。而这个“魔法”的核心,就是我们接下来要讨论的噪声预测器。
这个对称的设计是 Diffusion Model 的基石。Forward Process 提供了一个从“真实数据”到“已知噪声分布”的桥梁,从而为 Reverse Process 的学习提供了无穷无尽的、(图片,噪声)配对形式的训练数据。
1.2 核心任务:为何预测噪声,而非图像本身?
在逆向过程中,模型的目标是从 恢复出 。一个非常自然的想法是:为什么不让模型直接预测更清晰的图像 ,或者干脆一步到位预测出最终的 呢?然而,几乎所有的主流 Diffusion Model 都选择了一条看似“绕远”的路:预测噪声。
这是一个至关重要的设计抉择,其背后蕴含着深刻的数学智慧和工程考量。
-
直觉比喻:雕刻师的启示 想象一位雕刻师面对一块大理石。如果让他直接想象出最终成品的“完美形态”,这无疑是极其困难的,需要巨大的想象力和全局把控能力。但如果换一种方式,问他:“在这块石头上,哪些部分是多余的、需要被凿掉的?” 这个问题就变得具体和局部化了,也更容易操作。
同理,让神经网络在充满噪声的图像 中直接预测一个干净的 ,相当于要求它“凭空想象”。而预测噪声 (在第 步加入的噪声),则是让它专注于识别并分离出当前图像中的“冗余部分”。这是一个定义更明确、难度更低的学习目标。
-
数学稳定性与目标空间的约束 从数学角度看,这个选择的优势更加明显。
- 目标分布已知:我们添加到图像中的噪声 是从标准正态分布 中采样的。这意味着模型的预测目标 是一个良态的(well-behaved)、零均值、单位方差的分布。无论在哪一个时间步 ,无论输入的 形态如何,模型需要输出的“正确答案”都遵循同一个已知的、结构简单的分布。这为模型的训练提供了一个极其稳定和可靠的锚点。
- 避免误差累积:相反,如果模型直接预测图像 ,那么预测目标的分布会非常复杂,且在不同的时间步 之间剧烈变化。在去噪的早期阶段( 很大, 接近纯噪声),让模型直接生成一张结构合理的图像,几乎是不可能的。微小的预测误差会在长达 1000 步的迭代过程中被不断放大和累积,导致最终结果的“崩坏”。而预测噪声,由于其目标空间的统一性,使得模型在每一步都能专注于一个相似的任务,从而大大减轻了误差累积的问题。
-
损失函数的简洁性 当模型 的任务是预测噪声时,我们的训练目标变得异常简单和优雅。对于一个随机选择的训练样本 、一个随机的时间步 和一个随机采样的噪声 ,我们可以通过 Forward Process 计算出带噪图像 。然后,我们让模型去预测这个噪声,并计算其预测值 与真实噪声 之间的差异。
最常用的损失函数就是它们之间的 均方误差 (Mean Squared Error, MSE):
这个损失函数直观地表达了模型的任务:在给定的时间步 和当前的带噪图像 条件下,请你猜出我们当初为了得到这张图而加入的那个噪声 究竟是什么。
模型的全部训练过程,就是为了最小化这个简单的损失函数。通过海量的(图片,时间步,噪声)三元组训练,模型最终学会了在任何噪声水平下,都能精准地识别出图像中的噪声成分。
至此,我们已经建立了 Diffusion Model 的核心直觉。它通过一个可控的“加噪”过程创造训练数据,然后训练一个强大的“去噪”网络来逆转这个过程。而这个逆转的关键,不在于直接恢复图像,而在于巧妙地预测噪声。
接下来,我们将深入模型的内部,看看这个“魔法”究竟是由哪些精密的“零件”协同完成的。
第二部分:架构的艺术——解构 Stable Diffusion 的“创作铁三角”
如果说第一部分我们理解了 Diffusion Model 的“灵魂”,那么现在我们将深入其“肉体”——具体的模型架构。以 Stable Diffusion(其核心是 Latent Diffusion Model)为代表的现代扩散模型,其巨大的成功并非源于单一组件的突破,而是一个设计精巧、分工明确的“铁三角”系统。
这三个核心组件分别是:
- 潜空间 (Latent Space) 的“压缩与解压”模块:由一个自编码器(Autoencoder)构成,负责将高维像素空间压缩到低维潜空间,极大提升了计算效率。
- U-Net 噪声预测器:真正执行核心去噪任务的“画师”。
- Text Encoder 文本编码器:负责将我们的文字指令(Prompt)翻译成模型能理解的数学语言,是实现“文生图”的关键“翻译官”。
2.1 潜空间 (Latent Space):达芬奇的“便签纸”
早期的扩散模型(如 DDPM)直接在原始的像素空间(Pixel Space)上进行加噪和去噪。一张 像素的彩色图片,其数据维度高达 。在如此高维的空间中进行上千步的迭代计算,其计算成本是极其高昂的,这也是为什么早期模型生成图片的速度很慢,且分辨率受限。
Latent Diffusion Model 提出一个革命性的想法:我们真的有必要在如此庞大的空间里作画吗?
-
计算效率的比喻:壁画 vs. 便签纸 在像素空间上直接进行扩散,就像是在宏伟的教堂穹顶上绘制巨幅壁画。每一个像素点的调整都牵一发而动全身,工程浩大且耗时。 而 Latent Diffusion 的策略是,先不画壁画,而是拿出一张小小的“便签纸”(Latent Space),在这张便签纸上完成核心的构图和创作,最后再用一个“投影仪”将便签纸上的画放大并渲染到墙壁上。显然,在便签纸上作画要快得多。
-
VAE 的角色:信息“抓大放小”的艺术 这个“便签纸”和“投影仪”就是 变分自编码器 (Variational Autoencoder, VAE)。
- Encoder (编码器):它扮演着“信息压缩机”的角色。当你给它一张高清的 图像时,它会将其编码(压缩)成一个尺寸小得多的特征图,比如 。这个过程并非简单的等比例缩放,而是一次深刻的“信息提纯”。Encoder 学会了保留图像中最重要的 语义信息(Semantic Information),即那些决定了“这是一只猫”、“它正趴在沙发上”的宏观结构和核心特征。这些信息通常对应图像的 低频信号。同时,它会有选择性地“丢弃”那些人眼不敏感的、细枝末节的 高频细节(如皮肤上微小的纹理、背景墙壁上难以察觉的噪点)。
- Decoder (解码器):它扮演着“细节脑补师”的角色。当核心的扩散过程在 Latent Space 中完成后,我们得到了一个去噪后的、干净的潜空间表征(latent representation)。此时,Decoder 登场,将这个小尺寸的特征图解码(恢复)回高分辨率的 像素图像。由于 Encoder 在压缩时丢弃了部分高频信息,Decoder 需要利用它在训练中学到的知识,“脑补”出那些丢失的细节,为图像添加丰富的纹理、光泽和真实感。
通过将整个扩散过程从像素空间转移到计算量指数级下降的潜空间,Stable Diffusion 实现了在消费级显卡上快速生成高分辨率图像的壮举,这是其能够大规模普及的关键一步。
2.2 U-Net:技艺高超的“画师”
现在我们来到了“铁三角”的核心——U-Net,它就是那个在潜空间这张“便签纸”上挥洒创意的“画师”。它的任务,正如我们第一部分所说,是在每一步 预测出潜空间表征 中所含的噪声 。
U-Net 的架构天生就适合图像到图像的转换任务(如去噪)。其标志性的 对称编码器-解码器结构 和 跳跃连接 (Skip Connections) 是其成功的关键:
- 编码器部分(下采样):像 VAE 的 Encoder 一样,U-Net 的编码器路径通过一系列卷积和池化操作,逐步提取图像的特征,并将特征图的尺寸变小。这个过程让模型能够捕捉从局部到全局的多尺度特征,理解图像的宏观内容。
- 解码器部分(上采样):解码器路径则相反,通过上采样和卷积操作,逐步将浓缩的特征恢复到原始尺寸。
- 跳跃连接:这是 U-Net 的点睛之笔。它在编码器和解码器之间架起了“桥梁”,将编码器在不同层级提取的低级特征(如边缘、纹理)直接传递给解码器对应的层级。这极大地缓解了下采样过程中造成的信息损失,使得解码器在重建图像时,既能利用高级语义信息(来自最底层的 bottleneck),又能参考精确的低级空间信息,从而生成细节清晰、结构准确的输出。
然而,仅仅是一个优秀的去噪器还不足以实现“文生图”。U-Net 还需要一种机制,来“听懂”我们的文字指令。这就是 Cross-Attention (交叉注意力) 机制发挥作用的地方。
-
Cross-Attention:图像与文本的“对话” 在 U-Net 的多个层级中,都嵌入了 Cross-Attention 模块。这个机制允许图像特征和文本特征进行深度的信息交互。我们可以将其想象成一场持续的“问答”:
- Q (Query - 查询):来自 图像特征。在 U-Net 的某个位置,图像特征会“发问”:“我这个空间位置,对应着图像的某个区域,根据我已经有的信息,我应该在这里画些什么内容?”
- K (Key - 键) & V (Value - 值):均来自 文本特征(由 Text Encoder 生成)。文本 Prompt “一只猫在雪地里”被编码后,其中“雪地”这个词的特征向量,就扮演着 Key 和 Value 的角色。它会“回答”:“我这里有关‘雪地’的信息,你可以参考。”
注意力机制会计算 Query(图像的某个区域)与所有 Keys(文本中的每个词)之间的相似度。如果某个区域与“雪地”这个词的 Key 高度相关,那么该区域就会获得一个高权重,并从“雪地”的 Value 中“借用”更多的信息来指导自己的生成。
通过在 U-Net 的不同层级反复进行这种“对话”,模型得以将文本描述的抽象概念,精确地落实到图像生成的具体空间位置和细节上。
2.3 Text Encoder:博学的“翻译官”
如果说 U-Net 是画师,那么 Text Encoder 就是那个将客户(我们)的需求,精准翻译给画师的“翻译官”。它的作用远比简单的“分词”要深刻得多。以 Stable Diffusion 中常用的 CLIP (Contrastive Language–Image Pre-training) 模型为例,它的强大之处在于构建了一个 联合多模态嵌入空间 (Joint Multimodal Embedding Space)。
-
超越“字典”的理解 一个简单的 Tokenizer 只能将单词映射到一个固定的 ID,它无法理解“国王”和“女王”在语义上的接近,也无法理解“宇航员”和“骑马”这两个看似无关的概念可以被组合。 而 CLIP 通过在海量的(图片,文字描述)对上进行对比学习,成功地将文本和图像编码到了同一个高维向量空间中。在这个空间里:
- 语义相近的文本和图像,它们的向量在空间中的位置也相互靠近。例如,“狗的照片”这段文字的向量,会非常接近一张真实狗的图片的向量。
- 模型获得了强大的 零样本泛化 (Zero-shot Generalization) 能力。即使训练数据中从未出现过“宇航员骑马”的图片,但因为它分别学习过“宇航员”和“骑马”的概念,它能够在这个嵌入空间中,通过向量运算,理解这个前所未见的组合的语义,并指导 U-Net 将其绘制出来。
-
语义准确性的基石 Text Encoder 的“学识”水平,直接决定了生成图像的 语义准确性 和 想象力 的上限。一个更强大的文本编码器,能更细致地理解复杂的语法、抽象的概念和微妙的情感,从而引导生成更加贴合 Prompt 的、富有创造力的图像。衡量生成图像与文本匹配程度的指标——CLIP Score,其本质就是在用 CLIP 这个“考官”来评判生成结果的质量。
总结一下,Stable Diffusion 的“铁三角”架构是一个高效协作的系统:
- VAE 搭建了高效的“创作舞台”(Latent Space)。
- Text Encoder 深刻理解了“剧本”(Prompt)。
- U-Net 作为“主演”,在这个舞台上,根据剧本,上演了一出从噪声到图像的精彩“戏剧”。
理解了这个宏观架构,我们下一步将深入到 Reverse Process 的核心——采样,看看模型是如何一步步施展“魔法”,将噪声变为画作的。
第三部分:采样的魔法——在随机性与确定性之间雕刻细节
我们已经知道,逆向过程是从纯噪声 出发,一步步去噪,最终得到 。这个“一步步”的过程,就是 采样 (Sampling)。选择不同的采样算法(Sampler),会极大地影响生成图片的速度和风格。这背后,其实是 随机微分方程 (SDE) 和 常微分方程 (ODE) 两种数学思想的博弈。
3.1 采样的数学本质:贝叶斯定理的指引
在 DDPM 论文中,给出了一个看似复杂的采样公式,用于从 和模型预测的噪声 中计算出 :
其中 都是由预设的方差调度表 计算出的常数, 是一个标准正态分布的随机噪声。
这个公式看上去像“天外飞仙”,但它的根基是坚实的概率论——贝叶斯定理。我们实际上是在求解后验概率分布 。虽然在采样时我们并不知道真实的 ,但我们可以用模型预测的“估计版” (即 )来近似。整个公式的核心思想可以被“翻译”为:
“根据我们当前观察到的、有点模糊的图像 ,以及我们猜出来的导致这种模糊的噪声 ,我们可以推断出上一时刻那张更清晰的图像 的均值和方差应该是多少。”
公式的前半部分就是在计算这个后验分布的 均值 (mean),它指明了 的“最可能”的状态。而公式末尾的随机项 则代表了这个后验分布的 方差 (variance),它为采样过程注入了随机性。
正是这个小小的随机项,成为了区分不同采样器哲学流派的分水岭。
3.2 SDE vs. ODE:“震动的雕刻刀”与“光滑的刮刀”
这是整个 Diffusion Model 中最令人着迷的辨析之一。末尾的随机项 到底有什么用?要不要保留它?
-
SDE (随机微分方程) Samplers: “震动的雕刻刀” 保留了随机项的采样方法(如 DDPM、DDIM 中 的情况,以及各种 SDE-based samplers),其背后的哲学是,每一步去噪都不是一个完全确定的过程。
-
比喻:想象一位雕刻师在使用一把 高频震动的雕刻刀。在从粗糙的石块中雕刻人形的每一步,刀锋不仅会切除掉预定的石屑(对应减去预测的噪声),其自身的震动也会在切面上引入微小的、随机的刻痕(对应注入新的随机噪声 )。雕刻师(模型)必须在下一步中,不仅要继续切除大的石块,还要处理并“解释”这些新产生的随机刻痕,将它们融入到最终的纹理中。
-
结果:这种持续的“破坏-重建”循环,强迫模型在去噪的每一步都保持“警觉”,去主动地创造和重构细节。其结果是,SDE 采样器往往能生成 纹理更丰富、细节更生动、更具真实感 的图像。发丝的飘逸、皮肤的毛孔、布料的质感,这些高频细节往往诞生于这个充满随机性的过程中。
-
代价:随机性的引入也意味着结果的不可预测性。同样的初始噪声,两次 SDE 采样过程会得到不完全相同的结果。同时,这种随机探索也可能让模型“钻牛角尖”,在某些细节上过度刻画,产生一些不自然的伪影 (artifacts)。
-
-
ODE (常微分方程) Samplers: “光滑的刮刀” 如果我们去掉随机项(即令 ),那么采样过程就变成了一个完全确定的过程。给定一个初始噪声 ,其通往最终图像 的路径是唯一确定的。DDIM(Denoising Diffusion Implicit Models)是这类采样器的典型代表。
-
比喻:这就像雕刻师换用了一把 极其光滑、毫无震动的刮刀。每一步操作都精准无误地移除掉一层“噪声”,整个过程如同坐滑滑梯一样,沿着一条平滑、确定的轨迹下降到最终形态。
-
结果:
- 速度极快:由于轨迹是确定的,我们不再需要亦步亦趋地走完 1000 步。我们可以“跳步”前进,比如只采样 20 步,从 直接跳到 ,再到 … 依然能得到一个相当不错的结果。这就是为什么 DDIM 等 ODE 采样器能将生成速度提升数十倍的原因。
- 结果确定:同样的初始噪声,无论采样多少次,结果都完全相同,这对于需要结果可复现的应用场景非常重要。
- 平滑的代价:然而,这种平滑的路径也意味着失去了随机性带来的“创造力”。生成的图像往往在细节上略显逊色,可能会过于平滑,缺乏生动的高频纹理,带有一种“塑料感”或“过度磨皮感”。
-
-
如何选择? SDE 和 ODE 采样器没有绝对的优劣,只有不同的取舍:
- 追求 最高质量和最丰富细节,不介意耗时和结果的微小随机性?选择 SDE 类型的采样器(如
Euler a,DPM++ 2M SDE Karras)。 - 追求 极快的生成速度 和 结果的确定性,且能接受细节上的一点妥协?选择 ODE 类型的采样器(如
DDIM,Euler,DPM++ 2M Karras)。
- 追求 最高质量和最丰富细节,不介意耗时和结果的微小随机性?选择 SDE 类型的采样器(如
理解了 SDE 与 ODE 的区别,就等于掌握了在生成质量、速度和风格之间进行权衡的“遥控器”。
第四部分:控制与精炼——从“听懂人话”到“追求卓越”
到目前为止,我们的模型已经具备了生成图像的基本能力。但要成为一个真正强大的创作工具,它还需要更精细的控制手段,以及在最后阶段“画龙点睛”的能力。
4.1 位置编码 (Positional Encoding):画师的“注意力调节器”
一个容易被忽略但至关重要的问题是:U-Net 如何知道当前是处于去噪的早期阶段(如 ),还是晚期阶段(如 )?毕竟,在不同的阶段,它的任务重点是截然不同的:
- 早期 ( 很大):输入是一片混沌,此时的首要任务是建立图像的 宏观结构和主体轮廓。
- 晚期 ( 很小):图像结构已基本确定,此时的任务是精修 局部细节和纹理。
模型需要一个“进度条”来感知自己所处的阶段,这个“进度条”就是 时间步编码 (Timestep Embedding)。
我们不能直接将整数 (如 999)输入到神经网络中,因为神经网络对这种离散且尺度变化巨大的输入不敏感。解决方案借鉴了 Transformer 中的位置编码思想,使用 正弦位置编码 (Sinusoidal Positional Encoding)。
通过一系列不同频率的 sin 和 cos 函数,我们将离散的整数 映射成一个高维的、连续的向量。这个向量被注入到 U-Net 的各个残差块中。
- 比喻:收音机的均衡器
这个时间步编码向量,就像是调节 U-Net 这台“高级收音机”的“频率均衡器”:
- 当 很大时,编码向量会“调高”U-Net 内部那些负责处理 低频信号(轮廓、布局)的神经元的“音量”,让模型专注于画出大概的样子。
- 当 很小时,编码向量则会“调高”那些负责处理 高频信号(纹理、细节)的神经元的“音量”,让模型开始精雕细琢。
通过这种方式,时间步编码给了 U-Net 一个动态的“上下文”,使其能够在正确的时间,做正确的事。
4.2 CFG 与负向提示词:向量空间中的“引导”与“排斥”
我们希望模型严格听从我们的 Prompt,但模型的“创造力”有时会让它“自由发挥”,生成一些与 Prompt 相关但不够贴切的内容。Classifier-Free Guidance (CFG) 是一种强大的技术,用于增强 Prompt 对生成过程的控制力。
-
CFG 的数学本质:向量的减法 CFG 的核心思想非常巧妙。在每一步去噪时,我们让模型计算两次噪声预测:
- 有条件预测 (Conditional Prediction) :在我们的 Prompt 的指导下进行预测。
- 无条件预测 (Unconditional Prediction) :在没有任何指导(通常是一个空的或通用的 Prompt)的情况下进行预测。这个结果代表了模型“自由创作”时,最可能生成的“平庸/通用”内容。
然后,我们通过一个简单的向量运算,得到最终的引导方向:
\hat{\epsilon}_\theta = \epsilon_\theta(x_t, t, c_{empty}) + w \cdot (\epsilon_\theta(x_t, t, c_{prompt}) - \epsilon_\theta(x_t, t, c_{empty}))$$ - 向量 $(\epsilon_\theta(x_t, t, c_{prompt}) - \epsilon_\theta(x_t, t, c_{empty}))$ 代表了 **纯粹由我们的 Prompt 带来的“修正方向”**。它从有条件的预测中,“减去”了那些通用的、与我们指令无关的特征。 - **CFG Scale ($w$ 或 $\gamma$)** 是一个超参数,它像一个“放大器”或“杠杆”。 - $w=1$:我们只使用有条件预测,模型有较大的自由度。 - $w>1$:我们沿着“纯粹指令”的方向,加倍地“推”了一把。$w$ 越大,模型生成的图像就越严格地遵循 Prompt,但过大的 $w$ 可能会导致色彩过于饱和、细节失真,因为我们强迫模型进入了它在训练中不常见的特征空间区域。 -
Negative Prompt 的数学本质 CFG 的思想进一步延伸,就诞生了强大的 负向提示词 (Negative Prompt)。如果我们不仅想告诉模型“画什么”,还想告诉它“不要画什么”(比如“不要画出畸形的手”),该怎么办?
我们只需将 CFG 公式中的无条件预测 替换为负向提示词的编码 :
\hat{\epsilon}_\theta = \epsilon_\theta(x_t, t, c_{negative}) + w \cdot (\epsilon_\theta(x_t, t, c_{prompt}) - \epsilon_\theta(x_t, t, c_{negative}))$$ 现在,这个修正方向 $(\epsilon_\theta(x_t, t, c_{prompt}) - \epsilon_\theta(x_t, t, c_{negative}))$ 的含义变成了:**从“我们想要的”方向出发,同时沿着“我们不想要的”的反方向,进行双重修正!** 这在向量空间中的操作,就是让我们最终的生成结果,在特征空间中既靠近 $c_{prompt}$ 的区域,又远离 $c_{negative}$ 的区域。这是一种远比简单“过滤”要强大得多的控制手段。
4.3 Refiner:“鉴赏家”的最后润色
即使有了上述所有工具,单一模型仍然面临一个困境:一个擅长在高度混沌中构建宏观结构的模型,未必擅长在接近清晰的图像上进行精细的抛光。SDE 采样器在最后阶段有时会因为持续的随机扰动而“画蛇添足”,破坏已经很好的细节(这个问题被称为 Over-refinement)。
SDXL 等新一代模型引入了 两阶段生成流程,即 Base + Refiner 模型。
-
Base Model: 伟大的“建筑师”
- 负责整个生成过程的前 80% 左右的步骤(例如从 到 )。
- 它的任务是从纯粹的虚无中,构建出稳定、合理、富有美感的 构图、色彩和主体形态。它是一位见过大风大浪的建筑师,擅长搭建框架。
-
Refiner Model: 挑剔的“精修师”
- 接管最后 20% 的步骤。
- Refiner 是一个 “偏科生”。它是一个独立的、专门在 低噪声 图片上进行微调的 Diffusion Model。它没见过 的混沌景象,它的全部“职业生涯”都在处理那些已经“八九不离十”的准成品。
- 它的任务是在不破坏 Base 模型已经建立的优秀构图的前提下,对图像进行 最终的质感提升和细节锐化。它像一位鉴赏家,为画作添加最后的点睛之笔,让光影更柔和,让材质更真实。
这种“接力棒”式的合作,结合了两个模型的长处,使得最终生成的图像在宏观构图和微观细节上都能达到极高的水准。
结语:一场可计算的创世神话
通过这次从宏观直觉到微观实现的深度复盘,我们不难发现,Diffusion Model 并非遥不可及、无法解释的“黑箱炼金术”。恰恰相反,它是一座建立在坚实数学地基上的宏伟建筑,是 概率论的严谨、深度学习的强大与物理直觉的启迪 三者之间一次近乎完美的联姻。
- 从 预测噪声 的巧妙设计,我们将一个复杂的生成问题,转化为一个目标稳定、易于优化的回归问题。
- 从 潜空间 的效率权衡,我们为高质量内容的实时生成铺平了道路,让 AIGC 从实验室走向了千家万户。
- 从 采样过程 中 SDE 与 ODE 的纹理博弈,我们获得了在创作速度与艺术细节之间自由调控的能力。
- 从 CFG 到 Refiner 的精细控制,我们让模型真正从一个“随机生成器”进化为了一个能与人类创作者深度协作的“智能画笔”。
每一个环节,从宏观的架构设计到微小的数学公式,都闪耀着研究者们的智慧之光。理解了这些,我们便不再仅仅是 Diffusion Model 的使用者,更是其内在逻辑的欣赏者。
AIGC 的浪潮仍在奔涌向前,而 Diffusion Model 的故事也远未结束。希望这篇万字长文,能够成为你在这条探索之路上的一张详尽地图,一个有力的注脚。
Keep Exploring! 🚀