VAE 和 GAN 在图像生成方面的根本区别是什么?

人工智能 比较 应用 生成对抗网络 变分自动编码器 图像生成
2021-11-08 00:47:56

从我自己的理解开始,并以图像生成的目的为范围,我很清楚主要的架构差异:

  • GAN 的生成器从相对低维的随机变量中采样并生成图像。然后鉴别器获取该图像并预测该图像是否属于目标分布。一旦经过训练,我就可以通过对初始随机变量进行采样并通过生成器转发来生成各种图像。

  • VAE 的编码器从目标分布中获取图像并将其压缩到低维潜在空间中。然后解码器的工作是获取潜在空间表示并再现原始图像。一旦网络经过训练,我就可以生成各种图像的潜在空间表示,并在这些图像之间进行插值,然后再通过生成新图像的解码器进行转发。

我更感兴趣的是上述架构差异的后果。为什么我会选择一种方法而不是另一种方法?为什么?(例如,如果 GAN 通常会产生质量更好的图像,有什么想法为什么会这样吗?是在所有情况下都正确还是仅在某些情况下正确?)

1个回答

GAN 通常会产生更好的照片般逼真的图像,但可能难以使用。相反,VAE 更容易训练,但通常不会给出最好的结果。

如果您没有太多时间尝试 GAN 并且照片写实感不是最重要的,我建议您选择 VAE。

谷歌的 VQ-VAE 2 等例外情况可以与 GAN 在图像质量和逼真度方面竞争。还有 VAE-GAN 和 VQ-VAE-GAN。

需要注意的是,GAN 和 VAE 并非专门用于图像,也可用于其他数据类型/结构。