El Generalized Advantage Estimation (GAE), o Estimación Generalizada de Ventajas en español, es un método utilizado en aprendizaje por refuerzo para calcular una estimación más precisa de la 'ventaja' (advantage) de una acción en comparación con otras acciones posibles en un estado determinado.
En el contexto del aprendizaje por refuerzo, el 'advantage' se refiere a cuán mejor o peor es una acción en comparación con el valor promedio de todas las acciones en ese estado. El GAE busca reducir la varianza de las estimaciones de ventaja mientras mantiene un sesgo controlado, lo que lo convierte en un método más eficiente y estable para entrenar agentes, especialmente en entornos complejos y con políticas continuas.
¿Cómo funciona el GAE?
GAE mejora la estimación de la ventaja al combinar métodos de estimación con un parámetro de decaimiento lambda (λ) que controla el balance entre el sesgo y la varianza. Se usa una serie de diferencias temporales ponderadas, lo que da lugar a una estimación más precisa.
Donde:
es el error temporal (TD error) en el tiempo .
es el factor de descuento
λ es el factor de suavizado.
Beneficios del GAE
Reducción de la varianza: El GAE suaviza las fluctuaciones de las estimaciones, lo que permite un entrenamiento más estable.
Control del sesgo: A través del parámetro λ, se puede ajustar el equilibrio entre el sesgo y la varianza.
Demostración
A continuación, voy a mostrarte la diferencia en el aprendizaje de un agente al usar GAE en un entorno llamado 'CartPole'.
El objetivo de este juego es que el agente mueva la base del palo a la derecha o a la izquierda para evitar que el palo toque el suelo. Mientras más perpendicular con respecto al suelo este, mayor será la recompensa.
Cuando entrenamos dos agentes durante varios ciclos, que representarían los 'intentos', podemos obtener una notable diferencia entre el agente que usa GAE y el que no usa GAE.
Sin GAE | Con GAE |
---|---|
Observamos que el agente logra llegar a más de 50 puntos de recompensa, pero no logra mantenerlos constantes. | Observamos que el agente logra llegar a más de 50 puntos de recompensa y los mantiene constantes. |
Observarnos que el agente sin GAE realiza un movimiento muy amplio hacia la derecha, siendo que la política optima debería apuntar a que realice movimientos cortos de derecha a izquierda para mantener el palo perpendicular al suelo y ganar más recompensas.
Por otro lado, el agente que uso GAE hace movimientos cortos de izquierda a derecha para mantener el palo perpendicular al piso el mayor tiempo posible, lo cual hace que obtenga mayores recompensas.
Ejemplo
Aifa está dentro de un laberinto y va a resolverlo junto a su profesora, Rem. Es un ejercicio nuevo para Aifa. Él puede realizar las siguientes acciones
Caminar hacia arriba 🡡.
Caminar hacia abajo 🡣.
Caminar hacia la izquierda 🡠.
Caminar hacia la derecha 🡢.
El objetivo de Aifa será ir hasta la línea de meta verde. Por cada acción que realice va a recibir una recompensa y dicha recompensa va a ser mayor a medida que se acerque a la línea de meta verde para incentivarlo a caminar hacia aquí. Por otro lado, su maestra va a girarlo puntuando cada acción que realice.
Luego de que terminemos el juego vamos a calcular la ventaja para actualizar la política del actor (Aifa) para que cuando tenga que repetir el ejercicio obtenga una mejor recompensa.
Dentro del esquema de GAE, Aifa va a representar al Actor y Rem al Critico.
La primera acción de Aifa es caminar hacia abajo 🡣. Su profesora Rem le da a esa accion un puntaje de 0,5. Aifa obtiene 0,1 de recompensa.
La segunda acción de Aifa es caminar hacia la izquierda 🡠. Su profesora Rem le da a esa acción un puntaje de 0,6. Aifa obtiene 0,3 de recompensa.
La tercera acción de Aifa es caminar hacia abajo 🡣. Su profesora Rem le da a esa acción un puntaje de 0,7. Aifa obtiene 0,6 de recompensa.
La cuarta acción de Aifa es caminar hacia la izquierda 🡠. Su profesora Rem le da a esa acción un puntaje de 0,2. Aifa obtiene 1 de recompensa.
¡Listo! 😀 Aifa ha llegado a la línea de meta. Ahora debemos recolectar la información que obtuvimos en este intento:
Recompensas observadas en cada paso: [0.1, 0.3, 0.6, 1].
Valores estimados por la red crítica para cada estado (el valor que creemos que tendrá cada estado): [0.5, 0.6, 0.7, 0.2].
Factor de descuento Gammaγ=0.99: esto determina cuánto valoramos las recompensas futuras.
Lambda λ=0.95: controla cómo equilibramos el sesgo y la varianza.
A continuación, vamos a realizar los 2 pasos para calcular el GAE en este ejercicio.
Paso 1: Cálculo del delta () o TD residual
El TD residual () para cada paso se calcula como:
Donde:
es la recompensa en el paso t (La recompensa que obtuvo Aifa en cada paso).
es el valor estimado del siguiente estado (El valor estimado por Rem del siguiente estado).
es el valor estimado del estado actual (El valor estimado por Rem del estado actual).
Veamos los cálculos para cada paso. Por lo general el cálculo siempre se realiza desde el último paso hasta el primero.
Para t=3:
Como es el último paso, no hay valor futuro , entonces usamos 0.
Para t=2:
Para t=1:
Para t=0:
Entonces, los valores de son:
Paso 2: Cálculo de la ventaja acumulada con GAE
Ahora, calculamos la ventaja usando y . GAE se define como:
Empezamos desde el último paso t=3, y vamos hacia atrás.
Para t=3
No hay futuro, así que la ventaja es simplemente:
Para t=2:
Para t=1:
Para t=0:
Resultado final
La ventaja acumulada para cada tiempo t usando GAE es:
Interpretación
La ventaja acumulada en el primer paso es alta (1.634), lo que indica que la acción en ese estado fue más valiosa de lo esperado.
En los siguientes pasos, las ventajas decrecen, pero siguen siendo positivas, lo que indica que las acciones siguen contribuyendo al aprendizaje, aunque en menor medida.
El último paso tiene una ventaja de 0.5, lo que refleja que la acción fue relativamente buena, pero menos valiosa en comparación con los pasos anteriores.
Conclusiones
El Generalized Advantage Estimation (GAE) es una técnica diseñada para mejorar la eficiencia y estabilidad del cálculo de ventajas en algoritmos de aprendizaje por refuerzo, particularmente aquellos basados en el gradiente de política, como el PPO (Proximal Policy Optimization). GAE equilibra entre dos enfoques: el cálculo de la ventaja basado en las recompensas a corto plazo (más inestables) y el cálculo basado en recompensas a largo plazo (más precisas, pero con mayor varianza).
Hemos llegado al final de este artículo. Espero que te halla resultado útil y que hallas disfrutado leyéndolo tanto como yo disfrute escribiéndolo 😁.