安和 (@annhe) 在 记录对于扩散模型的理解 中发帖
扩散模型是一种生成模型,常用于于图像生成
1. 扩散模型的基本思想
扩散模型的核心在于模拟数据的“扩散”和“恢复”过程:
前向过程(加噪):从真实数据开始,逐步添加噪声,最终将数据变成纯噪声。
反向过程(去噪):从纯噪声开始,逐步去除噪声,恢复到接近真实数据的样本。
这个过程可以看作是一个“破坏”与“重建”的循环,其中前向过程是固定的,而反向过程需要通过神经网络学习。
2. 前向过程(加噪)
前向过程是一个固定的、不可学习的扩散过程,通常被建模为一个马尔科夫链。目标是将真实数据逐步“污染”成纯噪声。
前向过程通过预定义的噪声调度,扩散过程离散化为 T 个时间步,在时间步 t 时的带噪样本:
\mathbf{z} = a(t) \mathbf{x} + b(t) \boldsymbol{\epsilon} 其中, \boldsymbol{\epsilon}_t \sim \...