变分推断与 ELBO

通过在可处理的分布族上优化来逼近不可解的后验,并由证据下界给出下确界。

先看大局

精确的后验 p(zx)p(z\mid x) 通常算不出来——分母里那个积分太难。变分推断换一个思路:与其精确求解后验,不如从一族「形状简单、好处理」的分布里,挑一个最像真后验的。 于是「计算后验」就变成了「调几个参数,让两个分布尽量接近」——一个优化问题。本页接下来把这个想法讲精确。

变分推断把后验计算转化为优化问题。给定隐变量模型 p(x,z)=p(xz)p(z)p(x,z)=p(x\mid z)\,p(z),后验

p(zx)=p(x,z)p(x),p(x)=p(x,z)dz,p(z\mid x) = \frac{p(x,z)}{p(x)},\qquad p(x)=\int p(x,z)\,dz,

通常不可解,因为证据 p(x)p(x) 需对所有隐变量边缘化。这里 xx 是观测(在 Cryo-ET 里就是一组带噪、缺角的投影),zz 是我们想推断的隐变量(待重构的三维结构、姿态、或潜码),p(xz)p(x\mid z) 是描述成像物理的似然,p(z)p(z) 是先验。问题出在那个积分:zz 往往是几十万维的体素网格,对它做边缘化在数值上没有任何可行办法,因此 p(x)p(x)p(zx)p(z\mid x) 都写不出闭式。

变分推断用一个取自所选分布族的可处理近似 q(zx)q(z\mid x) 代替真实后验,并通过最大化 logp(x)\log p(x) 的一个下界来拟合 qq。所谓「可处理」,指我们能从 qq 中采样、能算出它的密度——典型选择是均值场高斯 q(zx)=iN(zi;μi,σi2)q(z\mid x)=\prod_i \mathcal{N}(z_i;\mu_i,\sigma_i^2),每个隐变量各自一个均值与方差。拟合 qq 就是优化这几个 (μi,σi)(\mu_i,\sigma_i)

所选分布族的表达能力决定了近似的上限:当真实后验为多峰而 qq 限定为单峰高斯时,两者无法完全重合,拟合结果会偏向后验的某个局部。具体地,最小化 KL(qp)\mathrm{KL}(q\,\|\,p) 这个方向(变分推断默认用的方向)有「拒绝低概率区」的倾向——它宁可让 qq 缩进单个峰里也不愿跨越两峰之间的低谷,因为一旦 qqpp 几乎为零处放了质量,log(q/p)\log(q/p) 就会爆掉。结果就是单峰 qq锁定一个峰而非取两峰的平均。

下方的交互演示固定一个双峰目标分布,并允许调节单峰高斯 qq 的均值与标准差,从而直观呈现期望对数目标、熵与 ELBO 三者之间的取舍。把均值滑到任一峰的位置、再把标准差调小,就能看到 ELBO 升高;试图用一个大方差的宽高斯同时盖住两峰,反而会因为在两峰之间的低谷处浪费概率质量而拉低 ELBO。

μ隐变量 z-707
目标分布 p (双峰)近似 q (高斯)
期望对数目标 E_q[log p̃]-3.286
熵 H[q]2.374
ELBO-0.912
KL 代理 (logZ − ELBO)0.912

单个高斯 q 无法同时覆盖两个峰:跨越中间低密度区会拉低期望对数目标。最大化 ELBO 时 q 趋向锁定其中一个峰,这正是反向 KL 变分推断的寻模特性。

这个下界即证据下界(ELBO)。由 Jensen 不等式出发,

logp(x)    Eq(zx) ⁣[logp(x,z)]Eq(zx) ⁣[logq(zx)]  =  L(q).\log p(x) \;\ge\; \mathbb{E}_{q(z\mid x)}\!\big[\log p(x,z)\big] - \mathbb{E}_{q(z\mid x)}\!\big[\log q(z\mid x)\big] \;=\; \mathcal{L}(q).

逐项读:第一项 Eq[logp(x,z)]\mathbb{E}_{q}[\log p(x,z)] 是在 qq 下对联合对数密度求平均——只要从 qq 采若干个 zz、代入 logp(x,z)\log p(x,z) 再平均即可估计,不涉及那个不可解的积分。第二项 Eq[logq(zx)]-\mathbb{E}_{q}[\log q(z\mid x)]qq,奖励 qq 保持分散、别塌成一个点。两项之差就是 ELBO,记作 L(q)\mathcal{L}(q)——它整个都可由采样估计,这正是它能拿来做优化目标的原因。

logp(x)\log p(x) 与 ELBO 之间的差恰为 KL ⁣(q(zx)p(zx))0\mathrm{KL}\!\big(q(z\mid x)\,\|\,p(z\mid x)\big)\ge 0。换言之,

