GAN一开始是如何训练的?

时间:2017-06-11 17:48:42

标签: neural-network deep-learning

我理解总体概述,但我想更深入地了解培训。在前两次训练中究竟发生了什么?它是首先接受过训练的发生器还是鉴别器?是否曾用于训练GAN的验证集?如果是这样,那么对于发电机还是鉴别器呢?

1 个答案:

答案 0 :(得分:0)

每次迭代都是一样的。

我们在每次迭代中使用一批真实的和一批生成的(假的)示例。这两个批次的大小相同,我们可以选择。

发生器和鉴别器都是在迭代方式同时训练的。 G得到一个随机向量作为输入,而D得到真实的例子。

但是,在迭代中,您首先必须生成一批假例子。然后,您将实例提供给D,最后在每次迭代中将生成的示例提供给D。 D首先在实例上学习参数(权重),然后在假例子上使用这些权重。然后,yoy计算D loss,然后计算G loss,并将它们传递给优化器,优化器尝试将它们最小化。

没有验证和测试集。你只想减少D和G的损失。

理论上,你希望你的D能够以50%的概率判断一个例子是真实的,因为在这种情况下,它无法区分真实和虚假的例子,这就是你想要的。它只能猜测。这就像掷硬币一样。在这种情况下,G可以很好地生成与实际类似的示例。