Rik*_*121 4 machine-learning neural-network genetic-algorithm evolutionary-algorithm es-hyperneat
我一直在阅读增强拓扑的NeuronEvolution,而这件事让我很困扰。在阅读肯尼思·斯坦利的《关于NEAT的论文》时,我想到了这个数字:
在第一个突变时,创新数从1,2,3,4,5,6变为1,2,3,4,5,6,7。
在第二个上,它从1,2,3,4,5,6变为1,2,3,4,5,6,8,9。
我的问题是为什么它跳过数字7而直接上升到8?我没有发现与删除创新数字有关的任何信息。
在第二个图上也是一样,父母1如何失去6,7,而父母2中的第8个基因又去了哪里?
创新编号(我将简称为IN)是一种特定结构的标签。因此,从1号神经元到2号神经元的连接将具有一个IN(例如1),并且具有该连接的所有网络的连接都将其标记为IN1。创建新连接时(通过添加连接突变或通过添加节点突变) ),首先要检查IN的“数据库”中是否存在这种连接。如果已经存在这样的连接,则使用其IN。如果不是,则增加一个IN计数器,新连接将获得这个新的IN并将其存储在数据库中。
在上部的第一个图中,从神经元3到神经元5添加了新的连接。如果这是在整个总体中出现的第一个这样的连接,则可以增加IN计数器并将该新的IN用于该连接。如果它已经发生在其他地方,则使用其IN而不是创建一个新的。可能是这两种情况中的任何一种,我们不知道其余人口的情况如何。碰巧连接3-> 5具有IN 7。
现在,在第一个图的底部,在神经元3和4之间添加神经元6,这意味着您添加了连接3-> 6和6-> 4。再次,您首先询问“数据库中的连接3-> 6是否存在IN?” 如果是,请使用该IN,否则请增加计数器。其他连接也一样。在该图中,您可以想象所有这些新连接都是新连接,因此在上部,IN计数器位于6,对于尚未遇到的新连接,您增加了IN计数器并为连接分配了7 。然后发生底部,有两个全新的连接,因此您将IN计数器增加到8和9。在底部,不存在具有IN 7的连接3-> 5,所以这就是IN 7不存在的原因那里。
关于第二个图,这只是一个示例,显示了在不相交的IN情况下分频器如何工作。举个例子,父母就是这样。但是,他们可以很容易地达到这种状态。想象一下,在进化的某个较早的时间点,亲本1仅有IN 1至5,而5是迄今为止最新的IN。然后,在种群中的其他地方,在神经元5和4之间添加了一个新的神经元(第6号),即创建了新的连接5-> 6和6-> 4。由于尚未遇到此类连接,因此IN计数器将增加到6和7。然后,此后,通过添加新的连接1-> 8来更改父级1。由于这也是新的,因此分配了新的IN 8。
| 归档时间: |
|
| 查看次数: |
811 次 |
| 最近记录: |