Score-SDE
扩散模型的前向过程前向过程的一般形式假设有一个DDD维随机变量x0∈RDx_0∈R^Dx0∈RD其真实分布q0(x0)q_0(x_0)q0(x0)是未知的例如图像数据的分布。扩散模型定义了一个前向过程{xt}t∈[0,T]\{x_t\}_{t \in [0, T]}{xt}t∈[0,T]从x0x_0x0开始随时间ttt逐渐加入噪声。该过程的关键性质是给定初始状态x0x_0x0任意时刻t的条件分布为高斯分布q0t(xt∣x0)N(xt∣αtx0,σt2I)q_{0t}(x_t \mid x_0) \mathcal{N}\left(x_t \mid \alpha_t x_0, \sigma_t^2 I\right)q0t(xt∣x0)N(xt∣αtx0,σt2I)αt\alpha_tαt和σt\sigma_tσt是正的、可微的、有界导数的函数称为噪声调度。信号-噪声比SNR 定义为αt2σt2\frac{\alpha_t^2}{\sigma_t^2}σt2αt2是时间ttt的严格递减函数这保证随着时间增加原始信号逐渐被噪声淹没。通常选择α(0)1\alpha(0)1α(0)1σ(0)0\sigma(0)0σ(0)0初始时刻无噪声情况α(T)≈0\alpha(T)\approx0α(T)≈0σ(t)0\sigma(t)0σ(t)0。扩散过程的SDE表示上述条件高斯过渡实际上等价于一个伊藤随机微分方程SDE 的解。该 SDE 为dxtf(t)xtdtg(t)dwt,x0∼q0(x0)dx_t f(t) x_t dt g(t) dw_t, \quad x_0 \sim q_0(x_0)dxtf(t)xtdtg(t)dwt,x0∼q0(x0)其中wtw_twt是标准维纳过程布朗运动而漂移系数f(t)f(t)f(t)和扩散系数g(t)g(t)g(t)由噪声调度决定f(t)dlogαtdt,g2(t)dσt2dt−2dlogαtdtσt2f(t) \frac{d\log\alpha_t}{dt}, \quad g^2(t) \frac{d\sigma_t^2}{dt} - 2\frac{d\log\alpha_t}{dt}\sigma_t^2f(t)dtdlogαt,g2(t)dtdσt2−2dtdlogαtσt2这个 SDE将离散时间加噪过程如 DDPM推广到连续时间为后续推导反向过程提供了数学框架。逆向过程在适当的正则条件下前向 SDE 对应一个反向时间 SDE从T 到0逐步去除噪声。反向过程为dxt[f(t)xt−g2(t)∇xlogqt(xt)]dtg(t)dwˉt,xT∼qT(xT)dx_t \left[ f(t)x_t - g^2(t)\nabla_x \log q_t(x_t) \right] dt g(t) d\bar{w}_t, \quad x_T \sim q_T(x_T)dxt[f(t)xt−g2(t)∇xlogqt(xt)]dtg(t)dwˉt,xT∼qT(xT)这里wˉt\bar{w}_twˉt是反向时间中的维纳过程时间倒流时噪声方向反转。∇xlogqt(xt)∇xlogq_t(x_t)∇xlogqt(xt)称为得分函数score function是边际分布qt(x)q_t(x)qt(x)关于xtx_txt的对数梯度。它指示了从含噪数据中“去除噪声”的方向。关键点如果我们知道每个时刻t的得分函数就可以从纯噪声xT∼N(0,σ~2I)x_T \sim \mathcal{N}(0, \tilde{\sigma}^2 I)xT∼N(0,σ~2I)出发模拟反向 SDE从而生成新的样本相当于从q0q_0q0中采样。