变分自编码器Variational Auto-Encoder(VAE)
什么是VAE
VAE与GAN 都是做生成的model,用来构建一个从隐变量 Z 生成目标数据 X 的模型,其中是有差别的。
GAN与VAE都是在假设data服从某些常见的分布,比如正太分布,前提下去实现的,训练一个 X=g(Z)的model,GAN与VAE都是在进行分布之间的变换,将原来的概率分布映射到了训练集的概率分布。
因为我们只知道数据的真实样本,并不知道其data分布表达式,判断生成分布与真实分布的相似度对于Generator是非常困难的。
如果假设Pdata服从高斯分布,那么我就可以从中采样得到若干个 Z1,Z2,…,Zn,然后对它做变换得到 X̂1=g(Z1),X̂2=g(Z2),…,X̂n=g(Zn),我们怎么判断这个通过G_function构造出来的数据集,PG分布跟我们Pdata是不是一样的呢?还不能直接用KL散度来描述两个概率分布之间的相似程度,因为我们并没有PG与Pdata的概率分布表达式。
本文参考: