Diffusion Model合集 part1

news2025/2/3 5:40:59

扩散模型原理介绍1

  • 一,条件概率公式与高斯分布的KL散度+重参数技巧
  • 二,VAE和多层VAE回顾
    • 单层VAE的原理公式与置信下界
    • 多层VAE的原理公式与置信下界
  • 三,Diffusion Model 图示
  • 四,扩散过程(Diffusion Process)

GAN+FLOW+VAE的任务都可以用diffusion model来做
生成模型的5类:

  • seq2seq自回归编码
  • GAN
  • FLOW(数学原理严谨,是个可逆的过程,但需要设计一些巧妙的结构来使得其可解)
  • VAE
  • Diffusion

一,条件概率公式与高斯分布的KL散度+重参数技巧

  1. 条件概率的一般形式

    P ( A , B , C ) = P ( C ∣ B , A ) P ( B , A ) = P ( C ∣ B , A ) P ( B ∣ A ) P ( A ) P(A,B,C) = P(C|B,A)P(B,A)=P(C|B,A)P(B|A)P(A) P(A,B,C)=P(CB,A)P(B,A)=P(CB,A)P(BA)P(A)

    P ( B , C ∣ A ) = P ( B ∣ A ) P ( C ∣ A , B ) P(B,C|A)=P(B|A)P(C|A,B) P(B,CA)=P(BA)P(CA,B)

  2. 基于马尔科夫假设的条件概率

    如果满足马尔科夫链关系 A → B → C A\rightarrow B \rightarrow C ABC,则有:

    P ( A , B , C ) = P ( C ∣ B , A ) P ( B , A ) = P ( C ∣ B , A ) P ( B ∣ A ) P ( A ) = P ( C ∣ B ) P ( B ∣ A ) P ( A ) P(A,B,C) = P(C|B,A)P(B,A)=P(C|B,A)P(B|A)P(A)=P(C|B)P(B|A)P(A) P(A,B,C)=P(CB,A)P(B,A)=P(CB,A)P(BA)P(A)=P(CB)P(BA)P(A)

    P ( B , C ∣ A ) = P ( B ∣ A ) P ( C ∣ A , B ) = P ( B ∣ A ) P ( C ∣ B ) P(B,C|A)=P(B|A)P(C|A,B)=P(B|A)P(C|B) P(B,CA)=P(BA)P(CA,B)=P(BA)P(CB)

  3. 高斯分布的KL散度公式

    对于两个单一变量的高斯分布 p p p q q q 而言,它们的KL散度为:

    K L ( p , q ) = l o g σ 2 σ 1 + σ 2 + ( μ 1 − μ 2 ) 2 2 σ 2 2 − 1 2 KL(p,q)=log\frac{\sigma_{2}}{\sigma_{1}}+\frac{\sigma^{2}+(\mu_{1}-\mu_{2})^{2}}{2\sigma_{2}^{2}}-\frac{1}{2} KL(p,q)=logσ1σ2+2σ22σ2+(μ1μ2)221
    推导可以看这篇____高斯分布的KL散度公式

  4. 重参数技巧
    如果想从高斯分布 N ( μ , σ 2 ) N(\mu,\sigma^{2}) N(μ,σ2)中采样,可以先从标准分布 N ( 0 , 1 ) N(0,1) N(0,1)采样出 z z z , 再得到 σ ∗ z + μ \sigma*z+\mu σz+μ.这样做的好处是:将随机性转移到了 z z z 这个常量上,而 σ \sigma σ μ \mu μ则当做仿射变换网络的一部分。

σ ∗ z \sigma * z σz就把随机性加到了标准差 σ \sigma σ 上, z z z 取0附近的值的概率最大, σ ∗ z + μ \sigma * z+\mu σz+μ 就相当于在 N ( μ , σ ) N(\mu,\sigma) N(μ,σ)中采样了

二,VAE和多层VAE回顾

单层VAE的原理公式与置信下界

