Pero llega el momento de volver al tema y ponerle fin, lo que haré acometiendo los pocos posts restantes (dos o tres), de los cuales este es el primero.
Y en él voy a esbozar alguna idea básica sobre el denominado aprendizaje por refuerzo jerárquico ('hierarchical reinforcement learning'). Y lo haré, como siempre en esta serie, apoyándome en lo que explica Aske Plaat en su libro 'Deep reinforcement learning'.
Pero antes, como siempre en esta serie de artículos, un repaso de lo visto hasta la fecha.
Recordatorio: lo que hemos visto de aprendizaje por refuerzo
El esquema que nos ha guiado, ha sido el siguiente:
Nos ocupamos inicialmente de la situación de un agente que interactúa con un entorno que se encuentra en un estado s. Sobre ese entorno, el agente aplica unas acciones, a, como consecuencia de las cuales, el entorno puede experimentar una transición y cambiar de estado, pasando del estado s al s', y el agente recibe una recompensa r. El agente decide la acción a aplicar en cada momento, siguiendo una política π y su objetivo es maximizar la recompensa obtenida lo largo de una secuencia o trayectoria.
Los métodos más básicos, aquellos en que el espacio de estado es reducido, siguen, decíamos, un enfoque tabular, en que se tabulan, de ahí el nombre, los posibles estados y para ellos se calculan unas funciones que nos dan el valor, Q, de la recompensa esperada. Cuando la dimensión del espacio de estados es muy alta, como sucede habitualmente en problemas reales, dejan de tener sentido estos métodos tabulares así que renunciamos a representar la situación del entorno mediante su estado, y a cambio lo representamos mediante unas características ('features') y la obtención de valores o acciones vienen a ser unas funciones con base en esas características e implementadas mediante redes neuronales profundas, dando lugar al 'deep reinforcement learning'.
Cuando tratamos problemas ya no de alta dimensionalidad, sino continuos, como es la locomoción de robots, se adoptan los denominados métodos basados en políticas en que se prescinde de la visión de valores, y se trabaja directamente en optimizar las políticas, que pasan a considerarse como estocásticas, es decir, como distribuciones de probabilidad.
También aparecía como opción el denominado aprendizaje basado en modelos ('model-based'), en que el agente primero consigue un modelo del entorno y luego ya prescinde del entorno propiamente dicho par a trabajar con ese modelo local durante todo el entrenamiento.
Hasta aquí estábamos en la situación de trabajar con un único agente.
Posteriormente vimos el c aso en que teníamos dos agentes, exactamente dos y que se encontraban en una situación competitiva, en uno de los denominados juegos de suma cero en que la ganancia de un agente supone la perdida del otro. En esa situación, una opción habitual era trabajar con el aprendizaje basado en modelos, dado que, para un agente, el entorno está constituido por el otro agente, y se adopta la hipótesis razonable de que su política, la del otro agente, es igual a la nuestra, por lo que modelamos el entorno con el modelo de nuestra propia política.
Eso, además, conducía a la posibilidad del autoaprendizaje o auto-juego ('self-play'), en que un agente aprende jugando, en el fondo, contra sí mismo (contra otro agente con la misma política, en realidad). Vimos que mediante los problemas mono-agente, se podían tratar problemas como la locomoción de robots, la búsqueda de rutas o videojuegos.
En el último post, exploramos la situación multi-agente, en los cuales no sólo se produce una competición sino también una colaboración entre agentes y un campo del que decíamos se encontraba fundamentalmente en investigación.
El enfoque jerárquico
El enfoque jerárquico de aprendizaje por refuerzo se basa, en realidad, y en primer lugar, en la estrategia de dividir un problema en sub-problemas, una técnica muy conocida del ámbito de la resolución de problemas. Hecha esa subdivisión, nos planteamos el aprendizaje de cómo realizar (cuál es la mejor política) para resolver cada sub-problema.
Se trata de un enfoque aplicable en teoría a cualquier problema secuencial, aunque en la práctica es más viable en unos tipos de problemas que en otros.
Algún problema muy adecuado para este enfoque sería, por ejemplo, el de la navegación de vehículos o robots. Igualmente, los problemas multi-agente que mencionábamos en el último post de esta serie, tienden a poder dividirse de manera natural en sub-problemas.
Un riesgo de este enfoque jerárquico es que, dado que buscamos sub-políticas, o por decirlo de otra mamera., optimizamos a nivel de sub-problemas, es posible que no consigamos una optimización absoluta a novel global, a nivel de todo el problema. De esta forma, el enfoque jerárquico tiende a dar soluciones menos óptimas que el enfoque, digamos, 'plano', pero haciéndolo más rápido.
Ventajas y desventajas del aprendizaje jerárquico
Podríamos decir que el enfoque jerárquico tiene las siguientes ventajas respecto al enfoque 'plano' (no jerárquico.
- Simplifica la resolución de problemas mediante abstracciones. Los agente resuelven problemas granulares que resultan abstracción del problema en sub-problemas. Luego, las tareas granulares se agrupan en los problemas de mayor nivel de abstracción.
- Se reduce el número de interacciones necesarias con el entorno, lo que conduce a eficiencia de muestreo. Entre otras cosas, se puede hacer 'transfer learning' de la resolución de subtareas aplicables en otros problemas.
- Las políticas finales resultantes tienden a ser más generalistas, con mayor capacidad de adaptación a nuevas situaciones y por tanto se reduce la fragilidad de las mismas.
- Permite resolver problemas mayores y más complejos.
A cambio, presenta las siguientes desventajas:
- Necesita de, o al menos le resulta muy conveniente, un conocimiento del dominio del problema.
- Presenta problemáticas de complejidad algorítmica en relación a la identificación de sub-objetivos, el aprendizaje de sub-políticas y las condiciones de terminación.
- Introducen la idea de macro-acciones (combinaciones de acciones primitivas), el número de las cuales puede crecer de manera que se haga intratable y precise de enfoques aproximados.
- La calidad de la política final, como ya dijimos, puede ser sub-óptima.
Un breve excurso: agentes
No he podido evitar, al hablar de este enfoque jerárquico, y de esa descomposición de problemas en sub-problemas, que mi mente se desviara hacia la idea de la Agentic AI, de los últimamente tan traídos y llevados agentes, unas soluciones software, cuyo 'cerebro' son modelos generativos del tipo de grandes modelos de lenguaje y una de cuyas promesas es, precisamente, que van a ser capaces de, recibiendo un objetivo como 'prompt', identificar las tareas (es decir, hacer una forma de descomposición) necesarias para conseguirlo y, a partir de ahí actuar.
No tengo claro de, hasta qué punto, beben esos agentes de las ideas del enfoque jerárquico objeto de este post, o prueban estrategias diferentes. Y tampoco está demostrado hasta la fecha, o al menos no me consta que así sea, que se hayan conseguido éxitos notables en esta materia...pero hay que dar un poco de tiempo. Se supone que los agentes son una de las grandes tendencias de 2025. Habrá que ver de hasta dónde son capaces de llegar en general, y en particular en esta capacidad, quizá su mayor reto, de descomponer una tarea, o mejor, un objetivo, en subtareas accionables.
Conclusiones
El aprendizaje jerárquico parece un enfoque muy lógico si atendemos, incluso, a cómo razonamos los humanos, para afrontar problemas complejos. Sin embargo, parece ser más un campo de investigación que una realizad plenamente conseguida.
Pero la idea es muy interesante, y habrá que esperar resultados.
A ver si los tenemos en 2025.
Artículos de este blog relacionados
- Notas sobre aprendizaje por refuerzo (XIII): sistemas multi-agente
- Notas sobre aprendizaje por refuerzo (XII): autoaprendizaje y el caso de AlphaGo y AlphaZero
- Notas sobre aprendizaje por refuerzo (XI): métodos basados en modelo
- Notas sobre aprendizaje por refuerzo (X): locomoción de robots
- Notas sobre aprendizaje por refuerzo (IX): aprendizaje de políticas y el ascenso de gradiente
- Notas sobre aprendizaje por refuerzo (VIII): problemas continuos y métodos basados en políticas
- Notas sobre aprendizaje por refuerzo (VII): El triunfo del algoritmo DQN (Deep Q-Network)
- Notas sobre el aprendizaje por refuerzo (VI): los tres retos del deep reinforcement learning
- Notas sobre el aprendizaje por refuerzo (V): deep reinforcement learning
- Notas sobre aprendizaje por refuerzo (IV): Métodos tabulares. SARSA Y Q-Learning
- Notas sobre aprendizaje por refuerzo (III): recompensas, trazas y valores
- Notas sobre aprendizaje por refuerzo (II): Visualizando el aprendizaje en procesos de Markov
- Notas sobre aprendizaje por refuerzo (I): Procesos de decisión de Markov
No hay comentarios:
Publicar un comentario