Apprentissage en renforcement profond à Pytorch
Ce référentiel contient tous les algorithmes RL sans modèle et basés sur un modèle standard dans Pytorch. (Peut également contenir des idées de recherche sur lesquelles je travaille actuellement)
Pour la version C ++ de Pytorch-RL: Pytorch-RL-CPP
Qu'est-ce que c'est?
Pytorch-RL met en œuvre certains algorithmes d'apprentissage en renforcement profond de pointe à Pytorch, en particulier ceux concernés par des espaces d'action continus. Vous pouvez former efficacement votre algorithme sur CPU ou GPU. De plus, Pytorch-RL travaille avec Openai Gym hors de la boîte. Cela signifie que l'évaluation et le jeu avec différents algorithmes sont faciles. Bien sûr, vous pouvez étendre Pytorch-RL en fonction de vos propres besoins. TL: DR: Pytorch-RL facilite l'exécution des algorithmes d'apprentissage en renforcement profond de pointe.
Installation
Installez Pytorch-RL de PYPI (recommandé):
pip install pytorch-policy
Dépendances
- Pytorch
- Gym (openai)
- Mujoco-Py (pour la simulation physique et la robotique Env dans le gymnase)
- Pybullet (à venir bientôt)
- MPI (pris en charge uniquement avec l'installation de Pytorch backend MPI)
- Tensorboardx (https://github.com/lanpa/tensorboardx)
Algorithmes RL
- DQN (avec Double Q Learning)
- Ddpg
- DDPG avec elle (pour les environnements Openai Fetch)
- Apprentissage du renforcement héritier
- Expérience hiérarchisée REPLAY + DDPG
- DDPG avec une rediffusion d'expérience de recul priorisée (recherche)
- Carte neuronale avec A3C (à venir bientôt)
- Rainbow DQN (à venir bientôt)
- PPO (https://github.com/ikostrikov/pytorch-a2c-ppo-acktr)
- Elle avec l'attention de soi pour la substitution des objectifs (recherche)
- A3C (à venir bientôt)
- Acer (à venir bientôt)
- Darla
- TDM
- Modèles mondiaux
- Acteur doux-critique
- Exploration axée sur l'autonomisation (Implémentation de Tensorflow: https://github.com/navneet-nmk/empowerment-riven-exploration)
Environnements
- Éclater
- Pong (à venir bientôt)
- Tâche robotique de manipulation des mains
- Tâche robotique de fetch-apparente
- Tâche robotique à main
- Tâche robotique de manipulation de blocage
- La vengeance de Montezuma (recherche actuelle)
- Piège
- Gravité
- Carracé
- Super Mario Bros (Suivez les instructions pour installer Gym -trro https://github.com/openai/retro)
- Opensim Prosthetics Nips Challenge (https://www.crowdai.org/challenges/nips-2018-ai-for-prosthetics-challenge)
Modélisation de l'environnement (pour l'exploration et l'adaptation du domaine)
Plusieurs astuces de formation GAN ont été utilisées en raison de l'instabilité dans la formation des générateurs et des discriminateurs. Veuillez vous référer à https://github.com/soumith/ganhacks pour plus d'informations.
Même après avoir utilisé les astuces, il était vraiment difficile de former un Gan à la convergence. Cependant, après avoir utilisé la normalisation spectrale (https://arxiv.org/abs/1802.05957), l'infogan a été formé à la convergence.
Pour les tâches de traduction d'image à l'image avec Gans et pour les VAE en général, l'entraînement avec Skip Connection aide vraiment la formation.
- bêta-vae
- Infogan
- Cvae-gan
- Modèles génératifs basés sur le flux (recherche)
- Sagan
- Assister séquentiel, inférer, répéter
- Exploration motivée à la curiosité
- Noise d'espace des paramètres pour l'exploration
- Réseau bruyant
Références
- Jouant à Atari avec un apprentissage en renforcement profond, Mnih et al., 2013
- Contrôle au niveau de l'homme par l'apprentissage en renforcement profond, Mnih et al., 2015
- Apprentissage en renforcement profond avec double Q-Learning, Van Hasselt et al., 2015
- Contrôle continu avec un apprentissage en renforcement profond, Lillicrap et al., 2015
- CVAE-GAN: Génération d'images à grains fins grâce à une formation asymétrique, Bao et al., 2017
- Beta-Vae: Apprentissage des concepts visuels de base avec un cadre variationnel contraint, Higgins et al., 2017
- REMPLACE D'EXPÉRIENCE DE RÉTUCHE, Andrychowicz et al., 2017
- Infogan: Apprentissage de la représentation interprétable par des informations maximisant les réseaux adversaires génératifs, Chen et al., 2016
- Modèles mondiaux, Ha et al., 2018
- Normalisation spectrale pour les réseaux adversaires génératifs, Miyato et al., 2018
- Réseaux adversaires génératifs d'auto-adversation, Zhang et al., 2018
- Exploration axée sur la curiosité par prédiction autopérative, Pathak et al., 2017
- Acteur doux-critique: entropie maximale hors politique apprentissage en renforcement profond avec un acteur stochastique, Haarnoja et al., 2018
- Noise d'espace des paramètres pour l'exploration, Plappert et al., 2018
- Réseau bruyant pour l'exploration, Fortunato et al., 2018
- Algorithmes d'optimisation de la politique proximale, Schulman et al., 2017
- Contrôle non surveillé en temps réel grâce à une autonomisation variationnelle, Karl et al., 2017
- Information mutuelle Estimation neuronale, Belghazi et al., 2018
- Exploration axée sur l'autonomisation utilisant l'estimation des informations mutuelles, Kumar et al., 2018