Diffusion Model的数学原理
基本概念
Forward Process

Reverse Process

DDPM的算法

训练的算法

1.从数据中选取一张干净的图片。
2.生成一个t值用于噪声网络的训练步骤
3.从高斯分布中随机产生一个带有噪声的量
4.采用梯度下降对Noise Predictor进行训练.
\(\alpha\)的值越来越小代表随着迭代次数的进行,我们越来越看重噪声量的作用,这与添加噪声量的过程是一致的。
实际上的训练过程与理想的情况并不一致

推理过程(Inference)

推理算法中为什么还要再随机产生一个噪声z?
从影像生成的本质目标开始讲起。
从真实数据的分布 \(P_{\text{data}}(x)\) 中采样出 \(m\) 个样本:\(\{x^1, x^2, \dots, x^m\}\)。
然后,基于模型的分布 \(P_\theta(x)\),可以计算出这些样本的概率 \(P_\theta(x^i)\)。
最大似然估计目标:通过调整模型参数 \(\theta\),使模型分布 \(P_\theta(x)\) 对真实数据样本的生成概率最大化。
数学表达式为:
其中,\(\prod_{i=1}^m\) 表示对所有样本的联合概率。由于概率连乘可能产生数值下溢,通常会在优化时取对数,变为对数似然:
最大似然估计相当于最大KL- divergence

在Vae中通过最大化Lower bound借此来优化\(logP(x)\)

在DDPM中如何计算\(P_{\theta}(x)\)

在DDPM中如何优化Lower bound

forward process 得到的噪声图片可以一步到位

Understanding Diffusion Models:A Unified Perspective

已知\(x_{0},x_{t}\)求解\(x_{t-1}\)

不考虑方差对结果的影响,让两个分布的mean越接近越好。


为什么最后还要多加一个noise?
实验效果好

浙公网安备 33010602011771号