S’il est un résultat récent de l’Intelligence Artificielle qui a de quoi faire rêver – sans préjudice d’un éventuel cauchemar –, c’est bien le logiciel AlphaGo Zero de Google. Il s’agit du dernier né d’une impressionnante et toute nouvelle dynastie de programmes champions dans un jeu, le Go, que la plupart des spécialistes considéraient encore il y a peu comme inaccessible aux ordinateurs, tant est grande la combinatoire de ses positions possibles : comparés au Go, les échecs font presque mine de morpion.
En 2016, l’ancêtre AlphaGo Lee avait pourtant fait la une en battant le champion du monde en titre, le coréen Lee Sedol, en conditions de jeu réelles. En 2017, son successeur AlphaGo Master avait renouvelé l’exploit, battant le champion Ke Jie ainsi que soixante grands maîtres.
Ces deux extraordinaires programmes font pourtant pâle figure auprès d’AlphaGo Zero, qui après seulement trois jours d’entraînement a humilié le premier par le score sans appel de 100 à 0 (utilisant au passage dix fois moins de ressources de calcul), avant de laminer le second (89 à 11) quarante jours après avoir commencé d’apprendre à jouer.
Si ce résultat est fascinant en soi, tout aussi fascinante est la simplicité qui en sous-tend la conception. AlphaGo Zero ne connaissait strictement rien au jeu de Go quand il commença à apprendre. Nada. Zéro, justement. Pas de bibliothèque de parties célèbres ou de tactiques classiques. Pas le moindre paramètre ad-hoc introduit dans les algorithmes par un développeur adepte du noble jeu. AlphaGo ne connaissait à l’origine que la règle du jeu, juste le minimum pour l’empêcher d’effectuer des mouvements illégaux et pour savoir quand il avait gagné ou perdu. Le grand débutant dans toute sa splendeur, passé champion toutes catégories en moins de deux mois.
Mazette. Voilà qui donne tout de même envie de soulever le capot, vous ne trouvez pas ? Cela tombe bien : un récent article dans Nature (accessible via ce blog, et bizarrement pas si abscons que cela au non-spécialiste) nous dévoile ses secrets. Allons y faire un tour.
AlphaGo Zero est – comme les autres logiciels joueurs – équipé d’un puissant algorithme de recherche arborescente, lui permettant d’explorer les différentes suites de mouvements possibles et leurs conséquences. Mais il est aussi et surtout muni d’un réseau de neurones qui apprend progressivement à reconnaître une situation potentiellement gagnante.
Dans n’importe quel programme de jeu, l’algorithme de recherche arborescente permet d’explorer l’arbre des mouvements possible – du joueur et de son adversaire – jusqu’à une certaine profondeur, puis d’évaluer la « valeur » de la position finale atteinte. Le programme choisit alors son prochain mouvement pour aller vers la meilleure position finale qui lui soit accessible en supposant que son adversaire jouera au mieux. Nous avons déjà parlé de cela plus en détail.
L’algorithme de recherche arborescente utilisé par AlphaGo est dit de Monte-Carlo : pour évaluer la valeur d’une position, il joue de multiples parties, initialement au hasard, à partir de cette position. En comptant ses défaites et victoires, il détermine une probabilité de gain à partir de cette position. Un programme de jeu classique peut ensuite utiliser ces résultats pour choisir un mouvement qui l’emmène vers la meilleure position parmi toutes celles immédiatement accessibles.
Ce qu’ajoute AlphaGo à ce cocktail, c’est la capacité d’apprendre à « deviner » tout seul ce que son algorithme de recherche (fort coûteux en calculs, et dont il doit user avec discernement dans le temps imparti) pourrait lui dire sur une position qu’il n’a encore jamais rencontrée. AlphaGo Zero ajuste son réseau de neurones de façon à prédire en gros la même valeur que son algorithme de recherche pour les positions qu’il a étudiées lors de ses précédentes parties ; cela lui permet également de prédire un résultat a priori pour des positions inconnues. Lors des prochaines parties simulées pendant la recherche arborescente, il utilisera cette connaissance nouvellement acquise et jouera donc mieux, moins au hasard, ce qui rendra à son tour ce même algorithme de recherche plus efficace. AlphaGo ajustera à nouveau les paramètres de son réseau de neurones pour prévoir des résultats ressemblant le plus possible à ceux qu’a ramenés l’algorithme de recherche amélioré, et les deux composants – algorithme d’exploration d’arbre et réseau de neurones – vont ainsi s’aider mutuellement à progresser. C’est en jouant près de cinq millions de fois contre lui-même selon ce principe qu’AlphaGo Zero a atteint son incroyable niveau de jeu, réinventant au passage la plupart des figures classiques du go, plus l’une ou l’autre variante originale.
Un aspect intriguant de cette expérience est qu’AlphaGo s’est révélé moins compétent que d’autres programmes – entraînés, eux, à partir de parties jouées par des humains – pour prédire les mouvements qu’effectuerait un champion humain dans une position donnée, ce qui ne l’a pas empêché de battre ces mêmes programmes – comme leur modèles humains – à plate couture. Les auteurs de l’article le relèvent : « […] Ceci suggère qu’AlphaGo Zéro apprend une stratégie qui est qualitativement différente de la manière de jouer des humains ». Et de conclure : « L’humanité a accumulé une connaissance du Go à travers des millions de parties jouées sur des millénaires, collectivement distillées en configurations types, en proverbes et en livres. En l’espace de quelques jours, partant d’une table rase, AlphaGo Zero a été capable de redécouvrir une grande partie de ce savoir sur le Go, ainsi que des stratégies inédites offrant de nouvelles perspectives sur le plus vieux des jeux ».
Fascinant, oui… mais n’est-il pas un peu triste que ce champion absolu, surhumain du Go ne sache même pas qu’il joue au Go ? Aussi effrayante que soit l’alternative, et pour ridicule que soit l’anthropomorphisme appliqué à ce qui reste un programme, votre chroniqueur se sent tout de même un peu navré pour ce sublime idiot savant, aveugle à sa propre réussite.
0 commentaires