扩散模型(Diffusion Models)是近年来在深度生成模型领域取得显著成功的一类模型,尤其在图像生成方面表现突出。扩散模型是一类生成模型,通过逐步添加噪声(正向过程)和逐步去噪(反向过程)生成数据。其核心思想源于非平衡统计物理中的扩散过程:想象一滴墨水滴入水中,墨水分子会逐渐扩散开来,直至均匀分布在整个水体中。扩散模型模拟了这个过程的逆向——从随机噪声中逐步“去噪”,生成出具有清晰结构的样本,即模拟数据从有序到无序的扩散过程,再通过学习逆向过程实现数据生成。

        一.核心原理

        扩散模型通常包含两个关键过程:1.正向扩散过程(加噪声):这是一个逐步加噪的过程。即,清晰图片——一点点加高斯噪声——纯噪声。2.反向去噪过程(生成过程):这是一个逐步去噪的过程,也是模型学习的目标。即,训练一个网络——输入噪声图片,预测噪声——把噪声去掉。然后反复去噪。从纯噪声开始,一步步去噪声,最终生成清晰图片。

        Diffusion Model的过程如下:开始输入一张纯噪声的图片,并一步一步将噪声过滤掉一点,最终得到一张清晰的图片。这其中的Denoise模型是反复使用的,去噪过程的总步数是预先定义好的(比如常见的 1000 步),每一个step会对应一个 “步数编号”。由于过程中每一次输入的图片噪声情况不同,所以反复使用同一个模型的结果未必很好,因此每次输入时除了图片还要有一个time embedding(时序嵌入),这里的time embedding与噪声权重有关,值越大代表噪声权重越大(噪声越严重)。

        Denoise模型内部的实现如下:Denoise内部有一个Noise Predicter,接收输入图片和time embedding,并预测输出这张输入图片的噪声情况,再使用输入图片减去预测的噪声,最终得到输出结果。

        那么如何训练Noise Predicter?从database中取出一张图像,加入噪声后产生带有噪声的输出图像,不断重复这个过程,最终得到一个纯噪声图像。这也就是正向扩散的过程。而对于Noise Predicter需要学会的就是,认识到这张加完噪声的图片与当前的step是Denoise模型输入,而其中加入的噪声信息就是这个网络应该预测的噪声输出。因此,在进行正向扩散的步骤之后,Noise Predicter就已经学会如何预测噪声。

二.数学表示

         这是DDPM(Denoising Diffusion Probabilistic Models)模型的过程,其核心是两个互逆的马尔可夫链:

  • 前向扩散(Forward Diffusion):从原始图像 x_{0}出发,逐步添加高斯噪声,经过 T 步后得到纯噪声x_{T}(T 通常取 1000);

  • 反向扩散(Reverse Diffusion):从纯噪声x_{T}出发,学习前向过程的逆过程,逐步去噪,最终还原出与 x_{0}​ 同分布的生成图像。

        下面先明确核心符号定义:

符号 数学意义
T 扩散总步数
\beta _{t} 第 t 步的噪声强度(前向扩散参数)
\alpha _{t} 第 t 步的权重系数
\bar{\alpha }_{t} 前 t 步的累积权重系数
ε 标准高斯噪声(ε∼N(0,I))
x_{t} 第 t 步的带噪图像
\varepsilon _{\theta }(x_{t},t) 模型预测的噪声
        1.Training  正向扩散(加噪声):

        其中x_{0} 表示从真实样本中抽取的干净图片,t 为添加噪声的次数,\varepsilon 为噪声,\alpha 为权重,根据第5步的公式可以看出,t 越大\alpha 值越小,等价于x_{0} 越小\varepsilon 越大。因此对应前面提到的t 越大噪声越严重(权重越大)。随着t 增大,最终的输出x_{t} 越接近纯噪声。

        因此,DDMP并不是简单的一步一步加入噪声进行训练,而是进行加权。

        1.1前向扩散的核心数学公式

        (1)单步加噪公式

        (2)闭式解(从x_{0} 直接得到x_{t}

        (3)前向过程的概率分布

        2.Sampling 逆向扩散(去噪声):

        其中,x_{T}为纯噪声,x_{t}为上一步骤产生的图。\varepsilon _{\theta }(x_{t},t)为Noise Predicter输出的预测噪声,进行加权后,用于从x_{t} 中减去噪声,得到更清晰的x_{t-1}

        2.1逆向扩散的核心数学公式

        3.损失函数的数学原理

        扩散模型的训练目标是最小化反向过程与前向过程的 KL 散度,但通过数学推导可简化为预测噪声与真实噪声的均方误差(MSE),这是 DDPM 的核心简化技巧,让训练变得高效。

        3.1损失函数的数学推导

        4.核心公式作用

三.与GAN、VAE的对比

维度 DDPM (扩散模型) GAN (生成对抗网络) VAE (变分自编码器)
核心思想 先逐步加噪破坏数据,再学习逆向去噪重建 对抗训练:生成器 vs 判别器,互相博弈 编码器压缩数据到隐空间,解码器从隐空间重建
训练目标 最小化预测噪声与真实噪声的 MSE 最小化生成器损失,最大化判别器损失(对抗) 最大化证据下界(ELBO),平衡重构与 KL 散度
训练稳定性 ✅ 极稳定,几乎不模式崩溃 ❌ 不稳定,易模式崩溃、梯度消失 / 爆炸 ✅ 稳定,训练过程平滑
生成质量 ✅ 极高,细节丰富、真实感强 ⚠️ 早期质量高,但易模式崩溃;现代 GAN 仍很强 ❌ 通常偏模糊,细节不足
生成速度 ❌ 慢(原生需 1000 步采样),但可通过 DDIM/LCM 加速 ✅ 一步生成,速度快 ✅ 一步生成,速度快
可控性 ✅ 强(条件扩散、CFG、ControlNet 等) ⚠️ 中等,条件 GAN 可控制但不如扩散灵活 ⚠️ 弱,隐空间插值可控性有限
数学框架 概率扩散、马尔可夫链 博弈论、极小极大优化 变分推断、概率图模型

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