跳到主要内容

第 34 章把联合分布拆成了小零件;这一章回答使用端的问题: 观测了一部分(病人发烧了),想知道另一部分(得流感的概率)。 精确算不动时有两条退路——变分推断把推断变成优化,采样法把期望变成 平均数;再加上一条精确路线(变量消除/信念传播),本章凑齐推断工具箱。

概率图模型(二):推断、变分推断与采样

1. 这一章讲什么

两件事: 「看见一部分变量、想知道另一部分」的推断问题,以及 精确算不动时的退路——变分推断与采样法,外加一条精确路线 (变量消除、信念传播)。

它在全书链条里的位置: 第 34 章的 ELBO 在本章变成推断的主力工具; 第 8 节的「摊销」二字是第 37 章变分自编码器的核心;吉布斯采样 直接喂给第 36 章的玻尔兹曼机。

需要第 34 章(条件独立、配分函数、ELBO)。

2. 顶层全景

求 p(问题|证据) = 求边际,求和项数指数爆炸(§3)
├ 精确:变量消除——换求和顺序省乘法(§4)
│ 信念传播——中间结果当消息复用,链上一遍得全部边际(§5)
│ 有环:硬跑(可能不收敛)或先转联合树(§6)
├ 变分:推断变优化——在简单分布族里最大化 ELBO(§7)
│ 平均场闭式更新 + 坐标上升;摊销:网络映变分参数(§8)
└ 采样:直接采与它的坎(§9);拒绝 / 重要性(高维崩,§10)
MCMC:MH 接受率修正、吉布斯逐维采接受率恒 1(§11)

3. 观测了一部分,想知道另一部分

推断的定义:观测到部分变量 e,求另一组变量 q 的条件分布 p(q|e)。 按贝叶斯公式,分子分母都是边际概率——对无关变量求和。所以书一句话 点破:推断问题的关键是求任意变量子集的边际分布1

难在哪?求和的项数随变量数指数增长:每个未观测变量贡献 K 个取值, 全体组合数 K^N。硬算是死路,下面各节是活路。

4. 换个求和顺序能省多少:变量消除法

第一条活路不换工具,只换算术。以第 34 章主走查那条四变量链为例, 求 p(x₁,x₄)=Σ_{x₂,x₃} p(x₁)p(x₂|x₁)p(x₃|x₁)p(x₄|x₂,x₃):每个变量取 K 个值,直接按式子算要 K² 次加法、3K² 次乘法。用乘法分配律 ab+ac=a(b+c) 把求和往内层塞,先对 x₂ 求和再对 x₃ 求和,乘法次数 降到 K²+K+1、加法 K²+K2

这就是变量消除法:动态规划思想,每次「消除」一个变量,算出一个小因子存起来。 计算量与消除顺序密切相关,好的顺序能让中间因子保持小巧3

主走查:同一张图,两次消除

沿用第 34 章的四变量链与那组演示条件概率表。求 p(x₁=1,x₄=1)。

先按优化顺序手算:内层对 x₂ 求和(固定 x₃):

Σ_{x₂} p(x₂|1)·p(x₄=1|x₂,x₃):
x₃=1: 0.7×0.9 + 0.3×0.3 = 0.63+0.09 = 0.72
x₃=0: 0.7×0.6 + 0.3×0.05 = 0.42+0.015 = 0.435

外层: p(x₁=1)·Σ_{x₃} p(x₃|1)·[因子]
= 0.6 × ( 0.5×0.72 + 0.5×0.435 ) = 0.6 × 0.5775 = 0.3465

直接按定义展开算同一件事:K=2 时需 4 次加法、12 次乘法; 变量消除后 6 次加法、7 次乘法——小图上省得不多,但项数随 K 增长时, 「指数」与「多项式」的差距从这里来。换个消除顺序(先 x₃ 后 x₂) 在这张对称小图上代价相同;一般图中顺序的好坏差别巨大,而找最优顺序 本身就是难问题——书只点了「密切相关」,没给算法4

5. 别重复算同一块:信念传播

