变分推断(Variational Inference, VI)是一种在概率模型中近似计算后验分布的强大方法,广泛应用于机器学习、统计推断和贝叶斯方法中。它的核心思想是通过引入一个变分分布来近似复杂的后验分布,并通过优化一个目标函数(通常是证据下界,ELBO)来实现这一近似。Jensen 不等式在变分推断中扮演了关键角色,用于推导 ELBO。以下我将详细介绍变分推断的理论基础、数学推导、实际应用,以及与互信息的关系。


1. 变分推断的背景与问题

1.1 问题设定

在贝叶斯推断中,我们通常需要计算后验分布 ( p(z | x) ),其中:

  • ( x ) 是观测数据(已知)。
  • ( z ) 是潜变量(未知,例如模型参数或隐藏状态)。
  • 联合分布为 ( p(x, z) ),边缘似然(证据)为 p(x) = \int p(x, z) \, dz

后验分布由贝叶斯定理给出:

p(z | x) = \frac{p(x, z)}{p(x)} = \frac{p(x, z)}{\int p(x, z) \, dz}

问题

  • 计算 ( p(x) ) 需要对 ( z ) 积分(或求和),在高维或复杂模型中通常是不可解的(intractable)。
  • 直接采样(如 Markov Chain Monte Carlo, MCMC)可能计算代价高,尤其在大数据场景中。

1.2 变分推断的目标

变分推断通过引入一个变分分布 ( q(z) ) 来近似后验分布 ( p(z | x) ),并通过优化使 ( q(z) ) 尽可能接近 ( p(z | x) )。衡量“接近”的标准通常是 KL 散度:

D_{KL}(q(z) || p(z | x)) = \int q(z) \log \frac{q(z)}{p(z | x)} \, dz

目标是最小化

D_{KL}(q(z) || p(z | x)),从而找到最佳的 ( q(z) )。


2. 变分推断的核心:证据下界(ELBO)

2.1 推导 ELBO

由于直接最小化

D_{KL}(q(z) || p(z | x)) 需要知道 ( p(z | x) ),而这是我们要计算的,因此我们需要一个替代目标。变分推断通过引入证据下界(Evidence Lower Bound, ELBO)来解决这个问题。

2.1.1 边缘似然的分解

边缘似然

\log p(x) 是我们希望优化的目标(最大化似然等价于模型拟合)。我们有:

\log p(x) = \log \int p(x, z) \, dz

将其改写为期望形式,引入变分分布 ( q(z) ):

\log p(x) = \log \int q(z) \frac{p(x, z)}{q(z)} \, dz

2.1.2 使用 Jensen 不等式

  • 注意到 \log 是一个凹函数(因为 (\log u)'' = -\frac{1}{u^2} < 0)。根据 Jensen 不等式(凹函数版本),对于任意分布 ( q(z) ),有:

\log \left( \int q(z) \frac{p(x, z)}{q(z)} \, dz \right) \geq \int q(z) \log \left( \frac{p(x, z)}{q(z)} \right) dz

  • 左边是 \log p(x),右边是一个下界,称为 ELBO:

\log p(x) \geq \int q(z) \log \frac{p(x, z)}{q(z)} \, dz =: \text{ELBO}

  • 展开 ELBO:

\text{ELBO} = \int q(z) \log p(x, z) \, dz - \int q(z) \log q(z) \, dz

= \mathbb{E}_{q(z)}[\log p(x, z)] - \mathbb{E}_{q(z)}[\log q(z)]

  • 进一步分解 p(x, z) = p(x | z) p(z):

\mathbb{E}_{q(z)}[\log p(x, z)] = \mathbb{E}_{q(z)}[\log p(x | z)] + \mathbb{E}_{q(z)}[\log p(z)]

  • 因此,ELBO 可以写为:

\text{ELBO} = \mathbb{E}_{q(z)}[\log p(x | z)] + \mathbb{E}_{q(z)}[\log p(z)] - \mathbb{E}_{q(z)}[\log q(z)]

  • 注意到后两项可以合并为 KL 散度:

\mathbb{E}_{q(z)}[\log p(z)] - \mathbb{E}_{q(z)}[\log q(z)] = - \int q(z) \log \frac{q(z)}{p(z)} \, dz = -D_{KL}(q(z) || p(z))

  • 最终,ELBO 的另一种形式为:

\text{ELBO} = \mathbb{E}_{q(z)}[\log p(x | z)] - D_{KL}(q(z) || p(z))

2.1.3 ELBO 与 KL 散度的关系

  • 边缘似然 \log p(x) 和 ELBO 的差值正是 D_{KL}(q(z) || p(z | x)):

