Expérience 02
Agents évolutifs
Une population de créatures dotées d'un minuscule cerveau — un réseau de neurones — placée dans un monde avec de la nourriture, où l'énergie s'épuise. Aucune ligne de code ne leur dit de chercher à manger : ce « comportement » émerge, génération après génération, de la seule sélection naturelle.
Qu'est-ce que la neuroévolution ?
Chaque agent est piloté par un tout petit réseau de neurones : quelques dizaines à quelques centaines de poids qui transforment ce que l'agent « perçoit » (des rayons qui détectent de la nourriture et d'autres agents à proximité, plus sa propre énergie) en une décision de mouvement. Ce réseau n'a jamais été entraîné à reconnaître de la nourriture ni programmé à s'en approcher — au départ de chaque expérience, ses poids sont tirés au hasard, et son comportement l'est tout autant.
Ce qui fait progresser la population, ce n'est pas la rétropropagation du gradient utilisée en apprentissage profond classique : c'est un algorithme génétique. À chaque génération, les agents sont évalués sur leur capacité à survivre et à se nourrir (leur « fitness »), les plus performants sont sélectionnés pour se reproduire — leurs poids sont copiés et légèrement mutés — et les moins performants disparaissent. Aucune cible, aucune fonction de perte différentiable, aucune donnée étiquetée : seulement une sélection répétée, comme en biologie évolutive.
Pourquoi c'est de l'émergence — et en quoi c'est différent de Lenia
Chez Lenia, l'émergence produit des formes : une règle locale identique partout fait apparaître une structure stable et mobile en quelques centaines de pas. Ici, l'émergence produit un comportement : aucun agent individuel n'évolue au fil d'une simulation — c'est la population tout entière qui change de génération en génération. Le réflexe de « chercher » la nourriture n'existe dans aucune ligne de code ; il apparaît parce que les agents qui, par mutation aléatoire, ont fini par s'orienter vers la nourriture ont laissé plus de descendants que les autres.
LifeLabs ne prétend pas que ces agents « veulent » quoi que ce soit, ni qu'ils sont conscients de la nourriture qu'ils poursuivent : un réseau de quelques dizaines de poids n'a pas de représentation du monde comparable à la nôtre. Mais leur comportement satisfait un critère fonctionnel précis — il s'améliore, génération après génération, sur une tâche de survie — ce qui justifie d'employer des mots comme « chercher », « éviter » ou « apprendre » entre guillemets, comme un raccourci descriptif plutôt que comme une affirmation sur leur expérience subjective.
Piloter
Rejeu d'une trajectoire
Le lecteur ci-dessous rejoue, image par image, les positions enregistrées d'une population d'agents et de leur nourriture au cours d'un run. Tant qu'aucun run réel n'a été publié, c'est une trajectoire d'exemple qui s'affiche — le mécanisme de rejeu est identique.
Chargement de la trajectoire…
Le rejeu n'a pas pu être chargé
La trajectoire de ce run n'a pas pu être récupérée. En attendant, voici une capture vidéo de la simulation, quand elle est disponible.
Les signes vitaux mesurés
Chaque run enregistre cinq séries temporelles, calculées génération après génération, qui servent de « signes vitaux » à la population observée :
- Population
- le nombre d'agents simulés dans la génération courante — la sélection et la reproduction en font varier la composition, rarement l'effectif total.
- Fitness moyenne
- la fitness moyenne de la population, c'est-à-dire le score moyen (survie, nourriture trouvée) utilisé pour choisir qui se reproduit — une fitness moyenne qui progresse signale que la population s'améliore collectivement sur la tâche.
- Vitesse d'approche de la nourriture
- la vitesse à laquelle les agents réduisent leur distance à la nourriture la plus proche au fil d'un épisode — c'est le signal d'émergence le plus direct : proche de zéro pour une population encore aléatoire, elle augmente à mesure qu'un comportement de recherche de nourriture s'installe.
- Diversité comportementale
- une mesure de la variété des comportements au sein d'une même génération — elle recule quand une stratégie dominante prend le dessus sur le reste de la population, et reste élevée tant que l'algorithme génétique continue d'explorer plusieurs approches.
- Énergie moyenne
- la réserve d'énergie moyenne des agents en fin d'épisode — un indicateur indirect d'efficacité : une population qui termine avec de l'énergie en réserve se nourrit mieux qu'elle ne dépense.