python - 博弈论在生成对抗网络中的用途在哪里
问题描述
我们知道生成对抗网络的训练是基于博弈论的,并且在训练过程中达到了纳什均衡。但是当使用 tensorflow 查看 GAN 样本时:https ://www.tensorflow.org/tutorials/generation/dcgan ,
我没有在代码中找到应用博弈论和估计纳什均衡的地方。有人可以展示我们在这段代码中使用博弈论的地方吗?
解决方案
这更像是一个理论/概念上的答案,因为您称之为博弈论的代码中没有明确的部分。
基本上,博弈论的原理是在您有两个网络(生成器和判别器)相互竞争时实现的(对抗部分)。在 GAN 中,当你收敛时达到纳什均衡,即当鉴别器的损失没有以生成器和 vv 为代价而减少时(或更正式地说,当对手的行动不影响玩家的决定时)。
在提供的示例中,您每 15 个 epoch 保存一个模型,以确保您可以在纳什均衡或足够接近它时捕获模型:
# Save the model every 15 epochs
if (epoch + 1) % 15 == 0:
checkpoint.save(file_prefix = checkpoint_prefix)
另一种方法是实现某种提前停止(或者如果您使用 tensorboard 跟踪两个网络的损失以可视化收敛)。
这篇文章似乎对 GAN 的纳什均衡进行了广泛的解释。
推荐阅读
- android - 从 webview 打印 pdf.js 生成的文档
- javascript - 如何处理流星呼叫内或呼叫后的事件?
- macos - 如何让 /usr/bin/mail 在 Mac 10.14 上通过 gmail 发送邮件?
- html - 通过查询插入的时间在几分钟后显示更多数字
- java - 如何使用 apache camel 从 elasticseach 获取所有条目?
- codeigniter - 发送带有个性化正文的邮件
- pdf - 为什么我的自定义 URI 在浏览器栏中有效,但在 PDF 链接中无效?
- richtextbox - 在 RichTextBox 中突出显示(选择)文本而不影响当前的 .SelectionBackColor 或 .SelectionColor
- spring-boot - Spring Boot 应用程序中的控制器继承
- javascript - 如何替换“file_get_contents”页面的本地url;