Passer aux informations sur le produit
Apprentissage profond et Go
Apprentissage profond et Go
Description
Introduction au livre
Transformons le bot Go, qui ne possède qu'un seul modèle, en un bot aux performances d'AlphaGo Zero.

AlphaGo, qui avait choqué et terrifié le monde en 2016, a été vaincu par AlphaGo Zero et a été discrètement retiré du jeu.
Tout développeur ayant suivi le parcours spectaculaire d'AlphaGo a probablement déjà eu l'idée vague de créer un bot de go doté d'une intelligence artificielle.
Construire un bot Go performant n'est pas aussi difficile qu'on pourrait le croire.
Nous appliquons tout d'abord des techniques et des stratégies d'entraînement à l'aide de Keras, une bibliothèque d'apprentissage profond Python.
Deuxièmement, c'est amusant de regarder le bot Baduk apprendre le Baduk tout seul.
Vous trouverez des instructions détaillées dans ce livre.
Lisons ce livre et utilisons largement la technologie d'apprentissage profond que nous avons apprise en construisant un bot Go.

indice
[Partie 1 : Notions de base]

CHAPITRE 1 : Vers l'apprentissage profond - Principes fondamentaux de l'apprentissage automatique
1.1 Qu'est-ce que l'apprentissage automatique ?
__1.1.1 Quel est le lien entre l'apprentissage automatique et l'IA ?
1.1.2 Ce que l'apprentissage automatique peut et ne peut pas faire
1.2 Apprentissage automatique par le biais d'études de cas
1.2.1 Utilisation de l'apprentissage automatique dans les applications
1.2.2 Apprentissage supervisé
1.2.3 Apprentissage non supervisé
1.2.4 Apprentissage par renforcement
1.3 Apprentissage profond
1.4 Ce que vous apprendrez dans ce livre
1.5 Résumé

CHAPITRE 2 : Go comme problème d'apprentissage automatique
2.1 Pourquoi les jeux ?
2.2 Une brève introduction au Baduk
2.2.1 Comprendre le plateau de go
2.2.2 Placement et ramassage des pierres
2.2.3 Fin de partie et calcul du score
__2.2.4 Comprendre le modèle
2.3 Baduk pliable
2.4 Matériel pédagogique supplémentaire
2.5 Que pouvons-nous enseigner aux machines ?
__2.5.1 Préparation du terrain
__2.5.2 Trouvez le nombre suivant
2.5.3 Réduire le nombre d'éléments à prendre en compte
__2.5.4 Évaluation de l'état du jeu
2.6 Comment mesurer la puissance d'une IA de jeu de go
__2.6.1 Rang général Baduk
__2.6.2 Évaluation comparative de l'IA Go
2.7 Résumé

CHAPITRE 3 : Créer votre premier robot Go
3.1 Représentation de Go en Python
3.1.1 Mise en place d'un plateau de go
__3.1.2 Suivi des connexions dans Baduk : Connexions
3.1.3 Placement et retrait des pierres sur le plateau
3.2 Vérifier l'état du match et le nombre de fautes
3.2.1 Auto-recharge
Correctif 3.2.2
3.3 Fin de la partie
3.4 Créer son premier bot : l’IA de go la plus faible imaginable
3.5 Accélération du jeu grâce au hachage Zobrist
3.6 Jouer contre des bots
3.7 Résumé

[Partie 2 : Apprentissage automatique et IA dans les jeux]

CHAPITRE 4 : Correspondances par recherche arborescente
4.1 Classification des jeux
4.2 Prédiction du nombre relatif à l'aide de la recherche minimax
4.3 Résolution du jeu du morpion : exemple du minimax
4.4 Réduction de l'espace de recherche par élagage
4.4.1 Réduction de la profondeur de recherche par évaluation de la position
4.4.2 Réduction de la largeur de recherche par élagage alpha-bêta
4.5 Évaluation de l'état du jeu par recherche arborescente Monte Carlo
4.5.1 Implémentation de la recherche arborescente Monte Carlo en Python
4.5.2 Comment choisir ce qu'il faut explorer
4.5.3 Application de la recherche arborescente Monte Carlo au jeu de go
4.6 Résumé

