资讯详情

变分推断统一框架:置信传播、平均场与线性规划松弛的同一性

📅 2026/10/16 11:42:28 | 华诺云谱 👁 阅读
变分推断统一框架:置信传播、平均场与线性规划松弛的同一性
简介概率图模型、指数族与变分推断是机器学习与统计建模中的三大核心主题这份PDF正是围绕它们展开的经典综述。资料面向机器学习和统计学研究者、高年级学生及工程实践者系统梳理了概率图模型如何通过图结构刻画变量依赖关系指数族的共轭对偶性质如何联系累积函数与熵以及变分推断如何将似然、边际概率和最大后验配置问题转化为近似优化。内容还覆盖sum-product、平均场、期望传播、最大积与线性规划松弛等主流算法并给出统一视角。资源包为1个PDF文件约2.06MB便于离线阅读与标注。该文档源自Wainwright与Jordan发表于Foundations and Trends in Machine Learning的论文学术价值较高。目前已有235人学习/下载适合希望深入理解图模型推断原理、建立算法统一框架的读者。1. 变分推断的三种长相为什么置信传播、平均场和线性规划松弛说的是同一件事同一个概率图模型上的推断问题置信传播不保证收敛却常常准得离谱平均场保证收敛却可能偏得离谱线性规划松弛给出上界但解是「伪概率」——三种长相完全不同的方法竟然出自同一个变分原理。在环状图上和积算法像在「传播信念」平均场像「把邻居换成期望值」LP 松弛像「把离散集合变成多面体」。这份 305 页的综述把三者整齐地摆进同一个优化框架求边缘概率或配分函数等价于极大化「线性项 熵」。每一种推断算法都是对这个优化问题的某个松弛或某种求解策略。搞懂这条主线比记住十个算法公式更有用——你能看清每个方法的代价和盲区来自哪里这是理解概率图模型推断的底层钥匙。2. 图模型与指数族因子分解如何变成凸优化2.1 有向与无向两种因子分解同一个计算难点图模型的基本假设只有一条全局分布可以拆成局部函数的乘积。有向无环图下每个节点只依赖它的父节点联合分布写成条件概率的连乘有向图模型 p(x_1, ..., x_m) ∏_{s∈V} p(x_s | x_{π(s)})这里每个局部函数都是归一化的条件概率乘积天然是一个概率分布。无向图模型则不同局部函数是定义在团上的势函数只要求非负不要求归一化所以分布要额外除以配分函数无向图模型 p(x) (1/Z) ∏_{c∈C} ψ_c(x_c) Z ∫ ∏_{c∈C} ψ_c(x_c) dx有向与无向是同一个形式化框架下的两种语法各自的归结点却惊人一致一切计算困难最后都压在 Z 身上。计算任意边缘概率 p(x_s)需要把其他变量积分掉分子分母都带着 Z计算似然本质上是在算 Z或其对数。一位合格的图模型使用者应该把「配分函数难算」当作所有后续讨论的公理这正是这份综述开篇反复强调的计算边缘概率和计算模式这些具体问题最好放到统一框架里看而不是为每个模型各写一套递归。维度有向图模型DAG无向图模型MRF局部函数条件概率 p(x_s | x_{π(s)})势函数 ψ_c(x_c)归一化局部自动归一化需要全局配分函数 Z条件独立表达d-分离图分离典型代表隐马尔可夫模型、贝叶斯网络Ising 模型、Potts 模型推断复杂度由树宽决定由树宽决定复杂度归一到树宽是图模型最重要的理论结论之一。树宽小的时候可以靠变量消元或团树算法精确求解消息在团树上来回传递一次就完成全部边缘计算树宽一大团的大小指数增长精确方法直接失守。这份综述给的方法是另一条路不去回避 Z而是构造 Z 的等价优化问题再对这个优化问题做各种近似——这就是变分方法。理解这一点就能理解为什么作者把平均场、置信传播、线性规划松弛这些算法放在同一面旗帜下。2.2 指数族登场把团势函数统一成线性形式无向图模型的势函数看起来只是「随便一个非负函数」但大量的实际模型——高斯分布、Ising 模型、Potts 模型、多项分布——都属于指数族。指数族的标准形式把密度写成一个指数函数其中参数与充分统计量的内积是线性的指数族 p(x; θ) exp( ⟨θ, φ(x)⟩ − A(θ) ) A(θ) log ∫ exp(⟨θ, φ(x)⟩) ν(dx) 对数配分函数这里 θ 是自然参数φ(x) 是充分统计量向量ν 是基测度。把无向图模型的每个团势函数写成 log ψ_c(x_c) ⟨θ_c, φ_c(x_c)⟩整个 MRF 就落入指数族框架。最典型的例子是 Ising 模型二元变量 x_s ∈ {0,1}节点偏置 θ_s 乘 x_s边耦合 θ_st 乘 x_s x_t。x_s x_t 这个乘积是对变量取值的非线性函数但一旦被放进充分统计量 φ(x)密度对参数 θ 的依赖就变成线性的——这是指数族最关键的魔法把模型对参数的复杂依赖吸收进统计量换来密度函数在自然参数下良好的凸结构。为什么凸性如此重要因为凸函数有唯一的对偶、有全局最优、有成熟的优化算法。指数族的对数配分函数 A(θ) 是凸函数它的梯度恰好是充分统计量的期望二阶导是协方差矩阵所以梯度映射 θ → μ 是严格单调的。换句话说指数族内部天然存在一套「参数配分函数」和「矩空间」之间的对偶机制这套机制正是变分推断的数学土壤。作者在综述里花整整一节讲指数族不是因为它是一个漂亮的分布族而是因为它把「图模型推断」这个计算问题映射成「凸分析」里的对偶问题后者有大量现成的数学工具可以用。2.3 一切推断都卡在同一个函数上看指数族的性质就会发现图模型里所有常见任务最终都是在对 A(θ) 做文章。求似然需要计算 log p(x;θ) ⟨θ,φ(x)⟩ − A(θ)求边缘概率利用 ∇A(θ) E_p[φ(X)]边缘分布就藏在梯度里做最大似然估计解 ∇A(θ) φ(x̄) 即可。甚至求最大后验模式也常借助 A 的凸性做对偶变换。可以说推断问题被彻底压缩成一个问题算出 A(θ) 或者它的梯度。麻烦在于 A(θ) 的定义是一个高维积分或高维求和。对 m 个离散变量每个变量 r 个取值求和项数是 r^m指数爆炸。树宽小的图可以用消元顺序把求和拆开复用在中间结果树宽大的图没有任何精确办法能在多项式时间内完成。MCMC 的做法是用随机采样去逼近积分变分方法的做法完全不同——它先把 A(θ) 改写成一个优化问题的最大值然后通过限制优化范围或替换目标函数来获得可计算的近似。下一章要拆解的就是这个改写为什么成立。3. 共轭对偶为什么求积分能变成求最大值3.1 对数配分函数的孪生兄弟共轭函数与熵凸函数都有 Fenchel 共轭——把函数上的每一个点映射成一个斜率支撑线原函数就等于所有支撑线上包络的最大值。对 A(θ) 做共轭变换共轭函数 A*(μ) sup_θ { ⟨θ, μ⟩ − A(θ) } 原函数恢复Fenchel-Moreau 对偶 A(θ) sup_μ { ⟨θ, μ⟩ − A*(μ) }对指数族来说这个抽象的凸分析结论有非常具体的统计含义。A*(μ) 在矩参数 μ 处的值恰好等于对应指数族分布的负熵而 sup_μ 中 μ 的取值范围是「某个分布能实现的充分统计量期望」的集合称为边缘多面体marginal polytopeM。于是对数配分函数可以改写成一个不涉及积分的变分表示变分表示 A(θ) sup_{q} { E_q[⟨θ, φ(X)⟩] H(q) }其中 sup 跑遍所有分布 qH(q) 是熵。用变分法求这个优化问题的欧拉-拉格朗日方程最优解是 q*(x) ∝ exp(⟨θ,φ(x)⟩)恰好就是目标分布本身带回原式左右两边严格相等。也就是说这个变分表示不是近似而是恒等变形——把「算积分」等价地换成了「优化一个泛函」。我一般会这么理解这个等价性指数族分布的密度 能量 − 对数配分函数而熵是「分布的信息量」变分表示说的就是「找一个分布让它对能量的期望尽量大、同时熵也尽量大」两者此消彼长的平衡点正是玻尔兹曼分布。这跟统计物理里的自由能极小化是同一个原理只不过换了统计学的语言。变分表示给出了一个统一视角但它本身并没有让计算变简单——sup 跑遍所有分布可行域比离散配置空间还大。所有近似推断算法本质上都是在回答同一个问题如何对这个 sup 做妥协。妥协方向分为两类一类改目标函数把熵换成更容易算的近似熵另一类改可行域把分布集合限制到某个小子集更常见的是两者同时改。后面会看到平均场改可行域Bethe 近似两个都改。提示这里的 ELBO 下界性质可以顺手得到。对任意 qJensen 不等式给出 A(θ) ≥ E_q[⟨θ,φ⟩] H(q)差值为 KL(q || p)。所以在贝叶斯推断中ELBO log p(D) − KL(q || p)最大化 ELBO 就是在最小化 KL 散度。3.2 两个关键几何对象边缘多面体与局部一致多面体变分表示里的 q 是任意分布真正限制几何性质的是充分统计量的期望集合 M。对离散图模型φ(x) 通常取各团取值的指示函数此时 M 是一个多面体——顶点对应系统每个可能的全局配置的 φ 值凸包填满所有「可实现」的矩向量。M 的形状直接决定精确推断的难度熵函数在 M 上是凹的最大化目标是凹函数在凸集上的最大值这本来是个良性凸问题可 M 的顶点数随变量数指数增长描述它本身就很难。所以近似推断的自然出路是找一个比 M 更容易描述、又尽量接近 M 的集合。最经典的替代是局部一致多面体 LOCAL(G)——它不要求全局配置存在只要求每条边、每个团上的伪边缘互相一致局部一致多面体 LOCAL(G) { τ ≥ 0 : Σ_{x_c} τ_c(x_c) 1, 对每个团 c Σ_{x_c\{s}} τ_c(x_c) τ_s(x_s), 对每条边/节点关联 }LOCAL(G) 的约束数量是多项式级别很容易描述和投影。在树状图上 LOCAL(G) M两者完全重合在环状图上 LOCAL(G) 严格大于 M多出来的部分就是「伪边缘」——各局部边缘自洽但不存在一个全局分布同时生成它们。这个集合上的优化就是置信传播和 LP 松弛的公共底盘消息传递在 LOCAL(G) 上找驻点LP 松弛在 LOCAL(G) 上做线性最大化。理解了这个几何差异就能解释一个反直觉现象为什么带环的图上置信传播经常给出很合理的边缘估计却永远拿不到「全局配置概率」——因为它的答案可能落在根本没有全局分布对应的伪矩上。3.3 变分与 MCMC随机逼近与确定性优化的分野讨论变分方法时人们总习惯把它放在 MCMC 的对立面。这两种方法确实有深刻的共同根源——它们都诞生于统计物理。MCMC 对应的是 Metropolis 式的随机游走构造一条马尔可夫链让它的平稳分布等于目标后验然后用样本均值逼近期望。变分对应的是平均场式的确定性近似直接选一个参数化分布族在族内做优化逼近目标。两者的误差来源也完全不同MCMC 有偏但渐进无偏变异分有偏且偏置由近似族的表达能力决定但方差小、速度快。工程上的选择标准我一般这么把握如果后验是单峰、维度中等变分方法通常又快又稳如果后验多峰、链容易在不同模式之间切换困难变分方法会把多峰压成单峰这时 MCMC 反而更诚实。这个分野不是「谁替代谁」而是互补——综述的立场也是如此变分方法不是 MCMC 的替代品而是一类补充的近似推断方法论。实际项目中常见的组合拳是先用变分方法快速定位高概率区域再用 MCMC 在该区域做精细采样能省掉大量 burn-in 试错成本。4. 近似变分原理Bethe、平均场与矩匹配的血缘关系4.1 Bethe 近似与和积算法树上是精确的环上为什么能用把精确变分表示写成两个对象的组合——一个线性项乘以 θ一个熵函数 H(q)可行域 M。Bethe 近似的做法是对两个对象同时下刀熵函数换成 Bethe 熵用各团边缘熵的加权和来近似全局熵可行域从 M 换成 LOCAL(G)。对成对 MRFBethe 熵长这样Bethe 熵 H_B(μ) Σ_{(s,t)∈E} H(μ_st) − Σ_{s∈V} (deg(s) − 1) H(μ_s)这个公式的直观含义是把每条边上的联合熵都算一遍但每条边被两端的节点各计一次所以需要减去节点的重复贡献用 (deg(s)−1) 做权重修正。在树上这个修正恰好精确成立——全局熵就等于边的熵之和减去节点的多余计数在环上它是近似而且是没有任何界的近似。Bethe 变分问题是在 LOCAL(G) 上极大化 ⟨θ, μ⟩ H_B(μ)它的一阶最优性条件可以改写成一组定点方程正是和积算法的消息更新和积消息更新log 域 M_{s→t}(x_t) ← log Σ_{x_s} exp( θ_s(x_s) θ_st(x_s, x_t) Σ_{u∈N(s)\{t}} M_{u→s}(x_s) ) 节点边缘近似 b_s(x_s) ∝ exp( θ_s(x_s) Σ_{u∈N(s)} M_{u→s}(x_s) )消息更新就是一次「把邻居的信息收集起来、再传出去」的迭代。树上两轮消息传递即可精确收敛第一轮从叶子往根汇聚第二轮从根往叶子扩散每个节点最终收到的消息包含了全图的信息。这个过程对应团树算法在树上的一种特化Bethe 熵在树上等于真实熵所以结果是精确的。环上就微妙了。Bethe 变分问题本身仍然定义良好只是目标函数非凸可行域含有伪矩和积迭代是对这个非凸问题的坐标式定点迭代。这就是为什么环上的置信传播「不保证收敛却经常给出合理结果」——它确实在优化某个目标函数迭代振荡往往只是因为非凸目标有几个驻点而不是因为它没有目标。工程上把这种现象叫「玄学式可用」结果常常准但你不知道它哪一步开始偏。也正是这一点让 Bethe 近似成了理解环上消息传递的关键钥匙。4.2 平均场只换可行域不换目标函数如果想保留原始目标函数只在可行域上做文章那就是平均场方法。平均场的核心假设是后验分布可以完全分解平均场变分问题 max_{q(x)∏ q_s(x_s)} { E_q[⟨θ, φ(X)⟩] Σ_s H(q_s) } 定点方程成对 MRF 的更新 q_s(x_s) ∝ exp( θ_s(x_s) Σ_{t∈N(s)} E_{q_t}[ θ_st(x_s, x_t) ] )更新规则最直观的读法是每个变量面对邻居时不是看邻居的完整条件分布而是把邻居替换成它们各自的期望值。这也是「平均场」这个名字的由来——变量感受到的是邻居的平均状态。因为可行域是真实分布空间的子集最大值必然小于等于精确值所以平均场恒给出 log Z 的下界。这个下界性质在实际应用里非常重要拿它做模型证据估计至少方向不会反。代价是平均场对多峰分布的刻画能力非常弱。一个对称的双峰分布平均场只能选其中一座峰去逼近或者退化成两座峰中间的一个宽平台两种情况都会严重低估方差。它可以保持收敛但收敛到的定点未必是全局最优点不同初始化可能落在不同的峰上。把 Bethe 和平均场放在一起对比选择逻辑就非常清晰维度Bethe / 置信传播平均场近似对象熵 可行域同时近似只限制可行域能否给界环上无界保证恒为下界收敛性不保证常见振荡定点迭代通常收敛多峰刻画部分保留强制单峰实现成本消息传递易并行期望计算取决于模型结构典型场景信道编码、图像修复贝叶斯神经网络、主题模型4.3 期望传播与矩匹配消息传递家族的另一支期望传播EP走的是第三条路不直接改变分目标而是把图中难处理的因子逐个替换成容易归一化的指数族近似项用矩匹配来更新。EP 的更新逻辑是删除某个因子后得到「空壳后验」把近似因子加回去要求替换前后验的充分统计量期望相等——这就是矩匹配条件。当近似因子族足够灵活时EP 的定点条件可以退化成 BP 的消息更新两者的边界在「近似族是否完备」这一参数上连续变化。在贝叶斯推断中EP 的实用价值很高高斯过程分类、稀疏线性模型、隐变量模型的近似边缘计算EP 都在工程上验证了精度与速度的良好折中。它的坏处和 BP 一样——不保证收敛、不保证界而且因为矩匹配涉及全局归一化实现复杂度通常高于 BP。这里的启示是不要把这些算法当作彼此独立的「方法库」来记忆它们只是同一个变分原理在「目标」「可行域」「求解策略」三个旋钮上的不同旋钮位置。看到一篇新论文提出某个「XX 松弛」时只要识别出它在变分表示的哪个坐标上动了刀就抓住了它的本质。5. 实用避坑收敛、下界与「精确」的幻觉下面的几条坑全部来自实际跑模型时的血泪经验而不是理论家纸上谈兵。每一条都按「现象 → 原因 → 解决」展开方便你在自己的项目里对照排查。5.1 置信传播不收敛但结果看起来挺合理现象在网格或带环图上跑和积算法消息更新几百轮不收敛边缘估计在两次相邻迭代之间来回摆动但把结果和穷举或采样对比误差却不大。很多人在这一步犹豫这结果到底能不能用原因环上的 BP 定点是 Bethe 自由能的驻点而 Bethe 自由能非凸、消息迭代映射在环上不是压缩映射迭代自然可能绕定点振荡。结果「合理」是因为定点本身携带了全局结构的有效信息——Bethe 近似只是在熵和可行域上做了近似并没有完全破坏依赖结构。解决给消息更新加阻尼M_new (1−α)M_old αM_candidateα 取 0.10.5通常能压住振荡改用顺序更新每次更新完立刻用新消息也比并行更新更稳。同时监控 Bethe 自由能的变化曲线——真正的问题不是消息不收敛而是你不知道目标函数是否在下降。最后无论结果多好看都留一手交叉验证在环上故意裁掉几条边变成树对比树与环的结果差异差异大说明环结构在主导推断这时 BP 要谨慎使用。5.2 平均场下界太松模型比较直接翻车现象用平均场的 ELBO 做贝叶斯模型选择选出来的模型和用重要性采样、桥采样重新估计 log p(D) 的结果排序不一致甚至正负方向都反了。原因平均场强制后验完全分解严重低估后验方差KL(q||p) 这一项被系统性放大。下界的松紧程度还因模型而异——不同候选模型的 gap 不固定时在 ELBO 上做比较等于用一个变化的偏移量在比较真实值排序自然不可信。解决把 ELBO 当作粗筛工具而不是精确证据对进入最终候选名单的模型用退火重要采样或桥采样重新估计模型证据。另一方面同一组模型内部做相对比较时确保初始化一致、迭代步数一致减少数值噪声对排序的干扰。现实中我看见不少项目在平均场下界上直接调超参最后越调越偏根因就在这里。5.3 把树上的「精确」误当成环上的「精确」现象同一个模型在链状或树状子图上和积算法给出的边缘与精确解完全一致于是换到带环网格上继续用同样的实现把输出直接当精确后验用在下游决策没有做任何校验。原因树上 Bethe 熵等于全局熵、LOCAL(G) M 两个条件同时成立BP 才精确环上这两个等式同时失效。算法代码没变但数学上的「精确性」已经没了——这是最容易踩的坑因为输出形态完全一样没有任何报错。解决养成一个习惯凡是图里有环默认 BP 输出是近似解。上大模型之前先构造一个已知精确解的小规模环图比如 3×3 或 4×4 的 Ising 网格用团树穷举对拍一次把 BP 与精确解的误差记录在案作为后续更大模型的误差参考基线。5.4 消息初始化不同收敛位置不同现象同一组参数消息全初始化为均匀分布时收敛后边缘估计的一种结果随机初始化时得到明显不同的边缘估计差异有时超过 10%。原因Bethe 自由能非凸存在多个局部驻点。定点迭代从哪个初始点出发收敛到哪个驻点由初始位置决定。这是非凸优化的固有现象不是实现的 bug。解决多随机初始化跑若干次每次记录收敛时的 Bethe 自由能值取自由能最低的那一次作为结果。如果不同初始化的自由能差距很小但边缘差距很大说明目标函数对边缘不敏感——这时任何一次的边缘估计都不可全信需要引入其他证据比如采样或量化的误差条。5.5 把变分目标当损失函数做模型调参越调越偏现象在深度学习或概率模型的超参搜索里用 ELBO 当验证指标选出的超参在独立测试集上表现反而更差。原因ELBO 是下界而且不同超参下的 gap 不同。在「下界」上做最大化不等于在真实边际似然上做最大化超参改变模型结构时gap 的偏移也随之改变ELBO 的排序可能被 gap 主导而非被真实似然主导。解决调参时同时报告 ELBO 和一个独立上界比如凸松弛法给出的上界真值夹在两者之间。上下界区间重叠度越高结论越可信如果区间宽到失去参考意义就改用采样法做最终验证。这个方法会让模型选择从「单点猜测」变成「区间判断」虽然费事但能挡住最贵的翻车。6. 设计取舍凸松弛更「干净」为什么工程里还是消息传递的天下6.1 凸松弛的承诺与代价如果对变分表示的可行域下手直接换成 LOCAL(G) 并扔掉熵项就得到线性规划松弛在 LOCAL(G) 上最大化 ⟨θ, τ⟩。这个凸问题的好处是全局最优、与初始化无关、而且给出 log Z 的上界配合上界与平均场下界就能给真值圈定区间。环上的 max-product 定点恰好对应 LP 松弛的对偶条件——消息传递可以被看成是在求解 LP 对偶问题的块坐标上升这一点让两类方法的关系变得非常紧密。再往上走还有引入半正定矩矩阵约束的锥规划松弛它在边缘多面体上套了一层更紧的凸外壳给出的上界更紧但求解成本大幅度上升。凸松弛的代价也很明确解出的 τ 可能是伪矩不是任何真实分布的可实现边缘要把它变成可用的后验估计还得做 rounding 或投影。另一个问题是它没有对应轻量的消息更新实现工程上要动用通用凸优化求解器难以嵌入深度模型的反向传播。这就解释了为什么理论家偏爱凸松弛而工程师仍然首选 BP 和平均场——前者干净有保证后者灵巧可嵌入设计的取舍最终落回「保证 vs 成本」的天平上。6.2 我的使用习惯先划区间再做局部细化把这份综述的框架落到我的日常工作里最大的收获是「每种近似算法都要知道自己在放大哪部分误差」。从那以后我每次做贝叶斯模型比较都强制走一遍组合流程先跑一个凸松弛拿上界再跑一个平均场拿下界如果上下界互相打架就说明近似误差大到结论不可信停下来换表达力更强的近似如果上下界区间足够窄再跑置信传播做局部结构细化把消息传递的结果当作区间内的精细定位而不是独立真相。这份资源值得深挖的原因正是它把这种「区间 细化」的思维方式讲成了数学——所有算法共享同一套变分语言的坐标系。新手可以从平均场与 BP 的对比入手建立直感熟手则能在共轭对偶与多面体几何里找到已有系统的理论解释。希望帮到你。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