变分自编码器(VAE)是一种由Diederik P. Kingma和Max Welling于2013年提出的人工神经网络架构。它属于概率图模型和变分贝叶斯方法的范畴。VAE结合了一个编码器网络和一个解码器网络,二者通过一个通常遵循多元高斯分布的概率潜在空间相连。编码器将每个输入数据点(如图像)映射到潜在空间中的一个分布,而非单个点;解码器则将潜在空间映射回输入空间。这种概率映射有助于避免对训练数据的过拟合。该模型使用重参数化技巧进行训练,最初设计用于无监督学习,但后来也被证明在半监督和监督学习任务中有效。
架构与操作
VAE架构由两个主要组件构成:编码器和解码器。编码器是一个神经网络,接收输入数据点并输出变分分布的参数,通常是高斯的均值和方差。它将输入空间映射到低维潜在空间。解码器是第二个神经网络,将潜在空间映射回输入空间,通常生成噪声分布的均值。在某些实现中,解码器也会输出方差参数,但为简化起见可以省略,方差通过梯度下降进行优化。
训练目标包含两项,源自概率模型的自由能表达式:重建误差和KL散度。重建项衡量解码器从潜在变量重建输入的优劣,需要采样近似来计算其期望。KL散度项衡量变分后验与潜在变量先验分布之间的差异,最大化概率质量的重叠。噪声分布的选择取决于数据类型;例如,高斯噪声适用于连续数据(如图像),而伯努利噪声用于二值数据(如二值化的MNIST数字)。
公式化
从概率建模的角度来看,目标是最大化数据\(x\)在参数化分布\(p_\theta(x) = p(x|\theta)\)下的似然,通常选择高斯分布。然而,当对潜在变量\(z\)假设先验时,边缘似然\(p_\theta(x) = \int_z p_\theta(x,z) dz\)变得难以处理。为解决这一问题,VAE引入了由编码器参数化的变分后验\(q_\phi(z|x)\),并优化ELBO:
\[\log p_\theta(x) \geq \mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)] - D_{KL}(q_\phi(z|x) \| p_\theta(z))\]
第一项是重建似然,第二项是变分后验与先验之间的KL散度。重参数化技巧通过将\(z\)表示为编码器输出和随机噪声变量的确定性函数,使梯度能够流经采样过程,从而实现标准反向传播。
训练与优化
训练VAE涉及使用随机梯度下降最小化负ELBO。重建项通常通过蒙特卡洛采样近似,而KL散度在前后验均为高斯时通常可以解析计算。重参数化技巧对训练至关重要,因为它将潜在变量采样的随机部分与确定性部分分离。噪声模型的方差可以单独学习或固定。
近期研究探索了用其他统计距离替代KL散度,如Wasserstein距离,以解决模式崩溃等问题并提高生成样本的质量。这些变体通常被称为统计距离VAE变体。
应用
变分自编码器已广泛用于生成任务,包括图像生成、异常检测和表示学习。它们在无监督学习中尤为有效,能够学习数据的紧凑潜在表示。VAE也被应用于半监督学习,利用未标记数据提高标记任务的性能,并在某些上下文中用于监督学习。该架构启发了众多扩展,如条件VAE(将类别标签纳入生成过程)和分层VAE(使用多层潜在变量)。
变体与扩展
为提升性能并解决局限性,研究人员开发了多种VAE变体。β-VAE在KL散度项上引入权重因子\(\beta\),以鼓励更解耦的表示。VQ-VAE(向量量化VAE)使用离散潜在变量,适用于文本和音频生成等任务。其他扩展包括CVAE(条件VAE),它根据辅助信息调节生成过程,以及VAE-GAN,它将VAE与生成对抗网络结合以生成更清晰的图像。这些变体扩展了VAE在不同领域的适用性。
与其他模型的关系
VAE与其他生成模型密切相关,如生成对抗网络(GAN)和归一化流。GAN专注于生成逼真样本而不依赖显式似然,而VAE提供了具有可处理目标的原则性概率框架。归一化流能够计算精确似然,但通常计算成本更高。VAE的编码器-解码器结构也与传统自编码器相似,但概率潜在空间和正则化使其区别于确定性自编码器。
局限性与未来方向
尽管VAE取得了成功,但仍存在局限性,包括与GAN相比倾向于生成模糊样本,这源于高斯噪声假设和重建目标。KL散度也可能导致后验坍缩,使潜在变量变得无信息。当前研究旨在通过改进先验、更具表达力的后验和替代散度度量来解决这些问题。VAE仍是深度学习和生成式人工智能中的基础模型,在学术研究和实际应用中持续发挥重要作用。