CHAPITRE 5 : PREMIERS PAS AVEC LES RÉSEAUX DE NEURONES
5.1 Un cas simple : Classification des chiffres manuscrits
__5.1.1 Ensemble de données de chiffres manuscrits MNIST
5.1.2 Traitement des données MNIST
5.2 Notions de base des réseaux de neurones
5.2.1 Régression logistique avec des réseaux de neurones artificiels simples
5.2.2 Réseaux de neurones avec des sorties multidimensionnelles
5.3 Réseaux neuronaux directs
5.4 Qualité de nos prédictions : fonctions de perte et optimisation
__5.4.1 Qu'est-ce qu'une fonction de perte ?
5.4.2 Erreur quadratique moyenne
5.4.3 Recherche du minimum de la fonction de perte
5.4.4 Descente de gradient pour trouver le minimum
5.4.5 Descente de gradient stochastique dans les fonctions de perte
5.4.6 Propagation des gradients en sens inverse à travers un réseau de neurones
5.5 Entraînement pas à pas d'un réseau neuronal avec Python
5.5.1 Couches de réseaux de neurones en Python
5.5.2 Couche d'activation dans les réseaux de neurones
__5.5.3 Couches denses en Python en tant que composant des réseaux neuronaux à propagation avant
5.5.4 Construction d'un réseau neuronal séquentiel en Python
__5.5.5 Classification des chiffres manuscrits à l'aide de réseaux neuronaux
5.6 Résumé

CHAPITRE 6 : Conception d’un réseau neuronal pour les données Go
6.1 Conversion des jeux de Go pour les réseaux neuronaux
6.2 Création d'un jeu de recherche arborescente comme données d'entraînement pour un réseau de neurones
6.3 Utilisation de la bibliothèque d'apprentissage profond Keras
__6.3.1 Comprendre les principes de conception Keras
__6.3.2 Installation de la bibliothèque d'apprentissage profond Keras
6.3.3 Exécution du premier problème familier avec Keras
6.3.4 Prédiction des coups au jeu de go à l'aide de réseaux de neurones à propagation avant dans Keras
6.4 Analyse spatiale avec des réseaux de neurones convolutifs
6.4.1 Compréhension intuitive du rôle de la convolution
6.4.2 Construction d'un réseau neuronal convolutif avec Keras
6.4.3 Réduction spatiale par couches de regroupement
6.5 Prédire la probabilité d'un mouvement au Baduk
6.5.1 Utilisation de la fonction d'activation softmax dans la dernière couche
6.5.2 Perte d'entropie croisée dans les problèmes de classification
6.6 Construction de réseaux neuronaux plus profonds à l'aide de la technique de dropout et des unités linéaires rectifiées
6.6.1 Suppression de certains neurones à des fins de standardisation
6.6.2 Fonction d'activation ReLU
6.7 Création d'un réseau neuronal de prédiction des coups de départ plus performant par la combinaison de fonctionnalités
6.8 Résumé

CHAPITRE 7 Apprendre à partir des données : Les robots d’apprentissage profond
7.1 Importation des enregistrements de parties de Baduk
__7.1.1 Format de fichier SGF
7.1.2 Télécharger et reproduire les enregistrements de parties de Go depuis KGS
7.2 Préparation des données Go pour l'apprentissage profond
7.2.1 Reproduction d'une partie de Go à l'aide d'enregistrements SGF
__7.2.2 Création d'un préprocesseur de données Go
7.2.3 Création d'un générateur de données Go qui charge efficacement les données
7.2.4 Exécution parallèle du traitement et du générateur de données Go
7.3 Entraînement d'un modèle d'apprentissage profond à l'aide d'enregistrements de correspondance humaine
7.4 Création d'un convertisseur de données Go plus pratique
7.5 Entraînement efficace grâce aux méthodes de gradient adaptatif
7.5.1 Effondrement et dynamique en SGD
7.5.2 Optimisation des réseaux de neurones avec Adagrad
7.5.3 Optimisation de la méthode du gradient adaptatif avec AdaDelta
7.6 Expérimentez et évaluez vous-même vos performances.
7.6.1 Structure du modèle et directives pour les tests d'hyperparamètres
7.6.2 Évaluation des indicateurs de performance à l'aide des données d'entraînement et de test
7.7 Résumé