x − > z x->z x>z为后验,训练的过程,train
z − > x z->x z>x为inference过程,(丢掉train的过程)
p ( x ) = ∫ z p θ ( x , z ) d z = ∫ z p θ ( x ∣ z ) p ( z ) d z p(x)=\int_{z}p_{\theta}(x,z)dz=\int_{z}p_{\theta}(x|z)p(z)dz p(x)=zpθ(x,z)dz=zpθ(xz)p(z)dz
p ( x ) = ∫ q ϕ ( z ∣ x ) . p θ ( x ∣ z ) p ( z ) q ϕ ( z ∣ x ) d z = E z ∼ q ϕ ( z ∣ x ) [ p θ ( x ∣ z ) p ( z ) q ϕ ( z ∣ x ) ] p(x)=\int q_{\phi}(z|x).\frac{p_{\theta}(x|z)p(z)}{q_{\phi}(z|x)}dz =\mathbb{E}_{z\sim q_{\phi}(z|x)}\left[\frac{p_{\theta}(x|z)p(z)}{q_{\phi}(z|x)}\right] p(x)=qϕ(zx).qϕ(zx)pθ(xz)p(z)dz=Ezqϕ(zx)[qϕ(zx)pθ(xz)p(z)]
l o g   p ( x ) = l o g   E z ∼ q ϕ ( z ∣ x ) [ p θ ( x ∣ z ) p ( z ) q ϕ ( z ∣ x ) ] ≥ J e n s e   I n e q u a l i t y E z ∼ q ϕ ( z ∣ x ) [ l o g   p θ ( x ∣ z ) p ( z ) q ϕ ( z ∣ x ) ] log\,p(x)=log\,\mathbb{E}_{z\sim q_{\phi}(z|x)}\left[\frac{p_{\theta}(x|z)p(z)}{q_{\phi}(z|x)}\right]\overset{Jense \,Inequality}{\ge}\mathbb{E}_{z\sim q_{\phi}(z|x)}\left[log\,\frac{p_{\theta}(x|z)p(z)}{q_{\phi}(z|x)}\right] logp(x)=logEzqϕ(zx)[qϕ(zx)pθ(xz)p(z)]JenseInequalityEzqϕ(zx)[logqϕ(zx)pθ(xz)p(z)]
所以:
l o g   p ( x ) ≥ E z ∼ q ϕ ( z ∣ x ) [ l o g   p θ ( x ∣ z ) p ( z ) q ϕ ( z ∣ x ) ] ⏟ E L B O log\,p(x)\ge\underbrace{\mathbb{E}_{z\sim q_{\phi}(z|x)}\left[log\,\frac{p_{\theta}(x|z)p(z)}{q_{\phi}(z|x)}\right]}_{ELBO} logp(x)ELBO Ezqϕ(zx)[logqϕ(zx)pθ(xz)p(z)]

目的:使得 x x x出现的概率最大,即要最大化 l o g   p ( x ) log\,p(x) logp(x),那有Jensen不等式求得了 l o g   p ( x ) log\,p(x) logp(x)的下界,现在只需要最大化下界即可。最大化下界了,那 l o g   p ( x ) log\,p(x) logp(x)也就最大化了。即至此为止,我们要优化的目标函数已经找到了。
Jensen不等式:
l o g ∑ i λ i y i ≥ ∑ i λ i l o g   y i 其中, λ i ≥ 0 , ∑ i λ i = 1 log\underset{i}{\sum}\lambda_{i}y_{i}\ge \underset{i}{\sum}\lambda_{i}log\,y_{i}\quad\quad其中,\lambda_{i}\ge0,\underset{i}{\sum}\lambda_{i}=1 logiλiyiiλilogyi其中,λi0,iλi=1

