Raprendizaje de refuerzo es un dominio del aprendizaje automático que introduce el concepto de un agente que aprende estrategias óptimas en entornos complejos. El agente aprende de sus acciones, que resultan en recompensas, según el estado del entorno. El aprendizaje por refuerzo es un tema complejo y difiere significativamente de otras áreas del aprendizaje automático.
Lo destacable del aprendizaje por refuerzo es que se pueden utilizar los mismos algoritmos para permitir que el agente se adapte a condiciones completamente diferentes, desconocidas y complejas.
NotaPara comprender completamente los conceptos incluidos en este artículo, es muy recomendable estar familiarizado con los conceptos básicos de Métodos de Monte Carlo y aprendizaje de diferencia temporal introducido en los artículos anteriores.
En el Parte anteriorAnalizamos cómo funcionan los algoritmos TD combinando principios de programación dinámica y Métodos MCAdemás, analizamos un algoritmo TD de un solo paso: la implementación de TD más simple. En este artículo, generalizaremos los conceptos de TD y veremos cuándo puede ser ventajoso utilizar otras variantes del algoritmo.
Este artículo se basa en Capítulo 7 del libro “Aprendizaje reforzado” escrito por Richard S. Sutton y Andrew G. BartoAgradezco enormemente los esfuerzos de los autores que contribuyeron a la publicación de este libro.
Detengámonos un momento para entender qué tienen en común los algoritmos TD y MC de un paso. Si omitimos detalles demasiado específicos, notaremos que ambos son en realidad muy similares y utilizan la misma regla de actualización de estado, salvo por una única diferencia:
- One-step TD actualiza cada estado analizando el n = 1 próximo estado.
- MC actualiza cada estado después de analizar todo el episodio. Esto puede percibirse, en líneas generales, como una actualización de cada estado que se produce después de n pasos (donde n puede ser potencialmente un número grande).
Tenemos dos casos extremos donde n = 1 y donde n = el número de estados restantes en la secuencia del episodioSurge una pregunta lógica: ¿podríamos utilizar un valor de norte ¿Que se encuentra en algún punto intermedio entre estos valores extremos?
La respuesta es sí. Y este concepto se generaliza a través de Arranque de n pasos.
En el TD de un solo paso, analizamos la diferencia entre la recompensa recibida y cómo cambia el valor del estado al cambiar del estado actual al siguiente (n = 1). Esta idea se puede generalizar fácilmente a múltiples pasos. Para ello, vamos a presentar el retorno de n pasosque calcula la recompensa descontada acumulada entre el estado actual a y el estado futuro en el paso t + n. Además, también agrega valor estatal en el paso t + n.
Usando la regla de actualización análoga introducida en artículos anteriores, esta vez podemos comparar un retorno de n pasos con el valor del estado actual y derivar una nueva regla de actualización:
Para comprender mejor el flujo de trabajo, dibujemos un diagrama de relaciones de estado para varios valores de norteEl diagrama a continuación demuestra cómo se utiliza la información sobre los próximos estados y recompensas para actualizar los estados anteriores en la secuencia.
Por ejemplo, tomemos el caso de TD de 3 pasos:
- El inicio del episodio se genera hasta el estado S₃.
- Estado S₀ Se actualiza mediante el retorno de 3 pasos, que suma las recompensas. R₁, R₂ y R₃ y el valor del estado S₃.
- Estado S₄ es generado.
- El estado S₁ se actualiza utilizando el retorno de 3 pasos, que suma las recompensas R₂, R₃ y R₄ y el valor del estado S₄.
- Estado S₅ es generado.
- Estado S₅ Se actualiza mediante el retorno de 3 pasos, que suma las recompensas. R₃, R₄ y R₅ y el valor del estado S₅.
- El proceso análogo se repite hasta llegar al último estado del episodio.
Si para un estado dado, quedan menos de n estados para calcular el retorno de n pasos, entonces retorno truncado de n pasos Se utiliza en su lugar, acumulando recompensas disponibles hasta el estado terminal.
Si n = ∞, entonces TD de n pasos es un algoritmo de Monte Carlo.
En Parte 5analizamos los algoritmos Sarsa, Q-learning y Expected Sarsa. Todos ellos se basaban en el uso de información del siguiente estado. Como ya hemos hecho en este artículo, podemos ampliar esta idea al aprendizaje de n pasos. Para lograrlo, el único cambio que se necesita hacer es ajustar sus fórmulas de actualización para que utilicen información no del siguiente estado sino de norte pasos más adelante. Todo lo demás seguirá igual.
En Parte 5También destacamos las ventajas de los algoritmos TD de un paso sobre los métodos MC y cómo conducen a una convergencia más rápida. Si es así, ¿por qué no utilizar siempre TD de un paso en lugar de métodos de n pasos? En la práctica, resulta que n = 1 No siempre es el valor óptimoVeamos un ejemplo proporcionado por El libro de Richard S. Sutton y Andrew G. Barto sobre la vida realEste ejemplo muestra una situación en la que se utilizan valores mayores de norte optimiza el proceso de aprendizaje.
La imagen de abajo muestra el camino que sigue el agente en un laberinto determinado durante el primer episodio del algoritmo Sarsa. El objetivo del agente es encontrar el camino más corto hacia X. Cuando el agente pisa X, recibe una recompensa. R = 1Cada paso dado en el laberinto da como resultado una recompensa. R = 0.
Comparemos ahora cómo aprende el agente en Sarsa de 1 paso y en Sarsa de 10 pasos. Supondremos que todos los valores de acción se inicializan en 0.
En Sarsa de 1 paso, para cada movimiento, la actualización se realiza basándose únicamente en la información del siguiente estado. Esto significa que el único valor de acción con una actualización significativa es el que conduce directamente al objetivo X en un solo paso. En este caso, el agente recibe una recompensa positiva y, por lo tanto, aprende que realizar el movimiento final “hacia arriba” es, de hecho, una decisión óptima. Sin embargo, todas las demás actualizaciones no tienen ningún impacto porque la recompensa recibida R = 0 no cambia ningún valor de acción.
Por otro lado, en Sarsa de 10 pasos, el movimiento final propagará su recompensa positiva a los valores de acción de los últimos 10 movimientos. De esta manera, el agente aprenderá mucha más información del episodio.
Por lo tanto, en estos entornos de laberinto, los valores más grandes de n harían que el agente aprendiera más rápido.
Tras observar este ejemplo, podemos concluir un hecho importante:
El mejor valor de n en el aprendizaje de diferencias temporales depende del problema.
La generalización de los métodos TD de un paso y Monte Carlo en algoritmos de n pasos juega un papel importante en el aprendizaje de refuerzo, ya que el mejor valor de n generalmente se encuentra entre estos dos extremos.
Aparte de esto, no existe una regla general para elegir el mejor valor de n, ya que cada problema es único. Si bien los valores más altos de n dan lugar a actualizaciones más demoradas, aún pueden funcionar mejor que los más bajos. Lo ideal sería tratar a n como un hiperparámetro y seleccionarlo cuidadosamente para encontrar el valor óptimo.
Todas las imágenes, a menos que se indique lo contrario, son del autor.