Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the relation between NEAT and reinforcement learning?

As far as I know, NEAT (NeuroEvolution of Augmenting Topologies) is an algorithm that uses the concept of evolution to train a neural network. On the other hand, reinforcement learning is a type of machine learning with the concept of "rewarding" more successful nodes.

What is the difference between these two fields as they seem to be quite similar? Or is NEAT derived from reinforcement learning?

like image 796
daniellim Avatar asked Feb 18 '17 15:02

daniellim


People also ask

Is NEAT a reinforcement learning?

NeuroEvolution of Augmenting Topology (NEAT) is one of the most successful algorithms for solving traditional reinforcement learning (RL) tasks such as pole-balancing. However, the algorithm faces serious challenges while tackling problems with large state spaces, particularly the Atari game playing tasks.

Is chess based on reinforcement learning?

Learning to play board games such as Go, shogi, and chess is not the only area where reinforcement learning has been applied.

Which learning is related to reinforcement learning?

Reinforcement learning is an area of Machine Learning. It is about taking suitable action to maximize reward in a particular situation. It is employed by various software and machines to find the best possible behavior or path it should take in a specific situation.

What type of machine learning is NEAT?

NEAT is an example of a topology and weight evolving artificial neural network (TWEANN) which attempts to simultaneously learn weight values and an appropriate topology for a neural network.


1 Answers

In short they have barely anything in common.

NEAT is an evolutionary method. This is a black box approach to optimization of functions. In this case - performance of the neural net (which can be easily measured) wrt. to its architecture (which you alter during evolution).

Reinforcement learning is about agents, learning policies to behave well in the environment. Thus they solve different, more complex problem. In theory you could learn NEAT using RL, as you might pose the problem of "given a neural network as a state, learn how to modify it over time to get better performance". The crucial difference will be - NEAT output is a network, RL output is a policy, strategy, algorithm. Something that can be used multiple times to work in some environment, take actions and obtain rewards.

like image 61
lejlot Avatar answered Sep 27 '22 19:09

lejlot