昇思学习(第二十一天):Diffusion扩散模型
收藏回复举报
昇思学习(第二十一天):Diffusion扩散模型
发表于2024-07-20 00:21:22
0 查看

Diffusion扩散模型

Diffusion Model

如果将Diffusion与其他生成模型(如Normalizing Flows、GAN或VAE)进行比较,它并没有那么复杂,它们都将噪声从一些简单分布转换为数据样本,Diffusion也是从纯噪声开始通过一个神经网络学习逐步去噪,最终得到一个实际图像。Diffusion对于图像的处理包括以下两个过程:

  • 我们选择的固定(或预定义)正向扩散过程 𝑞 :它逐渐将高斯噪声添加到图像中,直到最终得到纯噪声
  • 一个学习的反向去噪的扩散过程 𝑝𝜃 :通过训练神经网络从纯噪声开始逐渐对图像去噪,直到最终得到一个实际的图像

扩散模型实现原理

Diffusion 前向过程

所谓前向过程,即向图片上加噪声的过程。

Diffusion 逆向过程

逆向过程(reverse)就是diffusion的去噪推断过程,而通过神经网络学习并表示 𝑝𝜃(𝐱𝑡−1|𝐱𝑡) 的过程就是Diffusion 逆向去噪的核心。

U-Net神经网络预测噪声

神经网络需要在特定时间步长接收带噪声的图像,并返回预测的噪声。预测噪声是与输入图像具有相同大小/分辨率的张量。 在模型结构方面,DDPM的作者选择了U-Net,这个网络就像任何自动编码器一样,在中间由一个bottleneck组成,确保网络只学习最重要的信息。

目前,扩散模型的主要(也许唯一)缺点是它们需要多次正向传递来生成图像(对于像GAN这样的生成模型来说,情况并非如此)。然而,有正在进行中的研究表明只需要10个去噪步骤就能实现高保真生成。

true

我要发帖子