Apprentissage par renforcement dans une architecture MonteCarlo go - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Apprentissage par renforcement dans une architecture MonteCarlo go

Description:

Apprentissage par renforcemement dans une architecture Monte-Carlo go ... Ajoute le joueur ' Zero ' (pas de mutation ni cross-over) Apprentissage par ... – PowerPoint PPT presentation

Number of Views:97
Avg rating:3.0/5.0
Slides: 42
Provided by: Aud254
Category:

less

Transcript and Presenter's Notes

Title: Apprentissage par renforcement dans une architecture MonteCarlo go


1
Apprentissage par renforcement dans une
architecture Monte-Carlo go
  • Bruno Bouzy
  • Journée  IA et jeux 
  • 14 juin 2005

2
Plan
  • 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

3
Programmation 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)

4
Programmation 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.

5
Contexte 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...

6
Un 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) ?

7
Architecture 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

8
Monte 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.

9
Monte 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)

10
MC 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

11
MC 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

12
MC pur et Go (3a)
  • Exemple

13
MC pur et Go (3b)
  • Exemple
  • Après plusieurs parties aléatoires, des coups
    sont éliminés

14
MC pur et Go (3c)
  • Exemple
  • Après d autres parties aléatoires, il ne reste
    qu un seul coup
  • L algorithme se termine.

15
MC 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.

16
MCGo 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 ?

17
MCGo 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 ?

18
MCGo et connaissances (3)
  • Olga(pseudo alea présélect) vs Olga(présélect)
  • (Nselect 10)

19
MCGo 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 

20
MCGo et Apprentissage par renforcement
  • Pré-requis
  • Expérience 1
  • Expérience 2
  • Expérience 3

21
Pré-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 ?

22
Exploration 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)
23
Evaluation 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 ?

24
Expérience 1
  • Caractéristiques
  • Apprentissage au niveau  bas  ou  aléatoire 
  • Auto-jeu
  • Population

25
Valeur 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, ?

26
Ré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

27
Apprentissage  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 ?

28
Premiers 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 ?

29
AR 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)

30
Test 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)

31
Ré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 ?

32
Conclusions (Exp 1h)
  • Dans larchitecture Monte-Carlo
  • AR seul, niveau bas ?
  • EA AR, niveau bas ?
  • EA seule ?

33
Expé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.

34
Diffé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

35
Ré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 ?

36
Expé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.

37
Diffé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

38
Ré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
    ?

39
Conclusions (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 ?

40
Conclusions (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.

41
Merci de votre attention...
Write a Comment
User Comments (0)
About PowerShow.com