【问题标题】:What is NEAT (Neuroevolution of Augmenting Topologies)?什么是 NEAT(增强拓扑的神经进化)?
【发布时间】:2018-01-05 12:37:41
【问题描述】:

我在 youtube 和互联网上查找过 NEAT 是什么,但我只能找到使用 NEAT 的项目,但是除了维基百科条目(它只说明它的介绍,而且非常混乱)之外,我仍然有不知道它是什么,它是一个库,它是一种神经网络,它是一种训练神经网络的方法吗? 对不起,如果这是一个明显的问题。

【问题讨论】:

  • 为了您的信息,我恳请您也加入Artificial Intelligence。因为学习永远不会停止。
  • 我不知道有堆栈交换,谢谢(我才刚刚开始研究 AI)
  • 一旦加入社区,请确保您有效地通过社区指南。然后我们会学到很多东西。

标签: neural-network artificial-intelligence genetic-algorithm


【解决方案1】:

NEAT,即增强拓扑的神经进化,是由 Kenneth O'Stanley [1] 引入的一种基于种群的进化算法。

该算法基于几个关键特性:

复杂化

初始种群中的网络是最简单的(直到完全没有连接的极端情况,使输入和输出神经元不连接)并且该算法仅添加新的结构元素(神经元、连接)。这样,生成的网络往往非常小。

通过历史标记避免竞争惯例

在普通的进化算法中,很容易发生两个人编码相同(或非常相似)的行为但基因型非常不同的情况。这称为竞争约定。当这些人发生交叉时,他们的孩子可能比父母中的任何一方都差。 NEAT 通过保留新结构元素的历史标记来解决这个问题。当一个新的结构元素被创建(通过结构突变)时,它被分配一个创新编号(并且所有产生相同元素的突变,即使在不同的个体中也被分配这个相同的编号)。然后,当两个人交叉时,他们的基因型会以这样的方式对齐,即相应的创新数字匹配,并且只交换不同的元素。

物种形成和健身分享

NEAT 使用 species 的概念。这只是将人口细分为几组个体,称为物种。该细分基于个体的差异性,该差异性是基于其基因型的相似比对计算得出的,如进行交叉时使用的那样。来自不同物种的个体交叉的概率远小于物种内部的交叉。通过促进更多相似父母的交配,孩子不太可能比父母差很多,因为父母只是相容。

此外,在物种内,个体之间共享适应度。这有两个目的。 (1) 它保护个体免受突变 - 当发生突变时,适应度通常会很低,但由于存在适应度共享,个体有时间优化自身(权重)以适应这种新的结构变化。 (2) 促进多样性,因为物种越大,共享的适应度越多,而物种成员的适应度越差。

强烈推荐阅读原论文 [1]。该算法描述得非常好。还有一个NEAT Users Page,其中包含更多论文的链接以及 NEAT 的实现和使用。


[1] Kenneth O. Stanley 和 Risto Miikkulainen。通过增强拓扑发展神经网络。进化计算,10(2):99-127, 2002。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2019-08-29
    • 2019-02-16
    • 2019-11-14
    • 2017-10-10
    • 2013-06-30
    • 2019-12-06
    相关资源
    最近更新 更多