How is the bias node integrated in NEAT?

465 Views Asked by At

In NEAT you can add a special bias input node that is always active. Regarding the implementation of such a node there is not much information in the original paper. Now I want to know how the bias node should behave, if there is a at all a consensus.

So the question is:

  • Do connections from the bias node come about during evolution and can be split for new nodes just like regular connections or does the bias node always have connections to all non-input nodes?
1

There are 1 best solutions below

0
Tloy On

To answer my own question: According to the NEAT users page Kenneth O. Stanley talks about why the bias in NEAT is used as an extra input neuron:

Why does NEAT use a bias node instead of having a bias parameter in each node?

Mainly because not all nodes need a bias. Thus, it would unnecessarily enlarge the search space to be searching for a proper bias for every node in the system. Instead, we let evolution decide which nodes need biases by connecting the bias node to those nodes. This issue is not a major concern; it could work either way. You can easily code a bias into every node and try that as well.

My best guess is therefore that the BIAS input is treated like any other input in NEAT, with the difference that it is always active.