变量消除的浪费:算 p(x₄) 和 p(x₃) 时,很多局部的求和一模一样。 **信念传播(和积/消息传递算法)**把「消除过程里产生的小因子」当成 消息保存复用5

在链上,任意变量的边际可以拆成左来的消息 × 右来的消息: μ(xₜ) 由链的左半部分递归算出,μ(xₜ) 由右半部分递归算出; 消息定义是「相邻势函数 × 上一条消息」的求和6。复杂度降到 O(TK²), 而且算整条链所有变量的边际,一遍前向一遍反向就够,不必重复 T 次7。 树结构同理:叶子到根、根到叶子各一遍;图里有环,可以先转换成 联合树再跑8

6. 有环怎么办:硬跑或先改图

精确算法怕环。书给了三条退路的总表9:

  • 环路信念传播:有环也硬跑消息传递——消息在环里反复传递, 「可能收敛也可能不收敛」;即使收敛也不保证精确,但实践中常给出 有用的近似;
  • 联合树算法:先把图改造成无环的树结构,再享受精确消息传递;
  • 换近似推断(下面两节)。

7. 换个更好算的分布来凑:变分推断

后验 p(z|x) 算不出来?在一族「好算的简单分布」里,找一个最贴近它的。 「贴近」用 KL 散度量化——但 KL 里有 p(z|x),还是算不出。第 34 章的 ELBO 在这里救场:KL(q‖p(z|x)) = log p(x) − ELBO(q),log p(x) 与 q 无关, 最小化 KL 等价于最大化 ELBO——推断问题变成了优化问题10。 书点明这层关系:变分推断可以看作 EM 算法的扩展版,处理的是 「后验算不出来」的场合(EM 的 E 步假设后验可算,这里不再假设)11

平均场:最常用的分布族——把隐变量拆成 M 组,假设各组相互独立, q(z)=∏m q_m(z_m)12。假设看似粗暴,换来一个漂亮的回报:固定其他组时, 每组的最优解有闭式——q_j*(z_j) ∝ exp(𝔼_{q(其他组)}[log p(x,z)]), 于是用坐标上升轮着更新每组,ELBO 单调上升13

8. 用神经网络来做这件事:摊销变分推断

坐标上升对每个数据点都要单独迭代,大数据上太慢。书列了三条现代化扩展: 随机变分推断(SVI,用随机梯度)、黑盒变分推断(BBVI,用分数函数 估计器或重参数化估计 ELBO 梯度),以及关键的第三条——摊销变分推断: 用一个神经网络直接把观测数据映射到变分参数,避免对每个数据点做 独立优化——「这正是变分自编码器(VAE)的核心思想」14

书还补了一句方向判断:当真实后验太复杂、简单分布族近似效果不佳时, 「可以利用神经网络的强大拟合能力来近似 p(z|x),这种思想被应用在 变分自编码器中」15第 37 章的整套机器,地基就是这两段话。

9. 直接采样行不行:先看运气

如果分布不算太复杂,还有一条完全不同的路:不解析地算,用随机样本 估计。目的通常是算期望 𝔼[f(x)];从 p(x) 抽 N 个独立样本, 样本均值随 N→∞ 收敛到期望(大数定律)——这是采样法的全部理论依据16。 书给的入门例子是蒙特卡罗法估 π:正方形内均匀撒点,数落在圆内的比例, 比例趋近 π/417

直接采样的门槛:计算机只会均匀抽样。若 p(x) 的累积分布函数 存在可算的逆,可以用逆变换法(cdf⁻¹(均匀随机数));当 p(x) 复杂、 逆函数算不出、或者根本只知道未归一化的 p̂(x)(配分函数未知)时, 只能间接采18。三种间接方法按难度递进:

10. 三种间接采样(前两种在高维会崩)

拒绝采样:找一个好采的提议分布 q(x) 和常数 k,让 kq(x) 整个罩住 p̂(x);从 q 抽样本,以概率 α=p̂(x)/(kq(x)) 接受19。 接受的样本严格服从 p。命门在效率:总接受率就是采样效率,kq 远大于 p̂ 时大部分样本被扔掉;高维空间中接受率迅速下降20

