变分自编码器(VAE)组合了神经网络和贝叶斯推理这两种最好的方法,是最酷的神经网络,已经成为无监督学习的流行方法之一。 变分自编码器是一个扭曲的自编码器。同自编码器的传统编码器和解码器网络一起,具有附加的随机层。 编码器网络之后的随机层使用高斯分布对数据进行采样,而解码器网络之后的随机层使用伯努利分布对数据进行采样。 与 GAN 一样,变分自编码器根据它们所接受的分布来生成图像和数字。VAE允许设置潜在的复杂先验,从而学习强大的潜在表征。 下图描述了一个 VAE。编码器 qφ(z|x) 网络近似于真实,但后验分布 p(z|x) 很难处理,其中 x 是 VAE 的输入,z 是潜在表示。解码器网络 pθ(x|z) 将 d 维潜在变量(也称为潜在空间)作为其输入并生成与 P(x) 相同分布的新图像。从 z|x~N(μz|x,Σz|x) 采样得到潜在表示 z,而解码器网络的输出从 x|z~N(μx|z,Σx|z) 采样得到 x|z:
图 1 自编码器的编码器–解码器示例图 现在已经有了 VAE 的基本结构,问题在于如何对它们进行训练,因为训练数据和后验密度的最大可能性是难以处理的。通过最大化 log 数据可能性的下限来训练网络。损失项由两部分组成:通过采样从解码器网络获得的生成损失,以及被称为潜在损失的 KL 发散项。 发生损耗确保了由解码器生成的图像和用于训练网络的图像是相同的,并且潜在损失能够确保后验分布 qφ(z|x) 接近于先验分布 pθ(z)。由于编码器使用高斯分布进行采样,所以潜在损耗测量潜在变量与单位高斯匹配的匹配程度。 一旦 VAE 接受训练,只能使用解码器网络来生成新的图像。
具体做法
|
|