与其测量/检测何时开始发生过拟合,不如采取措施防止它发生更容易。这样做的两个想法:
与其总是让代理与自己对战,不如让代理与从大量旧版本自身中随机选择的代理对战。这个想法在精神上与 Lyndon 对人类和/或 alpha-beta 搜索引擎进行测试的想法有些相似(并且与他在答案最后一段中的想法非常相似)。但是,这里的目标不是测试和找出性能何时开始在一组测试对手中开始下降。目标只是创建一组多样化的训练对手,这样您的代理就不能只对其中一个进行过度拟合。我相信这种方法也被用于 [1, 2]。
在训练期间将搜索算法(如 MCTS)直接整合到代理的动作选择中。 NN + 搜索的组合(通常由 NN 通知/偏向)通常比 NN 本身要强一些。所以你总是可以不断更新神经网络,让它的行为更像神经网络+搜索的行为,这通常是一个改进。其中的搜索部分不太可能过度拟合特定的对手(因为它不是从经验中学习的,所以搜索总是以相同的方式表现)。如果 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 ., 和 Hassabis, D. (2016)。使用深度神经网络和树搜索掌握围棋游戏。 自然,第 529 卷,第 7587 期,第 484-489 页。
[2] Bansal, T.、Pachocki, J.、Sidor, S.、Sutskever, I. 和 Mordatch, I. (2017)。通过多智能体竞争出现的复杂性。 arXiv:1710.03748v2.
[3] Anthony, T. W.、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.