CHAPITRE 8 Déploiement de robots sur terrain nu
8.1 Construction d'un agent de prédiction de nombres à l'aide d'un réseau neuronal profond
8.2 Fournir le bot Baduk comme interface Web
8.2.1 Exemple de bot Go du début à la fin
8.3 Formation et déploiement d'un Go Bot dans le cloud
8.4 Protocole textuel Baduk pour les conversations avec d'autres bots
8.5 Affrontez d'autres bots en local
8.5.1 Quand un bot doit passer son tour ou abandonner
8.5.2 Jouer une partie entre un bot et un autre programme de Go
8.6 Déploiement d'un bot Go sur un serveur Go en ligne
8.6.1 Enregistrement d'un bot sur un serveur Go en ligne
8.7 Résumé

CHAPITRE 9 L’apprentissage par l’expérience : l’apprentissage par renforcement
9.1 Cycle d'apprentissage par renforcement
9.2 Comment l'expérience va-t-elle nous changer ?
9.3 Création d'un agent apprenant
9.3.1 Échantillonnage selon la distribution de probabilité
__9.3.2 Restrictions relatives à la distribution de probabilité
__9.3.3 Initialisation de l'agent
__9.3.4 Chargement et sauvegarde des agents à partir de périphériques physiques
9.3.5 Mise en œuvre de la sélection des nombres
9.4 Auto-apprentissage : comment les programmes informatiques s’entraînent
9.4.1 Affichage des données d'expérience
__9.4.2 Simulation de gros gibier
9.5 Résumé

CHAPITRE 10 Apprentissage par renforcement à l'aide de gradients de politique
10.1 Comment définir une bonne décision dans un jeu aléatoire
10.2 Modification d'une politique de réseau neuronal par descente de gradient
10.3 Conseils pour l'entraînement en autonomie
10.3.1 Évaluation des améliorations de performance
10.3.2 Mesure des petites différences de performance
__10.3.3 Optimiseur par descente de gradient stochastique (SGD)
10.4 Résumé

CHAPITRE 11 Apprentissage par renforcement utilisant des techniques de valeur
11.1 Un jeu utilisant l'apprentissage par renforcement Q
11.2 Création d'un modèle Q-Learning avec Keras
__11.2.1 Création d'un réseau neuronal à deux entrées avec Keras
__11.2.2 Implémentation de la politique ε-gloutonne dans Keras
11.2.3 Entraînement de la fonction valeur d'action
11.3 Résumé

CHAPITRE 12 : Apprentissage par renforcement acteur-critique
12.1 Advantage vous indique quelles décisions sont importantes.
__12.1.1 Qu'est-ce qu'un avantage ?
12.1.2 Trouver un avantage pendant votre propre partie
12.2 Conception d'un réseau neuronal pour l'apprentissage acteur-critique
12.3 Un jeu utilisant un agent acteur-critique
12.4 Entraînement d'un agent acteur-critique à l'aide de données empiriques
12.5 Résumé

[Partie 3 Le tout est plus grand que la somme de ses parties]

CHAPITRE 13 AlphaGo : Une collaboration de toutes les techniques d’IA
13.1 Entraînement du réseau neuronal d'AlphaGo
13.1.1 Structure du réseau neuronal d'AlphaGo
__13.1.2 Convertisseur de plateau de go AlphaGo
__13.1.3 Entraînement d'un réseau neuronal de politique de type AlphaGo
13.2 Initialisation d'un jeu auto-organisé avec un réseau neuronal de politique
13.3 Création d'un réseau neuronal de valeur à partir de ses propres données de jeu
13.4 Amélioration de la recherche à l'aide de réseaux neuronaux de politique et de réseaux neuronaux de valeur
__13.4.1 Amélioration du déploiement de Monte Carlo grâce aux réseaux neuronaux
__13.4.2 Parcours d'arbre à l'aide d'une fonction de valeur conjointe
13.4.3 Implémentation de l'algorithme de recherche d'AlphaGo
13.5 Ce que vous devez réellement prendre en compte lors de l'entraînement de votre propre AlphaGo
13.6 Résumé