下界:
E z ∼ q ϕ ( z ∣ x ) [ l o g   p θ ( x ∣ z ) p ( z ) q ϕ ( z ∣ x ) ] = E z ∼ q ϕ ( z ∣ x ) [ l o g   p θ ( x ∣ z ) − l o g   q ϕ ( z ∣ x ) p ( z ) ] = E z ∼ q ϕ ( z ∣ x ) [ l o g   p θ ( x ∣ z ) ⏟ 由 i n f e r e n c e 可以容易得到 ] − ∫ q ϕ ( z ∣ x ) l o g   q ϕ ( z ∣ x ) p ( z ) ⏟ K L ( q ϕ ∣ ∣ p ) \begin{aligned} &\mathbb{E}_{z\sim q_{\phi}(z|x)}\left[log\,\frac{p_{\theta}(x|z)p(z)}{q_{\phi}(z|x)}\right]\\ &=\mathbb{E}_{z\sim q_{\phi}(z|x)}\left[log\,p_{\theta}(x|z)-log\,\frac{q_{\phi}(z|x)}{p(z)}\right]\\ &=\mathbb{E}_{z\sim q_{\phi}(z|x)}\left[\underbrace{log\,p_{\theta}(x|z)}_{由inference可以容易得到}\right]- \underbrace{\int q_{\phi}(z|x) log\,\frac{q_{\phi}(z|x)}{p(z)}}_{KL(q_{\phi}||p)} \end{aligned} Ezqϕ(zx)[logqϕ(zx)pθ(xz)p(z)]=Ezqϕ(zx)[logpθ(xz)logp(z)qϕ(zx)]=Ezqϕ(zx) inference可以容易得到 logpθ(xz) KL(qϕ∣∣p) qϕ(zx)logp(z)qϕ(zx)
一般假设 p , q p,q p,q均为高斯分布,所以整个单层的VAE是可以求解的

多层VAE的原理公式与置信下界

分子分母同乘一个后验分布??????

p ( x ) = ∫ z 1 ∫ z 2 p θ ( x , z 1 , z 2 ) d z 1 , d z 2 p(x)=\int_{z_{1}}\int_{z_{2}}p_{\theta}(x,z_{1},z_{2})dz_{1},dz_{2} p(x)=z1z2pθ(x,z1,z2)dz1,dz2
p ( x ) = ∬ q ϕ ( z 1 , z 2 ∣ x ) p θ ( x , z 1 , z 2 ) q ϕ ( z 1 , z 2 ∣ x ) d z 1 , d z 2 = E z 1 , z 2 ∼ q ϕ ( z 1 , z 2 ∣ x ) [ p θ ( x , z 1 , z 2 ) q ϕ ( z 1 , z 2 ∣ x ) ] p(x)=\iint q_{\phi}\left(z_{1}, z_{2} \mid x\right) \frac{p_{\theta}\left(x, z_{1}, z_{2}\right)}{q_{\phi}\left(z_{1}, z_{2} \mid x\right)}dz_{1},dz_{2}=\mathbb{E}_{z_{1}, z_{2} \sim q_{\phi}\left(z_{1}, z_{2} \mid x\right)}\left[\frac{p_{\theta}\left(x, z_{1}, z_{2}\right)}{q_{\phi}\left(z_{1}, z_{2} \mid x\right)}\right] p(x)=qϕ(z1,z2x)qϕ(z1,z2x)pθ(x,z1,z2)dz1,dz2=Ez1,z2qϕ(z1,z2x)[qϕ(z1,z2x)pθ(x,z1,z2)]
log ⁡ p ( x ) ≥ E z 1 , z 2 ∼ q ϕ ( z 1 , z 2 ∣ x ) [ log ⁡ p θ ( x , z 1 , z 2 ) q ϕ ( z 1 , z 2 ∣ x ) ] ⏟ E L B O \log p(x) \geq \underbrace{\mathbb{E}_{z_{1}, z_{2} \sim q_{\phi}\left(z_{1}, z_{2} \mid x\right)}\left[\log \frac{p_{\theta}\left(x, z_{1}, z_{2}\right)}{q_{\phi}\left(z_{1}, z_{2} \mid x\right)}\right]}_{ELBO} logp(x)ELBO Ez1,z2qϕ(z1,z2x)[logqϕ(z1,z2x)pθ(x,z1,z2)]
q ( z 1 , z 2 ∣ x ) = q ( z 1 ∣ x ) q ( z 2 ∣ z 1 , x ) = 马尔科夫性质 q ( z 1 ∣ x ) q ( z 2 ∣ z 1 ) q(z_{1},z_{2}|x)=q(z_{1}|x)q(z_{2}|z_{1},x)\xlongequal[]{马尔科夫性质}q(z_{1}|x)q(z_{2}|z_{1}) q(z1,z2x)=q(z1x)q(z2z1,x)马尔科夫性质 q(z1x)q(z2z1)
同理:
p ( x , z 1 , z 2 ) = p ( x ∣ z 1 ) p ( z 1 ∣ z 2 ) p ( z 2 ) p(x,z_{1},z_{2})=p(x|z_{1})p(z_{1}|z_2)p(z_2) p(x,z1,z2)=p(xz1)p(z1z2)p(z2)

