Aprendizaje por Refuerzo

  • Horas de clases semanales: 

  • Carga horaria cuatrimestral:

  • Duración:
  • Docentes:

Temario /Programa


Objetivos

Comprender las bases teóricas de los algoritmos de Aprendizaje Reforzado basadas en teoría de probabilidad y manejar herramientas computacionales para poder plantear y resolver problemas prácticos.

Se espera que al final del curso el estudiante desarrolle capacidades para:

(a) Formular problemas prácticos y resolverlos implementando algoritmos de Aprendizaje Reforzado en Pytorch y Librería OpenGym;
(b) Evaluar la performance de distintos modelos y algoritmos;
(c) Poder comprender literatura científica actualizada.

Requisitos

Probabilidad, Álgebra Lineal y Programación.

Conocimientos previos relevantes (no excluyente)

Aprendizaje Automático, Redes Neuronales.

Modalidad de enseñanza

Clases teórico-prácticas. Se presentarán los problemas generales, la teoría para formalizarlos y los algoritmos derivados para poder resolverlos. Se implementarán los algoritmos y modelos de Aprendizaje Reforzado en Pytorch utilizando además la librería OpenAI Gym para la generación de ambientes de simulación.

Modalidad de evaluación

Entrega periódica de ejercicios resueltos y presentación de una monografía final.

PROGRAMA

1. Introducción: definición, aplicaciones y comparación con otros paradigmas del aprendizaje automático. Herramientas computacionales: Python, Google Colab, OpenAl Gym.

2. Problema del Bandido Multibrazo: métodos con soluciones tabulares, métodos de acción-valor, el problema de la no-estacionariedad y la selección de valores iniciales, método UCB (Upper-Confidence-Bound), algoritmos de bandidos basados en gradientes.

3. Procesos de Decisión Markovianos: definición de ambiente, agente, estados, acciones, objetivos, recompensas y dinámica. Procesos Markovianos de recompensas. Ecuaciones de Bellman.

4. Programación Dinámica: Métodos con un modelo del mundo. Políticas y funciones de valor óptimas. Evaluación de política. Algoritmos de iteración de política y valores. Implementación de ejemplos: grid-world, Jack’s Car Rental y Gabbler’s problema.

5. Métodos Monte Carlo: Métodos de primera visita y de cada visita, dentro y fuera de la política, muestreo de importancia, equilibrio entre exploración y explotación. Implementación de ejemplo Blackjack.

6. Método de Diferencia Temporales: algoritmos TD(0), SARSA, Q-Learning. Implementación en OpenGym y librería PTAN (ejemplo FrozenLake).

7. Planeamiento y Aprendizaje: Algoritmo DYNA y Tabular DYNA-Q. Introducción a Deep Learning: introducción de redes neuronales profundas, entrenamiento de modelos con gradiente estocástico y propagación hacia atrás. Introducción a
Pytorch e implementación de algoritmos de Deep Learning.

8. Métodos aproximados: redes neuronales, Deep Q-Learning (DQN). Mejoras al DQN: Double DQN, N-step DQN, Noisy networks, Dueling DQN. Implementación de modelos en OpenAI Gym (ejemplo CartPole).
9. Métodos de gradientes de política: Gradiente de política Monte Carlo: algoritmo REINFORCE. Método Actor-Critic. Implementación CartPole con REINFORCE y Actor Critic.

CAMPUS VIRTUAL

Ver programa de estudios