Title: Apprentissage par renforcement dans une architecture MonteCarlo go
1Apprentissage par renforcement dans une
architecture Monte-Carlo go
- Bruno Bouzy
- Journée IA et jeux
- 14 juin 2005
2Plan
- Contexte
- Programmation du jeu de go, le projet INDIGO
- Monte-Carlo go
- Monte-Carlo et connaissances pour le go
- Apprentissage par renforcement dans INDIGO
- Apprentissage par renforcement et Monte-Carlo go
- Pré-requis (type de niveau, déterminisation)
- Expérience 1 (niveau bas, population)
- Expérience 2 (niveau MC, différence temporelle)
- Expérience 3 (niveau MC, différence relative)
- Conclusion et perspectives
3Programmation des jeux de réflexion (PdG1)
- Témoigne des progrès réalisés en IA
- 1994 Chinook bat Marion Tinsley (Checkers)
- 1997 Deep Blue bat Kasparov (Echecs)
- 1998 Logistello gtgt meilleur humain (Othello)
- (Schaeffer, van den Herik 2002)
- Complexité combinatoire
- B facteur de branchement,
- L longueur d une partie,
- Estimation de BL
- Go (10700) gt Echecs(10123) gt Othello(1058) gt
Checkers(1032)
4Programmation du go (PdG2)
- 2 obstacles majeurs
- recherche arborescente globale impossible ?
- évaluation des positions non terminales
difficile ? - Niveau moyen (8 à 10ème kyu) ?
- Effort très important depuis 1990
- fonction dévaluation,
- décomposition de problèmes en sous-problèmes,
- recherches arborescentes locales,
- pattern-matching, bases de connaissances.
5Contexte concurrentiel (PdG3)
- Programmes commerciaux
- Many Faces, Goemate, Go4, Haruka, KCC Igo,
- sources non disponibles, pas de description. ?
- Programmes libres
- GNU Go surtout, sources disponibles. ?
- Programmes académiques
- Go Intellect, GoLois, Explorer, Indigo, Magog,
NeuroGo, - descriptions scientifiques ?.
- Les autres...
6Un programme aussi bon que possible (Pdg4)
- Indigo
- programme jouant au go
- www.math-info.univ-paris5.fr/bouzy/INDIGO.html
- compétitions internationales depuis 1998
- Ing98 (10è/17), Ing99 (13è/16), MSO2000 (5è/6),
Edmonton2002 (10è/14) ? - Olympiades dordinateurs
- 2003 9x9 4è / 10, 19x19 5è / 11
- 2004 9x9 4è / 9, 19x19 3è / 5 (médaille de
bronze) ?
7Architecture Monte-Carlo go
- Simulations Monte Carlo (MC) et jeux de réflexion
- MC pur et Go (MCGo)
- MCGo et connaissances
- Apprentissage par renforcement de connaissances
pour MCGo
8Monte Carlo et les jeux de réflexion (1)
- Jeux à info incomplète ou contenant du hasard
- Backgammon (Tesauro et Galperin 1997),
- Poker (Billings et al. 2002),
- Scrabble (Sheppard 2002).
- Jeux à information complète
- (Abramson 1990) modèle général d évaluations de
nuds terminaux d un arbre, basé sur les
simulations, - (Brügmann 1993) recuit simulé appliqué au go.
9Monte Carlo et les jeux de réflexion (2)
- Evaluation
- lancer N parties aléatoires
- Evaluation moyenne des évaluations des
positions terminales - Algorithme de base à profondeur 1
- Pour chaque coup possible,
- lancer N parties aléatoires commençant par ce
coup - faire la moyenne des évaluations des positions
terminales - Jouer le coup avec la meilleure moyenne
- Complexité
- Monte Carlo O(NBL)
- recherche arborescente O(BL)
10MC pur et Go (1)
- Oleg (Bernard Helmstetter) et Olga.
- ? (9x9) 35
- précision de 1 point N 1000 (68), 4000 (95)
- de 7000 à 10000 parties 9x9 / seconde (2 GHz)
- 2 à 5 évaluations MC / seconde
11MC pur et Go (2)
- Elimination progressive des mauvais coups
- (Billings al 2002, Sheppard 2002)
- mettre à jour l intervalle de confiance autour
de la moyenne - m - Rs/N1/2, m Rs/N1/2
- éliminer les coups inférieurs au meilleur coup,
- R paramètre définissant le niveau de confiance
de l intervalle, - (Bouzy Helmstetter ACG10 2003)
- Résultat
- temps de réponse réduit dans un rapport
proportionnel à B - dépend de R, sous-optimal
12MC pur et Go (3a)
13MC pur et Go (3b)
- Après plusieurs parties aléatoires, des coups
sont éliminés
14MC pur et Go (3c)
- Après d autres parties aléatoires, il ne reste
qu un seul coup - L algorithme se termine.
15MC pur et Go (4)
- Résultats
- sur 9x9, Olga et Oleg Indigo2002 ?,
- temps de réponse 9x9 possible ?, 19x19 impossible
?. - le niveau augmente avec la puissance machine ?
- évaluation robuste ?
- recherche (statistique) globale ?
- Style de jeu
- Cohérence globale ?, faiblesse tactique locale ?
- Facile à programmer ?
- seulement les règles du jeu,
- pas de décomposition en sous-problèmes.
16MCGo et connaissances (1)
- Pré-sélection de Nselect coups
- utilise la fonction d évaluation conceptuelle et
le générateur de coups de Indigo2002 - basé sur des connaissances et des recherches
arborescentes locales,
- accélération du temps de réponse damier 19x19
possible ? - les coups mauvais tactiquement et localement sont
éliminés ?
17MCGo et connaissances (2)
- Parties pseudo-aléatoires
- au lieu dêtre engendrés avec une probabilité
uniforme, - les coups sont engendrés avec une probabilité
dépendante de connaissances spécifiques (libertés
des chaînes, patterns 3x3), - les parties pseudo-aléatoires ressemblent plus à
du go, - les moyennes obtenues sont plus significatives ?
18MCGo et connaissances (3)
- Olga(pseudo alea présélect) vs Olga(présélect)
- (Nselect 10)
19MCGo et connaissances (4)
- Caractéristiques dun joueur Pseudo-Aléatoire
(PA) - Table durgences de patterns 3x3
- 38 patterns 3x3 (case vide au centre)
- 25 dispositions par rapport au bord
- patterns 250,000
- Urgence atari
- Manuel
- Le joueur PA utilisé dans Indigo2004
- Sa table durgence a été produite par
traduction dune base de formes - La base de formes a été construite à la main
- Contient une cinquantaines de formes avec urgence
- Automatique
20MCGo et Apprentissage par renforcement
- Pré-requis
- Expérience 1
- Expérience 2
- Expérience 3
21Pré-requis (1)
- 2 types de joueurs
- p joueur Pseudo-Aléatoire (PA)
- MC(p) joueur Monte-Carlo utilisant p comme base
aléatoire - Objectif améliorer automatiquement MC(p)
- Outils
- Apprentissage par Renforcement (AR) ?
- Joueur pseudo-aléatoire obtenu par AR (PAAR)
- Apprentissage supervisé ?
- Evolution artificielle ?
22Exploration et exploitation (Pré-requis 2)
Degré de randomisation, température
Aléatoire basé sur Probabilité Uniforme (Zero)
?-glouton (légèrement aléatoire)
Déterministe, Glouton
pseudo- aléatoire
Exploitation, Faibles températures, K 1/T
grand (-gt Sutton Barto)
Exploration, Hautes temperatures, K faible (PAAR,
Manuel)
23Evaluation des joueurs (Pré-requis 3)
- Niveau bas ou niveau aléatoire
- Evaluer des joueurs pseudo-aléatoires p
- rapide ?
- favorise lexploitation ?
- k grand les urgences de patterns saturent vers
la borne max - Niveau Monte-Carlo
- Evaluer des joueurs MC(p)
- En accord avec lobjectif visé ?
- lent ?
24Expérience 1
- Caractéristiques
- Apprentissage au niveau bas ou aléatoire
- Auto-jeu
- Population
25Valeur daction urgence (Exp 1a)
- Pour un pattern
- Q valeur daction ? -1, 1
- Q 0 pattern moyen
- Q ? -1 pattern mauvais
- Q ? 1 bon pattern
- Q-value
- urgence U ((1Q)/(1-Q))k ? 0, ?
26Régle dapprentissage (Exp 1b)
- Pour chaque pattern et chaque partie n,
- Qn Qn-1 ?(Rn - Qn-1)
- Rn résultat de la partie n
- 1 si gain,
- -1 si perte.
- ? 1/n
- Qn converge vers ltRngt
27Apprentissage off-line (Exp 1c)
- 2 tables de Q-values
- 1 table pour apprendre
- 1 table pour jouer
- Mise a jour de la table pour jouer avec la table
apprise après un bloc de parties. - Quelle formule de mise à jour utiliser ?
- Q Q ltRgt ?
(actuellement) - Q ltRgt ?
- Q Q ?ltRgt ?
28Premiers résultats (Exp 1d)
- k assez grand, lapprentissage se produit
- Sur 9x9
- Joueur PAAR gtgt joueur Zero ?
- Joueur PAAR lt joueur Manuel ?
- MC(PAAR)ltlt MC(Manuel) ?
- Sur 19x19 ?
29AR population (Exp 1e)
- Utiliser une Population de joueur PAAR
- 64 joueurs par population
- 1 generation,
- Mise a jour des Q-values
- Tournoi tout le monde contre tout le monde
avec AR, - Test de la population et classement des joueurs
- Sélection
- (pas de mutation, ni cross-over)
30Test et sélection (Exp 1f)
- Test
- On-line
- Off-line contre joueurs fixes ( Zero ou
Manuel ) - Donne un classement de 1 à N(64)
- Sélection et reproduction forte
- Destruction des N/2 plus mauvais
- Garde les N/2 meilleurs
- Pour (DN/4 Dgt0 DD/2) Copie des D meilleurs
joueurs - Ajoute le joueur Zero
- (pas de mutation ni cross-over)
31Résultats (Exp 1g)
- Sur 19x19 ?
- population de départ Zero
- PAAR Zero 180 ?
- PAAR Manuel 50 ?
- MC(PAAR) ltlt MC(Manuel) ?
- population de départ Manuel
- PAAR Zero 180 ?
- PAAR Manuel 50 ?
- MC(PAAR) MC(Manuel) 20 ?
32Conclusions (Exp 1h)
- Dans larchitecture Monte-Carlo
- AR seul, niveau bas ?
- EA AR, niveau bas ?
- EA seule ?
33Expérience 2
- Caractéristiques
- Apprentissage au niveau Monte-Carlo
- Auto-jeu
- (Pas de population)
- Méthodes de différences temporelles sur valeur
daction - En collaboration avec le GRAPPA (Rémi Coulom),
stage de DEA de Guillaume Chaslot.
34Différence temporelle, MC et urgence (Exp 2a)
- Algorithme de base à profondeur 1
- Pour chaque pattern i possible,
- lancer ni parties aléatoires commençant par ce
pattern - Vi moyenne des évaluations des positions
terminales - V Somme(niVi) / Somme (ni)
- ni Noiui / Somme(ojuj)
- u table durgences
- ui urgence du pattern i
- oi nombre doccurrences du pattern i sur la
position - Différence temporelle delta(u) (VV) dV/du
- Problème comment obtenir dV/du ?
- Hypothèse V dépend de u, mais pas les Vi
- Calcul de dV/du possible
35Résultats (Exp 2b)
- Sur 9x9
- PAAR gtgt Zero ?
- PAAR lt Manuel ?
- MC(PAAR) ltlt MC(Manuel) ?
- Formule dV/du compliquée hypothèse fausse
- Etat de lart, méthode différences temporelles
- pour obtenir des valeurs détat connu
- pour obtenir des valeurs daction ?
36Expérience 3
- Caractéristiques
- Apprentissage au niveau Monte-Carlo
- Auto-jeu
- (Pas de population)
- Méthodes de différences relatives sur valeur
daction - En collaboration avec le GRAPPA (Rémi Coulom),
stage de DEA de Guillaume Chaslot.
37Différence relative , MC et urgence (Exp 3a)
- Algorithme de base à profondeur 1
- Pour chaque pattern i possible,
- lancer ni parties aléatoires commençant par ce
pattern - Vi moyenne des évaluations des positions
terminales - ui urgence du pattern i, qi log(ui)
- Comparaison de 2 patterns a et b avec Va et Vb qa
et qb - On cherche des urgences telles que qa - qb
C(Va - Vb) - Différence relative delta(q) qa - qb -
C(Va - Vb) - Hypothèse (fausse) C ne dépend pas des patterns
- Mise à jour
- qa a delta
- qb - a delta
38Résultats (Exp 3b)
- Sur 9x9
- PAAR ? Manuel , Zero ?
- MC(PAAR) MC(Manuel) 1 ?
- Sur 19x19
- PAAR ? Manuel, Zero ?
- MC(PAAR) MC(Manuel) - 30 ?
- Il manque toujours quelque chose, mais quoi ?
- Etat de lart en AR sur les différences relatives
?
39Conclusions (1)
- Expérience 1
- AR seul, niveau bas ?
- AR population, niveau bas ?
- Expérience 2
- Diff Temporelle niveau MC ?
- Expérience 3
- Diff Relative niveau MC ?
40Conclusions (2)
- Méthode automatique ou manuelle
- Avec patterns 3x3
- sur 19x19, manuel gt automatique
- sur 9x9, manuel automatique
- Quest-ce qui manque ?
- Passage a des patterns de taille gt 3x3,
- automatique
- Apprentissage par renforcement ou évolution
artificielle ? - Débat actuel en apprentissage.
41Merci de votre attention...