扩散模型原理中总是会提到贝叶斯定理,对于这个公式推导我每次看都会有疑问,为什么需要用这个定理计算后验分布?这是因为:
在扩散模型中,反向过程的目标是从噪声中恢复数据。但是,反向过程的条件分布 q(x_{t-1}|x_t) 是难以直接计算的(因为需要积分整个数据分布)。然而,如果我们知道 x_0(即原始数据),那么后验分布 q(x_{t-1}|x_t, x_0) 是可以解析求出的。
首先怎么理解贝叶斯定理呢?尤其这里的A和B呢?注意这里“更新信念”和“初始信念”的定义特别好。

· 在扩散模型的反向过程中,我们需要根据一个噪声分布x_t 预测x_t-1,因此在贝叶斯公式中,A是我们要计算的x_t-1,B是我们观察到的x-t,而且在训练过程中会有x0作为观察到的已知证据,(这里不确定,也有可能是因为x-t和xt-1都是因为要在同一个x0的情况下发生,所以使用了二者在x-0发生的情况下的条件概率,deep seek的解释是这个)。接下来是deepseek的解答:

这一步推理过程是使用了重参数化的技巧,向我们展示了均值和方差的变化:

然后我就好奇了这个后验分布的计算既然依赖于先验分布,那么在推理阶段的x-0是未知的,如何根据x-t计算xt-1呢?继续问了deepseek“这个过程是只发生在扩散模型的反向过程吗?是在训练过程和推理阶段都有还是只在训练阶段有?”,当然是二者都有:

也就是说我们默认模型在训练过程中了解到了前向的添加原理,并且在模型可以根据预测噪声ε并与现有xt做计算就能获得先验分布、证据、似然?因为我们已经在训练阶段预设了前向计算时的α和β的调度规则,所以预测出ε后可以根据公式计算出x0,如此一来贝叶斯公式中需要的其他三项就能计算出来了。

下集预告:朗之万动力学采样
一、为什么这样定义先验/后验概率?
1. 物理过程建模需求
扩散模型模拟了物理中的非平衡热力学过程:
-
前向过程(扩散):数据逐渐被噪声破坏,对应自然界中的熵增过程
-
反向过程(生成):需要实现熵减,必须依赖严格的概率推导
2. 数学可逆性保证
通过贝叶斯定理定义的后验分布:
-
确保前向过程加入的噪声可被解析地逆推
-
前向过程的马尔可夫链性质(q(xt∣xt−1)q(xt∣xt−1))使得后验分布 q(xt−1∣xt,x0)q(xt−1∣xt,x0) 具有闭式解
3. 生成质量优化
-
先验(q(xt−1∣x0)q(xt−1∣x0)):保持对原始数据结构的记忆
-
后验(q(xt−1∣xt,x0)q(xt−1∣xt,x0)):动态平衡当前噪声状态与原始数据信息
4. 与传统VAE的区别
不同于VAE中任意假设的近似后验,扩散模型的后验是精确计算得到的:
q(xt−1∣xt,x0)=N(μ~t(xt,x0),β~tI)q(xt−1∣xt,x0)=N(μ~t(xt,x0),β~tI)
其中均值和方差都有解析表达式。

被折叠的 条评论
为什么被折叠?



