Neuroevolution ist ein Ansatz, bei dem evolutionäre Algorithmen eingesetzt werden, um neuronale Netze hinsichtlich ihrer Topologie und Gewichtung zu optimieren.
Formal wird eine Population P_t von Netzwerken zu Generation t durch Auswahloperatoren S, Mutationsoperatoren M und Rekombination R transformiert:
P_{t+1} = R(M(S(P_t)))
Jedes Individuum i ∈ P_t wird anhand einer Fitnessfunktion f(i) bewertet, die die Leistungsfähigkeit des Netzwerks bei der Zielaufgabe misst.
Neuroevolution umfasst Verfahren wie NEAT, das inkrementell Netzwerktopologien erweitert und gleichzeitig Gewichte optimiert, sowie CPPNs (Compositional Pattern Producing Networks) zur Entwicklung komplexer Strukturen.
Diese Methoden ermöglichen es, sowohl die Architektur als auch die Parameter neuronaler Netze adaptiv zu gestalten, was insbesondere bei Problemen mit nicht differenzierbaren Zielgrößen oder dynamischen Umgebungen vorteilhaft ist.
Definition:
„Neuroevolution ist die Anwendung evolutionärer Algorithmen zur gleichzeitigen Optimierung der Struktur und Parameter neuronaler Netze, basierend auf einer Fitnessbewertung ihrer Leistung.“
Quelle:
Stanley, K. O., & Miikkulainen, R. (2002). Evolving Neural Networks through Augmenting Topologies. Evolutionary Computation, 10(2), 99-127.