Diffusion Model

Difussion模型是当今生成领域火热的模型,过往的GAN和VAE已然退出前排。

本文主要围绕《Denoising Diffusion Probabilistic Models》 (DDPM) 展开。

简要介绍

Diffusion模型本质上是加噪和去噪的过程,通过加噪将一张图片转为纯噪声,通过去噪将一张噪声转为有价值的图片。

这种原理其实很显然,比如像GAN和VAE,从特定分布中抽取并生成,image = f(noise)。Diffusion也是这样,只要我们能通过一个g(image)=noise,那么我们就能从g(image)=noise中得到image = f(noise)。但由于神经网络的复杂性(一个黑盒子很难找到它的反函数),所以Diffusion做的处理是,加噪使用简单的操作,去噪再使用神经网络,而不是两者都用神经网络。(这样做也更简单。)

另一方面,由于直接预测会很难,所以内部实际上是预测残差。

这有点类似GBDT,不断地去拟合残差,且不是一次拟合完。多次逐一地去拟合。

算法

对于训练的第五行:

画红框的地方是这样来的:

对于sampling的第四行:







对于KL散度,有以下公式。

但是实际上方差我们假定是固定的,所以只需要均值越靠近越好。也就是相当于使用去噪神经网络直接预测左下角那一坨。



另外,注意到第四行最右边还有一项加噪声,这是为了多样性。正如李宏毅课上所说的,实际上的模型也并不是每次取最优解。

参考资料

1.李宏毅的机器学习课程

2.苏神的生成扩散模型漫谈一系列文章


Diffusion Model
https://lijianxiong.work/2025/20250427/
作者
LJX
发布于
2025年4月27日
许可协议