Upload
lyminh
View
219
Download
0
Embed Size (px)
Citation preview
AlphaZero:apprentissage par renforcement et reseaux de
neurones a convolutions pour les jeux de plateau
Remi Coulom
Juin 2018
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
AlphaZeroPlan de l’expose
Janvier 2016: Le choc AlphaGo
Des resultats spectaculaires
Domine les meilleursconcurrents (99.8% devictoires)
Premiere victoire contre unjoueur humain professionnel(Fan Hui, championd’Europe)
Remi Coulom AlphaZero 2 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
AlphaZeroPlan de l’expose
Mars 2016: Defaite d’un champion legendaire
Match contre Lee Sedol
Victoire 4-1 pour la machine
Choc immense dans lemonde du go
Un film documentaire,AlphaGo (disponible surNetflix)
Remi Coulom AlphaZero 3 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
AlphaZeroPlan de l’expose
Octobre 2017: AlphaGo Zero, Decembre 2017: AlphaZero
Apprendre a partir de zero
AlphaGo apprenait a imiterdes parties d’experts
AlphaGo Zero apprend desparties qu’il joue contrelui-meme
AlphaZero generalisel’approche aux echecs et aushogi
Regles → AlphaZero → IA forte
go
echecs
shogi
gomoku
Remi Coulom AlphaZero 4 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
AlphaZeroPlan de l’expose
Plan de l’expose
Reseaux de Neurones
L’algorithme AlphaZero
Application au morpion
Remi Coulom AlphaZero 5 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Regression lineaireReseaux de neurones scalaireDescente de gradientReseaux de neurones a convolutions
Regression lineaire
yi = w0 + w1 × xi
Erreur E =∑
i (yi − y∗i )2
Trouver w0 et w1 quiminimisent E
Remi Coulom AlphaZero 6 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Regression lineaireReseaux de neurones scalaireDescente de gradientReseaux de neurones a convolutions
Un neurone
Remi Coulom AlphaZero 7 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Regression lineaireReseaux de neurones scalaireDescente de gradientReseaux de neurones a convolutions
Rectified Linear Unit
Remi Coulom AlphaZero 8 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Regression lineaireReseaux de neurones scalaireDescente de gradientReseaux de neurones a convolutions
Reseau de neurones scalaire
Remi Coulom AlphaZero 9 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Regression lineaireReseaux de neurones scalaireDescente de gradientReseaux de neurones a convolutions
Descente de gradient stochastique
On initialize les poids aleatoirement
On mesure l’erreur E sur une entree xi aleatoire
w ← w − η ∂E∂w
η coefficient d’apprentissage (learning rate)
Remi Coulom AlphaZero 10 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Regression lineaireReseaux de neurones scalaireDescente de gradientReseaux de neurones a convolutions
Donnees sous forme de matrice: images, jeu
Remi Coulom AlphaZero 11 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Regression lineaireReseaux de neurones scalaireDescente de gradientReseaux de neurones a convolutions
Convolution
Remi Coulom AlphaZero 12 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Regression lineaireReseaux de neurones scalaireDescente de gradientReseaux de neurones a convolutions
Architecture du reseau: une couche
Remi Coulom AlphaZero 13 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Apprentisage par renforcementMCTSAlphaZero
Apprentissage par renforcement
Maximiser la somme des recompenses au cours du temps
Probleme de controle optimal
Par opposition a apprentissage supervise (probleme deregression)
Remi Coulom AlphaZero 14 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Apprentisage par renforcementMCTSAlphaZero
L’approche acteur-critque
Le systeme estime, pour chaque action a, et chaque etat s:
acteur: π(s, a), probabilite de choisir a dans s
critique: V (s), esperance de recompense cumulee depuisl’etat s
Remi Coulom AlphaZero 15 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Apprentisage par renforcementMCTSAlphaZero
Architecture du reseau
Remi Coulom AlphaZero 16 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Apprentisage par renforcementMCTSAlphaZero
MCTS (Monte Carlo Tree Search)
Remi Coulom AlphaZero 17 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Apprentisage par renforcementMCTSAlphaZero
MCTS avec un reseau de neurones
Selection de l’action a
maxa
Q(s, a) + cπ(s, a)
√∑b N(s, b)
1 + N(s, a)
Q(s, a): moyenne des evaluations
c: coefficient d’exploration
π(s, a): probabilite de a
N(s, a): nombre de visites de a
Remi Coulom AlphaZero 18 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Apprentisage par renforcementMCTSAlphaZero
AlphaZero: 1. Jouer contre soi-meme
Remi Coulom AlphaZero 19 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Apprentisage par renforcementMCTSAlphaZero
AlphaZero: 2. Apprendre
Remi Coulom AlphaZero 20 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Apprentisage par renforcementMCTSAlphaZero
Calculs de AlphaGo Zero
80 couches de 256 unites.
256× 256 convolutions 3x3 par couche
environ 50 millions de parametres
pres de 20 milliards de multiplications pour une evaluation
5000 TPUs pendant 30 jours
4,9 millions de parties jouees a 1,600 simulations par coup
Remi Coulom AlphaZero 21 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Apprentisage par renforcementMCTSAlphaZero
Resultat
Le programmable est imbattable par les humains
Un style original, imite par les pros
Remi Coulom AlphaZero 22 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Application au morpion (gomoku narabe)
Tres populaire en Asie etEurope de l’Est.
Les meilleures programmesne battent les meilleurshumains que depuis tresrecemment.
Une competition annuelleentre programmes: laGomocup.
Remi Coulom AlphaZero 23 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Apprentissage
12 couches
128 neurones
environ 1 millions de poids
(contrainte de taille de la gomocup)
Remi Coulom AlphaZero 24 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Detection de l’alignement de 5
Remi Coulom AlphaZero 25 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Iteration 2
Remi Coulom AlphaZero 26 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Iteration 11
Remi Coulom AlphaZero 27 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Iteration 31
Remi Coulom AlphaZero 28 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Position de depart V = −0.3611
Remi Coulom AlphaZero 29 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Iteration 9 V = −0.10
Remi Coulom AlphaZero 30 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Iteration 20 V = −0.70
Remi Coulom AlphaZero 31 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Iteration 25 V = +0.8741
Remi Coulom AlphaZero 32 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Iteration 31 V = +0.9974
Remi Coulom AlphaZero 33 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 34 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 35 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 36 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 37 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 38 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 39 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 40 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 41 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 42 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 43 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 44 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 45 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 46 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 47 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Partie
Remi Coulom AlphaZero 48 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
MorpionResultats experimentaux
Victoire contre Yixin
Le match
Yixin: Vainqueur de la Gomocup, 7 fois consecutivement
5 secondes par coup, GPU: GTX 960M, CPU: i7-6700HQ a2.60 GHz
41 ouvertures de piskvork, 1 partie de chaque couleur
Resultat: victoire 48-34 (8 fois 2-0, 1 fois 0-2, 32 fois 1-1).
Environ 800 evaluations par seconde (Yixin: 1000 fois plus?)
Remi Coulom AlphaZero 49 / 50
IntroductionReseaux de Neurones
L’algorithme AlphaZeroResultats experimentaux
Conclusion
Conclusion
Une methode generique pour les jeux de plateau
Pas necessaire de construire des heuristiques a la main
Fonctionne hyper bien
Remi Coulom AlphaZero 50 / 50