110 likes | 274 Views
Par Raphael Arrouas. Apprentissage pour les jeux d’arcade. Arcade Learning Environment. Atari 2600 : Jeux simples, appropriés à l’apprentissage Emulateur Stella (C++) Possibilité d’interagir avec l’émulateur par des FIFOs : Agents en Java, C++… Interface graphique optionnelle (simulations…).
E N D
Par Raphael Arrouas Apprentissage pour les jeux d’arcade
Arcade Learning Environment • Atari 2600 : Jeux simples, appropriés à l’apprentissage • Emulateur Stella (C++) • Possibilité d’interagir avec l’émulateur par des FIFOs : Agents en Java, C++… • Interface graphique optionnelle (simulations…)
Présentation du jeu Freeway (1981) • Objectif : Traverser la route (+1 point) • Pas de Game Over • Voitures aux couleurs/vitesse différentes • On peut créer un agent avec des règles simples • Trois actions : stay, up, down
Création d’un agent autonome (1/2) • Structure de la partie Agent : Classes Java compilées dans un fichier JAR • Choix de la main class en argument • Création d’un agent qui hérite de « AbstractAgent » • Observation/action des agents par des pipes
Création d’un agent autonome (2/2) Problème : Sans accès aux variables du jeu, comment récupérer les informations ? Réponse : On obtient les pixels stockés dans les pipes, et on les traite !
Reconnaissance d’objets • Comparaison tableau de pixel - background fixe • Création des objets, typés suivant leur couleur (Poulet, voitures, score) • Traitement de l’information : Position, vitesse… • Puis prise de décision
Politique de décision • Si et et : Interdiction de monter • Equation semblable pour l’interdiction de rester sur place • Les tests sont hiérarchisés pour prioriser l’action « monter » • Paramètres empiriques obtenus par tests en mode verbose
Résultat Score de 24 points sur le niveau 1, aucune collision !
Apprentissage automatique : Le Q-Learning • Multitude de situations: Etats (adaptés au jeu si possible) • Nombre d’états limités, actions soit aléatoires soit provenant de l’agent précédent (Politique ε-greedy) • But : Maximiser une récompense (ici, le score) • Pour cela, création d’une « Q-fonction »
La Q-fonction A chaque état, associe à une action sa « qualité ». Fixée au départ, évolue grâce à l’observation des résultats Mise à jour : (Détermine l’aspect court/long terme pour la prise en compte des récompenses