AlphaZero :l'IA de Google conquiert les échecs et le jeu en 24 heures
Les jeux de société (comme les échecs) sont un domaine largement étudié dans l’histoire de l’intelligence artificielle. Des pionniers comme Turing, Babbage, von Neumann et Shannon ont développé des théories, des algorithmes et du matériel pour analyser et jouer aux échecs. Et au cours des deux dernières années, nous avons vu des programmes similaires surpasser les humains dans des jeux beaucoup plus complexes comme le Go et le Shogi (échecs japonais).
Deepmind de Google a un palmarès phénoménal lorsqu’il s’agit de battre des humains aux jeux de société. En 2015, leur projet AlphaGo est devenu le premier programme informatique de Go à battre un humain (un joueur de Go professionnel). Et maintenant, ils ont développé un programme AlphaGo capable d'apprendre le jeu d'échecs par lui-même et de battre des humains ou tout autre programme informatique (y compris Stockfish et Deep Blue) en près de 4 heures.
Les programmes d’IA conventionnels (de jeux de société) sont hautement optimisés pour leur domaine et ne peuvent être généralisés à d’autres problèmes sans intervention humaine. Le programme AlphaZero, en revanche, peut atteindre des performances surhumaines dans plusieurs domaines difficiles. Sans aucune connaissance préalable autre que les règles du jeu et en partant d'un jeu aléatoire, AlphaZero a atteint un niveau de jeu surhumain en 24 heures dans les jeux d'échecs, de shogi et de go, et a vaincu le meilleur programme du monde dans chaque cas. Comment ont-ils fait cela et quels sont les résultats exacts ? Découvrons-le.
Méthodologie
En octobre 2017, Deepmind a annoncé que son algorithme AlphaGo Zero avait atteint des performances surhumaines en utilisant un réseau neuronal à convolution profonde et formé uniquement par apprentissage par renforcement. Les ingénieurs ont utilisé la même approche pour créer un algorithme générique, appelé AlphaZero, qui remplace les augmentations spécifiques au domaine et les connaissances artisanales utilisées dans les algorithmes de jeu conventionnels par des réseaux neuronaux profonds. et un algorithme d'apprentissage par renforcement tabula rasa .
AlphaZero utilise des MCTS à usage général (Monte-Carlo Tree Search) plutôt que la recherche alpha-bêta. Il apprend les estimations de valeur et les probabilités de déplacement en jouant contre lui-même, puis utilise les informations apprises pour guider sa recherche.
En quoi est-il différent de l'algorithme AlphaGo Zero
L'algorithme AlphaGo Zero estime et optimise la probabilité de gain, en tenant compte des résultats binaires de gain ou de perte. AlphaZero, quant à lui, estime et optimise le résultat attendu, en tenant compte des nuls ou d'autres résultats potentiels.
Les règles du jeu de Go sont invariantes à la réflexion et à la rotation. Ce fait est très bien utilisé dans AlphaGo et dans sa version avancée AlphaGo Zero de 2 manières.
- Augmentez les données d'entraînement en créant 8 symétries pour chaque position.
- Transformer la position via une réflexion ou une rotation sélectionnée de manière aléatoire avant d'être calculée par un réseau neuronal, dans l'algorithme MCTS, afin que le calcul soit moyenné sur différents biais.
Dans le cas des échecs et du shogi, les règles sont asymétriques et vous ne pouvez pas supposer de symétries en général. Dans AlphaZero, les données d'entraînement ne sont pas augmentées et la position du tableau n'est pas transformée pendant le MCTS.
AlphaGo Zero utilise le meilleur joueur des itérations précédentes pour générer un jeu autonome. Après la fin de chaque itération, les performances du nouveau joueur sont évaluées par rapport au meilleur joueur. S'il est gagné avec une marge de 55 pour cent, le meilleur joueur est remplacé et des jeux autonomes sont générés par le nouveau joueur. Cependant, AlphaZero maintient un seul réseau neuronal (mis à jour en permanence) plutôt que de s'arrêter jusqu'à ce qu'une itération soit terminée.
Optimisation et formation AlphaZero
AlphaZero utilise des hyper-paramètres pour tous les jeux sans aucune optimisation spécifique au jeu. Afin de garantir l'exploration, un facteur de bruit est intégré, qui est proportionnel au nombre de mouvements légitimes pour ce type de jeu.
Comme AlphaGo Zero, l'état du plateau est codé par des plans spatiaux et les actions sont codées soit par des plans spatiaux, soit par un vecteur plat, en fonction des règles de base de chaque jeu.
Les développeurs ont appliqué AlphaZero aux échecs, au shogi et au Go. La même architecture réseau, les mêmes hyperparamètres et paramètres ont été utilisés pour les 3 jeux. Une instance individuelle de l'algorithme est formée pour chaque jeu. À partir de paramètres initialisés de manière aléatoire, formation réalisée sur 700 000 étapes, utilisant 5 000 unités de traitement Tensor de première génération pour créer des jeux autonomes et 64 unités de traitement Tensor de deuxième génération pour entraîner les réseaux neuronaux.
Référence : arxiv.org
Résultats
Comme vous pouvez le voir sur la figure, AlphaZero a surpassé Stockfish après 300 000 pas (après 4 heures) aux échecs ; il a surpassé Elmo en 110 000 pas (en 2 heures) ; et il a surpassé AlphaGo Lee en 165 000 pas (après 8 heures).
Les instances entièrement entraînées (entraînées pendant 3 jours) d'AlphaZero ont été testées contre AlphaGo Zero, Elmo et Stockfish, en jouant 100 matchs au rythme de 1 minute par mouvement. Les résultats ont été assez impressionnants (mentionnés dans le tableau ci-dessous).
AlphaGo Zero et AlphaZero ont utilisé une seule machine avec 4 unités de traitement Tensor, Elmo et Stockfish ont fait de leur mieux en utilisant 64 threads et 1 Go de taille de hachage. AlphaZero les a tous vaincus, perdant 8 matchs contre Elmo et aucun contre Stockfish.
Les développeurs de Google ont également examiné les performances de la recherche MCTS dans AlphaZero. Il recherche 40 000 positions par seconde au shogi et 80 000 aux échecs, contre 35 000 000 pour Elmo et 70 000 000 pour Stockfish. AlphaZero utilise son réseau neuronal profond pour se concentrer de manière plus sélective sur les options les plus prometteuses, ou vous pouvez dire une approche plus humaine.
Lire : 15 meilleurs moteurs d'échecs en fonction de leurs notes
Même si AlphaZero en est encore à ses balbutiements, il constitue une étape importante vers son objectif. Si des approches similaires peuvent être appliquées à d'autres problèmes structurés, comme le repliement des protéines, la découverte de nouveaux matériaux ou la diminution de la consommation d'énergie, les résultats pourraient avoir un impact positif sur notre avenir.
Technologie industrielle
- Contrôle de la vitesse du moteur à courant continu - Méthodes de contrôle de tension, rhéostatique et de flux
- 3 avantages de l'optimisation de la topologie que votre équipe produit ne peut pas se permettre de manquer
- Code Morse et double extorsion :l'état des logiciels malveillants aujourd'hui
- Résolution de problèmes avec l'usinage CNC Protocase :comment nous avons réparé une plieuse LVD ToolCell
- Comment choisir le bon compteur intelligent
- L'importance de la prévention de la corrosion et comment le polyuréthane peut aider
- Les 8 principales industries bénéficiant de la fabrication additive
- Nombres binaires négatifs
- Clavier musical comme générateur de signaux