Intro
Profil
Projets
Recherche
Contact

Machine Learning / Reinforcement Learning

IA Super Mario Bros

Rôle Développeur IA
Contexte Perso
Année 2023-2024
Tech Stack Lua • Émulateur Eagle • Reinforcement Learning • NEAT • Machine Learning

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

01

Agent NeuroÉvolutif (NEAT)

02

Interfaçage avec émulateur NES

03

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

Apprentissage par RenforcementAlgorithmes génétiques (NEAT)Rétro-ingénierie et manipulation d'émulateursLogique en Lua