\log p(x) = \text{ELBO} + D_{KL}(q(z) || p(z | x))

  • 因为 D_{KL}(q(z) || p(z | x)) \geq 0(由 Jensen 不等式证明),所以:

\log p(x) \geq \text{ELBO}

  • 最大化 ELBO 等价于最小化 D_{KL}(q(z) || p(z | x)),从而使 ( q(z) ) 更接近 ( p(z | x) )。

2.2 解释 ELBO 的两个部分

ELBO 的形式

\text{ELBO} = \mathbb{E}_{q(z)}[\log p(x | z)] - D_{KL}(q(z) || p(z)) 有直观的意义:

  • 第一项 \mathbb{E}_{q(z)}[\log p(x | z)]:表示从 ( q(z) ) 采样的 ( z ) 重构数据 ( x ) 的期望似然。这是“生成”能力,鼓励 ( q(z) ) 生成与观测数据匹配的 ( z )。
  • 第二项 -D_{KL}(q(z) || p(z)):这是一个正则化项,鼓励 ( q(z) ) 接近先验 ( p(z) ),防止 ( q(z) ) 过拟合。

3. 变分推断的实现

3.1 选择变分分布 ( q(z) )

为了使优化可行,通常需要对 ( q(z) ) 的形式做假设。常见的假设包括:

  • 均值场变分推断(Mean-Field Variational Inference)
    • 假设 ( q(z) ) 可以分解为独立分布的乘积:q(z) = \prod_{i=1}^n q_i(z_i)
    • 例如,如果 z = (z_1, z_2),则 q(z) = q_1(z_1) q_2(z_2)
    • 这种假设简化了计算,但可能忽略变量之间的依赖性。
  • 参数化分布
    • 假设 ( q(z) ) 属于某个参数化分布族,例如高斯分布:q(z) = \mathcal{N}(z; \mu, \Sigma)
    • 优化目标变为优化参数 \mu\Sigma

3.2 优化 ELBO

  • 解析优化
    • 在均值场假设下,可以通过迭代更新每个 q_i(z_i) 来最大化 ELBO。
    • 对于每个 q_i(z_i),固定其他 q_j(z_j) (j \neq i),推导最优的 q_i(z_i)
    • 例如,对于指数族分布,这种方法可以得到解析解。
  • 梯度优化
    • 对于复杂的 ( q(z) ),直接解析优化可能不可行。可以使用梯度下降来优化 ELBO。
    • 关键是计算 \nabla_{\text{params}} \text{ELBO},其中 params 是 ( q(z) ) 的参数。

3.3 重参数化技巧(Reparameterization Trick)

  • 如果 q(z) = \mathcal{N}(z; \mu, \sigma^2),直接对 \mathbb{E}_{q(z)}[\log p(x | z)] 求梯度可能困难,因为期望内部包含随机变量 ( z )。
  • 重参数化技巧将 ( z ) 表示为:z = \mu + \sigma \epsilon, \quad \epsilon \sim \mathcal{N}(0, 1)
  • 这样,期望可以写为:\mathbb{E}_{q(z)}[\log p(x | z)] = \mathbb{E}_{\epsilon \sim \mathcal{N}(0, 1)}[\log p(x | \mu + \sigma \epsilon)]
  • 现在可以直接对 \mu\sigma 求梯度,使用蒙特卡洛估计近似期望。

4. 变分推断与互信息的关系

互信息在变分推断中常被用来增强模型的表现,尤其是在生成模型(如变分自编码器 VAEs)中。

4.1 互信息的作用

  • 在 VAEs 中,潜变量 ( Z ) 应该捕捉 ( X ) 的有用信息。互信息 ( I(X; Z) ) 度量 ( X ) 和 ( Z ) 之间的依赖性:I(X; Z) = H(X) - H(X | Z)
  • 最大化 ( I(X; Z) ) 可以鼓励 ( Z ) 保留更多关于 ( X ) 的信息。

4.2 在变分推断中的引入

  • 标准 VAE 的 ELBO 为:\log p(x) \geq \mathbb{E}_{q(z|x)}[\log p(x | z)] - D_{KL}(q(z|x) || p(z))
  • 然而,D_{KL}(q(z|x) || p(z)) 可能导致 q(z|x) \approx p(z),使得 ( Z ) 和 ( X ) 几乎独立(即 I(X; Z) \approx 0),这会削弱 ( Z ) 的表示能力。
  • InfoVAE 等方法通过显式引入互信息项来解决这个问题:\text{Objective} = \mathbb{E}_{q(z|x)}[\log p(x | z)] - D_{KL}(q(z|x) || p(z)) + \lambda I(X; Z)
  • 由于 ( I(X; Z) ) 难以直接计算,可以使用变分界:I(X; Z) \geq \mathbb{E}_{P(x, z)} \left[ \log \frac{q(z|x)}{\tilde{q}(z)} \right]其中 \tilde{q}(z) 是 ( q(z) ) 的近似。

