最近想了解一下生成模型(generative model),这两三天看了很多关于变分自编码器(Variational Autoencoder)的资料,发现VAE实现起来比较简单,但是因为没什么概率图模型的基础,对于它的理论感觉理解起来很费力,所以开始在空闲的时候看Coursera上面那门Koller的概率图模型的公开课
个人觉得Variational Autoencoder比较有用的资料:
1. Oliver Dürr的VAE的PPT(非常推荐,讲得很清晰)
2. Jaan Altossar 的VAE Tutorial
1. 结构
这样来看,变分子编码器的结构和传统自编码器的结构最大的区别就是变分子编码器的encoder和decoder输出的都是概率密度函数的参数。对于z而言已经假设它符合标准正态分布,因此encoder network的输出形状为(Batch_size, 2*latent_dims),其中一半表示latent variable z的均值,另一半表示方差。
需要注意:
实际编程时,通常让encoder输出 z_log_sigma_sq=lnσ