DDPM
Denoising Diffusion Probabilistic Models
https://github.com/betterlmy/ddpm_abarankab
公式原理
正向一步步加噪音:
beta是一个设定好的和t有关的超参数,噪音就是随机高斯噪音
正向一步得到加噪结果
网络训练去噪器
估计出当前噪音,得到Xt-1
总的来说
代码实现
训练过程
推理过程
DDIM
DENOISING DIFFUSION IMPLICIT MODELS
https://github.com/ermongroup/ddim
论文原理
DDPM在采样的时候,需要利用到xt-1 扩散到xt的知识,导致sample速度过慢,而DDIM可以只利用predicted X0 Xt,去求Xt-1,这样就不要求一步步采样了。
reverse过程
代码实现
训练过程,和DDPM一样
推理过程
SDE
论文原理
SDE时间上连续 ,正向和逆向推导过程
涵盖了之前的score base 和ddpm
score base VE
ddpm VP
结合上述两种扩散方式 提出sub-VP SDE 目的是which perform particularly well on
likelihoods
PC采样:
用SDE数值求解预测出结果,再用分数估计修正结果。这部分也有一些实验性结论,比如correct一步还是n步。结合了两种采样方式 *unifies and improves over existing sampling methods for score-based models.
PC的原因
纠正离散步长不准确?
ODE
就是一种和SDE有同样边缘概率分布的采样方式 likelihood fast adaptive sampling via black-box ODE solvers, flexible data manipulation via latent codes, a uniquely identifiable encoding, and notably, exact likelihood computation.
controllable generation
对于score模型 只要知道了 每个时刻condition 的score 就可以根据condition生成图片了,总之就是额外或者利用domain信息,得到一个跟condition有关的score,放到采样过程中就行。主要应用有,分类图片生成,图片补全,图片上色。
这里这些condition都是sample时候加进去的,不涉及估计score的那个训练阶段。
代码实现
怎么训练分数网络
score 本质上还是和noise z相关的的一个估计
怎么采样
PC采样的框架
不同数值求解器的predictor
不同数值求解器的correcter,只截取了部分 还有很多
CompVis
论文思想
High-Resolution Image Synthesis with Latent Diffusion Models
利用预先训练好的encoder decoder,将图像映射到latent space上再做DM,这样节省计算资源,因此可以训练高清图片。
在去噪器的结构里加入cross-attention layers 实现更丰富的控制生成。