随机变量的变换的随机变分推断方法
随机变分推断(Stochastic Variational Inference,SVI)是变分推断(Variational Inference,VI)与随机优化相结合的扩展方法,用于高效逼近复杂概率模型的后验分布。我将从基础概念开始,逐步解释其原理和步骤。
- 问题背景:贝叶斯推断与后验分布
在贝叶斯统计中,我们常需计算后验分布 \(p(\theta \mid x)\),其中 \(\theta\) 为模型参数,\(x\) 为观测数据。后验分布通过贝叶斯定理定义为:
\[ p(\theta \mid x) = \frac{p(x \mid \theta) p(\theta)}{p(x)}, \]
其中 \(p(x)\)(证据)的积分计算在高维空间中通常难以处理。传统方法(如MCMC)计算成本高,因此需近似方法。
- 变分推断(VI)基础
VI将后验推断转化为优化问题:- 引入变分分布族 \(q(\theta; \phi)\)(如高斯分布),参数为 \(\phi\)。
- 最小化 \(q(\theta; \phi)\) 与真实后验 \(p(\theta \mid x)\) 的KL散度:
\[ \phi^* = \arg\min_{\phi} \text{KL}(q(\theta; \phi) \parallel p(\theta \mid x)). \]
- 等价于最大化证据下界(ELBO):
\[ \mathcal{L}(\phi) = \mathbb{E}_{q(\theta)}[\log p(x, \theta)] - \mathbb{E}_{q(\theta)}[\log q(\theta)]. \]
- 随机优化的引入
当数据集较大或模型复杂时,ELBO的梯度计算昂贵。SVI通过随机梯度下降(SGD)解决此问题:- 从完整数据集中随机采样小批量(minibatch)\(x_i\)。
- 构造ELBO的无偏随机估计 \(\tilde{\mathcal{L}}(\phi)\),其梯度满足:
\[ \nabla_\phi \tilde{\mathcal{L}}(\phi) \approx \nabla_\phi \mathcal{L}(\phi). \]
- 更新参数:\(\phi_{t+1} = \phi_t + \rho_t \nabla_\phi \tilde{\mathcal{L}}(\phi_t)\),其中 \(\rho_t\) 为学习率。
- 梯度估计的挑战与重参数化技巧
ELBO的梯度涉及对变分分布的期望,直接计算困难。SVI采用重参数化(reparameterization):- 将 \(q(\theta; \phi)\) 表示为可微变换:\(\theta = g(\epsilon; \phi)\),其中 \(\epsilon \sim p(\epsilon)\)(如标准正态)。
- 将梯度转化为对噪声变量 \(\epsilon\) 的期望:
\[ \nabla_\phi \mathbb{E}_{q(\theta)}[f(\theta)] = \mathbb{E}_{p(\epsilon)}[\nabla_\phi f(g(\epsilon; \phi))]. \]
- 通过蒙特卡洛采样估计梯度,使梯度估计方差更低且可微。
-
SVI的算法流程
- 输入:模型 \(p(x, \theta)\),变分族 \(q(\theta; \phi)\),学习率 \(\rho_t\)。
- 循环直至收敛:
-
随机采样小批量数据 \(x_i\) 和噪声样本 \(\epsilon \sim p(\epsilon)\)。
-
计算随机梯度:\(\nabla_\phi \tilde{\mathcal{L}}(\phi) = \nabla_\phi \left[ \log p(x_i, g(\epsilon; \phi)) - \log q(g(\epsilon; \phi); \phi) \right]\)。
-
更新参数:\(\phi \leftarrow \phi + \rho_t \nabla_\phi \tilde{\mathcal{L}}(\phi)\)。
-
优势与适用场景
- 高效性:适用于大规模数据,每次迭代仅需部分数据。
- 灵活性:可与深度生成模型(如VAE)结合。
- 扩展性:支持随机梯度HMC、自然梯度等进阶优化方法。
-
局限性
- 变分分布的假设可能引入近似误差。
- 需调参(如学习率),收敛性依赖优化设置。
- 梯度估计的方差可能影响稳定性,需方差削减技术(如控制变量)。