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