Diffusion扩散模型
Diffusion Model
如果将Diffusion与其他生成模型(如Normalizing Flows、GAN或VAE)进行比较,它并没有那么复杂,它们都将噪声从一些简单分布转换为数据样本,Diffusion也是从纯噪声开始通过一个神经网络学习逐步去噪,最终得到一个实际图像。Diffusion对于图像的处理包括以下两个过程:
- 我们选择的固定(或预定义)正向扩散过程 𝑞 :它逐渐将高斯噪声添加到图像中,直到最终得到纯噪声
- 一个学习的反向去噪的扩散过程 𝑝𝜃 :通过训练神经网络从纯噪声开始逐渐对图像去噪,直到最终得到一个实际的图像
扩散模型实现原理
Diffusion 前向过程
所谓前向过程,即向图片上加噪声的过程。
Diffusion 逆向过程
逆向过程(reverse)就是diffusion的去噪推断过程,而通过神经网络学习并表示 𝑝𝜃(𝐱𝑡−1|𝐱𝑡) 的过程就是Diffusion 逆向去噪的核心。
U-Net神经网络预测噪声
神经网络需要在特定时间步长接收带噪声的图像,并返回预测的噪声。预测噪声是与输入图像具有相同大小/分辨率的张量。 在模型结构方面,DDPM的作者选择了U-Net,这个网络就像任何自动编码器一样,在中间由一个bottleneck组成,确保网络只学习最重要的信息。
目前,扩散模型的主要(也许唯一)缺点是它们需要多次正向传递来生成图像(对于像GAN这样的生成模型来说,情况并非如此)。然而,有正在进行中的研究表明只需要10个去噪步骤就能实现高保真生成。

Diffusion扩散模型
Diffusion Model
如果将Diffusion与其他生成模型(如Normalizing Flows、GAN或VAE)进行比较,它并没有那么复杂,它们都将噪声从一些简单分布转换为数据样本,Diffusion也是从纯噪声开始通过一个神经网络学习逐步去噪,最终得到一个实际图像。Diffusion对于图像的处理包括以下两个过程:
扩散模型实现原理
Diffusion 前向过程
所谓前向过程,即向图片上加噪声的过程。
Diffusion 逆向过程
逆向过程(reverse)就是diffusion的去噪推断过程,而通过神经网络学习并表示 𝑝𝜃(𝐱𝑡−1|𝐱𝑡) 的过程就是Diffusion 逆向去噪的核心。
U-Net神经网络预测噪声
神经网络需要在特定时间步长接收带噪声的图像,并返回预测的噪声。预测噪声是与输入图像具有相同大小/分辨率的张量。 在模型结构方面,DDPM的作者选择了U-Net,这个网络就像任何自动编码器一样,在中间由一个bottleneck组成,确保网络只学习最重要的信息。
目前,扩散模型的主要(也许唯一)缺点是它们需要多次正向传递来生成图像(对于像GAN这样的生成模型来说,情况并非如此)。然而,有正在进行中的研究表明只需要10个去噪步骤就能实现高保真生成。