Diffusion

Diffusion

首先是采样部分。你把一个照片不断加噪音,让它糊掉,于是你得到了一串从清晰到全糊的一串照片。
然后训练的部分,你弄一个AI。你拿相邻的两张照片,比如一张糊了一点和糊了一些的照片放到AI面前,或者95%糊和100%纯gaussian noise给它看,让它找规律。它见得多了,对于任意一张清晰到白噪音的照片,它都能“想起”或者“生成”一张稍微再清晰一点的照片。
最后生成的时候,你拿一张白噪音给它,它就想起自己之前看过的95糊到全糊的训练样本,然后给你一张95糊的。你再把95糊的给它,还你90糊的,以此类推。让它重复个几十次,到最后就给你一张全清晰的。
注意,信息是由网络注入到白噪音里的。

为什么反向去噪过程叫采样?

扩散模型的目标是从一个复杂的概率分布(例如训练数据的分布)中生成样本。在概率论中,从分布中生成数据的过程被称为采样(Sampling)

  • 正向过程:将数据逐步添加噪声,最终变成标准高斯分布。
  • 逆向过程:从标准高斯分布中逐步采样,生成符合数据分布的样本。

因此,扩散模型的生成过程本质上是从模型学到的分布中采样数据。

为什么去噪时候要采样多次?

扩散模型需要采样多次(如 1000 次),是因为:

  • 逆扩散过程是逐步去噪的,每一步都依赖于前一步的结果
  • 多次采样可以逐步逼近真实数据分布,生成高质量样本。
  • 一次性采样会导致信息丢失,无法还原复杂的数据分布。