[go: up one dir, main page]

Academia.eduAcademia.edu
SARSA BB: Un algoritmo on policy para Sistemas Clasificadores Marcelo Errecalde, Ana Garis, Guillermo Leguizamón LIDIC - Departamento de Informática Universidad Nacional de San Luis Ejército de los Andes 950 5700 San Luis, Argentina merreca,agaris,legui @unsl.edu.ar ✁ Resumen El modelo básico de Aprendizaje por Refuerzo (AR) está integrado por un agente y un ambiente que interactúan entre sı́. El agente debe, mediante un proceso de prueba y error, aprender a mapear situaciones en acciones intentando, a lo largo del tiempo, maximizar la recompensa que el ambiente le provee. El AR caracteriza una clase de problemas de aprendizaje, cuya resolución se ha basado en dos grandes clases de métodos: los Sistemas Clasificadores (SC) y los métodos de diferencia temporal (o métodos TD). El objetivo del presente trabajo es realizar una contribución en la transferencia de experiencias entre SC y métodos TD. Para ello, se presenta un nuevo esquema para la actualización de la fortaleza de las reglas de un Sistema Clasificador, tomando como base el método de TD denominado SARSA. El algoritmo resultante, al que denominamos SARSA BB, tiene varios atributos interesantes: a) su fórmula de actualización se ha demostrado que garantiza la convergencia a una polı́tica óptima bajo condiciones particulares; b) no require mayores modificaciones a la forma de actualización estándard utilizada en SC; c) es un algoritmo on-policy y por lo tanto puede tener un mejor desempeño que algoritmos off-policy como Q-Learning, en problemas donde la exploración que efectivamente realiza el agente impacta significativamente en las recompensas recibidas desde el ambiente. Para mostrar este último aspecto, SARSA BB, es comparado con Q-Learning en un problema con estas caracterı́sticas. Palabras claves: Sistemas Clasificadores, Aprendizaje por Refuerzo, Algoritmos on-policy. 1. Introducción Los Sistemas Clasificadores (SCs) [2] y los métodos de diferencias temporales (TD) [7, 11] son dos grandes clases de métodos ampliamente utilizados dentro del área de Inteligencia Artificial conocida como Aprendizaje por Refuerzo (AR) (en inglés “Reinforcement Learning”). El modelo básico de Aprendizaje por Refuerzo (AR) está integrado por un agente y un ambiente que interactúan entre sı́. El agente debe, mediante un proceso de prueba y error, aprender a mapear situaciones en acciones, intentando a lo largo del tiempo maximizar la recompensa que el ambiente le provee. Si bien los SCs y los métodos TD comparten caracterı́sticas que los encuadran dentro del modelo de AR, desde sus inicios siempre fueron estudiados en forma paralela. Sin embargo, Sutton [7], Twardowski [10], Roberts [4], Wilson [12], Dorigo y Bersini [1] observaron ciertas similitudes entre ellos, en particular entre el algoritmo base en SCs (Bucket Brigade) y el método de TD más popular, conocido como Q-Learning (QL). Los SCs en la formulación de Holland en 1986, son más generales que los métodos de TD, pero esta generalidad dificulta el entendendimiento de la gran cantidad de interacciones involucradas [12]. Esto ha llevado a plantear distintas simplificaciones de los SCs que permitan una mejor comprensión de su funcionamiento. Estas simplificaciones han permitido además, reconocer similitudes entre el algoritmo de Bucket Brigade de SCs y el algoritmo QL como las planteadas en [1] y [12]. En este artı́culo, se presenta un nuevo esquema para la actualización de la fortaleza de las reglas de un Sistema Clasificador, pero en lugar de basarlo en Q-Learning se toma como base el método de TD denominado SARSA. El algoritmo resultante, denominado SARSA BB, tiene varios atributos interesantes: a) su fórmula de actualización se ha demostrado que garantiza la convergencia a una polı́tica óptima bajo condiciones particulares [6]; b) no requiere mayores modificaciones en la forma de actualización estándard utilizada en SC como la requerida cuando se utiliza QL; c) sus caracterı́sticas de algoritmo on-policy puede redundar en una mejor performance en relación a algoritmos off-policy como QL, en problemas donde la exploración que efectivamente realiza el agente impacta significativamente en las recompensas recibidas desde el ambiente. Para mostrar este último aspecto, SARSA BB, es comparado con QL considerando un problema que es la combinación de dos problemas previamente estudiados en el ámbito de AR. El presente artı́culo está organizado de la siguiente manera. La Sección 2 describe las simplificaciones de un SC realizadas en [1] como paso inicial para derivar un SC basado en QL (D ✂✁☎✄ -VSCS). Estas mismas simplificaciones son asumidas en este trabajo como primer paso en la definición de nuestra propuesta (SARSA BB). La Sección 3 contiene una descripción del algoritmo de aprendizaje denominado SARSA, que forma la base para SARSA BB. En la Sección 4 se resaltan las similitudes entre la primera aproximación a SARSA BB (D ✁✝✆☎✞ -VSCS) y el algoritmo SARSA. Asimismo se muestra mediante un ejemplo que estos dos algoritmos no son totalmentes equivalentes, presentándose posteriormente en la Sección 5 las modificaciones necesarias para obtener una equivalencia directa con SARSA y que resulta en el algoritmo SARSA BB. Esta Sección también incluye la descripción de un problema y el análisis de los resultados obtenidos a partir de la aplicación de los algoritmos SARSA BB y QL al problema propuesto. Finalmente, las conclusiones se presentan en la Sección 6. 2. VSCS: Un sistema clasificador muy simplificado VSCS (a Very Simple Classifier System), es un SC muy restringido, propuesto en [1] como paso inicial para resaltar las similitudes entre un SC y Q-Learning. Las restricciones impuestas en un VSCS son las siguientes: (i) los clasificadores tienen una condición y una acción, (ii) la lista de mensajes tiene capacidad igual a 1 y el único slot es reservado para mensajes ambientales, (iii) el alfabeto de codificación de los clasificadores no incluye el sı́mbolo ”don’t care” (#), (iv) el conjunto de clasificadores contiene todos los posibles clasificadores (pares estado-acción) haciendo innecesario el uso de algoritmos genéticos. Esta última restricción permite una correspondencia uno a uno entre los clasificadores y los pares de estado acción de Q-Learning. El algoritmo VSCS que resulta de estas restricciones es mostrado en la Figura 1. En VSCS, la ecuación que establece el cambio en la fortaleza de un clasificador ✟ es: ✧✩★✫✪ ✠☛✡✌☞☛✍✏✎ ✟✒✑✔✓✔✕✖✑✘✗✚✙ ☛✠ ✡✛✎ ✒✟ ✑✔✓✔✕✖✑✘✗✢✜✤✣✦✥ ✠☛✡✌☞☛✍✬✎ ✟✒✭✮✓✔✕✖✭✩✗✰✯ ✠☛✡✱✎ ✟✒✑✲✓✔✕✖✑✛✗✴✳ ✜ (1) ✣ ✠☛✡✌☞☛✍✏✎ ✟✒✑✔✓✔✕✖✑✘✗ es la fortaleza del clasificador ✟ en el tiempo ✵✶✜✸✷ , las condiciones y las acciones donde de los clasificadores son llamadas ✟ y ✕ respectivamente, y los subscriptos ✟ y ✹ identifican los cla- Inicialización Crear un clasificador por cada par estado-acción; t := 0; Inicializar ✂✁☎✄✝✆✟✞✟✠☛✡☞✞✍✌ , la fortaleza en el tiempo ✎ del clasificador ✆ ; Repetir por siempre Leer( ✏ ) ✑✒✏ es el mensaje del sensor ✓ ; Sea ✔ el conjunto de clasificadores que hacen matching con ✏ ; Elegir el clasificador a activar (disparar) ✆✖✕✗✔ , con una probabilidad dada por ✘✁☎✄✝✆✟✞✟✠☛✡☞✞✍✌☛✙✛✚✢✜✟✣✥✤✦✂✁☎✄✝✆ ✜ ✠☛✡ ✜ ✌ ; Cambiar la fortaleza de los clasificadores de acuerdo al algoritmo de Bucket Brigade; t := t+1; Ejecutar( ✡☞✞ ); Figura 1: El sistema VSCS sificadores a los★✂que ✪ las condiciones y acciones pertenecen (ası́, por ejemplo, ✟ ✭ es la condición del clasificador ✹ ). es la recompensa ambiental recibida por el agente. En [1], se observa que esta regla de actualización guarda similitudes con la regla usada en Q✎☛✧ Learning. En el caso de Q-Learning la actualización del valor de Q para el par estado-acción ✓✔✕☎✗ es: ✡✱✎☛✧ ✓✔✕☎✗✢✜✤✣✦✘✥ ✩ ★✫✪ ✜✫✪ ✥☞✬✮✪✲✯☞✱✭ ✰ ★ ✎☛✧✥✳ ✓✔✕ ✳ ✗✰✯ ★ ✡✱✎☛✧ ✓✔✕☎☎✗ ✴ (2) ✧ ✳ ✧ donde es el estado obtenido cuando se ejecuta la acción ✕ en el estado . Si en el VSCS, la condición del clasificador ✟ , ✟✩✑ , representa el estado del sistema, y la parte de acción, ✕ ✑ , representa la acción, ✧ podemos establecer una analogı́a con Q-Learning y tomar ✟✏✑✶✵ , ✕✖✶ ✑ ✵ ✕ y ✟✒✦ ✭ ✵ ✧ ✳ , pudiendo ★ ✡✌☞☛✍ ☛✎ ✧ ✔✓ ✕☎✗ ✙ ★ reescribir la ecuación 1 como: ✧✒★✫✪ ✠☛✡✌☞☛✍✏✎☛✧✥✳ ✓✔✕ ✳ ✰✗ ✯ ✠☛✡✱✎☛✧ ✓✔✕☎✗✴✳ ✠☛✡✌☞☛✍✬✎☛✧ ✓✔✕☎✗✚✙ ✠☛✡✱☛✎ ✧ ✓✔✕☎✗✢✜✤✣✦✥ ✜ ✣ (3) En [1] se plantea que cambiando la fórmula 3 y ajustándola para coincidir con la fórmula 2 se obtiene un sistema clasificador que denominan D ✂✁☎✄ -VSCS y que difiere solamente en la forma en que se calcula el error, en particular: 1. Q-Learning evalúa el siguiente estado eligiendo el valor de la mejor acción mientras que en VSCS es evaluado por la fortaleza del par estado-acción realmente usado. 2. en VSCS, la evaluación del siguiente estado no es descontado (no es multiplicado por ✪ ). Indudablemente la inclusión del factor de descuento ✪ en la fórmula del VSCS puede ser importante dependiendo de la naturaleza del problema. Además es una componente esencial para garantizar que el valor esperado final de una acción esté acotado cuando no existe un estado absorvente (ver [9] para una descripción de estos aspectos). Sin embargo, la incorporación del operador max en D ✂✁☎✄ -VSCS no es un aspecto secundario. Más allá de que la intensión es hacer un algoritmo totalmente equivalente a Q-Learning, esto tiene dos consecuencias importantes. Por un lado, el tipo de actualización utilizada se escapa totalmente del esquema de actualización de fortalezas utilizada en Sistemas Clasificadores. Por otra parte, el uso del operador max de Q-Learning, no siempre puede resultar en la mejor polı́tica de control del agente. Para corroborar esta afirmación, en las secciones siguientes mostraremos que con una pequeña modificación en los tiempos en que se realiza la actualización de las fortalezas de los clasificadores, un VSCS puede ser totalmente equivalente a otro algoritmo de AR (SARSA), que además de exhibir garantı́as de convergencia similares a las de Q-Learning, en algunos tipos de ambientes puede obtener un mejor desempeño. 3. SARSA: Un algoritmo TD para control on-policy Dentro del ámbito de AR se desarrolló otro algoritmo muy similar al de Bucket Brigade, que tiene incluso más semejanza que con Q-Learning. En el año 1994 Rummery y Niranjan[5] exploraron el método denominado QL modificado que posteriormente en 1996 Sutton rebautizó como SARSA [8]. SARSA, al igual que Q-Learning, es un método de diferencia temporal (TD). Si bien ambos métodos ★ ✎☛✧ ★ ✮✎☛✧ intentan aprender los valores óptimos de para todos los pares estado-acción ✓✔✕☎✗ ( ✓✔✕☎✗ ), la ★ forma en que ambos métodos aproximan es sustancialmente diferente. Q-Learning es un méto★ do off-policy y su fórmula de actualización presentada en la ecuación 2 aproxima directamente , independientemente de la polı́tica que está siendo utilizada por el agente para elegir sus acciones. ★ SARSA, en cambio, es un método on-policy que aproxima mediante un proceso general denominado iteración de polı́tica generalizada. Como todo método on-policy, SARSA continuamente estima ★ para la polı́tica de comportamiento que está siguiendo el agente, y al mismo tiempo cambia ★ para hacerla más greedy con respecto a (ver [9] para una descripción exhaustiva del proceso de iteración de polı́tica generalizada). La regla de actualización utilizada en SARSA es: ✁ ✂ ✄ ✆☎ ✝ ✝ ✞☎ ✡✛☛✎ ✧ ✓✔✕☎✗✢✜✤✣✦✘✥ ✩ ★✫✪ ✜✫✪ ✥ ★ ✎☛✧✥✳ ✓✔✕ ✳ ✗✰✯ ★ ✡✱✎☛✧ ✓✔✕☎☎✗ ✴ (4) ★ ✪ ✧ donde es el estado del ambiente en el tiempo ✵ , ✕ es la acción seleccionada en ese estado, es la ✧ ✳ ✧ ✳ recompensa obtenida al ejecutar ✕ , es el estado al que se arribó luego de ejecutar ✕ en y ✕ es la ✧ ✳ acción que posteriormente ★✂✪ ✧ ✳ ✳ se seleccionó en . Como vemos, esta regla utiliza cada elemento de la ☛✧ ✎ ✓ ✓✔✕ ✗ , lo que da origen al nombre SARSA. quı́ntupla ✓✔✕ ✓ ★ ✡✌☞☛✍✏☛✎ ✧ ✓✔✕☎✗ ✙ ★ La forma general de SARSA está dada por el algoritmo mostrado en la Figura 2. ✟ ✡✠ 1- Inicializar cada entrada ✄ ✠☛✡☞✌ arbitrariamente 2- DO (por cada episodio) 3Determinar estado inicial s 4WHILE (no finalice el episodio) 5Seleccionar una acción a desde el estado usando una polı́tica derivada de (por ejemplo greedy) 6WHILE (no se llegue a un estado terminal) 7Ejecutar la acción ✡ . Observar recompensa y nuevo estado 8Seleccionar acción ✡ desde usando una polı́tica derivada de (por ejemplo greedy) ✄ ✠☛✡☞✌ ✄ ✠☛✡☞✌ ✄ ✝✠☛✡ ✌ ✄ ✠☛✡☞✌ 91011✡ ✢✡ ☛✌☞ ✠ ✍ ✑✎ ✠✌✎ ✟ ✡✠ ✓✒ ✟ ✡✌☛ ✠ ☞ ✕✔✁✖✘✗✚✙ ✍✛✔✢✜✣✗ ✟ ✡✠✌✎ ✤✎ ✣☞ ✟ ✡✠ ✦✥ ✠✧✒★✠✌✎ ✩✒ ✤✎ ✟ ✠✏✎ ✟ Figura 2: Algoritmo de Aprendizaje SARSA. Las propiedades de convergencia de SARSA dependen de la naturaleza de la dependencia de la ★ polı́tica sobre . Por ejemplo, una polı́tica podrı́a usar -greedy. SARSA converge con probabilidad ✪ uno a una polı́tica óptima en la medida que todos los pares estado-acción son visitados un número infinito de veces y la polı́tica converge en el lı́mite a la polı́tica greedy [9]. 4. D✂✁☎✄ -VSCS: Primera aproximación a un SC basado en SARSA Siguiendo el mismo razonamiento que el utilizado en [1], se podrı́a definir un algoritmo D ✁✝✆☎✞ VSCS, incorporando en la fórmula 3 el factor de descuento ✪ de manera tal de obtener una regla de actualización de fortalezas para sistemas clasificadores que sea equivalente con la utilizada por SARSA (fórmula 4). La regla de actualización para D ✁✝✆☎✞ -VSCS, quedarı́a: ✠☛✡✌☞☛✍✏☛✎ ✧ ✓✔✕☎✗ ✙ ✠☛✡✱✎☛✧ ✓✔✕☎✗ ✜✤✣✦✘✥ ✩ ★✫✪ ✜✫✪ ✥ ✠☛✡✌☞☛✍✏✎☛✧✥✳ ✳ ✓✔✕ ✗✰✯ ✠☛✡✱✎☛✧ ✓✔✕☎☎✗ ✴ (5) Un error común al analizar las fórmulas de actualización, es considerar sólo la forma de la regla y no el tiempo en que las actualizaciones se llevan a cabo. En este sentido, si consideramos las fórmulas 4 y 5 podrı́amos decir que la regla de actualización utilizada en D ✁✝✆☎✞ -VSCS es totalmente equivalente a SARSA. Sin embargo, esto no es necesariamente cierto. Para entender este aspecto, es conveniente desarrollar la fórmula 5 de forma tal que todos los términos que participan en la actualización queden explı́citamente separados: ✠☛✡✌☞☛✍✬✎☛✧ ✓✔✕☎✗✚✙ ✠☛✡✱☛✎ ✧ ✓✔✕☎✗✢✜✤✆ ✣✦✝✟✥ ✞ ✁ ★✫✪ ✠ ✜ ✆✣ ✥ ✪ ✥ ✠☛✡✌☞☛✍✏✎☛✧✥✳ ✝✟✞ ✡ ✳ ✓✔✕ ✠ ✗ ✯ ✆ ✣✦✥ ✠☛✡✛☛✎ ✧ ✝✟✞ ✓✔✕☎✠ ✗ (6) ✆ En SARSA, los términos de la actualización referenciados como , ☛ y ✁ , son utilizados para ✎☛✧ ✳ actualizar la función de valor del par ✓✔✕☎✗ una vez que la acci ón ✕ ya ha sido seleccionada en el ✧ ✳ estado . Sin embargo los SC en general y el VSCS en particular, realizan las actualizaciones de estos términos en dos etapas distintas. Cuando un clasificador gana la subasta y su acción asociada es elegida para ser enviada al ambiente, se le descuenta una proporción de su fortaleza (término ✁ ) y se le acredita una proporción de la recompensa ambiental (término ). Sin embargo, el pago que recibe del siguiente clasificador que se activa (término ☛ ) en retribución por haber favorecido su activación, se realiza una vez que el próximo clasificador ha ganado la siguiente subasta. Es importante notar que hasta entonces, la fortaleza ✎☛✧ del clasificador asociado con el par ✓✔✕☎✗ exhibe una disminución considerable, ya que usualmente el término ✁ descontado es mayor que el término acreditado (el primero es una proporción de las recompensas acumuladas mientras que el segundo es una proporción de sólo una recompensa). Este ✧ ✳ ✧ aspecto, puede no ser importante cuando el estado es distinto del estado anterior . No ocurre los ✧ ✧ ✧ ✳ ✧ mismo si el agente, cuando toma la acción ✕ en vuelve a caer en ( ✙ ) como podrı́a ser el caso cuando el agente choca contra una pared de un laberinto y permanece en el mismo estado. En este ca✎☛✧ so, el clasificador asociado con la acción ✓✔✕☎✗ estará en desventaja para ser seleccionado nuevamente con respecto a las otras acciones en el mismo estado. Para apreciar mejor esta diferencia, observemos el siguiente ejemplo donde se tienen sólo dos ✑ ✔✓ ✓✕✎ . Las diferencias entre las actualizaciones de las estados ☞✍✌ ✓✏✷✏✎ y las acciones posibles son ☞✍✌ ✓✏✷ ✒✓ ☎ ★ fortalezas realizadas por D ✁✝✆☎✞ -VSCS y las modificaciones de la tabla realizadas por SARSA se muestran en la tabla 1. En ambos algoritmos las acciones se seleccionan en forma greedy. Sólo se muestra el valor de las fortalezas y de la tabla Q que son relevantes al ejemplo. Los tiempos en que las actualizaciones , ☛ y ✁ de la fórmula 6 utilizada por D ✁✝✆☎✞ -VSCS se resaltan en las correspondientes entradas de la tabla. Como se puede observar, en el estado ✌ cuando se elige una acción por segunda vez ( ✕ ), D ✁✝✆☎✞ -VSCS ya actualizó los términos y ✁ de la fórmula 6 correspondientes al clasificador ✎ ✷ (par estado acción ✌ ✔✓ ✌✖✗ ). Por lo tanto la acción 0 en ese estado tendrá desventaja en la subasta con respecto a las otras acciones. Para este ejemplo particular, vemos que SARSA quien todavı́a no ✎ actualizó la entrada correspondiente al par ✌ ✔✓ ✌✖✗ vuelve a elegir la acción ✌ mientras que D ✁✝✆☎✞ -VSCS selecciona la acción ✷ , correspondiente al clasificador ✑ . ✳ 5. SARSA BucketBrigade (SARSA BB) Expuestas las semejanzas y diferencias entre D ✁✝✆☎✞ -VSCS y SARSA, vemos que para obtener un SC equivalente a SARSA sólo es necesario utilizar la misma fórmula de actualización que D ✁✝✆☎✞ VSCS y garantizar que la actualización de la fortaleza de un clasificador dada por la fórmula 6 se realice una única vez al final del ciclo de ejecución como lo hace SARSA. Utilizando terminologı́a de SC esto equivale a utilizar el algoritmo de Bucket Brigade (con el factor incorporado) y que la cámara de compensación (clearinghouse) lleva a cabo sus actividades luego de haber determinado cuál es el siguiente ganador. El algoritmo resultante lo denominamos SARSA BucketBrigade (o SARSA BB) y se muestra en la figura 3 ✪ 1- Inicializar la fortaleza S de cada clasificador c arbitrariamente 2- DO (por cada episodio) 3Determinar estado inicial s 4Detectar señal del ambiente 5WHILE (no finalice el episodio) 6oldwin = clasificador ganador de subasta 7WHILE (no se llegue a un estado terminal) 8Ejecutar acción a correspondiente a oldwin 9Observar recompensa r y nuevo estado s’ 10Detectar señal del ambiente 11win = clasificador ganador de subasta 12S(oldwin) = S(oldwin) + a [r + g S(win) - S(oldwin) ] 13oldwin = win 14s = s’ 15a = a’ Figura 3: Algoritmo de Aprendizaje SARSA BB 5.1. Presentación del Problema En esta sección se presenta el problema propuesto para nuestro estudio. El problema puede visualizarse como una combinación de dos problemas muy interesantes para ser estudiados en el ámbito del aprendizaje por refuerzo. El primero es el problema del muro del placer [3] el cual puede ser observado en la Figura 4(a). En el muro del placer, el agente se encuentra situado inicialmente (esta✠ do inicial ) en el medio de un entorno artificial (mundo-grilla) y el objetivo es alcanzar uno de los estados objetivos ( ) que se encuentran a su derecha o izquierda en el menor número de pasos. La polı́tica aprendida por un algoritmo que aproxima directamente la polı́tica óptima (como Q-Learning) ✠ ✠ serı́a indiferente en el estado entre ir hacia la izquierda o la derecha. En lo mejor que se puede Paso en la ejecución ✆ Estado Inicial ✪ Elegir acción Algoritmo D ✂✁☎✄ -VSCS s: 00 Ganador anterior: 5) Clasificador Fortaleza (F) 1) 00:00 10 2) 00:01 9.5 3) 00:10 8 4) 00:11 7 5) 01:00 10 Matching: 1) 2) 3) 4) ☛ ✝ 0.1 ☞ ✝ 0.1 Clasificador Fortaleza Oferta 1) 00:00 10 1.0 2) 00:01 9.5 0.95 3) 00:10 8 0.8 4) 00:11 7 0.7 Ganador: 1) Acción correspondiente al ganador: 00 Ganador anterior: 5) Ganador actual: 1) ✍ al ganador: Decrementar ✙ ✌ ✍ ✓✚✝ ✙ ✌ ✍ ✓☎la✛ oferta ☛ ✙ ✌ ✓ (C) ☞ anterior: Pagar al ganador ✙ ✙ ✙ ✍ ✌✎✜✔✓✚✝ Modificar valor de utilidad Ejecutar acción a, obtener nuevo estado s’y recompensa r Recompensar Seleccionar acción a’ ✌✎✜✔✓ Clasificador 1) 00:00 2) 00:01 3) 00:10 4) 00:11 5) 01:00 Tabla ✡ Estado 0 1 Acción 1 2 9.5 8 0 10 10 3 7 Dado que se encuentra en el estado 0, ✍ se elegirá entre los valores de la tabla ✡ correspondientes a ✡✍✌✎✟✑✏✒✟✔✓ , ✡✍✌✎✟✑✏ ✓ , ✡✍✌✎✟✑✏✖✕✔✓ y ✡✍✌✎✟✑✏✒✗✔✓ ✡✍✌✎✟✑✏ ✟✔✓ es el que tiene el mayor valor Acción elegida: 0 Recompensar ✙ ✌ ✍ ✓✚✝ ✙ ✌ ✍ ✓ al☞ ganador: ☛✦✥ (A) Clasificador Fortaleza 1) 00:00 9.1 2) 00:01 9.5 3) 00:10 8 4) 00:11 7 Matching: 1) 2) 3) 4) ☛ ✝ 0.1 ☞ ✝ 0.1 Clasificador Fortaleza Oferta 1) 00:00 9.1 0.91 2) 00:01 9.5 0.95 3) 00:10 8 0.8 4) 00:11 7 0.7 Ganador: 2) Acción correspondiente al ganador: 01 Ganador anterior: 1) Ganador actual: 2) Decrementar ✙ ✙ la oferta ✙ al ganador: ✌✎✕✔✓☎✛ ☛ ✌✎✕✔✓ ✍ Pagar al ganador ✙ ✌ ✓✚✝ ✙ ✌ ✍ ✓ ☞ ☛✢anterior: ☞ ✙ ✌✎✕✔✓ Fortaleza 9.195 8.55 8 7 10.1 (B) En D ✂✁☎✄ -VSCS, suponemos que el ganador del ciclo anterior de ejecución corresponde al clasificador 5) - D ✂✁☎✄ -VSCS elige la acción del clasificador que haya realizado la mayor oferta en la subasta. Si un clasificador tiene fortaleza ✘ su oferta es ✝ ☛ ✘ . -SARSA selecciona la acción con mayor valor ✡ , de acuerdo al estado en que se encuentre. ✙ ✌ ✣✤✓ es utilizado para denotar la fortaleza del clasificador ✣ . ✙ ✍ ✍ la Ası́ por ejemplo ✌ ✓ denota fortaleza del clasificador ✙ y es una abreviatura para ✌✎✟✑✏✒✟✔✓ . El paso identificado como (C) corresponde al término ✆ de la fórmula 6. Fortaleza 9 9.5 8 7 10.1 acción a: 00 nuevo estado s’: 00 recompensa r: 1 Clasificador 1) 00:00 2) 00:01 3) 00:10 4) 00:11 5) 01:00 ✆✞✝✠✟ Comentarios ☛✢☞ ✌ ✓ ✌✎✕✔✓✚✝ Modificar valor de utilidad Algoritmo SARSA acción a: 0 nuevo estado s’: 0 recompensa r: 1 El paso identificado como (A) corresponde al término ✁ de la fórmula 6. Dado que se encuentra en el estado 0, se elegirá entre los ✍ valores de la tabla ✡ correspondientes a ✡✍✌✎✟✑✏✖✟✔✓ , ✡✍✌✎✟✑✏ ✓ , ✡✍✌✎✟✑✏✖✕✔✓ y ✡✍✌✎✟✑✏✖✗✔✓ ✡✍✌✎✟✑✏ ✟✔✓ es el que tiene el mayor valor Acción elegida: 0 Actualizar Q(0,0): ☞ ☞ ✡✍✌✎✟✑✏✖✟✔✓✚✝✧✡✍✌✎✟✑✏✒✟✔✓ ☛✩★ ✥ ☞ ✡✍✌✎✟✑✏✪✟✔✓✫✛ ✡✍✌✎✟✑✏✖✟✔✓✎✬ Tabla ✡ Acción Estado 0 1 0 9.2 10 1 9.5 2 8 3 7 SARSA realiza las modificaciones de sus utilidades una única vez y al final del ciclo. D ✂✁☎✄ -VSCS modifica por tercera vez los suyos. El paso identificado como (B) code la rresponde al término fórmula 6. Cuadro 1: Diferencias en las formas de actualización de D ✁✝✆☎✞ -VSCS y SARSA. ✡ hacer es ir en lı́nea recta al objetivo más cercano, el cual se encuentra a 6 pasos en cualquiera de las dos direcciones. Sin embargo, si se toma en cuenta que la exploración ”va a ocurrir”, en el estado es mejor ir hacia la izquierda, ya que si una acción exploratoria como ”arriba” o ”abajo” gasta un paso de tiempo, el agente permanece aún a la misma distancia del objetivo más cercano. ✠ Paso seguro r = −1 G G G G G Paso optimo S S G Precipicio G r = −100 (a) Problema del “Muro del Placer” (b) Problema del “Precipicio”. Figura 4: Dos problemas para analizar el rol de la la exploración El segundo problema (Figura 4(b)) al que denominamos problema del precipicio [9], consiste en un agente situado inicialmente en un extremo de un mundo tipo grilla (estado ), que debe alcanzar un estado objetivo (estado ) en el otro extremo de dicho entorno en el cual existe un precipicio. La recompensa es para cualquiera de las transiciones, excepto aquellas que conducen al “precipicio”, las cuales tienen un recompensa de . Si el agente cae en el precipicio, éste es devuelto automáticamente al estado inicial . La particularidad de este problema está relacionada con los pasos posibles que el agente puede seguir para alcanzar dicho objetivo. Como vemos en la Figura 4(b), se han destacado dos tipos de pasos; uno, el óptimo dado que implica una mayor acumulación de recompensas. Sin embargo, por la naturaleza del problema, este paso podrı́a ser considerado peligroso dado que su traza pasa por el borde del precipicio. Esto implica que durante las posibles fases de exploración el agente puede caer en el precipicio con la consecuente disminución de las recompensas acumuladas que éste trata de maximizar. El otro paso, si bien no es el óptimo en términos de las recompensas acumuladas, es el más seguro considerando las posibles fases de exploración del agente. Estos dos problemas si bien en apariencia son significativamente diferentes, tienen en común un aspecto importante: la exploración tiene una incidencia directa y fundamental en las recompensas que recibe el agente. Este aspecto se torna crucial si el agente necesita tener una polı́tica de exploración persistente (como la requerida en ambientes dinámicos) y no es posible reducir gradualmente la exploración hasta llegar a una polı́tica totalmente greedy, como es asumido en muchos trabajos de AR. En este sentido, trabajos previos [3, 9] han mostrado que los algoritmos on-policy se desempeñan mejor en este tipo de ambientes que los algoritmos off-policy como Q-Learning El nuevo problema combina caracterı́sticas de los dos problemas presentados según se muestra en la Figura 5. El problema es denominado “placer-precipitado”. En este mundo-grilla, el agente está situado inicialmente en la parte inferior al centro (estado ). Cuando el agente alcanza el estado recibe una recompensa igual a . Si el agente se topa con un precipicio es castigado con una recompensa de . Para cualquier otro caso no recibe recompensa. La parte inferior de este mundo-grilla es similar al problema del precipicio (Figura 4(b)) ubicándose un precipicio sobre el lı́mite inferior derecho del mundo-grilla. Sin embargo, a diferencia del problema original (Figura 4(b)) existen aquı́ dos caminos óptimos constituidos por los pasos que bordean el gran obstáculo ubicado enfrente del estado . Sin embargo sólo el de la izquierda es seguro ya que la exploración no puede hacerlo caer en el precipicio. Es importante destacar que los estados objetivos se encuentran en la parte superior del mundogrilla separados de la parte inferior por barreras dispuestas a modo de muro y que existe un único ✠ ✯ ✷ ✯ ✷ ✌ ✌ ✠ ✠ ✯ ✷ ✷ ✌ ✌ ✌ ✌ ✠ paso para llegar a la parte superior. Dado que el agente necesariamente tiene que pasar por el estado (Figura 5, al centro), este podrı́a ser visualizado como el estado objetivo del problema del precipicio original. Luego, la parte superior del mundo-grilla desde el estado es alcanzada sólo a través del corredor formado por las barreras cuya salida a la parte superior donde se encuentran los estados objetivos, estado ✁ , representarı́a el estado inicial del problema del muro del placer. A partir de ese estado, el agente se encuentra en la etapa de decidir el camino hacia la izquierda o la derecha según se explicó para ese problema. Por esta razón es la disposición de la barrera que forma una especie de embudo que desemboca en la parte central de la región superior del mundo-grilla propuesto. G G G G G G G X G Y S Figura 5: Problema combinado de los problemas presentados en Figuras 4(b) y 4(a). ✠ En general, para el problema placer-precipitado, el agente parte siempre del mismo estado inicial y sus movimientos están limitados a 4 posibilidades: derecha, izquierda, arriba y abajo. Cada una de estas acciones lo conducirá a una celda lindante, excepto en el caso que dicha celda sea una barrera o no exista (fuera de los lı́mites del mundo-grilla). Si “cae” por el precipicio, vuelve al estado inicial. Las acciones son determinı́sticas y el ambiente es estacionario. El aprendizaje del agente está dividido en episodios. Cada vez que ingresa en uno de los estados o ejecuta un número máximo predeterminado de iteraciones o cae al precipicio, el episodio finaliza y el agente vuelve al estado inicial. ✍ Las recompensas recibidas ✂ pasos del tiempo en el futuro son decrementadas por un factor de ☎✄ , con ✝✆ ✷ , por lo que problema de maximizar las recompensas acumuladas en este caso es equivalente, a llegar a alguno de los estados en el menor número de pasos posible. ✛ ✪ ✪ 5.2. Experimentos El trabajo experimental desarrollado, no intenta realizar una comparación exhaustiva y concluyente entre los algoritmos SARSA BB y Q-Leaning. Esto involucrarı́a considerar distintos tipos de ambientes y conjuntos de parámetros lo que escapa al alcance del trabajo actual. El objetivo de la experimentación es mostrar las caracterı́sticas on-policy de SARSA BB y las diferencias en cuanto a la polı́tica de control aprendida con respecto a métodos off-policy como Q-Learning. También se muestra de qué manera las polı́ticas de control aprendidas pueden tener un impacto considerable sobre las recompensas acumuladas de los agentes. Los resultados mostrados son el promedio de un total de 10 experimentos. Cada experimento consistió en la ejecución de 2000 episodios. Los eventos de fin de episodio se corresponden con los explicados previamente, siendo 20000 el número máximo de iteraciones permitido para cada episodio. El tamaño del paso ✣ fue de ✓✟✞ . La estrategia de exploración utilizada fué la -greedy con ✂✙ ✓ . Esta estrategia se comporta de forma greedy por defecto, pero con probabilidad elige una acción en ✌ ✪ ✪ ✪ ✌ ✑ forma aleatoria. El valor de para este tipo de problemas. ✪ fue de ✌ ✓ ✞ , lo cual se corresponde con valores usualmente utilizados (a) Q-Learning (b) SARSA-BB Figura 6: Polı́ticas aprendidas por Q-Leaning y SARSA BB La figura 6 muestra las polı́ticas aprendidas por Q-Learning y SARSA BB para el problema seleccionado. Las flechas dibujadas en cada casilla indican la acción sugerida de acuerdo al máximo valor de la tabla Q o el clasificador de máxima fortaleza respectivamente. Las gráficas muestran que las polı́ticas aprendidas por SARSA-BB y Q-Learning difieren considerablemente. Q-Learning aprende las funciones de valor óptimas pero es indiferente entre seguir un camino seguro o altamente riesgoso. Esto se puede observar en el estado de comienzo donde el agente tiene prácticamente una polı́tica de control óptima simétrica hacia la izquierda y la derecha. SARSA BB por su parte aprende una polı́tica de control óptima pero a la vez segura. Si se observa el estado de comienzo se verá que la polı́tica sugiere ir por el camino que no bordea el precipicio. Lo mismo se registra hasta columnas a la derecha del estado inicial por lo que si consideramos que el factor de exploración es de 0.2 las oportunidades de que el agente pueda ir por el camino que bordea el precipicio son prácticamente nulas. Asimismo en el estado que previamente marcamos como , Q-Learning es indiferente entre ir hacia la izquierda o la derecha. Sin embargo, la polı́tica aprendida por SARSA BB sugiere ir hacia el “muro del placer” donde acciones exploratorias como “arriba” o “abajo” no lo alejarán de un estado objetivo. Para este tipo de problemas, la posibilidad de contar con un método de aprendizaje que efectivamente refleje los efectos de la exploración en la polı́tica aprendida puede tener un impacto significativo en la performance del agente. Para corrobar este hecho en la figura 7 se muestra la diferencia en las recompensas acumuladas por cada uno de los métodos con un desempeño significativamente mejor de SARSA BB sobre Q-Learning. ✠ ✠ ✑ ✁ 10 QL SARSA_BB 8 Recompensa Acumulada 6 4 2 0 -2 -4 0 500 1000 1500 2000 Episodios Figura 7: Recompensas acumuladas. 6. Conclusiones En este trabajo se presentó un nuevo esquema para la actualización de la fortaleza de las reglas de un Sistema Clasificador, tomando como base el algoritmo SARSA, un algoritmo de Aprendizaje por Refuerzo basado en diferencias temporales. El algoritmo propuesto, denominado SARSA BB (SARSA Bucket Brigade), no requiere cambiar la fórmula de actualización estándard utilizada por el algoritmo Bucket Brigade, como sı́ lo hacen otros SC basados en Q-Learning. En lugar de ello, para lograr una equivalencia directa entre SARSA y SARSA BB se debe garantizar que el mecanismo de clearinghouse utilizado por el SC, se realice luego de un ciclo completo de selección de dos clasificadores. SARSA BB tiene dos atributos interesantes. Por un lado utiliza una forma de actualización que, bajo condiciones similares a las requeridas por Q-learning, se ha demostrado que converge a una polı́tica óptima. Por otra parte, a diferencia de Q-Learning y otros SC basados en Q-Learning, SARSA BB implementa un algoritmo de control ”on-policy”. Esta caracterı́stica, convierte a SARSA BB en buen candidato para ser utilizado en problemas donde la exploración juega un rol significativo en el desempeño del agente. Esto incluye ambientes dinámicos, donde son requeridas capacidades de exploración persistente, o problemas donde las acciones exploratorias pueden traer consecuencias muy negativas. Las caracterı́sticas on-policy de SARSA BB fueron mostradas en un problema que es la combinación de dos problemas anteriores. Estos problemas ya habı́an sido utilizados para mostrar las falencias de los métodos off-policy para ese tipo de situaciones. Los resultados obtenidos con SARSA BB confirman que en estos casos un algoritmo on-policy permitirá en general obtener una polı́tica de control del agente más aceptable que la derivada por Q-Learning o un SC basado en Q-Learning. Ese trabajo, es un paso inicial en la transferencia de experiencias adquiridas en Aprendizaje por Refuerzo al contexto de Sistemas Clasificadores. El trabajo futuro está dirigido a utilizar SARSABB en el contexto de SC más complejos de manera tal de proveer al agente con capacidades de generalización y memoria. El objetivo es comparar las técnicas usualmente utilizadas en SC para tales fines (ver [1] para un análisis detallado) con las utilizadas usualmente en AR, como por ejemplo redes neuronales y redes neuronales recurrentes respectivamente. Referencias [1] Marco Dorigo and Hugues Bersini. A comparison of Q-learning and classifier systems. In Proceedings of From Animals to Animats, Third International Conference on Simulation of Adaptive Behavior, pages 248–255, 1994. [2] D. E. Goldberg. Genetic Algorithms in Search, Optimization amd Machine Learning. Addison Wesley, 1989. [3] George H. John. When the best move isn’t optimal: Q-learning with exploration. Unpublished manuscript, available through URL ftp://starry.stanford.edu/pub/gjohn/papers/rein-nips.ps, 1995. [4] G. Roberts. Dynamic planning for classifier systems. In Proceedings of Fitfth International Conference on Genetic Algorithms, pages 231–237, San Mateo, CA, 1993. Morgan Kaufmann. [5] G. A. Rummery and M.Ñiranjan. On-line q-learning using connectionist systems. Technical Report CUED/F-INFENG/TR 166, Engineering Department, Cambridge University, 1994. [6] Satinder Singh, Tommi Jaakola, Michael L. Littman, and Csaba Szepesvári. Convergence results for single-step on-policy reinforcement-learning algorithms. Machine Learning Journal, 1998. [7] Richard S. Sutton. Learning to predict by the method of temporal differences. Machine Learning, 3:9–44, 1988. [8] Richard S. Sutton. Generalization in reinforcement learning: Successful examples using sparse coarse coding. In D. S. Touretzky, M. C. Mozer, and Hasselmo M. E., editors, Advances in Neural Information Processing Systems: Proceedings of the 1995 Conference, pages 1038–1044. MIT Press, 1996. [9] Richard S. Sutton and Andrew G. Barto. Reinforcement learning: an introduction. The MIT Press, 1998. [10] K. Twardowski. Credit assignment for pole balancing with learning classifier systems. In Proceedings of Fitfth International Conference on Genetic Algorithms, pages 238–245, San Mateo, CA, 1993. Morgan Kaufmann. [11] C. J. C. H. Watkins. Learning from Delayed Rewards. PhD thesis, Cambridge University, 1989. [12] Stewart W. Wilson. ZCS: A zeroth level classifier system. Evolutionary Computation, 2(1):1– 18, 1994.