gpt4 book ai didi

python - 我的 Neuroevolution of Augmenting Topologies 实现无法解决 XOR 问题

转载 作者:行者123 更新时间:2023-12-04 17:35:23 27 4
gpt4 key购买 nike

我最近尝试自己实现 NEAT(增强拓扑的神经进化),但在解决 XOR 问题时似乎陷入了某种局部最大值。

我的实现能够按照 NEAT 算法的预期添加隐藏节点和连接,并且我的算法有可能解决它,因为它能够在数百代后的极少数情况下解决它。

我在这个项目中的所有代码都可以在 https://github.com/Maxwell-Hunt/NEAT 找到, 有关此算法的原始论文可以在 http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf 找到.

当我试图让它解决 XOR 时,它通常能够得到正确的结果:[0,0] -> [0], [0,1] -> [1], [1,0] -> [1],但它也得到 [1,1] -> 1,这是不正确的。

最佳答案

我已经在 Ruby 中实现了 NEAT,它确实很好地解决了 XOR 问题。

https://github.com/flajann2/rubyneat

请随意阅读和窃取我的代码。

调试这样的东西可能很棘手。对于初学者,请密切注意您的健身计划。我没有机会查看您的代码,但它应该提供部分答案,您会在我的代码中看到:

https://github.com/flajann2/rubyneat_examples

您可能还想密切关注 S 型函数的工作原理。不能太陡等。

此外,问题还可能在于您的选择和交配算法。如果您没有正确理解它们,进化可能不会开始。

我的代码大约需要运行 100-200 次才能得出 XOR 的正确解决方案。然而,它应该快得多,而且我知道我需要做些什么来改进它,但它确实有效。

希望这对您有所帮助。

关于python - 我的 Neuroevolution of Augmenting Topologies 实现无法解决 XOR 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56870925/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com