所以多层VAE的目标函数为: L ( θ , ϕ ) \mathcal{L}(\theta, \phi) L(θ,ϕ)

L ( θ , ϕ ) = E q ( z 1 , z 2 ∣ x ) [ log ⁡ p ( x ∣ z 1 ) − log ⁡ q ( z 1 ∣ x ) + log ⁡ p ( z 1 ∣ z 2 ) − log ⁡ q ( z 2 ∣ z 1 ) + log ⁡ p ( z 2 ) ] \mathcal{L}(\theta, \phi)=\mathbb{E}_{q\left(z_{1}, z_{2} \mid x\right)}\left[\log p\left(x \mid z_{1}\right)-\log q\left(z_{1} \mid x\right)+\log p\left(z_{1} \mid z_{2}\right)-\log q\left(z_{2} \mid z_{1}\right)+\log p\left(z_{2}\right)\right] L(θ,ϕ)=Eq(z1,z2x)[logp(xz1)logq(z1x)+logp(z1z2)logq(z2z1)+logp(z2)]

三,Diffusion Model 图示

Diffusion 的目标函数和多层VAE的目标函数很像。
从右往左:正向过程,q:条件概率分布(不含参数),扩散过程,熵增过程,加噪过程,逐渐变为–>高斯分布
从左往右:反向过程/重建过程/生成过程:逆扩散过程, p θ p_{\theta} pθ:条件概率分布(含参数),从噪声分布中推出目标分布,从目标分布中采样新样本,这样就可以生成新的图片。 在推理的时候只用到逆扩散过程 \color{red}在推理的时候只用到逆扩散过程 在推理的时候只用到逆扩散过程

在这里插入图片描述
目的 : 搞懂逆扩散过程是咋弄的,这样就可以由噪声来生成新图片了 {\color{red}目的:}{\color{blue}搞懂逆扩散过程是咋弄的,这样就可以由噪声来生成新图片了} 目的:搞懂逆扩散过程是咋弄的,这样就可以由噪声来生成新图片了

在这里插入图片描述

Figure1.瑞士卷图解:

第一行为从左到右: q ( x ( 0 ⋯ T ) ) q(\mathrm{x}^{(0\cdots T)}) q(x(0T)): pic–> noise加噪过程
第二行为从右到左: p ( x ( 0 ⋯ T ) ) p(\mathrm{x}^{(0\cdots T)}) p(x(0T)): noise->pic去噪过程
第三行为漂移量: q 和 p 之间的差 q和p之间的差 qp之间的差

四,扩散过程(Diffusion Process)

  1. 给定初始数据分布 x 0 ∼ q ( x ) x_{0}\sim q(x) x0q(x), 可以不断地向分布中添加高斯噪声,此噪声的标准差是以固定值 β t \beta_{t} βt 而确定的,均值是以固定值 β t \beta_{t} βt 和当前 t t t 时刻的数据 x t x_{t} xt 决定的。这个过程是一个马尔科夫链过程。

x 0 ∼ q ( x ) x_{0}\sim q(x) x0q(x)即训练集服从 q ( x ) q(x) q(x)分布,即扩散过程, β t \beta_{t} βt是已知的,确定的(像learning rate),,它不是通过网络预测的。扩散过程不含参数。

  1. 随着 t t t 的不断增大,最终数据分布 x T x_{T} xT 变成了一个各项独立的高斯分布。

在这里插入图片描述
3. 任意时刻的 q ( x t ) q(x_{t}) q(xt)推导也可以完全基于 x 0 x_{0} x0 β \beta β来计算出来,而不需要做迭代。

