变分推断与 ELBO
通过在可处理的分布族上优化来逼近不可解的后验,并由证据下界给出下确界。
先看大局
精确的后验 p(z∣x) 通常算不出来——分母里那个积分太难。变分推断换一个思路:与其精确求解后验,不如从一族「形状简单、好处理」的分布里,挑一个最像真后验的。 于是「计算后验」就变成了「调几个参数,让两个分布尽量接近」——一个优化问题。本页接下来把这个想法讲精确。
变分推断把后验计算转化为优化问题。给定隐变量模型 p(x,z)=p(x∣z)p(z),后验
p(z∣x)=p(x)p(x,z),p(x)=∫p(x,z)dz,
通常不可解,因为证据 p(x) 需对所有隐变量边缘化。这里 x 是观测(在 Cryo-ET 里就是一组带噪、缺角的投影),z 是我们想推断的隐变量(待重构的三维结构、姿态、或潜码),p(x∣z) 是描述成像物理的似然,p(z) 是先验。问题出在那个积分:z 往往是几十万维的体素网格,对它做边缘化在数值上没有任何可行办法,因此 p(x) 与 p(z∣x) 都写不出闭式。
变分推断用一个取自所选分布族的可处理近似 q(z∣x) 代替真实后验,并通过最大化 logp(x) 的一个下界来拟合 q。所谓「可处理」,指我们能从 q 中采样、能算出它的密度——典型选择是均值场高斯 q(z∣x)=∏iN(zi;μi,σi2),每个隐变量各自一个均值与方差。拟合 q 就是优化这几个 (μi,σi)。
所选分布族的表达能力决定了近似的上限:当真实后验为多峰而 q 限定为单峰高斯时,两者无法完全重合,拟合结果会偏向后验的某个局部。具体地,最小化 KL(q∥p) 这个方向(变分推断默认用的方向)有「拒绝低概率区」的倾向——它宁可让 q 缩进单个峰里也不愿跨越两峰之间的低谷,因为一旦 q 在 p 几乎为零处放了质量,log(q/p) 就会爆掉。结果就是单峰 q 会锁定一个峰而非取两峰的平均。
下方的交互演示固定一个双峰目标分布,并允许调节单峰高斯 q 的均值与标准差,从而直观呈现期望对数目标、熵与 ELBO 三者之间的取舍。把均值滑到任一峰的位置、再把标准差调小,就能看到 ELBO 升高;试图用一个大方差的宽高斯同时盖住两峰,反而会因为在两峰之间的低谷处浪费概率质量而拉低 ELBO。
目标分布 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(z∣x)[logp(x,z)]−Eq(z∣x)[logq(z∣x)]=L(q).
逐项读:第一项 Eq[logp(x,z)] 是在 q 下对联合对数密度求平均——只要从 q 采若干个 z、代入 logp(x,z) 再平均即可估计,不涉及那个不可解的积分。第二项 −Eq[logq(z∣x)] 是 q 的熵,奖励 q 保持分散、别塌成一个点。两项之差就是 ELBO,记作 L(q)——它整个都可由采样估计,这正是它能拿来做优化目标的原因。
logp(x) 与 ELBO 之间的差恰为 KL(q(z∣x)∥p(z∣x))≥0。换言之,
logp(x)=L(q)+KL(q(z∣x)∥p(z∣x)).
由于左边 logp(x) 不依赖 q,把 ELBO 抬高与把 KL 压低是同一件事的两面:最大化该下界会把 q 推向真实后验,同时收紧对证据的估计。当 q 恰好等于真后验时 KL 为零,下界变紧,ELBO 取到 logp(x) 本身。
直觉
把 ELBO 改写后,两个相互竞争的项便显现出来:
L(q)=重构Eq[logp(x∣z)]−正则KL(q(z∣x)∥p(z)).第一项奖励能解释观测的隐变量:它问「从 q 抽出的 z,经成像模型 p(x∣z) 还原,像不像我真正看到的 x?」。第二项惩罚 q 偏离先验:它把 q 往「无观测时该有的样子」拉回。把正则系数调大,q 就更保守、更贴先验;调小,q 就更激进地去拟合这一份观测、也更容易过拟合噪声。该目标在拟合数据与贴近先验之间取得平衡——这正是它对 Cryo-ET 有用的关键:单套投影信息有限,先验项替缺失的信息兜底。
深入
期望最大化(EM)是一种特例:每一步 E 步将 q 取为精确后验,使下界紧致,随后 M 步对模型参数最大化 Eq[logp(x,z)]。变分推断把 EM 推广到精确后验不可得的情形:E 步本身是在受限分布族 q 上的近似优化,而对同一 ELBO 在两个变量上交替上升。
当 q 用神经网络 qϕ(z∣x) 参数化(即把观测 x 直接映成 μ,σ,称「摊销推断」),对 ELBO 关于 ϕ 求梯度会遇到一个障碍:期望本身依赖待优化的参数,不能直接把梯度搬进期望里。重参数化技巧绕开它——把 z=μϕ+σϕ⊙ϵ、ϵ∼N(0,I),随机性外移到与 ϕ 无关的 ϵ,于是
∇ϕEqϕ[f(z)]=Eϵ[∇ϕf(μϕ+σϕ⊙ϵ)],梯度可由单个样本无偏估计、并经反向传播流过整张网络。这正是变分自编码器能端到端训练的技术核心。需要注意的代价:均值场 q 假设各 zi 后验独立,会系统性低估方差——它砍掉了真后验里隐变量之间的相关性,给出的不确定度往往偏窄。
ELBO 是变分自编码器背后的训练目标,而后验 KL 项的不可解性正是最优传输与 CryoGEN 所采用的分布匹配视角的动因。
把这套机制放回 Cryo-ET 的重构流程:求后验 p(z∣x) 就是「给定带噪投影,推断三维结构的分布」。变分推断给的是这个后验的单个最优近似 q——一锤定音的稳定答案,对应 CryoGEN-I 的 MAP 点估计与 CryoGEN-II 的 WAE/OT 稳定单解。但若想刻画后验的整族解——同一份数据下结构有多个合理可能——则单一 q 不够,要换用能真正从后验采样的工具。能量模型给出未归一化的后验形状 p(z∣x)∝e−E(z),朗之万动力学与 SGLD 则仅凭其得分 ∇zlogp 反复采样,给出一族而非一个结构——这正是 CryoWGEN 的内循环(EVIA 蒙特卡洛对应 CryoWGEN-I,EVIA 朗之万对应 CryoWGEN-II 的后验族)。本页的 ELBO 与那条采样链共享同一个出发点:都拿真后验没辙、都从它的某种可处理代理入手,区别只在于代理是「一个分布 q」还是「一串样本」。
← 推断与采样