Neuroevolution Explained for Experts


Neuroevolution is an approach that uses evolutionary algorithms to optimize neural networks in terms of their topology and weighting.

Formally, a population P_t of networks at generation t is transformed by selection operators S, mutation operators M, and recombination R:

P_{t+1} = R(M(S(P_t)))

Each individual i ∈ P_t is evaluated based on a fitness function f(i), which measures the network's performance on the target task.

Neuroevolution includes methods such as NEAT, which incrementally expands network topologies while simultaneously optimizing weights, as well as CPPNs (Compositional Pattern Producing Networks) for developing complex structures.

These methods enable adaptive design of both the architecture and parameters of neural networks, which is particularly advantageous for problems with non-differentiable objectives or dynamic environments.


Definition:
“Neuroevolution is the application of evolutionary algorithms for the simultaneous optimization of the structure and parameters of neural networks, based on a fitness evaluation of their performance.”


Source:
Stanley, K. O., & Miikkulainen, R. (2002). Evolving Neural Networks through Augmenting Topologies. Evolutionary Computation, 10(2), 99-127.