随机变量的变换的变分推断方法
变分推断是一种在概率模型中近似复杂后验分布或进行概率推断的强大框架。当我们的问题涉及随机变量的变换时,变分推断提供了一种系统性的方法来处理由此产生的分布近似问题。我们将从变分推断的核心思想开始,逐步深入到如何将其应用于随机变量变换的场景。
-
变分推断的基本问题
在贝叶斯统计和机器学习中,我们经常面对一个核心问题:给定观测数据 \(x\) 和一个包含隐变量 \(z\) 的模型,我们需要计算隐变量的后验分布 \(p(z | x)\)。这个后验分布通常非常复杂,难以直接计算(例如,分母的边际似然 \(p(x)\) 计算困难)。变分推断的核心思想是,用一个相对简单的参数化分布族 \(Q\) 中的分布 \(q(z)\) 来近似这个复杂的真实后验 \(p(z | x)\)。 -
寻找最佳近似的准则:KL散度
我们如何衡量近似分布 \(q(z)\) 与真实后验 \(p(z | x)\) 的接近程度?答案是使用Kullback-Leibler散度。KL散度衡量了两个概率分布之间的差异:
\[ KL(q(z) || p(z | x)) = \mathbb{E}_{q}[\log q(z)] - \mathbb{E}_{q}[\log p(z | x)] \]
我们的目标是找到使得 \(KL(q(z) || p(z | x))\) 最小的 \(q(z)\)。然而,直接最小化KL散度是困难的,因为它包含了我们无法计算的 \(p(z | x)\)。
- 证据下界
为了解决这个问题,我们引入证据下界。通过对边际似然(或称证据) \(\log p(x)\) 进行分解:
\[ \log p(x) = KL(q(z) || p(z | x)) + \mathcal{L}(q) \]
其中,\(\mathcal{L}(q)\) 就是证据下界,定义为:
\[ \mathcal{L}(q) = \mathbb{E}_{q}[\log p(x, z)] - \mathbb{E}_{q}[\log q(z)] \]
由于 \(\log p(x)\) 是一个与 \(q\) 无关的常数,最小化KL散度等价于最大化ELBO。ELBO只涉及联合分布 \(p(x, z)\)(通常是已知的)和变分分布 \(q(z)\),因此优化它是可行的。
- 变分分布族的选择与平均场假设
接下来,我们需要指定变分分布族 \(Q\) 的形式。最简单的也是最常用的假设是平均场假设。它假设隐变量 \(z\) 的各个分量(例如 \(z_1, z_2, ..., z_m\))是相互独立的:
\[ q(z) = \prod_{j=1}^{m} q_j(z_j) \]
在这个假设下,我们通过坐标上升法来优化ELBO:轮流优化每一个因子 \(q_j(z_j)\),而保持其他因子固定。最优解的形式为:
\[ \log q_j^*(z_j) = \mathbb{E}_{i \neq j}[\log p(x, z)] + \text{const.} \]
这里 \(\mathbb{E}_{i \neq j}\) 表示对除 \(z_j\) 外所有其他变量关于其变分分布求期望。
- 引入随机变量的变换
现在,我们考虑随机变量变换的场景。假设我们关心的随机变量 \(y\) 是另一个随机变量 \(z\) 的变换,即 \(y = T(z)\)。我们可能想要求 \(y\) 的分布,或者在后验推断中处理 \(y\)。直接计算变换后的分布可能非常困难。变分推断提供了两种主要的处理思路:
a) 在原始空间进行推断:我们仍然在隐变量 \(z\) 的原始空间上定义变分分布 \(q(z)\)。当我们通过变分推断得到 \(z\) 的近似后验 \(q^*(z)\) 后,我们可以通过变换 \(T\) 来得到 \(y\) 的分布的近似。具体来说,我们可以从 \(q^*(z)\) 中采样大量的 \(z^{(s)}\),然后通过 \(y^{(s)} = T(z^{(s)})\) 来获得 \(y\) 的样本,从而近似 \(y\) 的分布。这种方法的关键在于在 \(z\) 空间找到一个好的近似。
b) 在变换空间进行推断(重参数化技巧):这是更现代、更强大的方法,尤其与随机梯度下降结合。其核心思想是将原始随机变量 \(z\) 表示为一个确定性变换。假设 \(z\) 服从某个简单分布(如高斯分布),我们可以将其重参数化为 \(z = g_\phi(\epsilon)\),其中 \(\epsilon\) 是一个来自固定基分布(如标准高斯)的随机噪声,\(g_\phi\) 是一个以 \(\phi\) 为参数的确定性函数。这样,关于 \(z\) 的期望(出现在ELBO中)可以转化为关于 \(\epsilon\) 的期望:\(\mathbb{E}_{q_\phi(z)}[f(z)] = \mathbb{E}_{p(\epsilon)}[f(g_\phi(\epsilon))]\)。这个期望的梯度可以通过蒙特卡洛采样和链式法则来估计,从而我们可以使用梯度上升法来直接优化变分参数 \(\phi\)。这被称为随机梯度变分贝叶斯。当 \(y = T(z)\) 时,我们可以将 \(T\) 整合进这个确定性变换链中。
- 总结与应用
综上所述,随机变量变换的变分推断方法,本质上是利用变分推断来近似处理经过变换的复杂分布。它通过优化一个易于处理的变分分布来逼近真实的后验分布。当面对变换时,我们可以选择在原始空间推断后通过采样获得变换后的分布,或者更高效地利用重参数化技巧,将随机性解耦,从而直接在有变换的模型中进行可微分的、基于梯度的优化。这种方法广泛应用于变分自编码器、贝叶斯神经网络等复杂概率模型中。