DDPM(Denoising Diffusion Probabilistic Models,去噪扩散概率模型)
简介
DDPM即去噪扩散概率模型(Denoising Diffusion Probabilistic Models),是一种生成式模型,在图像生成、视频生成等领域有广泛应用。以下是其详细介绍:
原理
- DDPM的核心思想是通过在数据上逐步添加噪声来破坏数据,然后学习一个逆过程,从噪声中恢复出原始数据。这个过程基于马尔可夫链,将数据的生成看作是从噪声中逐步采样并去噪的过程。
- 前向过程(正向扩散):从干净的图像(x_0)开始,通过不断地添加高斯噪声,逐步将图像转化为纯噪声(x_T)。在每一步(t),根据给定的噪声 schedule(通常是一个固定的方差序列),按照公式(q(x_t|x_{t - 1}) = \mathcal{N}(x_t; \sqrt{1 - \beta_t}x_{t - 1}, \beta_t\mathbf{I}))来添加噪声,其中(\beta_t)是第(t)步的噪声方差,(\mathcal{N})表示高斯分布。
- 反向过程(逆向去噪):学习一个神经网络(通常是U-Net结构)来估计在给定噪声图像(x_t)的情况下,前一步干净图像(x_{t - 1})的条件分布(p_{\theta}(x_{t - 1}|x_t))。通过最小化重建损失等目标函数来训练这个神经网络,使得它能够逐渐从噪声中恢复出原始图像。
模型架构
- DDPM通常使用U-Net作为其核心的神经网络架构。U-Net具有编码器和解码器结构,中间通过跳跃连接(skip connections)相连。编码器部分用于提取图像的特征,随着网络层数的加深,特征图的分辨率逐渐降低,通道数逐渐增加;解码器部分则是将低分辨率、高通道数的特征图逐步上采样,恢复出原始图像的分辨率,同时利用跳跃连接来融合编码器不同层次的特征,以更好地重建图像细节。
训练与采样
- 训练:在训练过程中,从数据集中随机采样图像,然后按照正向扩散过程添加噪声,将噪声图像和对应的时间步(t)作为输入,将原始干净图像作为目标,训练神经网络来最小化预测的去噪图像与真实干净图像之间的损失,常用的损失函数有均方误差(MSE)等。
- 采样:在生成阶段,从纯噪声(x_T)开始,按照训练好的反向去噪过程,逐步从(p_{\theta}(x_{t - 1}|x_t))中采样,经过(T)步的采样,最终得到生成的图像(x_0)。
优点
- 生成的样本质量高,在图像生成任务中能够生成具有丰富细节和多样性的图像。
- 模型的理论基础较为坚实,基于扩散过程的建模方式具有清晰的数学原理。
- 训练过程相对稳定,相比一些其他生成式模型,如对抗生成网络(GANs),DDPM的训练更容易收敛,不需要对抗训练中复杂的博弈过程。
局限性
- 采样过程计算量较大,由于需要从噪声中逐步采样生成图像,生成过程较为耗时,尤其是在生成高分辨率图像时,采样步数较多,计算成本较高。
- 对内存要求较高,在训练和采样过程中,需要存储大量的中间特征和模型参数,对于一些资源有限的设备来说,可能难以满足需求。
DDPM为生成式模型的发展提供了新的思路和方法,其后续也有许多改进和扩展的工作,推动了生成式模型在更多领域的应用和发展。
核心原理和特点
DDPM(Denoising Diffusion Probabilistic Models,去噪扩散概率模型)是一种基于扩散过程的生成模型,通过逐步添加和去除噪声来学习数据分布并生成高质量样本。以下是其核心原理和特点:
1. 核心思想
DDPM通过两个马尔可夫链过程实现生成:
-
前向扩散过程(Forward Process):
对输入数据 x 0 x_0 x0逐步添加高斯噪声,经过 T T T步后转化为纯噪声 x T x_T xT。每一步的加噪公式为:
x t = α t x t − 1 + 1 − α t ϵ t , ϵ t ∼ N ( 0 , I ) x_t = \sqrt{\alpha_t}x_{t-1} + \sqrt{1-\alpha_t}\epsilon_t, \quad \epsilon_t \sim \mathcal{N}(0, I) xt=αtxt−1+1−αtϵt,ϵt∼N(0,I)
其中 α t \alpha_t αt是预定义的噪声调度参数(如线性插值),控制噪声添加的强度。 -
反向去噪过程(Reverse Process):
训练一个神经网络(通常为U-Net)预测噪声 ϵ θ ( x t , t ) \epsilon_\theta(x_t, t) ϵθ(xt,t),逐步从 x T x_T xT恢复原始数据 x 0 x_0 x0。每一步的生成公式为:
x t − 1 = 1 α t ( x t − 1 − α t 1 − α ˉ t ϵ θ ( x t , t ) ) + σ t z , z ∼ N ( 0 , I ) x_{t-1} = \frac{1}{\sqrt{\alpha_t}}\left(x_t - \frac{1-\alpha_t}{\sqrt{1-\bar{\alpha}_t}}\epsilon_\theta(x_t, t)\right) + \sigma_t z, \quad z \sim \mathcal{N}(0, I) xt−1=αt1(xt−1−αˉt1−αtϵθ(xt,t))+σtz,z∼N(0,I)
其中 α ˉ t = ∏ s = 1 t α s \bar{\alpha}_t = \prod_{s=1}^t \alpha_s αˉt=∏s=1tαs, σ t \sigma_t σt为噪声方差。
2. 训练与损失函数
- 目标:最小化预测噪声与真实噪声的均方误差(MSE):
L ( θ ) = E x 0 , t , ϵ [ ∥ ϵ − ϵ θ ( x t , t ) ∥ 2 ] L(\theta) = \mathbb{E}_{x_0,t,\epsilon} \left[ \|\epsilon - \epsilon_\theta(x_t, t)\|^2 \right] L(θ)=Ex0,t,ϵ[∥ϵ−ϵθ(xt,t)∥2]
通过重参数化技巧直接优化噪声预测。 - 高效训练:利用重参数化直接从 x 0 x_0 x0计算任意 x t x_t xt,避免逐步采样噪声。
3. 数学基础
- 马尔可夫链:前向和反向过程均为马尔可夫链,保证无后效性。
- 变分推断:通过最大化ELBO(证据下界)近似数据分布。
DDPM通过理论严谨的扩散过程和高效的噪声预测机制,成为当前生成模型的核心框架之一,推动了文生图、视频生成等领域的发展。