学习概率扩散模型需要先了解以下前置知识,方便后续扩散模型的原理推导的理解。难理解就多理解几遍,感觉到了就理解了。
概率
概率是指事件发生的可能性或程度的度量。它表示事件发生的相对频率或可能性。概率可以用一个介于 0 和 1 之间的数值来表示,其中 0 表示不可能事件,1 表示必然事件。
条件概率
条件概率是指在某一事件发生的条件下,另一个事件发生的概率。它通常用 P(A|B) 表示,在事件 B 发生的条件下事件 A 发生的概率。
其表达式如下:
P ( A ∣ B ) = P ( A ∩ B ) P ( B ) P(A|B) = \frac{P(A \cap B)}{P(B)} P(A∣B)=P(B)P(A∩B)
这里,P(A ∩ B) 表示事件 A 和事件 B 同时发生的概率:
P
(
A
,
B
)
=
P
(
A
∩
B
)
=
P
(
A
)
∗
P
(
B
∣
A
)
=
P
(
B
)
∗
P
(
A
∣
B
)
P(A,B)=P(A ∩ B) = P(A) * P(B|A) = P(B) * P(A|B)
P(A,B)=P(A∩B)=P(A)∗P(B∣A)=P(B)∗P(A∣B)
P
(
B
)
P(B)
P(B) 是事件 B 发生的概率,以离散型为例。
条件概率的一般形式
P ( A , B , C ) = P ( C ∣ A , B ) P ( B , A ) = P ( C ∣ A , B ) P ( B ∣ A ) P ( A ) P(A,B,C)=P(C\mid A,B)P(B,A)=P(C\mid A,B)P(B \mid A)P(A) P(A,B,C)=P(C∣A,B)P(B,A)=P(C∣A,B)P(B∣A)P(A)
P ( B , C ∣ A ) = P ( C ∣ A , B ) P ( B ∣ A ) P(B,C\mid A)=P(C\mid A,B)P(B \mid A) P(B,C∣A)=P(C∣A,B)P(B∣A)
满足马尔科夫假设的条件概率
如果满足马尔可夫假设 A → B → C A \to B \to C A→B→C 则:
P ( A , B , C ) = P ( C ∣ B , A ) P ( B , A ) = P ( C ∣ B ) P ( B ∣ A ) P ( A ) P(A,B,C)=P(C\mid B,A)P(B,A)=P(C\mid B)P(B \mid A)P(A) P(A,B,C)=P(C∣B,A)P(B,A)=P(C∣B)P(B∣A)P(A)
P ( B , C ∣ A ) = P ( C ∣ B ) P ( B ∣ A ) P(B,C\mid A)=P(C\mid B)P(B \mid A) P(B,C∣A)=P(C∣B)P(B∣A)
贝叶斯定理
贝叶斯定理是概率论中一条基本定理,用于描述随机事件之间的条件概率关系。贝叶斯定理其实是条件概率公式的一种特殊形式。贝叶斯定理用于计算在已知一些条件下的概率,它涉及到事件之间的相互关系,特别是因果关系。
事件 A 和事件 B 同时发生的概率 P ( A ∩ B ) = P ( A ) ∗ P ( B ∣ A ) = P ( B ) ∗ P ( A ∣ B ) P(A ∩ B) = P(A) * P(B|A) = P(B) * P(A|B) P(A∩B)=P(A)∗P(B∣A)=P(B)∗P(A∣B)
P ( A ∣ B ) = P ( A ∩ B ) P ( B ) = P ( B ) ∗ P ( A ∣ B ) P ( B ) = P ( A ) ∗ P ( B ∣ A ) P ( B ) P(A|B) = \frac{P(A \cap B)}{P(B)} = \frac{P(B) * P(A|B)}{P(B)} = \frac{P(A) * P(B|A)}{P(B)} P(A∣B)=P(B)P(A∩B)=P(B)P(B)∗P(A∣B)=P(B)P(A)∗P(B∣A)
- P ( A ) P(A) P(A) 称为先验概率,即事件 A A A独立发生的概率。
- P ( B ) P(B) P(B) 称为证据,即事件 B B B独立发生的概率。
- P ( A ∣ B ) P(A|B) P(A∣B) 称为后验概率,可以理解为在已知 B B B事件发生后对 A A A事件发生的修正概率。
- P ( B ∣ A ) P(B|A) P(B∣A) 称为似然, B B B事件发生对 A A A事件发生的归因力度(可以理解为模型参数,证据强度),为 A A A事件发生后 B B B事件极可能发生。
概率分布
在概率论和统计学中,分布(Distribution)是用于描述随机变量可能取值及其概率的数学函数或模型。它表达了随机变量在不同取值上的概率分布或密度。
具体来说,分布定义了随机变量可能取值的集合,以及每个取值的概率或概率密度。它描述了随机变量在不同取值上的相对频率或可能性。
在离散情况下,我们使用概率质量函数(Probability Mass Function,PMF) 来描述随机变量的分布。概率质量函数给出了随机变量取各个值的概率。
在连续情况下,我们使用概率密度函数(Probability Density Function,PDF) 来描述随机变量的分布。概率密度函数给出了随机变量在不同取值上的概率密度。
常见的概率分布包括正态分布(高斯分布)、均匀分布、指数分布、伯努利分布、二项分布、泊松分布等。每个分布都有其特定的数学形式和参数,用于描述不同的随机现象。
分布在概率论和统计学中起着重要的作用。它被用于建模和描述随机事件、进行概率推断、进行参数估计和假设检验等。通过了解随机变量的分布,我们可以理解和预测随机现象的特性和行为。
分布是一种描述随机变量可能取值的概率规律的数学模型。分布可以由若干参数来描述,这些参数可以控制分布的形状、位置和尺度等特征。 不同的分布可以用于描述不同类型的随机变量,比如正态分布、均匀分布、泊松分布等。对于某些特定的分布,参数可以直接决定分布的形态,比如正态分布中的均值和方差。
对于深度学习模型来说,模型的参数用来表示某种数据分布。深度学习模型可以看作是对数据分布的建模,通过调整模型的参数,使得模型能够更准确地描述或逼近数据的分布情况。在训练过程中,模型的参数被调整以最大程度地匹配或逼近观察到的数据分布,从而使得模型具有更好的预测能力和泛化能力。
在概率论和统计学中,有许多常见的概率分布。下面列举了一些常见的分布及其含义和计算公式:
-
正态分布(Normal Distribution):
- 含义:也称为高斯分布,是最常见的连续概率分布之一。它以钟形曲线的形式描述,对称分布于均值周围,并由均值和标准差来完全确定。
- 计算公式:概率密度函数为: f ( x ) = 1 2 π σ e [ − ( x − μ ) 2 2 σ 2 ] f(x) = \frac{1}{\sqrt{2\pi }\sigma } e^{\left [ -\frac{\left ( x-\mu \right )^{2}}{2\sigma ^{2} } \right ]} f(x)=2πσ1e[−2σ2(x−μ)2] 其中 μ 表示均值,σ 表示标准差。
- 如果某个随机变量受多种因素共同影响,但是在这些因素中没有一个起到决定性作用。那么该随机变量的概率密度曲线会接近钟形分布(正态分布)。
-
均匀分布(Uniform Distribution):
- 含义:均匀分布是指随机变量在一个有限区间内的取值概率是相等的,即每个取值的概率相等。
- 计算公式:概率密度函数为: f ( x ) = 1 / ( b − a ) f(x) = 1 / (b - a) f(x)=1/(b−a) 其中 a 和 b 分别表示区间的下界和上界。
-
指数分布(Exponential Distribution):
- 含义:指数分布描述了连续随机事件发生的时间间隔的概率分布。它通常用于建模无记忆性随机事件。
- 计算公式:概率密度函数为: f ( x ) = λ ∗ e x p ( − λ x ) f(x) = λ * exp(-λx) f(x)=λ∗exp(−λx) 其中 λ 表示速率参数。
-
伯努利分布(Bernoulli Distribution):
- 含义:伯努利分布是一种二元随机变量的离散分布,用于描述只有两个可能取值的随机试验的结果。
- 计算公式:概率质量函数为: P ( X = k ) = p k ∗ ( 1 − p ) ( 1 − k ) P(X=k) = p^k * (1-p)^(1-k) P(X=k)=pk∗(1−p)(1−k) 其中 k 取 0 或 1,表示两个可能的取值,p 表示事件发生的概率。
-
二项分布(Binomial Distribution):
- 含义:二项分布是一种重复进行独立的二元随机试验的离散分布,用于描述成功次数的概率分布。
- 计算公式:概率质量函数为: P ( X = k ) = C ( n , k ) ∗ p k ∗ ( 1 − p ) ( n − k ) P(X=k) = C(n, k) * p^k * (1-p)^(n-k) P(X=k)=C(n,k)∗pk∗(1−p)(n−k) 其中 k 表示成功次数,n 表示试验次数,p 表示每次试验成功的概率。
似然
似然(Likelihood)描述参数与观测数据之间的关系。它在概率论和统计推断中扮演着重要的角色。使用概率分布函数来描述随机变量的分布。给定一组观测数据,似然函数是关于模型参数的函数,用于衡量观测数据出现的可能性。它描述了在给定参数下,观测数据集出现的概率。
似然函数通常使用符号 L(θ; x) 表示,其中 θ 表示模型的参数,x 表示观测数据。似然函数的定义可以根据具体的问题和模型而有所不同。
对于离散型随机变量,似然函数可以表示为概率质量函数的乘积。假设有一个离散型随机变量 X,其概率质量函数为 P(X=x; θ),其中 x 是观测数据,θ 是模型参数。给定观测数据集 {x1, x2, …, xn},似然函数可以表示为:
L ( θ ; { x 1 , x 2 , … , x n } ) = P ( X = x 1 ; θ ) ⋅ P ( X = x 2 ; θ ) ⋅ … ⋅ P ( X = x n ; θ ) L(\theta; \{x_1, x_2, \ldots, x_n\}) = P(X=x_1; \theta) \cdot P(X=x_2; \theta) \cdot \ldots \cdot P(X=x_n; \theta) L(θ;{x1,x2,…,xn})=P(X=x1;θ)⋅P(X=x2;θ)⋅…⋅P(X=xn;θ)
对于连续型随机变量,似然函数可以表示为概率密度函数的乘积。假设有一个连续型随机变量 X,其概率密度函数为 f(x; θ),其中 x 是观测数据,θ 是模型参数。给定观测数据集 {x1, x2, …, xn},似然函数可以表示为:
L ( θ ; { x 1 , x 2 , … , x n } ) = f ( x 1 ; θ ) ⋅ f ( x 2 ; θ ) ⋅ … ⋅ f ( x n ; θ ) L(\theta; \{x_1, x_2, \ldots, x_n\}) = f(x_1; \theta) \cdot f(x_2; \theta) \cdot \ldots \cdot f(x_n; \theta) L(θ;{x1,x2,…,xn})=f(x1;θ)⋅f(x2;θ)⋅…⋅f(xn;θ)
其中, L ( θ ; { x 1 , x 2 , … , x n } ) L(\theta; \{x_1, x_2, \ldots, x_n\}) L(θ;{x1,x2,…,xn})表示似然函数, θ \theta θ表示模型的参数, x 1 , x 2 , … , x n x_1, x_2, \ldots, x_n x1,x2,…,xn 表示观测数据。
对于离散型随机变量,概率质量函数用
P
(
X
=
x
;
θ
)
P(X=x; \theta)
P(X=x;θ)表示;
对于连续型随机变量,概率密度函数用
f
(
x
;
θ
)
f(x; \theta)
f(x;θ)表示。
最大似然估计(MLE)的目标是找到最大化似然函数的参数值。具体来说,对于给定的观测数据集
{
x
1
,
x
2
,
…
,
x
n
}
\{x_1, x_2, \ldots, x_n\}
{x1,x2,…,xn},MLE通过寻找使似然函数最大化的参数值
θ
^
\hat{\theta}
θ^来估计模型的参数:
θ
^
=
arg
max
θ
L
(
θ
;
{
x
1
,
x
2
,
…
,
x
n
}
)
\hat{\theta} = \arg\max_{\theta} L(\theta; \{x_1, x_2, \ldots, x_n\})
θ^=argθmaxL(θ;{x1,x2,…,xn})
通过最大化似然函数,我们寻找使观测数据出现的可能性最大的参数值。
期望
期望可以理解为多次独立实验中平均每次会得到的结果。用于衡量随机变量的平均值或预期值。期望值考虑了所有可能结果的权重,根据每种结果发生的概率进行加权平均。
对于离散型随机变量,其期望为:
E
[
X
]
=
∑
x
x
⋅
P
(
X
=
x
)
E[X] = \sum_{x} x \cdot P(X=x)
E[X]=x∑x⋅P(X=x)
其中, X X X为随机变量, x x x为 X X X可能取到的值, P ( X = x ) P(X=x) P(X=x)为 X X X取到值 x x x的概率。
对于连续型随机变量,其期望为:
E
[
X
]
=
∫
x
⋅
f
(
x
)
,
d
x
E[X] = \int x \cdot f(x) ,dx
E[X]=∫x⋅f(x),dx
其中, X X X为随机变量, x x x为 X X X的取值, f ( x ) f(x) f(x)为 X X X的概率密度函数。
函数的期望
当一个函数乘以一个分布,并对该函数在整个样本空间上进行积分时,这个积分可以理解为函数对该分布的期望。
数学上,设函数为
f
(
x
)
f(x)
f(x),分布为
p
(
x
)
p(x)
p(x),则函数乘以分布的积分可以表示为:
∫
f
(
x
)
⋅
p
(
x
)
,
d
x
\int f(x) \cdot p(x) ,dx
∫f(x)⋅p(x),dx
这个积分可以被理解为函数 f ( x ) f(x) f(x)在分布 p ( x ) p(x) p(x)下的期望 E [ f ( x ) ] E[f(x)] E[f(x)]。
以数学期望的定义为基础,期望可以表示为:
E
[
f
(
x
)
]
=
∫
f
(
x
)
⋅
p
(
x
)
,
d
x
E[f(x)] = \int f(x) \cdot p(x) ,dx
E[f(x)]=∫f(x)⋅p(x),dx
琴生不等式
琴生不等式(Cauchy-Schwarz inequality)是数学中的一种重要不等式,用于描述内积空间中向量的关系。琴生不等式可以用以下形式表示:
对于内积空间中的两个向量
a
\mathbf{a}
a 和
b
\mathbf{b}
b,琴生不等式为:
∣
⟨
a
,
b
⟩
∣
2
≤
⟨
a
,
a
⟩
⋅
⟨
b
,
b
⟩
|\langle \mathbf{a}, \mathbf{b} \rangle|^2 \leq \langle \mathbf{a}, \mathbf{a} \rangle \cdot \langle \mathbf{b}, \mathbf{b} \rangle
∣⟨a,b⟩∣2≤⟨a,a⟩⋅⟨b,b⟩
其中, ⟨ ⋅ , ⋅ ⟩ \langle \cdot, \cdot \rangle ⟨⋅,⋅⟩ 表示内积操作, ∣ ⋅ ∣ |\cdot| ∣⋅∣ 表示绝对值。
这个不等式说明了两个向量内积的绝对值的平方不会超过两个向量的内积的模长的乘积。当且仅当向量 a \mathbf{a} a 和 b \mathbf{b} b 共线时,等号成立。
自回归模型
对条件概率建模(对见过的数据建模)。之前的输出作为下个状态的输入。利用自身数据来预测未来。
x
t
∼
P
(
x
t
∣
x
t
−
1
,
…
,
x
1
)
.
P
(
x
1
,
…
,
x
T
)
=
∏
t
=
1
T
P
(
x
t
∣
x
t
−
1
,
…
,
x
1
)
.
x_t \sim P(x_t \mid x_{t-1}, \ldots, x_1). P(x_1, \ldots, x_T) = \prod_{t=1}^T P(x_t \mid x_{t-1}, \ldots, x_1).
xt∼P(xt∣xt−1,…,x1).P(x1,…,xT)=t=1∏TP(xt∣xt−1,…,x1).
Markov chain
马尔可夫链是一种随机过程,它具有马尔可夫性质,即在给定当前状态的情况下,未来状态的条件概率只依赖于当前状态,而与过去的状态无关。马尔可夫链由一组状态和状态之间的转移概率组成,可以描述状态之间的转移规律。
在马尔可夫链中,转移概率满足以下两个性质:
- 非负性:转移概率必须非负,表示状态之间的转移是可行的。
- 归一性:对于每个状态,所有可能的转移概率之和等于1,表示在当前状态下必定会发生状态转移。
转移概率是指在马尔可夫链中,从一个状态转移到另一个状态的概率。马尔可夫链由一组离散的状态以及状态之间的转移概率组成。
对于一个具有n个状态的马尔可夫链,转移概率可以表示为一个n×n的矩阵,通常称为转移矩阵(transition matrix)。转移矩阵的第i行第j列的元素表示在当前状态为i的情况下,下一个状态为j的概率。
转移概率矩阵的性质如下:
-
非负性:转移概率矩阵的所有元素都必须是非负的,因为概率本身是非负的。
-
归一性:每行的元素之和等于1,即每个状态的转移概率之和为1。这是因为在给定当前状态的情况下,必须发生状态转移。
具体来说,假设有一个3个状态的马尔可夫链,状态分别为A、B和C。转移概率矩阵如下所示:
A B C
A p(A→A) p(A→B) p(A→C)
B p(B→A) p(B→B) p(B→C)
C p(C→A) p(C→B) p(C→C)
其中,p(A→B)表示从状态A转移到状态B的概率,p(B→C)表示从状态B转移到状态C的概率,以此类推。
转移概率矩阵描述了马尔可夫链中状态之间的转移关系。通过迭代状态转移,可以计算出在给定初始状态下,马尔可夫链在长期运行下各个状态的概率分布。这对于分析马尔可夫链的稳定行为和预测未来状态具有重要意义。
参数化的马尔可夫链
参数化的马尔可夫链(Parameterized Markov Chain)是一种马尔可夫链模型,其中转移概率是通过参数化函数表示的,而不是手动指定每个状态之间的具体概率值。
在传统的马尔可夫链中,转移概率由转移矩阵中的元素直接给出。而在参数化的马尔可夫链中,转移概率是通过一个或多个参数化函数来计算得到的。
参数化的马尔可夫链的优势在于可以灵活地根据实际问题对转移概率进行建模,并且可以通过对参数进行学习和优化来适应不同的数据和任务。
常见的参数化函数包括:
-
线性函数:转移概率可以通过线性函数进行建模,例如使用线性回归模型。
-
非线性函数:转移概率可以通过非线性函数进行建模,例如使用神经网络模型。
-
概率分布函数:转移概率可以通过概率分布函数进行建模,例如使用高斯分布、多项分布等。
通过使用参数化函数来建模转移概率,参数化的马尔可夫链提供了更大的灵活性和适应性,可以更好地适应不同的问题和数据,并且在学习和优化参数时可以利用现有的机器学习和优化技术。
潜变量模型
假设在现实情况下相当长的序列
x
t
−
1
,
…
,
x
1
x_{t-1}, \ldots, x_1
xt−1,…,x1可能是不必要的,
因此我们只需要满足某个长度为
τ
\tau
τ的时间跨度,
即使用观测序列
x
t
−
1
,
…
,
x
t
−
τ
x_{t-1}, \ldots, x_{t-\tau}
xt−1,…,xt−τ。我们使用
x
t
−
1
,
…
,
x
t
−
τ
x_{t-1}, \ldots, x_{t-\tau}
xt−1,…,xt−τ
而不是
x
t
−
1
,
…
,
x
1
x_{t-1}, \ldots, x_1
xt−1,…,x1来估计
x
t
x_t
xt。
只要这种是近似精确的,我们就说序列满足马尔可夫条件(Markov condition)。
潜变量模型用于描述观测数据与未观测到的潜在变量直接的关系。
马尔科夫假设增加
n
n
n,模型参数的数量也会随之呈指数增长,
因为词表
V
\mathcal{V}
V需要存储
∣
V
∣
n
|\mathcal{V}|^n
∣V∣n个数字。
隐变量模型:
P ( x t ∣ x t − 1 , … , x 1 ) ≈ P ( x t ∣ h t − 1 ) , P(x_t \mid x_{t-1}, \ldots, x_1) \approx P(x_t \mid h_{t-1}), P(xt∣xt−1,…,x1)≈P(xt∣ht−1),
引入潜变量来概括历史信息。保留一些对过去观测的总结
h
t
h_t
ht(隐状态或隐藏变量),
并且同时更新预测
x
^
t
\hat{x}_t
x^t和总结
h
t
h_t
ht。
这就产生了基于
x
^
t
=
P
(
x
t
∣
h
t
)
\hat{x}_t = P(x_t \mid h_{t})
x^t=P(xt∣ht)估计
x
t
x_t
xt,
以及公式
h
t
=
g
(
h
t
−
1
,
x
t
−
1
)
h_t = g(h_{t-1}, x_{t-1})
ht=g(ht−1,xt−1)更新的模型。
由于
h
t
h_t
ht从未被观测到,这类模型也被称为
隐变量自回归模型(latent autoregressive models)。
变分推断
变分推断(Variational Inference)是一种用于近似推断概率图模型中未观测变量后验分布的方法。它是一种基于优化的方法,旨在通过找到一个近似分布来近似真实的后验分布。
在概率图模型中,我们通常希望推断未观测变量的后验分布,即给定观测数据后,对未观测变量的概率分布进行推断。然而,在复杂的概率图模型中,直接计算后验分布是困难的,因为涉及到高维积分或求和的计算。
变分推断通过引入一个可参数化的近似分布(称为变分分布)来近似后验分布。变分分布的选择通常是由于其计算的可行性和灵活性。然后,变分推断通过最小化变分分布与真实后验分布之间的差异来寻找最佳的近似。
这个最小化问题可以通过优化方法来解决,常见的方法是变分推断中的变分推断优化问题。该问题可以通过**最大化变分下界(Maximizing the Variational Lower Bound)**或最小化某种距离度量来表达。这样,通过迭代优化过程,可以逐步改进近似分布的质量。
重参数化技巧
若希望从高斯分布 N ( μ , σ ) N( \mu , \sigma) N(μ,σ)中采样,可以先从标准高斯分布 N ( 0 , I ) N( 0 , I) N(0,I)中采样出 z z z,得到 σ ∗ z + μ \sigma * z+\mu σ∗z+μ,这样做的好处是将随机性转移到 z z z,而 μ \mu μ, σ \sigma σ当作神经网络仿射变换的一部分参与训练。
最大化变分下界
是变分推断中常用的优化目标。变分下界(variational lower bound),也称为证据下界(evidence lower bound)或ELBO(Evidence Lower BOund),是用于近似后验分布的变分推断中的重要概念。
在变分推断中,我们希望通过一个可参数化的近似分布来近似真实的后验分布。对于给定的观测数据,我们可以定义一个变分下界,它是真实后验分布的期望值和近似分布的KL散度的差。
形式上,对于概率图模型中的未观测变量z和观测变量x,我们可以定义变分下界为:
E L B O = E q ( z ∣ x ) [ l o g ( p ( x , z ) ) − l o g ( q ( z ∣ x ) ) ] ELBO = E_q(z|x)[log(p(x, z)) - log(q(z|x))] ELBO=Eq(z∣x)[log(p(x,z))−log(q(z∣x))]
其中,p(x, z)是联合分布,q(z|x)是近似后验分布。
变分下界是一个期望值,可以通过对近似分布q(z|x)进行采样和计算得到。在实际应用中,我们常常使用随机梯度下降等优化算法,来最大化变分下界。
通过最大化变分下界,我们在近似后验分布和真实后验分布之间建立了一个紧凑的界限。优化过程中,我们希望找到能够最大化变分下界的近似分布参数,这样可以使近似分布更好地逼近真实后验分布。
最大化变分下界的优化过程是变分推断的核心步骤,它使得我们能够通过优化近似分布来进行后验推断。然而,需要注意的是,**变分下界是一个近似目标,因此最终的近似后验分布可能仍然与真实后验分布存在一定的差异。**因此,在使用变分推断时,需要综合考虑近似性质和计算复杂度之间的权衡。