AIGC实战——变分自编码器
0. 前言
我们已经学习了如何实现自编码器,并了解了自编码器无法在潜空间中的空白位置处生成逼真的图像,且空间分布并不均匀,为了解决这些问题,我们需要将自编码器 (Autoencoder
, AE
) 改进为变分自编码器 (Variational Autoencoder
, VAE
)。在本节中,我们将学习变分自编码器的基本原理,并使用 Keras
实现变分自编码器模型。
1. 变分自编码器
1.1 基本原理
变分自编码器 (Variational Autoencoder
, VAE
) 是一种结合了自编码器和概率图模型的生成模型,通过学习输入数据的潜分布来进行无监督学习并生成新样本。
与传统的自编码器不同,变分自编码器引入了概率编码器和概率解码器。编码器将输入数据映射到潜在空间的概率分布,而解码器将从潜在空间中的样本重构为原始输入的分布。通过学习这两个概率分布,VAE
可以学习到输入数据的概率表示,并且能够通过从潜在空间中采样生成新的样本。
在训练过程中,VAE
使用最大似然估计来最小化观测数据与重构数据之间的差异,并通过最小化编码器和解码器之间的 KL 散度
来约束潜在空间的分布与先验分布之间的差异。这使得 VAE
能够学习到连续且平滑的潜在表示,使得在潜在空间中的相邻点对应于语义上相似的样本。
接下