变分自编码器 (VAE) 深度推导

1. 引言与问题背景

变分推断(Variational Inference, VI) 是一种近似贝叶斯后验的方法。在生成模型中,我们假设观测数据 是由某些隐变量 生成的。

  • 核心目标:最大化边缘似然的对数 (即证据,Evidence),从而学习数据的分布。

  • 核心困难:由全概率公式知 。在复杂模型中,这个积分往往是不可积的(Intractable),导致真实后验 无法直接求解。

  • 变分策略:引入一个参数化的简单分布 (通常假设为高斯分布)来逼近复杂的真实后验

基本假设

  • 观测数据:

  • 潜在变量(隐变量):

  • 联合分布:

  • 变分分布: 满足 (在 的支撑集上)。


2. 证据下界 (ELBO) 的积分推导

我们从全概率公式出发,严格使用积分形式进行推导,避免使用期望符号 ,以展现其解析结构。

2.1 引入变分分布

利用恒等式 重写边缘似然:

对两边取对数(注意 是单调递增函数):

2.2 利用 Jensen 不等式

引理:Jensen 不等式的积分形式

对于凹函数(如 )以及在支撑集内积分为 1 的非负概率密度函数 ,有:

设定 ,代入上式得到:

我们定义不等式右侧的积分为 证据下界(ELBO, Evidence Lower Bound),记作


3. ELBO 的分解与物理含义

为了理解优化目标,我们将 ELBO 进行项拆解:

3.1 三项展开式

利用对数运算规则和 ,可以将 ELBO 展开为:

  • 第一项:期望重构似然

    • 含义:衡量在给定从变分分布抽取的隐变量 时,重构原始数据 的准确度。在深度学习中对应重构损失。
  • 第二项:期望对数先验

    • 含义:鼓励变分分布 产生的隐变量符合预设的先验分布 (通常是标准正态分布)。
  • 第三项:变分熵

    • 含义:增加分布的不确定性,防止 坍缩为单点(Delta分布),起到正则化作用。

3.2 紧凑形式(重构 + KL 散度)

在实际模型中,通常将后两项合并:

这种写法直观地展示了 VAE 的权衡:最大化似然的同时,最小化变分分布与先验分布之间的距离。


4. KL 散度与紧致性证明

我们要证明 之间的差距正是变分分布与真实后验之间的 KL 散度。

由于 ,常数 可以移入积分:

代入贝叶斯公式

结论:

因为 ,所以 始终成立。当且仅当 时,KL 散度为 0,下界等号成立。由于 由数据决定且相对于参数 为常数,最大化 ELBO 等价于最小化变分分布与真实后验的 KL 散度。


5. VAE 模型实现:重参数化与架构

为了将上述推导转化为可训练的网络,需要解决采样过程中的梯度传播问题。

5.1 重参数化技巧 (Reparameterization Trick)

在 VAE 中, 通常被参数化为高斯分布 ,其中 是编码器的输出。

直接从 采样 是不可微的。我们引入噪声变量 ,令:

这样, 的随机性转移到了 上,而对于参数 则是确定性的线性变换,梯度可以通过 回传给编码器。

5.2 损失函数构造

在深度学习中,我们通常最小化损失函数

对于单个样本,损失函数为:

  • 重构误差:常用 MSE 或交叉熵。

  • KL 正则项:对于高斯分布有解析解(每个维度 独立求和):

    其中 是隐变量的维度, 分别是第 维的均值和方差。

5.3 架构流程

  1. Encoder ():输入 ,映射到均值 和方差对数

  2. Sampling:使用重参数化得到隐码

  3. Decoder ():从 重构出

  4. Optimization:通过反向传播同时更新


6. KL 散度的解析推导(高斯分布情形)

我们给出 VAE 中最常见情形下的 KL 闭式解:高斯先验 ,高斯变分

6.1 推导过程

,记

对两项分别计算。

第一项:

由于 ,代入得:

第二项:

由于 ,有

合并两项

直觉解释:第一项 鼓励均值接近 0(与先验对齐);第二项 惩罚方差偏离 1(当 时最小)。


7. 与 EM 算法的关系

VAE 与 EM(Expectation-Maximization)算法有深刻的联系,但存在关键区别。

7.1 EM 算法回顾

EM 算法用于求解存在隐变量的最大似然估计,通过交替优化逼近对数似然:

E步:给定当前参数 ,计算隐变量 的后验分布:

M步:最大化关于 的期望对数似然:

7.2 VAE 与 EM 的对应关系

EM 算法VAE核心区别
E步:推断 $p(zx)$Encoder $q_\phi(z
M步:更新 Decoder $p_\theta(xz)$
目标:共享 ELBO 形式

7.3 关键区别:变分间隙

EM 算法中, 是真实后验,此时 ELBO 等于对数似然 ,通过迭代可以找到局部最优。

VAE 中,由于 是参数化的近似分布(通常是高斯族),而非真实后验,因此存在变分间隙(Variational Gap)

这意味着 VAE 只能找到似然的下界,而非真实值。这是变分推断的本质限制,也是 VAE 与 EM 的根本区别。


8. 重参数化技巧的深入理解

8.1 为何需要重参数化

假设直接从 采样:

这个采样操作是不可导的。采样结果的期望 依赖于 ,但采样过程本身引入了随机性,无法计算反向梯度。

8.2 重参数化的数学保证

定理:设 ,定义 ,则

证明:令 ,其中 是协方差矩阵 的 Cholesky 分解(对于对角协方差,)。

对任意可测函数 ,做变量替换

因此 的分布与 相同。

8.3 梯度计算

重构损失为 。由于重参数化,,对参数 的梯度可通过交换积分与微分顺序得到:

这使得我们可以用蒙特卡洛估计来近似期望,并通过标准的反向传播计算梯度。


9. 理论严谨性补充

  1. 支撑(Support)一致性:Jensen 不等式的应用前提是 的区域内不为 0。如果变分分布的支撑集小于真实分布, 可能会发散。

  2. 期望符号的回归:虽然推导过程中使用积分以显其严谨,但在实现时,积分 通过蒙特卡洛采样(Monte Carlo Sampling)来近似,这正是为什么在深度学习代码中我们会看到对样本取平均(期望)的原因。

  3. 等号成立条件 意味着我们完美找到了后验分布。但在实际中,受限于 的函数族(如只能是高斯),KL 散度通常不为 0,这个残差被称为 变分间隙(Variational Gap)

  4. KL 散度的非对称性:注意 。在 VAE 中我们使用的是 ,这意味着我们是在最小化从近似后验到先验的距离,而非相反。这个方向的选择是出于计算便利性(高斯到高斯的 KL 有解析解),但也可能导致其他问题(如后验坍缩)。