← Accueil

NEAT

0/6

NEAT

Comment les reseaux de neurones peuvent-ils se concevoir eux-memes ?

Decouvrez NEAT (NeuroEvolution of Augmenting Topologies), un algorithme qui fait evoluer des reseaux de neurones par selection naturelle. De la mutation a la speciation, explorez comment l'evolution peut concevoir des architectures optimales. Completez les 6 defis interactifs pour maitriser les concepts !

Commencer ↓

01La Neuroevolution

Dans le cours sur les reseaux de neurones, vous avez decouvert la retropropagation : un algorithme qui ajuste les poids en calculant des gradients.

Mais que faire si :

  • Vous n'avez pas de labels pour l'apprentissage supervise ?
  • La fonction d'objectif n'est pas derivable ?
  • Vous voulez que l'architecture elle-meme evolue ?

C'est la que la neuroevolution entre en jeu : une approche inspiree de la selection naturelle qui fait evoluer des populations de reseaux de neurones.

Retropropagation

Forces : Rapide, precis

Limites : Besoin de labels, architecture fixe

Neuroevolution

Forces : Pas de labels, architecture evolutive

Limites : Plus lent, stochastique

02Le Genome

Dans NEAT, un reseau de neurones est encode comme un genome : un ensemble de genes qui definissent sa structure.

Il existe deux types de genes :

  • NodeGene : Represente un neurone (id, type, biais)
  • ConnectionGene : Represente une synapse (entree, sortie, poids, actif, innovation)

Chaque connexion possede un numero d'innovation unique qui permet de suivre son historique evolutif a travers les generations.

Construction du Genome

Cliquez sur Play pour animer la construction du génome

0/17
Input/Bias Hidden Output Poids + Poids -

NodeGenes

IDTypeBiais

ConnectionGenes

InOutPoidsActifInnov
Defi 1

Comptez combien de connexions activees pointent vers les neurones de sortie.

03Les Mutations

Les mutations sont le moteur de la variation genetique. Dans NEAT, il existe trois types principaux :

  • Mutation de poids : Ajuste legerement les poids (le plus frequent)
  • Ajout de connexion : Cree un nouveau lien entre deux neurones
  • Ajout de noeud : Divise une connexion en inserant un neurone cache

Ces mutations permettent aux reseaux de complexifier progressivement leur structure, partant d'un reseau minimal pour evoluer vers des architectures sophistiquees.

Defi 2

Partez du reseau minimal et appliquez des mutations pour atteindre :

Au moins 1 neurone cache
Au moins 8 connexions

04Innovation & Crossover

Lorsque deux genomes se reproduisent, comment aligner leurs genes ? C'est la que les numeros d'innovation interviennent.

Chaque nouvelle connexion recoit un numero unique. Lors du crossover :

  • Matching genes : Meme numero d'innovation dans les deux parents
  • Disjoint genes : Numero present dans un seul parent (milieu de plage)
  • Excess genes : Numero present dans un seul parent (fin de plage)

L'enfant herite de tous les genes du parent le plus fit, et choisit aleatoirement parmi les matching genes.

Animation du Crossover

Cliquez sur Play pour voir le crossover étape par étape

0/5

Parent 1 (Fitness: 8.5)

Parent 2 (Fitness: 6.2)

↓ Crossover ↓

Enfant

Defi 3

Identifiez le type de chaque gene dans le crossover :

05La Speciation

Imaginez une innovation prometteuse mais fragile : un nouveau neurone qui augmente temporairement l'erreur. Dans une competition directe, cette innovation disparaitrait !

La speciation protege la diversite en regroupant les genomes similaires en especes. La distance de compatibilite mesure la similarite :

δ = c1·E/N + c2·D/N + c3·W

Ou E = genes excess, D = genes disjoint, N = taille du plus grand genome, W = difference moyenne de poids.

Si δ < seuil, deux genomes appartiennent a la meme espece.

Animation de la Spéciation

Regardez comment l'algorithme groupe les génomes similaires en espèces

Défi 4 : Comprendre la Spéciation

Complétez l'animation pour voir comment 6 génomes sont groupés en 3 espèces distinctes.

06Fitness & Selection

La fitness mesure la performance d'un genome sur une tache (survie dans un jeu, distance parcourue, etc.).

Mais pour proteger les especes petites et innovantes, NEAT utilise le fitness sharing :

Fitness ajustee = Fitness brute / Taille de l'espece

Ainsi, une espece nombreuse voit sa fitness divisee : cela evite qu'une espece dominante n'elimine toutes les autres.

Lors de la reproduction, chaque espece recoit un nombre de descendants proportionnel a sa fitness ajustee totale.

Fitness brute

Fitness ajustee

Defi 5

Une espece a 4 membres avec fitness : 100, 80, 60, 40. Calculez la fitness ajustee du meilleur individu.

07Le Cycle d'Evolution

NEAT fonctionne par generations. A chaque generation :

  1. Evaluation : Chaque genome joue et obtient une fitness
  2. Speciation : Les genomes sont regroupes en especes
  3. Selection : Seuls les meilleurs de chaque espece se reproduisent
  4. Crossover : Combinaison de deux parents pour creer un enfant
  5. Mutation : L'enfant subit des mutations aleatoires

Les especes stagnantes (pas d'amelioration pendant N generations) sont eliminees.

Generation : 0 Meilleure fitness : 0.00 Especes : --
Defi 6

Faites evoluer la population sur le probleme XOR jusqu'a atteindre fitness > 90%.

Fitness : 0.0% / 90%

08Applications Reelles

NEAT a ete utilise avec succes dans de nombreux domaines : jeux video, robotique, simulation, art generatif...

Sur ce site, vous pouvez voir NEAT en action sur deux demos :

  • Flappy Bird : NEAT apprend a jouer en evaluant la position des tuyaux
  • Course de voitures : NEAT evolue des pilotes en utilisant des capteurs de distance

Observez la difference entre un reseau de Generation 1 (simple, aleatoire) et Generation 50+ (complexe, optimise).

Generation 1

Noeuds : --

Connexions : --

Fitness : --

Generation 50

Noeuds : --

Connexions : --

Fitness : --

Recapitulatif

01 Neuroevolution

Alternative a la retropropagation basee sur la selection naturelle.

02 Genome

NodeGenes et ConnectionGenes avec numeros d'innovation.

03 Mutations

Poids, ajout de connexion, ajout de noeud.

04 Crossover

Reproduction avec alignement par numeros d'innovation.

05 Speciation

Protection de la diversite par regroupement en especes.

06 Fitness Sharing

Ajustement de la fitness pour eviter la domination.

07 Evolution

Cycle complet : evaluation, speciation, selection, reproduction.

08 Applications

Jeux, robotique, simulation, art generatif.

0/6 defis completes

Guide de Configuration NEAT

Parametres cles et leurs influences sur l'evolution

💡 Conseils de Configuration

  • Commencer simple : Population de 50-150, seuil de speciation a 3.0
  • Taux de mutation : Poids 80%, Connexion 5%, Noeud 3%
  • Si l'evolution stagne : Augmenter taux mutation ou reduire seuil speciation
  • Si trop chaotique : Reduire taux mutation, augmenter seuil speciation
  • Problemes complexes : Augmenter population (200-500) et generations (100+)
  • Selection : Garder top 20-30% de chaque espece
  • Coefficients c1, c2, c3 : Valeurs standard 1.0, 1.0, 0.4 fonctionnent bien