隐变量模型与序列推断:从 EM 到深度生成模型的统一视角
目录
- 引言
- 模块一:概率建模的基石——ELBO 与隐变量
- 模块二:序列模型与消息传递——HMM 的图视角
- 模块三:可微分推断——融入深度学习框架
- 模块四:神经参数化与生成模型
- 模块五:序列模型的结构分析与现代进展
- 模块六:流形几何与流模型视角的扩展
- 附录 A:ELBO 的严密推导与 EM 算法单调性证明
引言
期望最大化算法与隐马尔可夫模型(HMM)是概率统计与机器学习领域的两个经典支柱。传统教科书通常将它们分别讲述:EM 被视作含有缺失数据时的最大似然估计工具,而 HMM 则作为处理时间序列的概率模型,附带一套前向–后向递推公式。这种割裂的叙述方式,容易使读者在面对现代深度学习工具(如 PyTorch、变分自编码器、状态空间模型)时,难以察觉两者之间深层而优美的数学连贯性。
本教程试图打破这一壁垒。我们将以证据下界(ELBO)的坐标上升为核心线索,首先重新解释 EM 算法的原理与执行过程;然后将其推广至序列模型,阐述 HMM 如何通过因子图上的消息传递实现高效的精确推断,以及 Baum–Welch 算法如何成为 EM 在该模型上的一个实例。其后,我们将引入自动微分与可微分计算图的现代视角,展示这些经典算法如何平滑地延伸为变分自编码器(VAE)和现代状态空间模型。最后,我们将视角进一步拔高,探讨流形几何与流模型如何突破传统欧氏空间的假设,为 EM 与 HMM 赋予处理复杂结构数据的能力。全篇坚持严密的数学推导,避免跳跃性的省略,力求使读者在掌握经典算法精髓的同时,获得通向现代概率建模前沿的坚实桥梁。
模块一:概率建模的基石——ELBO 与隐变量
1.1 隐变量模型的基本设定
考虑一组观测数据 $\mathbf{X} = \{\mathbf{x}_1, \dots, \mathbf{x}_N\}$,其中每个 $\mathbf{x}_n$ 可以是标量、向量或更复杂的结构。我们假设这些数据的生成过程不仅依赖于模型参数 $\theta$,还受到一组不可观测的隐变量 $\mathbf{Z} = \{\mathbf{z}_1, \dots, \mathbf{z}_N\}$ 的影响。
这里一个自然的问题是:既然我们关心的是观测数据 $\mathbf{X}$,为什么不直接建模条件概率 $p(\mathbf{X} \mid \mathbf{Z}, \theta)$,而是要引入联合分布 $p(\mathbf{X}, \mathbf{Z} \mid \theta)$?原因在于 $\mathbf{Z}$ 是不可观测的。条件概率 $p(\mathbf{X} \mid \mathbf{Z}, \theta)$ 仅仅描述了"在已知隐变量 $\mathbf{Z}$ 的前提下,观测数据是如何生成的"这一物理机制,它本身是不完整的——我们并不知道 $\mathbf{Z}$ 服从什么分布。为了建立一个完整的生成模型,必须同时定义隐变量的先验分布 $p(\mathbf{Z} \mid \theta)$,从而构成联合分布:
更重要的是,在统计学习中,我们优化的终极目标是最大化观测数据出现的概率(即边缘似然)。由于我们无法观测到 $\mathbf{Z}$,必须利用全概率公式将联合分布中所有可能的 $\mathbf{Z}$ 积分掉:
因此,联合分布 $p(\mathbf{X}, \mathbf{Z} \mid \theta)$ 是连接底层生成机制与最终优化目标的不可或缺的桥梁。给定观测数据,我们希望找到参数 $\theta$ 使得观测数据的边缘分布(亦称为证据,evidence)最大化,即求:
直接对 $\mathcal{L}(\theta)$ 进行优化通常很困难,因为积分号出现在对数内部,且在高维空间中一般没有解析形式。
1.2 证据下界(ELBO)的推导
为了绕过积分的困难,我们引入一个关于隐变量的任意概率分布 $q(\mathbf{Z})$,它满足 $q(\mathbf{Z}) \ge 0$ 且 $\int q(\mathbf{Z}) \, d\mathbf{Z} = 1$。我们可以将 $\log p(\mathbf{X} \mid \theta)$ 改写为:
视 $Y = \frac{p(\mathbf{X}, \mathbf{Z} \mid \theta)}{q(\mathbf{Z})}$ 为随机变量,其期望是在分布 $q(\mathbf{Z})$ 下计算的。由于对数函数 $\log(\cdot)$ 是严格凹函数,根据 Jensen 不等式,对于任意随机变量 $Y$ 有 $\mathbb{E}[\log Y] \le \log \mathbb{E}[Y]$。将其应用于 (2) 式右侧,得到:
不等式右侧即称为证据下界,记作 $\text{ELBO}(q, \theta)$:
利用贝叶斯公式,可以进一步推导出对数似然与 ELBO 之间的恒等关系(详细推导见附录 A):
其中 $\text{KL}(\cdot \|\cdot)$ 表示 Kullback–Leibler 散度。由于 KL 散度恒非负,最大化 ELBO 等价于最小化近似后验 $q$ 与真实后验 $p(\mathbf{Z} \mid \mathbf{X}, \theta)$ 之间的 KL 散度。当 $q$ 恰好等于真实后验时,ELBO 紧贴对数似然。
1.3 EM 算法作为坐标上升
在经典 EM 算法中,我们交替地优化 ELBO 关于分布 $q$ 和参数 $\theta$,即执行坐标上升。
- E 步:固定当前参数 $\theta^{(t)}$,在全体概率分布中寻找 $q$ 使 ELBO 最大化。由 (5) 式,因为对数似然 $\log p(\mathbf{X} \mid \theta^{(t)})$ 在给定 $\theta^{(t)}$ 后为固定常数,最大化 ELBO 等价于将 KL 散度降至零,因此最优的 $q$ 就是真实后验:
$$q^{(t+1)}(\mathbf{Z}) = p(\mathbf{Z} \mid \mathbf{X}, \theta^{(t)}). \tag{6}$$此时 ELBO 等于 $\log p(\mathbf{X} \mid \theta^{(t)})$。
- M 步:固定 $q^{(t+1)}$,最大化 ELBO 以更新 $\theta$。由于 $q$ 固定,其熵项为常数,不影响极值点,因此:
$$\theta^{(t+1)} = \arg\max_{\theta} \mathbb{E}_{q^{(t+1)}(\mathbf{Z})} [\log p(\mathbf{X}, \mathbf{Z} \mid \theta)]. \tag{7}$$目标函数常记作 $Q(\theta, \theta^{(t)})$,称为完全数据对数似然的期望。在这一步中,模型同时学习到了"隐状态是如何分布的"(先验参数)以及"在特定隐状态下观测数据是如何生成的"(条件参数),这正是得益于联合分布 $p(\mathbf{X}, \mathbf{Z} \mid \theta)$ 的完整性。
EM 算法保证每次迭代后对数似然不降,即 $\mathcal{L}(\theta^{(t+1)}) \ge \mathcal{L}(\theta^{(t)})$。其证明的核心在于 ELBO 下界的紧致性与 M 步的坐标上升(严格证明见附录 A)。
示例:高斯混合模型
设每个数据点 $\mathbf{x}_n \in \mathbb{R}^D$ 由 $K$ 个高斯分布混合生成。隐变量 $z_n \in \{1,\dots,K\}$ 表示该点来自哪个成分。参数 $\theta = \{\pi_k, \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k\}_{k=1}^K$,其中混合系数 $\pi_k = p(z_n=k)$,且 $\sum_{k=1}^K \pi_k = 1$,各成分的均值向量和协方差矩阵为 $\boldsymbol{\mu}_k \in \mathbb{R}^D$ 和 $\boldsymbol{\Sigma}_k \in \mathbb{R}^{D \times D}$。
- E 步:计算每个点属于各成分的后验概率(责任度,responsibility):
$$\gamma_{nk} := p(z_n = k \mid \mathbf{x}_n, \theta^{(t)}) = \frac{\pi_k^{(t)} \mathcal{N}(\mathbf{x}_n \mid \boldsymbol{\mu}_k^{(t)}, \boldsymbol{\Sigma}_k^{(t)})}{\sum_{j=1}^K \pi_j^{(t)} \mathcal{N}(\mathbf{x}_n \mid \boldsymbol{\mu}_j^{(t)}, \boldsymbol{\Sigma}_j^{(t)})}. \tag{8}$$
- M 步:在责任度固定下,通过最大化期望得到解析解:
$$ \begin{aligned} \pi_k^{(t+1)} &= \frac{1}{N}\sum_{n=1}^N \gamma_{nk}, \\ \boldsymbol{\mu}_k^{(t+1)} &= \frac{\sum_{n=1}^N \gamma_{nk} \mathbf{x}_n}{\sum_{n=1}^N \gamma_{nk}}, \\ \boldsymbol{\Sigma}_k^{(t+1)} &= \frac{\sum_{n=1}^N \gamma_{nk} (\mathbf{x}_n - \boldsymbol{\mu}_k^{(t+1)})(\mathbf{x}_n - \boldsymbol{\mu}_k^{(t+1)})^\top}{\sum_{n=1}^N \gamma_{nk}}. \end{aligned} \tag{9} $$
以上过程清晰地展示了 EM 在具体模型中的交替计算模式。
变分推断的衔接:如果真实后验 $p(\mathbf{Z} \mid \mathbf{X}, \theta)$ 无法精确计算,E 步的最优 $q$ 便无法达到。此时我们可限制 $q$ 属于某个参数化分布族 $q_\phi(\mathbf{Z} \mid \mathbf{X})$,并通过梯度优化变分参数 $\phi$ 使 KL 散度尽可能小。这就是变分推断的思想,也是后续模块中变分自编码器的数学前身。