论文传送门:Denoising Diffusion Probabilistic Models
参考文章:The Annotated Diffusion Model
DDPM的目的:
从标准正态分布中采样出噪声图像,经过T次去噪后还原出与训练图像相似的生成图像,从而完成图像生成任务。
DDPM的方法:
①扩散过程(加噪过程):
对训练图像不断加噪,经过T次,使得训练图像近似变成各向独立的标准正态分布的噪声图像。
每次加噪记作 q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}) q(xt∣xt−1),其中t指当前时刻(加噪t次),t-1指上一时刻(加噪t-1次), x t x_t xt指当前时刻的图像, x t − 1 x_{t-1} xt−1指上一时刻的图像。
整个过程是马尔科夫链,即当前时刻的图像仅与其上一时刻有关,而与其他时刻无关。
设定一个长度为T的序列 β β β, β t β_t βt在(0,1)区间内单调递增,t时刻加入噪声的方差为 β t β_t βt,均值由 β t β_t βt和 x t x_t xt共同决定,则可以写出当前时刻 q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}) q(xt∣xt−1)和整个扩散过程 q ( x 1 : T ∣ x 0 ) q(x_{1:T}|x_0) q(x1:T∣x0)的公式:
可以发现,任意时刻的噪声图像 x t x_t xt可以由初始时刻图像(原图) x 0 x_0 x0和 β β β序列来确定,定义 α t = 1 − β t α_t=1-β_t αt=1−βt, α ˉ = ∏ s = 1 t α s \bar{α}=\prod\limits_{s=1}^tα_s αˉ=s=1∏tαs,则:
当T趋近于∞时,可以认为 x T x_T xT是各向独立的标准正态分布。
扩散过程与网络无关,只要确定初始时刻图像 x 0 x_0 x0和 β β β序列,整个扩散过程均可求。
②逆扩散过程(去噪过程):
对噪声图像不断去噪,经过T次,使得噪声图像可以恢复为初始时刻图像 x 0 x_0 x0。
每次去噪记作 p ( x t − 1 ∣ x t ) p(x_{t-1}|x_t) p(xt−1∣xt),公式:
p ( x t − 1 ∣ x t ) p(x_{t-1}|x_t) p(xt−1∣xt)难以直接求解,所以使用网络进行计算。
使用网络来拟合分布有多种实现方式,作者选择构建网络 D θ ( x t , t ) D_θ(x_t,t) Dθ(xt,t)( θ θ θ