【发布时间】:2016-03-24 23:08:32
【问题描述】:
我有一个神经网络在玩井字游戏。 (我知道还有其他更好的方法,但我想了解 NN) 因此,NN 与随机 AI 对抗。首先,它应该学会做出允许的动作,即。不选择已被占用的字段。
然而,它并没有走得太远。 当 NN 选择非法移动时,我会优化权重,以使与另一个随机选择(合法)字段的距离最小化。 (有一个输出值应该在 1 到 9 之间)。
我的问题是:在改变权重时,以前优化的结果现在也改变了。所以我有这种过度拟合:每次我反向传播以优化一种特定情况的权重时,其他情况的决策都会变得更糟!
我知道我应该有 9 个输出神经元而不是 1 个,并且可能不应该使用随机场作为目标,因为我认为这会搞砸事情。我开始改变这一点。
不过,问题似乎仍然存在。明显地。我怎样才能在一种情况下改进决策而不忘记所有其他情况? 我想出的一个解决方案是“记住”每个玩过的游戏并同时优化所有玩过的游戏。
但是,一段时间后,这对计算的要求就很高了。此外,它似乎朝着全面列举所有可能的董事会情况的方向发展。这对于井字游戏来说可能是可行的,但如果我转向另一款游戏,比如围棋,这将变得不可行。
我的错误在哪里?我一般如何解决这个问题?或者我在哪里可以读到它?非常感谢!
【问题讨论】:
标签: neural-network tic-tac-toe backpropagation