DDPM - Denoising Diffusion Probabilistic Models 扩散模型
扩散模型概述
扩散模型是在模拟图像加噪的逆向过程。也就是在实现一个去噪的过程。简单的来说就包括两个过程组成
- 前向的扩散过程 Forward Diffusion Process
- 反向扩散过程 Reverse Diffusion Process
q是正向加噪的过程,p是一个去噪的过程
下面我们对整个的加噪的过程细节进行一个简单的描述。每次加噪的比例都只占很小的一部分
下面的公式中我们说明了加噪的比例,
x t 与 x t − 1 的关系 : x t = β t × ϵ t + 1 − β t × x t − 1 x_{t} \text { 与 } x_{t-1} \text { 的关系 : } x_{t}=\sqrt{\beta}_{t} \times \epsilon_{t}+\sqrt{1-\beta_{t}} \times x_{t-1} xt 与 xt−1 的关系 : xt=βt×ϵt+1−βt×xt−1
为了方便进行表示我们可以定义:αt = 1 - βt
x t = 1 − α t ϵ t + α t x t − 1 x_{t}=\sqrt{1-\alpha_{t}} \epsilon_{t}+\sqrt{\alpha_{t}} x_{t-1} xt=1−αtϵt+αtxt−1
细节说明:
-
我们并不是在原图像上进行加噪的而是将图像 x0 像素值映射到 [-1,1] 之间。
x 255 × 2 − 1 \frac{x}{255} \times 2-1 255x×2−1 -
生成一张尺寸相同的噪声图片,像素值服从标准正态分布
ϵ ∼ N ( 0 , 1 ) \epsilon \sim N(0,1) ϵ∼N(0,1)
-
α与β 每个时刻的 βt 都各不相同, 0 < βt < 1, 且 β1 < β2 < … < βT-1 < βT
β是作为一个权重存在的
-
任一时刻的图像xt 都可以由原图像 x0 直接生成 (可以由含x0 的公式直接表示)
x t 与 x 0 的关系 : x t = 1 − α ˉ t ϵ + α ˉ t x 0 α t = 1 − β t α ˉ t = α t α t − 1 … α 2 α 1 x_{t} \text { 与 } x_{0} \text { 的关系 : } x_{t}=\sqrt{1-\bar{\alpha}_{t}} \epsilon+\sqrt{\bar{\alpha}_{t}} x_{0} \quad \alpha_{t}=1-\beta_{t} \quad \bar{\alpha}_{t}=\alpha_{t} \alpha_{t-1} \ldots \alpha_{2} \alpha_{1} xt 与 x0 的关系 : xt=1−αˉtϵ+αˉtx0αt=1−βtαˉt=αtαt−1…α2α1
我们将t时刻的值和图像输入到Denoise Model里面去。就可以得到一个输出的图像。
Denoise Model的一个最主要的部分就是其中的一个Unet
网络架构。T时刻的图像
和 t时刻的值
我们将其输入到Unet网络中去,其输出就是一张噪声图像。
ϵ θ \epsilon_{\theta} ϵθ
其中的theta表示的就是Unet网络中所有参数的集合。weight bias等等一些参数。
我们得到噪音图像之后将它乘以一个系数。
1 − α t 1 − α ˉ t ϵ θ \frac{1-\alpha_{t}}{\sqrt{1-\bar{\alpha}_{t}}} \boldsymbol{\epsilon}_{\theta} 1−αˉt1−αtϵθ
x t − 1 = 1 α t ( x t − 1 − α t 1 − α ˉ ‾ t ϵ θ ) + σ t z \mathbf{x}_{t-1}=\frac{1}{\sqrt{\alpha_{t}}}\left(\mathbf{x}_{t}-\frac{1-\alpha_{t}}{\sqrt{1-\overline{\bar{\alpha}} t}} \boldsymbol{\epsilon}_{\theta}\right)+\sigma_{t} \mathbf{z} xt−1=αt1(xt−1−αˉt1−αtϵθ)+σtz
σ 2 = β t ( 1 − α ˉ t − 1 ) 1 − α ˉ t \sigma^{2}=\frac{\beta_{t}\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_{t}} σ2=1−αˉtβt(1−αˉt−1)
经过这些计算就可以得到前一时刻T-1的图像。整个过程可以用下面的一张图来进行表示。
这就是我们去噪的一个过程了。
训练阶段和预测阶段的示意图
论文中给出了训练阶段和预测阶段的算法描述图。
1: 对于训练阶段我们重复的进行执行直到模型收敛的时候算法结束。
x 0 ∼ q ( x 0 ) \mathbf{x}_{0} \sim q\left(\mathbf{x}_{0}\right) x0∼q(x0)
2:表示从我们的数据集中筛选出一张图像。其为x0
t ∼ Uniform ( { 1 , … , T } ) t \sim \operatorname{Uniform}(\{1, \ldots, T\}) t∼Uniform({ 1,…,T})
3: 表示从我们的均匀分布中取出一个值令其为t T=1000
ϵ ∼ N ( 0 , 1 ) \boldsymbol{\epsilon} \sim \mathcal{N}(\mathbf{0}, \mathbf{1}) ϵ∼N(0,1)
4: 从标准的正态分布中采样出一个epsilon 这个epsilon的尺寸和原图像的尺寸要是一样的。
Take gradient descent step on ∇ θ ∥ ϵ − ϵ θ ( α ˉ t x 0 + 1 − α ˉ t ϵ , t ) ∥ 2 \begin{array}{l} \text { Take gradient descent step on }\\ \nabla_{\theta}\left\|\boldsymbol{\epsilon}-\boldsymbol{\epsilon}_{\theta}\left(\sqrt{\bar{\alpha}_{t}} \mathbf{x}_{0}+\sqrt{1-\bar{\alpha}_{t}} \boldsymbol{\epsilon}, t\right)\right\|^{2} \end{array} Take gradient descent step on ∇θ ϵ−ϵθ(αˉtx0+1−αˉtϵ,t) 2
5 : 计算epsilon和epsilon theta的均方误差作为损失函数,并通过梯度下降法去优化这个函数。
这个过程就类似于一个正向扩散的过程了。下面我们继续看我们这个模型的预测过程的算法流程
x T ∼ N ( 0 , I ) \mathbf{x}_{T} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) xT∼N(0,I)
1:我们先从随机分布中采样出一个XT来
2 :循环T次来执行我们的算法
z ∼ N ( 0 , I ) if t > 1 , else z = 0 \mathbf{z} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) \text { if } t>1 \text {, else } \mathbf{z}=\mathbf{0} z∼N(0,I) if t>1, else z=0
3: 根据条件在随机分布中又采样出了一个z
x t − 1 = 1 α t ( x t − 1 − α t 1 − α ˉ t ϵ θ ( x t , t ) ) + σ t z \mathbf{x}_{t-1}=\frac{1}{\sqrt{\alpha_{t}}}\left(\mathbf{x}_{t}-\frac{1-\alpha_{t}}{\sqrt{1-\bar{\alpha}} t} \boldsymbol{\epsilon}_{\theta}\left(\mathbf{x}_{t}, t\right)\right)+\sigma_{t} \mathbf{z} xt−1=αt1(xt−1−αˉt1−αtϵθ(xt,t))+σtz
根据这个公式我们来预测上一个时刻的图像xt-1。
循环的执行这个操作直到产生出了最开始的原图像之后,整个预测过程中的算法在停止执行。
基础数学知识
在推导公式之前引入并简单的说明需要使用的数学公式的原理。
- 独立事件的条件概率
A 和 B 是两个独立事件 ⇒ P ( A ∣ B ) = P ( A ) , P ( B ∣ A ) = P ( B ) ⇒ P ( A , B ∣ C ) = P ( A ∣ C ) P ( B ∣ C ) \begin{array}{l} \mathrm{A} \text { 和 } \mathrm{B} \text { 是两个独立事件 } \Rightarrow P(A \mid B)=P(A), \quad P(B \mid A)=P(B)\\ \Rightarrow P(A, B \mid C)=P(A \mid C) P(B \mid C) \end{array} A 和 B 是两个独立事件 ⇒P(A∣B)=P(A),P(B∣A)=P(B)⇒P(A,B∣C)=P(A∣C)P(B∣C)
- 贝叶斯公式、先验概率、后验概率、似然、证据
贝叶斯公式: P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) \text { 贝叶斯公式: } P(A \mid B)=\frac{P(B \mid A) P(A)}{P(B)} 贝叶斯公式: P(A∣B)=P(B)P(B∣A)P(A)
- 先验概率(prior):P(A)
- 后验概率(posterior):P(AIB)
- 似然(likelihood):P(B|A)
- 证据(evidence):P(B))
- 马尔科夫链模型的数学概念。马尔可夫链:下一状态的概率分布仅取决于当前状态,与过去的状态无关
P ( C ∣ A , B ) = P ( C ∣ B ) P ( A , B , C ) = P ( C ∣ A , B ) P ( A B ) = P ( C ∣ B ) P ( B ∣ A ) P ( A ) \begin{array}{l} P(C \mid A, B)=P(C \mid B) \\ P(A, B, C)=P(C \mid A, B) P(A B)=P(C \mid B) P(B \mid A) P(A) \end{array} P(C∣A,B)=P(C∣B)P(A,B,C)=P(C∣A,B)P(AB)=P(C∣B)P(B∣A)P(A)
我们假设每一时刻事件的发生是相对独立的。
P ( x t ∣ x t − 1 , x t − 2 … x 1 , x 0 ) = P ( x t ∣ x t − 1 ) P\left(x_{t} \mid x_{t-1}, x_{t-2} \ldots x_{1}, x_{0}\right)=P\left(x_{t} \mid x_{t-1}\right) P(xt∣xt−1,xt−2…x1,x0)=P(xt∣xt−1)
正向扩散过程: q ( x 0 : x T ) = q ( x 0 ) q ( x 1 ∣ x 0 ) q ( x 2 ∣ x 1 ) … q ( x T − 1 ∣ x T − 2 ) q ( x T ∣ x T − 1 ) 正向扩散过程: q\left(x_{0}: x_{T}\right)=q\left(x_{0}\right) q\left(x_{1} \mid x_{0}\right) q\left(x_{2} \mid x_{1}\right) \ldots q\left(x_{T-1} \mid x_{T-2}\right) q\left(x_{T} \mid x_{T-1}\right) 正向扩散过程:q(x0:xT)=q(x0)q(x1∣x0)q(x2∣x1)…q(xT−1∣xT−2)q(xT∣xT−1)
逆向扩散过程: p ( x 0 : x T ) = p ( x T ) p ( x T − 1 ∣ x T ) p ( x T − 2 ∣ x T − 1 ) … p ( x 1 ∣ x 2 ) p ( x 0 ∣ x 1 ) 逆向扩散过程: p\left(x_{0}: x_{T}\right)=p\left(x_{T}\right) p\left(x_{T-1} \mid x_{T}\right) p\left(x_{T-2} \mid x_{T-1}\right) \ldots p\left(x_{1} \mid x_{2}\right) p\left(x_{0} \mid x_{1}\right) 逆向扩散过程:p(x0:xT)=p(xT)p(xT−1∣xT)p(xT−2∣xT−1)…p(x1∣x2)p(x0∣x1)
正向扩散过程的概率我们用q来进行表示而逆向扩散的过程我们用p来进行表示。
- 正态分布,高斯分布
f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 X ∼ N ( μ , σ 2 ) f(x)=\frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{(x-\mu)^{2}}{2 \sigma^{2}}} \quad X \sim \mathcal{N}\left(\mu, \sigma^{2}\right) f(x)=2πσ1e−2σ2(x−μ)2X∼N(μ,σ2)
高斯分布常用的性质包括了下面的几个方面
(1) 如果 X ∼ N ( μ , σ 2 ) , 那么 a X + b ∼ N ( a μ + b , a 2 σ 2 ) \text { (1) 如果 } X \sim \mathcal{N}\left(\mu, \sigma^{2}\right) \text {, 那么 } a X+b \sim \mathcal{N}\left(a \mu+b, a^{2} \sigma^{2}\right) (1) 如果 X∼N(μ,σ2), 那么 aX+b∼N(aμ+b,a2σ2)
两个正态分布相加其结构依然是高斯分布
X ∼ N ( μ 1 , σ 1 2 ) ; Y ∼ N ( μ 2 , σ 2 2 ) , 则 X + Y ∼ N ( μ 1 + μ 2 , σ 1 2 + σ 2 2 ) X \sim \mathcal{N}\left(\mu_{1}, \sigma_{1}^{2}\right) ; Y \sim \mathcal{N}\left(\mu_{2}, \sigma_{2}^{2}\right) \text {, 则 } X+Y \sim \mathcal{N}\left(\mu_{1}+\mu_{2}, \sigma_{1}^{2}+\sigma_{2}^{2}\right) X∼N(μ1,σ12);Y∼N(μ2,σ22), 则 X+Y∼N(μ1+μ2,σ12+σ22)
- 重参数化技巧的简单说明:
对于高斯分布:X~N(μ,o2),采样这个操作本身是不可导的,也就无法通过BP来对参数进行优化。但是我们可以通过重参数化技巧,将简单分布的采样结果变换到特定分布中,如此一来则可以对参数进行求导。
- 引入服从标准正态分布的随机变量
z ∼ N ( 0 , 1 ) z \sim \mathcal{N}(0,1) z∼N(0,1)
- (2) 令 x = μ + σ z , 这样 就满足 X ∼ N ( μ , σ 2 ) \text { (2) 令 } x=\mu+\sigma z \text {, 这样 就满足 } X \sim \mathcal{N}\left(\mu, \sigma^{2}\right) (2) 令 x=μ+σz, 这样 就满足 X∼N(μ,σ2)
- 数学期望:期望是指随机变量取值的平均值,用来刻画随机变量的集中位置
- 离散型随机变量
E ( X ) = ∑ i = 1 n x i p i E(X)=\sum_{i=1}^{n} x_{i} p_{i} E(X)=i=1∑nxipi
Y=g(X) 且需要收敛的这个条件。
E ( Y ) = ∑ i = 1 n g ( x i ) p i E(Y)=\sum_{i=1}^{n} g\left(x_{i}\right) p_{i} E(Y)=i=1∑ng(xi)pi
- 连续型随机变量
E ( X ) = ∫ − ∞ ∞ x f ( x ) d x E(X)=\int_{-\infty}^{\infty} x f(x) d x E(X)=∫−∞∞xf(x)dx
E ( Y ) = ∫ − ∞ ∞ g ( x ) f ( x ) d x E(Y)=\int_{-\infty}^{\infty} g(x) f(x) d x E(Y)=∫−∞∞g(x)f(x)dx
- KL散度和高斯分布的KL散度:
KL散度的作用:用于衡量2个概率分布(分布p和分布q)之间的差异
D K L ( p ∥ q ) = H ( p , q ) − H ( p ) = ∫ x p ( x ) log p ( x ) q ( x ) d x = E x ∼ p ( x ) [ log p ( x ) q ( x ) ] \begin{aligned} D_{K L}(p \| q) & =H(p, q)-H(p) \\ & =\int_{x} p(x) \log \frac{p(x)}{q(x)} d x \\ & =E_{x \sim p(x)}\left[\log \frac{p(x)}{q(x)}\right] \end{aligned} DKL(p∥q)=H(p,q)−H(p)=∫xp(x)logq(x)p(x)dx=Ex∼p(x)[logq(x)p(x)]
其中:
- H(p,q)表示分布p 和 分布q 的交叉熵,
- H§表示分布p 的熵
KL散度重要性质:
- DkL(p||q)≥0
- 当分布p与分布q完全一样时,DkL(p||q)=0
- 对于相同的分布p和分布q,DKL(pllq)与DKL(qlp)计算所得到的值不一样
- 对于 DkL(p||q),我们一般认为 p(x)是真实分布,q(x)是预测分布,
- DkL(p||q)是求预测分布q(x)与真实分布p(x)之间的差距
高斯分布的KL散度: 我们将推导的过程暂时的进行省略。
p ( x ) = N ( μ 1 , σ 1 ) = 1 2 π σ 1 e − ( x − μ 1 ) 2 2 σ 1 2 , q ( x ) = N ( μ 2 , σ 2 ) = 1 2 π σ 2 e − ( x − μ 2 ) 2 2 σ 2 2 K L ( N ( x ∣ μ 1 , Σ 1 ) ∣ ∣ N ( x ∣ μ 2 , Σ 2 ) ) = 1 2 [ log ∣ Σ 2 ∣ ∣ Σ 1 ∣ − K + tr ( Σ 2 − 1 Σ 1 ) + ( μ 1 − μ 2 ) T Σ 2 − 1 ( μ 1 − μ 2 ) ] D K L ( p , q ) = log σ 2 σ 1 − 1 2 + σ 1 2 + ( μ 1 − μ 2 ) 2 2 σ 2 2 \begin{array}{l} p(x)=\mathcal{N}\left(\mu_{1}, \sigma_{1}\right)=\frac{1}{\sqrt{2 \pi} \sigma_{1}} e^{-\frac{\left(x-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}}, \quad q(x)=\mathcal{N}\left(\mu_{2}, \sigma_{2}\right)=\frac{1}{\sqrt{2 \pi} \sigma_{2}} e^{-\frac{\left(x-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}} \\ \mathrm{KL}\left(\mathcal{N}\left(\mathrm{x} \mid \mu_{1}, \Sigma_{1}\right)\left|\mid \mathcal{N}\left(\mathrm{x} \mid \mu_{2}, \Sigma_{2}\right)\right)=\frac{1}{2}\left[\log \frac{\left|\Sigma_{2}\right|}{\left|\Sigma_{1}\right|}-\mathrm{K}+\operatorname{tr}\left(\Sigma_{2}^{-1} \Sigma_{1}\right)+\left(\mu_{1}-\mu_{2}\right)^{\mathrm{T}} \Sigma_{2}^{-1}\left(\mu_{1}-\mu_{2}\right)\right]\right. \\ D_{K L}(p, q)=\log \frac{\sigma_{2}}{\sigma_{1}}-\frac{1}{2}+\frac{\sigma_{1}^{2}+\left(\mu_{1}-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}} \end{array} p(x)=N(μ1,σ1)=2πσ11e−2σ12(x−μ1)2,q(x)=N(μ2,σ2)=2πσ21e−2σ22(x−μ2)2KL(N(x∣μ1,Σ1)∣∣N(x∣μ2,Σ2))=21[log∣Σ1∣∣Σ2∣−K+tr(Σ2−1Σ1)+(μ1−μ2)TΣ2−1(μ1−μ2)]DKL(p,q)=logσ1σ2−21+2σ22σ12+(μ1−μ2)2
8. 极大似然估计
似然函数: L ( θ ) = ∏ i = 1 n p ( x i ∣ θ ) 或 L ( θ ) = ∏ i = 1 n f ( x i ∣ θ ) \text { 似然函数: } L(\theta)=\prod_{i=1}^{n} p\left(x_{i} \mid \theta\right) \quad \text { 或 } \quad L(\theta)=\prod_{i=1}^{n} f\left(x_{i} \mid \theta\right) 似然函数: L(θ)=i=1∏np(xi∣θ) 或 L(θ)=i=1∏nf(xi∣θ)
对数似然函数: H ( θ ) = log L ( θ ) = log ∏ i = 1 n p ( x i ∣ θ ) = ∑ i = 1 n log p ( x i ∣ θ ) \text { 对数似然函数: } \begin{aligned} H(\theta) & =\log L(\theta) \\ & =\log \prod_{i=1}^{n} p\left(x_{i} \mid \theta\right) \\ & =\sum_{i=1}^{n} \log p\left(x_{i} \mid \theta\right) \end{aligned} 对数似然函数: H(θ)=logL(θ)=logi=1∏np(xi∣θ)=i=1∑nlogp(xi∣θ)
- ELBO : Evidence Lower Bound
需要我们极大化对数似然。
maximize logp θ ( x ) = ∫ z q ( z ∣ x ) log p ( x ) d z \operatorname{maximize} \operatorname{logp}_{\theta}(x)=\int_{z} q(z \mid x) \log p(x) d z maximizelogpθ(x)=∫zq(z∣x)logp(x)dz
= ∫ z q ( z ∣ x ) log ( p ( z , x ) p ( z ∣ x ) ) d z = ∫ z q ( z ∣ x ) log ( p ( z , x ) q ( z ∣ x ) p ( z ∣ x ) q ( z ∣ x ) ) d z = ∫ z q ( z ∣ x ) log ( p ( z , x ) q ( z ∣ x ) ) d z + ∫ z q ( z ∣ x ) log ( q ( z ∣ x ) p ( z ∣ x ) ) d z = ∫ z q ( z ∣ x ) log ( p ( z , x ) q ( z ∣ x ) ) d z + D K L ( q ( z ∣ x ) ∣ ∣ p ( z ∣ x ) ) d z ≥ ∫ z q E z ∼ q ( z ∣ x ) [ log ( p ( z , x ) q ( z ∣ x ) ) ] \begin{array}{l} =\int_{z} q(z \mid x) \log \left(\frac{p(z, x)}{p(z \mid x)}\right) d z \\ =\int_{z} q(z \mid x) \log \left(\frac{p(z, x) q(z \mid x)}{p(z \mid x) q(z \mid x)}\right) d z \\ =\int_{z} q(z \mid x) \log \left(\frac{p(z, x)}{q(z \mid x)}\right) d z+\int_{z} q(z \mid x) \log \left(\frac{q(z \mid x)}{p(z \mid x)}\right) d z \\ =\int_{z} q(z \mid x) \log \left(\frac{p(z, x)}{q(z \mid x)}\right) d z+D_{K L}(q(z \mid x)| | p(z \mid x)) d z \\ \geq \int_{z} q E_{z \sim q(z \mid x)}\left[\log \left(\frac{p(z, x)}{q(z \mid x)}\right)\right] \end{array} =∫zq(z∣x)log(p(z∣x)p(z,x))dz=∫zq(z∣x)log(p(z∣x)q(z∣x)p(z,x)q(z∣x))dz=∫zq(z∣x)log(q(z∣x)p(z,x))dz+∫zq(z∣x)log(p(z∣x)q(z∣x))dz=∫zq(z∣x)log(q(z∣x)p(z,x))dz+DKL(q(z∣x)∣∣p(z∣x))dz≥∫zqEz∼q(z∣x)[log(q(z∣x)p(z,x))]
= E z ∼ q ( z ∣ x ) [ log ( p ( z , x ) q ( z ∣ x ) ) ] =E_{z \sim q(z \mid x)}\left[\log \left(\frac{p(z, x)}{q(z \mid x)}\right)\right] =Ez∼q(z∣x)[log(q(z∣x)p(z,x))]
对比上面的推导过程我们在扩散模型中的应用即为:
maximize logp θ ( x ) → m a x i m i z e E L B O = E z ∼ q ( z ∣ x ) [ log p ( p ( z , x ) q ( z ∣ x ) ) ] m a x i m i z e logp θ ( x ) → m a x i m i z e E L B O = E q ( x 1 : x T ∣ x 0 ) [ logp ( p ( x 0 : x T ) q ( x 1 : x T ∣ x 0 ) ) ] \operatorname{maximize} \operatorname{logp}_{\theta}(x) \rightarrow maximize E L B O=E_{z \sim q(z \mid x)}\left[\log p\left(\frac{p(z, x)}{q(z \mid x)}\right)\right] maximize \operatorname{logp}_{\theta}(x) \rightarrow maximize E L B O=E_{q\left(x_{1}: x_{T} \mid x_{0}\right)}\left[\operatorname{logp}\left(\frac{p\left(x_{0}: x_{T}\right)}{q\left(x_{1}: x_{T} \mid x_{0}\right)}\right)\right] maximizelogpθ(x)→maximizeELBO=Ez∼q(z∣x)[logp(q(z∣x)p(z,x))]maximizelogpθ(x)→maximizeELBO=Eq(x1:xT∣x0)[logp(q(x1:xT∣x0)p(x0:xT))]
- 一元二次方程的两种形式
一元二次方程标准形式 : a x 2 + b x + c = 0 , 其中 , a 、 b 、 c ∈ R , 且 a ≠ 0 可通过配方法可得到该一元二次方程的方差形式: a ( x − b 2 a ) 2 + ( 4 a c − b 2 4 a ) = 0 一元二次方程标准形式 : a x^{2}+b x+c=0 , 其中, a 、 b 、 c \in \mathbb{R} , 且 a \neq 0 可通过配方法可得到该一元二次方程的方差形式: a\left(x-\frac{b}{2 a}\right)^{2}+\left(\frac{4 a c-b^{2}}{4 a}\right)=0 一元二次方程标准形式:ax2+bx+c=0,其中,a、b、c∈R,且a=0可通过配方法可得到该一元二次方程的方差形式:a(x−2ab)2+(4a4ac−b2)=0
公式推导
- 公式推导的第一个目标:从加噪过程中推导出两个关系公式。
( 1 ) x t 与 x t − 1 的关系 : x t = 1 − α t ϵ t + α t x t − 1 ⟶ x t ∣ x t − 1 ∼ N ( α t x t − 1 , 1 − α t ) p ( x t ∣ x t − 1 ) = 1 2 π ( 1 − α t ) e − ( x t − α t x t − 1 ) 2 2 ( 1 − α t ) \begin{array}{l} (1) x_{t} \text { 与 } x_{t-1} \text { 的关系 : } x_{t}=\sqrt{1-\alpha_{t}} \epsilon_{t}+\sqrt{\alpha_{t}} x_{t-1} \longrightarrow x_{t} \mid x_{t-1} \sim \mathcal{N}\left(\sqrt{\alpha_{t}} x_{t-1}, 1-\alpha_{t}\right) \\ p\left(x_{t} \mid x_{t-1}\right)=\frac{1}{\sqrt{2 \pi\left(1-\alpha_{t}\right)}} e^{-\frac{\left(x_{t}-\sqrt{\alpha_{t}} x_{t-1}\right)^{2}}{2\left(1-\alpha_{t}\right)}} \end{array} (1)xt 与 xt−1 的关系 : xt=1−αtϵt+αtxt−1⟶xt∣xt−1∼N(αtxt−1,1−αt)p(xt∣xt−1)=2π(1−αt)1e−2(1−αt)(xt−αtxt−1)2
(2) x t 与 x 0 的关系: x t 1 − α ˉ t ⋆ ϵ + α ˉ t x 0 ⟶ x t ∣ x 0 ∼ N ( α ˉ t x 0 , 1 − α ˉ t ) p ( x t ∣ x 0 ) = p ( x t ∣ x t − 1 ) = 1 2 π ( 1 − α ˉ t ) e − ( x t − α t x 0 ) 2 2 ( 1 − α t ) \begin{array}{l} \text { (2) } x_{t} \text { 与 } x_{0} \text { 的关系: }\\ \begin{array}{l} x_{t} \stackrel{\star}{1-\bar{\alpha}_{t}} \epsilon+\sqrt{\bar{\alpha}_{t}} x_{0} \longrightarrow x_{t} \mid x_{0} \sim \mathcal{N}\left(\sqrt{\bar{\alpha}_{t}} x_{0}, 1-\bar{\alpha}_{t}\right) \\ p\left(x_{t} \mid x_{0}\right)=p\left(x_{t} \mid x_{t-1}\right)=\frac{1}{\sqrt{2 \pi(1-\bar{\alpha} t)}} e^{-\frac{\left(x_{t}-\sqrt{\alpha_{t}} x_{0}\right)^{2}}{2\left(1-\alpha_{t}\right)}} \end{array} \end{array} (2) xt 与 x0 的关系: xt1−αˉt⋆ϵ+αˉtx0⟶xt∣x0∼N(αˉtx0,1−αˉt)p(xt∣x0)=p(xt∣xt−1)=2π(1−αˉt)1e−2(1−αt)(xt−αtx0)2
其中有:(加噪过程是一个连续迭代的过程)
α ˉ t = α t α t − 1 … α 2 α 1 , α t = 1 − β t \bar{\alpha}_{t}=\alpha_{t} \alpha_{t-1} \ldots \alpha_{2} \alpha_{1}, \quad \alpha_{t}=1-\beta_{t} αˉt=αtαt−1…α2α1,αt=1−βt
加噪过程的推导
根据之前对加噪过程的描述公式1显然成立
x t = β t × ϵ t + 1 − β t × x t − 1 x_{t}=\sqrt{\beta}_{t} \times \epsilon_{t}+\sqrt{1-\beta_{t}} \times x_{t-1} xt=βt×ϵt+1−βt×xt−1
之前也提到过为了简化计算我们引入公式2的概念
x t = 1 − α t × ϵ t + α t × x t − 1 x_{t}=\sqrt{1-\alpha_{t}} \times \epsilon_{t}+\sqrt{\alpha_{t}} \times x_{t-1} xt=1−αt×ϵt+αt×xt−1
由此我们得到了xt和Xt-1之间的公式关系
显然公式3也是成立的
x t − 1 = 1 − α t − 1 × ϵ t − 1 + α t − 1 × x t − 2 x_{t-1}=\sqrt{1-\alpha_{t-1}} \times \epsilon_{t-1}+\sqrt{\alpha_{t-1}} \times x_{t-2} xt−1=1−αt−1×ϵt−1+αt−1×xt−2
我们将公式3中的xt-1带入到公式2中就可以得到下面的式子了(公式4)
x t = 1 − α t × ϵ t + α t × ( 1 − α t − 1 × ϵ t − 1 + α t − 1 × x t − 2 ) ‾ = α t ( 1 − α t − 1 ) × ϵ t − 1 + 1 − α t × ϵ t + α t α t − 1 × x t − 2 \begin{aligned} x_{t} & =\sqrt{1-\alpha_{t}} \times \epsilon_{t}+\sqrt{\alpha_{t}} \times\left(\underline{\left.\sqrt{1-\alpha_{t-1}} \times \epsilon_{t-1}+\sqrt{\alpha_{t-1}} \times x_{t-2}\right)}\right. \\ & =\sqrt{\alpha_{t}\left(1-\alpha_{t-1}\right)} \times \epsilon_{t-1}+\sqrt{1-\alpha_{t}} \times \epsilon_{t}+\sqrt{\alpha_{t} \alpha_{t-1}} \times x_{t-2} \end{aligned} xt=1−αt×ϵt+αt×(1−αt−1×ϵt−1+αt−1×xt−2)=αt(1−αt−1)×ϵt−1+1−αt×ϵt+αtαt−1×xt−2
其中, ϵ t 和 ϵ t − 1 是两个独立的随机变量, 且 ϵ t ∼ N ( 0 , 1 ) , ϵ t − 1 ∼ N ( 0 , 1 ) \text { 其中, } \epsilon_{t} \text { 和 } \epsilon_{t-1} \text { 是两个独立的随机变量, 且 } \epsilon_{t} \sim N(0,1), \epsilon_{t-1} \sim N(0,1) 其中, ϵt 和 ϵt−1 是两个独立的随机变量, 且 ϵt∼N(0,1),ϵt−1∼N(0,1)
我们根据正态分布的第一条性质可以得到
(1) α t ( 1 − α t − 1 ) × ϵ t − 1 ∼ N ( 0 , α t − α t α t − 1 ) \text { (1) } \sqrt{\alpha_{t}\left(1-\alpha_{t-1}\right)} \times \epsilon_{t-1} \sim N\left(0, \alpha_{t}-\alpha_{t} \alpha_{t-1}\right) (1) αt(1−αt−1)×ϵt−1∼N(0,αt−αtαt−1)
(2) 1 − α t × ϵ t ∼ N ( 0 , 1 − α t ) \text { (2) } \sqrt{1-\alpha_{t}} \times \epsilon_{t} \sim N\left(0,1-\alpha_{t}\right) (2) 1−αt×ϵt∼N(0,1−αt)
我们根据正态分布的第二条性质又可以得到:
α t ( 1 − α t − 1 ) × ϵ t − 1 + 1 − α t × ϵ t ∼ N ( 0 , 1 − α t α t − 1 ) \sqrt{\alpha_{t}\left(1-\alpha_{t-1}\right)} \times \epsilon_{t-1}+\sqrt{1-\alpha_{t}} \times \epsilon_{t} \sim N\left(0,1-\alpha_{t} \alpha_{t-1}\right) αt(1−αt−1)×ϵt−1+1−αt×ϵt∼N(0,1−αtαt−1)
由此可以得到xt和xt-2之间的关系式
x t = 1 − α t α t − 1 × ϵ + α t α t − 1 × x t − 2 其中, ϵ ∼ N ( 0 , 1 ) x_{t}=\sqrt{1-\alpha_{t} \alpha_{t-1}} \times \epsilon+\sqrt{\alpha_{t} \alpha_{t-1}} \times x_{t-2} \quad \text { 其中, } \epsilon \sim N(0,1) xt=1−αtαt−1×ϵ+αtαt−1×xt−2 其中, ϵ∼N(0,1)
依次进行类推可得到:
x t = 1 − α t α t − 1 α t − 2 × ϵ + α t α t − 1 α t − 2 × x t − 3 其中, ϵ ∼ N ( 0 , 1 ) x_{t}=\sqrt{1-\alpha_{t} \alpha_{t-1} \alpha_{t-2}} \times \epsilon+\sqrt{\alpha_{t} \alpha_{t-1} \alpha_{t-2}} \times x_{t-3} \quad \text { 其中, } \epsilon \sim N(0,1) xt=1−αtαt−1αt−2×ϵ+αtαt−1αt−2×xt−3 其中, ϵ∼N(0,1)
结合数学归纳法可以得到:
x t = 1 − α t α t − 1 … α 2 α 1 × ϵ + α t α t − 1 … α 2 α 1 × x 0 x_{t}=\sqrt{1-\alpha_{t} \alpha_{t-1} \ldots \alpha_{2} \alpha_{1}} \times \epsilon+\sqrt{\alpha_{t} \alpha_{t-1} \ldots \alpha_{2} \alpha_{1}} \times x_{0} xt=1−αtαt−1…α2α1×ϵ+αtαt−1…α2α1×x0
最后改写形式就可以得到公式推导的第一个结果:
令 α ˉ t = α t α t − 1 … α 2 α 1 ,得: x t = 1 − α ˉ t × ϵ + α ˉ t × x 0 \begin{array}{l} \text { 令 } \bar{\alpha}_{t}=\alpha_{t} \alpha_{t-1} \ldots \alpha_{2} \alpha_{1} \text { ,得: }\\ x_{t}=\sqrt{1-\bar{\alpha}_{t}} \times \epsilon+\sqrt{\bar{\alpha}_{t}} \times x_{0} \end{array} 令 αˉt=αtαt−1…α2α1 ,得: xt=1−αˉt×ϵ+αˉt×x0
我们通过这个公式的推导就可以证明了只要给定我们原图像x就可以根据我们推导的公式得到任意时刻t的一个图像。
去噪过程的推导
对于去噪的过程我们也提出了两个基本的假设
- 假设去噪过程也是马尔可夫链
- 假设去噪过程看作是高斯分布
损失函数相关的部分
其损失函数的推导就用到了我们之前提到的极大似然估计的相关思想。
假设有100张图像,我们想要直到从xt时刻给定的图像推导到前一时刻的图像的样子。(其实这也是一个去噪的过程。)
我们先只看单个通道的单一位置的一个像素,也就是对应的图中红色像素点的位置,我们将它单独的来进行回看。
这100张图像的这一个红色的像素,是服从正态分布的。换句话来说这100张图像像素值的是从正态分布中采样的一个结果。
我们的任务就是确定这个正态分布的均值和方差来确定这个分布。之后就是生成图像时的一个操作。
- 因为均值和方差以u(t),o(t),无法求出所以我们决定让网络来帮我们预测均值和方差
- 因为每一个像素都有自己的分布,都要预测出一个均值和方差所以,网络输出的尺寸需要和图像尺寸一致,所以我们选用Unet网络
- 作者在论文中表示,方差并不会影响结果,所以网络只要预测均值就可以了
训练样本中的图像的每一个像素,都看成是从对应像素位置的分布中的采样 我们要通过这些采样,求得该分布的参数
极大似然估计思想:
-
假设:图像(每一个像素)服从正态分布。
-
我们要找出一对
均值
和方差
,使得从该正态分布中采样出这些样本值的概率最大。
由此我们确定损失函数的目标值。
将最大化对数似然的问题转换文ELBO的一个问题来进行计算。参考公公式9中有关ELBO的推导我们给出同样的过程来进行推导。
maximize log p θ ( x 0 ) = ∫ x 1 : x T q ( x 1 : x T ∣ x 0 ) log p θ ( x 0 ) d x 1 : x T = ∫ x 1 : x T q ( x 1 : x T ∣ x 0 ) log p θ ( x 0 : x T ) p θ ( x 1 : x T ∣ x 0 ) d x 1 : x T = ∫ x 1 : x T q ( x 1 : x T ∣ x 0 ) log p θ ( x 0 : x T ) q ( x 1 : x T ∣ x 0 ) p θ ( x 1 : x T ∣ x 0 ) q ( x 1 : x T ∣ x 0 ) d x 1 : x T = ∫ x 1 : x T q ( x 1 : x T ∣ x 0 ) log p θ ( x 0 : x T ) q ( x 1 : x T ∣ x 0 ) d x 1 : x T + ∫ x 1 : x T q ( x 1 : x T ∣ x 0 ) log q ( x 1 : x T ∣ x 0 ) p θ ( x 1 : x T ∣ x 0 ) d x 1 : x T = ∫ x 1 : x T q ( x 1 : x T ∣ x 0 ) log p θ ( x 0 : x T ) q ( x 1 : x T ∣ x 0 ) d x 1 : x T + D K L ( q ( x 1 : x T ∣ x 0 ) ∥ p θ ( x 1 : x T ∣ x 0 ) ) > = 0 ≥ ∫ x 1 : x T q ( x 1 : x T ∣ x 0 ) log p θ ( x 0 : x T ) q ( x 1 : x T ∣ x 0 ) d x 1 : x T = E x 1 : x T ∼ q ( x 1 : x T ∣ x 0 ) [ log p θ ( x 0 : x T ) q ( x 1 : x T ∣ x 0 ) ] \begin{array}{l} \operatorname{maximize} \log p_{\theta}\left(x_{0}\right)=\int_{x_{1}: x_{T}} q\left(x_{1}: x_{T} \mid x_{0}\right) \log p_{\theta}\left(x_{0}\right) d_{x_{1}: x_{T}} \\ =\int_{x_{1}: x_{T}} q\left(x_{1}: x_{T} \mid x_{0}\right) \log \frac{p_{\theta}\left(x_{0}: x_{T}\right)}{p_{\theta}\left(x_{1}: x_{T} \mid x_{0}\right)} d_{x_{1}: x_{T}} \\ =\int_{x_{1}: x_{T}} q\left(x_{1}: x_{T} \mid x_{0}\right) \log \frac{p_{\theta}\left(x_{0}: x_{T}\right) q\left(x_{1}: x_{T} \mid x_{0}\right)}{p_{\theta}\left(x_{1}: x_{T} \mid x_{0}\right) q\left(x_{1}: x_{T} \mid x_{0}\right)} d_{x_{1}: x_{T}} \\ =\int_{x_{1}: x_{T}} q\left(x_{1}: x_{T} \mid x_{0}\right) \log \frac{p_{\theta}\left(x_{0}: x_{T}\right)}{q\left(x_{1}: x_{T} \mid x_{0}\right)} d_{x_{1}: x_{T}}+\int_{x_{1}: x_{T}} q\left(x_{1}: x_{T} \mid x_{0}\right) \log \frac{q\left(x_{1}: x_{T} \mid x_{0}\right)}{p_{\theta}\left(x_{1}: x_{T} \mid x_{0}\right)} d_{x_{1}: x_{T}} \\ =\int_{x_{1}: x_{T}} q\left(x_{1}: x_{T} \mid x_{0}\right) \log \frac{p_{\theta}\left(x_{0}: x_{T}\right)}{q\left(x_{1}: x_{T} \mid x_{0}\right)} d_{x_{1}: x_{T}}+\frac{D_{K L}\left(q\left(x_{1}: x_{T} \mid x_{0}\right) \| p_{\theta}\left(x_{1}: x_{T} \mid x_{0}\right)\right)}{>=0} \\ \geq \int_{x_{1}: x_{T}} q\left(x_{1}: x_{T} \mid x_{0}\right) \log \frac{p_{\theta}\left(x_{0}: x_{T}\right)}{q\left(x_{1}: x_{T} \mid x_{0}\right)} d_{x_{1}: x_{T}} \\ =E_{x_{1}: x_{T} \sim q\left(x_{1}: x_{T} \mid x_{0}\right)}\left[\log \frac{p_{\theta}\left(x_{0}: x_{T}\right)}{q\left(x_{1}: x_{T} \mid x_{0}\right)}\right] \end{array} maximizelogpθ(x0)=∫x1:xTq(x1:xT∣x0)logpθ(x0)dx1:xT=∫x1:xTq(x1:xT∣x0)logpθ(x1:xT∣x0)pθ(x0:xT)dx1:xT=∫x1:xTq(x1:xT∣x0)logpθ(x1:xT∣x0)q(x1:xT∣x0)pθ(x0:xT)q(x1:xT∣x0)dx1:xT=∫x1:xTq(x1:xT∣x0)logq(x1:xT∣x0)pθ(x0:xT)dx1:xT+∫x1:xTq(x1:xT∣x0)logpθ(x1:xT∣x0)q(x1:xT∣x0)dx1:xT=∫x1:xTq(x1:xT∣x0)logq(x1:xT∣x0)pθ(x0:xT)dx1:xT+>=0DKL(q(x1:xT∣x0)∥pθ(x1:xT∣x0))≥∫x1:xTq(x1:xT∣x0)logq(x1:xT∣x0)pθ(x0:xT)dx1:xT=Ex1:xT∼q(x1:xT∣x0)[logq(x1:xT∣x0)pθ(x0:xT)]
我们在ELBO的基础上对这个式子在进行化简和推导。
maximize log p ( x ) ≥ E q ( x 1 : T ∣ x 0 ) [ log p ( x 0 : T ) q ( x 1 : T ∣ x 0 ) ] \operatorname{maximize} \log p(\boldsymbol{x}) \geq \mathbb{E}_{q\left(\boldsymbol{x}_{1: T} \mid \boldsymbol{x}_{0}\right)}\left[\log \frac{p\left(\boldsymbol{x}_{0: T}\right)}{q\left(\boldsymbol{x}_{1: T} \mid \boldsymbol{x}_{0}\right)}\right] maximizelogp(x)≥Eq(x1:T∣x0)[logq(x1:T∣x0)p(x0:T)]
推导到最后的结果就由下面的三个部分组成的。
E q ( x 1 ∣ x 0 ) [ log p θ ( x 0 ∣ x 1 ) ] − D K L ( q ( x T ∣ x 0 ) ∥ p ( x T ) ) − ∑ T E q ( x t ∣ x 0 ) [ D K L ( q ( x t − 1 ∣ x t , x 0 ) ∥ p θ ( x t − 1 ∣ x t ) ) ] \mathbb{E}_{q\left(\boldsymbol{x}_{1} \mid \boldsymbol{x}_{0}\right)}\left[\log p_{\boldsymbol{\theta}}\left(\boldsymbol{x}_{0} \mid \boldsymbol{x}_{1}\right)\right]-D_{\mathrm{KL}}\left(q\left(\boldsymbol{x}_{T} \mid \boldsymbol{x}_{0}\right) \| p\left(\boldsymbol{x}_{T}\right)\right)-\sum^{T} \mathbb{E}_{q\left(\boldsymbol{x}_{t} \mid \boldsymbol{x}_{0}\right)}\left[D_{\mathrm{KL}}\left(q\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_{t}, \boldsymbol{x}_{0}\right) \| p_{\boldsymbol{\theta}}\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_{t}\right)\right)\right] Eq(x1∣x0)[logpθ(x0∣x1)]−DKL(q(xT∣x0)∥p(xT))−∑TEq(xt∣x0)[DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))]
minimize ∑ t = 1 T E q ( x t ∣ x 0 ) [ D K L ( q ( x t − 1 ∣ x t , x 0 ) ∥ p θ ( x t − 1 ∣ x t ) ) ] \operatorname{minimize} \sum_{t=1}^{T} \mathbb{E}_{q\left(\boldsymbol{x}_{t} \mid \boldsymbol{x}_{0}\right)}\left[D_{\mathrm{KL}}\left(q\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_{t}, \boldsymbol{x}_{0}\right) \| p_{\boldsymbol{\theta}}\left(\boldsymbol{x}_{t-1} \mid \boldsymbol{x}_{t}\right)\right)\right] minimizet=1∑TEq(xt∣x0)[DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))]
我们的目的就是让后面的由U-net网络预测出来的分布,更加的拟合前面的分布即可。
通过这一个的计算,我们可以得到关于q一个分布是什么样子了
q ( x t − 1 ∣ x t , x 0 ) = N ( α t ( 1 − α ˉ t − 1 ) 1 − α ˉ t x t + α ˉ t − 1 β t 1 − α ˉ t x 0 , β t ( 1 − α ˉ t − 1 ) 1 − α ˉ t ) { μ = α t ( 1 − α ˉ t − 1 ) 1 − α ˉ t x t + α ˉ t − 1 β t 1 − α ˉ t x 0 σ 2 = β t ( 1 − α ˉ t − 1 ) 1 − α ˉ t \begin{array}{l} q\left(x_{t-1} \mid x_{t}, x_{0}\right)=\mathcal{N}\left(\frac{\sqrt{\alpha_{t}}\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_{t}} x_{t}+\frac{\sqrt{\bar{\alpha}_{t-1}} \beta_{t}}{1-\bar{\alpha}_{t}} x_{0}, \frac{\beta_{t}\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_{t}}\right) \\ \left\{\begin{array}{l} \mu=\frac{\sqrt{\alpha_{t}}\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_{t}} x_{t}+\frac{\sqrt{\bar{\alpha}_{t-1}} \beta_{t}}{1-\bar{\alpha}_{t}} x_{0} \\ \sigma^{2}=\frac{\beta_{t}\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_{t}} \end{array}\right. \end{array} q(xt−1∣xt,x0)=N(1−αˉtαt(1−αˉt−1)xt+1−αˉtαˉt−1βtx0,1−αˉtβt(1−αˉt−1)){ μ=1−αˉtαt(1−αˉt−1)xt+1−αˉtαˉt−1βtx0σ2=1−αˉtβt(1−αˉt−1)
x t = 1 − α ˉ t ϵ + α ˉ t x 0 x_{t}=\sqrt{1-\bar{\alpha}_{t}} \epsilon+\sqrt{\bar{\alpha}_{t}} x_{0} xt=1−αˉtϵ+αˉtx0
x 0 = x t − 1 − α ˉ t ϵ α ˉ t x_{0}=\frac{x_{t}-\sqrt{1-\bar{\alpha}_{t}} \epsilon}{\sqrt{\bar{\alpha}_{t}}} x0=αˉtxt−1−αˉtϵ
最后我们将x0的表达式再次的带入进去,就可以得到最后的结果了
q ( x t − 1 ∣ x t , x 0 ) = N ( 1 α t ( x t − 1 − α t 1 − α ˉ t ϵ ) , β t ( 1 − α ˉ t − 1 ) 1 − α ˉ t ) { μ = 1 α t ( x t − 1 − α t 1 − α ˉ t ϵ ) σ 2 = β t ( 1 − α ˉ t − 1 ) 1 − α ˉ t \begin{array}{l} q\left(x_{t-1} \mid x_{t}, x_{0}\right)=\mathcal{N}\left(\frac{1}{\sqrt{\alpha_{t}}}\left(x_{t}-\frac{1-\alpha_{t}}{\sqrt{1-\bar{\alpha}_{t}}} \epsilon\right), \frac{\beta_{t}\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_{t}}\right) \\ \left\{\begin{array}{l} \mu=\frac{1}{\sqrt{\alpha_{t}}}\left(x_{t}-\frac{1-\alpha_{t}}{\sqrt{1-\bar{\alpha}_{t}}} \epsilon\right) \\ \sigma^{2}=\frac{\beta_{t}\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_{t}} \end{array}\right. \end{array} q(xt−1∣xt,x0)=N(αt1(xt−1−αˉt1−αtϵ),1−αˉtβt(1−αˉt−1)){ μ=αt1(xt−1−αˉt1−αtϵ)σ2=1−αˉtβt(1−αˉt−1)
我们反向去噪的部分要逼近与这个q的分布,也就解释了网络预测的一个过程。