Diffusion1¶
基本思路¶
前向扩散¶
给定一张真实图片或者样本数据\(x_0\), 按照一定的噪声策略, 逐步向其中添加噪声, 形成一系列的过度状态\(x_1, x_2, ..., x_T\). 通过选择合适的噪声分布(通常是高斯噪声)和时间调度(schedule), 当\(t\)逐渐增大到\(T\)的时候, 数据会被彻底"扰乱"为近似于各向同性高斯分布的形式.
各向同性高斯分布
在数学和统计中, 各向同性高斯分布指的是协方差矩阵为单位矩阵(或者单位矩阵的倍数)的多维正态分布, 通常写为\(\mathcal{N}(0, \sigma^2\mathbf{I})\). 各向同性意味着该分布在所有方向上的方差都相同, 没有任何方向性偏好, 呈现球形对称. 在二维中, 他看起来像是一个圆形; 在三维中, 则是一个球形分布, 在更高维中, 同理为超球体形状.
反向去噪¶
和前向扩散过程相反, 反向去噪过程是一个学习到的过程: 模型根据在训练集上学到的概率分布, 从"噪声状态"一步步反向推回到无噪声的真实数据样本. 训练的目标是, 在每个时间步\(t\), 预测(或逼近)给定噪声状态\(x_t\)时的原始数据或者去噪结果.
换言之, 训练时, 先把真实数据"加噪"多次形成一个马尔科夫链, 然后让模型学会一步步去掉噪声; 生成的时候, 我们只需要从高斯噪声开始, 反向执行去噪步骤, 就能生成类似于训练数据分布的新样本.
数学表述¶
前向扩散¶
在传统的DDPM框架中, 前向传播被定义为:
公式表示在给定\(x_{t-1}\)的条件下, \(x_t\)是依据均值\(\sqrt{1 - \beta_t}\,x_{t-1}\)和协方差\(\beta_t I\)的正态分布中采样产生的. 经过多次迭代之后, \(x_T\)会接近一个标准高斯分布.
DDPM
DDPM(Denoising Diffusion Probabilistic Models)是一种基于扩散过程的生成模型. 它其实是原始Diffusion的改进版本, 两者在核心思想有继承性, 但是在具体实现和优化策略上存在显著差异. 主要体现在下面几方面:
DDPM(Denoising Diffusion Probabilistic Models)是扩散模型(Diffusion Models)的改进版本,两者在核心思想上有继承性,但在具体实现和优化策略上存在显著差异。以下是两者的区别与相同点分析:
维度 | 原始扩散模型 | DDPM |
---|---|---|
训练复杂度 | 需预测均值和方差 | 固定方差,仅预测噪声 |
网络结构 | 简单卷积网络 | U-Net + 时间嵌入 |
噪声调度 | 固定或非优化策略 | 线性/余弦调度,跨时间步采样 |
生成质量 | 低分辨率,细节模糊 | 高分辨率,与GAN相当 |
计算效率 | 高计算成本 | 潜在空间降维,支持消费级硬件 |
反向去噪¶
反向过程也可用高斯分布近似:
-
Ho, J., Jain, A., & Abbeel, P. (2020). Denoising diffusion probabilistic models (No. arXiv:2006.11239). arXiv. https://doi.org/10.48550/arXiv.2006.11239 ↩