我最近尝试自己实现 NEAT(增强拓扑的神经进化),在解决 XOR 问题时,它似乎陷入了某种局部最大值。
我的实现能够按照 NEAT 算法的预期添加隐藏节点和连接,并且我的算法有可能解决它,因为它能够在数百代之后在极少数情况下解决它。
我在这个项目中的所有代码都可以在https://github.com/Maxwell-Hunt/NEAT找到,关于这个算法的原始论文可以在http://nn.cs.utexas.edu/downloads/找到论文/stanley.ec02.pdf。
当我试图让它解决 XOR 时,它通常能够得到正确的结果:[0,0] -> [0], [0,1] -> [1], [1,0] -> [1 ],但它也得到不正确的 [1,1] -> 1。