简单基础入门理解Denoising Diffusion Probabilistic Model,DDPM扩散模型
Posted xiongxyowo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单基础入门理解Denoising Diffusion Probabilistic Model,DDPM扩散模型相关的知识,希望对你有一定的参考价值。
I. 作者的话
最近非常不巧的要研究什么diffusion…然而目前网上能找到的资料完全是设计给非常熟练数学的人看的(哪怕对于许多所谓的"入门教程",基本就是纯数学劝退教程),对于我这种高数概率论约等于挂科的人来说根本没法看。因此希望写一篇尽量通俗易懂,在尽量避免「概率论」的情况下,能把diffusion讲明白来的文章。
由于笔者数学并不是很好,且也只是刚刚接触diffusion模型,因此本文应「只」适合于同样「数学较差」无法看懂网络上其他地方(例如X乎)教程的同学,「不」适合对diffusion有关底层数学原理动机比较熟悉的。如果存在推理描述错误,以及对本文表述有疑问之类,欢迎一同在评论区中讨论。
© c s d n : x i o n g x y o w o \\copyright csdn: xiongxyowo c◯csdn:xiongxyowo
II. 前置知识
如果后续推导中有不理解的数学定义,「回到」这里或许能找到解释。
数学符号
y ∝ x y \\propto x y∝x, y y y正比于 x x x,即 y y y随着 x x x增大而线性增大。
条件概率
P
(
A
∣
B
)
P(A \\mid B)
P(A∣B)表示事件
B
B
B已经发生的情况下,事件
A
A
A发生的可能性。
换在本文的语境下,就是变量
B
B
B已知的情况下,变量
A
A
A的取值分布。
P
(
A
∣
B
,
C
)
P(A \\mid B, C)
P(A∣B,C)则是一种多元条件概率,表示在
B
B
B,
C
C
C同时发生的情况下,
A
A
A发生的概率。
换在本文的语境下,就是变量
B
B
B,
C
C
C已知确定的情况下,变量
A
A
A的取值分布。
贝叶斯公式
P ( A ∣ B ) = P ( B ∣ A ) ∗ P ( A ) P ( B ) P(A \\mid B) = \\fracP(B \\mid A) * P(A)P(B) P(A∣B)=P(B)P(B∣A)∗P(A)
高斯分布的概率密度函数
给定均值为
μ
\\mu
μ,标准差为
σ
\\sigma
σ,方差为
σ
2
\\sigma^2
σ2的高斯分布
N
(
μ
,
σ
2
)
\\mathcalN(\\mu, \\sigma^2)
N(μ,σ2),其概率密度函数为:
p
(
x
)
=
1
2
π
σ
e
−
1
2
(
x
−
μ
σ
)
2
p(x) = \\frac1\\sqrt 2\\pi \\sigma e^ - \\frac12(\\fracx - \\mu \\sigma )^2
p(x)=2πσ1e−21(σx−μ)2。
很多时候,为了方便起见,也会写成
p
(
x
)
∝
e
−
1
2
(
x
−
μ
σ
)
2
p(x) \\propto e^ - \\frac12(\\fracx - \\mu \\sigma )^2
p(x)∝e−21(σx−μ)2,也就是把前面乘的常数系数
1
2
π
σ
\\frac1\\sqrt 2\\pi \\sigma
2πσ1去掉了。
进一步的,为了推导方便起见,我们把
exp
(
−
1
2
(
x
−
μ
σ
)
2
)
\\exp( - \\frac12(\\fracx - \\mu \\sigma )^2)
exp(−21(σx−μ)2)展开,因此有
p
(
x
)
∝
exp
(
−
1
2
(
1
σ
2
x
2
−
2
μ
σ
2
x
+
μ
2
σ
2
)
)
p(x) \\propto \\exp(-\\frac12\\left(\\frac1\\sigma^2 x^2-\\frac2 \\mu\\sigma^2 x+\\frac\\mu^2\\sigma^2\\right))
p(x)∝exp(−21(σ21x2−σ22μx+σ2μ2))
概率分布中分号的理解
如果对形如
q
(
x
t
∣
x
t
−
1
)
=
N
(
x
t
;
1
−
β
t
x
t
−
1
,
β
t
I
)
q\\left(\\mathbfx_t \\mid \\mathbfx_t-1\\right)=\\mathcalN\\left(\\mathbfx_t ; \\sqrt1-\\beta_t \\mathbfx_t-1, \\beta_t \\mathbfI\\right)
q(xt∣xt−1)=N(xt;1−βtxt−1,βtI)的式子感到疑惑,这篇文章提供了一种理解方法。
以上面提到的高斯分布为例,如果概率分布密度函数中的自变量不是默认的
x
x
x而是其他,那么应该在分布记号中显式的用分号表示实际的自变量。比如实际的自变量是
x
1
x_1
x1而非
x
x
x,那么高斯分布应记做
N
(
x
1
;
μ
,
σ
2
)
\\mathcalN(x_1; \\mu, \\sigma^2)
N(x1;μ,σ2)。默认不写分号的话,
N
(
μ
,
σ
2
)
\\mathcalN(\\mu, \\sigma^2)
N(μ,σ2)等价于
N
(
x
;
μ
,
σ
2
)
\\mathcalN(x; \\mu, \\sigma^2)
N(x;μ,σ2)。
高斯分布的乘法与加法
对(标准)高斯分布
N
(
0
,
1
)
\\mathcalN(0, 1)
N(0,1)做乘法,乘以
σ
\\sigma
σ,得到一个新的高斯分布,
N
(
0
,
σ
2
)
\\mathcalN(0, \\sigma^2)
N(0,σ2)。
对(标准)高斯分布
N
(
0
,
1
)
\\mathcalN(0, 1)
N(0,1)做加法,加上
μ
\\mu
μ,得到一个新的高斯分布,
N
(
μ
,
1
)
\\mathcalN(\\mu, 1)
N(μ,1)。
两个高斯分布
N
(
0
,
σ
1
2
)
\\mathcalN(0, \\sigma_1^2)
N(0,深度学习入门基础二简单理解 Transformer
自编码器原理以及相关算法 Basic Auto-Encoder,Regularized Auto-Encoder,Denoising Auto-Encoder
自编码器原理以及相关算法 Basic Auto-Encoder,Regularized Auto-Encoder,Denoising Auto-Encoder