Aprendizaje de refuerzo profundo en Pytorch
Este repositorio contiene todos los algoritmos RL sin modelos estándar y basados en modelos (próximos) en Pytorch. (También puede contener algunas ideas de investigación en las que estoy trabajando actualmente)
Para la versión C ++ de Pytorch-Rl: Pytorch-RL-CPP
¿Qué es?
Pytorch-RL implementa algunos algoritmos de aprendizaje de refuerzo profundo de estado de arte en Pytorch, especialmente aquellos relacionados con espacios de acción continuos. Puede entrenar su algoritmo de manera eficiente en CPU o GPU. Además, Pytorch-RL trabaja con Operai Gym fuera de la caja. Esto significa que evaluar y jugar con diferentes algoritmos es fácil. Por supuesto, puede extender Pytorch-RL de acuerdo con sus propias necesidades. TL: DR: Pytorch-RL hace que sea realmente fácil ejecutar algoritmos de aprendizaje de refuerzo profundo de última generación.
Instalación
Instale Pytorch-RL de PYPI (recomendado):
PIP Instale Pytorch-Policy
Dependencias
- Pytorch
- Gimnasio (OpenAi)
- Mujoco-Py (para la simulación de física y la robótica envía en el gimnasio)
- Pybullet (próximamente)
- MPI (solo compatible con la instalación de MPI Backend Pytorch)
- TensorBoardX (https://github.com/lanpa/tensorboardx)
Algoritmos RL
- DQN (con doble aprendizaje Q)
- Ddpg
- DDPG con ella (para los entornos de Fetch Operai)
- Aprendizaje de refuerzo heirárquico
- Experiencia priorizada de repetición + ddpg
- DDPG con experiencia de experiencia retrospectiva priorizada (investigación)
- Mapa neural con A3C (próximamente)
- Rainbow DQN (próximamente)
- PPO (https://github.com/ikostrikov/pytorch-a2c-ppo-acktr)
- Ella con autocompresión por la sustitución de objetivos (investigación)
- A3C (próximamente)
- Acer (próximamente)
- Darle
- TDM
- Modelos mundiales
- Actor suave-crítico
- Exploración impulsada por empoderamiento (implementación de TensorFlow: https://github.com/navneet-nmk/empowerment-driven-exploration)
Entornos
- Fugarse
- Pong (próximamente)
- Tarea robótica de manipulación de la mano
- Tarea robótica de alcance de alcance
- Tarea robótica de alcance a mano
- Tarea robótica de manipulación de bloque
- La venganza de Montezuma (investigación actual)
- Trampa
- Gravitar
- Carracería
- Super Mario Bros (siga las instrucciones para instalar gimnasio-Retro https://github.com/openai/reto)
- OpenSim Prosthetics NIPS Challenge (https://www.crowdai.org/challenges/nips-2018-ai-for-prosthetics-challenge)
Modelado de entorno (para exploración y adaptación de dominio)
Se han utilizado múltiples trucos de entrenamiento GaN debido a la inestabilidad en el entrenamiento de los generadores y discriminadores. Consulte https://github.com/soumith/ganhacks para obtener más información.
Incluso después de usar los trucos, fue realmente difícil entrenar a un ganador para convergencia. Sin embargo, después de usar la normalización espectral (https://arxiv.org/abs/1802.05957), el Infogan fue entrenado para convergencia.
Para las tareas de traducción de imagen a imagen con GANS y para VAE en general, el entrenamiento con la conexión Skip realmente ayuda a la capacitación.
- beta
- Infoguano
- Cvae-gan
- Modelos generativos basados en flujo (investigación)
- Sagan
- Asistir secuencial, inferir, repetir
- Exploración impulsada por la curiosidad
- Parámetros de ruido espacial para exploración
- Red ruidosa
Referencias
- Jugando Atari con un aprendizaje de refuerzo profundo, Mnih et al., 2013
- Control a nivel humano a través del aprendizaje de refuerzo profundo, Mnih et al., 2015
- Aprendizaje de refuerzo profundo con doble Q-learning, Van Hasselt et al., 2015
- Control continuo con aprendizaje de refuerzo profundo, Lillicrap et al., 2015
- CVAE-Gan: Generación de imágenes de grano fino a través del entrenamiento asimétrico, Bao et al., 2017
- Beta-Vae: Aprender conceptos visuales básicos con un marco variacional restringido, Higgins et al., 2017
- Reproducción de experiencia en retrospectiva, Andrychowicz et al., 2017
- Infogan: aprendizaje de representación interpretable mediante la información maximizando las redes de adversas generativas, Chen et al., 2016
- Modelos mundiales, Ha et al., 2018
- Normalización espectral para redes adversas generativas, Miyato et al., 2018
- Autoatenidos Redes adversas generativas, Zhang et al., 2018
- Exploración impulsada por la curiosidad por predicción auto-supervisada, Pathak et al., 2017
- Actor suave-crítico: aprendizaje de refuerzo profundo de entropía máxima fuera de política con un actor estocástico, Haarnoja et al., 2018
- Parámetros de ruido espacial para la exploración, Plappert et al., 2018
- Red ruidosa para exploración, Fortunato et al., 2018
- Algoritmos de optimización de políticas proximales, Schulman et al., 2017
- Control no supervisado en tiempo real a través del empoderamiento variacional, Karl et al., 2017
- Información mutua Estimación neuronal, Belghazi et al., 2018
- Exploración impulsada por el empoderamiento utilizando la estimación de información mutua, Kumar et al., 2018