Normalizing Flows(二)的表达能力:它有多“万能”?

Normalizing Flows的表达能力:它有多“万能”?

作为深度学习研究者,你可能对Normalizing Flows(正态化流)的灵活性充满好奇:它真的能建模任何概率分布吗?在《Normalizing Flows for Probabilistic Modeling and Inference》第2.2节“Expressive Power of Flow-Based Models”中,作者给出了肯定的答案,并通过数学推导证明了其普适性。本文将带你走进这一节的核心内容,揭示Normalizing Flows的表达能力,并一步步展示其理论依据。

核心问题:Flow能表达多复杂的分布?

Normalizing Flows的基本思路是通过一个可逆且可微的变换 ( T T T),将简单的基分布 ( p u ( u ) p_{\mathbf{u}}(\mathbf{u}) pu(u))(如标准正态分布)转化为目标分布 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x))。但一个自然的问题是:这种方法是否足够强大,能否表示任意复杂的 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x))?第2.2节明确指出,在合理的条件下,答案是“Yes”——存在一个微分同胚(diffeomorphism,具体参考笔者的另一篇博客:什么是“diffeomorphisms”(微分同胚)?从数学到深度学习的视角),可以将任何“良好行为”的基分布 ( p u ( u ) p_{\mathbf{u}}(\mathbf{u}) pu(u)) 变为目标分布 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x))。这种普适性让Normalizing Flows在概率建模中极具潜力。

证明是构造性的,灵感来源于非线性独立成分分析(ICA)的存在性证明(Hyvärinen and Pajunen, 1999)。下面,我们将逐步推导这个结论。

数学推导:从目标分布到均匀分布

假设我们有一个 ( D D D) 维目标分布 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x)),它满足以下条件:

  1. ( p x ( x ) > 0 p_{\mathbf{x}}(\mathbf{x}) > 0 px(x)>0) 对于所有 ( x ∈ R D \mathbf{x} \in \mathbb{R}^D xRD)(处处非零)。
  2. 所有条件概率 ( Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{Pr(xixix<i)) 关于 (( x i , x < i ) \mathrm{x}_i, \mathbf{x}_{xi,x<i)) 是可微的。

这些条件不算苛刻,许多实际分布(如连续分布)都满足。我们希望找到一个变换 ( T T T),使得 ( x = T ( u ) \mathbf{x} = T(\mathbf{u}) x=T(u)) 能从某个基分布 ( p u ( u ) p_{\mathbf{u}}(\mathbf{u}) pu(u)) 生成 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x))。为了证明普适性,我们先构造一个特殊的变换 ( F F F),将 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x)) 转化为一个简单的中间分布——均匀分布。

步骤1:分解目标分布

