如何判断我的自我玩神经网络是否过度拟合

时间:2017-12-19 00:15:58

标签: neural-network reinforcement-learning temporal-difference

我有一个神经网络,可以播放连接4,它可以衡量玩家1或玩家2的游戏状态值。

为了训练它,我正在玩n次游戏。

我发现1000个游戏的游戏效果比10万游戏更好,尽管每100个游戏的均值平均值在100,000个纪元中不断提升。

(我通过挑战http://riddles.io上排名最高的玩家

来确定这一点 因此,我得出了过度拟合的结论。

考虑到自我游戏,您如何成功地测量/确定/估计过度拟合?即,如何确定何时停止自我游戏?

2 个答案:

答案 0 :(得分:1)

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

您需要在训练空间之外找到输入(并且我使用该术语丢失)的表现点(再次丢失), 开始减少。 当发生这种情况时,你终止训练 您需要提前停止。

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

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

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

我认为,由于这个问题很简单,这是出于学习目的 在此基础上,你可以伪造真实的人 Connect4是一款具有足够小的游戏空间的游戏,经典游戏AI应该能够做得非常完美 所以你可以设置一个机器人来玩它(就像它的Dev-set equiv),它使用Alpha-beta修剪极小极大。

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

你可以做的另一件事是,首先让它不太可能过度配戴。哪个不能帮助你检测它,但是如果你让它足够难以过度配合,你可以在某种程度上假设它不是。 所以L1 / L2重量惩罚。退出。较小的隐藏层大小。

您还可以增加等效的训练集。 而不是纯粹的自我游戏,你可以使用对抗其他机器人, 可能甚至其他版本的自身设置了不同的超参数。

答案 1 :(得分:1)

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

  1. 不要总是让代理对抗自己,而是让它与从更大的旧版本中随机选择的代理进行对战。这个想法在精神上与Lyndon针对人类和/或alpha-beta搜索引擎进行测试的想法有些相似(并且与他在答案的最后一段中的想法非常相似)。然而,这里的目标不是测试并弄清楚性能何时开始下降对抗一组对手;我们的目标只是创造一组多样化的训练对手,这样你的经纪人就无法承受只对其中一人的过度训练。我相信这种方法也用于[1,2]。

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

  3. 第二个想法可能需要比第一个想法更多的工程工作,它也只有在你真正能够实现像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年)。用深度神经网络和树搜索掌握Go游戏。 Nature ,第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)。掌握没有人类知识的围棋游戏。 自然,Vol。 550,No。7676,pp.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