注意:两个正态分布 X ∼ N ( μ 1 , σ 1 2 ) X\sim N(\mu_{1},\sigma_{1}^{2}) XN(μ1,σ12) Y ∼ N ( μ 2 , σ 2 2 ) Y\sim N(\mu_{2},\sigma_{2}^{2}) YN(μ2,σ22)的叠加后的分布 a X + b Y aX+bY aX+bY的均值为 a μ 1 + b μ 2 a\mu_{1}+b\mu_{2} aμ1+bμ2, 方差为 a 2 σ 1 2 + b 2 σ 2 2 a^{2}\sigma_{1}^{2}+b^{2}\sigma_{2}^{2} a2σ12+b2σ22。所以 α t − α t α t − 1 z t − 2 + 1 − α t z t − 1 \sqrt{\alpha_{t}-\alpha_{t}\alpha_{t-1}}z_{t-2}+\sqrt{1-\alpha_{t}}z_{t-1} αtαtαt1 zt2+1αt zt1可以重参数化成只含一个随机变量 z z z 构成的 1 − α t α t − 1 z \sqrt{1-\alpha_{t}\alpha_{t-1}}z 1αtαt1 z的形式。

A nice property of the above process is that we can sample x t \mathrm{x_{t}} xt at any arbitrary time step t t t in a closed form using r e p a r a m e t e r i z a t i o n   t r i c k \color{orange}\mathrm{reparameterization\,trick} reparameterizationtrick. Let α t = 1 − β t \alpha_{t}=1-\beta_{t} αt=1βt and α ˉ t = ∏ i = 1 t α i \bar\alpha_{t}=\prod\limits_{i=1}^{t}\alpha_{i} αˉt=i=1tαi
在这里插入图片描述

q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t x t − 1 , β t I ) , β t q(x_{t}|x_{t-1})=\mathcal{N}(x_{t};\sqrt{1-\beta_{t}}x_{t-1},\beta_{t}I), \beta_{t} q(xtxt1)=N(xt;1βt xt1,βtI),βt是方差,标准差是 β t \sqrt{\beta_{t}} βt
如何生成 x t 呢?利用重参数技巧 \color{blue}如何生成x_{t}呢?利用重参数技巧 如何生成xt呢?利用重参数技巧
先从正态分布中生成一个 z t − 1 z_{t-1} zt1, 然后把 β t . z t − 1 + 1 − β t x t − 1 \sqrt{\beta_{t}}.z_{t-1}+\sqrt{1-\beta_{t}}x_{t-1} βt .zt1+1βt xt1 作为 x t x_{t} xt 的一个采样值,不断迭代得到 x T x_{T} xT, 其中 β t \beta_{t} βt是随着 t t t不断增加的。

− − − − − − − − x t 的推导过程 − − − − − − − − − − − --------{\color{blue}x_{t}的推导过程}----------- xt的推导过程
x t = 1 − β t x t − 1 + β t . z t − 1      ① x_{t}=\sqrt{1-\beta_{t}}x_{t-1}+\sqrt{\beta_{t}}.z_{t-1}\quad\quad\quad\quad\,\,\,\,① xt=1βt xt1+βt .zt1
x t − 1 = 1 − β t − 1 x t − 2 + β t − 1 . z t − 2 ② x_{t-1}=\sqrt{1-\beta_{t-1}}x_{t-2}+\sqrt{\beta_{t-1}}.z_{t-2}\quad\quad② xt1=1βt1 xt2+βt1 .zt2
α t = 1 − β t , α ˉ t = ∏ i = 1 t α i \alpha_{t}=1-\beta_{t}, \bar\alpha_{t}=\prod\limits_{i=1}^{t}\alpha_{i} αt=1βt,αˉt=i=1tαi,并将②带入①中得: 疑惑:那 β t 应该代表是是方差吧,即 σ 2 \color{red}疑惑:那\beta_{t}应该代表是是方差吧,即\sigma^{2} 疑惑:那βt应该代表是是方差吧,即σ2
x t = 1 − β t x t − 1 + β t . z t − 1 = α t x t − 1 + 1 − α t . z t − 1 = α t α t − 1 x t − 2 + α t ( 1 − α t − 1 ) z t − 2 + 1 − α t . z t − 1 ⏟ 重参数技巧 = α t α t − 1 x t − 2 + 1 − α t α t − 1 z ˉ t − 2 = ⋯ = α ˉ t x 0 + 1 − α ˉ t z \begin{aligned} x_{t}&=\sqrt{1-\beta_{t}}x_{t-1}+\sqrt{\beta_{t}}.z_{t-1}\\&=\sqrt{\alpha_{t}}x_{t-1}+\sqrt{1-\alpha_{t}}.z_{t-1}\\ &=\sqrt{\alpha_{t}\alpha_{t-1}}x_{t-2}+\underbrace{\sqrt{\alpha_{t}(1-\alpha_{t-1})}z_{t-2}+\sqrt{1-\alpha_{t}}.z_{t-1}}_{重参数技巧}\\ &=\sqrt{\alpha_{t}\alpha_{t-1}}x_{t-2}+\sqrt{1-\alpha_{t}\alpha_{t-1}}\bar z_{t-2}\\ &=\cdots\\ &=\sqrt{\bar\alpha_{t}}x_{0}+\sqrt{1-\bar\alpha_{t}}z \end{aligned} xt=1βt xt1+βt .zt1=αt xt1+1αt .zt1=αtαt1 xt2+重参数技巧 αt(1αt1) zt2+1αt .zt1=αtαt1 xt2+1αtαt1 zˉt2==αˉt x0+1αˉt z

