为 GAN 中的生成器模型生成初始随机向量的正确方法?

Proper way of generating initial random vectors for generator model in GAN?

经常将线性插值与具有单位方差和零均值的高斯或均匀先验一起使用,其中向量的大小可以任意方式定义,例如100 为生成对抗神经 (GAN) 中的生成器模型生成初始随机向量。

假设我们有 1000 张图像用于训练,批量大小为 64。然后每个 epoch,需要使用对应于给定小批量的每个图像的先验分布生成一些随机向量。但我看到的问题是,由于随机向量和相应图像之间没有映射,所以可以使用多个初始随机向量生成相同的图像。在this paper中,它建议通过在一定程度上使用不同的球面插值来克服这个问题。

那么,如果最初生成与训练图像数量相对应的随机向量,并且在训练模型时使用最初生成的相同随机向量,会发生什么情况?

在 GAN 中,用作输入的随机种子实际上并不对应于任何真实的输入图像。 GAN 实际上做的是学习一个从已知噪声分布(例如高斯分布)到复杂未知分布的变换函数,用 i.i.d 表示。样本(例如你的训练集)。 GAN 中的鉴别器所做的是计算生成数据(例如转换后的高斯分布)和真实数据(您的训练数据)之间的差异(例如 Wasserstein 差异、KL 差异等)。这是以随机方式完成的,因此在真实数据和虚假数据之间不需要 link。如果您想通过实践示例了解更多相关信息,我建议您训练 Wasserstein GAN 将一个一维高斯分布转换为另一个一维高斯分布。在那里你可以可视化判别器和判别器的梯度,真正看到这样一个系统的动态。

无论如何,你的论文想告诉你的是在你训练了你的 GAN 之后,想看看它如何将生成的数据从已知噪声 space 映射到未知图像 space.出于这个原因,已经发明了插值方案,就像您引用的球形方案一样。他们还表明,GAN 已经学会将潜在 space 的某些部分映射到图像中的关键特征,例如微笑。但这与GANs的训练无关