CHAPITRE 14 AlphaGo Zero : Combinaison de l’apprentissage par renforcement et de la recherche arborescente
14.1 Construction d'un réseau neuronal pour la recherche arborescente
14.2 Recherche arborescente guidée avec des réseaux neuronaux
__14.2.1 Descendre de l'arbre
__14.2.2 Extension d'arbre
__14.2.3 Sélectionner un numéro
14.3 Formation
14.4 Amélioration de la recherche par bruit de Dirichlet
14.5 Techniques modernes pour la construction de réseaux neuronaux plus profonds
__14.5.1 Normalisation par lots
__14.5.2 Réseau neuronal résiduel
14.6 Références supplémentaires
14.7 Résumé
14.8 Résumé

Annexe A : Fondements mathématiques
Annexe B Algorithme de rétropropagation
Annexe C : Programme Go et serveur
Annexe D : Formation et déploiement de bots à l’aide d’Amazon Web Services
Annexe E : Enregistrement d’un bot sur un serveur Baduk en ligne

Image détaillée
Image détaillée 1

Avis de l'éditeur
★ Approfondissons notre compréhension de l'apprentissage profond en créant un bot Go d'apprentissage profond.
À la fin de ce livre, vous comprendrez non seulement comment le moteur de jeu de go de type AlphaGo a été implémenté, mais vous aurez également une compréhension très pratique des composantes clés des algorithmes d'IA modernes, tels que la recherche arborescente Monte Carlo, l'apprentissage profond et l'apprentissage par renforcement.
L'auteur relie soigneusement ces sujets techniques à l'aide d'exemples intéressants de jeu de go, qui sont réellement jouables.
Vous apprendrez également les bases du jeu de go, l'un des jeux les plus beaux et les plus stimulants jamais inventés.

★ Créez et déployez un bot Go d'apprentissage profond fonctionnant comme AlphaGo.
Il fournit également du code Python fonctionnel et explique bien les concepts.
Une fois que vous aurez pris connaissance du contenu du livre, vous serez guidé pas à pas dans la mise en œuvre de votre propre bot Baduk.
Les sujets tels que les formats de données, la distribution et le cloud computing nécessaires au fonctionnement du bot Go sont également abordés en détail.
Il vous montre également comment enregistrer un bot sur un serveur Go en ligne.
En résumé, ce livre explique l'intégralité du processus de création d'un bot Go équipé d'intelligence artificielle moderne et d'apprentissage automatique.

★ Principaux sujets abordés
1.
Conception et entraînement d'une IA de jeu à apprentissage automatique
2.
Améliorer l'IA des jeux classiques grâce à l'apprentissage profond
3.
Mise en œuvre d'un réseau neuronal utilisé dans l'apprentissage profond

★ Résumé chapitre par chapitre
[Partie 1 : Notions de base]
Présente les concepts clés abordés dans le reste du livre.

_Chapitre 1 Vers l'apprentissage profond - Un bref aperçu des bases de l'apprentissage automatique, de l'intelligence artificielle et de l'apprentissage profond.
Explique comment ils sont interreliés et ce que les technologies dans ce domaine peuvent et ne peuvent pas faire.

Chapitre 2 : Go comme problème d'apprentissage automatique
Présente les règles du jeu de go et explique comment procéder pour enseigner ce jeu à un ordinateur.

Chapitre 3 : Créer votre premier robot Go
L'ensemble du processus de création d'un plateau de go, de placement des pierres de go dessus et de déroulement complet du jeu est implémenté en Python.
À la fin de ce chapitre, vous serez capable de créer l'IA de Go la plus simple qui soit et qui fonctionne réellement.

[Partie 2 : Apprentissage automatique et IA dans les jeux]
Explique les fondements techniques et théoriques de la création d'une IA de jeu de go puissante.
Nous présentons en particulier trois techniques qui ont été utilisées très efficacement dans AlphaGo : la recherche arborescente, les réseaux neuronaux et l’apprentissage par renforcement.

Chapitre 4 : Correspondances par recherche arborescente
Nous présentons un aperçu des algorithmes qui effectuent l'exploration et l'évaluation à chaque tour de jeu.
Nous commencerons par construire une méthode de recherche minimax par force brute simple, puis nous progresserons vers des algorithmes plus avancés comme l'élagage alpha-bêta et la recherche Monte Carlo.

Chapitre 5 : Premiers pas avec les réseaux neuronaux
Une introduction pratique aux réseaux neuronaux artificiels.
Nous allons implémenter en Python un réseau neuronal capable de reconnaître des chiffres manuscrits.

