摘要
去噪扩散模型代表了计算机视觉领域的一个新兴主题,在生成建模领域展示了显着的成果。扩散模型是一种基于两个阶段的深度生成模型,即前向扩散阶段和反向扩散阶段。在前向扩散阶段,通过添加高斯噪声在几个步骤中逐渐扰动输入数据。在反向阶段,模型的任务是通过学习逐步反向扩散过程来恢复原始输入数据。扩散模型因其生成样本的质量和多样性而受到广泛赞赏,尽管其计算负担已知,即由于采样过程中涉及大量步骤而导致速度较低。
Abstract
Denoising diffusion models represent an emerging topic in computer vision, showing remarkable results in the field of generative modeling. The diffusion model is a deep generative model based on two stages, namely the forward diffusion stage and the backward diffusion stage. In the forward diffusion stage, the input data is gradually perturbed in several steps by adding Gaussian noise. In the inverse phase, the task of the model is to recover the original input data by learning a stepwise backward diffusion process. Diffusion models are widely appreciated for the quality and diversity of the samples they generate, despite the known computational burden of low speed due to the large number of steps involved in the sampling process.
1、diffusion模型理论(推导出损失函数)
1.1、背景
随着人工智能在图像生成,文本生成以及多模态生成等领域的技术不断累积,如:生成对抗网络(GAN)、变微分自动编码器(VAE)、normalizing flow models、自回归模型(AR)、energy-based models以及近年来大火的扩散模型(Diffusion Model)。
扩散模型的成功并非横空出世一般,突然出现在人们的视野中。其实早在2015年就已有人提出相类似的想法,最终在2020年提出了我们所熟知的“denoising diffusion probabilistic models”。DDPM
近期的novelai的生成技术同样是基于扩散模型,以下可以看到其强大的生成效果。
1.2、模型训练与采样的算法流程
先放个图,1.3和1.4进行具体的流程与公式推导。我们要做的就是要推导出训练过程中的损失函数。
1.3、前向噪声扩散公式推导
diffusion模型的前向过程是向原始图片中逐步的添加高斯噪声,直至最后的图像趋于高斯分布。由于噪声占比会越来越大,所以添加噪声的强度也会越来越大。如下图所示:
- 每一时刻的图像都由前一时刻的图像添加噪声得到
- 最后的图像会变成纯噪声
- 每一时刻的添加的噪声强度均不同,目前有线性调度器,余弦调度器等
- 这一过程构建了我们训练所用到的标签,后面会看到
下面的推导过程展示了,我们如何从初始图像直接得到第t时刻的图像
这个公式为下面的推导打上一个铺垫,下面一节就是关键的损失函数推导了。
1.4、优化目标,损失函数推导
上面的正向扩散并不难,下面我们推导反向扩散过程。即由Xt到Xt-1。
总结
推理出了diffusion模型的损失函数,从最小化对数似然,到优化变分下界,简化变分下界,得到最后目标,预测噪声。