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

人工智能 神经网络 机器学习 整洁的
2021-10-25 09:45:08

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

这两个方程是:

δ=c1EN+c2DN+c3.W¯

fi=fij=1nsh(δ(i,j))

顺便说一句,我可以理解希腊符号,所以你不需要向我解释这些

原纸

1个回答

第一个方程处理距离。Delta或距离是衡量两个基因组彼此相容程度的指标。c1,c2和是您设置的参数来规定c3重要性请注意,如果您更改 c您很可能还必须更改 dt,这是距离阈值,或者 2 个基因组之间的最大距离可能是在它们被分成不同的物种之前。表示过量基因的总数。代表两个基因组中不相交基因的总数,代表总重量差EDWc1c2c3EDW匹配的基因之间,最后,N代表连接数较多的基因组所具有的连接数/基因数。例如,采用以下 2 个基因组:

[[1,.25][2,.55],[4,.78],[6,.2]]
and
[[1,.15][3,.92],[5,.37]]

其中0指数代表创新数量,1指数代表权重值。E 将是 1,因为有 1 个多余的基因,基因6D将是 4,因为连接24不在基因组 2 中,连接35不在基因组 1 中。W将是 0.10,因为只有连接1在两个基因组之间共享。

第二个公式有点复杂。根据我的理解,如果我错了,请纠正我,这是一个调整健身的公式。f′i是调整后的适应度,它将取代原来的适应度,fi对于整个种群中的每个基因组j是的,整个种群,而不仅仅是其物种中的每个基因组,它将计算 和 之间的距离适合度的基因组然后它将所有距离值相加,并将原始适应度除以总距离和,并设置为。下一个,jiififif'i

每个物种都被分配了f`i与其成员生物的调整适应度之和成比例的潜在不同数量的后代。

这种物种后代数量的分配是为了让一个物种不能接管整个种群,这首先是物种形成的重点,所以总而言之,这两个公式对物种形成的功能和效率至关重要NEAT 算法。