logp(x)=L(q)+KL ⁣(q(zx)p(zx)).\log p(x) = \mathcal{L}(q) + \mathrm{KL}\!\big(q(z\mid x)\,\|\,p(z\mid x)\big).

由于左边 logp(x)\log p(x) 不依赖 qq,把 ELBO 抬高与把 KL 压低是同一件事的两面:最大化该下界会把 qq 推向真实后验,同时收紧对证据的估计。当 qq 恰好等于真后验时 KL 为零,下界变紧,ELBO 取到 logp(x)\log p(x) 本身。

直觉

把 ELBO 改写后,两个相互竞争的项便显现出来:

L(q)=Eq[logp(xz)]重构KL ⁣(q(zx)p(z))正则.\mathcal{L}(q)=\underbrace{\mathbb{E}_{q}[\log p(x\mid z)]}_{\text{重构}} -\underbrace{\mathrm{KL}\!\big(q(z\mid x)\,\|\,p(z)\big)}_{\text{正则}}.

第一项奖励能解释观测的隐变量:它问「从 qq 抽出的 zz,经成像模型 p(xz)p(x\mid z) 还原,像不像我真正看到的 xx?」。第二项惩罚 qq 偏离先验:它把 qq 往「无观测时该有的样子」拉回。把正则系数调大,qq 就更保守、更贴先验;调小,qq 就更激进地去拟合这一份观测、也更容易过拟合噪声。该目标在拟合数据与贴近先验之间取得平衡——这正是它对 Cryo-ET 有用的关键:单套投影信息有限,先验项替缺失的信息兜底。

深入

期望最大化(EM)是一种特例:每一步 E 步将 qq 取为精确后验,使下界紧致,随后 M 步对模型参数最大化 Eq[logp(x,z)]\mathbb{E}_{q}[\log p(x,z)]。变分推断把 EM 推广到精确后验不可得的情形:E 步本身是在受限分布族 qq 上的近似优化,而对同一 ELBO 在两个变量上交替上升。

qq 用神经网络 qϕ(zx)q_\phi(z\mid x) 参数化(即把观测 xx 直接映成 μ,σ\mu,\sigma,称「摊销推断」),对 ELBO 关于 ϕ\phi 求梯度会遇到一个障碍:期望本身依赖待优化的参数,不能直接把梯度搬进期望里。重参数化技巧绕开它——把 z=μϕ+σϕϵz=\mu_\phi+\sigma_\phi\odot\epsilonϵN(0,I)\epsilon\sim\mathcal{N}(0,I),随机性外移到与 ϕ\phi 无关的 ϵ\epsilon,于是

ϕEqϕ[f(z)]=Eϵ ⁣[ϕf(μϕ+σϕϵ)],\nabla_\phi\,\mathbb{E}_{q_\phi}[f(z)] =\mathbb{E}_{\epsilon}\!\big[\nabla_\phi f(\mu_\phi+\sigma_\phi\odot\epsilon)\big],

梯度可由单个样本无偏估计、并经反向传播流过整张网络。这正是变分自编码器能端到端训练的技术核心。需要注意的代价:均值场 qq 假设各 ziz_i 后验独立,会系统性低估方差——它砍掉了真后验里隐变量之间的相关性,给出的不确定度往往偏窄。

ELBO 是变分自编码器背后的训练目标,而后验 KL 项的不可解性正是最优传输CryoGEN 所采用的分布匹配视角的动因。

把这套机制放回 Cryo-ET 的重构流程:求后验 p(zx)p(z\mid x) 就是「给定带噪投影,推断三维结构的分布」。变分推断给的是这个后验的单个最优近似 qq——一锤定音的稳定答案,对应 CryoGEN-I 的 MAP 点估计与 CryoGEN-II 的 WAE/OT 稳定单解。但若想刻画后验的整族解——同一份数据下结构有多个合理可能——则单一 qq 不够,要换用能真正从后验采样的工具。能量模型给出未归一化的后验形状 p(zx)eE(z)p(z\mid x)\propto e^{-E(z)}朗之万动力学与 SGLD 则仅凭其得分 zlogp\nabla_z\log p 反复采样,给出一族而非一个结构——这正是 CryoWGEN 的内循环(EVIA 蒙特卡洛对应 CryoWGEN-I,EVIA 朗之万对应 CryoWGEN-II 的后验族)。本页的 ELBO 与那条采样链共享同一个出发点:都拿真后验没辙、都从它的某种可处理代理入手,区别只在于代理是「一个分布 qq」还是「一串样本」。

← 推断与采样