隐变量模型与序列推断:从 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)$,从而构成联合分布:

$$p(\mathbf{X}, \mathbf{Z} \mid \theta) = p(\mathbf{Z} \mid \theta) p(\mathbf{X} \mid \mathbf{Z}, \theta)$$

更重要的是,在统计学习中,我们优化的终极目标是最大化观测数据出现的概率(即边缘似然)。由于我们无法观测到 $\mathbf{Z}$,必须利用全概率公式将联合分布中所有可能的 $\mathbf{Z}$ 积分掉:

$$p(\mathbf{X} \mid \theta) = \int p(\mathbf{X}, \mathbf{Z} \mid \theta) \, d\mathbf{Z} = \int p(\mathbf{Z} \mid \theta) p(\mathbf{X} \mid \mathbf{Z}, \theta) \, d\mathbf{Z}$$

因此,联合分布 $p(\mathbf{X}, \mathbf{Z} \mid \theta)$ 是连接底层生成机制与最终优化目标的不可或缺的桥梁。给定观测数据,我们希望找到参数 $\theta$ 使得观测数据的边缘分布(亦称为证据,evidence)最大化,即求:

$$\mathcal{L}(\theta) = \log p(\mathbf{X} \mid \theta) = \log \int p(\mathbf{X}, \mathbf{Z} \mid \theta) \, d\mathbf{Z}. \tag{1}$$

直接对 $\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)$ 改写为:

$$\log p(\mathbf{X} \mid \theta) = \log \int \frac{p(\mathbf{X}, \mathbf{Z} \mid \theta)}{q(\mathbf{Z})} q(\mathbf{Z}) \, d\mathbf{Z}. \tag{2}$$

视 $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) 式右侧,得到:

$$\log p(\mathbf{X} \mid \theta) \ge \int q(\mathbf{Z}) \log \frac{p(\mathbf{X}, \mathbf{Z} \mid \theta)}{q(\mathbf{Z})} \, d\mathbf{Z}. \tag{3}$$

不等式右侧即称为证据下界,记作 $\text{ELBO}(q, \theta)$:

$$\text{ELBO}(q, \theta) := \mathbb{E}_{q(\mathbf{Z})} \bigl[ \log p(\mathbf{X}, \mathbf{Z} \mid \theta) - \log q(\mathbf{Z}) \bigr]. \tag{4}$$

利用贝叶斯公式,可以进一步推导出对数似然与 ELBO 之间的恒等关系(详细推导见附录 A):

$$\log p(\mathbf{X} \mid \theta) = \text{ELBO}(q, \theta) + \text{KL}\bigl(q(\mathbf{Z}) \,\|\, p(\mathbf{Z} \mid \mathbf{X}, \theta)\bigr). \tag{5}$$

其中 $\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$,即执行坐标上升。

  1. 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)})$。
  2. 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}$。

以上过程清晰地展示了 EM 在具体模型中的交替计算模式。

变分推断的衔接:如果真实后验 $p(\mathbf{Z} \mid \mathbf{X}, \theta)$ 无法精确计算,E 步的最优 $q$ 便无法达到。此时我们可限制 $q$ 属于某个参数化分布族 $q_\phi(\mathbf{Z} \mid \mathbf{X})$,并通过梯度优化变分参数 $\phi$ 使 KL 散度尽可能小。这就是变分推断的思想,也是后续模块中变分自编码器的数学前身。