Aprendizaje Por Refuerzo
-
Upload
xavier-rivera -
Category
Documents
-
view
30 -
download
0
Transcript of 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
E
(1)
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)
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)