介绍VAE之前了解两个概念:AE(AutoEncoder,自编码器)和VAE(Variational Autoencoder,变自编码器)。
AE:自编码器是一种无监督学习神经网络,旨在通过将输入数据压缩到一个低维表示(编码),然后从该表示重建输入数据(解码),来学习数据的特征表示。
VAE:变分自编码器是自编码器的扩展,结合了概率模型和深度学习,通过引入变分推理使潜在空间具有概率分布特性,适合生成任务。


AE的数学描述对于输入
\(x\)通过编码器将输入映射到
低纬空间
\(z=f(x)\)而后通过解码器得到输出:
\(\hat{x}=g(x)\)


VAE的数学描述对于输入
\(x\)通过编码器将输入映射成
概率分布
\(q(z\vert x)\),假设为高斯分布,输出 𝜇和 𝜎,从
\(q(z\vert x)\)采样
\(z\)而后通过
\(z=\mu+ \sigma+ \epsilon\) 其中
\(\epsilon \in N(0,1)\),而后通过采样得到的
\(z\)重新构建输入,生成
\(p(x\vert z)\)

前者不适合对于图片进行生成而后者则是更加适合图像生成,这是因为AE将输入映射到一个低纬空间z这个低纬空间并没有明确的结构,进而就可能不适合去生成新的数据,而VAE之所以可以用于生成新的数据是,比如说对于图像数据(比如说:猫)如果知道其分布特征,就可以直接通过分布特征去构建一个新的图像