利用概率的链式法则,我们可以将 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x)) 分解为条件密度的乘积:
p x ( x ) = ∏ i = 1 D p x ( x i ∣ x < i ) p_{\mathbf{x}}(\mathbf{x}) = \prod_{i=1}^D p_{\mathbf{x}}(\mathrm{x}_i \mid \mathbf{x}_{px(x)=i=1Dpx(xix<i)
其中 ( x < i = ( x 1 , … , x i − 1 ) \mathbf{x}_{x<i=(x1,,xi1))。因为 ( p x ( x ) > 0 p_{\mathbf{x}}(\mathbf{x}) > 0 px(x)>0),所以每个条件密度 ( p x ( x i ∣ x < i ) > 0 p_{\mathbf{x}}(\mathrm{x}_i \mid \mathbf{x}_{ 0 px(xix<i)>0)。

步骤2:定义变换 ( F F F)

构造一个变换 ( F : x ↦ z ∈ ( 0 , 1 ) D F: \mathbf{x} \mapsto \mathbf{z} \in (0,1)^D F:xz(0,1)D),其第 ( i i i) 个分量定义为条件分布的累积分布函数(CDF):
z i = F i ( x i , x < i ) = ∫ − ∞ x i p x ( x i ′ ∣ x < i )   d x i ′ = Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \mathrm{z}_i = F_i(\mathrm{x}_i, \mathbf{x}_{zi=Fi(xi,x<i)=xipx(xix<i)dxi=Pr(xixix<i)
这个 ( F F F) 有什么性质?

  • 可微性:因为条件概率是可微的,( F i F_i Fi) 关于 ( x i \mathrm{x}_i xi) 和 ( x < i \mathbf{x}_{x<i) 也是可微的,所以 ( F F F) 是可微的。
  • 单调性:( F i ( ⋅ , x < i ) F_i(\cdot, \mathbf{x}_{Fi(,x<i)) 是 ( x i \mathrm{x}_i xi) 的严格递增函数,因为其导数 ( ∂ F i ∂ x i = p x ( x i ∣ x < i ) > 0 \frac{\partial F_i}{\partial \mathrm{x}_i} = p_{\mathbf{x}}(\mathrm{x}_i \mid \mathbf{x}_{ 0 xiFi=px(xix<i)>0)。这保证了 ( F i F_i Fi) 在每个 ( x < i \mathbf{x}_{x<i) 下是可逆的。
  • 范围:( F i F_i Fi) 将 ( x i ∈ R \mathrm{x}_i \in \mathbb{R} xiR) 映射到 ( ( 0 , 1 ) (0,1) (0,1)),因为当 ( x i → − ∞ \mathrm{x}_i \to -\infty xi) 时积分趋于0,当 ( x i → + ∞ \mathrm{x}_i \to +\infty xi+) 时趋于1。
步骤3:验证 ( F F F) 的可逆性

( F F F) 是逐维定义的,且 ( z i \mathrm{z}_i zi) 只依赖 ( x i \mathrm{x}_i xi) 和 ( x < i \mathbf{x}_{x<i),不依赖 ( x > i \mathrm{x}_{>i} x>i)。这意味着我们可以从 ( z \mathbf{z} z) 反推出 ( x \mathbf{x} x):
x i = ( F i ( ⋅ , x < i ) ) − 1 ( z i ) , i = 1 , … , D \mathrm{x}_i = (F_i(\cdot, \mathbf{x}_{xi=(Fi(,x<i))1(zi),i=1,,D
从 ( z 1 \mathrm{z}_1 z1) 开始,计算 ( x 1 = F 1 − 1 ( z 1 ) \mathrm{x}_1 = F_1^{-1}(\mathrm{z}_1) x1=F11(z1)),然后用 ( x 1 \mathrm{x}_1 x1) 计算 ( x 2 = F 2 − 1 ( z 2 , x 1 ) \mathrm{x}_2 = F_2^{-1}(\mathrm{z}_2, \mathrm{x}_1) x2=F21(z2,x1)),依次类推。( z \mathbf{z} z) 到 ( x \mathbf{x} x) 的映射是唯一的,因此 ( F F F) 是可逆的。

步骤4:计算雅可比行列式

( F F F) 的雅可比矩阵 ( J F ( x ) J_F(\mathbf{x}) JF(x)) 是下三角的,因为 ( z i \mathrm{z}_i zi) 不依赖 ( x > i \mathrm{x}_{>i} x>i),即 ( ∂ F i ∂ x j = 0 \frac{\partial F_i}{\partial \mathrm{x}_j} = 0 xjFi=0) 当 ( j > i j > i j>i)。对角元素是:
∂ F i ∂ x i = p x ( x i ∣ x < i ) \frac{\partial F_i}{\partial \mathrm{x}_i} = p_{\mathbf{x}}(\mathrm{x}_i \mid \mathbf{x}_{xiFi=px(xix<i)
所以行列式为:
det ⁡ J F ( x ) = ∏ i = 1 D ∂ F i ∂ x i = ∏ i = 1 D p x ( x i ∣ x < i ) = p x ( x ) \det J_F(\mathbf{x}) = \prod_{i=1}^D \frac{\partial F_i}{\partial \mathrm{x}_i} = \prod_{i=1}^D p_{\mathbf{x}}(\mathrm{x}_i \mid \mathbf{x}_{detJF(x)=i=1DxiFi=i=1Dpx(xix<i)=px(x)
因为 ( p x ( x ) > 0 p_{\mathbf{x}}(\mathbf{x}) > 0 px(x)>0),行列式处处非零,( F F F) 的逆 ( F − 1 F^{-1} F1) 存在且其雅可比矩阵为 ( J F ( x ) − 1 J_F(\mathbf{x})^{-1} JF(x)1)。这表明 ( F F F) 是微分同胚。

步骤5:验证 ( z \mathbf{z} z) 的分布

用变量变换公式计算 ( z \mathbf{z} z) 的密度:
p z ( z ) = p x ( x ) ∣ det ⁡ J F ( x ) ∣ − 1 = p x ( x ) ⋅ 1 p x ( x ) = 1 p_{\mathbf{z}}(\mathbf{z}) = p_{\mathbf{x}}(\mathbf{x}) \left| \det J_F(\mathbf{x}) \right|^{-1} = p_{\mathbf{x}}(\mathbf{x}) \cdot \frac{1}{p_{\mathbf{x}}(\mathbf{x})} = 1 pz(z)=px(x)detJF(x)1=px(x)px(x)1=1
因此,( z \mathbf{z} z) 在 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 上均匀分布(后文有解释)。这证明了任意满足条件的 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x)) 都可以通过微分同胚 ( F F F) 转化为均匀分布。

步骤6:扩展到任意基分布

现在假设基分布是 ( p u ( u ) p_{\mathbf{u}}(\mathbf{u}) pu(u))(同样满足处处非零和条件概率可微)。类似地,定义:
z i = G i ( u i , u < i ) = ∫ − ∞ u i p u ( u i ′ ∣ u < i )   d u i ′ = Pr ⁡ ( u i ′ ≤ u i ∣ u < i ) \mathrm{z}_i = G_i(\mathrm{u}_i, \mathbf{u}_{zi=Gi(ui,u<i)=uipu(uiu<i)dui=Pr(uiuiu<i)
( G G G) 也是微分同胚,将 ( p u ( u ) p_{\mathbf{u}}(\mathbf{u}) pu(u)) 转化为 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 上的均匀分布。于是,目标变换 ( T = F − 1 ∘ G T = F^{-1} \circ G T=F1G) 将 ( u ∼ p u ( u ) \mathbf{u} \sim p_{\mathbf{u}}(\mathbf{u}) upu(u)) 映射到 ( x ∼ p x ( x ) \mathbf{x} \sim p_{\mathbf{x}}(\mathbf{x}) xpx(x))。因为 ( F − 1 F^{-1} F1) 和 ( G G G) 都是微分同胚,它们的复合 ( T T T) 也是微分同胚。

结论与意义

这个推导表明,只要目标分布和基分布满足一定条件(处处非零且条件概率可微),就存在一个微分同胚 ( T T T) 使得 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x)) 可由 ( p u ( u ) p_{\mathbf{u}}(\mathbf{u}) pu(u)) 通过Normalizing Flows生成。这种普适性是理论上的:它保证了Flow-Based Models的表达能力没有根本限制。然而,实际中变换 ( T T T) 的复杂度(如神经网络的深度)会影响逼近效果,这需要进一步研究。

对于深度学习研究者,这意味着Normalizing Flows是一个通用的概率建模工具。不管你的数据分布多复杂,总有一个Flow能表示它。接下来的挑战是如何设计高效的 ( T T T),既能捕捉这种复杂度,又保持计算可行性——这正是后续章节的重点。


符号 ( Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{Pr(xixix<i)) 的含义

以下是对符号 ( Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{Pr(xixix<i)) 和“条件概率关于 (( x i , x < i ) \mathrm{x}_i, \mathbf{x}_{xi,x<i)) 是可微的”含义的解释,以及一个符合条件的例子。内容面向深度学习研究者,力求清晰且直观。


符号 ( Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{Pr(xixix<i)) 的含义

在概率论中,( Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{Pr(xixix<i)) 表示条件累积分布函数(Conditional Cumulative Distribution Function, Conditional CDF)。具体来说:

  • ( x = ( x 1 , x 2 , … , x D ) \mathbf{x} = (\mathrm{x}_1, \mathrm{x}_2, \dots, \mathrm{x}_D) x=(x1,x2,,xD)) 是一个 ( D D D) 维随机向量。
  • ( x < i = ( x 1 , x 2 , … , x i − 1 ) \mathbf{x}_{x<i=(x1,x2,,xi1)) 是 ( x \mathbf{x} x) 的前 ( i − 1 i-1 i1) 个分量。
  • ( x i ′ \mathrm{x}_i' xi) 是第 ( i i i) 个分量的随机变量(这里用 ( x i ′ \mathrm{x}_i' xi) 表示随机变量本身,以区别于具体值 ( x i \mathrm{x}_i xi))。
  • ( Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{Pr(xixix<i)) 是给定 ( x < i \mathbf{x}_{x<i) 的条件下,( x i ′ \mathrm{x}_i' xi) 不超过某个值 ( x i \mathrm{x}_i xi) 的概率。

换句话说,这是 ( x i ′ \mathrm{x}_i' xi) 在给定前 ( i − 1 i-1 i1) 个变量 ( x < i \mathbf{x}_{x<i) 的条件累积分布:
Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) = ∫ − ∞ x i p x ( x i ′ ∣ x < i )   d x i ′ \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{Pr(xixix<i)=xipx(xix<i)dxi
其中 ( p x ( x i ′ ∣ x < i ) p_{\mathbf{x}}(\mathrm{x}_i' \mid \mathbf{x}_{px(xix<i)) 是条件概率密度函数(Conditional PDF)。这个符号在Normalizing Flows的表达能力证明中至关重要,因为它被用来构造变换 ( F F F)。


“条件概率关于 (( x i , x < i ) \mathrm{x}_i, \mathbf{x}_{xi,x<i)) 是可微的”是什么意思?

“条件概率 ( Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{Pr(xixix<i)) 关于 ( ( x i , x < i ) (\mathrm{x}_i, \mathbf{x}_{(xi,x<i)) 是可微的”指的是这个条件CDF作为一个函数,在 ( x i \mathrm{x}_i xi) 和 ( x < i \mathbf{x}_{x<i) 的所有分量上具有连续的偏导数。换句话说:

  • 它是 ( x i \mathrm{x}_i xi) 和 ( x < i = ( x 1 , … , x i − 1 ) \mathbf{x}_{x<i=(x1,,xi1)) 的函数。
  • 对于所有 ( x i \mathrm{x}_i xi) 和 ( x < i \mathbf{x}_{x<i),可以计算偏导数 ( ∂ ∂ x i Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \frac{\partial}{\partial \mathrm{x}_i} \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{xiPr(xixix<i))、( ∂ ∂ x 1 Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \frac{\partial}{\partial \mathrm{x}_1} \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{x1Pr(xixix<i))、……、( ∂ ∂ x i − 1 Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \frac{\partial}{\partial \mathrm{x}_{i-1}} \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{xi1Pr(xixix<i)),且这些偏导数是连续的。
为什么要求可微?

在Normalizing Flows的证明中,变换 ( F F F) 的第 ( i i i) 个分量定义为:
F i ( x i , x < i ) = Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) F_i(\mathrm{x}_i, \mathbf{x}_{Fi(xi,x<i)=Pr(xixix<i)
为了让 ( F F F) 成为微分同胚(diffeomorphism),它必须是可微的(即所有分量 ( F i F_i Fi) 都可微),而且其雅可比行列式不能为零。可微性确保变换是平滑的,而非零行列式依赖于条件密度 ( p x ( x i ∣ x < i ) p_{\mathbf{x}}(\mathrm{x}_i \mid \mathbf{x}_{px(xix<i)) 的正性(这在证明中另有假设:( p x ( x ) > 0 p_{\mathbf{x}}(\mathbf{x}) > 0 px(x)>0))。

可微的数学含义

因为 ( Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) = ∫ − ∞ x i p x ( x i ′ ∣ x < i )   d x i ′ \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{Pr(xixix<i)=xipx(xix<i)dxi):

  • 对 ( x i \mathrm{x}_i xi) 的偏导数是:
    ∂ ∂ x i Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) = p x ( x i ∣ x < i ) \frac{\partial}{\partial \mathrm{x}_i} \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{xiPr(xixix<i)=px(xix<i)
    (根据微积分基本定理,前提是 ( p x ( x i ∣ x < i ) p_{\mathbf{x}}(\mathrm{x}_i \mid \mathbf{x}_{px(xix<i)) 在 ( x i \mathrm{x}_i xi) 上连续)。
  • 对 ( x < i \mathbf{x}_{x<i) 中某个分量(如 ( x j , j < i \mathrm{x}_j, j < i xj,j<i))的偏导数取决于 ( p x p_{\mathbf{x}} px( x i ′ ∣ x < i ) \mathrm{x}_i' \mid \mathbf{x}_{xix<i)) 如何随 ( x < i \mathbf{x}_{x<i) 变化:
    ∂ ∂ x j Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) = ∫ − ∞ x i ∂ ∂ x j p x ( x i ′ ∣ x < i )   d x i ′ \frac{\partial}{\partial \mathrm{x}_j} \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{xjPr(xixix<i)=xixjpx(xix<i)dxi
    这要求条件密度 ( p x ( x i ′ ∣ x < i ) p_{\mathbf{x}}(\mathrm{x}_i' \mid \mathbf{x}_{px(xix<i)) 关于 ( x < i \mathbf{x}_{x<i) 可微。

因此,“条件概率可微”本质上要求条件密度 ( p x ( x i ∣ x < i ) p_{\mathbf{x}}(\mathrm{x}_i \mid \mathbf{x}_{px(xix<i)) 是 ( x i \mathrm{x}_i xi) 和 ( x < i \mathbf{x}_{x<i) 的平滑函数。


一个符合条件的例子

让我们构造一个简单的二维分布 ( p x ( x 1 , x 2 ) p_{\mathbf{x}}(\mathrm{x}_1, \mathrm{x}_2) px(x1,x2)),验证它满足“处处非零”和“条件概率可微”。

定义联合分布

考虑一个二维正态分布(带相关性):
p x ( x 1 , x 2 ) = 1 2 π 1 − ρ 2 exp ⁡ ( − x 1 2 − 2 ρ x 1 x 2 + x 2 2 2 ( 1 − ρ 2 ) ) p_{\mathbf{x}}(\mathrm{x}_1, \mathrm{x}_2) = \frac{1}{2\pi \sqrt{1-\rho^2}} \exp\left(-\frac{\mathrm{x}_1^2 - 2\rho \mathrm{x}_1 \mathrm{x}_2 + \mathrm{x}_2^2}{2(1-\rho^2)}\right) px(x1,x2)=2π1ρ2 1exp(2(1ρ2)x122ρx1x2+x22)
其中 ( ρ ∈ ( − 1 , 1 ) \rho \in (-1, 1) ρ(1,1)) 是相关系数,( x = ( x 1 , x 2 ) ∈ R 2 \mathbf{x} = (\mathrm{x}_1, \mathrm{x}_2) \in \mathbb{R}^2 x=(x1,x2)R2)。这个分布满足:

  • ( p x ( x 1 , x 2 ) > 0 p_{\mathbf{x}}(\mathrm{x}_1, \mathrm{x}_2) > 0 px(x1,x2)>0) 对于所有 ( ( x 1 , x 2 ) (\mathrm{x}_1, \mathrm{x}_2) (x1,x2)),因为指数函数总是正的。
计算条件密度

先计算边缘密度 ( p x ( x 1 ) p_{\mathbf{x}}(\mathrm{x}_1) px(x1)):
p x ( x 1 ) = ∫ − ∞ ∞ p x ( x 1 , x 2 )   d x 2 = 1 2 π exp ⁡ ( − x 1 2 2 ) p_{\mathbf{x}}(\mathrm{x}_1) = \int_{-\infty}^{\infty} p_{\mathbf{x}}(\mathrm{x}_1, \mathrm{x}_2) \, d\mathrm{x}_2 = \frac{1}{\sqrt{2\pi}} \exp\left(-\frac{\mathrm{x}_1^2}{2}\right) px(x1)=px(x1,x2)dx2=2π 1exp(2x12)
(标准正态分布)。然后条件密度为:
p x ( x 2 ∣ x 1 ) = p x ( x 1 , x 2 ) p x ( x 1 ) = 1 2 π ( 1 − ρ 2 ) exp ⁡ ( − ( x 2 − ρ x 1 ) 2 2 ( 1 − ρ 2 ) ) p_{\mathbf{x}}(\mathrm{x}_2 \mid \mathrm{x}_1) = \frac{p_{\mathbf{x}}(\mathrm{x}_1, \mathrm{x}_2)}{p_{\mathbf{x}}(\mathrm{x}_1)} = \frac{1}{\sqrt{2\pi (1-\rho^2)}} \exp\left(-\frac{(\mathrm{x}_2 - \rho \mathrm{x}_1)^2}{2(1-\rho^2)}\right) px(x2x1)=px(x1)px(x1,x2)=2π(1ρ2) 1exp(2(1ρ2)(x2ρx1)2)
这是一个均值为 ( ρ x 1 \rho \mathrm{x}_1 ρx1)、方差为 ( 1 − ρ 2 1-\rho^2 1ρ2) 的正态分布。

计算条件CDF

对于 ( i = 2 i=2 i=2),条件CDF是:
Pr ⁡ ( x 2 ′ ≤ x 2 ∣ x 1 ) = ∫ − ∞ x 2 p x ( x 2 ′ ∣ x 1 )   d x 2 ′ = ∫ − ∞ x 2 1 2 π ( 1 − ρ 2 ) exp ⁡ ( − ( x 2 ′ − ρ x 1 ) 2 2 ( 1 − ρ 2 ) )   d x 2 ′ \operatorname{Pr}(\mathrm{x}_2' \leq \mathrm{x}_2 \mid \mathrm{x}_1) = \int_{-\infty}^{\mathrm{x}_2} p_{\mathbf{x}}(\mathrm{x}_2' \mid \mathrm{x}_1) \, d\mathrm{x}_2' = \int_{-\infty}^{\mathrm{x}_2} \frac{1}{\sqrt{2\pi (1-\rho^2)}} \exp\left(-\frac{(\mathrm{x}_2' - \rho \mathrm{x}_1)^2}{2(1-\rho^2)}\right) \, d\mathrm{x}_2' Pr(x2x2x1)=x2px(x2x1)dx2=x22π(1ρ2) 1exp(2(1ρ2)(x2ρx1)2)dx2
令 ( u = x 2 ′ − ρ x 1 1 − ρ 2 u = \frac{\mathrm{x}_2' - \rho \mathrm{x}_1}{\sqrt{1-\rho^2}} u=1ρ2 x2ρx1),则:
Pr ⁡ ( x 2 ′ ≤ x 2 ∣ x 1 ) = ∫ − ∞ x 2 − ρ x 1 1 − ρ 2 1 2 π exp ⁡ ( − u 2 2 )   d u = Φ ( x 2 − ρ x 1 1 − ρ 2 ) \operatorname{Pr}(\mathrm{x}_2' \leq \mathrm{x}_2 \mid \mathrm{x}_1) = \int_{-\infty}^{\frac{\mathrm{x}_2 - \rho \mathrm{x}_1}{\sqrt{1-\rho^2}}} \frac{1}{\sqrt{2\pi}} \exp\left(-\frac{u^2}{2}\right) \, du = \Phi\left(\frac{\mathrm{x}_2 - \rho \mathrm{x}_1}{\sqrt{1-\rho^2}}\right) Pr(x2x2x1)=1ρ2 x2ρx12π 1exp(2u2)du=Φ(1ρ2 x2ρx1)
其中 ( Φ ( z ) = ∫ − ∞ z 1 2 π e − t 2 / 2   d t \Phi(z) = \int_{-\infty}^{z} \frac{1}{\sqrt{2\pi}} e^{-t^2/2} \, dt Φ(z)=z2π 1et2/2dt) 是标准正态CDF。

验证可微性
  • 对 ( x 2 \mathrm{x}_2 x2) 的偏导数:
    ∂ ∂ x 2 Φ ( x 2 − ρ x 1 1 − ρ 2 ) = ϕ ( x 2 − ρ x 1 1 − ρ 2 ) ⋅ 1 1 − ρ 2 \frac{\partial}{\partial \mathrm{x}_2} \Phi\left(\frac{\mathrm{x}_2 - \rho \mathrm{x}_1}{\sqrt{1-\rho^2}}\right) = \phi\left(\frac{\mathrm{x}_2 - \rho \mathrm{x}_1}{\sqrt{1-\rho^2}}\right) \cdot \frac{1}{\sqrt{1-\rho^2}} x2Φ(1ρ2 x2ρx1)=ϕ(1ρ2 x2ρx1)1ρ2 1
    其中 ( ϕ ( z ) = 1 2 π e − z 2 / 2 \phi(z) = \frac{1}{\sqrt{2\pi}} e^{-z^2/2} ϕ(z)=2π 1ez2/2) 是标准正态密度,连续且可微。
  • 对 ( x 1 \mathrm{x}_1 x1) 的偏导数:
    ∂ ∂ x 1 Φ ( x 2 − ρ x 1 1 − ρ 2 ) = ϕ ( x 2 − ρ x 1 1 − ρ 2 ) ⋅ ( − ρ 1 − ρ 2 ) \frac{\partial}{\partial \mathrm{x}_1} \Phi\left(\frac{\mathrm{x}_2 - \rho \mathrm{x}_1}{\sqrt{1-\rho^2}}\right) = \phi\left(\frac{\mathrm{x}_2 - \rho \mathrm{x}_1}{\sqrt{1-\rho^2}}\right) \cdot \left(-\frac{\rho}{\sqrt{1-\rho^2}}\right) x1Φ(1ρ2 x2ρx1)=ϕ(1ρ2 x2ρx1)(1ρ2 ρ)
    同样连续且可微。

由于 ( Φ \Phi Φ) 和 ( ϕ \phi ϕ) 都是无穷阶可微的,这个条件CDF关于 ( ( x 1 , x 2 ) (\mathrm{x}_1, \mathrm{x}_2) (x1,x2)) 是可微的,且 ( p x ( x 1 , x 2 ) > 0 p_{\mathbf{x}}(\mathrm{x}_1, \mathrm{x}_2) > 0 px(x1,x2)>0)。因此,这个二维正态分布完全符合第2.2节的要求。


总结

  • ( Pr ⁡ ( x i ′ ≤ x i ∣ x < i ) \operatorname{Pr}(\mathrm{x}_i' \leq \mathrm{x}_i \mid \mathbf{x}_{Pr(xixix<i)) 是条件CDF,表示 ( x i \mathrm{x}_i xi’) 在给定前序变量下的累积概率。
  • “关于 ( ( x i , x < i ) (\mathrm{x}_i, \mathbf{x}_{(xi,x<i)) 可微”要求条件密度 ( p x ( x i ∣ x < i ) p_{\mathbf{x}}(\mathrm{x}_i \mid \mathbf{x}_{px(xix<i)) 平滑,确保变换 ( F F F) 是微分同胚。
  • 二维正态分布是一个典型例子,其条件CDF(如 ( Φ ( x 2 − ρ x 1 1 − ρ 2 ) \Phi\left(\frac{\mathrm{x}_2 - \rho \mathrm{x}_1}{\sqrt{1-\rho^2}}\right) Φ(1ρ2 x2ρx1)))满足所有条件。

( p z ( z ) = 1 p_{\mathbf{z}}(\mathbf{z}) = 1 pz(z)=1) 为什么意味着均匀分布?


核心问题:( p z ( z ) = 1 p_{\mathbf{z}}(\mathbf{z}) = 1 pz(z)=1) 为什么意味着均匀分布?

在第2.2节的步骤5中,通过变量变换公式计算出:
p z ( z ) = p x ( x ) ∣ det ⁡ J F ( x ) ∣ − 1 = p x ( x ) ⋅ 1 p x ( x ) = 1 p_{\mathbf{z}}(\mathbf{z}) = p_{\mathbf{x}}(\mathbf{x}) \left| \det J_F(\mathbf{x}) \right|^{-1} = p_{\mathbf{x}}(\mathbf{x}) \cdot \frac{1}{p_{\mathbf{x}}(\mathbf{x})} = 1 pz(z)=px(x)detJF(x)1=px(x)px(x)1=1
这里,( z = F ( x ) \mathbf{z} = F(\mathbf{x}) z=F(x)) 是通过变换 ( F F F) 从 ( x \mathbf{x} x) 得到的随机变量,( z \mathbf{z} z) 的定义域是 ( ( 0 , 1 ) D (0,1)^D (0,1)D)(即 ( D D D) 维单位超立方体,每一维 ( z i ∈ ( 0 , 1 ) \mathrm{z}_i \in (0,1) zi(0,1)))。当我们说 ( p z ( z ) = 1 p_{\mathbf{z}}(\mathbf{z}) = 1 pz(z)=1) 时,这意味着 ( z \mathbf{z} z) 的概率密度函数在整个 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 上是一个常数,并且这个常数是1。接下来,我们解释为什么这对应于均匀分布。

均匀分布的定义

一个随机变量 ( z \mathbf{z} z) 在某个区域(如 ( ( 0 , 1 ) D (0,1)^D (0,1)D))上服从均匀分布(Uniform Distribution),意味着它的概率密度函数在该区域内是常数,且总概率质量为1。具体到连续分布:

  • 密度函数 ( p z ( z ) p_{\mathbf{z}}(\mathbf{z}) pz(z)) 在定义域内是一个常数 ( c c c)。
  • 由于概率密度必须积分到1,即:
    ∫ 定义域 p z ( z )   d z = 1 \int_{\text{定义域}} p_{\mathbf{z}}(\mathbf{z}) \, d\mathbf{z} = 1 定义域pz(z)dz=1
    ( c c c) 的大小由定义域的“体积”(测度)决定。

对于 ( ( 0 , 1 ) D (0,1)^D (0,1)D),其体积是:

  • 每一维的长度是 ( 1 − 0 = 1 1 - 0 = 1 10=1),
  • ( D D D) 维超立方体的体积是 ( 1 D = 1 1^D = 1 1D=1)。

如果 ( z \mathbf{z} z) 在 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 上均匀分布,密度函数应满足:
∫ ( 0 , 1 ) D p z ( z )   d z = c ⋅ 体积 = c ⋅ 1 = 1 \int_{(0,1)^D} p_{\mathbf{z}}(\mathbf{z}) \, d\mathbf{z} = c \cdot \text{体积} = c \cdot 1 = 1 (0,1)Dpz(z)dz=c体积=c1=1
因此,( c = 1 c = 1 c=1)。也就是说,均匀分布的密度函数在 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 上恰好是 ( p z ( z ) = 1 p_{\mathbf{z}}(\mathbf{z}) = 1 pz(z)=1)。

验证 ( p z ( z ) = 1 p_{\mathbf{z}}(\mathbf{z}) = 1 pz(z)=1) 的含义

在步骤5中,推导出:
p z ( z ) = 1 , 对于所有 z ∈ ( 0 , 1 ) D p_{\mathbf{z}}(\mathbf{z}) = 1, \quad \text{对于所有} \quad \mathbf{z} \in (0,1)^D pz(z)=1,对于所有z(0,1)D
我们检查这是否满足概率密度的性质:

  • 非负性:显然 ( 1 > 0 1 > 0 1>0),满足。
  • 归一化:计算积分:
    ∫ ( 0 , 1 ) D p z ( z )   d z = ∫ ( 0 , 1 ) D 1   d z = 体积 of  ( 0 , 1 ) D = 1 \int_{(0,1)^D} p_{\mathbf{z}}(\mathbf{z}) \, d\mathbf{z} = \int_{(0,1)^D} 1 \, d\mathbf{z} = \text{体积 of } (0,1)^D = 1 (0,1)Dpz(z)dz=(0,1)D1dz=体积 of (0,1)D=1
    这正好是1,表明 ( p z ( z ) = 1 p_{\mathbf{z}}(\mathbf{z}) = 1 pz(z)=1) 是一个合法的概率密度函数。

由于 ( p z ( z ) p_{\mathbf{z}}(\mathbf{z}) pz(z)) 在整个 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 上是常数1,且积分等于1,它完全符合 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 上均匀分布的定义。

直观理解

想象 ( z \mathbf{z} z) 是 ( D D D) 维空间中的点,定义域 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 是一个单位超立方体。如果密度 ( p z ( z ) p_{\mathbf{z}}(\mathbf{z}) pz(z)) 处处相等(都是1),那么 ( z \mathbf{z} z) 在这个区域内的任何子区域的概率只与该子区域的体积成正比,与位置无关。例如:

  • 在一维 (( D = 1 D=1 D=1)) 时,( z ∈ ( 0 , 1 ) \mathbf{z} \in (0,1) z(0,1)),均匀分布的密度是1,概率 ( Pr ⁡ ( a ≤ z ≤ b ) = b − a \operatorname{Pr}(a \leq \mathbf{z} \leq b) = b - a Pr(azb)=ba)。这里 ( p z ( z ) = 1 p_{\mathbf{z}}(\mathbf{z}) = 1 pz(z)=1) 吻合。
  • 在二维 (( D = 2 D=2 D=2)) 时,( z ∈ ( 0 , 1 ) 2 \mathbf{z} \in (0,1)^2 z(0,1)2),密度为1,任意矩形区域的概率等于其面积。

这正是均匀分布的特性:密度不随位置变化,所有点的“可能性”均等。

Normalizing Flows中的意义

在Normalizing Flows的证明中,( F F F) 被构造为一个微分同胚,将任意目标分布 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x))(满足条件:处处非零且条件概率可微)转化为 ( z \mathbf{z} z) 的分布。通过变量变换公式:
p z ( z ) = p x ( x ) ∣ det ⁡ J F ( x ) ∣ − 1 p_{\mathbf{z}}(\mathbf{z}) = p_{\mathbf{x}}(\mathbf{x}) \left| \det J_F(\mathbf{x}) \right|^{-1} pz(z)=px(x)detJF(x)1
而步骤4已计算出:
∣ det ⁡ J F ( x ) ∣ = p x ( x ) \left| \det J_F(\mathbf{x}) \right| = p_{\mathbf{x}}(\mathbf{x}) detJF(x)=px(x)
代入后,( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x)) 被消掉,结果是常数1。这表明 ( F F F) 成功地将复杂的 ( p x ( x ) p_{\mathbf{x}}(\mathbf{x}) px(x)) “拉平”为均匀分布,证明了其表达能力:任何满足条件的分布都可以通过这样的变换变成均匀分布。

为什么不是其他值?

如果 ( p z ( z ) = c ≠ 1 p_{\mathbf{z}}(\mathbf{z}) = c \neq 1 pz(z)=c=1)(比如 ( c = 2 c = 2 c=2)),则:
∫ ( 0 , 1 ) D 2   d z = 2 ⋅ 1 = 2 ≠ 1 \int_{(0,1)^D} 2 \, d\mathbf{z} = 2 \cdot 1 = 2 \neq 1 (0,1)D2dz=21=2=1
这不满足概率密度归一化的要求。所以,只有 ( c = 1 c = 1 c=1) 时,密度函数与 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 的体积匹配,定义了一个有效的均匀分布。


总结

  • ( p z ( z ) = 1 p_{\mathbf{z}}(\mathbf{z}) = 1 pz(z)=1) 表示 ( z \mathbf{z} z) 的密度在 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 上是常数1。
  • 因为 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 的体积是1,积分 ( ∫ ( 0 , 1 ) D 1   d z = 1 \int_{(0,1)^D} 1 \, d\mathbf{z} = 1 (0,1)D1dz=1),这满足概率密度函数的归一化条件。
  • 密度为常数且归一化的分布正是均匀分布,因此 ( z \mathbf{z} z) 在 ( ( 0 , 1 ) D (0,1)^D (0,1)D) 上均匀分布。
  • 在Normalizing Flows中,这表明变换 ( F F F) 能将任意复杂分布“规范化”为均匀分布,凸显其普适性。

后记

2025年4月1日14点45分于上海,在grok 3大模型辅助下完成。

你可能感兴趣的:(Deep,Learning,深度学习,人工智能)