[PYTHON] Essayez avec Chainer Deep Q Learning - Lancement

Bonjour le cœur de métier, ce sont les gens pas un programmeur.

Lorsque le mot clé "apprentissage en profondeur" bourdonne à la télévision Regardez Contrôle de robot avec apprentissage par renforcement profond distribué | Recherche préférée Je voulais l'essayer, donc je ne l'ai pas appelé un clone, mais je l'ai fait à partir d'un simple. ⇒ Stockage: DeepQNetworkTest

le but

Python pour la première fois! Chainer, c'est aussi la première fois! Je ne sais même pas programmer, mais il n'y a pas de boutique de logiciels! Mais je veux laisser la machine automotrice faire l'apprentissage de renforcement! ⇒ Si vous le publiez pour le moment, certaines personnes pourraient vous dire

Il y a vraiment peu de cas de déplacement de la machine qui a de l'inertie ou quelque chose (je sens) ⇒Mettons-le à l'étape suivante

Ce que j'ai fait

-Créer quelque chose comme un clone de ConvNetJS Deep Q Learning Reinforcement Learning with Neural Network demo

Aperçu du programme

environnement

Des pommes rouges et des anneaux de poison sont alignés dans un jardin entouré d'un cadre extérieur et d'un cadre intérieur. L'intelligence artificielle veut manger beaucoup de pommes rouges et ne veut pas manger de pommes empoisonnées.

Cadre extérieur et paroi intérieure

Un obstacle qui bloque le mouvement et la vision de l'intelligence artificielle. L'intelligence artificielle aime avoir une vision ouverte. 001.png

Pomme rouge / pomme poison

Lorsque vous frappez une pomme rouge, vous serez récompensé. Si c'est une pomme empoisonnée, elle sera punie. aka.pngdoku.png

Intelligence artificielle

Un point bleu avec un champ de vision de 300 pixels à 120 ° vers l'avant.

Apprentissage intensifié

Réseau neuronal

J'utilise Relu avec 59 entrées, 50 couches cachées x 2 et 5 sorties (comme original) network.png

Apprentissage

Apprentissage par mini-lots avec 30 000 expériences en stock. Je vois souvent comment apprendre. Je n'ai rien fait de mode, comme utiliser Double DQN ou LSTM.

Ce que j'ai pu faire / endroit étrange À partir du 20/04/2016

―― L'intelligence artificielle apprend petit à petit et commence à manger des pommes rouges ―― J'aime étrangement coller au mur ――Il semble que les pommes empoisonnées vont également manger activement, mais est-ce que ε-gourmand ε est absent?

Il peut être nécessaire d'ajuster l'action en guise de récompense. Il faut que les progrès de l'apprentissage ne soient pas illustrés.

Je veux que tu me dises et que tu m'aides! 22/04/2016

Comment utiliser Numpy

Chainer Memo 11 Quand la vitesse ne sort pas sur GPU --studylog / Northern clouds

Pour ceux qui utilisent habituellement numpy pour crunching, ce code n'est pas possible au niveau du soufflage du thé, mais jusqu'à il y a quelque temps j'étais souvent mélangé avec un tel code.

Il y a une chose, mais cet article lui-même parle de Cupy, Même si je le limite à numpy, je ne sais pas comment le faire, alors N'est-ce pas étrange comment écrire que ce sera plus rapide? J'aimerais savoir s'il y en a.

DQN001.py


        memsize     = self.eMem.shape[0]
        batch_index = np.random.permutation(memsize)[:self.batch_num]
        batch       = np.array(self.eMem[batch_index], dtype=np.float32).reshape(self.batch_num, -1)

        x = Variable(batch[:,0:STATE_DIM])
        targets = self.model.predict(x).data.copy()

        for i in range(self.batch_num):
            #[ state..., action, reward, seq_new]
            a = int(batch[i,STATE_DIM])
            r = batch[i, STATE_DIM+1]

            new_seq= batch[i,(STATE_DIM+2):(STATE_DIM*2+2)]

            targets[i,a]=( r + self.gamma * np.max(self.get_action_value(new_seq)))

        t = Variable(np.array(targets, dtype=np.float32).reshape((self.batch_num,-1))) 

Devrions-nous envisager une implémentation capable de convertir l'intérieur de la boucle for en une opération vectorielle?

Comment utiliser wxPython

