我最近开始了一个非常雄心勃勃的项目,我不得不说它比我预期的要好得多,我成功地从头开始编写了一个神经网络,可以在非常可接受的水平下玩跳棋。
虽然我有一个问题阻止我拥有更强大的 AI,我想有些人会称之为过度拟合,我不确定这个术语在这种情况下是否正确。
主要问题是,经过一定数量的世代后,权重变得如此之大,以至于董事会状态的最小变化都会极大地改变对它的评估,从而有效地限制了任何类型的细微分析。
更多信息:
神经网络结构:
输入层是一系列独立的层,它们将电路板的一部分作为输入(1、0.5、-0.5 和 -1 是从电路板上获取的输入)。
我使用了 2 个隐藏层,每个隐藏层大约 30 个和 10 个节点,输出节点是对板的评估。
遗传算法
随机生成 30 个神经网络,权重从 -0.2 到 0.2,它们与随机对手进行 20 场比赛,并据此对它们进行评分(-2 分表示失败,-1 表示平局 [120 步没有赢家],1 分表示失败)一场胜利)。
保留 15 个最好的并将其复制/粘贴到 15 个最差的之上,然后使用以下等式对新网络的每个权重进行变异:
在哪里是从 0.05 开始的特定权重的突变参数,是一个随机标准高斯数,并且是重量。
我希望这里有人可以帮助我弄清楚如何防止重量在 40 代左右后失控。