Vous êtes sur la page 1sur 3

1

Aprendizaje por Refuerzo


Gmez Rivera Dario Xavier dgomezr@est.ups.edu.ec
AbstractThe reinforcement learning is mainly based on an agent is in a state, this state change agent will get a reward maximizing this reward. Markov decision processes (MDP) models are used for decision-making in sequence when the outputs of the controlled system are uncertain. Some solutions presented is the Dynamic Programming, the Monte Carlo and the most used Timing differences. Index Terms Poltica, Agente, Funcin de Valor, Funcin de Refuerzo, Markov, Programacin Dinmica, Monte Carlo, Diferencias Temporales.

por lo que la funcin es necesariamente inalterable por las acciones del agente. Debe, sin embargo, servir como base para alterar la poltica. Una funcin de reforzamiento por lo general es estocstica[1][2][3][5]. C. Funcin de Valor o Funcin de Evaluacin Refleja una estimacin de la recompensa que se va a recibir partiendo de otro estado y siguiendo otra poltica. Esta funcin sirve de base para escoger la accin a realizar. El objetivo de los algoritmos de aprendizaje por refuerzo es construir esta funcin[1][2][3][5]. D. Modelo de entorno El modelo imita el comportamiento del ambiente. Dado un estado y una accin, este podra predecir el estado resultante y la recompensa prxima. Algunos investigadores intentan resolver el problema de RL sin tener modelo alguno, se lo conoce como libre de modelo. Otro enfoque consiste en construir primeramente un modelo del ambiente, el cual lo utilicen posteriormente para seleccionar las mejores acciones[1][2][3][5]. III. PROCESO DE DECISIN DE MARKOV Los procesos de decisin Markov (MDP) son modelos usados para la toma de decisiones en secuencia cuando las salidas del sistema controlado son inciertas. Formalmente, un MDP es una tupla (S;A; P; ;R), donde[2]: S es un conjunto de estados, A es un conjunto de acciones, P (st+1 | st; at ) son las probabilidades de transicin de estados para todos los estados st ; st+1 S y acciones a A, [0; 1) es el factor de descuento R : S X A es la funcin de recompensa. La dinmica del MDP es la siguiente: un agente en un estado st S realiza una accin at seleccionada de un conjunto de acciones A. Como resultado de realizar la accin at, el agente recibe una recompensa con un valor esperado, y el estado actual del MDP cambia a un estado sucesor st+1, de acuerdo a la probabilidad de transicin P(st+1 | st; at). Una vez que se encuentra en el estado st+1 el agente escoge y ejecuta la accin at+1, recibiendo la recompensa R(st+1; at+1) y movindose al estado st+2. El agente se mantiene eligiendo y ejecutando acciones, creando una ruta de estados visitados[2]. La recompensa en el tiempo t es reducida o descontada en un factor de t[2]. Al hacer esto el agente le da ms importancia a aquellas recompensas obtenidas ms pronto. En un MDP lo que se trata de maximizar es la suma de recompensas esperadas obtenidas por el agente[2]: (1)

I. INTRODUCCION

L aprendizaje por reforzamiento, consiste en aprender a realizar la accin mas correcta ante una determinada situacin del medio con el objetivo de obtener recompensa mxima. Se basado en la interaccin de un sistema o un agente con su medio. El objetivo ser disear un sistema que aprendiera a generar nuevos individuos que resolvieran un problema dado, sin ms que el estado actual y el problema a resolver[5].

Figura 1. Diagrama de iteracin agente-entorno[5]. II. ELEMENTOS DEL APRENDIZAJE POR REFUERZO Los elementos principales del aprendizaje por refuerzo son: A. Poltica () Una poltica define el comportamiento del agente aprendiz en un tiempo dado. Puede verse como un mapeo de estado a accin o conjunto de estados S percibidos en el ambiente a un conjunto de acciones. Se establece las reglas de asociacin entre el estado del entorno y la accin a tomar cuando se encuentra en ellos. En algunos casos la poltica puede ser una funcin siempre o una tabla de entradas, y en otros casos puede ser un proceso completo de bsqueda. En lo general las polticas podran ser estocsticas[1][2][3][5]. B. Funcin de Refuerzo o Funcin de Recompensa Establece la recompensa a generar en funcin del estado del entorno y la accin realizada sobre l, los valores se deben estimar en base a las observaciones. El objetivo es maximizar la recompensa total obtenida a largo plazo. De esta forma, la funcin define que eventos son buenos y malos para el agente

