NEAT 物种形成算法是如何工作的?

How does the NEAT speciation algorithm work?

我一直在阅读 NEAT(增强拓扑的神经进化)的工作原理,我已经了解了它的主要思想,但一直困扰我的一件事是如何将不同的网络划分为物种。我已经完成了算法,但它对我来说没有多大意义,而且我阅读的论文也没有很好地解释它,所以如果有人可以解释每个组件是什么以及它在做什么那么那非常感谢。

2 个等式是:

The original paper

NEAT 中的物种形成类似于其他进化算法使用的适应度共享。这个想法是惩罚类似的解决方案,对更多样化的人群造成压力。

delta 项是两个解决方案之间距离的度量。这里使用的距离度量专门用于 NEAT 使用的可变长度基因组。较小的增量值表示更相似的解决方案。

如果两个解决方案之间的距离分别大于或小于给定阈值,则 NEAT 中实现的共享函数会导致值为 0 或 1。每个解决方案都与候选群体中的其他解决方案进行比较,并且通过结果共享函数值的总和来修改适应度。如果一个解决方案与种群中的其他几个解决方案相似,则修改后的适应度将显着降低。