[PYTHON] J'ai essayé de créer Othello AI avec tensorflow sans comprendre la théorie de l'apprentissage automatique ~ Introduction ~

Table des matières de la série

Dans ce domaine, moi, un étranger, je n'ai pas du tout étudié «la théorie de l'apprentissage automatique». Je vais faire l'IA d'Othello. Cliquez ici pour le site référencé ・ Implémentation ultra-simple de DQN (Deep Q Network) avec TensorFlow-Introduction-

Aperçu

Si vous expliquez le concept grossièrement AI.png Deux intelligences artificielles affrontent sérieusement Othello, Sauvez cette dernière IA et combattez-moi (humain). Voilà pourquoi.

Condition environnementale

Mon environnement est le suivant. OS ・ Ubuntu Environnement de développement ・ Python 3.5

Je pense que ça marche dans cet environnement Création d'un environnement de développement Ubuntu python sur Google Cloud Platform

Commençons par le déplacer

Tout d'abord, téléchargez le code source. La source est ici. $ git clone https://github.com/sasaco/tf-dqn-reversi.git

Apprentissage

Lorsque l'environnement est prêt, accédez au répertoire du code source et appuyez sur train.py pour commencer l'apprentissage.

python


$ cd tf-dqn-reversi
$ python train.py

Si vous voyez le journal suivant, vous apprenez correctement.

python


player:1 | pos:32 | LOSS: 0.0000 | Q_MAX: 0.0041
player:2 | pos:15 | LOSS: 0.0000 | Q_MAX: 0.0009
…
layer:2 is only pos:56
player:2 | pos:56 | LOSS: 0.0000 | Q_MAX: 0.8607
EPOCH: 999/999 | WIN: player2 
winner is player2

tester

Il faudra plusieurs heures pour terminer l'étude. Testons avec le modèle entraîné.

python


$ python FightWithAI.py

------------- GAME START ---------------
***tour de l'utilisateur ○***
  0  1  2  3  4  5  6  7
  8  9 10 11 12 13 14 15
 16 17 18 19 20 21 22 23
 24 25 26 ○ ● 29 30 31
 32 33 34 ● ○ 37 38 39
 40 41 42 43 44 45 46 47
 48 49 50 51 52 53 54 55
 56 57 58 59 60 61 62 63
Veuillez saisir le numéro
[43, 34, 29, 20]

>>>

Si le jeu démarre comme ci-dessus, vous réussissez. Cela a-t-il fonctionné correctement? Le résultat du match sera écrit en ~ Iza Battle Edition ~.

La prochaine fois fournira la version d'implémentation.

Recommended Posts

J'ai essayé de créer Othello AI avec tensorflow sans comprendre la théorie de l'apprentissage automatique ~ Introduction ~
J'ai essayé de créer Othello AI avec tensorflow sans comprendre la théorie de l'apprentissage automatique ~ Implémentation ~
J'ai essayé de créer Othello AI avec tensorflow sans comprendre la théorie de l'apprentissage automatique ~ Battle Edition ~
[Apprentissage automatique] J'ai essayé de résumer la théorie d'Adaboost
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai essayé de faire quelque chose comme un chatbot avec le modèle Seq2Seq de TensorFlow
J'ai essayé de faire d'Othello AI que j'ai appris 7,2 millions de mains par apprentissage profond avec Chainer
J'ai essayé de visualiser le modèle avec la bibliothèque d'apprentissage automatique low-code "PyCaret"
J'ai essayé de prédire la présence ou l'absence de neige par apprentissage automatique.
J'ai essayé de déplacer l'apprentissage automatique (détection d'objet) avec TouchDesigner
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique
J'ai essayé de comprendre attentivement la fonction d'apprentissage dans le réseau de neurones sans utiliser la bibliothèque d'apprentissage automatique (première moitié)
J'ai essayé de faire une simulation de séparation de source sonore en temps réel avec l'apprentissage automatique Python
J'ai essayé de créer un environnement d'apprentissage amélioré pour Othello avec Open AI gym
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé d'implémenter ListNet d'apprentissage de rang avec Chainer
J'ai essayé l'apprentissage automatique avec liblinear
J'ai essayé de comparer la précision des modèles d'apprentissage automatique en utilisant kaggle comme thème.
J'ai essayé de vérifier la classification yin et yang des membres hololive par apprentissage automatique
J'ai essayé d'automatiser l'arrosage du pot avec Raspberry Pi
J'ai essayé de bien le comprendre en implémentant l'algorithme Adaboost en machine learning (+ j'ai approfondi ma compréhension du calcul de tableaux)
J'ai essayé de rendre le deep learning évolutif avec Spark × Keras × Docker
[Introduction à StyleGAN] J'ai joué avec "The Life of a Man" ♬
[Introduction au style GAN] Apprentissage unique de l'animation avec votre propre machine ♬
J'ai essayé d'agrandir la taille du volume logique avec LVM
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
J'ai essayé de créer un mécanisme de contrôle exclusif avec Go
J'ai essayé d'implémenter Autoencoder avec TensorFlow
J'ai essayé de visualiser AutoEncoder avec TensorFlow
J'ai essayé d'appeler l'API de prédiction du modèle d'apprentissage automatique de WordPress
[Introduction à l'apprentissage automatique] Jusqu'à ce que vous exécutiez l'exemple de code avec chainer
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
J'ai essayé d'extraire automatiquement les mouvements des joueurs Wiire avec un logiciel
(Apprentissage automatique) J'ai essayé de comprendre attentivement la régression linéaire bayésienne avec l'implémentation
J'ai essayé d'analyser la négativité de Nono Morikubo. [Comparer avec Posipa]
J'ai essayé de rationaliser le rôle standard des nouveaux employés avec Python
J'ai essayé de visualiser le texte du roman "Weather Child" avec Word Cloud
Signifie mémo lorsque vous essayez de faire de l'apprentissage automatique avec 50 images
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
J'ai essayé l'histoire courante de l'utilisation du Deep Learning pour prédire la moyenne Nikkei
J'ai essayé de prédire le comportement du nouveau virus corona avec le modèle SEIR.
J'ai refactoré "J'ai essayé de faire d'Othello AI lorsque les débutants en programmation ont étudié python"
(Apprentissage automatique) J'ai essayé de comprendre attentivement l'algorithme EM dans la distribution gaussienne mixte avec l'implémentation.
J'ai essayé de comprendre attentivement la fonction d'apprentissage dans le réseau de neurones sans utiliser la bibliothèque d'apprentissage automatique (deuxième moitié)
J'ai essayé de prédire l'année prochaine avec l'IA
[Python] Introduction facile à l'apprentissage automatique avec python (SVM)
J'ai essayé de sauvegarder les données avec discorde
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé de faire de l'IA pour Smash Bra
J'ai créé un jeu ○ ✕ avec TensorFlow
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
J'ai essayé d'organiser les index d'évaluation utilisés en machine learning (modèle de régression)
J'ai fait une application d'envoi de courrier simple avec tkinter de Python
[Analyse des brevets] J'ai essayé de créer une carte des brevets avec Python sans dépenser d'argent
Un débutant en apprentissage automatique a essayé de créer un modèle de prédiction de courses de chevaux avec python
J'ai essayé de visualiser facilement les tweets de JAWS DAYS 2017 avec Python + ELK
J'ai couru le tutoriel TensorFlow avec des commentaires (classification du texte des critiques de films)