4.3 意义

  • 引入互信息可以防止潜变量退化(即 ( Z ) 不携带 ( X ) 的信息)。
  • 它在表示学习中非常有用,例如生成更有意义的潜在表示。

5. 变分推断的实际应用

5.1 变分自编码器(VAEs)

  • 模型
    • 生成模型:( p(x | z) ),通常是一个神经网络(解码器)。
    • 变分分布:( q(z | x) ),也是一个神经网络(编码器)。
  • 优化
    • ELBO:\text{ELBO} = \mathbb{E}_{q(z|x)}[\log p(x | z)] - D_{KL}(q(z|x) || p(z))
    • 使用重参数化技巧优化。
  • 应用
    • 图像生成:生成手写数字(MNIST)或人脸图像。
    • 数据重构:去噪或补全缺失数据。

5.2 主题模型(LDA)

  • 模型
    • 潜在狄利克雷分配(Latent Dirichlet Allocation, LDA)是一种主题模型,文档由主题混合表示,主题由单词分布表示。
    • 潜变量 ( z ) 表示文档的主题分布。
  • 变分推断
    • 后验 ( p(z | x) ) 不可直接计算,使用变分分布 ( q(z) ) 近似。
    • 优化 ELBO 得到主题分布和单词分布。
  • 应用
    • 文本分类:发现文档的主题。
    • 推荐系统:基于主题推荐相关内容。

5.3 贝叶斯神经网络

  • 模型
    • 神经网络的参数 ( w ) 被视为随机变量,服从先验 ( p(w) )。
    • 后验 p(w | \text{data}) 通过变分推断近似。
  • 变分推断
    • 引入变分分布 ( q(w) ),优化 ELBO:\text{ELBO} = \mathbb{E}_{q(w)}[\log p(\text{data} | w)] - D_{KL}(q(w) || p(w))
  • 应用
    • 不确定性估计:预测时提供置信区间。
    • 模型压缩:通过正则化减少参数。

6. 变分推断的优缺点

6.1 优点

  • 高效性:相比 MCMC 等采样方法,变分推断将推断问题转化为优化问题,计算效率更高,适合大数据场景。
  • 可扩展性:结合梯度下降和重参数化技巧,可以应用于深度学习模型(如 VAEs)。
  • 理论优雅:ELBO 提供了一个统一的框架,适用于多种概率模型。

6.2 缺点

  • 近似偏差:变分推断假设 ( q(z) ) 的形式(如均值场假设),可能无法捕捉后验的复杂依赖性,导致近似偏差。
  • 低估方差:变分推断倾向于低估后验分布的方差,因为 KL 散度 D_{KL}(q || p) 鼓励 ( q ) 集中在 ( p ) 的某个模式上。
  • 优化挑战:ELBO 的优化可能陷入局部最优,尤其在高维空间中。

7. 变分推断与 Jensen 不等式的联系

Jensen 不等式是变分推断的核心工具:

  • 它直接用于推导 ELBO,确保 \log p(x) \geq \text{ELBO}
  • 在互信息估计中,Jensen 不等式用于构造变分界,例如 InfoNCE 界:I(X; Z) \geq \log K + \mathbb{E}_{P(x, z)} \left[ \log \frac{f(x, z)}{\frac{1}{K} \sum_{i=1}^K f(x, z_i)} \right]
  • 它还支持 KL 散度的非负性证明,这是变分推断理论的基础。

8. 总结

变分推断是一种高效的贝叶斯推断方法,通过优化证据下界(ELBO)来近似后验分布。它的核心步骤包括:

  1. 引入变分分布 ( q(z) ),并使用 Jensen 不等式推导 ELBO。
  2. 选择 ( q(z) ) 的形式(如均值场或参数化分布),优化 ELBO。
  3. 使用重参数化技巧等方法进行梯度优化。

主要应用:

  • 变分自编码器:用于生成模型和表示学习。
  • 主题模型:发现文档的潜在主题。
  • 贝叶斯神经网络:提供不确定性估计。

与互信息的联系:

  • 互信息 ( I(X; Z) ) 被引入以增强潜变量的表示能力,防止退化。
  • Jensen 不等式在推导 ELBO 和互信息界中起到关键作用。

如果你对某个具体应用(如 VAE 的数学细节或 LDA 的变分推断实现)有进一步兴趣,我可以继续深入探讨!

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注