2

我有一个旨在玩 Connect 4 的神经网络,它衡量游戏状态对玩家 1 或玩家 2 的价值。

为了训练它,我让它与自己对战n数场比赛。

我发现,即使每 100 场比赛的均方平均值在 100,000 个 epoch 中不断提高,1000 场比赛的游戏效果也比 100,000 场要好。

(我通过挑战http://riddles.io上排名第一的玩家来确定这一点)

因此,我得出的结论是发生了过度拟合。

考虑到自我博弈,你如何成功地测量/确定/估计已经发生过拟合?即,我如何确定何时停止自我播放?

4

2 回答 2

2

我对强化学习不是很熟悉,更像是一个监督学习的人。话虽如此,我觉得您的选择永远不会与监督学习相同。

您需要找到在训练空间之外(再次有损)的 Inputs 性能开始下降的点(我使用该术语时会丢失)。发生这种情况时,您将终止培训。您需要提前停止。

对于有监督的学习,这将通过一个保留的开发集来完成。作为一个模仿有一个测试集。

在您的情况下,很明显这将使您的机器人扮演一群真实的人——这是对测试集的完美模仿。
这正是你所做的。

缺点是对真人的充分发挥很慢。
你可以做的部分抵消这一点,而不是暂停训练来做这个测试,拍摄你的网络快照,比如每 500 次迭代,然后在一个单独的过程中作为一个机器人启动它,然后测试它,然后记录得分,而网络仍在训练中。但是,在这种情况下这并没有真正的帮助,因为我认为即使是 1 次试玩游戏所花费的时间也比运行 500 次训练迭代所花费的时间要长得多。如果您的收敛速度不快,这仍然适用。

我认为,由于这个问题非常简单,因此这是出于学习目的。
在此基础上,您可以伪造真实的人。
Connect4是一款游戏空间足够小的游戏,经典的游戏AI应该可以做到近乎完美。
因此,您可以设置一个使用 Alpha-beta 剪枝极小极大值的机器人(作为其开发集等效项)。

针对 100 个左右的迭代器运行游戏,如果你的相对分数开始下降,你就知道你已经过度拟合了。

您可以做的另一件事是首先降低过度拟合的可能性。这不会帮助你检测到它,但如果你让它变得足够难让它过拟合,你可以在一定程度上假设它不是。所以 L1/L2 重量惩罚。退出。较小的隐藏层大小。

您还可以增加等效的训练集。除了纯粹的自我游戏之外,您还可以与其他机器人进行游戏,甚至可能使用不同超参数设置的其他版本。

于 2017-12-19T09:12:00.560 回答
1

与其测量/检测何时开始发生过拟合,不如采取措施防止它发生更容易。这样做的两个想法:

  1. 与其总是让智能体与自己对战,不如让它与从更大的旧版本中随机选择的智能体对战。这个想法在精神上与 Lyndon 对人类和/或 alpha-beta 搜索引擎进行测试的想法有些相似(并且与他在回答的最后一段中的想法非常相似)。但是,这里的目标不是测试和找出性能何时开始在一组测试对手中开始下降。目标只是创建一组多样化的训练对手,这样你的代理就不能只对其中一个进行过度拟合。我相信这种方法也用于 [1, 2]。

  2. 在训练期间将搜索算法(如 MCTS)直接结合到代理的动作选择中。NN + 搜索的组合(通常由 NN 通知/偏向)通常比 NN 本身要强一些。因此,您可以随时更新 NN 以使其行为更像 NN + search 的行为,并且通常会有所改进。其中的搜索部分不太可能过度拟合特定的对手(因为它不是从经验中学习的,所以搜索总是以相同的方式表现)。如果 NN 自身开始对特定对手进行过拟合,并开始提出总体上不好但对特定对手有利的动作,则搜索算法应该能够通过过拟合 NN “利用/惩罚”这个“错误” , 并因此向 NN 提供反馈以再次摆脱过度拟合。这种方法的例子可以在 [3, 4, 5] 中找到。

第二个想法可能比第一个想法需要更多的工程努力,而且它也只有在你真的可以实现像 MCTS 这样的搜索算法时才有效(你可以,因为你知道游戏的规则),但它可能会更好一些。我不确定它是否会更好,我只是怀疑它会因为它被用于后来的出版物中,结果比使用第一个想法的论文更好。


参考

[1] Silver, D., Huang, A., Maddison, CJ, Guez, A., Sifre, L., van den Driessche, G., Schrittwieser, J., Antonoglou, I., Panneershelvam, V., Lanctot , M., Dieleman, S., Grewe, D., Nham, J., Kalchbrenner, N., Sutskever, I., Lillicrap, T., Leach, M., Kavukcuoglu, K., Graepel, T. 和哈萨比斯,D.(2016 年)。使用深度神经网络和树搜索掌握围棋游戏。自然,第 529 卷,第 7587 期,第 484-489 页。

[2] Bansal, T.、Pachocki, J.、Sidor, S.、Sutskever, I. 和 Mordatch, I. (2017)。通过多智能体竞争出现的复杂性。arXiv:1710.03748v2

[3] Anthony, TW, Tian, Z. 和 Barber, D. (2017)。使用深度学习和树搜索快速和慢速思考。arXiv:1705.08439v4

[4] Silver, D., Schrittwieser, J., Simonyan, K, Antonoglou, I., Huang, A., Guez, A., Hubert, T., Baker, L., Lai, M., Bolton, A .、Chen, Y.、Lillicrap, T.、Hui, F.、Sifre, L.、van den Driessche, G.、Graepel, T. 和 Hassabis, D.(2017 年)。在没有人类知识的情况下掌握围棋游戏。自然,卷。550,第 7676 号,第 354-359 页。

[5] Silver, D., Hubert, T., Schrittweiser, J., Antonoglou, I., Lai, M., Guez, A., Lanctot, M., Sifre, L., Kumaran, D., Graepel, T.、Lillicrap, T.、Simonyan, K. 和 Hassabis, D. (2017c)。使用通用强化学习算法通过自我对弈掌握国际象棋和将棋。arXiv:1712.01815v1

于 2018-01-01T11:24:18.717 回答