Je ne suis pas sûr de la relation parent-enfant entre Frame et Panel et comment gérer le contexte de périphérique (dc). Je souhaite ajouter un graphique en bas de l'écran (en attente de construction) ⇒ wxPython: Dessin simultané d'animation et de graphisme --Qiita

voglio001.png

Après cela: un apprentissage distribué et des graphiques ont été ajoutés

On dirait qu'une luciole vole. 003.gif

référence

Mise en garde

Cet article sera ajouté ou réécrit petit à petit

Recommended Posts

Essayez avec Chainer Deep Q Learning - Lancement
Essayez l'apprentissage en profondeur avec TensorFlow
Essayez le Deep Learning avec FPGA
Essayez le Deep Learning avec les concombres FPGA-Select
Essayez l'apprentissage en profondeur avec TensorFlow Partie 2
Essayez l'apprentissage de la représentation commune avec le chainer
Classez les visages d'anime avec l'apprentissage en profondeur avec Chainer
Essayez les prévisions de prix Bitcoin avec Deep Learning
Essayez l'apprentissage profond de la génomique avec Kipoi
Introduction au Deep Learning (2) - Essayez votre propre régression non linéaire avec Chainer-
Essayez d'implémenter RBM avec chainer.
Apprentissage profond du noyau avec Pyro
Clustering embarqué profond avec Chainer 2.0
Essayez le machine learning à la légère avec Kaggle
Générez des Pokémon avec Deep Learning
Maintenant, essayons la reconnaissance faciale avec Chainer (phase d'apprentissage)
Essayez de créer un réseau de neurones / d'apprentissage en profondeur avec scratch
[Evangelion] Essayez de générer automatiquement des lignes de type Asuka avec Deep Learning
Identification de la race de chat avec Deep Learning
Renforcer l'apprentissage 13 Essayez Mountain_car avec ChainerRL.
Faites de l'art ASCII avec l'apprentissage en profondeur
Essayez de prédire les courses de chevaux avec Chainer
[Chainer] Apprentissage de XOR avec perceptron multicouche
SVM essayant l'apprentissage automatique avec scikit-learn
Renforcer l'apprentissage 8 Essayez d'utiliser l'interface utilisateur de Chainer
Vérifiez la forme de squat avec l'apprentissage en profondeur
Catégoriser les articles de presse grâce au Deep Learning
Prévisions des ventes de collations avec apprentissage en profondeur
Faites sourire les gens avec le Deep Learning
(python) Principes de base du chaînage de la bibliothèque d'apprentissage en profondeur
L'apprentissage en profondeur
DQN avec Chainer. J'ai essayé plusieurs apprentissages par renforcement d'affilée. (Deep Q Network, Q-Learning, Monte Carlo)
Apprentissage profond / Apprentissage profond à partir de zéro 2-Essayez de déplacer GRU
Analyse émotionnelle des tweets avec apprentissage en profondeur
Renforcer l'apprentissage 11 Essayez OpenAI acrobot avec ChainerRL.
L'histoire de l'apprentissage profond avec TPU
Chainer et deep learning appris par approximation de fonction
Mémorandum d'apprentissage profond
Commencer l'apprentissage en profondeur
99,78% de précision avec apprentissage en profondeur en reconnaissant les hiragana manuscrits
Apprentissage en profondeur Python
Apprentissage profond × Python
Seq2Seq (1) avec chainer
J'ai installé le framework Deep Learning Chainer
Une histoire de prédiction du taux de change avec Deep Learning
J'ai installé et utilisé la bibliothèque Deep Learning Chainer
Analyse d'images par apprentissage profond à partir de Kaggle et Keras
Essayez de prédire le taux de change (FX) avec un apprentissage automatique non approfondi
Maintenant, essayons la reconnaissance faciale avec Chainer (phase de prédiction)
Utilisez l'ensemble de données d'entraînement scikit-learn avec chainer (pour l'entraînement / la prédiction)
Prédire les tags en extrayant des fonctionnalités musicales avec Deep Learning
Classer les visages d'anime par suite / apprentissage profond avec Keras
Bibliothèque DNN (Deep Learning): Comparaison de chainer et TensorFlow (1)
Apprenez avec un pendule inversé DQN (Deep Q Network)
Essayez de gratter avec Python.
Premier apprentissage profond ~ Lutte ~
Apprendre Python avec ChemTHEATER 03
"Orienté objet" appris avec python
Apprendre Python avec ChemTHEATER 05-1
Python: pratique du Deep Learning