q ( x t ∣ x 0 ) = N ( x ; α ˉ t x 0 , ( 1 − α ˉ t ) I ) q(x_{t}|x_{0})=\mathcal{N}(x;\sqrt{\bar\alpha_{t}}x_{0},(1-\bar\alpha_{t})I) q(xtx0)=N(x;αˉt x0,(1αˉt)I),其中,方差为 ( 1 − α ˉ t ) I (1-\bar\alpha_{t})I (1αˉt)I, 即 σ 2 \sigma^{2} σ2

因为所有的 z z z 都是从正态分布 N ( 0 , 1 ) N(0,1) N(0,1)中采样出来的,再由3中的两个正太分布的叠加提示得:
L e t   z ˉ t − 2 = [ α t ( 1 − α t − 1 ) z t − 2 + 1 − α t . z t − 1 ] , t h e n    z ˉ t − 2 ∼ N ( 0 , 1 − α t α t − 1 ) Let\,\bar z_{t-2}=\left[\sqrt{\alpha_{t}(1-\alpha_{t-1})}z_{t-2}+\sqrt{1-\alpha_{t}}.z_{t-1}\right],then\, \, \bar z_{t-2}\sim\mathcal{N}(0,1-\alpha_{t}\alpha_{t-1}) Letzˉt2=[αt(1αt1) zt2+1αt .zt1],thenzˉt2N(0,1αtαt1)
z t − 1 ∼ N ( 0 , 1 ) , z t − 2 ∼ N ( 0 , 1 ) z_{t-1}\sim\mathcal{N}(0,1),z_{t-2}\sim\mathcal{N}(0,1) zt1N(0,1),zt2N(0,1),所以aX+bY的均值为:0,方差为: 1 − α t α t − 1 1-\alpha_{t}\alpha_{t-1} 1αtαt1,即 z ˉ t − 2 \bar z_{t-2} zˉt2 也是从高斯分布中采样得到的
− − − − − − − − − − − − − − − − − − − -------------------
总结: x t = α ˉ t x 0 + 1 − α ˉ t z t ③ x_{t}=\sqrt{\bar\alpha_{t}}x_{0}+\sqrt{1-\bar\alpha_{t}}z_{t}\quad\quad③ xt=αˉt x0+1αˉt zt,那当T为多少时, x T x_{T} xT才能真变为各向独立的高斯分布呢?

α ˉ t → 1 , 1 − α ˉ t → 0 \bar\alpha_{t}\rightarrow1,\quad\quad1-\bar\alpha_{t}\rightarrow0 αˉt1,1αˉt0时, q ( x t ∣ x 0 ) = N ( x ; α ˉ t x 0 , ( 1 − α ˉ t ) I ) q(x_{t}|x_{0})=\mathcal{N}(x;\sqrt{\bar\alpha_{t}}x_{0},(1-\bar\alpha_{t})I) q(xtx0)=N(x;αˉt x0,(1αˉt)I)变为标准的高斯分布 N ( 0 , 1 ) \mathcal{N}(0,1) N(0,1), 由上式可以求出当 t = t= t=何值时, q ( x t ∣ x 0 ) q(x_{t}|x_{0}) q(xtx0)约等于标准的高斯分布。

