Machine Learning / Reinforcement Learning
IA Super Mario Bros
Projet personnel d'analyse et d'adaptation basé sur une implémentation existante (MarI/O). Développement d'un agent IA en Lua s'exécutant sur l'émulateur Eagle via des algorithmes d'apprentissage par renforcement (NeuroEvolution). Le travail a consisté à entraîner l'agent sur plusieurs niveaux, à ajuster les paramètres de fitness et de mutation pour éviter le surentraînement, et à analyser l'évolution de ses performances au fil des générations.
01. Le Défi
Le défi principal résidait dans le fine-tuning des hyperparamètres d'apprentissage. Il fallait trouver le bon équilibre pour encourager l'agent à explorer le niveau sans rester bloqué, tout en évitant le surentraînement sur une configuration spécifique pour qu'il puisse s'adapter à de nouveaux obstacles.
02. La Solution Technique
Adoption de l'algorithme NEAT (NeuroEvolution of Augmenting Topologies). L'IA commence avec un réseau neuronal très simple et mute au fil des générations (ajouts de nœuds et connexions). L'émulateur Eagle permet de lire la mémoire du jeu en temps réel pour analyser l'environnement (obstacles, ennemis) et envoyer ces données aux nœuds d'entrée du réseau.
03. Fonctionnalités Implémentées
Agent NeuroÉvolutif (NEAT)
Interfaçage avec émulateur NES
Analyse de fitness sur la distance parcourue et le temps
Impact & Apprentissage.
"L'agent IA a réussi à terminer différents niveaux de façon autonome en optimisant ses mouvements, prouvant la flexibilité de l'algorithme face aux environnements dynamiques."
Compétences Sécurisées