diff --git "a/Markdown/zh/forward_process.html" "b/Markdown/zh/forward_process.html" new file mode 100644--- /dev/null +++ "b/Markdown/zh/forward_process.html" @@ -0,0 +1,254 @@ +

对于任意的数据分布q(x)q(x),均可连续应用上述的变换(如式4.1~4.4),随着变换的次数的增多,输出的概率分布将变得越来越接近于标准正态分布。对于较复杂的数据分布,需要较多的次数或者较大的噪声。

+

具体可看Demo 3.1,第一子图是随机生成的一维概率分布,经过7次的变换后,最终的概率分布与标准正态分布非常相似。相似的程度与迭代的次数和噪声大小正相关。对于相同的相似程度,如果每次所加的噪声较大(较小的α\alpha值),那所需变换的次数将较少。读者可尝试不同的α\alpha值和次数,观测最终概率分布的相似程度。

+

起始概率分布的复杂度会比较高,随着变换的次数增多,概率分布q(zt)q(z_t)的复杂度将会下降。根据第3节结论,更复杂的概率分布对应更复杂的后验概率分布,所以,为了保证后验概率分布与高斯函数较相似(较容易学习),在起始阶段,需使用较大的α\alpha(较小的噪声),后期阶段可适当使用较小的α\alpha(较大��噪声),加快向标准正态分布转变。

+

在Demo3的例子可以看到,随着变换次数增多,q(zt)q(z_t)的棱角变得越来越少,同时,后验概率分布q(zt1zt)q(z_{t-1}|z_t)图中的斜线变得越来越笔直匀称,越来越像条件高斯分布。

+

Z1=α1X+1α1ϵ1Z2=α2Z1+1α2ϵ2Zt=αtZt1+1αtϵtZT=αTZT1+1αTϵTwhereαt<1t1,2,,T\begin{align} + Z_1 &= \sqrt{\alpha_1} X + \sqrt{1-\alpha_1}\epsilon_1 \tag{4.1} \newline + Z_2 &= \sqrt{\alpha_2} Z_1 + \sqrt{1-\alpha_2}\epsilon_2 \tag{4.2} \newline + &\dots \notag \newline + Z_{t} &= \sqrt{\alpha_t}Z_{t-1} + \sqrt{1-\alpha_t}\epsilon_{t} \tag{4.3} \newline + &\dots \notag \newline + Z_{T} &= \sqrt{\alpha_T}Z_{T-1} + \sqrt{1-\alpha_T}\epsilon_{T} \tag{4.4} \newline + &where \quad \alpha_t < 1 \qquad t\in {1,2,\dots,T} \notag +\end{align}

+

把式4.1代入式4.2,同时利用高斯分布的性质,可得出q(z2x)q(z_2|x)的概率分布的形式 +z2=α2(α1x+1α1ϵ1)+1α2ϵ2=α2α1x+α2α2α1ϵ1+1α2ϵ2=N(α1α2x, 1α1α2)\begin{align} + z_2 &= \sqrt{\alpha_2}(\sqrt{\alpha_1}x + \sqrt{1-\alpha_1}\epsilon_1) + \sqrt{1-\alpha_2}\epsilon_2 \tag{4.5} \newline + &= \sqrt{\alpha_2\alpha_1}x + \sqrt{\alpha_2-\alpha_2\alpha_1}\epsilon_1 + \sqrt{1-\alpha_2}\epsilon_2 \tag{4.6} \newline + &= \mathcal{N}(\sqrt{\alpha_1\alpha_2}x,\ 1-\alpha_1\alpha_2) \tag{4.7} +\end{align}

+

同理,可递推得出 +q(ztx)=N(α1α2αtx, 1α1α2αt)=N(αtˉx, 1αtˉ)where αtˉj=1tαj\begin{align} + q(z_t|x) &= \mathcal{N}(\sqrt{\alpha_1\alpha_2\cdots\alpha_t}x,\ 1-\alpha_1\alpha_2\cdots\alpha_t) = \mathcal{N}(\sqrt{\bar{\alpha_t}}x,\ 1-\bar{\alpha_t}) \qquad where\ \bar{\alpha_t} \triangleq \prod_{j=1}^t\alpha_j \tag{4.8} +\end{align}

+

比较式4.8和式2.1的形式,可发现,两者的形式是完全一致的。如果只关注最终变换后的分布q(zt)q(z_t),那么连续t次的小变换可用一次大变换替代,大变换的α\alpha是各个小变换的α\alpha累积。

+

在DDPM[2]论文中,作者使用了1000步(T=1000),将数据分布q(x)q(x)转换至q(zT)q(z_T)q(zTx)q(z_T|x)的概率分布如下: +q(zTx)=N(0.00635 x, 0.99998)\begin{align} + q(z_T|x) &= \mathcal{N}(0.00635\ x,\ 0.99998) \tag{4.9} +\end{align}

+

如果只考虑q(zT)q(z_T),也可使用一次变换代替,变换如下: +ZT=0.0000403 X+10.0000403 ϵ=0.00635 X+0.99998 ϵ\begin{align} + Z_T = \sqrt{0.0000403}\ X + \sqrt{1-0.0000403}\ \epsilon = 0.00635\ X + 0.99998\ \epsilon \tag{4.10} +\end{align} +可以看出,应用两种变换后,变换后的分布q(zTx)q(z_T|x)相同,因此,q(zT)q(z_T)也相同。

+
\ No newline at end of file