Sesiones del Curso
Aprendizaje por Refuerzo
M´
aster en Ciencia y Tecnolog´ıa Inform´
atica
Fernando Fern´
andez Rebollo
Grupo de Planificaci´
on y Aprendizaje (PLG)
Departamento de Inform´
atica
Escuela Polit´
ecnica Superior
Universidad Carlos III de Madrid
30 de septiembre de 2013
Sesiones del Curso
Introducci´on al Aprendizaje por Refuerzo Aprendizaje por Refuerzo
Reutilizaci´on de Pol´ıticas
En Esta Secci´
on:
Introducci´
on al Aprendizaje por Refuerzo
Aprendizaje por Refuerzo
Reutilizaci´
on de Pol´ıticas
Sesiones del Curso
Introducci´on al Aprendizaje por Refuerzo Aprendizaje por Refuerzo
Reutilizaci´on de Pol´ıticas
Resumen de las Sesiones de Aprendizaje por Refuerzo
Aprendizaje por Refuerzo
M´
aster en Ciencia y Tecnolog´ıa Inform´
atica
Fernando Fern´
andez Rebollo
Grupo de Planificaci´
on y Aprendizaje (PLG)
Departamento de Inform´
atica
Escuela Polit´
ecnica Superior
Universidad Carlos III de Madrid
30 de septiembre de 2013
Sesiones del Curso
Introducci´on al Aprendizaje por Refuerzo
Aprendizaje por Refuerzo Reutilizaci´on de Pol´ıticas
Introducci´
on al Aprendizaje por Refuerzo
1
Procesos de Decisi´
on de Markov
2
Programaci´
on Din´
amica
Sesiones del Curso
Introducci´on al Aprendizaje por Refuerzo
Aprendizaje por Refuerzo Reutilizaci´on de Pol´ıticas
Introducci´
on al Aprendizaje por Refuerzo
1
Procesos de Decisi´
on de Markov
2
Programaci´
on Din´
amica
Sesiones del Curso
Introducci´on al Aprendizaje por Refuerzo
Aprendizaje por Refuerzo
Reutilizaci´on de Pol´ıticas
Aprendizaje por Refuerzo
3
Aprendizaje por Refuerzo
4
Generalizaci´
on en Aprendizaje por Refuerzo
5
Aplicaciones del Aprendizaje por Refuerzo
Sesiones del Curso
Introducci´on al Aprendizaje por Refuerzo
Aprendizaje por Refuerzo
Reutilizaci´on de Pol´ıticas
Aprendizaje por Refuerzo
3
Aprendizaje por Refuerzo
4
Generalizaci´
on en Aprendizaje por Refuerzo
5
Aplicaciones del Aprendizaje por Refuerzo
Sesiones del Curso
Introducci´on al Aprendizaje por Refuerzo
Aprendizaje por Refuerzo
Reutilizaci´on de Pol´ıticas
Aprendizaje por Refuerzo
3
Aprendizaje por Refuerzo
4
Generalizaci´
on en Aprendizaje por Refuerzo
5
Aplicaciones del Aprendizaje por Refuerzo
Sesiones del Curso
Introducci´on al Aprendizaje por Refuerzo Aprendizaje por Refuerzo
Reutilizaci´on de Pol´ıticas
Reutilizaci´
on de Pol´ıticas
6
Reutilizaci´
on de Pol´ıticas
Procesos de Decisi´on de Markov Programaci´on Din´amica
Parte I
Introducci´
on al Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov Programaci´on Din´amica
Procesos de Decisi´
on de Markov
Aprendizaje por Refuerzo
M´
aster en Ciencia y Tecnolog´ıa Inform´
atica
Fernando Fern´
andez Rebollo
Grupo de Planificaci´
on y Aprendizaje (PLG)
Departamento de Inform´
atica
Escuela Polit´
ecnica Superior
Universidad Carlos III de Madrid
30 de septiembre de 2013
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo Procesos de Decisi´on de Markov
En Esta Secci´
on:
1
Procesos de Decisi´
on de Markov
Definici´
on de Aprendizaje por Refuerzo
Procesos de Decisi´
on de Markov
Definici´
on de un MDP
Pol´ıticas y Optimalidad
2
Programaci´
on Din´
amica
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Aprendizaje por Refuerzo
El aprendizaje por refuerzo consiste en aprender a decidir,
ante una situaci´
on determinada, qu´
e acci´
on es la m´
as
adecuada para lograr un objetivo.
Elementos principales:
Proceso iterativo de prueba y error
Aprendizaje a trav´
es de se˜
nales de refuerzo
(s)
Agente
π
Entorno
R(s,a)
a
s
s’
r
r
T(s,a)
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
M´
etodos de Resoluci´
on
Si se conoce el modelo (funciones de transici´
on de estado y
refuerzo): Programaci´
on Din´
amica
Si no se conoce el modelo:
Aprender el modelo: m´
etodos basados en el modelo o
Programaci´
on Din´
amica
Aprender las funciones de valor directamente: m´
etodos libres
de modelo o Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Definici´
on de un MDP
Un MDP se define como una tupla
<
S
,
A
,
T
,
R
>
, tal que:
S
es un conjunto de estados
A
un conjunto de acciones
T
:
S × A → P
(
S
), donde un miembro de
P
(
S
) es una
distribuci´
on de probabilidad sobre el conjunto
S
; es decir,
transforma estados en probabilidades. Se dice que
T
(
s
,
a
,
s
0
) es
la probabilidad de que se realice una transici´
on desde
s
hasta
s
0
ejecutando la acci´
on
a
R
:
SxA → <
, que para cada par estado-acci´
on proporciona
su refuerzo. Se dice que
R
(
s
,
a
) es el refuerzo recibido tras
ejecutar la acci´
on
a
desde el estado
s
.
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Ejemplo de MDP Determinista
La ejecuci´
on de una acci´
on desde un estado siempre produce la
misma transici´
on de estado y el mismo refuerzo/coste
s
1
s
2
s
3
s 4
a
1
a
1
a
2
a
3
a
3
a
2
a
2
si
s
1s
2s
3s
4T
(
s
1,
a
1
,
si
)
0
1
0
0
T
(
s
1,
a
2
,
si
)
0
0
1
0
T
(
s
1,
a
3
,
si
)
1
0
0
0
T
(
s
2,
a
1
,
s
i)
1
0
0
0
T
(
s
2,
a
2
,
si
)
0
0
0
1
T
(
s
2,
a
3
,
si
)
0
1
0
0
T
(
s
3,
a
1
,
si
)
0
0
1
0
T
(
s
3,
a
2
,
si
)
0
1
0
0
T
(
s
3,
a
3
,
s
i)
0
0
0
1
T
(
s
4,
a
1
,
si
)
0
0
0
1
T
(
s
4,
a
2
,
si
)
0
0
0
1
T
(
s
4,
a
3
,
si
)
0
0
0
1
R
(
si
,
a
,
s
4)
=
1 si
si
=
{
1
,
2
,
3
}
.
R
(
si
,
a
,
sj
) = 0 e.c.o.c.
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Ejemplo de MDP Estoc´
astico
Las transiciones de estado y la funci´
on de refuerzo son funciones
estoc´
asticas, por lo que la misma situaci´
on puede producir distintos
resultados
s
1s
2s
3s4
a
1/0,9
a
1/0,9
a
1/0,1
a
2/1
a
1/0,1
a
3/0,5
a
2/1
a
3/0,5
si
s
1s
2s
3s
4T
(
s
1,
a
1
,
si
)
0,1
0,9
0
0
T
(
s
1,
a
2
,
si
)
0
0
1
0
T
(
s
1,
a
3
,
si
)
1
0
0
0
T
(
s
2,
a
1
,
si
)
0,9
0
0,1
0
T
(
s
2,
a
2
,
si
)
0
0
0
1
T
(
s
2,
a
3
,
si
)
0
1
0
0
T
(
s
3,
a
1
,
si
)
0
0
1
0
T
(
s
3,
a
2
,
s
i)
0
0
1
0
T
(
s
3,
a
3
,
si
)
0
0
0,5
0,5
T
(
s
4,
a
1
,
si
)
0
0
0
1
T
(
s
4,
a
2
,
si
)
0
0
0
1
T
(
s
4,
a
3
,
si
)
0
0
0
1
R
(
si
,
a
,
s
4)
=
1 si
si
=
{
1
,
2
,
3
}
.
R
(
si
,
a
,
sj
) = 0 e.c.o.c.
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Propiedad de Markov
Propiedad de Markov:
El estado anterior y la ´
ultima acci´
on realizada son suficientes
para describir el estado actual y el refuerzo recibido
Pr
{
s
t
+1
=
s
0
,
r
t
+1
=
r
|
s
t
,
a
t
}
=
Pr
{
st
+1
=
s
0
,
rt
+1
=
r
|
st
,
at
,
rt
,
st
−
1
,
at
−
1
, . . . ,
r
1
,
s
0
,
a
0
,
}
Consecuencia: la acci´
on a ejecutar s´
olo depende del estado
actual
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Pol´ıticas y Optimalidad
Objetivo de planificaci´
on:
Encontrar una pol´ıtica,
π
, que para cada estado
s
∈
S
, decida
cu´
al es la acci´
on,
a
∈
A
, que debe ser ejecutada, de forma que
se maximice alguna medida de refuerzo a largo plazo.
Criterio de optimalidad de horizonte infinito descontado:
∞
X
k
=0
γ
k
rk
(1)
donde 0
≤
γ
≤
1
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Funciones de Valor y Pol´ıticas
El c´
alculo de las pol´ıticas ´
optimas,
π
∗
(
s
), se basa en las
funciones de valor:
Funci´
on de valor-estado (dada una pol´ıtica
π
):
V
π
(
s
) =
E
π
{
∞
X
k
=0
γ
k
rt
+
k
+1
|
st
=
s
}
Funci´
on de valor-acci´
on (dada una pol´ıtica
π
):
Q
π
(
s
,
a
) =
E
π
{
∞
X
k
=0
γ
k
rt
+
k
+1
|
st
=
s
,
at
=
a
}
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Funciones de Valor ´
Optimas
Funci´
on de valor-estado ´
optima:
V
∗
(
s
) = m´
ax
π
V
π
(
s
)
∀
s
∈ S
Funci´
on de valor-acci´
on ´
optima:
Q
∗
(
s
,
a
) = m´
ax
π
Q
π
(
s
,
a
)
∀
s
∈ S
,
∀
a
∈ A
Relaci´
on entre las funciones de valor ´
optimas:
V
∗
(
s
) = m´
ax
a
∈A
Q
∗
(
s
,
a
)
,
∀
s
∈ A
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Funciones de Valor ´
Optimas
Definici´
on de una pol´ıtica ´
optima,
π
∗
(
s
), en funci´
on de
Q
∗
(
s
,
a
):
π
∗
(
s
) = arg
a
∈A
m´
ax
Q
∗
(
s
,
a
)
Ecuaciones de optimalidad de Bellman:
Q
∗
(
s
,
a
) =
X
s
0T
(
s
,
a
,
s
0
)[
R
(
s
,
a
) +
γ
V
∗
(
s
0
))]
Q
∗
(
s
,
a
) =
X
s
0T
(
s
,
a
,
s
0
)[
R
(
s
,
a
) +
γ
m´
ax
a
0Q
∗
(
s
0
,
a
0
))]
V
∗
(
s
) = m´
ax
a
∈A
X
s
0T
(
s
,
a
,
s
0
)[
R
(
s
,
a
) +
γ
V
∗
(
s
0
)]
Procesos de Decisi´on de Markov
Programaci´on Din´amica
Definici´on de Aprendizaje por Refuerzo
Procesos de Decisi´on de Markov
Ejemplo
s
1s
2s
3s4
a
1/0,9
a
1/0,9
a
1/0,1
a
2/1
a
1/0,1
a
3/0,5
a
2/1
a
3/0,5
Q
∗
(
s
4
,
a
i
) =
0
Q
∗
(
s
2
,
a
2
) =
T
(
s
2
,
a
2
,
s
1
)[
R
(
s
2
,
a
2
,
s
1
) +
γ
m´
ax
a
0Q
∗
(
s
1
,
a
0
)]+
T
(
s
2
,
a
2
,
s
2
)[
R
(
s
2
,
a
2
,
s
2
) +
γ
m´
ax
a
0Q
∗
(
s
2
,
a
0
)]+
T
(
s
2
,
a
2
,
s
3
)[
R
(
s
2
,
a
2
,
s
3
) +
γ
m´
ax
a
0Q
∗
(
s
3
,
a
0
)]+
T
(
s
2
,
a
2
,
s
4
)[
R
(
s
2
,
a
2
,
s
4
) +
γ
m´
ax
a
0Q
∗
(
s
4
,
a
0
)]
1 +
γ
×
0 = 1
Q
∗
(
s
2
,
a
1
) =
¿?
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica
En Esta Secci´
on:
1
Procesos de Decisi´
on de Markov
2
Programaci´
on Din´
amica
Programaci´
on Din´
amica
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica
Programaci´
on Din´
amica
Algoritmos utilizados para calcular pol´ıticas ´
optimas,
asumiendo un modelo perfecto del entorno descrito como un
MDP.
Algoritmos cl´
asicos:
Iteraci´
on sobre la pol´ıtica (
Policy Iteration
)
Iteraci´
on sobre el valor (
Value Iteration
)
Sistema de Markov: Puede verse como una simplificaci´
on del
MDP, en el que se ha fijado una pol´ıtica (ya no hay decisiones)
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica
Sistema de Markov
El problema de la hormiga amenazada
http://sociedad.elpais.com/sociedad/2011/03/25/videos/1301007601 870215.html
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica
Evaluaci´
on de la Pol´ıtica
(equivale a resolver el sistema de Markov resultante)
Recibir la pol´ıtica
π
a evaluar
Inicializar
V
(
s
) = 0
,
∀
s
∈ S
Repetir
∆
←
0
Para cada
s
∈
S
1
v
←
V
(
s
)
2V
(
s
)
←
P
s0
T
(
s
, π
(
s
)
,
s
0)[
R
(
s
, π
(
s
)) +
γ
V
(
s
0)]
3
∆
←
max
(∆
,
|
v
−
V
(
s
)
|
)
Hasta que ∆
< θ
(un n´
umero positivo entero)
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica
Ejemplo: Evaluaci´
on de la Pol´ıtica
Suponemos que la pol´ıtica inicial es:
π
(
s
1
) =
a
1
,
π
(
s
2
) =
a
2
,
π
(
s
3
) =
a
3
y
π
(
s
4
) =
a
1
s1 s2
s3
s 4 a1/0,9
a1/0,9 a1/0,1
a2/1
a1/0,1
a3/0,5
a2/1
a3/0,5
s1 s2
s3
s 4 a1/0,9
a1/0,1
a3/0,5
a2/1
a3/0,5
MDP
→
Sistema de Markov
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica
Ejemplo: Evaluaci´
on de la Pol´ıtica
V
(
s
1) =
T
(
s
1,
a
1,
s
1)[
R
(
s
1,
a
1,
s
1) +
γ
V
(
s
1)] +
T
(
s
1,
a
1,
s
2)[
R
(
s
1,
a
1,
s
2) +
γ
V
(
s
2)]+
T
(
s
1,
a
1,
s
3)[
R
(
s
1,
a
1,
s
3) +
γ
V
(
s
3)] +
T
(
s
1,
a
1,
s
4)[
R
(
s
1,
a
1,
s
4) +
γ
V
(
s
4)] =
0
,
1[0 + 0] + 0
,
9[0 + 0] + 0
,
0[0 + 0] + 0
,
0[0 + 0] = 0
V
(
s
2) =
T
(
s
2,
a
2,
s
1)[
R
(
s
2,
a
2,
s
1) +
γ
V
(
s
1)] +
T
(
s
2,
a
2,
s
2)[
R
(
s
2,
a
2,
s
2) +
γ
V
(
s
2)]+
T
(
s
2,
a
2,
s
3)[
R
(
s
2,
a
2,
s
3) +
γ
V
(
s
3)] +
T
(
s
2,
a
2,
s
4)[
R
(
s
2,
a
2,
s
4) +
γ
V
(
s
4)] =
0[0 + 0] + 0[0 + 0] + 0[0 + 0] + 1[1 + 0] = 1
V
(
s
3) =
T
(
s
3,
a
3,
s
1)[
R
(
s
3,
a
3,
s
1)) +
γ
V
(
s
1)] +
T
(
s
3,
a
3,
s
2)[
R
(
s
3,
a
3,
s
2) +
γ
V
(
s
2)]+
T
(
s
3,
a
3,
s
3)[
R
(
s
3,
a
3,
s
3) +
γ
V
(
s
3)] +
T
(
s
3,
a
3,
s
4)[
R
(
s
3,
a
3,
s
4) +
γ
V
(
s
4)] =
0[0 + 0] + 0[0 + 0] + 0
,
5[0 + 0] + 0
,
5[1 + 0] = 0
,
5
V
(
s
4) = 0
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica
Ejemplo: Evaluaci´
on de la Pol´ıtica
Iter. 1
Iter. 2
Iter. 3
Iter. 4
V
(
s
1
)
0
0,9
0,99
0,999
V
(
s
2
)
1
1
1
1
V
(
s
3
)
0,5
0,75
0,875
0,937
V
(
s
4
)
0
0
0
0
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica
Mejora de la Pol´ıtica
Recibir la pol´ıtica a mejorar
π
Recibir la funci´
on de valor
V
(
s
) de la pol´ıtica
π
pol
´
ı
tica estable
←
cierto
Para cada
s
∈
S
b
←
π
(
s
)
π
(
s
)
←
arg m´
ax
a
P
s
0T
(
s
,
a
,
s
0
)[
R
(
s
,
a
) +
γ
V
(
s
0
)]
Si
b
6
=
π
(
s
), entonces
pol
´
ı
tica estable
←
falso
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica
Ejemplo: Mejora de la Pol´ıtica
π
(
s
3
) = arg
a
im´
ax(
P
s
0T
(
s
3
,
a
i
,
s
0
)[
R
(
s
3
,
a
i
,
s
0
) +
γ
V
(
s
0
)] =
arg
a
i
m´
ax(
P
s
0T
(
s
3
,
a
1
,
s
0
)[
R
(
s
3
,
a
1
,
s
0
) +
γ
V
(
s
0
)]
,
P
s
0T
(
s
3
,
a
2
,
s
0
)[
R
(
s
3
,
a
2
,
s
0
) +
γ
V
(
s
0
)]
,
T
(
s
3
,
a
3
,
s
1
)[
R
(
s
3
,
a
3
,
s
1
)) +
γ
V
(
s
1
)]+
T
(
s
3
,
a
3
,
s
2
)[
R
(
s
3
,
a
3
,
s
2
) +
γ
V
(
s
2
)]+
T
(
s
3
,
a
3
,
s
3
)[
R
(
s
3
,
a
3
,
s
3
) +
γ
V
(
s
3
)]+
T
(
s
3
,
a
3
,
s
4
)[
R
(
s
3
,
a
3
,
s
4
) +
γ
V
(
s
4
)]) =
arg
a
im´
ax(0 + 0 + 1[0 +
γ
0
0
937] + 0
,
0 + 0 + 1[0 +
γ
0
0
937] + 0
,
0[0 + 0
0
999] + 0[0 + 1] + 0
0
5[0 + 0
0
937] + 0
0
5[1 + 0]) =
arg
a
im´
ax(0
0
843
,
0
,
843
,
0
0
968) =
a
3
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica
Algoritmo de Iteraci´
on de la Pol´ıtica
Permite calcular la funci´
on de valor ´
optima de un MDP:
Inicializaci´
on:
V
(
s
)
∈ <
y
π
(
s
)
∈ A
arbitrarios para todo
s
∈ S
Repetir
1
Evaluaci´
on de la Pol´ıtica
2Mejora de la Pol´ıtica
Hasta que
pol
´
ı
tica estable
=
cierto
Procesos de Decisi´on de Markov
Programaci´on Din´amica Programaci´on Din´amica