Chapter 19 近似推断
19.1 引言
在概率图模型中,推断(inference)是指根据已观察到的变量(visible variables)计算潜在变量(latent variables)的后验分布,或计算关于模型的期望值。然而,对于大多数深度生成模型,后验分布 \(p(\mathbf{h}|\mathbf{v})\) 或归一化常数 \(Z\) 是难以精确计算的。这构成了一个根本性的计算挑战。
近似推断(Approximate Inference)方法通过构造一个近似分布 \(q(\mathbf{h}|\mathbf{v})\) 来逼近真实后验 \(p(\mathbf{h}|\mathbf{v})\),从而绕过了精确推断的计算困难。本章系统探讨近似推断的多种方法,从优化角度切入,重点介绍变分推断、期望传播、重要性采样等技术,并深入讨论学习推断网络这一现代方法。
19.2 推理作为优化:ELBO 与变分自由能
19.2.1 变分推断的基本框架
变分推断(Variational Inference)将后验近似问题形式化为一个优化问题。给定观察数据 \(\mathbf{v}\) 和潜在变量 \(\mathbf{h}\),我们希望找到一个近似分布 \(q(\mathbf{h}|\mathbf{v})\) 使得 \(q\) 尽可能接近真实后验 \(p(\mathbf{h}|\mathbf{v})\)。
使用 KL 散度衡量两个分布的接近程度:
展开后验表达式:
其中 \(\tilde{p}(\mathbf{v},\mathbf{h})\) 是未归一化的联合分布。代入 KL 散度:
注意到 \(\log p(\mathbf{v})\) 是不依赖于 \(q\) 的常数,因此最小化 \(\text{KL}(q \| p)\) 等价于最大化以下目标:
这个量被称为证据下界(Evidence Lower Bound, ELBO),也称为变分自由能(Variational Free Energy)。
19.2.2 ELBO 的物理诠释
从统计物理角度,变分自由能 \(F = -\mathcal{L}\) 具有自由能的含义:
其中第一项是能量期望,第二项是近似分布的熵。最小化变分自由能等价于同时最小化能量期望(使 \(q\) 集中在低能量区域)和最大化熵(保持 \(q\) 的不确定性)。
19.2.3 ELBO 与对数边际似然
ELBO 与真实边际似然之间存在精确关系:
由于 KL 散度非负,可得:
这就是变分下界(Variational Lower Bound)名称的由来。最大化 ELBO 是对数边际似然的下界优化,是变分学习的基础。
19.3 平均场理论
19.3.1 平均场近似的基本思想
平均场理论(Mean Field Theory)源于统计物理,其核心思想是将多体相互作用系统近似为每个粒子独立地在"平均场"中运动。在变分推断中,这意味着假设近似分布 \(q(\mathbf{h}|\mathbf{v})\) 可以分解为独立因子的乘积:
其中 \(M\) 是潜在变量的个数,\(q_i\) 是第 \(i\) 个变量的边缘近似分布。这种分解完全忽略了变量之间的相关性,但大大简化了推断问题。
19.3.2 平均场方程的推导
在平均场框架下,通过优化 ELBO 可以得到每个因子 \(q_j(h_j)\) 的最优形式。设 \(q(\mathbf{h}|\mathbf{v})\) 的变分参数为 \(\boldsymbol{\phi}\),固定其他因子,优化关于 \(q_j\) 的 ELBO:
对 \(q_j\) 施加约束 \(\int q_j(h_j) dh_j = 1\),使用拉格朗日乘子法,得到的最优解满足:
其中 \(\mathbb{E}_{-j}[\cdot]\) 表示对除 \(h_j\) 以外所有变量的期望。因此:
这就是平均场方程。在实际应用中,这些方程通过迭代方法求解,直到收敛到固定点。
19.3.3 平均场近似的局限性
平均场近似的主要局限包括:
- 无法捕捉变量间的相关性:真实的联合后验往往存在强烈的依赖关系
- 低估方差:近似后验通常比真实后验更尖锐(方差更小)
- 局部最优:迭代更新可能收敛到局部最优解
- 不适用于环状图模型:平均场理论天然适用于树状结构,对于含环图模型需要如置信传播等更复杂的方法
19.4 变分推断方法
19.4.1 坐标上升变分推断(CAVI)
坐标上升变分推断(Coordinate Ascent Variational Inference, CAVI) 是一种直接利用平均场方程的迭代算法。
算法步骤:
- 初始化变分参数 \(\boldsymbol{\phi}^{(0)}\)
- 重复直到收敛:
- 对每个潜在变量 \(h_i\),更新其对应的变分因子:
$\(q_i^{(t+1)}(h_i) \propto \exp\left(\mathbb{E}_{-i}^{(t)}[\log \tilde{p}(\mathbf{v}, \mathbf{h})]\right)\)$
- 其中 \(\mathbb{E}_{-i}^{(t)}\) 表示使用当前其他因子 \(q_j^{(t)}\) 计算的期望
- 返回近似后验 \(\{q_i^*\}\)
收敛性:CAVI 在每次迭代单调增加 ELBO,保证收敛到局部最优。
计算复杂度:每次更新需要计算期望 \(\mathbb{E}_{-i}[\log \tilde{p}]\),这通常涉及对数非归一化联合分布的积分或求和。
19.4.2 随机变分推断(SVI)
随机变分推断(Stochastic Variational Inference, SVI) 将变分推断扩展到大规模数据场景,使用随机优化技术。
核心思想:将 ELBO 视为关于数据点的期望,通过小批量(mini-batch)采样近似全数据梯度。
SVI 更新规则:
对变分参数 \(\boldsymbol{\phi}\),ELBO 的梯度为:
使用 SGA(随机梯度上升)近似:
其中 \(\hat{\nabla}\) 是基于小批量数据估计的梯度,\(\rho_t\) 是学习率。
自然梯度:为提高收敛稳定性,常使用自然梯度 \(\tilde{\nabla}\):
其中 \(F\) 是 Fisher 信息矩阵。
19.4.3 变分推断在 VAE 中的应用
在变分自编码器(Variational Autoencoder, VAE)中,变分推断用于近似后验 \(q(\mathbf{z}|\mathbf{x})\),其中 \(\mathbf{z}\) 是潜在编码,\(\mathbf{x}\) 是观测数据。
VAE 的目标函数为:
其中: - \(p_{\boldsymbol{\theta}}(\mathbf{z})\) 是先验分布,通常为单位高斯 - \(q_{\boldsymbol{\phi}}(\mathbf{z}|\mathbf{x})\) 是近似后验,由编码器网络参数化 - \(p_{\boldsymbol{\theta}}(\mathbf{x}|\mathbf{z})\) 是解码器(生成模型)
重参数化技巧:为使 \(\mathbb{E}_{q}[\log p(\mathbf{x}|\mathbf{z})]\) 可微分,引入重参数化:
典型选择:\(\boldsymbol{\epsilon} \sim \mathcal{N}(0, I)\),\(g_{\boldsymbol{\phi}}(\boldsymbol{\epsilon}, \mathbf{x}) = \boldsymbol{\mu}_{\boldsymbol{\phi}}(\mathbf{x}) + \boldsymbol{\sigma}_{\boldsymbol{\phi}}(\mathbf{x}) \odot \boldsymbol{\epsilon}\)
19.5 期望传播(Expectation Propagation)
19.5.1 EP 的基本框架
期望传播(Expectation Propagation, EP) 是一种消息传递算法,用于近似后验分布。与变分推断不同,EP 通过逐站点(site-by-site)地精化近似来逼近真实后验。
设真实后验为 \(p(\mathbf{h}|\mathbf{v}) \propto \tilde{p}(\mathbf{v},\mathbf{h}) = \tilde{p}(\mathbf{v}|\mathbf{h}) p(\mathbf{h})\)。EP 将其近似为:
其中每个因子 \(f_i(\mathbf{h})\) 是对真实似然项 \(\tilde{p}(\mathbf{v}_i|\mathbf{h})\) 的近似。
19.5.2 EP 的迭代过程
EP 通过迭代精化每个因子 \(f_i\):
- 消息计算:对于第 \(i\) 个因子,计算其对应的消息(边缘似然近似):
$\(Z_i = \int \tilde{p}(\mathbf{v}_i|\mathbf{h}) \prod_{j \neq i} f_j(\mathbf{h}) \, d\mathbf{h}\)$
- 因子更新:将 \(f_i\) 替换为新的近似 \(\tilde{f}_i\),使得:
$\(\tilde{f}_i \cdot \prod_{j \neq i} f_j \approx q_{\text{new}}(\mathbf{h}|\mathbf{v}) \propto p(\mathbf{h}|\mathbf{v})\)$
- 矩匹配:通过匹配 \(q_{\text{new}}\) 与真实后验的矩(如均值、方差)来确定 \(\tilde{f}_i\)
EP 与变分推断的关系:当使用平均场假设 \(q(\mathbf{h}) = \prod_i q_i(h_i)\) 时,EP 的不动点与变分推断的解相同。但 EP 不严格要求因式分解假设,因此可以更灵活地处理变量依赖。
19.5.3 EP 的收敛性与应用
收敛性:EP 的收敛性在理论上不如变分推断有保障,但在实践中通常表现良好。对于指数族分布,EP 具有良好的理论保证。
应用场景: - 高斯过程分类:EP 是近似后验的首选方法 - 信念网络:可用于近似贝叶斯网络中的边缘后验 - 稀疏线性模型:EP 可高效近似拉普拉斯先验下的后验
19.6 重要性采样与自适应拒绝采样
19.6.1 重要性采样(Importance Sampling)
重要性采样是一种蒙特卡洛方法,通过从提议分布 \(q(\mathbf{h})\) 采样来估计关于目标分布 \(p(\mathbf{h}|\mathbf{v})\) 的期望。
对真实后验的期望:
定义重要性权重:
由于 \(p(\mathbf{v})\) 未知,使用归一化权重:
加权采样估计:
效率考量:重要性采样的效率取决于提议分布 \(q\) 与目标分布 \(p\) 的接近程度。若 \(q\) 过于集中于 \(p\) 的低概率区域,会导致重要性权重的方差过大。
19.6.2 自适应拒绝采样(Adaptive Rejection Sampling, ARS)
自适应拒绝采样是一种针对单峰、对数凹(log-concave)分布的高效采样方法。
核心思想:构建一个分段线性包络函数来逼近目标分布的对数密度,并自适应地精化包络。
算法步骤:
- 初始化:在目标分布 \(p\) 的支撑区域内选择若干支撑点 \(\{x^{(k)}\}\)
- 构建包络:构造上界包络 \(u(x)\) 和下界包络 \(l(x)\):
$\(u(x) = \log p(x^*) + \sum_k \alpha_k |x - x^{(k)}|\)$
$\(l(x) \leq \log p(x) \leq u(x)\)$
- 采样:从包络分布(易于采样)中生成候选样本
- 接受-拒绝:使用标准拒绝采样准则判断是否接受
- 更新:若拒绝,基于当前位置更新支撑点和包络
收敛性:ARS 保证样本序列服从目标分布,每次迭代的接受率随包络精化而提高。
19.6.3 退火重要性采样(AIS)
退火重要性采样(Annealed Importance Sampling, AIS) 通过引入中间分布序列来解决高维分布的采样难题。
基本思想:定义一系列中间分布 \(p_0, p_1, \ldots, p_K\),其中 \(p_0 = q\)(简单提议分布),\(p_K = \tilde{p}\)(目标未归一化分布)。典型设置:
AIS 权重:
其中 \(Z_i\) 是第 \(i\) 个分布的配分函数。通过逐层"退火",有效探索分布空间。
19.7 觉醒-睡眠算法
19.7.1 睡眠阶段(Sleep Phase)
觉醒-睡眠算法(Wake-Sleep Algorithm) 是一种用于训练带有隐变量的生成模型的无监督学习方法,特别适用于 Helmholtz 机等自联想网络。
睡眠阶段模拟做梦过程,使用生成网络的当前参数 \(\boldsymbol{\theta}\) 从 \(p_{\boldsymbol{\theta}}(\mathbf{h}, \mathbf{v})\) 采样,生成"虚拟的"观测-隐变量对 \((\mathbf{v}, \mathbf{h})\)。然后训练识别网络 \(q_{\boldsymbol{\phi}}(\mathbf{h}|\mathbf{v})\) 使其能正确识别这些隐变量,即最小化:
这相当于最大化识别网络对从生成模型采样数据的负条件对数似然。
19.7.2 觉醒阶段(Wake Phase)
觉醒阶段模拟清醒学习,使用真实数据训练生成网络。从数据分布 \(p_{\text{data}}(\mathbf{v})\) 采样观测样本,然后从识别网络 \(q_{\boldsymbol{\phi}}(\mathbf{h}|\mathbf{v})\) 采样对应的隐变量表示。最后训练生成网络 \(p_{\boldsymbol{\theta}}(\mathbf{v}|\mathbf{h})\) 使其能重建观测:
19.7.3 算法分析
双向学习:觉醒-睡眠算法同时训练识别网络(推断路径)和生成网络(生成路径),实现了双向学习。
无监督性质:整个算法不需要隐变量的真实标签,仅依赖数据本身的结构。
局限性: - 当生成模型和识别模型结构不匹配时,两者可能相互矛盾 - 睡眠阶段的采样可能产生远离真实数据流形的样本 - 算法收敛性缺乏理论保证
与 VAE 的比较:VAE 通过单一目标函数(ELBO)联合优化两个网络,而觉醒-睡眠算法交替优化两个不兼容的目标。
19.8 可学习推断与推断网络
19.8.1 推断网络(Inference Networks)
推断网络使用参数化函数(通常为神经网络)直接学习从观测到隐变量的映射,避免了传统变分推断的迭代过程。
设识别网络为 \(q_{\boldsymbol{\phi}}(\mathbf{h}|\mathbf{v})\),通常参数化为:
其中 \(\boldsymbol{\mu}_{\boldsymbol{\phi}}\) 和 \(\boldsymbol{\sigma}_{\boldsymbol{\phi}}\) 是由神经网络输出的均值和对数方差。这种参数化使得: - 推断速度极快:前向传播即可获得隐变量分布 - ** amortization**:计算成本被分摊到网络参数中,对新样本的推断无需额外迭代
19.8.2 自编码变分贝叶斯(Autoencoding VB)
自编码变分贝叶斯(Autoencoding VB, AVB) 将神经网络推断与变分推断结合,处理复杂后验分布。
AVB 引入一个辅助对比分布 \(r_{\boldsymbol{\psi}}(\mathbf{h}|\mathbf{v}, \mathbf{e})\) 来增强表达能力,其中 \(\mathbf{e}\) 是额外噪声。目标是:
通过对抗训练,AVB 让识别网络学习复杂的后验结构。
对抗训练目标:
19.8.3 VAE 的摊销间隔(Amortization Gap)
在 VAE 中,识别网络参数 \(\boldsymbol{\phi}\) 被所有数据点共享,这种摊销(amortization)策略极大加速了推断,但引入了摊销间隔(Amortization Gap)问题。
问题定义:最优的变分参数应满足每个数据点有独立的解 \(\boldsymbol{\phi}^*(\mathbf{v}_i)\),但 VAE 使用共享参数 \(\boldsymbol{\phi}\) 逼近,即 \(\boldsymbol{\phi}^*(\mathbf{v}_i) \approx \boldsymbol{\phi}^*\)。
摊销间隔度量:
影响:摊销间隔导致每个数据点的近似后验不够精确,尤其对于远离典型数据点的样本。
缓解方法: 1. 多层变分自编码器:使用层次化后验 2. 循环建议网络:如 RNN-based VAE,对每个样本进行迭代精化 3. 摊销 vs 迭代权衡:对小批量数据使用迭代精化,对新数据使用摊销推断
19.8.4 归一化流(Normalizing Flows)
归一化流通过可逆变换将简单分布转化为复杂分布,增强近似后验的表达能力。
基本思想:设 \(\mathbf{z}_0 \sim q_0(\mathbf{z}_0)\),通过一系列可逆变换 \(\mathbf{z}_k = f_k(\mathbf{z}_{k-1})\) 得到 \(\mathbf{z}_K\)。根据变量变换公式:
常用归一化流:
- 线性流(Linear Flows):\(f(\mathbf{z}) = \mathbf{W}\mathbf{z}\),行列式为 \(|\det(\mathbf{W})|\)
- 平面流(Planar Flows):\(f(\mathbf{z}) = \mathbf{z} + \mathbf{u} \, \sigma(\mathbf{w}^\top \mathbf{z} + b)\)
- 径向流(Radial Flows):\(f(\mathbf{z}) = \mathbf{z} + \frac{\alpha}{r + \beta} (\mathbf{z} - \mathbf{z}_0)\)
在 VAE 中的应用:用归一化流替换高斯近似后验,可在保持高效推断的同时大幅提升后验表达能力。
19.9 公式总结表
| 概念 | 公式 | 说明 |
|---|---|---|
| KL 散度 | \(\text{KL}(q\|p) = \mathbb{E}_q[\log q - \log p]\) | 近似质量度量 |
| ELBO | \(\mathcal{L} = \mathbb{E}_q[\log \tilde{p}] - \mathbb{E}_q[\log q]\) | 证据下界 |
| 变分自由能 | \(F = -\mathcal{L}\) | ELBO 的物理名称 |
| 平均场方程 | \(q_j^*(h_j) \propto \exp(\mathbb{E}_{-j}[\log \tilde{p}])\) | 因子最优形式 |
| CAVI 更新 | \(q_i^{(t+1)} \propto \exp(\mathbb{E}_{-i}^{(t)}[\log \tilde{p}])\) | 坐标上升更新 |
| SVI 梯度 | \(\hat{\nabla}\mathcal{L} = \nabla_{\boldsymbol{\phi}}\mathbb{E}_q[\log \tilde{p} - \log q]\) | 随机变分梯度 |
| 重参数化 | \(\mathbf{z} = \boldsymbol{\mu} + \boldsymbol{\sigma} \odot \boldsymbol{\epsilon}\) | 梯度估计技巧 |
| EP 消息 | \(Z_i = \int \tilde{p}_i \prod_{j \neq i} f_j \, d\mathbf{h}\) | 边缘似然估计 |
| 重要性权重 | \(w(\mathbf{h}) = \tilde{p}(\mathbf{v},\mathbf{h}) / q(\mathbf{h})\) | 加权采样 |
| AIS 分布 | \(p_i \propto q^{1-\beta_i}\tilde{p}^{\beta_i}\) | 退火分布序列 |
| 觉醒损失 | $\mathcal{L}{\text{wake}} = -\mathbb{E}}[\log p(\mathbf{v | \mathbf{h})]$ |
| 睡眠损失 | $\mathcal{L}{\text{sleep}} = -\mathbb{E}},\mathbf{h})}[\log q(\mathbf{h | \mathbf{v})]$ |
| 归一化流 | $q_K(\mathbf{z}_K) = q_0(\mathbf{z}_0)\prod_k | \det J_k |
| 平面流 | \(\mathbf{z}' = \mathbf{z} + \mathbf{u}\,\sigma(\mathbf{w}^\top\mathbf{z}+b)\) | 常用流变换 |
| VAE 损失 | $\mathcal{L} = -D_{\text{KL}}(q_\phi|p) + \mathbb{E}_q[\log p(\mathbf{x} | \mathbf{z})]$ |
| 摊销间隔 | \(\Delta_{\text{amort}} = \text{KL}(q_{\boldsymbol{\phi}^*}\|p) - \min_{\boldsymbol{\phi}(\mathbf{v})}\text{KL}(q_{\boldsymbol{\phi}(\mathbf{v})}\|p)\) | 摊销误差度量 |
19.10 结论与展望
本章系统探讨了深度生成模型中的近似推断方法,将推断问题形式化为优化问题,通过构造近似分布来逼近真实后验。
核心方法回顾:
- 变分推断:通过优化 ELBO 将推断转化为参数优化,CAVI 和 SVI 分别提供批量和随机优化策略
- 期望传播:基于消息传递的近似方法,逐站点精化因子近似
- 重要性采样:蒙特卡洛方法的核心工具,AIS 和 ARS 解决高维采样困难
- 觉醒-睡眠:双向学习框架,同时训练识别和生成网络
- 可学习推断:使用神经网络实现端到端推断,归一化流增强表达能力
方法比较:
| 方法 | 推断精度 | 计算效率 | 实现复杂度 | 适用范围 |
|---|---|---|---|---|
| 精确推断 | 最优 | 低 | 低 | 小规模离散模型 |
| 平均场 VI | 中等 | 高 | 中 | 树状图模型 |
| CAVI | 中等 | 中 | 中 | 中等规模模型 |
| SVI | 中等 | 高 | 中 | 大规模数据 |
| EP | 较高 | 中 | 高 | 指数族模型 |
| AIS/ARS | 较高 | 低 | 中 | 低维连续分布 |
| 推断网络 | 取决于网络 | 极高 | 高 | 任意模型 |
| 归一化流 | 较高 | 高 | 高 | 连续隐变量模型 |
前沿方向:
- 摊销推断的改进:减少摊销间隔,提高个体推断精度
- 增强归一化流:更复杂的可逆变换架构
- 层次化变分模型:处理更复杂的后验结构
- 推断与生成联合优化:发展更统一的训练框架
- 推断不确定性量化:为近似分布提供可靠的置信度量
近似推断是现代深度生成模型的核心技术之一,其发展直接推动了 VAE、扩散模型、流模型等生成方法的进步。随着神经网络架构的不断演进,近似推断将继续在精度与效率之间寻求更好的平衡。