2 Ahora definimos una poltica como una funcin que hace un mapeo de estados a acciones. Tambin definimos una funcin de valor para una poltica como la suma esperada de recompensas con descuento, obtenidas al ejecutar siempre las (2) acciones propor cionadas por [2]: es la suma esperada de recompensas con descuento que el agente recibir si comenzara en el estado s y realizara acciones dadas por . Dada un poltica fija , su funcin de valor satisface la ecuacin de Bellman[2]: (3) La funcin de valor ptima se define como[2]: (4) B. Monte Carlo EL mtodo consiste en evaluar una poltica estudiando las recompensas obtenidas por el agente al actuar sobre el entorno. Cada iteracin del algoritmo supone la realizacin de un episodio completo siguiendo la poltica marcada y, a continuacin, actualizar la estimacin considerando el retorno obtenido en el episodio. El objetivo es aprender la poltica ptima, lo que se puede realizar a partir de una estimacin de la funcin de valor o de la funcin accin-valor[3]. La actualizacin de una poltica a partir de la funcin de valor es la siguiente[3]: (8) La actualizacin de una poltica a partir de la funcin accin-valor es la siguiente[3]: En los mtodos resulta ms adecuado utilizar la funcin de accin-valor (Q(s,a)),ya que no requiere almacenar el modelo de comportamiento del entorno[3]. La utilizacin de la funcin accin-valor tiene algunos inconvenientes como requerir mas memoria que la funcin de valor ya que para cada estado debe mantener un valor para cada posible accin, tambin provoca para cada estado se evala una accin[3]. Algoritmo para estimar la funcin accin-valor[3]:
Generar un episodio siguiendo la poltica . Para cada estado s que aparezca en este episodio

Esta funcin da la mejor suma esperada de recompensas con descuento posible que puede obtenerse usando alguna poltica . La ecuacin de Bellman para la funcin de valor ptima es[2]: (5) IV. MTODOS DE SOLUCIN A. Programacin Dinmica La Programacin Dinmica (PD), resuelven problemas dividiendo recursivamente cada tarea en sub tareas independientes y luego combinando coherentemente la solucin de las mismas para resolver el problema original. En PD los sub problemas no tienen que ser necesariamente independientes entre s. La PD resuelve cada sub problema una sola vez y guarda el resultado intermedio en una tabla, de la cual se vale despus para evitar los re clculos[3][4]. Las ecuaciones de Bellman nos representan un sistema de ecuaciones e incgnitas. Consideremos primero como calcular la funcin de valor dada una poltica arbitraria en la ecuacin 3. Podemos hacer aproximaciones sucesivas, evaluando Vk +1(s) en trminos de Vk(s)[3]. (6) Se calcula la funcin de valor de una poltica para tratar de encontrar mejores polticas. En lugar de hacer un cambio en un estado y ver el resultado, se pueden considerar cambios en todos los estados considerando todas las acciones de cada estado, seleccionando aquella que parezca mejor de acuerdo a una poltica[3]. Podemos entonces calcular una nueva poltica (s) = argmax a Q(s, a) y continuar hasta que no mejoremos[3]. Esto sugiere, partir de una poltica (0) y calcular la funcin de valor (V0), as sucesivamente hasta converger a y a este procedimiento se llama iteracin de polticas[3]. El paso de evaluacin de poltica lo podemos truncar sin perder la garanta de convergencia, despus de recorrer una sola vez todos los estados. A esta forma se le llama iteracin de valor y se puede escribir combinando la mejora en la poltica y la evaluacin de la poltica truncada como sigue[3]: (7)

R = retorno alcanzado desde el estado s a = accin realizada en dicho estado Aadir R a la lista de retornos obtenidos desde s con a Q(s,a) = valor medio de la lista

Repetir

Podemos entonces definir un algoritmo de evaluacin iterativa de polticas[3]: Repite Genera un episodio usando Para cada estado s en ese episodio: R recompensa despus de la primera ocurrencia de s Aade R a recompensa (s) V (s) promedio (recompensa (s)) Para estimar pares estado-accin (Q) corremos el peligro de no ver todos los pares, por lo que se busca mantener la exploracin. Lo que normalmente se hace es considerar solo polticas estocsticas que tienen una probabilidad diferente de cero de seleccionar todas las acciones[]3. C. Diferencias Temporales Los algoritmos de diferencias temporales (TD) aprenden el valor que poseen los estados del sistema Markoviano y ajustan una funcin de valor que es capaz de predecir el valor actual con un estado y poltica para conocer el futuro de los estados[4]. El valor ptimo de la funcin de valor es alcanzado usando una versin del algoritmo TD(). Este algoritmo usa las diferencias de sucesivas observaciones de estados consecutivos para aprender las predicciones correctas de valor. El valor de los estados consecutivos debe converger hacia un (9)

