1 基本概念
1.1 定义与全称
DDPM 是 Denoising Diffusion Probabilistic Models 的缩写,中文通常译为去噪扩散概率模型。它是一类以概率建模为基础的生成式模型,通过学习把噪声逐步还原为数据样本,从而实现图像、音频等内容的生成。
1.2 核心思想
DDPM 的核心思路是将真实数据逐步加噪,直到其分布接近简单的高斯噪声,再训练模型学习逆向过程,即从纯噪声中一步步恢复出结构化样本。这个“先破坏、后重建”的机制,使生成过程具有清晰的阶段性。
1.3 方法定位
DDPM 属于深度生成模型中的扩散范式,通常被视为连接概率图模型、随机过程与神经网络去噪器的一种方法。它强调显式的随机过程设计,同时依赖神经网络对复杂数据分布进行拟合。
1.3.1 与生成式模型的关系
在生成式模型体系中,DDPM 与自回归模型、变分自编码器、生成对抗网络并列,均用于学习数据分布并合成新样本。与其他方法相比,它更重视逐步生成带来的稳定性与质量平衡。
1.3.2 与噪声建模的关系
DDPM 将噪声视为建模过程的一部分,而不是简单的扰动项。模型通过学习不同噪声水平下的还原能力,建立起从随机扰动到有意义结构的映射。
1.4 术语说明
“扩散”通常指前向加噪过程,“去噪”则对应反向生成过程;“采样”表示从噪声中生成结果;“时间步”用于描述加噪或去噪的阶段编号。这些术语共同构成了 DDPM 的基本语言体系。
2 理论基础
2.1 概率论基础
DDPM 的理论表达依赖概率分布、条件关系和随机转移等基本概念。通过这些工具,可以将生成过程写成可计算、可训练的概率形式。
2.1.1 条件概率
条件概率用于描述在已知当前状态时,下一个状态出现的可能性。DDPM 的前向与反向过程都可以表示为一系列条件分布。
2.1.2 马尔可夫链
马尔可夫链假设当前状态只依赖于上一步状态,这一性质使扩散过程能够分解为多个局部转移步骤。DDPM 正是利用这种逐步依赖关系构建前向和反向链条。
2.2 随机过程
扩散模型可视为时间连续或离散的随机演化过程。DDPM 通常采用离散时间建模,因此更便于在神经网络框架中实现。
2.2.1 前向扩散过程
前向扩散过程是指数据在一系列随机扰动下逐渐退化为噪声的过程。每一步都向样本中加入少量随机性,使原始结构被缓慢抹平。
2.2.2 反向生成过程
反向生成过程与前向过程相反,目标是从噪声状态出发,逐步恢复出数据分布中的样本。模型需要学会在每个时间步估计当前样本应如何被修正。
2.3 变分推断思想
DDPM 的训练目标与变分推断密切相关,通常通过优化可计算的下界来间接逼近真实数据分布。这样可以把难以直接求解的生成问题转化为可训练的损失函数。
2.3.1 证据下界
证据下界是对数据对数似然的可优化近似,用于指导模型学习。DDPM 通过最小化与该下界相关的目标,提升生成分布与真实分布的一致性。
2.3.2 近似后验
在反向推断中,真实后验往往难以精确计算,因此需要用可学习的近似分布代替。DDPM 的网络参数化本质上就是在估计这种近似后验。
2.4 高斯分布假设
DDPM 常假设每一步加入的噪声服从高斯分布,这使得前向过程具有良好的解析性质。高斯假设也让反向推导和训练目标更容易表达与实现。
3 模型结构
3.1 前向过程
前向过程负责将数据逐步转换为噪声,其结构简单但具有严格的统计定义。它为后续学习反向生成过程提供了明确的目标状态。
3.1.1 噪声逐步注入
模型在每个时间步向输入样本加入少量随机噪声。经过足够多的步骤后,原始样本的信息会被稀释到近似不可辨识的程度。
3.1.2 噪声调度策略
噪声调度决定每一步注入多少噪声,是影响模型表现的重要设计项。常见策略会在早期保留更多结构信息,在后期逐渐提高随机扰动强度。
3.2 反向过程
反向过程是 DDPM 的生成核心,负责把噪声恢复成样本。其每一步都依赖模型对当前状态的去噪预测。
3.2.1 去噪网络预测
去噪网络通常输入当前噪声样本与时间步信息,输出对噪声、残差或干净样本的估计。该预测结果被用于构造下一步更接近数据分布的状态。
3.2.2 样本逐步还原
生成并非一次完成,而是通过多个小步迭代不断修正。随着时间步下降,样本中的结构会逐渐清晰,细节也会逐步浮现。
3.3 神经网络参数化
DDPM 的反向过程需要由神经网络实现参数化,网络设计直接影响模型的表达能力与采样效果。实践中,结构通常兼顾局部细节捕捉和全局上下文建模。
3.3.1 U-Net 结构
U-Net 是 DDPM 中最常见的主干结构之一,借助编码器—解码器与跳跃连接保留多尺度信息。它适合处理图像类任务中的细节恢复。
3.3.2 时间步嵌入
时间步嵌入用于向网络传递当前处于哪个扩散阶段。通过这种表示,模型能够针对不同噪声水平采用不同的去噪策略。
3.3.3 条件信息注入
在条件生成任务中,类别、文本或图像提示会被注入到网络中作为附加约束。常见做法包括特征拼接、注意力机制或条件归一化。
3.4 输出表示
模型输出可以表示噪声估计、样本残差或直接的干净图像预测。不同表示方式会对应不同的训练目标与采样公式,但本质上都服务于反向重建。
4 训练方法
4.1 训练目标
DDPM 的训练通常围绕噪声预测或变分目标展开,核心是让网络学会在不同时间步进行准确还原。训练目标越稳定,生成质量通常越可靠。
4.1.1 噪声预测损失
噪声预测损失是最常见的训练形式,要求模型估计在某一步加入的随机噪声。该目标形式简洁,往往具有较好的优化性质。
4.1.2 变分下界优化
另一种思路是直接优化与证据下界相关的项。它从概率建模角度约束生成分布,但实现上通常更复杂。
4.2 数据准备
数据质量对扩散模型影响明显,尤其是在图像任务中,输入分辨率、分布一致性和预处理方式都会改变训练结果。
4.2.1 数据归一化
归一化用于将输入映射到适合网络处理的数值范围。常见做法是把像素值缩放到固定区间,以减少数值波动。
4.2.2 数据增强
数据增强可以扩大样本多样性,缓解过拟合并提升泛化能力。常见操作包括翻转、裁剪、颜色扰动等。
4.3 优化策略
DDPM 的优化一般采用随机梯度类方法,并结合学习率策略提升收敛表现。由于训练周期较长,优化设置往往对最终效果影响很大。
4.3.1 随机梯度下降
随机梯度下降及其变体是训练中最常用的优化手段。它通过小批量样本更新参数,兼顾计算效率与梯度稳定性。
4.3.2 学习率调度
学习率调度有助于在训练早期快速学习、后期平稳收敛。常见策略包括逐步衰减、预热和余弦退火等。
4.4 训练稳定性
与某些生成模型相比,DDPM 的训练通常更稳定,但仍需注意梯度与超参数设置。良好的训练管理能显著降低模型发散风险。
4.4.1 梯度控制
梯度裁剪、归一化或损失缩放等方法可用于缓解数值异常。它们在深层网络或大分辨率任务中尤为重要。
4.4.2 超参数选择
噪声调度、时间步数量、批大小与学习率等参数都会影响训练质量。通常需要根据数据规模和算力条件进行调整。
5 采样与生成
5.1 逐步采样机制
DDPM 的采样过程本质上是一个迭代去噪的逆向链条。每一步都不是最终结果,而是向目标样本更进一步的中间状态。
5.1.1 反向迭代过程
采样从随机噪声开始,按时间步逆序运行模型。随着迭代推进,样本逐渐获得可辨识的形状与细节。
5.1.2 随机采样与确定性采样
随机采样在每一步保留一定随机性,生成结果更具多样性;确定性采样则减少或取消随机扰动,输出更加稳定。二者分别适用于不同场景。
5.2 采样加速
由于原始 DDPM 采样步数较多,实际应用中常借助各种加速方案减少计算开销。加速目标通常是在保持质量的同时尽量缩短生成时间。
5.2.1 少步采样
少步采样通过减少反向迭代次数提升效率。其挑战在于如何在较少步骤下仍保留足够的生成细节。
5.2.2 加速器与改进算法
后续研究提出多种加速器与改进采样器,用于提高推理效率或改善质量。它们通常通过重新设计时间离散方式或更新公式来实现。
5.3 条件生成
条件生成允许模型根据外部信息控制输出内容,使生成结果更符合任务需求。DDPM 在此方面表现灵活,适合多种输入形式。
5.3.1 文本条件
文本条件通过语言描述引导图像或其他模态生成。模型会把文本语义映射为生成约束,进而影响内容和风格。
5.3.2 类别条件
类别条件常用于图像分类标签控制的生成任务。它能让模型按照指定类别合成样本,提高可控性。
5.3.3 图像条件
图像条件用于修复、补全、超分辨率等任务,输入图像本身为生成提供结构线索。模型据此完成局部或整体重建。
5.4 随机种子与可复现性
随机种子决定噪声初始化与部分随机操作的结果,因此会影响最终样本。固定种子有助于实验复现和结果对比,但并不改变模型本身的分布特性。
6 数学推导
6.1 正向扩散公式
正向扩散公式描述样本在每一步被噪声扰动后的分布变化。通过递推关系,可以写出任意时间步下样本与初始数据之间的对应关系。
6.2 反向转移概率
反向转移概率刻画从当前噪声状态回到前一状态的概率结构。由于真实反向分布未知,DDPM 需要用神经网络来近似这一转移。
6.3 损失函数推导
DDPM 的损失函数通常可由变分下界分解而来,并可进一步化简为噪声预测形式。这样的推导使训练目标既有理论依据,也便于实际实现。
6.4 重参数化技巧
重参数化技巧把随机采样转化为可微形式,便于反向传播和优化。它在扩散模型中用于处理噪声注入与状态更新过程。
6.5 采样公式推导
采样公式来源于反向转移的近似表达,并结合当前时间步的估计结果进行更新。推导过程确保了每一步迭代都与概率模型一致。
7 性能与评估
7.1 生成质量指标
评估扩散模型时,常关注样本是否真实、自然以及是否符合数据分布。质量指标为模型优劣提供了可比较的量化依据。
7.1.1 FID
FID 用于衡量生成样本与真实样本在特征空间中的分布差异。数值越低,通常表示两者越接近。
7.1.2 IS
IS 关注生成结果的类别置信度和多样性,常用于图像生成评测。它更偏向衡量样本是否同时具有辨识度与分散性。
7.2 多样性评估
多样性评估用于观察模型是否能生成丰富而不单一的样本。若多样性不足,模型可能出现模式重复或内容趋同。
7.3 速度与资源开销
DDPM 往往需要较多采样步骤,因此在推理阶段可能消耗更多时间和算力。资源开销通常是其工程落地时的重要考量。
7.4 鲁棒性分析
鲁棒性主要考察模型在噪声扰动、输入变化或条件缺失情况下的表现。稳定的 DDPM 应能在一定范围内保持较好的生成效果。
8 变体与扩展
8.1 条件扩散模型
条件扩散模型在 DDPM 基础上加入额外控制信息,以实现更精确的生成约束。它广泛用于文本引导和图像编辑等任务。
8.2 潜空间扩散模型
潜空间扩散模型先在压缩后的潜表示中进行扩散,再解码回可见空间。这样可以减少计算成本,并提高高分辨率生成的效率。
8.3 分数匹配相关方法
分数匹配方法学习数据分布的梯度信息,与扩散模型在理论上关系密切。两者常在噪声估计和随机动力学框架中相互联系。
8.4 加速扩散模型
加速扩散模型旨在缩短采样链路并降低推理延迟。它们常通过更高效的时间步设计或更新规则改写原始流程。
8.5 指导采样方法
指导采样方法通过额外信号增强生成方向性,使输出更符合目标条件。它是提升可控性的常见手段。
8.5.1 无分类器指导
无分类器指导不依赖单独训练分类器,而是在同一扩散模型内部实现条件增强。它兼顾灵活性与实现简洁性。
8.5.2 分类器指导
分类器指导借助额外分类器提供梯度引导,增强模型朝指定目标生成的能力。该方法控制力较强,但系统复杂度更高。
9 应用领域
9.1 图像生成
DDPM 在图像生成中表现尤为突出,能够合成具有较高真实感和细节丰富度的图片。其应用范围覆盖艺术创作、概念设计和视觉内容制作。
9.2 图像修复
图像修复任务利用扩散模型填补缺失区域或修补损坏部分。模型会根据上下文结构推断合理内容,使图像更完整。
9.3 超分辨率重建
在超分辨率场景中,DDPM 可将低分辨率输入恢复为更清晰的高分辨率图像。它能够在细节补全方面表现出较强能力。
9.4 图像编辑
图像编辑包括局部修改、风格调整和内容替换等操作。扩散模型因其逐步更新机制,较适合实现细粒度编辑。
9.5 数据增强
DDPM 可生成额外样本用于扩充训练集,尤其适合样本不足的任务。合成数据可帮助提升下游模型的泛化表现。
9.6 多模态生成
多模态生成将文本、图像、语音等信息统一到生成框架中。DDPM 在跨模态条件控制方面具有较大扩展空间。
10 优缺点
10.1 优势
DDPM 之所以受到广泛关注,主要在于其生成质量、训练稳定性和理论完整性都较突出。它在多个维度上形成了较均衡的表现。
10.1.1 生成质量高
扩散模型往往能够生成纹理细腻、结构自然的样本,尤其在图像任务中效果显著。高质量输出是其最直观的优势之一。
10.1.2 训练过程稳定
与部分对抗式方法相比,DDPM 的训练通常更平稳,不容易出现剧烈不收敛现象。其目标函数设计也更易优化。
10.1.3 理论结构清晰
DDPM 的前向与反向过程有明确的概率解释,便于分析和推导。清晰的理论框架也促进了后续变体的发展。
10.2 局限性
尽管表现优秀,DDPM 仍存在计算代价高、采样慢等问题。某些设计细节也会显著影响最终效果。
10.2.1 采样速度较慢
由于需要多步迭代去噪,生成一张样本往往耗时较长。相比一次性输出的模型,实时性较弱。
10.2.2 计算成本较高
训练和推理都可能需要较大算力资源,尤其在高分辨率条件下更为明显。硬件投入常成为落地门槛。
10.2.3 对噪声调度敏感
噪声添加策略如果设置不当,可能影响训练收敛和生成质量。因而调度参数通常需要仔细调试。
11 发展历程
11.1 早期扩散思想
扩散思想最初来自概率过程和随机动力学研究,后来逐渐被引入生成建模。早期工作为 DDPM 的提出奠定了基础。
11.2 DDPM 提出与推广
DDPM 作为一种标准化的扩散生成框架被提出后,迅速在图像生成领域引起关注。其稳定训练与高质量输出推动了相关研究扩展。
11.3 后续改进方向
后续研究主要集中在采样加速、条件控制、潜空间建模和指导机制等方面。许多改进都围绕提升效率与可控性展开。
11.4 与现代扩散模型的关系
现代扩散模型大多建立在 DDPM 的基本思想上,并在网络结构、采样策略和条件注入方式上持续演化。DDPM 因而常被视为该领域的重要基础模型。
12 相关概念
12.1 扩散模型
扩散模型是以加噪和去噪为核心的一类生成模型统称,DDPM 属于其中最经典的代表之一。
12.2 得分匹配
得分匹配是学习数据分布梯度信息的方法,与扩散模型在理论上关系紧密,常被用作理解其训练机制的参照。
12.3 自回归生成模型
自回归生成模型按顺序预测下一个元素,生成方式是逐步展开的。它与扩散模型都强调渐进式建模,但具体机制不同。
12.4 生成对抗网络
生成对抗网络通过生成器与判别器对抗训练来学习数据分布。与 DDPM 相比,它更依赖对抗平衡,而非显式的随机扩散过程。
12.5 变分自编码器
变分自编码器通过编码—解码与潜变量建模实现生成。它与 DDPM 同属概率生成范式,但在生成路径和优化方式上存在差异。
13 实现与工程实践
13.1 代码框架设计
实现 DDPM 时,通常需要分别组织数据加载、噪声调度、网络前向、损失计算和采样模块。清晰的代码结构有助于后续调试与扩展。
13.2 训练流程管理
训练流程一般包括日志记录、模型保存、验证评估和断点续训。良好的流程管理可以减少实验重复成本。
13.3 推理部署
推理部署关注模型在实际环境中的响应速度与稳定性。常见做法包括批量推理、缓存调度和采样步数压缩。
13.4 显存与算力优化
为了适配硬件限制,工程上常使用混合精度、梯度检查点和分布式训练等策略。它们能在一定程度上降低资源压力。
13.5 常见实现误区
常见误区包括噪声调度设置不合理、时间步编码不足、训练与采样配置不一致等。若这些细节处理不当,模型可能出现质量下降或收敛缓慢。