尽管标准VAE为生成式建模提供了良好基础,但其常被提及的一个局限是,尤其对于图像等高维度数据,它倾向于生成模糊或过于平滑的样本。此问题常源于选择简单的解码器分布 pθ(x∣z)(例如分解高斯分布),这种分布难以捕捉自然数据中复杂的、高频的细节以及长距离依赖关系。为解决此问题并提升样本保真度,可以将更强大的、富有表现力的模型整合到VAE框架内。一个有效的方法是采用自回归 (autoregressive)模型作为解码器。
挑战:复杂数据的表现力似然
证据下界 (ELBO) 中的重构项 Eqϕ(z∣x)[logpθ(x∣z)] 鼓励解码器在给定其潜在表示 z 的情况下,准确重构输入 x。如果 pθ(x∣z) 过于简单(例如,在给定 z 的图像中假设像素独立),它可能会对许多可能的高频细节取平均,从而导致模糊。自回归 (autoregressive)解码器提供了一种定义更具表现力的 pθ(x∣z) 的方式。
自回归 (autoregressive)模型:快速回顾
自回归模型是一类生成模型,它将高维度数据点 x=(x1,x2,…,xD) 上的联合概率分布分解为条件概率的乘积:
p(x)=i=1∏Dp(xi∣x<i)
其中,xi 是第 i 个元素(例如,图像中的一个像素,句子中的一个词),而 x<i 表示所有前序元素 (x1,…,xi−1)。每个条件分布 p(xi∣x<i) 通常由神经网络 (neural network)建模。
主要例子包括:
- PixelCNN 和 PixelRNN: 对于图像,这些模型逐个生成像素,每个新像素都以先前生成的像素为条件。
- WaveNet: 对于原始音频,它顺序生成音频样本。
- Transformer 解码器: 对于文本和其他序列,它们使用注意力机制 (attention mechanism)来建模依赖关系。
自回归模型的优势在于它们能够捕捉数据内部复杂局部和全局依赖关系,从而生成高度真实且连贯的样本。
将 VAE 与自回归 (autoregressive)解码器结合
在带有自回归解码器的VAE中,解码器网络 pθ(x∣z) 本身就是一个自回归模型。潜在变量 z(在训练时从近似后验分布 qϕ(z∣x) 采样,或在生成时从先验分布 p(z) 采样)为整个自回归生成过程提供条件。
ELBO 中的重构对数似然项随后表示为:
logpθ(x∣z)=i=1∑Dlogpθ(xi∣x<i,z)
这意味着解码器学习在给定前序元素 x<i 和全局潜在语境 z 的情况下,预测每个元素 xi。
架构集成
潜在向量 (vector) z 可以通过几种方式整合到自回归解码器中:
- 全局条件作用: 对于像 PixelCNN 这样的基于CNN的自回归模型,z 可以被转换并广播(例如,空间平铺或作为偏置 (bias)添加)到网络的所有层。这使得 z 能够影响每个 xi 的生成。
- 初始状态: 对于基于RNN的自回归模型,z 可以用于初始化RNN的隐藏状态。
- 拼接: z(或其转换)可以在自回归生成的每一步与输入拼接。
以下图表显示了大致结构:
一个整合了自回归解码器的 VAE 架构。潜在向量 z 全局地为自回归模型提供条件,该模型随后逐个元素生成输出序列 x^。
在训练期间,自回归解码器通常受益于“教师强制”机制,其中真实 x<i 元素被作为输入馈入以预测 xi,而不是模型自身的先前预测。这有助于稳定训练,并允许对所有 i 的条件概率 logpθ(xi∣x<i,z) 进行并行计算。
优点:为何选择?
将自回归 (autoregressive)解码器整合到VAE中带来几项显著优势:
- 显著提升样本质量: 这是主要目的。自回归模型擅长捕捉细致的细节和长距离关联,使得生成的样本(通过从 z∼p(z) 采样并由 pθ(x∣z) 生成)更加清晰、连贯,并在质量上优于使用简单解码器的VAE。
- 富有表现力且易于处理的似然: 自回归公式提供了一种明确且易于计算似然 pθ(x∣z) 的方式。这种对条件似然的强大建模能力能够带来更好的整体生成性能,并可能获得更高的ELBO值。
- 对不同数据类型的适应性: 自回归模型是多功能的,已成功应用于图像 (PixelCNN)、音频 (WaveNet) 和文本 (Transformers)。这使得带有AR解码器的VAE适用于广泛的复杂数据。
挑战:难点与权衡
尽管功能强大,但这种方法并非没有缺点:
- 缓慢的顺序采样: 最主要的缺点是采样速度。由于每个元素 xi 必须顺序生成,并以其前序元素为条件,因此生成一个完整样本 x 可能非常耗时,特别是对于高维度数据(例如,一百万像素的图像需要一百万个顺序步骤)。这使得它们不太适合需要实时生成的应用。
- 训练期间计算成本增加: 尽管教师强制允许在训练期间并行计算损失,但自回归 (autoregressive)组件本身(例如,PixelCNN中大型的掩码卷积)可能计算密集,导致与使用简单解码器的VAE相比训练时间更长。
- 自由采样时的误差传播: 在生成样本时(不使用教师强制),序列早期产生的误差可能会传播和累积,可能影响生成数据后半部分的质量。
- 方向偏差: 固定的顺序(例如,图像的栅格扫描)引入了一种归纳偏置 (bias),可能并非总是对所有数据类型或任务最优。
值得关注的实现:PixelVAE
该方面的一项开创性工作是 PixelVAE (Gulrajani et al., 2016)。它将VAE与PixelCNN或PixelRNN结合作为其解码器。PixelVAE 展示了从VAE生成的图像在清晰度和视觉质量上的显著改进。潜在变量 z 通常用于全局地为PixelCNN提供条件。
原始的PixelVAE论文讨论了两种主要的结合VAE和PixelCNN的方式:
- 带有PixelCNN解码器的VAE: 这是我们一直在讨论的架构,其中 pθ(x∣z) 是一个PixelCNN。
- 带有潜在变量的PixelCNN(分层): 其中 z 不仅仅是单一的全局条件,还可以有结构,例如,z 的不同部分可以为PixelCNN生成的不同部分或分辨率提供条件。这开始融入分层VAE的观念。
其他扩展也应用了类似的思路,例如在VAE框架内使用类似WaveNet的解码器来生成高保真音频,或使用基于Transformer的解码器进行可控文本生成,其中 z 可能编码高层次语义属性。
何时选择自回归 (autoregressive)解码器
在以下情况下,可以考虑在VAE中使用自回归解码器:
- 样本质量是首要考量,并且您愿意以采样速度为代价,换取更真实和详细的输出。
- 您正在处理自回归模型已展现强大性能的数据类型,例如图像、音频或像文本这样的离散序列。
- 应用可以容忍较慢的生成时间。例如,离线生成艺术图像或音乐可能是可接受的。
如果快速采样非常重要,其他VAE变体或不同的生成模型族(如GAN,尽管它们有各自的权衡)可能更适合,或者您可以考虑提炼或加速自回归模型的方法。
总结
自回归 (autoregressive)解码器代表着对VAE工具集的显著增强,通过运用序列建模对 pθ(x∣z) 的表现力,能够生成高保真样本。它们通过细致地建模数据内部的条件依赖关系,有效地解决了传统VAE中常见的模糊问题。然而,这种增强的生成能力代价是更慢的顺序采样。如同深度学习 (deep learning)中的许多架构选择一样,决定使用自回归解码器需要平衡模型表现力和样本质量与计算限制及推理 (inference)速度要求。这为讨论其他可能提供不同权衡的先进VAE架构奠定了基础,例如那些专注于离散潜在变量或更灵活的后验近似。