Aprendizaje Por Refuerzo

3
1 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 TermsPolítica, Agente, Función de Valor, Función de Refuerzo, Markov, Programación Dinámica, Monte Carlo, Diferencias Temporales. I. INTRODUCCION L aprendizaje por reforzamiento, consiste en aprender a realizar la acción mas correcta ante una determinada situación del medio con el objetivo de obtener recompensa máxima. Se basado en la interacción de un sistema o un agente con su medio. El objetivo será diseñar un sistema que aprendiera a generar nuevos individuos que resolvieran un problema dado, sin más que el estado actual y el problema a resolver[5]. Figura 1. Diagrama de iteración agente-entorno[5]. II. ELEMENTOS DEL APRENDIZAJE POR REFUERZO Los elementos principales del aprendizaje por refuerzo son: A. Política (π) Una política define el comportamiento del agente aprendiz en un tiempo dado. Puede verse como un mapeo de estado a acción o conjunto de estados S percibidos en el ambiente a un conjunto de acciones. Se establece las reglas de asociación entre el estado del entorno y la acción a tomar cuando se encuentra en ellos. En algunos casos la política puede ser una función siempre o una tabla de entradas, y en otros casos puede ser un proceso completo de búsqueda. En lo general las políticas podrían ser estocásticas[1][2][3][5]. B. Función de Refuerzo o Función de Recompensa Establece la recompensa a generar en función del estado del entorno y la acción 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 función define que eventos son buenos y malos para el agente por lo que la función es necesariamente inalterable por las acciones del agente. Debe, sin embargo, servir como base para alterar la política. Una función de reforzamiento por lo general es estocástica[1][2][3][5]. C. Función de Valor o Función de Evaluación Refleja una estimación de la recompensa que se va a recibir partiendo de otro estado y siguiendo otra política. Esta función sirve de base para escoger la acción a realizar. El objetivo de los algoritmos de aprendizaje por refuerzo es construir esta función[1][2][3][5]. D. Modelo de entorno El modelo imita el comportamiento del ambiente. Dado un estado y una acción, este podría predecir el estado resultante y la recompensa próxima. 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 DECISIÓN DE MARKOV Los procesos de decisión 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 transición 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 función de recompensa. La dinámica del MDP es la siguiente: un agente en un estado st Є S realiza una acción at seleccionada de un conjunto de acciones A. Como resultado de realizar la acción 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 transición P(st+1 | st; at). Una vez que se encuentra en el estado st+1 el agente escoge y ejecuta la acción at+1, recibiendo la recompensa R(st+1; at+1) y moviéndose 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 más importancia a aquellas recompensas obtenidas más pronto. En un MDP lo que se trata de maximizar es la suma de recompensas esperadas obtenidas por el agente[2]: Aprendizaje por Refuerzo Gómez Rivera Dario Xavier [email protected] E (1)

Transcript of Aprendizaje Por Refuerzo

Page 1: Aprendizaje Por Refuerzo

1

Abstract—The 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— Política, Agente, Función de Valor, Función de

Refuerzo, Markov, Programación Dinámica, Monte Carlo,

Diferencias Temporales.

I. INTRODUCCION

L aprendizaje por reforzamiento, consiste en aprender a

realizar la acción mas correcta ante una determinada

situación del medio con el objetivo de obtener recompensa

máxima. Se basado en la interacción de un sistema o un agente

con su medio. El objetivo será diseñar un sistema que

aprendiera a generar nuevos individuos que resolvieran un

problema dado, sin más que el estado actual y el problema a

resolver[5].

Figura 1. Diagrama de iteración agente-entorno[5].

II. ELEMENTOS DEL APRENDIZAJE POR REFUERZO

Los elementos principales del aprendizaje por refuerzo son:

A. Política (π)

Una política define el comportamiento del agente aprendiz

en un tiempo dado. Puede verse como un mapeo de estado a

acción o conjunto de estados S percibidos en el ambiente a un

conjunto de acciones. Se establece las reglas de asociación entre el estado del entorno y la acción a tomar cuando se

encuentra en ellos. En algunos casos la política puede ser una

función siempre o una tabla de entradas, y en otros casos

puede ser un proceso completo de búsqueda. En lo general las

políticas podrían ser estocásticas[1][2][3][5].

B. Función de Refuerzo o Función de Recompensa

Establece la recompensa a generar en función del estado del

entorno y la acción 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

función define que eventos son buenos y malos para el agente

por lo que la función es necesariamente inalterable por las

acciones del agente. Debe, sin embargo, servir como base para

