变分自编码器(VAE)是一种人工神经网络架构,由Diederik P. Kingma和Max Welling于2013年提出。它属于概率图模型和变分贝叶斯方法的范畴。除了作为一种自编码器架构外,VAE还可以在变分贝叶斯方法的数学框架下进行研究,通过一个概率潜在空间(例如多元高斯分布)将神经编码器网络与解码器网络连接起来,该潜在空间对应于变分分布的参数。
编码器将来自大型复杂数据集(如图像)的每个点映射到潜在空间中的一个分布,而不是单个点。解码器则执行相反的操作,根据一个分布从潜在空间映射回输入空间,尽管在实践中解码时很少添加噪声。通过将点映射为分布而非单个点,网络可以避免对训练数据的过拟合。两个网络通常使用重参数化技巧联合训练,尽管噪声模型的方差可以单独学习。虽然最初是为无监督学习设计的,但该模型已被证明在半监督学习和监督学习中同样有效。
架构与操作
VAE是一种带有先验和噪声分布的生成模型。此类模型通常使用期望最大化元算法进行训练,类似于概率主成分分析或稀疏编码。该方案优化数据似然的下界,而数据似然通常是计算上难以处理的,因此需要发现q分布,即变分后验。这些q分布通常针对每个单独的数据点在单独的优化过程中进行参数化。然而,VAE使用神经网络作为摊销方法,跨数据点联合优化,为多个数据点重用相同的参数,从而节省大量内存。第一个神经网络称为编码器,将数据点作为输入,输出变分分布的参数,从已知输入空间映射到低维潜在空间。
解码器是第二个神经网络,从潜在空间映射回输入空间,例如作为噪声分布的均值。可以使用另一个神经网络来映射方差,但为简单起见可以省略;在这种情况下,方差可以通过梯度下降进行优化。
训练与重参数化技巧
重参数化技巧是训练VAE的关键技术。它通过将潜在变量z表示为输入和噪声变量的确定性函数,使得反向传播能够通过随机采样进行。对于高斯潜在空间,z被采样为z = μ + σ ⊙ ε,其中ε来自标准正态分布。这使得ELBO相对于编码器和解码器参数的梯度可以计算。
编码器输出变分分布的均值μ和方差σ,解码器从采样的z重构输入。重构误差衡量解码器重构输入的好坏,而KL散度则正则化潜在空间以匹配先验(通常是标准正态分布)。这种平衡鼓励生成平滑、连续的潜在空间,便于采样生成。
应用与变体
VAE已广泛应用于生成式人工智能中的图像生成、异常检测和表示学习。它们也用于半监督学习,其中潜在空间可以捕获用于分类的有意义特征。变体包括β-VAE,它通过加权KL项来鼓励解耦表示,以及VQ-VAE,它使用离散潜在编码。统计距离变体用其他距离替代KL散度,以提高鲁棒性或生成质量。
与其他生成模型(如生成对抗网络,GAN)相比,VAE提供稳定的训练和 principled 的概率框架,但通常生成更模糊的样本。它们也与深度学习架构相关,并且是机器学习的基础主题。该模型已以多种方式扩展,包括条件VAE和层次VAE,并且仍然是人工智能研究的一个活跃领域。
参见
- 神经网络
- 深度学习
- 生成式人工智能