VAE-火炬 VAE和CVAE的Pytorch实施 VAE 为了生成某些东西,例如我们的mnist位数,我们需要找到mnist $ P(X)$的真实分布。 如果找到了,那么我们需要做的就是从$ P(X)$中抽取样本,然后完成所有操作。 但是,我们无法获得$ P(X)$,因此VAE会使用潜在变量来近似$ P(X)$。 $$ P(X)= \ int P(x | z)P(z)$$然后,我们要做的就是从z采样,并使用$ P(x | z)$生成x。 为了训练该$ P(x | z)$并找到合适的Z,我们将定义$ P(z | x)$。 $$ P(Z)= \ int P(z | x)P(x)$$此外,为了进行采样,VAE在$ P(z | x)$上施加了一些约束,并使其成为正态分布$ N(0,1)$。 然后我们有$$ P(Z)= \ int P(z | x)P(x)= N(0,1)\ int P(x\uff09=