1. 深度生成模型的技术演进图谱
当我在2016年第一次尝试用VAE生成人脸图像时,那些模糊扭曲的五官让我意识到生成模型的局限。三年后使用StyleGAN生成高清人脸的震撼体验,让我直观感受到这个领域的技术跃迁。从VAE到GAN的演进不是简单的模型替代,而是生成质量、训练稳定性和应用场景的全面革新。
1.1 生成模型的根本挑战
任何生成模型的核心任务都是学习真实数据分布P(x),并在采样时生成符合该分布的新样本。这个看似简单的目标背后隐藏着两大难题:
-
高维空间的维度灾难:图像数据通常位于数百万维的空间中,比如256x256的RGB图像就有196608维。要在如此高维空间准确建模分布,传统方法完全无能为力。
-
似然计算的不可行性:即使我们知道真实分布P(x)的数学形式,计算具体样本的似然值(概率密度)在实践中也往往不可行。这使得基于最大似然估计的方法面临根本性限制。
关键理解:生成模型本质上是在寻找高维数据空间的低维流形表示。就像我们能用一个三维模型的各种二维投影来还原其完整结构,好的生成模型应该能通过低维潜空间控制高维数据生成。
1.2 VAE的核心突破与局限
变分自编码器(VAE)通过引入潜变量z和变分推断,首次给出了可处理的生成模型解决方案:
python复制# VAE的核心损失函数实现示例
reconstruction_loss = tf.reduce_mean(
tf.reduce_sum(
keras.losses.binary_crossentropy(x, x_decoded),
axis=(1, 2)
)
)
kl_loss = -0.5 * tf.reduce_mean(
tf.reduce_sum(1 + z_log_var - tf.square(z_mean) - tf.exp(z_log_var), axis=1)
)
total_loss = reconstruction_loss + kl_loss
VAE的创新点在于:
- 用编码器网络近似难以计算的后验分布q(z|x)
- 通过重参数化技巧实现梯度传播
- 用KL散度约束潜空间分布
但VAE生成的图像往往模糊,这是因为:
- 像素级重建损失过
