是什么让 GAN 或 VAE 在图像生成方面比直接将输入映射到图像的 NN 更好

人工智能 卷积神经网络 生成对抗网络 图像生成 变分自动编码器
2021-11-15 18:03:58

假设一个简单的神经网络的输入是一组标签(以某种方式编码),输出是一张与这些标签相对应的图像。假设这个网络由一些密集层和一些反向(转置)卷积层组成。

这个网络的缺点是什么,它引导人们发明相当复杂的东西,比如 GAN 或 VAE?

2个回答

这些生成模型与您描述的方法之间唯一的缺点和区别是输入。您描述了输入标签,对于 GAN 或 VAE,模型的生成部分采用概率分布的某种表示。对于 GAN,它主要是随机噪声,而对于 VAE,它是一些潜在空间(参见 nbros 的答案)。

您描述的方法会阻止网络正确学习流体生成。如果您有离散输入,网络将尝试对输入执行某种分类,而不是生成,因此当您尝试生成新图像时,您很可能会得到相当于乱码的图像。

事实上,这就是为什么标准的自动编码器(不是变分的)不能很好地用于生成的原因。您会认为您可以将自己的自定义输入输入到潜在空间中:例子

但是如果你尝试了这个,你最终会告诉网络尝试从它无法解释的潜在空间中生成一些东西。

因此,VAE 的“变分”部分就派上用场了。这有助于网络学习从连续分布中生成,因此无论您使用什么输入,网络都将能够解释它并给出适当的输出。

对于 GAN,它只是在每个训练步骤中输入随机噪声,因此它也是基于连续分布生成的。

如果你尝试训练你的生成方法,我预测你会找到所有共享相似标签的图像的平均值(假设你有 cat、dog 和 brown haired 的标签,如果你输入“dog=1, cat=0, brown haired=1" 你会得到所有棕色头发狗的平均值),但是如果你尝试输入网络没有看到的标签组合,因为它没有从连续分布中学习,结果图像不会像您对这些标签所期望的那样。

我将只关注 VAE,因为我更熟悉它,但这些解释也可能适用于 GAN 和其他生成模型。

在 VAE 的情况下,您训练一个神经网络不仅可以生成图像,而且可以在所谓的潜在空间中紧凑地表示它们,因此您可以训练 VAE 进行降更准确地说,VAE 试图学习一个比训练数据的维数更小的概率分布,但它希望能代表训练数据。因此,模型被迫学习生成训练数据的概率分布的基本特征。

VAE 是一种生成模型而不是判别模型对于将输入映射到图像的神经网络,您不会学习潜在概率分布(除非您以这种方式制定模型),您可以从中进行采样,但您只是在有监督的情况下进行映射方式(也就是说,您需要一个标记的训练数据集),并且确定性地,图像的输入。在 VAE 中,存在某种形式的随机性,同时训练(和测试)模型。