5 - Iteración de la Política y Ejemplo Práctico

Lección 5 del curso Aprendizaje por Refuerzo Nivel Intermedio.

Introducción

En esta lección veremos cómo combinar los algoritmos de Evaluación de la Política y Mejora de la Política, vistos anteriormente, en un algoritmo que nos permitirá obtener una Política óptima para el agente, y que se conoce precisamente como el algoritmo de Iteración de la Política.

Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Repaso: algoritmos de Programación Dinámica

En las lecciones anteriores hablamos de los algoritmos de Evaluación y Mejora de la Política. El primero de ellos nos permite calcular la función estado-valor, con lo cual podremos cuantificar las bondades de la Política, mientras que el segundo hace uso de la función acción-valor (o función Q) para determinar la mejor acción asociada a cada estado, lo que a su vez permite mejorar la Política.

Si combinamos de manera iterativa estos dos algoritmos (evaluación → mejora → evaluación → mejora, etc…) lograremos progresivamente mejorar la Política hasta obtener una que sea óptima para el Agente. ¡Y este es precisamente el algoritmo de Iteración de la Política!

Veamos en detalle este algoritmo.

Iteración de la Política: el algoritmo

A continuación resumimos este algoritmo:

  1. Entradas
    • Una Política ($\pi(a|s)$) arbitraria
    • Todos los elementos del Proceso de Decisión de Markov que describen el problema de Aprendizaje por Refuerzo, incluyendo el factor de descuento ($\gamma$)
    • El parámetro $\theta$ que controlará la convergencia del algoritmo de Evaluación de la Política
  2. Iterar indefinidamente, y en cada iteración:
    • $\text{política anterior} \leftarrow \pi(a|s)$: almacenar una copia de la política antes de modificarla
    • $v_{\pi}(s) \leftarrow \text{Evaluación de la Política}$
    • $q_{\pi}(s,a) \leftarrow \text{Calcular valores Q}$
    • $\pi(s|a) \leftarrow \text{Mejora de la política}$
    • Detener las iteraciones si $\pi(a|s) == \text{política anterior}$

Iteración de la Política: ejemplo práctico

Veamos un ejemplo numérico paso a paso que nos permitirá entender el funcionamiento del algoritmo de Iteración de la Política.

Además, veremos que el algoritmo funciona incluso cuando tenemos la peor situación posible, es decir cuando la política inicial es tal que hace que todos los valores de los estados sean cero.

De nuevo, desarrollaremos el ejemplo a partir del tablero bidimensional estocástico:

  1. Con la política inicial y tras calcular el valor de cada estado con la Evaluación de la Política, obtenemos valores muy cercanos a 0 en todos los casos.
  2. Tras la primera aplicación de la Mejora de la Política, 7 estados sufren cambios.
  3. En la segunda iteración vemos ligeras mejoras en la Evaluación de la Política (ya no todos los estados son iguales a 0) y tras aplicar la Mejora 6 estados sufrirán cambios

Al final, tras 6 iteraciones del algoritmo veremos que no hay más cambios entre una política y otra, con lo cual habremos obtenido una política óptima para el Agente.

Acá resulta importante resaltar el término “una” política óptima, pues como hemos visto, en algunas iteraciones la Mejora de la Política indica más de una acción óptima para algunos estados. Al tener múltiples acciones óptimas, tendremos por tanto múltiples políticas óptimas, pero todas ellas arrojarán al final exactamente los mismos valores para los estados (esta función estado-valor óptima sí será única).

Recuerda suscribirte para acceder al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Perfecto, ya tenemos nuestro primer algoritmo para el entrenamiento del Agente que nos permite encontrar una Política óptima para su interacción con el entorno.

En la siguiente lección veremos el algoritmo de Iteración de Valores, que nos ofrece una forma alternativa de llegar a una Política Óptima para el Agente.

Ver todas las lecciones de este curso