Chapitre 6 : Conception d’un réseau neuronal pour les données Go
Nous expliquons comment les données de Go présentent des caractéristiques similaires aux données d'images et introduisons les réseaux neuronaux convolutifs pour la prédiction des mouvements.
Dans ce chapitre, nous utiliserons Keras, une bibliothèque d'apprentissage profond utile pour la construction de modèles.

Chapitre 7 : Apprendre à partir des données : Les robots d’apprentissage profond
En utilisant les connaissances acquises dans les deux chapitres précédents, nous allons créer un bot Go basé sur un réseau neuronal profond.
Nous entraînons le bot avec des données de matchs réels issues de parties amateurs et soulignons les limites de cette méthode.

Chapitre 8 : Déploiement d'un bot sur un terrain nu
Nous fournirons les bots à des tiers afin que les utilisateurs puissent jouer contre eux via une interface utilisateur.
Vous apprendrez également à faire jouer votre bot contre d'autres bots, aussi bien en local que sur un serveur Go.

Chapitre 9 : Apprendre par l’expérience : l’apprentissage par renforcement
Apprenez les bases de l'apprentissage par renforcement et comment l'utiliser pour jouer au Go en solo.

Chapitre 10 : Apprentissage par renforcement à l’aide de gradients de politique
Nous introduisons les gradients de politique, une méthode essentielle pour améliorer la prédiction des nombres au chapitre 7.

Chapitre 11 : Apprentissage par renforcement à l’aide de techniques de valeur
Nous allons examiner comment attribuer des valeurs aux positions sur l'échiquier en utilisant la méthode des valeurs, un outil très puissant lorsqu'il est combiné avec la recherche arborescente au chapitre 4.

Chapitre 12 : Apprentissage par renforcement acteur-critique
Nous présentons une technique permettant de choisir efficacement le prochain coup en prédisant la valeur à long terme étant donné la position sur l'échiquier et le prochain coup.

[Le tout est plus grand que la somme de ses parties]
Lorsque tous les composants développés précédemment sont combinés dans une application comme AlphaGo, ses performances atteignent leur apogée.
Explication d'AlphaGo et d'AlphaGo Zero

Chapitre 13 AlphaGo : Une collaboration de toutes les techniques d’IA
Il s'agit là du point culminant du livre, tant sur le plan technique que mathématique.
Dans ce chapitre, nous discutons d'abord de la manière d'entraîner des données Go avec un réseau neuronal (chapitres 5 à 7), puis de le faire jouer une partie par lui-même (chapitres 8 à 11), puis de combiner cela avec une méthode de recherche arborescente intelligente (chapitre 4) pour créer un bot Go surhumain.

Chapitre 14 AlphaGo Zero : Combinaison de l’apprentissage par renforcement et de la recherche arborescente
Le dernier chapitre de ce livre aborde les dernières tendances en matière d'IA dans les jeux de société.
Nous allons examiner de plus près la combinaison innovante de recherche arborescente et d'apprentissage par renforcement qui alimente AlphaGo Zero.

[Annexe A : Fondements mathématiques]
Nous passerons en revue les principes fondamentaux de l'algèbre linéaire et du calcul différentiel et intégral, et nous montrerons comment représenter certaines expressions algébriques linéaires à l'aide de la bibliothèque Python NumPy.

[Annexe B, Algorithme de rétropropagation]
Nous expliquons plus en détail, sur le plan mathématique, le processus d'apprentissage dans les réseaux neuronaux multiples utilisés au chapitre 5.

[Annexe C : Programme et serveur Baduk]
Fournit des informations complémentaires aux lecteurs qui souhaitent en savoir plus sur Baduk.

[Annexe D : Formation et déploiement de bots à l'aide d'Amazon Web Services]
Ce guide fournit des instructions pour exécuter un bot sur les serveurs cloud d'Amazon.

[Annexe E : Enregistrement d'un bot sur un serveur Baduk en ligne]
Nous connectons le bot que nous avons créé à un serveur de Go réputé afin que les joueurs de Go du monde entier puissent le tester.
explique comment.
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 1er juin 2020
- Nombre de pages, poids, dimensions : 444 pages | 183 × 235 × 30 mm
- ISBN13 : 9791162243152
- ISBN10 : 1162243155

Vous aimerez peut-être aussi

카테고리