Réseau de neurones dans Pac-Man
Transcription
Réseau de neurones dans Pac-Man
Réseau de neurones dans Pac-Man 2009-05-25 Francis BISSON Kenny CÔTÉ Benjamin HÉROUX-CLÉROUX Plan de la présentation Description de la problématique Simplification du problème Choix de l'approche Stratégie d'implémentation Démonstration Expérimentations et résultats Conclusion 2 Plan de la présentation Description de la problématique Simplification du problème Choix de l'approche Stratégie d'implémentation Démonstration Expérimentations et résultats Conclusion 3 Présentation de la problématique Jeu vidéo inventé en 1980 chez Namco au Japon Pac-Man doit manger les points sans se faire attraper par les fantômes Les power pellets (4) permettent à Pac-Man de manger les fantômes durant une période de temps limitée Les fantômes morts réapparaissent après un certain temps Des items spéciaux (fruits) donnent des points bonus Pac-Man peut se téléporter d'un côté à l'autre de l'écran 4 Présentation de la problématique 5 Plan de la présentation Description de la problématique Simplification du problème Choix de l'approche Stratégie d'implémentation Démonstration Expérimentations et résultats Conclusion 6 Simplification du problème Changements de direction aux intersections seulement Pas de power pellets (donc fantômes invincibles) Pas de points bonus Une seule vie pour Pac-Man 7 Plan de la présentation Description de la problématique Simplification du problème Choix de l'approche Stratégie d'implémentation Démonstration Expérimentations et résultats Conclusion 8 Choix de l'approche Besoin d'un algorithme pouvant fournir une réponse rapidement (jeu avec décisions en temps réel) Environnement dynamique (fantômes, points) → Réseau de neurones 9 Plan de la présentation Description de la problématique Simplification du problème Choix de l'approche Stratégie d'implémentation Démonstration Expérimentations et résultats Conclusion 10 Stratégie d'implémentation Programmé en C++ Librairie graphique SDL (LGPL, multiplateforme) Technique d'I.A. pour les fantômes : Semi-aléatoire Technique d'I.A. pour Pac-Man : Réseau de neurones Apprentissage supervisé 11 Stratégie d'implémentation (topologie du réseau) 10 neurones en entrée (4) Murs ↑,↓, ←, → (2) Distance de Manhattan du fantôme le plus proche de Pac-Man (rayon de vision) (4) Nombre de points ↑,↓, ←, → 9 neurones cachés 4 neurones en sortie Direction à prendre ↑,↓, ←, → 12 Stratégie d'implémentation (topologie du réseau) Mur HAUT Mur BAS Mur GAUCHE Mur DROITE Déplacement HAUT Fantôme X Déplacement BAS Fantôme Y Déplacement GAUCHE Points HAUT Déplacement DROITE Points BAS Points GAUCHE Points DROITE 13 Stratégie d'implémentation (paramètres d'apprentissage) Apprentissage par rétropropagation Taux d'apprentissage : 0.1 Fonction d'activation : fonction sigmoïde Limite de 50 000 époques d'apprentissage Données d'apprentissage colligées à partir des actions d'un joueur humain 14 Plan de la présentation Description de la problématique Simplification du problème Choix de l'approche Stratégie d'implémentation Démonstration Expérimentations et résultats Conclusion 15 Plan de la présentation Description de la problématique Simplification du problème Choix de l'approche Stratégie d'implémentation Démonstration Expérimentations et résultats Conclusion 16 Expérimentations et résultats (joueur humain) Score par partie 16 0 14 0 12 0 10 0 80 60 40 20 0 0 2 4 6 8 10 12 14 16 18 17 Expérimentations et résultats (joueur aléatoire) Score par partie 70 60 50 40 30 20 10 0 0 10 20 30 40 50 60 70 18 Expérimentations et résultats (joueur intelligent) Score par partie 60 50 40 30 20 10 0 0 2 4 6 8 10 12 14 16 18 19 Plan de la présentation Description de la problématique Simplification du problème Choix de l'approche Stratégie d'implémentation Démonstration Expérimentations et résultats Conclusion 20 Conclusion Le joueur intelligent en général meilleur que le joueur aléatoire Le comportement semi-aléatoire des fantômes est difficile à prédire La présence de bruit dans les données d'apprentissage peut causer du surapprentissage (overfitting) Un trop petit nombre de données d'apprentissage n'offre pas un bon pouvoir de généralisation 21 Conclusion (améliorations éventuelles) Prétraiter les données d'apprentissage Augmenter la dimension de l'ensemble d'apprentissage Tenir compte de la grille de jeu au complet Utiliser la position absolue des fantômes Altérer la topologie du réseau de neurones à l'aide d'un algorithme génétique 22