重要性采样:如果目的只是算期望,样本不必服从 p——从 q 抽样本, 给每个样本配一个重要性权重 w=p/q,算加权平均即可;只知道未归一化的 p̂ 也能做(权重自归一化)21。命门同样是维度:拒绝采样和重要性采样 在高维都受维数灾难影响,效率随维数迅速降低22

11. 让采样走成一条链:MCMC

马尔可夫链蒙特卡罗(MCMC)换思路:不独立抽,而是构造一条 平稳分布恰好是 p(x) 的马尔可夫链——链走到平稳后,抽到的样本 就服从 p23。两个使用要点书明码标注:预烧期(burn-in,链没进入 平稳前抽的样本要扔)与自相关(相邻样本相关,隔 M 步抽一个, 但仍要检查混合情况与有效样本量)24

Metropolis-Hastings:从提议分布 q(x|xt) 抽候选,按接受率 A=min(1, p(x̂)q(xt|x̂)/p(xt)q(x̂|xt)) 决定去留;可以证明修正后的链 满足细致平稳条件,平稳分布正是 p25。提议对称时退化为 Metropolis 算法:A=min(1, p(x̂)/p(xt))——连配分函数都约掉了, 这正是它适合能量模型的原因(第 36 章直接受益)26

吉布斯采样:MH 的特例,适合图模型——用全条件概率依次对每个 维度采样,接受率恒为 1(不用拒绝)27。第 34 章玻尔兹曼机的 全条件概率恰好是 Logistic 函数,两者严丝合缝。

另起的第二处走查:三步吉布斯采样

**仍用第 34 章那条四变量链与演示条件概率表。**全条件概率按贝叶斯公式 展开,例如 p(x₁|x₂,x₃,x₄) ∝ p(x₁)p(x₂|x₁)p(x₃|x₁)。初始状态取 (0,0,0,0)(演示),按下标顺序各采一轮:

第 1 步 x₁|x₂=0,x₃=0:
p(x₁=1) ∝ 0.6×0.2×0.1 = 0.012; p(x₁=0) ∝ 0.4×0.8×0.9 = 0.288
归一化 p(x₁=1) = 0.04 → 抽得 x₁=0
第 2 步 x₂|x₁=0,x₃=0,x₄=0:
p(x₂=1) ∝ 0.2×0.4 = 0.08; p(x₂=0) ∝ 0.8×0.95 = 0.76
归一化 p(x₂=1) = 0.095 → 抽得 x₂=0
第 3 步 x₃|x₁=0,x₂=0,x₄=0:
p(x₃=1) ∝ 0.1×0.7 = 0.07; p(x₃=0) ∝ 0.9×0.95 = 0.855
归一化 p(x₃=1) = 0.076 → 抽得 x₃=1
第 4 步 x₄|x₂=0,x₃=1: p(x₄=1|0,1)=0.3 → 抽得 x₄=1

一轮扫完,状态 (0,0,0,0) → (0,0,1,1)(抽到哪些值是演示, 条件分布数值是按表实算的)。每一步都只看「邻居」的当前值—— 这就是「走成一条链」的含义:状态慢慢游走到高概率区域, 前面的样本(预烧期)要扔掉。

12. 作者的判断与证据

书里给了推导的: 变量消除的次数账2;消息递归与 O(TK²)6; KL→ELBO 的转换10;平均场的闭式更新与坐标上升13; MH 的细致平稳证明25;吉布斯的接受率恒 127

书里给了坦白的: 消除顺序难有最优解4;环路 BP 不保证收敛与精确9; 拒绝/重要性采样在高维崩塌22;MCMC 要扔预烧期样本、要查有效样本量24

书里给了通往后续章节的桥: 摊销变分推断=VAE 的核心思想14; 神经网络近似后验的思想用在了 VAE 里15

13. 边界与局限

精确推断只覆盖小图或树/低树宽图:一般图上联合树的规模可能指数大, 书提了名字没展开。

平均场的独立性假设代价未量化:各组独立的近似在多峰后验上会漏掉 整块模式,书给了机制、没给诊断方法。

