Refuerzo profundo Aprendizaje de nanodegrado

Este repositorio contiene material relacionado con el programa de nanodegrado de aprendizaje de refuerzo profundo de Udacity.
Tabla de contenido
Tutoriales
Los tutoriales lo llevan a través de la implementación de varios algoritmos en el aprendizaje de refuerzo. Todo el código está en Pytorch (V0.4) y Python 3.
- Programación dinámica: implementar algoritmos de programación dinámica como la evaluación de políticas, la mejora de la política, la iteración de políticas y la iteración del valor.
- Monte Carlo: Implementar métodos de Monte Carlo para la predicción y el control.
- Diferencia temporal: implementar métodos de diferencia temporal como Sarsa, Q-Learning y Sarsa esperada.
- Discretización: Aprenda a discretizar los espacios de estado continuos y resolver el ambiente del automóvil de montaña.
- Codificación de mosaicos: implementar un método para discretizar los espacios de estado continuo que permite una mejor generalización.
- Profunda Q-Network: explore cómo usar una red Q-Network (DQN) profunda para navegar por un vehículo espacial sin chocar.
- Robótica: use una API C ++ para entrenar a los agentes de aprendizaje de refuerzo de la simulación robótica virtual en 3D. ( Enlace externo )
- Escalada de colinas: use la escalada de colinas con escalamiento de ruido adaptativo para equilibrar un poste en un carro en movimiento.
- Método de entropía cruzada: use el método de entropía cruzada para entrenar un automóvil para navegar por una colina empinada.
- Reforzar: Aprenda a usar los gradientes de políticas de Monte Carlo para resolver una tarea de control clásica.
- Optimización de políticas proximales : explore cómo usar la optimización de políticas proximales (PPO) para resolver una tarea clásica de aprendizaje de refuerzo. ( ¡Muy pronto! )
- Gradientes de políticas deterministas profundos : explore cómo utilizar los gradientes de políticas deterministas profundos (DDPG) con entornos de gimnasio Operai.
- Péndulo: Use el entorno de péndulo del gimnasio Operai.
- Bipedalwalker: Use el entorno Bipedalwalker Bipedalwalker de Openai Gym.
- Finanzas: capacite a un agente para descubrir estrategias comerciales óptimas.
Laboratorios / proyectos
Los laboratorios y proyectos se pueden encontrar a continuación. Todos los proyectos utilizan entornos de simulación ricos de Unity ML-Agents. En el programa de nanodegro de aprendizaje de refuerzo profundo, recibirá una revisión de su proyecto. Estas revisiones están destinadas a darle comentarios personalizados y decirle qué se puede mejorar en su código.
- El problema del taxi: en este laboratorio, entrenarás un taxi para recoger y dejar a los pasajeros.
- Navegación: en el primer proyecto, capacitará a un agente para recolectar plátanos amarillos mientras evita los plátanos azules.
- Control continuo: en el segundo proyecto, entrenarás un brazo robótico para llegar a las ubicaciones objetivo.
- Colaboración y competencia: ¡en el tercer proyecto, entrenarás a un par de agentes para jugar al tenis!
Recursos
- Hoja de trucos: se le recomienda que use este archivo PDF para guiar su estudio del aprendizaje de refuerzo.
Puntos de referencia del gimnasio de Operai
Control clásico
-
Acrobot-v1 con codificación de mosaico y Q-learning -
Cartpole-v0 con escalada de la colina | resuelto en 13 episodios -
Cartpole-v0 con Reforce | resuelto en 691 episodios -
MountainCarContinuous-v0 con método de entropía cruzada | resuelto en 47 iteraciones -
MountainCar-v0 con discretización de la red uniforme y Q-learning | resuelto en <50000 episodios -
Pendulum-v0 con profundos gradientes de políticas deterministas (DDPG)
Box2d
-
BipedalWalker-v2 con profundos gradientes de políticas deterministas (DDPG) -
CarRacing-v0 con Q-Networks profundo (DQN) | ¡Muy pronto! -
LunarLander-v2 con Q-Networks profundo (DQN) | resuelto en 1504 episodios
Texto de juguete
-
FrozenLake-v0 con programación dinámica -
Blackjack-v0 con métodos de Monte Carlo -
CliffWalking-v0 con métodos de diferencia temporal
Dependencias
Para configurar su entorno Python para ejecutar el código en este repositorio, siga las instrucciones a continuación.
Cree (y active) un nuevo entorno con Python 3.6.
conda create --name drlnd python=3.6
source activate drlnd
conda create --name drlnd python=3.6
activate drlnd
Si se ejecuta en Windows , asegúrese de tener las "Herramientas de compilación para Visual Studio 2019" instaladas desde este sitio. Este artículo también puede ser muy útil. Se confirmó que esto funcionó en Windows 10 Home.
Siga las instrucciones en este repositorio para realizar una instalación mínima de Operai Gym.
- A continuación, instale el grupo de entorno de control clásico siguiendo las instrucciones aquí.
- Luego, instale el grupo de entorno Box2D siguiendo las instrucciones aquí.
Clone el repositorio (¡si aún no lo ha hecho!), Y navegue a la carpeta python/ . Luego, instale varias dependencias.
git clone https://github.com/udacity/deep-reinforcement-learning.git
cd deep-reinforcement-learning/python
pip install .
Cree un núcleo Ipython para el entorno drlnd .
python -m ipykernel install --user --name drlnd --display-name " drlnd "
Antes de ejecutar código en un cuaderno, cambie el núcleo para que coincida con el entorno drlnd utilizando el menú desplegable Kernel .

¿Quieres aprender más?
¡Ven a aprender con nosotros en el Programa de Nanodegrado de aprendizaje de refuerzo profundo en Udacity!
