gpt4 book ai didi

neural-network - 什么是 NEAT(增强拓扑的神经进化)?

转载 作者:行者123 更新时间:2023-12-04 01:53:37 25 4
gpt4 key购买 nike

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

最佳答案

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

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

复杂化

初始群体中的网络是最简单的(最极端的情况是根本没有连接,输入和输出神经元未连接)并且算法只有 添加 新的结构元素(神经元、连接)。这样,生成的网络往往非常小。

通过历史标记避免竞争约定

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

物种形成与适应度分享

NEAT 使用物种的概念。这只是将人口分割为几组个体,称为物种。这种分割是基于个体的差异性,该差异性是基于在进行交叉时使用的相似基因型比对计算得出的。来自不同物种的个体交叉的概率则比物种内部的交叉小得多。通过促进更多相似 parent 的交配, child 不太可能比 parent 更糟糕,因为 parent 只是兼容。

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

强烈推荐阅读原论文[1]。算法描述的很好。还有一个NEAT Users Page有更多链接到更多论文以及 NEAT 的实现和使用。

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

关于neural-network - 什么是 NEAT(增强拓扑的神经进化)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45390481/

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