为什么要让最后的 q ( x t ∣ x 0 ) 约等于标准的高斯分布? \color{red}为什么要让最后的q(x_{t}|x_{0})约等于标准的高斯分布? 为什么要让最后的q(xtx0)约等于标准的高斯分布?
因为让扩散过程扩散到最后,即不断加噪,然后最后变成标准高斯分布,这样逆扩散过程就可以由任意的一个标准高斯分布的初始状态通过逆扩散过程最后生成新的样本
Diffusion 过程完全不含参数
由式③得:只要给定初始分布 x 0 x_{0} x0, 则任何时刻的采样值均可以算出,方法有两种:1.迭代;2.直接算(需要预先计算出 α t \alpha_{t} αt)

与VAE的区别:

VAE:

  • x → z x\rightarrow z xz并不是无参过程,而是通过后验网络给预测出来的
  • z z z x x x不一定完全无关,但diffusion model中最后的 x T x_{T} xT 是一个标准的高斯分布,基本和 x 0 x_{0} x0完全无关
  • 在VAE中的 x x x z z z的维度可以不一样,但diffusion model中的 x 1 , x 2 , ⋯ x T x_{1},x_{2},\cdots x_{T} x1,x2,xT的维度始终保持不变。

如何设置扩散过程中的 β t \beta_{t} βt

当分布越来越接近于噪声分布时,可让 β t \beta_{t} βt增大,越来越大。同理,在 x T → x 0 x_{T}\rightarrow x_{0} xTx0逆扩散过程中, 最开始的几步可能还是噪声的模样,到最后面的几步就很快显示出图片的模样了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯云weda低代码让别人能看到发布的应用

我们先登录低代码的平台 腾讯云-控制台 (tencent.com) 我们从创建应用开始讲起,点击新建门户应用: 点击确定 我们先把这个应用发布。 确认发布。 显示出,下面这个已经发布成功后,我们就返回到主页面。 返回主界面,点…

《Docker系列》Docker安装MySQL 5.7

Docker安装MySQL 5.7 一、docker拉取MySQL 5.7镜像 docker pull mysql 拉取最新MySQL docker pull mysql:5.7 拉取指定版本MySQL 1 拉取mysql 5.7镜像 [rootzxy_master ~]# docker pull mysql:5.7 5.7: Pulling from library/mysql d26998a7c52d: Pull complete 4a9d8a356…

JavaWeb之Servelt学习

1.Servlet 概念:运行在服务端的小程序 Servlet就是一个接口,定义了java类被浏览器访问到(tomcat识别)的规则 将来我们自定义一个类,实现Servlet接口,复写方法 1.1快速入门 1.创建javaEE项目 2.定义类实…

DFS——连通性和搜索顺序(回溯)

文章目录概述连通性问题模板思考迷宫红与黑搜索顺序(回溯)模板思考马走日单词接龙分成互质组总结概述 定义 在深度优先搜索中,对于最新发现的顶点,如果它还有以此为顶点而未探测到的边,就沿此边继续探测下去,当顶点v的所有边都已…

JavaScript刷LeetCode拿offer-滑动窗口

一、前言 《JavaScript刷LeetCode拿offer-双指针技巧》中,简单地介绍了双指针技巧相比较单指针的优点,以及结合 Easy 难度的题目带大家进一步了解双指针的应用。 进入 Medium 难度之后,解题的关键在于如何构造双指针以及确定指针移动的规则…

从 0 开始学 Python 自动化测试开发(二):环境搭建

本文是「从 0 开始学 Python 自动化测试开发」专题系列文章第二篇 —— 环境搭建篇,适合零基础入门的同学。没有阅读过上一篇的同学,请戳主页看上一篇噢。作者方程老师,是前某跨国通信公司高级测试经理,目前为某互联网名企资深测试…

常见管理网络的net命令

目录1 简介2 常用命令2.1 net view2.2 net user2.3 net use2.4 net start2.5 net stop2.6 net share1 简介 net 命令是一种基于网络的命令,该命令包含了管理网络环境、服务、用户、登录等大部分重要的管理功能。 2 常用命令 2.1 net view 作用:显示域…

Spring 之 @Component 和 @Configuration 两者区别以及源码分析

之前一直搞不清 Component 和 Configuration 这两个注解到底有啥区别,一直认为被这两修饰的类可以被 Spring 实例化嘛,不,还是见识太短,直到今天才发现这两玩意有这么大区别。很幸运能够及时发现,后面可以少走点坑&…