MCMC 的「怎么判断链已经收敛」只有一句:「检查混合情况和有效样本量」, 具体的收敛诊断(R̂ 等)不在书内。

连续变量上的例子稀少:采样三法都以离散/一维直觉呈现,高维连续 目标(正是深度生成场景)留给第 38 章的流与扩散。

14. 可带走的

  1. 推断 = 求边际;求和项数随变量数指数增长;
  2. 乘法分配律省乘法(变量消除);消除顺序决定中间因子大小;
  3. 信念传播把中间结果当消息存起来;链上一次前向一次反向得全部边际;
  4. 有环:环路 BP 硬跑(不保证收敛)或先转联合树;
  5. 变分推断 = 在简单分布族里最大化 ELBO,推断变优化;
  6. 平均场假设组间独立,换每组最优解的闭式 + 坐标上升;
  7. 摊销=神经网络从数据直接映射变分参数——VAE 的心脏;
  8. 拒绝采样要「罩得住」的提议分布,重要性采样只需加权——两者高维都崩;
  9. MCMC 构造平稳分布为目标分布的链;MH 用接受率修正;吉布斯逐维采样、 接受率恒 1;
  10. 预烧期样本要扔,相邻样本相关——别忘了查有效样本量。

15. 原文地图

主题原书章原文位置
推断定义与边际第14章 概率图模型text/15-ch14.txt:852(搜「推断(Inference)是指在观测到」) · text/15-ch14.txt:863(搜「边际概率分布问题」)
变量消除第14章 概率图模型text/15-ch14.txt:870(搜「变量消除法」) · text/15-ch14.txt:882(搜「分配律」) · text/15-ch14.txt:891(搜「𝐾 2 + 𝐾」) · text/15-ch14.txt:894(搜「消除顺序密切相关」)
重复计算的缺点第14章 概率图模型text/15-ch14.txt:903(搜「很多重复的计算」)
信念传播第14章 概率图模型text/15-ch14.txt:908(搜「信念传播(Belief Propagation」) · text/15-ch14.txt:910(搜「消息(Message」) · text/15-ch14.txt:909(搜「消息」) · text/15-ch14.txt:968(搜「𝑂(𝑇 𝐾 2」) · text/15-ch14.txt:968(搜「不需要将消息」)
树与联合树第14章 概率图模型text/15-ch14.txt:988(搜「消息传递过程为」) · text/15-ch14.txt:995(搜「联合树算法(Junction Tree」)
近似推断三法第14章 概率图模型text/15-ch14.txt:1003(搜「三种方法」) · text/15-ch14.txt:1004(搜「环路信念传播」)
变分推断定义第14章 概率图模型text/15-ch14.txt:1046(搜「变分推断(Variational Inference」) · text/15-ch14.txt:1052(搜「(14.82)」)
EM 扩展版第14章 概率图模型text/15-ch14.txt:1064(搜「扩展版」) · text/15-ch14.txt:1072(搜「(14.85)」)
平均场第14章 概率图模型text/15-ch14.txt:1078(搜「平均场(mean-field」) · text/15-ch14.txt:1082(搜「(14.86)」)
闭式与坐标上升第14章 概率图模型text/15-ch14.txt:1126(搜「(14.94)」) · text/15-ch14.txt:1130(搜「坐标上升法」)
SVI/BBVI/摊销第14章 概率图模型text/15-ch14.txt:1134(搜「随机变分推断」) · text/15-ch14.txt:1137(搜「摊销变分推断」) · text/15-ch14.txt:1139(搜「变分自编码器(VAE」) · text/15-ch14.txt:1143(搜「这种思想被应用在变分自编码器中」)
采样法与 π第14章 概率图模型text/15-ch14.txt:1165(搜「蒙特卡罗方法(Monte Carlo」) · text/15-ch14.txt:1188(搜「圆周率」) · text/15-ch14.txt:1182(搜「大数定律」)
逆变换与难点第14章 概率图模型text/15-ch14.txt:1201(搜「逆函数」) · text/15-ch14.txt:1207(搜「难以计算」)
拒绝采样第14章 概率图模型text/15-ch14.txt:1217(搜「拒绝采样(Rejection Sampling」) · text/15-ch14.txt:1221(搜「提议分布(Proposal」) · text/15-ch14.txt:1246(搜「接受概率」) · text/15-ch14.txt:1253(搜「采样效率」) · text/15-ch14.txt:1258(搜「迅速下降」)
重要性采样第14章 概率图模型text/15-ch14.txt:1293(搜「重要性采样(Importance Sampling」) · text/15-ch14.txt:1293(搜「重要性权重」)
MCMC第14章 概率图模型text/15-ch14.txt:1331(搜「马尔可夫链蒙特卡罗(Markov Chain Monte Carlo」) · text/15-ch14.txt:1342(搜「平稳分布为」) · text/15-ch14.txt:1348(搜「预烧期(Burn-in Period」) · text/15-ch14.txt:1333(搜「相关性」)
MH 与 Metropolis第14章 概率图模型text/15-ch14.txt:1354(搜「Metropolis-Hastings 算法」) · text/15-ch14.txt:1366(搜「(14.107)」) · text/15-ch14.txt:1402(搜「细致平稳条件」) · text/15-ch14.txt:1441(搜「(14.115)」)
吉布斯采样第14章 概率图模型text/15-ch14.txt:1447(搜「吉布斯采样(Gibbs Sampling」) · text/15-ch14.txt:1449(搜「全条件概率(Full Conditional」) · text/15-ch14.txt:1450(搜「接受率为」) · text/15-ch14.txt:1500(搜「细致平稳条件」)

Footnotes

  1. 出处:「第14章 概率图模型」第 851 至 864 段(text/15-ch14.txt:852,搜「推断(Inference)是指在观测到」; text/15-ch14.txt:863,搜「边际概率分布问题」),式(14.67)-(14.68)。

  2. 出处:「第14章 概率图模型」第 870 至 892 段(text/15-ch14.txt:880,搜「次加法以及」; text/15-ch14.txt:882,搜「分配律」;text/15-ch14.txt:891,搜「次乘法」),式(14.69)-(14.71)。 2

  3. 出处:「第14章 概率图模型」第 892 至 897 段(text/15-ch14.txt:894,搜「消除顺序密切相关」; text/15-ch14.txt:894,搜「消除顺序」)。

  4. 出处:「第14章 概率图模型」第 903 至 905 段(text/15-ch14.txt:903,搜「很多重复的计算」); 顺序难解的坦白见第 893 至 894 段(text/15-ch14.txt:894,搜「密切相关」)。 2

  5. 出处:「第14章 概率图模型」第 907 至 911 段(text/15-ch14.txt:908,搜「信念传播(Belief Propagation」; text/15-ch14.txt:910,搜「消息(Message」)。

  6. 出处:「第14章 概率图模型」第 955 至 966 段(text/15-ch14.txt:955,搜「(14.77)」; text/15-ch14.txt:959,搜「(14.78)」),式(14.77)-(14.79)。 2

  7. 出处:「第14章 概率图模型」第 967 至 982 段(text/15-ch14.txt:968,搜「𝑂(𝑇 𝐾 2」; text/15-ch14.txt:968,搜「不需要将消息」),式(14.80)。

  8. 出处:「第14章 概率图模型」第 983 至 996 段(text/15-ch14.txt:989,搜「叶子节点到根节点」; text/15-ch14.txt:995,搜「联合树算法(Junction Tree」)。

  9. 出处:「第14章 概率图模型」第 998 至 1019 段(text/15-ch14.txt:1004,搜「环路信念传播」; text/15-ch14.txt:1005,搜「反复传递」;text/15-ch14.txt:1006,搜「不能」)。 2

  10. 出处:「第14章 概率图模型」第 1046 至 1076 段(text/15-ch14.txt:1052,搜「(14.82)」; text/15-ch14.txt:1069,搜「(14.84)」;text/15-ch14.txt:1075,搜「最大化证据下界」), 式(14.82)-(14.85)。 2

  11. 出处:「第14章 概率图模型」第 1063 至 1065 段(text/15-ch14.txt:1064,搜「扩展版」)。

  12. 出处:「第14章 概率图模型」第 1077 至 1085 段(text/15-ch14.txt:1078,搜「平均场(mean-field」), 式(14.86)。

  13. 出处:「第14章 概率图模型」第 1097 至 1132 段(text/15-ch14.txt:1118,搜「先优化」; text/15-ch14.txt:1126,搜「(14.94)」;text/15-ch14.txt:1130,搜「坐标上升法」; text/15-ch14.txt:1131,搜「单调改进」),式(14.90)-(14.94)。 2

  14. 出处:「第14章 概率图模型」第 1133 至 1139 段(text/15-ch14.txt:1134,搜「随机变分推断」; text/15-ch14.txt:1137,搜「摊销变分推断」;text/15-ch14.txt:1139,搜「核心思想」)。 2

  15. 出处:「第14章 概率图模型」第 1140 至 1144 段(text/15-ch14.txt:1141,搜「比较简单的分布」; text/15-ch14.txt:1143,搜「这种思想被应用在变分自编码器中」)。 2

  16. 出处:「第14章 概率图模型」第 1146 至 1187 段(text/15-ch14.txt:1159,搜「采样法来近似计算」; text/15-ch14.txt:1179,搜「(14.96)」;text/15-ch14.txt:1182,搜「大数定律」),式(14.95)-(14.97)。

  17. 出处:「第14章 概率图模型」第 1188 至 1194 段(text/15-ch14.txt:1188,搜「圆周率」)。

  18. 出处:「第14章 概率图模型」第 1195 至 1214 段(text/15-ch14.txt:1201,搜「逆函数」; text/15-ch14.txt:1207,搜「难以计算」;text/15-ch14.txt:1108,搜「未归一化」)。

  19. 出处:「第14章 概率图模型」第 1216 至 1252 段(text/15-ch14.txt:1221,搜「提议分布(Proposal」; text/15-ch14.txt:1246,搜「接受概率」),式(14.98)。

  20. 出处:「第14章 概率图模型」第 1253 至 1258 段(text/15-ch14.txt:1253,搜「采样效率」; text/15-ch14.txt:1258,搜「迅速下降」)。

  21. 出处:「第14章 概率图模型」第 1275 至 1326 段(text/15-ch14.txt:1293,搜「重要性权重」; text/15-ch14.txt:1299,搜「未归一化」),式(14.99)-(14.106)。

  22. 出处:「第14章 概率图模型」第 1329 至 1333 段(text/15-ch14.txt:1330,搜「维数灾难」; text/15-ch14.txt:1331,搜「迅速降低」)。 2

  23. 出处:「第14章 概率图模型」第 1334 至 1346 段(text/15-ch14.txt:265,搜「马尔可夫链」; text/15-ch14.txt:1342,搜「平稳分布为」)。

  24. 出处:「第14章 概率图模型」第 1347 至 1351 段(text/15-ch14.txt:1348,搜「预烧期(Burn-in Period」; text/15-ch14.txt:1350,搜「自相关」;text/15-ch14.txt:1351,搜「有效样本量」)。 2

  25. 出处:「第14章 概率图模型」第 1353 至 1433 段(text/15-ch14.txt:1217,搜「接受」; text/15-ch14.txt:1366,搜「(14.107)」;text/15-ch14.txt:1402,搜「细致平稳条件」), 式(14.107)-(14.114)。 2

  26. 出处:「第14章 概率图模型」第 1435 至 1444 段(text/15-ch14.txt:1436,搜「对称」; text/15-ch14.txt:1441,搜「(14.115)」)。

  27. 出处:「第14章 概率图模型」第 1446 至 1503 段(text/15-ch14.txt:1447,搜「吉布斯采样(Gibbs Sampling」; text/15-ch14.txt:1449,搜「全条件概率(Full Conditional」; text/15-ch14.txt:1450,搜「接受率为」;text/15-ch14.txt:1458,搜「任意的顺序」), 式(14.116)-(14.125)。 2