DDPM的代码分两个部分:diffusion、神经网络
一、diffusion分两个过程:forward process前向过程(无参)和reverse process反向过程(含参,即有需要模型更新的参数)
(1)forward process前向过程:主要是将原始的数据分布一步一步加噪声,最后变成标准的正态分布
①beta schedule:加噪的方案,即每一步是如何加噪的。整个加噪过程是由beta决定的
②基于x0和t采样出t时刻加噪后的样本xt
③后验分布:基于x0、xt、t计算出前一时刻的分布,即xt-1的均值与方差,根据重参数 的技巧采样出xt-1去噪后的样本
④xT服从标准分布
生成模型是反过来的,一开始是噪声,经过一步步的迭代生成我们想要的图片
(2)reverse process过程:推理的过程,生成全新的样本,且生成同样含义不同风格的照片
神经网络的作用:预测xt-1.即我们将xt与t输入到神经网络去得到xt-1的分布,得到的分布与在forward过程中的后验分布距离越接近越好
reverse process过程分两部分:train、infer</