据我所知,NEAT(增强拓扑的神经进化)是一种利用进化概念来训练神经网络的算法。另一方面,强化学习是一种机器学习类型,其概念是“奖励”更成功的节点。
这两个领域看起来相当相似,它们之间的区别是什么?还是NEAT是从强化学习中衍生出来的?
回答:
简而言之,它们几乎没有什么共同点。
NEAT是一种进化方法。这是一种优化函数的黑盒方法。在这种情况下 – 神经网络的性能(可以轻松测量)相对于其架构(在进化过程中进行更改)。
强化学习是关于代理,学习在环境中表现良好的策略。因此,它们解决了不同、更复杂的问题。理论上,你可以使用RL来学习NEAT,因为你可以提出这样的问题:“给定一个神经网络作为状态,学习如何随着时间的推移修改它以获得更好的性能”。关键的区别在于 – NEAT的输出是一个网络,RL的输出是一个策略、策略、算法。可以多次使用的东西,以在某个环境中工作,采取行动并获得奖励。