操作系统知识点

操作系统的目标: 方便:使计算机系统易用 有效:以更有效的方式使用计算机系统资源 扩展:方便用户有效开发、测试和引进新功能 操作系统的 作用: 1. 有效的管理资源 2.通过命令接口、编程接口等为用户提供各种…

【自然语言处理】【ChatGPT系列】Chain of Thought:从大模型中引导出推理能力

Chain-of-Thought Prompting:从大模型中引导出推理能力《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》论文地址:https://arxiv.org/pdf/2201.11903.pdf 相关博客 【自然语言处理】【ChatGPT系列】Chain of Thought&#xf…

什么是加权轮询?云解析DNS是否支持加权轮询?-中科三方

什么是加权轮询? 所谓的加权轮询算法,其实就是Weighted Round Robin,简称wrr。在我们配置Nginx的upstream的时候,带权重的轮询,其实就是wrr。 upstream backend { ip_hash; server 192.168.1.232 weight4; server 19…

无疫苗未吃药,48小时内阳康全纪实个案

为了不误导不同体质的人,特意强调这是个案,阳康方案仅供参考。小编体质偏寒,长期熬夜,黑白颠倒,有习惯性头痛症。经验总结:1.受到风寒是病发的直接导火索,就算携带病毒,本体没有受到…

Android实现红绿灯检测(含Android源码 可实时运行)

Android实现红绿灯检测(含Android源码 可实时运行) 目录 Android实现红绿灯检测(含Android源码 可实时运行) 1. 前言 2. 红绿灯检测数据集说明 3. 基于YOLOv5的红绿灯检测模型训练 4.红绿灯检测模型Android部署 (1) 将Pytorch模型转换ONNX模型 &…

吉林优美姿:抖音怎么增加销量?

为了更好的在做抖音好物联盟,那么一些抖音达人也会想方设法的去报名申请,那么大家是否真的清楚这个报名要怎么做呢?具体有什么要求呢?跟着吉林优美姿小编来一起看看吧! 注册要求:凡注册抖音 APP并开通产品分…

大数据培训Impala之存储和压缩

注:impala不支持ORC格式 1.创建parquet格式的表并插入数据进行查询 [hadoop104:21000] > create table student2(id int, name string) > row format delimited > fields terminated by ‘\t’ > stored as PARQUET; [hadoop104:21000] > insert …

工控CTF之协议分析9——其他协议

协议分析 流量分析 主要以工控流量和恶意流量为主,难度较低的题目主要考察Wireshark使用和找规律,难度较高的题目主要考察协议定义和特征 简单只能简单得干篇一律,难可以难得五花八门 常见的工控协议有:Modbus、MMS、IEC60870、…

【计算机视觉】回顾2022年计算机视觉领域最激动人心的进展

目录:回顾2022年计算机视觉一、前言二、计算机视觉趋势2.1 Transformer统治计算机视觉2.2 以数据为中心的计算机视觉获得牵引力2.3 AI 生成的艺术作品2.4 多模态人工智能成熟三、计算机视觉的新应用3.1 运动领域3.2 环境保护3.3 自动驾驶3.4 健康与医药四、总结一、…

数据类型隐式转换导致的阻塞

背景 不合适的数据类型隐式转换会导致性能下降和并发下降,而且大多数技术人员对隐式转换的概念是陌生的,因此在生产环境中非常常见,通过本文做一个系统的梳理。 现象 收到SQL专家云阻塞告警邮件,登录SQL专家云,进入实…

推荐系统学习笔记-冷启动

简介 推荐系统的主要目标是将大量的标的物推荐给可能喜欢的海量用户, 这里涉及到标的物和用户两类对象。任何互联网推荐产品, 标的物和用户都是不断增长变化的,所以一定会频繁面对新标的物和新用户, 推荐系统冷启动问题指的就是对于新注册的用户或者新入库的标的物…

CDGA|2022年内有超20家银行因数据治理模块受罚,原因都在这里

今年,银保监会对银行数据治理的监管趋严,对银行机构在监管数据质量和数据报送中存在的违法违规行为,不断加大处罚与整治力度。 近日,北京农商银行收到的一张630万元罚单显示,该行主要存在的违法违规事实具体为&#xf…