alterar la política. Una función de reforzamiento por lo general

es estocástica[1][2][3][5].

C. Función de Valor o Función de Evaluación

Refleja una estimación de la recompensa que se va a recibir

partiendo de otro estado y siguiendo otra política. Esta

función sirve de base para escoger la acción a realizar. El

objetivo de los algoritmos de aprendizaje por refuerzo es

construir esta función[1][2][3][5].

D. Modelo de entorno

El modelo imita el comportamiento del ambiente. Dado un

estado y una acción, este podría predecir el estado resultante y

la recompensa próxima.

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 DECISIÓN DE MARKOV

Los procesos de decisión 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 transición

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 función de recompensa.

La dinámica del MDP es la siguiente: un agente en un

estado st Є S realiza una acción at seleccionada de un conjunto

de acciones A. Como resultado de realizar la acción 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 transición P(st+1 | st; at). Una vez

que se encuentra en el estado st+1 el agente escoge y ejecuta

la acción at+1, recibiendo la recompensa R(st+1; at+1) y

moviéndose 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 más importancia a aquellas

recompensas obtenidas más pronto. En un MDP lo que se trata

de maximizar es la suma de recompensas esperadas obtenidas

por el agente[2]:

Aprendizaje por Refuerzo

Gómez Rivera Dario Xavier

[email protected]

E

(1)

Page 2: Aprendizaje Por Refuerzo

2

(2)

Ahora definimos una política como una función que hace un

mapeo de estados a acciones. También definimos una función

de valor para una política π como la suma esperada de

recompensas con descuento, obtenidas al ejecutar siempre las

acciones proporcionadas 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 política fija π, su función de

valor satisface la ecuación de Bellman[2]:

La función de valor óptima se define como[2]:

Esta función da la mejor suma esperada de recompensas con

descuento posible que puede obtenerse usando alguna política

π. La ecuación de Bellman para la función de valor óptima es[2]:

IV. MÉTODOS DE SOLUCIÓN

A. Programación Dinámica

La Programación Dinámica (PD), resuelven problemas

dividiendo recursivamente cada tarea en sub tareas

independientes y luego combinando coherentemente la

solución 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 después para evitar los re cálculos[3][4].

Las ecuaciones de Bellman nos representan un sistema de

ecuaciones e incógnitas. Consideremos primero como

calcular la función de valor dada una política arbitraria π

en la ecuación 3. Podemos hacer aproximaciones sucesivas,

evaluando Vk +1(s) en términos de Vk(s)[3].

Se calcula la función de valor de una política para tratar de

encontrar mejores políticas. 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 política[3].

Podemos entonces calcular una nueva política π′(s) = argmax a Qπ(s, a) y continuar hasta que no mejoremos[3].

Esto sugiere, partir de una política (π0) y calcular la función

de valor (Vπ0), así sucesivamente hasta converger a π∗ y a

este procedimiento se llama iteración de políticas[3].

El paso de evaluación de política lo podemos truncar sin

perder la garantía de convergencia, después de recorrer una

sola vez todos los estados. A esta forma se le llama iteración

de valor y se puede escribir combinando la mejora en la

política y la evaluación de la política truncada como sigue[3]:

B. Monte Carlo

EL método consiste en evaluar una política estudiando las

recompensas obtenidas por el agente al actuar sobre el

entorno. Cada iteración del algoritmo supone la realización de

un episodio completo siguiendo la política marcada y, a

continuación, actualizar la estimación considerando el retorno

obtenido en el episodio. El objetivo es aprender la política

óptima, lo que se puede realizar a partir de una estimación de

la función de valor o de la función acción-valor[3].

La actualización de una política a partir de la función de

valor es la siguiente[3]:

La actualización de una política a partir de la función

acción-valor es la siguiente[3]:

En los métodos resulta más adecuado utilizar la función de

acción-valor (Q(s,a)),ya que no requiere almacenar el modelo

de comportamiento del entorno[3].

La utilización de la función acción-valor tiene algunos

inconvenientes como requerir mas memoria que la función de

valor ya que para cada estado debe mantener un valor para

cada posible acción, también provoca para cada estado se

evalúa una acción[3].

Algoritmo para estimar la función acción-valor[3]: Generar un episodio siguiendo la política π.

Para cada estado s que aparezca en este episodio

R = retorno alcanzado desde el estado s

a = acción realizada en dicho estado

Añadir 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 evaluación

iterativa de políticas[3]:

Repite

Genera un episodio usando π

Para cada estado s en ese episodio: R ← recompensa después de la primera ocurrencia de s

