Neuroévolution expliquée aux experts


La neuroévolution est une approche qui utilise des algorithmes évolutionnaires pour optimiser les réseaux neuronaux en termes de topologie et de pondération.

Formellement, une population P_t de réseaux à la génération t est transformée par des opérateurs de sélection S, des opérateurs de mutation M et une recombinaison R :

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

Chaque individu i ∈ P_t est évalué selon une fonction de fitness f(i) qui mesure la performance du réseau sur la tâche cible.

La neuroévolution comprend des méthodes telles que NEAT, qui étend incrémentalement les topologies des réseaux tout en optimisant les poids, ainsi que les CPPN (Compositional Pattern Producing Networks) pour le développement de structures complexes.

Ces méthodes permettent d'adapter à la fois l'architecture et les paramètres des réseaux neuronaux, ce qui est particulièrement avantageux pour les problèmes avec des objectifs non différentiables ou des environnements dynamiques.


Définition :
« La neuroévolution est l'application d'algorithmes évolutionnaires pour optimiser simultanément la structure et les paramètres des réseaux neuronaux, basée sur une évaluation de leur performance. »


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