均值场近似,qϕ(z∣x)=∏iqϕ(zi∣x),通过假设在给定输入 x 的情况下,潜在变量 zi 之间相互独立,大幅简化了 VAE 的训练。然而,这个假设往往限制性过强。真实后验 pθ(z∣x) 可能在潜在维度之间显示出复杂的依赖关系,而强制 qϕ(z∣x) 因子化会使其无法准确地建模这些关联。这种差异,通常是“摊销差距”的一部分,可能会限制 VAE 学习丰富表示和生成高保真数据的能力。结构化变分推断提供了一种方法,通过明确地建模近似后验中的依赖关系来处理此限制。
在近似后验中建模依赖关系
结构化变分推断旨在通过允许潜在变量 z1,…,zD 之间存在关联来丰富分布族 qϕ(z∣x)。并非完全因子化的形式,qϕ(z∣x) 旨在捕获一些统计结构。这使得 qϕ(z∣x) 可以更准确地近似真实后验 pθ(z∣x),从而可能带来更紧密的证据下界(ELBO)和更好的模型表现。
核心思想是使用能够表示依赖关系的模型来定义 qϕ(z∣x)。常见方法包含自回归 (autoregressive)模型和归一化 (normalization)流,两者都允许灵活且富有表现力的后验分布。
均值场和结构化(自回归)近似后验的比较。在均值场情况中,潜在变量 zi 在给定 x 的情况下是条件独立的。在结构化自回归情况中,zi 依赖于前面的 zj (对于 j<i) 和 x。
用于 qϕ(z∣x) 的自回归 (autoregressive)模型
引入结构的一种有效方法是以自回归方式建模 qϕ(z∣x)。这意味着潜在向量 (vector) z=(z1,…,zD) 上的分布被分解为条件分布的乘积:
qϕ(z∣x)=qϕ(z1∣x)j=2∏Dqϕ(zj∣z<j,x)
此处,z<j 表示 (z1,…,zj−1)。每个条件分布 qϕ(zj∣z<j,x) 可以由一个神经网络 (neural network)参数 (parameter)化,该网络以 x 和先前采样的潜在变量 z1,…,zj−1 作为输入。例如,如果每个 qϕ(zj∣z<j,x) 是高斯分布,它的均值 μj 和标准差 σj 将是 x 和 z<j 的函数:
μj,logσj=fj(x,z<j;ϕj)
这种结构允许 qϕ(z∣x) 捕获任意依赖关系,只要条件神经网络 fj 具有足够的表达能力。从这样的模型中采样是顺序的:首先采样 z1∼qϕ(z1∣x),然后 z2∼qϕ(z2∣z1,x),依此类推。虽然计算密度 qϕ(z∣x) 很直接(D 个项的乘积),但如果 D 很大,顺序采样可能会很慢。
诸如逆自回归流(IAF)等技术(您可能在第 3 章中回顾过),提供了一种实现此类富有表现力的自回归模型的方法,使得采样能够并行化,从而大幅加快此过程。在 IAF 中,z 通过使用自回归变换,从噪声向量 ϵ(其中 ϵj 相互独立)变换而获得:zj=gj(ϵj;hj(x,ϵ<j))。
使用归一化 (normalization)流实现富有表现力的后验
归一化流,也在第 3 章中讨论过(第 3.5 节“用于灵活先验和后验的归一化流”),提供了另一种通用且强大的框架,用于构建复杂的后验分布。归一化流通过一系列可逆变换 f1,…,fK 变换一个简单的基础分布 q0(u)(例如,一个标准多元高斯分布):
z=fK∘⋯∘f1(u),u∼q0(u)
z 的密度可以使用变量变换公式计算:
qϕ(z∣x)=q0(u)det(∂u∂(fK∘⋯∘f1))−1
这些变换 fk 的参数 (parameter)(以及潜在的基础分布 q0)作为 ϕ 的一部分进行学习,并且通常以 x 为条件。这使得 qϕ(z∣x) 能够学习高度灵活的分布。重点是,变换 fk 的设计使得其雅可比矩阵(以及行列式)计算上是可处理的。例子包含平面流、径向流以及更复杂的流架构,如 RealNVP、MAF 和 IAF。
为 qϕ(z∣x) 使用归一化流可以显著提高推断网络的表达能力,使其能更好地匹配真实后验,从而收紧 ELBO。
影响与权衡
采用结构化变分推断有几个重要影响:
-
ELBO 和模型质量的改进:更灵活的 qϕ(z∣x) 可以为真实对数似然 logpθ(x) 提供更紧密的下界。这通常意味着更好的生成表现,例如更清晰的生成样本和测试数据上更高的似然分数。潜在空间中学习到的表示也可能变得更有意义,因为推断网络更好地捕获了底层数据流形。
-
计算复杂度的增加:主要的权衡是计算成本。
- 训练:参数 (parameter)化和优化结构化的 qϕ(z∣x) 涉及更多参数,并且通常每次迭代的计算更复杂(例如,计算流的雅可比行列式或自回归 (autoregressive)模型的顺序条件)。
- 推断:从某些结构化后验(如标准自回归模型)中采样,如果无法并行化,可能会更慢。
-
模型设计选择:您现在在 qϕ(z∣x) 的架构方面有更多选择。对于自回归模型,这包含潜在变量的排序以及条件网络的架构。对于归一化 (normalization)流,它涉及选择流层的类型和数量。这些选择会影响表现和计算负载。
-
KL 散度项:ELBO 中的 KL 散度 DKL(qϕ(z∣x)∣∣p(z)) 可能会变得更具挑战性。如果 p(z) 是标准高斯分布,并且 qϕ(z∣x) 是复杂分布(例如,来自归一化流),KL 散度可能不再有解析解。在这种情况下,通常需要进行估计,例如,通过采样 z∼qϕ(z∣x) 并计算 Eqϕ(z∣x)[logqϕ(z∣x)−logp(z)]。
何时考虑结构化推断
结构化变分推断在以下情况中特别有益:
- 您怀疑您的数据中真实潜在变异因子之间存在强关联或依赖关系,而均值场 VAE 无法捕获这些关系。
- 标准 VAE 产生不理想的结果,例如过度平滑或模糊的生成样本,或低似然,并且您假设推断网络是瓶颈。
- 应用要求高准确度的后验推断,例如在潜在变量本身是直接关注对象的场景中。
虽然引入结构会增加复杂性,但模型表达能力和表现方面的潜在提升通常能弥补额外开销,特别是对于具有挑战性的数据集或目标是先进结果时。此处讨论的技术,例如用于 qϕ(z∣x) 的自回归 (autoregressive)模型和归一化 (normalization)流,对于构建更复杂、更强大的 VAE 来说是根本。随着我们的前进,您会看到这些改进的推断机制如何与其他高级 VAE 组件结合。