Añade R a recompensa (s)

V (s) ← promedio (recompensa (s))

Para estimar pares estado-acción (Qπ) corremos el peligro

de no ver todos los pares, por lo que se busca mantener la

exploración. Lo que normalmente se hace es considerar solo

políticas estocásticas 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 función de valor que es capaz de predecir el valor actual

con un estado y política para conocer el futuro de los

estados[4]. El valor óptimo de la función de valor es alcanzado

usando una versión 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

(3)

(4)

(5)

(6)

(7)

(8)

(9)

Page 3: Aprendizaje Por Refuerzo

3

(11)

(12)

(13)

valor final, el ajuste de la función 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 atrás a través de la cadena de predicciones.

La red resultante es una función de valor precisa que puede ser

usada para evaluar las decisiones del agente comparando

valores de estados subsecuentes después de tomar la

decisión[4].

Q-learning se basa en encontrar una función Q(d,i) (Q-

function) que representa la utilidad de tomar la decisión del

estado. Dada una Q-function precisa, la política óptima es la

que selecciona, para cada estado, la decisión que tiene

asociado el mayor valor esperado (Q-value) acumulado. La

Q-function es aprendida usando la siguiente ecuación de ajuste de diferencias temporales[4]:

Q(d,i) = Q(d,i) + α( R(i) + max Q(d',i') - Q(d,i) )

Donde d' es la siguiente decisión y i' es el siguiente estado.

Esencialmente, esta ecuación 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 función acción-valor (Sarsa)[3]:

Q(s,a) = Q(s,a) + α· [ r + γ· Q(s’,a’) – Q(s,a) ]

La filosofía de TD(0) y Sarsa es desarrollar muchos episodios para evaluar una política. Una vez evaluada

correctamente se actualiza la política 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) ]

El algoritmo TD(λ) consiste en considerar el retorno

esperado como una media ponderada de todos estos

retornos[3]:

Si λ=0 la ecuación anterior corresponde a TD(0). Si λ=1 la

ecuación corresponde al método 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 Maestría en Tecnología de la Información con

especialidad en Tecnología Robótica, en el Instituto de

Robótica , Universidad Carnegie Mellon.

Figura 2. Interfaz de Usuario

Utiliza el método de Sarsa de TTD en su aplicación a la

búsqueda de ruta de la red y visualiza el proceso de

aprendizaje. La interfaz gráfica de usuario real que se utiliza

es implementado por rl.gui.SimulationPanel. El applet sólo

implementa la init () para crear instancias de las clases para el

algoritmo de aprendizaje y su entorno, y el panel antes mencionado. También puede ser utilizado como una

aplicación, ya que define un método principal.

B. Gato y el Raton

El juego en particular hay un gato, un ratón, un pedazo de

queso, así como algunos obstáculos en el mundo del gato y el

ratón. El ratón 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 diseños de

obstáculos predeterminados o tienen una generada

aleatoriamente.

Figura 3. Selección de Obstáculos

La pena de muerte y recompensa queso son las recompensas

asociadas con el ratón quedar atrapados o conseguir el queso.

El método de selección de la acción determina la forma en que

una acción se selecciona de la tabla de valores de Q. El

método de aprendizaje también se puede especificar sobre Q-

Learning y Sarsa.

VI. CONCLUSIONES

El RL al implementar las soluciones los algoritmos más utilizados son las de Q- Learning y Sarsa en los juegos que se

plantean se tiene una pequeña observación de cómo es el

comportamiento del agente en la simulación del juego en

cómo 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] Sempere, José M. "Aprendizaje por refuerzo.", Universidad Politécnica

de Valencia, Departamento de Sistemas Informáticos y Computación.

[2] Cetina, Víctor Uc, “Aprendizaje por Refuerzo”, Facultad de

Matemáticas, Universidad Autónoma de Yucatán,, [email protected],

29 de noviembre de 2012.

[3] Morales Eduardo, Jesús Gonzales, "Aprendizaje por Refuerzo", INAOE,

Enero, 2012.

[4] López Belón Mauricio Cele Departamento de Ciencias e Ingeniería de la

Computación Universidad Nacional Del Sur, "Revisión de las

Aplicaciones de Reinforcement Learning en Juegos de Video", Bahía

Blanca – Argentina 2006.

[5] D. Ortiz Boyer, A.de Haro Garcia y R. del Castillo Gomariz,

"Aprendizaje por reforzamiento aplicado al operador de cruce en

algoritmos genéticos con codificación real", VI Congreso Español sobre

Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB'09)

(10)