趋近智
在扩散模型中,正向过程是一个逐步向数据添加噪声的固定步骤。然而,生成式AI的目标是逆转此过程:从纯噪声 xT∼N(0,I) 开始,我们希望依次采样 xT−1,然后是 xT−2,依此类推,直到得到一个看起来像是来自我们原始数据分布的干净样本 x0。实现这一目标需要计算逆向转移概率 p(xt−1∣xt)。
如果我们能够精确计算 p(xt−1∣xt),我们就可以迭代地从中采样以生成数据。然而,直接计算此分布构成一项重大挑战。为什么?因为转移回到噪声较少的状态 xt−1 的概率不仅取决于当前的噪声状态 xt,还隐含地取决于所有可能的起始数据点 q(x0) 的整个分布。在数学上,评估 p(xt−1∣xt) 涉及对所有可能的初始数据点 x0 进行边际化:
p(xt−1∣xt)=∫p(xt−1∣xt,x0)q(x0∣xt)dx0项 q(x0∣xt) 表示给定噪声版本 xt 的特定起始数据点 x0 的概率。计算这需要了解(未知)真实数据分布 q(x0),并涉及复杂的积分,这使得真实的逆向概率 p(xt−1∣xt) 对于复杂数据集难以计算。
有趣的是,如果我们知道导致 xt 的起始点 x0,情况就会有所不同。逆向条件概率 p(xt−1∣xt,x0) 是可处理的。使用贝叶斯定理以及在正向过程中添加的高斯噪声 q(xt∣xt−1) 的性质(由噪声调度 βt 定义),我们可以证明这个分布也是一个高斯分布:
p(xt−1∣xt,x0)=N(xt−1;μ~t(xt,x0),β~tI)在此,N(x;μ,σ2I) 表示均值为 μ 和对角协方差为 σ2I 的高斯分布。方差 β~t 和均值 μ~t(xt,x0) 仅取决于已知的正向过程噪声调度参数(βt 或等价地 αt=1−βt 和 αˉt=∏s=1tαs)以及 xt 和 x0 的特定值。具体来说:
β~t=1−αˉt1−αˉt−1βt μ~t(xt,x0)=1−αˉtαˉt−1βtx0+1−αˉtαt(1−αˉt−1)xt这些方程告诉我们,如果我们知道与噪声图像 xt 对应的原始图像 x0,我们就可以精确计算它来自的噪声略少的图像 xt−1 的分布。
但问题在于:在实际生成过程(采样)中,我们没有 x0。我们的目标正是从纯噪声 xT 开始生成 x0。知道 x0 将使目的落空。
由于真实的逆向转移 p(xt−1∣xt) 难以处理,且条件逆向转移 p(xt−1∣xt,x0) 需要未知 x0,我们需要一个替代方法。解决方法是使用一个学习模型来逼近真实的逆向转移。
我们引入一个参数化分布,通常是一个神经网络,记作 pθ(xt−1∣xt),以逼近难以处理的真实后验 p(xt−1∣xt)。该网络的参数 θ 将从数据中学习。
显示难以处理的真实逆向转移、可处理的条件逆向转移(需要 x0)以及使用神经网络学习得到的逼近 pθ(xt−1∣xt) 之间关系的图。
这个神经网络将当前的噪声状态 xt 和当前时间步 t 作为输入,并输出逼近逆向分布 pθ(xt−1∣xt) 的参数。由于可处理的条件逆向分布 p(xt−1∣xt,x0) 是高斯分布,因此将我们的逼近 pθ(xt−1∣xt) 也建模为高斯分布是方便且效果好的:
pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t))在此,μθ(xt,t) 是均值,Σθ(xt,t) 是协方差矩阵,两者都由神经网络 θ 预测。因此,网络的任务是学习函数 μθ 和 Σθ,以准确预测给定 xt 的 xt−1 分布的参数。
在许多成功的扩散模型中,例如原始的去噪扩散概率模型(DDPM),协方差矩阵 Σθ(xt,t) 不被直接学习。相反,它通常被固定为一个与正向过程方差相关的值,例如 Σθ(xt,t)=β~tI 或 Σθ(xt,t)=βtI。这大大简化了学习问题:神经网络只需要学习逆向转移的均值 μθ(xt,t)。
下一步是理解我们如何参数化这个神经网络,具体来说,它如何预测均值 μθ(xt,t),以及我们如何训练它以有效逆转扩散过程。正如我们将看到的,一种常见且效果好的方法是训练网络以预测在时间步 t 添加的噪声。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造