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