参考阅读:
[1] 张振虎博客
进食顺序如下
PS.内容基本上是参考博客的内容,以下内容本人复习用
1 马尔可夫分层概率模型

扩散模型可以看作是多层的VAE,既编码和解码过程分别重复了 T T T次。但无论是前向过程还是反向过程,都遵循马尔可夫过程(Markov chain):当前时刻 t t t仅与其上一时刻相关。
和VAE类似,其对数似然可以写成如下式子,利用詹森不等式可以求出其ELBO:
l o g p ( x ) = l o g ∫ p ( x , z 1 : T ) d z 1 : T = l o g ∫ p ( x , z 1 : T q ϕ ( z 1 : T ∣ x ) q ϕ ( z 1 : T ∣ x ) d z 1 : T = l o g E q ϕ ( z 1 : T ∣ x ) [ p ( x , z 1 : T ) q ϕ ( z 1 : T ∣ x ) ] ≥ E q ϕ ( z 1 : T ∣ x ) [ p ( x , z 1 : T ) q ϕ ( z 1 : T ∣ x ) ] \begin{aligned} log p(x) &= log\int p(x,z_{1:T})dz_{1:T}\\ &= log\int \frac{p(x,z_{1:T}q_\phi(z_{1:T}|x)}{q_\phi(z_{1:T}|x)}dz_{1:T}\\ &= log E_{q_\phi(z_{1:T}|x)}[ \frac{p(x,z_{1:T})}{q_\phi(z_{1:T}|x)}]\\ &\ge E_{q_\phi(z_{1:T}|x)}[ \frac{p(x,z_{1:T})}{q_\phi(z_{1:T}|x)}] \end{aligned} logp(x)=log∫p(x,z1:T)dz1:T=log∫qϕ(z1:T∣x)p(x,z1:Tqϕ(z1:T∣x)dz1:T=logEqϕ(z1:T∣x)[qϕ(z1:T∣x)p(x,z1:T)]≥Eqϕ(z1:T∣x)[qϕ(z1:T∣x)p(x,z1:T)]
2 扩散概率模型

在以上基础上,进行微调便可得到扩散模型:
- 不再区分 x x x和 z z z,且尺寸保持不变(VAE中 z z z一般小于 x x x)
- 前向过程不再需要学习,既 q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}) q(xt∣xt−1)固定为一个线性高斯变换,不再使用参数化的模型去拟合。
- 结合线性高斯变换和马尔科夫链的特性,理论上 T → ∞ T\rightarrow \infty T→∞时, x T x_T xT是一个正态分布,既其收敛到 N ( 0 , I ) N(0,I) N(0,I)
2.1 前向和反向过程
由上图可知,整个网络可以用前向过程 q q q或者反向过程 p p p表示,既联合概率可以表示为
p ( x 0 : T ) = q ( x 0 ) ∏ t = 1 T q ( x t ∣ x t − 1 ) = p ( x T ) ∏ t = 1 T p ( x t − 1 ∣ x t ) p(x_{0:T})=q(x_0)\prod_{t=1}^Tq(x_t|x_{t-1})=p(x_T)\prod_{t=1}^Tp(x_{t-1}|x_t) p(x0:T)=q(x0)t=1∏Tq(xt∣xt−1)=p(xT)t=1∏Tp(xt−1∣xt)
前向过程又叫扩散过程,是在前进过程中不断增加微小的标准高斯噪声,当 T T T很大时,原图趋近于标准高斯噪声;反向过程又叫采样过程,它可以从纯粹的标准高斯噪声随机变量逐渐转变为真实图片。
前向过程
定义
q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t x t − 1 , β t I ) q(x_t|x_{t-1}) = N(x_{t}; \sqrt{1-\beta_t}x_{t-1},\beta_t I) q(xt∣xt−1)=N(xt;1−βtxt−1,βtI)
定义这个概率分布为线性高斯变换,是指 x t x_t xt的均值和 x t − 1 x_{t-1} xt−1的值呈线性关系,也就是
x t = 1 − β t x t − 1 + β t ϵ , ϵ ∼ N ( 0 , 1 ) x_t = \sqrt{1-\beta_t}x_{t-1}+\sqrt{\beta_t}\epsilon\space,\epsilon\sim N(0,1) xt=1−βtxt−1+βtϵ ,ϵ∼N(0,1)
且 β \beta β满足, t 1 > t 2 > . . . > t T t_1>t_2>...>t_T t1>t2>...>tT时,有 β 1 < β 2 < . . . < β T \beta_1<\beta_2<...<\beta_T β1<β2<...<βT,且 β ∈ [ 0 , 1 ] \beta\in[0,1] β∈[0,1]。也可以令 α t = 1 − β t \alpha_t=1-\beta_t αt=1−βt,则 α t \alpha_t αt是单调递减的。则此时式子变成:
x t = α t x t − 1 + 1 − α t ϵ x_t = \sqrt{\alpha_t}x_{t-1}+\sqrt{1-\alpha_t}\epsilon xt=αtxt−1+1−αtϵ
为什么要有 β \beta β<

本文主要介绍了扩散概率模型相关知识。扩散模型可看作多层VAE,前向和反向过程遵循马尔可夫过程。文中阐述了前向和反向过程、优化目标ELBO及采样过程,还介绍了去噪扩散概率模型DDPM,包括其训练和采样过程,最后提及基于分数解释DDPM、三种等价表示及改进方法。
最低0.47元/天 解锁文章
1577

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



