1 - Introducción a los algoritmos clásicos del Aprendizaje por Refuerzo
Lección 1 del curso Aprendizaje por Refuerzo Nivel Intermedio.
Tabla de contenido
Introducción
En esta primera lección del curso haremos un repaso de los conceptos esenciales del aprendizaje por refuerzo vistos en el curso anterior: es decir que hablaremos de los elementos de un sistema de aprendizaje por refuerzo, de los procesos de decisión de Markov, del agente y de las Ecuaciones de Bellman.
Luego introduciremos algunos conceptos fundamentales, como los problemas basados en modelos y libres de modelos, y los problemas de predicción y de control, lo que nos permitirá cerrar la lección con un panorama de los algoritmos clásicos de Aprendizaje por Refuerzo que veremos en detalle a lo largo del curso, y su relación con estos conceptos fundamentales.
Video
En el canal de YouTube puedes ver el video completo de esta primera lección:
El problema a resolver en el Aprendizaje por Refuerzo
Recordemos, según lo visto en el curso anterior, que son esencialmente dos los componentes de un sistema de Aprendizaje por Refuerzo: el agente y el entorno, los cuales se encuentran en constante interacción.
Como resultado de esta interacción el agente recibe señales del entorno, llamadas estado y recompensa y dependiendo de estos valores dicho agente ejecuta una acción siguiendo las indicaciones de la política que es como el cerebro del agente encargado de la toma de decisiones.
Así que, en este contexto, un problema de Aprendizaje por Refuerzo equivale a lograr que el agente encuentre una secuencia de acciones que maximice el retorno (es decir la suma de las recompensas obtenidas durante su interacción con el entorno).
Los Procesos de Decisión de Markov
Y recordemos además que un Proceso de Decisión de Markov es simplemente una herramienta matemática para representar de manera compacta todos los elementos que hacen parte de nuestro problema de Aprendizaje por Refuerzo. Así, los elementos de este proceso son:
- El espacio de estados (S) que puede alcanzar el entorno
- El espacio de acciones (A) que puede ejecutar el agente
- La función de recompensa (R) **que permitirá calcular la recompensa obtenida por el agente dependiendo del estado y de la acción ejecutada
- La función de transición (p) que indica la probabilidad de que el entorno alcance un nuevo estado (s’) dependiendo del estado anterior (s) y de la acción ejecutada por el agente (a)
- Y el factor de descuento (γ), que permite ponderar las recompensas obtenidas por el agente en su interacción con el entorno, y que es un elemento clave en el cálculo del retorno y en la optimización de dicha interacción
La política y las funciones valor
Como mencionamos anteriormente, la política del agente es como su cerebro, que le permite encontrar la mejor acción a tomar partiendo de un estado en particular con el objetivo de maximizar el retorno.
Por otra parte, tenemos dos tipos de funciones valor, que permiten cuantificar qué tan bueno es un estado (para el caso de la función estado-valor) o qué tan buena es una acción (para el caso de la función acción-valor).
De hecho, podemos combinar estas dos funciones en lo que se conoce como la función acción-ventaja, que es simplemente el resultado de restar de la función acción-valor la función estado-valor, y que permite cuantificar la ventaja de tomar una acción definida por la política en lugar de cualquier otra acción
Las Ecuaciones de Bellman
Finalmente, para terminar este repaso, tenemos las Ecuaciones de Bellman que simplemente son una representación matemática alternativa de las funciones valor, pero con un elemento importante, y es que permiten descomponer dicho valor en dos elementos: uno que contiene la recompensa inmediata y otro con los valores futuros pero con descuento.
¿Con modelos o sin modelos?
Ahora si introduzcamos un primer par de conceptos esenciales, pues dependiendo de estos podremos tener diferentes algoritmos para resolver un problema de Aprendizaje por Refuerzo.
Para entender estos dos tipos de algoritmos (model-based - basado en modelos - y model-free - libre de modelos) volvamos a la notación compacta de un proceso de decisión de Markov, que contiene el espacio de estados, el espacio de acciones, la función de recompensa, la función de transición y el descuento.
El modelo del entorno hace referencia a la función de transición y a la función de recompensa. Con estas dos tenemos toda la información necesaria para determinar cuál será el nuevo estado del entorno (partiendo de un par estado-acción iniciales) y cuál será la respectiva recompensa obtenida por el agente.
Teniendo clara esta definición, ahora sí hablemos de los dos grandes grupos de algoritmos:
- Basados en modelos (model-based): este tipo de algoritmos usan toda la información proporcionada por el Proceso de Decisión de Markov, incluyendo precisamente el modelo del entorno. Un ejemplo de esto es el juego del [tablero bidimensional] que vimos en el curso anterior: en ese caso conocíamos todos los detalles del proceso, incluyendo las probabilidades de transición de un estado a otro y las recompensas obtenidas en cada caso. Así que el agente debe decidir simplemente cuál es la mejor secuencia de acciones para lograr un objetivo en particular, es decir debe ejecutar una tarea de planeación
- Libres de modelos (model-free): en estos algoritmos se desconoce con antelación el modelo del entorno. Un ejemplo de esto sería un robot que debe aprender a desplazarse por un entorno: no es posible definir con antelación las probabilidades de transición y las recompensas que obtendría, y en su lugar el agente debe interactuar con el entorno e ir aprendiendo a identificar de manera progresiva la mejor manera de desplazarse. Es decir debe ejecutar una tarea de aprendizaje
En la práctica encontraremos más problemas libres de modelos (que involucran aprendizaje) que basados en modelos (que involucran planeación).
¿Predicción o control?
También podemos clasificar los problemas y algoritmos de Aprendizaje por Refuerzo en dos categorías dependiendo del objetivo:
- Problemas de predicción: el objetivo en este caso es, dada una política, determinar la secuencia de acciones que maximizan el retorno. Y para lograr esto debemos tomar la política y precisamente predecir el retorno para un estado determinado. Un ejemplo sería precisamente el tablero bidimensional visto en el curso anterior: conocemos la política y queremos saber cuál será la ruta óptima que debe seguir el agente.
- Problemas de control: el objetivo en este caso es determinar la política óptima. Por ejemplo, supongamos que en el caso del tablero bidimensional desconocemos las reglas que le indican al agente cómo moverse (es decir no tenemos la política): en este caso lo que haríamos sería explorar diferentes sets de reglas (es decir diferentes políticas), evaluar cada una de ellas (es decir calcular sus funciones valor asociadas) y elegir o ajustar la política que permita ejecutar las mejores acciones en cada interacción.
Clasificación de los algoritmos clásicos de Aprendizaje por Refuerzo
Teniendo en cuenta los conceptos que acabamos de ver, podemos definir las siguientes categorías de algoritmos, que serán precisamente los que abordaremos a lo largo de este curso:
- Programación Dinámica: todos ellos basados en modelos y que pueden ser usados tanto para resolver problemas de predicción como de control.
- Monte Carlo y Diferencias Temporales: todos son libres de modelos y pueden ser usados tanto para resolver problemas de predicción como de control.
Conclusión
Muy bien, acabamos de ver un panorama de los principales algoritmos clásicos para el abordaje de problemas de Aprendizaje por Refuerzo, que se dividen en tres grandes familias: la programación dinámica, Monte Carlo y las Diferencias Temporales, y cada una de estas familias tiene variantes que pueden ser usadas en problemas de predicción o de control, así como en problemas donde tengamos o no la información del modelo del entorno.
Así que con esta introducción ya estamos listos para comenzar a ver en detalle cada una de estas familias, entonces en la primera sección del curso nos enfocaremos en los algoritmos de Programación Dinámica, y en particular en la próxima lección veremos el primero de estos algoritmos de predicción para la evaluación de la política.