Reinforcement Learning

Curso

Reinforcement Learning

Departamento de Ingeniería Eléctrica y Electrónica
Inicio / Programas / Reinforcement Learning

Reinforcement Learning

Reinforcement Learning (RL) o aprendizaje por refuerzo es una técnica del estado del arte en el campo de la Inteligencia Artificial. Ha mostrado ser exitosa para entrenar agentes capaces de tomar decisiones basados en la experiencia adquirida. Por ejemplo Alpha Go, desarrollado por Google DeepMind, ganó cuatro de cinco juegos al jugador profesional surcoreano Lee Sedol. 

Durante el curso se explorarán los conceptos más importantes de RL como la caracterización del entorno del agente, la representación de la tarea, y la importancia de la exploración; así como procesos de decisión de Markov y técnicas de aprendizaje típicas tanto para entornos discretos como continuos. Adicionalmente, se abordarán problemas de deep reinforcement learning, donde se requiere la incorporación de redes neuronales densas y convolucionales para que el participante realice el entrenamiento de un agente capaz de desempeñarse en juegos de Atari de OpenAI, como por ejemplo Freeway y Breakout.

Al finalizar el curso, el participante contará con una introducción suficiente acerca de aprendizaje por refuerzo que le permitirá profundizar sus intereses en el tema.
 

Dirigido a

Este curso está orientado a profesionales y estudiantes interesados en el área de Machine Learning e inteligencia artificial y que deseen adquirir conceptos y habilidades prácticas introductorias en el tema de aprendizaje por refuerzo. Conocimientos previos en álgebra lineal, cálculo y habilidades en programación serán útiles para familiarizarse con los conceptos abordados en el curso, así como para implementar algoritmos de RL en entornos y agentes simulados. Aunque las prácticas se realizarán en el lenguaje de programación Python, conocimientos previos en otros lenguajes facilitarán la transición.

Objetivos

Al finalizar el curso, el estudiante estará en capacidad de:
  • Comprender los conceptos base del aprendizaje por refuerzo.
  • Identificar y comprender la funcionalidad de los elementos que debe tener un problema formulado como un proceso de decisión de Markov.
  • Entrenar agentes para resolver tareas en entornos discretos aplicando Q-learning
  • Comprender la arquitectura de Deep Q-learning y la incorporación de redes neuronales densas y convolucionales para entrenar agentes en entornos continuos o que reciben imágenes como observaciones del entorno.
  • Entrenar un agente para resolver tareas en juegos de Atari de OpenAI Gym aplicando Deep Q-learning.

Metodología

El curso consta de siete sesiones sincrónicas de 3 horas. Cada sesión tiene un limitado componente magistral para introducir nociones básicas de los conceptos y algoritmos de aprendizaje por refuerzo, pero se enfoca principalmente en talleres tipo “manos a la obra” en notebooks de Python. En estos talleres, los estudiantes podrán editar y completar secciones del material, haciendo uso de los conceptos adquiridos en el transcurso del curso. El objetivo final será entrenar un agente que se desempeñe adecuadamente en un juego de Atari, disponible en los entornos de OpenAI Gym, aplicando Deep Q-learning.

Contenido

  1. Introducción al aprendizaje por refuerzo
    • Qué es aprendizaje por refuerzo, RL
    • Diferencia respecto a otros algoritmos de Machine Learning
    • Elementos de RL
    • Tipos de entornos
    • Notebooks de Python
  2. Procesos de Decisión de Markov
    • Recompensas y utilidades
    • Tareas episódicas y continuas
    • Tasa de descuento
    • Función de política
    • Función de valor del par estado-acción
  3. Aprendizaje por diferencia temporal
    • Técnicas de exploración
    • Q-learning
    • SARSA
    • Diferencias entre Q-learning y SARSA
  4. Introducción a redes neuronales
    • Representación de funciones
    • Capas de entrada/ocultas/salida
    • Funciones de activación
    • Descenso de gradiente y backpropagation
    • Aplicación como aproximador de funciones
  5. Redes neuronales convolucionales, CNNs
    • Arquitectura general de una CNN
    • Capa convolucional
    • Capa de pooling
    • Capa totalmente conectada
    • Ejemplos
  6. Deep Q-Learning, DQN
    • Arquitectura para DQN
      • CNN
      • Experience replay
      • Target network
    • Aplicación de DQN en juegos de Atari
  7. Avances recientes y aplicaciones
    • Avances
      • Otros métodos de RL
      • RL en entornos multi-agente
      • Inverse Reinforcement Learning
    • Aplicaciones en: robótica, NLP, vision por computador, entre otras

Profesores

Carolina Higuera

Profesora instructora. Departamento de Ingeniería Eléctrica y Electrónica. Magister en Ingeniería Electrónica y de Computadores de la Universidad de los Andes. Docente en el área de electrónica análoga y robótica. Intereses de investigación en el campo de Machine Learning, con énfasis en aprendizaje por refuerzo en casos multi-agente y en aplicaciones a robótica social.

Fernando Lozano PhD

Profesor asociado. Departamento de Ingeniería Eléctrica y Electrónica. PhD University of New Mexico. Profesor del área de Machine Learning desde 2004. Intereses en reinforcement learning, redes neuronales y modelos de aprendizaje sobre estructuras combinatorias aplicadas a drug discovery.