博弈论在生成对抗网络中的应用在哪里

Where is the use of Game theory in Generative Adversarial Network

我们知道生成对抗网络的训练是基于博弈论的,在训练过程中达到纳什均衡。但是当使用 tensorflow 查看 GAN 样本时:https://www.tensorflow.org/tutorials/generative/dcgan

我没有在代码中找到应用博弈论和估计纳什均衡的地方。 有人可以显示我们在此代码中使用博弈论的地方吗?

这更像是一个 theoretical/conceptual 的答案,因为没有明确的代码部分可以称为博弈论。

基本上,博弈论的原理是在你有两个网络时实现的,生成器和鉴别器,相互竞争(对抗部分)。在 GAN 中,当你收敛时达到纳什平衡,即当鉴别器的损失没有以生成器和 v.v 为代价减少时。 (或者更正式地说,当对手的行动不影响玩家的决定时)。

在提供的示例中,您每 15 个 epoch 保存一个模型,以确保您可以在纳什均衡或足够接近纳什均衡时捕获模型:

    # Save the model every 15 epochs
    if (epoch + 1) % 15 == 0:
      checkpoint.save(file_prefix = checkpoint_prefix)

另一种方法是实施某种提前停止(或者如果您使用 tensorboard 跟踪两个网络的损失以可视化收敛)。

这个 article 似乎对 GAN 的纳什均衡有广泛的解释。