从 EM 算法 到 VAE

Lingfeng2026-03-22

从 EM 算法 到 VAE

1. 最大似然法

假设随机变量 的概率分布为 ,其中 是待估计的参数。如果我们观测到了一个数据 ,那么一个直观的想法是:选择使这个观测数据出现概率最大的参数。这就是最大似然法的核心思想

在实际场景中,我们通常会观测到多个独立同分布的数据 。此时,这些数据联合出现的概率(即似然函数)为

由于似然函数是连乘形式,不便于优化。因此我们通常取对数,将连乘转化为求和
于是参数估计变为

为什么我们选择最大化 而不是 ?除了计算上的便利,这还可以从信息论的视角来理解。

假设真实分布为 ,我们的模型分布为 。我们希望模型分布尽可能接近真实分布,即最小化 KL 散度

第一项与 无关,因此最小化 KL 散度等价于最大化 。而根据大数定律,当样本量足够大时,有

因此,最大化对数似然等价于最小化模型分布与真实分布之间的 KL 散度。

2. EM 算法

在实际问题中,我们经常遇到隐变量(latent variable)。隐变量是指那些真实存在但无法直接观测的随机变量。例如在高斯混合模型中,每个数据点来自哪个高斯分量就是一个隐变量——我们能观测到数据点本身,但不知道它属于哪个分量。

设观测变量为 ,隐变量为 ,两者的联合分布为 。此时似然函数为

这个积分通常很难直接计算。为了解决这个问题,我们引入一个变分分布 是我们对隐变量分布的一个"猜测"或"近似",我们可以自由选择和调整它。利用 ,我们可以将积分改写为期望形式,并使用 Jensen 不等式得到下界

这个下界被称为 ELBO(Evidence Lower Bound)。我们要最大化 ,可以通过最大化这个下界来实现。

根据 Jensen 不等式,当 为常数时取等号,即 。由于 是关于 的分布,归一化后得到

也就是说,当 取为后验分布 时,下界与目标相等。

因此我们便归纳出 EM 算法的迭代过程:

  • E 步:固定 ,令 ,使下界紧贴目标函数。
  • M 步:固定 ,最大化下界关于 的部分

由于 E 步已经使下界与目标函数重合,M 步提升下界的同时也会提升目标函数,这就是 EM 算法的核心思想。

3. VAE

在 EM 算法中,E 步需要计算后验 ,M 步需要知道联合分布 的具体形式。但在很多实际问题中,这些都无法解析得到。

我们回顾 ELBO 的定义,将联合分布拆解为 ,得到

观察这个式子,我们发现:要最大化 ELBO,只需要知道三样东西——(用来近似后验 )和先验 。其中先验 可以由我们自己假定(通常取标准正态分布),而 则可以用神经网络来学习。这就是 VAE 的核心思想:

  • 编码器(Encoder):近似后验分布 。输入观测数据 ,输出变分分布的参数(如高斯分布的均值 和方差 )。
  • 解码器(Decoder):学习生成模型(即似然 )。输入隐变量 ,输出重构分布的参数(如高斯分布的均值 和方差 )。

此时 ELBO 变为

我们要最大化这个 ELBO,相当于同时优化编码器参数 和解码器参数

Last Updated 3/22/2026, 4:18:37 PM