第16章:深度学习的结构化概率模型
16.1 引言
深度学习中的一个核心挑战是表示复杂概率分布的能力。随着变量数量的增加,描述任意高维分布所需的参数数量呈指数增长,这使得直接建模变得不可行。结构化概率模型(Structured Probabilistic Models)是一类利用变量之间条件独立性来简化概率分布表示的模型,它们构成了现代深度学习许多进展的理论基础。
结构化概率模型,也称为图模型,使用图来表示随机变量之间的概率关系。图的节点代表随机变量,图的边代表变量之间的概率依赖关系。通过巧妙地利用条件独立性,这些模型能够以更紧凑的方式表示复杂的联合分布,使得推理和学习在计算上变得可行。
本书的前几版主要关注将神经网络作为函数逼近器,而在深度学习社区中引入图模型的观点帮助我们更好地理解正则化、推理和表示学习之间的联系。本章将从有向图模型开始,介绍贝叶斯网络和 plate notation,然后扩展到无向图模型如马尔可夫随机场(MRF),接着讨论各种推理算法(变量消除、信念传播、均值场和变分推理),以及学习方法(最大似然估计、EM算法和近似推理)。我们将探讨深度学习与结构化概率模型之间的深层联系,包括深度信念网络(DBN)、自回归网络(NADE)、变分自编码器(VAE)和生成对抗网络(GAN)。最后,我们将讨论图模型的规模化问题。
16.2 有向图模型
16.2.1 贝叶斯网络与有向无环图
有向图模型(Directed Graphical Models),又称贝叶斯网络(Bayesian Networks)或信念网络(Belief Networks),使用有向无环图(Directed Acyclic Graph, DAG)来表示随机变量之间的概率关系。在一个有向图中,如果存在一条从节点 \(u\) 指向节点 \(v\) 的边,我们就说节点 \(u\) 是节点 \(v\) 的父节点,节点 \(v\) 是节点 \(u\) 的子节点。一个有向图的拓扑顺序满足:如果存在从 \(u\) 指向 \(v\) 的边,则在拓扑顺序中 \(u\) 位于 \(v\) 之前,这保证了不存在循环。
给定一个有向图模型,其联合概率分布可以表示为链式法则的分解形式:
其中 \(\text{Pa}(x_i)\) 表示节点 \(x_i\) 的父节点集合,\(n\) 是变量的总数。这个分解利用了条件独立性:每个变量在其父节点给定的条件下独立于所有非后代节点。这是有向图模型的核心性质,称为局部条件独立性。
考虑一个简单的例子:假设我们有四个变量 \(\{\text{Symptom}, \text{Disease}, \text{Test}, \text{Exposure}\}\),它们之间的因果关系可以表示为一个有向图。如果 "Disease" 导致 "Symptom","Disease" 也影响 "Test" 的结果,而 "Exposure" 导致 "Disease",则联合分布可以分解为:
这个分解大大减少了表示联合分布所需的参数数量。如果每个变量有 \(K\) 个可能值(假设离散情况),原始的联合分布需要 \(K^4 - 1\) 个参数(归一化约束下),而利用图结构后,参数数量减少为 \((K-1) + (K-1)K + (K-1)K + (K-1)K = 1 + 3K(K-1)\)。
16.2.2 Plate Notation(板块表示法)
Plate Notation 是一种简化大型图模型表示的速记法。当多个随机变量共享相同的条件分布时,我们使用一个矩形框(称为 "plate")将这些变量包围起来,框的角落标注重复的数量。
假设我们有 \(N\) 个独立同分布的观测值 \(\mathbf{x} = \{x_1, x_2, \ldots, x_N\}\),每个观测值依赖于一个共享的参数 \(\theta\)。使用标准表示法,我们需要为每个 \(x_i\) 绘制一个节点以及从 \(\theta\) 指向每个 \(x_i\) 的边。使用 plate notation,我们可以绘制一个包含 \(N\) 个变量 \(x_i\) 的 plate,并在 plate 的角落标注 \(N\),同时在 plate 外绘制一个单独的节点 \(\theta\),从 \(\theta\) 到 plate 画一条边即可。
嵌套 plate 是另一个强大的概念:考虑一个层次模型,其中我们有 \(M\) 个组,每组有 \(N\) 个观测值,且组级别的参数 \(\phi\) 决定组内参数 \(\theta_m\) 的分布,后者又决定观测值 \(x_{m,n}\) 的分布。这可以通过嵌套的 plate 来表示。
16.2.3 条件独立性与 D-分离
有向图模型中的条件独立性可以通过 D-分离(D-Separation)的概念来精确描述。D-分离提供了一种在图中判定条件独立性的图论方法。
给定三个不相交的节点集合 \(\mathbf{A}\)、\(\mathbf{B}\) 和 \(\mathbf{C}\),我们说 \(\mathbf{A}\) 和 \(\mathbf{B}\) 在给定 \(\mathbf{C}\) 的条件下是 D-分离的,当且仅当 \(\mathbf{C}\) 阻断了 \(\mathbf{A}\) 和 \(\mathbf{B}\) 之间的每一条路径。这里"路径"指的是连接两个节点的一系列相邻边,不考虑方向。
存在两种基本的阻断模式:
-
顺序阻断(Chain):\(\mathbf{A} \rightarrow \mathbf{X} \rightarrow \mathbf{B}\),其中 \(\mathbf{X}\) 是观察节点。在这种情况下,\(\mathbf{A}\) 和 \(\mathbf{B}\) 在 \(\mathbf{X}\) 给定时条件独立,表示为 \(\mathbf{A} \perp \mathbf{B} \mid \mathbf{X}\)。
-
叉式阻断(Fork):\(\mathbf{A} \leftarrow \mathbf{X} \rightarrow \mathbf{B}\),其中 \(\mathbf{X}\) 是观察节点。同样有 \(\mathbf{A} \perp \mathbf{B} \mid \mathbf{X}\)。
-
碰撞阻断(Collider):\(\mathbf{A} \rightarrow \mathbf{X} \leftarrow \mathbf{B}\),其中 \(\mathbf{X}\) 是未观察节点。在这种情况下,\(\mathbf{A}\) 和 \(\mathbf{B}\) 是独立的,但当 \(\mathbf{X}\) 被观察时,它们会变得相关。形式上:未观察时 \(\mathbf{A} \not\perp \mathbf{B}\),但给定 \(\mathbf{X}\) 时 \(\mathbf{A} \perp \mathbf{B} \mid \mathbf{X}\)。
D-分离是理解有向图模型中信息流动和条件独立性的关键工具,它允许我们在进行推理之前确定哪些变量之间的关系可以通过条件化来切断。
16.3 无向图模型
16.3.1 马尔可夫随机场与吉布斯分布
无向图模型(Undirected Graphical Models),又称马尔可夫随机场(Markov Random Fields, MRF)或马尔可夫网络(Markov Networks),使用无向图来表示随机变量之间的概率关系。与有向图不同,无向图不存在天然的因子分解方向,因为概率分布必须满足归一化要求——联合概率在整个空间上的积分(或求和)必须等于1。
在无向图模型中,如果两个节点之间没有边相连,则它们在给定其他所有节点的条件下是条件独立的。形式上,对于节点 \(x_i\) 和 \(x_j\),如果它们之间不存在路径连接它们与所有其他节点,则 \(x_i \perp x_j \mid \mathbf{x}_{-\{i,j\}}\)。
无向图的联合概率分布通常表示为吉布斯分布(Gibbs Distribution)的形式:
其中 \(\mathcal{C}\) 表示图中所有团(Clique)的集合,\(\phi_c(\mathbf{x}_c)\) 是定义在团 \(c\) 上的势函数(Potential Function),\(Z\) 是配分函数(Partition Function),确保概率分布归一化:
团是图中节点的一个子集,其中每一对节点之间都有边相连(即团是图的完全子图)。最大团(Maximal Clique)是不能再添加任何其他节点而保持团性质的团。利用最大团分解可以简化表示:如果 \(\mathcal{C}^+\) 表示所有最大团的集合,则:
16.3.2 因子图
因子图(Factor Graph)是另一种表示概率分布的图模型,它显式地将因子(势函数)与变量区分开来。在因子图中,存在两种类型的节点:变量节点(用圆圈表示)和因子节点(用方块表示)。如果一个因子 \(\phi_c\) 依赖于变量集合 \(\mathbf{x}_c\),则在因子图中会有一条边连接因子节点 \(\phi_c\) 和每个变量节点 \(x_i \in \mathbf{x}_c\)。
因子图的一个关键优势是它能够更清晰地表示分解结构,这对于消息传递算法(如信念传播)的实现特别有用。给定一个因子图,联合概率分布可以表示为:
其中 \(F\) 是因子节点的集合,\(\text{ne}(f)\) 是与因子 \(f\) 相连的变量节点集合。
16.4 推理算法
在图模型中进行推理(Inference)指的是计算某些变量的边缘概率分布或条件概率分布。由于精确推理在一般图模型上的复杂度是 NP 难的,我们需要使用近似推理方法。
16.4.1 变量消除法
变量消除(Variable Elimination, VE)是最基本的精确推理算法。其核心思想是利用条件独立性,通过动态规划的方式逐步消除变量,从而避免计算完整的联合分布。
考虑计算边缘概率 \(p(x_1)\),其中联合分布可以分解为 \(p(\mathbf{x}) = \prod_{i=1}^{n} \phi_i(\mathbf{x}_i)\)。变量消除算法选择一个变量顺序,然后依次对每个非目标变量进行求和消元:
具体来说,为了消除变量 \(x_k\),我们将其与所有涉及它的因子相乘,然后对 \(x_k\) 求和,得到一个新的势函数。这个新势函数替代了原来的因子,作为后续消除步骤的输入。
变量消除的时间复杂度取决于消除顺序和图的树宽(Treewidth)。对于一个有 \(n\) 个变量的图,最坏情况下复杂度为 \(O(n \cdot K^t)\),其中 \(K\) 是每个变量的取值数量,\(t\) 是图的树宽。对于树结构的图(树宽为1),时间复杂度为 \(O(n \cdot K^2)\)。
16.4.2 信念传播
信念传播(Belief Propagation, BP)算法,也称为和-积算法(Sum-Product Algorithm),是一种在树状图或因子图上进行精确推理的消息传递算法。BP 算法通过在图的节点之间传递消息(Messages)来计算边缘概率分布。
对于因子图上的一个变量节点 \(x\),其边缘概率可以通过消息传递来计算:
其中 \(\mu_{f \to x}(x)\) 是从因子节点 \(f\) 传递到变量节点 \(x\) 的消息。类似地,因子节点 \(f\) 传递给变量节点 \(x\) 的消息为:
在树状图上,BP 算法可以通过选择任意节点作为根,然后进行两轮消息传递(从叶节点到根节点,再从根节点到叶节点)来高效地计算所有边缘概率。复杂度为 \(O(n \cdot K^2)\)。
Loopy Belief Propagation(LBP)是将 BP 算法应用于一般图(可能包含环)的近似推理方法。由于图中存在环,消息传递可能不会收敛,但 LBP 在许多实际应用中表现出良好的经验性能。
16.4.3 均值场变分推理
均值场(Mean Field)方法是一种变分推理(Variational Inference)技术,它通过假设近似分布可以完全因式分解来近似真实的后验分布:
其中每个 \(q_i(x_i)\) 是关于变量 \(x_i\) 的边缘分布。均值场方法通过最小化近似分布 \(q(\mathbf{x})\) 与真实分布 \(p(\mathbf{x} \mid \mathbf{o})\) 之间的KL散度来找到最优的因式分解近似。
最小化 \(\text{KL}(q \| p)\) 等价于最大化变分下界(Evidence Lower Bound, ELBO):
利用完全因式分解的假设,均值场更新具有简洁的形式:
这意味着每个变量的最优边缘分布正比于其他变量期望下的对数条件概率的指数。均值场方法的优势在于其计算效率,但完全因式分解的假设可能过于强烈,导致对后验分布的近似不够准确。
16.4.4 变分推理概述
变分推理(Variational Inference)是一类通过优化来近似概率分布的方法。其核心思想是选择一个易于处理的分布族 \(\mathcal{Q}\),然后在这个族中寻找最接近真实分布 \(p\) 的近似分布 \(q^*\)。形式上:
其中 \(\mathcal{L}(q)\) 是前面定义的变分下界。变分推理的关键挑战包括:选择合适的近似分布族(如均值场、协方差矩阵结构等),以及优化方法(如坐标下降、梯度上升等)。
在深度学习中,变分推理与变分自编码器(VAE)等生成模型密切相关,VAE 使用神经网络来参数化变分近似分布。
16.5 学习
16.5.1 最大似然估计
最大似然估计(Maximum Likelihood Estimation, MLE)是学习图模型参数的基本原则。给定观测数据 \(\mathbf{D} = \{\mathbf{x}^{(1)}, \ldots, \mathbf{x}^{(M)}\}\),MLE 寻找使观测数据的联合概率最大化的参数 \(\theta\):
等价于最小化经验分布与模型分布之间的交叉熵(或最大化对数似然)。对于有向图模型,MLE 可以得到闭式解——每个节点的参数仅依赖于其父节点的观测统计量。对于无向图模型,MLE 需要计算配分函数的梯度,涉及难解的归一化常数。
16.5.2 EM 算法
期望最大化(Expectation-Maximization, EM)算法是处理隐变量模型参数估计的经典方法。在许多实际应用中,某些变量是不可观测的(隐变量),我们需要从未完全观测到的数据中学习模型参数。
EM 算法通过迭代进行两步交替优化:
-
E步(Expectation):给定当前参数 \(\theta^{\text{old}}\),计算隐变量的条件期望(或更一般地,计算完整数据的对数似然关于隐变量后验分布的期望): $$ Q(\theta \mid \theta^{\text{old}}) = \mathbb{E}_{p(\mathbf{z} \mid \mathbf{x}, \theta^{\text{old}})} [\log p(\mathbf{x}, \mathbf{z} \mid \theta)] $$
-
M步(Maximization):寻找使 \(Q\) 函数最大化的新参数: $$ \theta^{\text{new}} = \arg \max_\theta Q(\theta \mid \theta^{\text{old}}) $$
EM 算法保证每一步迭代都会增加(或保持)对数似然值,并最终收敛到(局部)最优解。在图模型中,E步对应于推理步骤(计算隐变量的边缘分布),M步对应于学习步骤(使用完全观测数据更新参数)。
16.5.3 近似推理与学习
由于精确推理在一般图模型上是 intractable 的,许多学习算法依赖于近似推理。近似推理在 E 步中替代精确计算,例如使用前面讨论的信念传播或变分推理方法。
伪似然(Pseudo-likelihood)是一种基于条件密度的近似学习方法。对于一个有向图模型,伪似然定义为:
伪似然避免了配分函数的计算,但每个条件密度仍然需要归一化。
得分匹配(Score Matching)是另一种避免归一化常数的方法,它通过匹配模型分布与数据分布的得分函数(对数密度的梯度)来学习参数。
16.6 深度学习与结构化概率模型的深层联系
16.6.1 深度信念网络
深度信念网络(Deep Belief Networks, DBN)是第一批成功训练深度神经网络的模型之一,由 Hinton 等人在2006年提出。DBN 是一个混合模型,由多层受限玻尔兹曼机(Restricted Boltzmann Machines, RBM)堆叠而成。
一个 DBN 包含一个顶层无向连接层(实际上是 RBM 层)和下面的有向层。具体来说,一个有 \(L\) 层的 DBN 可以看作 \(L-1\) 个 RBM 堆叠在一起,顶层 RBM 的顶部添加一个额外的有向层。更精确地,DBN 的联合分布可以表示为:
DBN 的训练采用贪心逐层预训练策略:首先训练第一个 RBM 来建模输入数据,然后固定该层的参数,将第一层的输出作为第二层的输入来训练第二个 RBM,以此类推。这种训练方法有效地解决了深层神经网络中梯度消失的问题。
16.6.2 NADE 与自回归模型
神经自回归密度估计器(Neural Autoregressive Density Estimator, NADE)是一种将自回归思想与神经网络相结合的概率模型。NADE 定义了一个明确的因式分解:
其中 \(\text{NN}_\theta(x_{1:i-1})_i\) 是一个神经网络的输出,表示在给定前 \(i-1\) 个变量的条件下,第 \(i\) 个变量的条件概率分布。NADE 的参数数量为 \(O(n \cdot h)\),其中 \(h\) 是隐藏层的大小,与输入维度呈线性关系(而非指数关系),这使得 NADE 能够高效地处理高维数据。
像素 CNN(PixelCNN)和像素 RNN(PixelRNN)是 NADE 的卷积和循环神经网络变体,它们使用空间掩码卷积或循环结构来保持自回归属性,同时利用深度学习中最新的技术来提高建模能力。
16.6.3 变分自编码器
变分自编码器(Variational Autoencoder, VAE)是一种结合了变分推理和神经网络的生成模型。VAE 假设数据 \(\mathbf{x}\) 由一个隐变量 \(\mathbf{z}\) 生成,隐变量服从标准正态先验 \(p(\mathbf{z}) = \mathcal{N}(\mathbf{0}, \mathbf{I})\)。
VAE 的生成模型定义为 \(p_\theta(\mathbf{x} \mid \mathbf{z}) = \mathcal{N}(\mathbf{x} \mid f_\theta(\mathbf{z}), \sigma^2 \mathbf{I})\),其中 \(f_\theta(\mathbf{z})\) 是一个神经网络(通常称为解码器或生成网络)。推理模型 \(q_\phi(\mathbf{z} \mid \mathbf{x})\)(通常称为编码器或识别网络)使用变分推理来近似真实的后验分布 \(p(\mathbf{z} \mid \mathbf{x})\)。
VAE 通过最大化变分下界(ELBO)来训练:
第一项是重构损失(类似重建误差),第二项是近似后验与先验之间的KL散度,起着正则化的作用。由于 VAE 的参数通过随机梯度变分贝叶斯(SGVB)方法进行优化,其中使用了重参数化技巧(Reparameterization Trick)来实现梯度反向传播。
16.6.4 生成对抗网络
生成对抗网络(Generative Adversarial Networks, GAN)采用了与 VAE 不同的生成建模方法。GAN 由两个神经网络组成:生成器 \(G\) 和判别器 \(D\),两者进行对抗性博弈。
生成器 \(G\) 从一个简单先验(如均匀噪声或正态噪声) \(\mathbf{z}\) 采样,尝试生成逼真的样本 \(G(\mathbf{z})\)。判别器 \(D\) 接收真实样本和生成样本,输出一个概率值来判断样本是真实的还是生成的。GAN 的训练目标是:
在训练过程中,判别器试图最大化区分真实样本和生成样本的能力,而生成器试图最小化判别器的性能。理论上,当达到纳什均衡时,生成器将学习到与数据分布相同的分布。
GAN 及其变体(如 DCGAN、WGAN、StyleGAN、BigGAN 等)已经成为生成模型领域的核心技术,在图像生成、文本生成、音频合成等领域取得了显著成果。
16.7 图模型的规模化
16.7.1 挑战与策略
将图模型规模化以处理大规模数据和大型模型是深度学习和概率推理领域的一个重要挑战。主要挑战包括:
-
计算复杂度:精确推理在一般图模型上是 NP 难的,随着变量数量的增加,复杂度呈指数增长。
-
存储需求:存储大型图的参数和中间结果可能超出内存容量。
-
通信开销:在分布式环境中,图节点之间的消息传递可能产生大量通信。
16.7.2 近似方法的工程实践
针对这些挑战,研究者们开发了多种近似方法和工程优化:
随机化方法:使用随机采样(如蒙特卡洛方法、重要性采样)来近似难以计算的和或积分。MCMC(马尔可夫链蒙特卡洛)方法,特别是 Gibbs 采样和 Metropolis-Hastings 算法,是最常用的随机近似推理方法。在深度学习中,随机梯度技术被广泛应用于大规模优化。
稀疏化技术:利用图的稀疏性——大多数变量只与少数其他变量直接相关。稀疏化可以显著降低计算和存储开销。稀疏注意力机制(如 Transformer 中的自注意力)可以被视为一种在运行时动态构建稀疏图结构的技术。
分布式与并行计算:将大型图分割成多个子图,分配到不同的计算节点上并行处理。图神经网络(GNN)通过消息传递的局部性实现了大规模图结构数据的可扩展学习。
低秩近似:利用矩阵/张量的低秩结构来近似配分函数或协方差矩阵。随机矩阵理论为理解大型系统的行为提供了工具。
深度学习框架的整合:现代深度学习框架(如 PyTorch、TensorFlow)提供了自动微分、GPU 加速和分布式训练功能,这些技术被广泛应用于神经图模型的训练,如 VAE、GAN、图神经网络等。通过将图模型嵌入到神经网络架构中,我们可以利用深度学习的优化技术和硬件加速来实现规模化。
公式汇总表
| 概念 | 公式 | 编号 |
|---|---|---|
| 有向图联合分布 | \(p(\mathbf{x}) = \prod_{i=1}^{n} p(x_i \mid \text{Pa}(x_i))\) | (16.1) |
| 无向图吉布斯分布 | \(p(\mathbf{x}) = \frac{1}{Z} \prod_{c \in \mathcal{C}} \phi_c(\mathbf{x}_c)\) | (16.2) |
| 配分函数 | \(Z = \sum_{\mathbf{x}} \prod_{c \in \mathcal{C}} \phi_c(\mathbf{x}_c)\) | (16.3) |
| 因子图分解 | \(p(\mathbf{x}) = \frac{1}{Z} \prod_{f \in F} \phi_f(\mathbf{x}_{\text{ne}(f)})\) | (16.4) |
| 变分下界 | \(\mathcal{L}(q) = \sum_{\mathbf{x}} q(\mathbf{x}) \log \frac{p(\mathbf{x}, \mathbf{o})}{q(\mathbf{x})}\) | (16.5) |
| 均值场更新 | \(\log q_i^*(x_i) \propto \mathbb{E}_{q_{-i}} [\log p(x_i \mid \mathbf{x}_{-i}, \mathbf{o})]\) | (16.6) |
| M步更新 | \(\theta^{\text{new}} = \arg \max_\theta Q(\theta \mid \theta^{\text{old}})\) | (16.7) |
| NADE 概率 | \(p(x) = \prod_{i=1}^{n} p(x_i \mid x_{1:i-1})\) | (16.8) |
| VAE 变分下界 | \(\mathcal{L}(\theta, \phi; \mathbf{x}) = \mathbb{E}_{q_\phi(\mathbf{z} \mid \mathbf{x})} [\log p_\theta(\mathbf{x} \mid \mathbf{z})] - \text{KL}(q_\phi(\mathbf{z} \mid \mathbf{x}) \| p(\mathbf{z}))\) | (16.9) |
| GAN 对抗目标 | \(\min_G \max_D \mathbb{E}_{\mathbf{x} \sim p_{\text{data}}} [\log D(\mathbf{x})] + \mathbb{E}_{\mathbf{z} \sim p(\mathbf{z})} [\log (1 - D(G(\mathbf{z})))]\) | (16.10) |
参考文献与延伸阅读
本章内容主要基于 Goodfellow、Bengio 和 Courville 所著《Deep Learning》第16章的框架,并参考了以下经典文献:
- Koller and Friedman, Probabilistic Graphical Models: Principles and Techniques, 2009
- Murphy, Machine Learning: A Probabilistic Perspective, 2012
- Hinton et al., "Deep Belief Networks", Science, 2006
- Kingma and Welling, "Auto-Encoding Variational Bayes", ICLR, 2014
- Goodfellow et al., "Generative Adversarial Networks", NIPS, 2014
- Larochelle and Murray, "The Neural Autoregressive Distribution Estimator", AISTATS, 2011
本章为《深度学习》第16章的中文笔记,涵盖结构化概率模型的基本概念、有向与无向模型、推理算法、学习方法,以及与深度学习的深层联系。