3 valor final, el ajuste de la funcin de valor V se hace usando la siguiente regla[4]: V(i) = V(i) + ( (V(j) V(i)) + R(i) ) Donde representa la taza de aprendizaje y R el refuerzo que puede haber en el estado i. As, la diferencia en las predicciones V(j) V(i) de estados consecutivos es usada como medida para predecir el error. El verdadero valor V(n) es propagado hacia atrs a travs de la cadena de predicciones. La red resultante es una funcin de valor precisa que puede ser usada para evaluar las decisiones del agente comparando valores de estados subsecuentes despus de tomar la decisin[4]. Q-learning se basa en encontrar una funcin Q(d,i) (Qfunction) que representa la utilidad de tomar la decisin del estado. Dada una Q-function precisa, la poltica ptima es la que selecciona, para cada estado, la decisin que tiene asociado el mayor valor esperado (Q-value) acumulado. La Q-function es aprendida usando la siguiente ecuacin de ajuste de diferencias temporales[4]: Q(d,i) = Q(d,i) + ( R(i) + max Q(d',i') - Q(d,i) ) (10) Donde d' es la siguiente decisin y i' es el siguiente estado. Esencialmente, esta ecuacin ajusta Q(d,i) basada en el refuerzo actual y el refuerzo predicho si todas las decisiones tomadas posteriormente fueran ptimas. Para asegurar la convergencia es necesario considerar un factor <1. Algoritmo basado en la funcin accin-valor (Sarsa)[3]: (11) Q(s,a) = Q(s,a) + [ r + Q(s,a) Q(s,a) ] La filosofa de TD(0) y Sarsa es desarrollar muchos episodios para evaluar una poltica. Una vez evaluada correctamente se actualiza la poltica y se vuelve a evaluar. El algoritmo Q-learning se basa en esta idea[3]: Q(s,a) = Q(s,a) + [ r + max a Q(s,a) Q(s,a) ] (12) El algoritmo TD() consiste en considerar el retorno esperado como una media ponderada de todos estos retornos[3]: (13) Si =0 la ecuacin anterior corresponde a TD(0). Si =1 la ecuacin corresponde al mtodo de Monte Carlo[3]. V. PROBLEMAS DE JUEGO A. Reinforcement Learning - Simulator Esta herramienta ha sido desarrollada por Rohit Kelkar y Vivek Mehta , como parte del Proyecto de Curso ampliada para la Maestra en Tecnologa de la Informacin con especialidad en Tecnologa Robtica, en el Instituto de Robtica , Universidad Carnegie Mellon. Utiliza el mtodo de Sarsa de TTD en su aplicacin a la bsqueda de ruta de la red y visualiza el proceso de aprendizaje. La interfaz grfica de usuario real que se utiliza es implementado por rl.gui.SimulationPanel. El applet slo implementa la init () para crear instancias de las clases para el algoritmo de aprendizaje y su entorno, y el panel antes mencionado. Tambin puede ser utilizado como una aplicacin, ya que define un mtodo principal. B. Gato y el Raton El juego en particular hay un gato, un ratn, un pedazo de queso, as como algunos obstculos en el mundo del gato y el ratn. El ratn se trata de evitar ser atrapado por el gato, al mismo tiempo tratando de conseguir al queso para comer. Cuando se carga el applet, elegir uno de los diseos de obstculos predeterminados o tienen una generada aleatoriamente.

Figura 3. Seleccin de Obstculos La pena de muerte y recompensa queso son las recompensas asociadas con el ratn quedar atrapados o conseguir el queso. El mtodo de seleccin de la accin determina la forma en que una accin se selecciona de la tabla de valores de Q. El mtodo de aprendizaje tambin se puede especificar sobre QLearning y Sarsa. VI. CONCLUSIONES El RL al implementar las soluciones los algoritmos ms utilizados son las de Q- Learning y Sarsa en los juegos que se plantean se tiene una pequea observacin de cmo es el comportamiento del agente en la simulacin del juego en cmo se realiza el aprendizaje como si fuera en nuestro entorno natural. Los valores configurables en el programa podemos nosotros remplazar en nuestras ecuaciones planteadas y confirmar que realmente cumplen con lo establecido. REFERENCIAS
[1] [2] Sempere, Jos M. "Aprendizaje por refuerzo.", Universidad Politcnica de Valencia, Departamento de Sistemas Informticos y Computacin. Cetina, Vctor Uc, Aprendizaje por Refuerzo, Facultad de Matemticas, Universidad Autnoma de Yucatn,, uccetina@uady.mx, 29 de noviembre de 2012. Morales Eduardo, Jess Gonzales, "Aprendizaje por Refuerzo", INAOE, Enero, 2012. Lpez Beln Mauricio Cele Departamento de Ciencias e Ingeniera de la Computacin Universidad Nacional Del Sur, "Revisin de las Aplicaciones de Reinforcement Learning en Juegos de Video", Baha Blanca Argentina 2006. D. Ortiz Boyer, A.de Haro Garcia y R. del Castillo Gomariz, "Aprendizaje por reforzamiento aplicado al operador de cruce en algoritmos genticos con codificacin real", VI Congreso Espaol sobre Metaheursticas, Algoritmos Evolutivos y Bioinspirados (MAEB'09)

[3] [4]

[5]

Figura 2. Interfaz de Usuario

Vous aimerez peut-être aussi