我们知道生成性对抗网络的训练是基于博弈论的,并且在训练过程中达到了纳什均衡。但当使用tensorflow:https://www.tensorflow.org/tutorials/generative/dcgan查看GAN样本时,
我在代码中没有发现博弈论在哪里被应用,纳什均衡在哪里被估计。谁能展示一下我们在这段代码中使用博弈论的地方?
发布于 2020-02-19 20:38:46
这更多的是一个理论/概念上的答案,因为代码中没有明确的部分,你可以称之为博弈论。
基本上,博弈论的原理是当你有两个网络,生成器和鉴别器,相互竞争时实现的(对抗性部分)。在GAN中,当你收敛时,即当鉴别器的损失没有以发生器和v.v为代价减少时,就达到了纳什均衡。(或者更正式地说,当对手的行动不影响玩家的决定时)。
在提供的示例中,每15个时期保存一个模型,以确保可以在纳什均衡或足够接近纳什均衡时捕获模型:
# Save the model every 15 epochs
if (epoch + 1) % 15 == 0:
checkpoint.save(file_prefix = checkpoint_prefix)另一种方法是实现某种形式的提前停止(或者如果你使用tensorboard跟踪两个网络的损失来可视化收敛)。
这个article似乎对GAN的纳什均衡有一个广泛的解释。
https://stackoverflow.com/questions/60300102
复制相似问题