Weng, Lilian. (Jul 2021). What are diffusion models? Lil’Log. https://lilianweng.github.io/posts/2021-07-11-diffusion-models/.

  • Diffusion models are inspired by non-equilibrium thermodynamics. They define a Markov chain of diffusion steps to slowly add random noise to data and then learn to reverse the diffusion process to construct desired data samples from the noise. Unlike VAE or flow models, diffusion models are learned with a fixed procedure and the latent variable has high dimensionality (same as the original data).
  • Several diffusion-based generative models have been proposed with similar ideas underneath, including diffusion probabilistic models (Sohl-Dickstein et al., 2015), noise-conditioned score network (NCSNYang & Ermon, 2019), and denoising diffusion probabilistic models (DDPMHo et al. 2020).
  • 文中还有很多算法细节

OpenAI Lilian Weng小姐姐教你从头设计视频生成扩散模型 (qq.com)

DDPM

扩散模型的原理及实现(Pytorch) (qq.com)
扩散模型的导火索,是始于2020 年所提出的 DDPM(Denoising Diffusion Probabilistic Model)
VAE
VAE 采用了编码器、概率潜在空间和解码器。在训练过程中,编码器预测每个图像的均值和方差。然后从高斯分布中对这些值进行采样,并将其传递到解码器中,其中输入的图像预计与输出的图像相似。这个过程包括使用KL Divergence来计算损失。VAEs的一个显著优势在于它们能够生成各种各样的图像。在采样阶段简单地从高斯分布中采样,解码器创建一个新的图像。
GAN
在变分自编码器(VAEs)的短短一年之后,一个开创性的生成家族模型出现了——生成对抗网络(GANs),标志着一类新的生成模型的开始,其特征是两个神经网络的协作:一个生成器和一个鉴别器,涉及对抗性训练过程。生成器的目标是从随机噪声中生成真实的数据,例如图像,而鉴别器则努力区分真实数据和生成数据。在整个训练阶段,生成器和鉴别器通过竞争性学习过程不断完善自己的能力。生成器生成越来越有说服力的数据,从而比鉴别器更聪明,而鉴别器又提高了辨别真实样本和生成样本的能力。这种对抗性的相互作用在生成器生成高质量、逼真的数据时达到顶峰。在采样阶段,经过GAN训练后,生成器通过输入随机噪声产生新的样本。它将这些噪声转换为通常反映真实示例的数据。

为什么我们需要扩散模型:DDPM
两种模型都有不同的问题,虽然GANs擅长于生成与训练集中的图像非常相似的逼真图像,但VAEs擅长于创建各种各样的图像,尽管有产生模糊图像的倾向。但是现有的模型还没有成功地将这两种功能结合起来——创造出既高度逼真又多样化的图像。这一挑战给研究人员带来了一个需要解决的重大障碍。
在第一篇 GAN 论文发表六年后,在 VAE 论文发表七年后,一个开创性的模型出现了:去噪扩散概率模型(DDPM)。DDPM 结合了两模型的优势,擅长于创造多样化和逼真的图像。

扩散模型的基本思想受到非平衡统计物理的启发,即通过迭代向前扩散的方法逐步消除数据分布中的结构。然后学习一个反向扩散过程,在 data中恢复结构

优点

  • One of the principal advantages of DDPM is that the formation of the original motion sequence can be retained. It means that we can easily apply more constraints during the denoising process.
  • By specifying desired properties, such as noise levels and variability, diffusion modelling can generate predictable and consistent synthetic data, making it easier to train models.
  • However, this regularity can also limit the ability of synthetic data to capture the complexity and variability of real-world data. In general, real data is preferred for training models, as it better reflects the diversity of realworld conditions. Synthetic data, however, can be a useful supplement shown in Fig. 4 when real data is scarce or expensive

code

扩散模型的原理及实现(Pytorch) (qq.com)
https://github.com/Camaltra/this-is-not-real-aerial-imagery/

paper

DDPM Paper https://arxiv.org/abs/2006.11239ConvNext Paper https://arxiv.org/abs/2201.03545UNet Paper: https://arxiv.org/abs/1505.04597ACC UNet: https://arxiv.org/abs/2308.13680
扩散模型最新有何进展?普林斯顿伯克利最新「扩散模型」综述:应用、引导生成、统计率和优化 (qq.com)