Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din...

34
Sesiones del Curso Aprendizaje por Refuerzo 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 Fernando Fern´ andez Rebollo Aprendizaje por Refuerzo

Transcript of Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din...

Page 1: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Sesiones del Curso

Aprendizaje por RefuerzoMaster en Ciencia y Tecnologıa Informatica

Fernando Fernandez Rebollo

Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior

Universidad Carlos III de Madrid

30 de septiembre de 2013

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 2: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Sesiones del CursoIntroduccion al Aprendizaje por RefuerzoAprendizaje por RefuerzoReutilizacion de Polıticas

En Esta Seccion:

Introduccion al Aprendizaje por RefuerzoAprendizaje por RefuerzoReutilizacion de Polıticas

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 3: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Sesiones del CursoIntroduccion al Aprendizaje por RefuerzoAprendizaje por RefuerzoReutilizacion de Polıticas

Resumen de las Sesiones de Aprendizaje por Refuerzo

Aprendizaje por RefuerzoMaster en Ciencia y Tecnologıa Informatica

Fernando Fernandez Rebollo

Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior

Universidad Carlos III de Madrid

30 de septiembre de 2013Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 4: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Sesiones del CursoIntroduccion al Aprendizaje por RefuerzoAprendizaje por RefuerzoReutilizacion de Polıticas

Introduccion al Aprendizaje por Refuerzo

1 Procesos de Decision de Markov

2 Programacion Dinamica

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 5: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Sesiones del CursoIntroduccion al Aprendizaje por RefuerzoAprendizaje por RefuerzoReutilizacion de Polıticas

Introduccion al Aprendizaje por Refuerzo

1 Procesos de Decision de Markov

2 Programacion Dinamica

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 6: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Sesiones del CursoIntroduccion al Aprendizaje por RefuerzoAprendizaje por RefuerzoReutilizacion de Polıticas

Aprendizaje por Refuerzo

3 Aprendizaje por Refuerzo

4 Generalizacion en Aprendizaje por Refuerzo

5 Aplicaciones del Aprendizaje por Refuerzo

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 7: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Sesiones del CursoIntroduccion al Aprendizaje por RefuerzoAprendizaje por RefuerzoReutilizacion de Polıticas

Aprendizaje por Refuerzo

3 Aprendizaje por Refuerzo

4 Generalizacion en Aprendizaje por Refuerzo

5 Aplicaciones del Aprendizaje por Refuerzo

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 8: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Sesiones del CursoIntroduccion al Aprendizaje por RefuerzoAprendizaje por RefuerzoReutilizacion de Polıticas

Aprendizaje por Refuerzo

3 Aprendizaje por Refuerzo

4 Generalizacion en Aprendizaje por Refuerzo

5 Aplicaciones del Aprendizaje por Refuerzo

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 9: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Sesiones del CursoIntroduccion al Aprendizaje por RefuerzoAprendizaje por RefuerzoReutilizacion de Polıticas

Reutilizacion de Polıticas

6 Reutilizacion de Polıticas

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 10: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Parte I

Introduccion al Aprendizaje por Refuerzo

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 11: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Procesos de Decision de Markov

Aprendizaje por RefuerzoMaster en Ciencia y Tecnologıa Informatica

Fernando Fernandez Rebollo

Grupo de Planificacion y Aprendizaje (PLG)Departamento de InformaticaEscuela Politecnica Superior

Universidad Carlos III de Madrid

30 de septiembre de 2013Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 12: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

En Esta Seccion:

1 Procesos de Decision de MarkovDefinicion de Aprendizaje por Refuerzo

Procesos de Decision de MarkovDefinicion de un MDPPolıticas y Optimalidad

2 Programacion Dinamica

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 13: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Aprendizaje por Refuerzo

El aprendizaje por refuerzo consiste en aprender a decidir,ante una situacion determinada, que accion es la masadecuada para lograr un objetivo.

Elementos principales:

Proceso iterativo de prueba y errorAprendizaje a traves de senales de refuerzo

(s)Agente

π

Entorno

R(s,a)a

s

s’

r

r

T(s,a)

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 14: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Metodos de Resolucion

Si se conoce el modelo (funciones de transicion de estado yrefuerzo): Programacion Dinamica

Si no se conoce el modelo:

Aprender el modelo: metodos basados en el modelo oProgramacion DinamicaAprender las funciones de valor directamente: metodos libresde modelo o Aprendizaje por Refuerzo

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 15: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Definicion de un MDP

Un MDP se define como una tupla < S,A, T ,R >, tal que:

S es un conjunto de estadosA un conjunto de accionesT : S ×A → P(S), donde un miembro de P(S) es unadistribucion de probabilidad sobre el conjunto S; es decir,transforma estados en probabilidades. Se dice que T (s, a, s ′) esla probabilidad de que se realice una transicion desde s hastas ′ ejecutando la accion aR : SxA → <, que para cada par estado-accion proporcionasu refuerzo. Se dice que R(s, a) es el refuerzo recibido trasejecutar la accion a desde el estado s.

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 16: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Ejemplo de MDP Determinista

La ejecucion de una accion desde un estado siempre produce lamisma transicion de estado y el mismo refuerzo/coste

s 1s 2

s 3

s4

a1

a1

a2

a3

a3

a2

a2

sis1 s2 s3 s4

T (s1, a1, si ) 0 1 0 0T (s1, a2, si ) 0 0 1 0T (s1, a3, si ) 1 0 0 0T (s2, a1, si ) 1 0 0 0T (s2, a2, si ) 0 0 0 1T (s2, a3, si ) 0 1 0 0T (s3, a1, si ) 0 0 1 0T (s3, a2, si ) 0 1 0 0T (s3, a3, si ) 0 0 0 1T (s4, a1, si ) 0 0 0 1T (s4, a2, si ) 0 0 0 1T (s4, a3, si ) 0 0 0 1

R(si , a, s4) = 1 si si = {1, 2, 3}.R(si , a, sj ) = 0 e.c.o.c.

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 17: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Ejemplo de MDP Estocastico

Las transiciones de estado y la funcion de refuerzo son funcionesestocasticas, por lo que la misma situacion puede producir distintosresultados

s1s2

s3

s4

a1/0,9

a1/0,9a1/0,1

a2/1

a1/0,1

a3/0,5

a2/1

a3/0,5

sis1 s2 s3 s4

T (s1, a1, si ) 0,1 0,9 0 0T (s1, a2, si ) 0 0 1 0T (s1, a3, si ) 1 0 0 0T (s2, a1, si ) 0,9 0 0,1 0T (s2, a2, si ) 0 0 0 1T (s2, a3, si ) 0 1 0 0T (s3, a1, si ) 0 0 1 0T (s3, a2, si ) 0 0 1 0T (s3, a3, si ) 0 0 0,5 0,5T (s4, a1, si ) 0 0 0 1T (s4, a2, si ) 0 0 0 1T (s4, a3, si ) 0 0 0 1

R(si , a, s4) = 1 si si = {1, 2, 3}.R(si , a, sj ) = 0 e.c.o.c.Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 18: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Propiedad de Markov

Propiedad de Markov:El estado anterior y la ultima accion realizada son suficientespara describir el estado actual y el refuerzo recibido

Pr{st+1 = s ′, rt+1 = r |st , at} =Pr{st+1 = s ′, rt+1 = r |st , at , rt , st−1, at−1, . . . , r1, s0, a0, }

Consecuencia: la accion a ejecutar solo depende del estadoactual

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 19: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Polıticas y Optimalidad

Objetivo de planificacion:

Encontrar una polıtica, π, que para cada estado s ∈ S , decidacual es la accion, a ∈ A, que debe ser ejecutada, de forma quese maximice alguna medida de refuerzo a largo plazo.

Criterio de optimalidad de horizonte infinito descontado:

∞∑k=0

γk rk (1)

donde 0 ≤ γ ≤ 1

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 20: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Funciones de Valor y Polıticas

El calculo de las polıticas optimas, π∗(s), se basa en lasfunciones de valor:

Funcion de valor-estado (dada una polıtica π):

V π(s) = Eπ{∞∑k=0

γk rt+k+1|st = s}

Funcion de valor-accion (dada una polıtica π):

Qπ(s, a) = Eπ{∞∑k=0

γk rt+k+1|st = s, at = a}

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 21: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Funciones de Valor Optimas

Funcion de valor-estado optima:

V ∗(s) = maxπ

V π(s)∀s ∈ S

Funcion de valor-accion optima:

Q∗(s, a) = maxπ

Qπ(s, a)∀s ∈ S, ∀a ∈ A

Relacion entre las funciones de valor optimas:

V ∗(s) = maxa∈A

Q∗(s, a), ∀s ∈ A

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 22: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Funciones de Valor Optimas

Definicion de una polıtica optima, π∗(s), en funcion deQ∗(s, a):

π∗(s) = arga∈Amax Q∗(s, a)

Ecuaciones de optimalidad de Bellman:

Q∗(s, a) =∑s′

T (s, a, s ′)[R(s, a) + γV ∗(s ′))]

Q∗(s, a) =∑s′

T (s, a, s ′)[R(s, a) + γmaxa′

Q∗(s ′, a′))]

V ∗(s) = maxa∈A

∑s′

T (s, a, s ′)[R(s, a) + γV ∗(s ′)]

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 23: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Definicion de Aprendizaje por RefuerzoProcesos de Decision de Markov

Ejemplo

s1s2

s3

s4

a1/0,9

a1/0,9a1/0,1

a2/1

a1/0,1

a3/0,5

a2/1

a3/0,5

Q∗(s4, ai ) = 0Q∗(s2, a2) = T (s2, a2, s1)[R(s2, a2, s1) + γmaxa′ Q∗(s1, a

′)]+T (s2, a2, s2)[R(s2, a2, s2) + γmaxa′ Q∗(s2, a

′)]+T (s2, a2, s3)[R(s2, a2, s3) + γmaxa′ Q∗(s3, a

′)]+T (s2, a2, s4)[R(s2, a2, s4) + γmaxa′ Q∗(s4, a

′)]1 + γ × 0 = 1

Q∗(s2, a1) = ¿?

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 24: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

En Esta Seccion:

1 Procesos de Decision de Markov

2 Programacion DinamicaProgramacion Dinamica

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 25: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

Programacion Dinamica

Algoritmos utilizados para calcular polıticas optimas,asumiendo un modelo perfecto del entorno descrito como unMDP.

Algoritmos clasicos:

Iteracion sobre la polıtica (Policy Iteration)Iteracion sobre el valor (Value Iteration)

Sistema de Markov: Puede verse como una simplificacion delMDP, en el que se ha fijado una polıtica (ya no hay decisiones)

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 26: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

Sistema de Markov

El problema de la hormiga amenazada

http://sociedad.elpais.com/sociedad/2011/03/25/videos/1301007601 870215.html

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 27: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

Evaluacion de la Polıtica

(equivale a resolver el sistema de Markov resultante)

Recibir la polıtica π a evaluar

Inicializar V (s) = 0,∀s ∈ SRepetir

∆← 0Para cada s ∈ S

1 v ← V (s)2 V (s)←

∑s′ T (s, π(s), s ′)[R(s, π(s)) + γV (s ′)]

3 ∆← max(∆, |v − V (s)|)

Hasta que ∆ < θ (un numero positivo entero)

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 28: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

Ejemplo: Evaluacion de la Polıtica

Suponemos que la polıtica inicial es: π(s1) = a1, π(s2) = a2,π(s3) = a3 y π(s4) = a1

s 1s 2

s 3

s4

a1/0,9

a1/0,9a1/0,1

a2/1

a1/0,1

a3/0,5

a2/1

a3/0,5

s 1s 2

s 3

s4

a1/0,9

a1/0,1

a3/0,5

a2/1

a3/0,5

MDP → Sistema de Markov

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 29: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

Ejemplo: Evaluacion de la Polıtica

V (s1) = T (s1, a1, s1)[R(s1, a1, s1) + γV (s1)] + T (s1, a1, s2)[R(s1, a1, s2) + γV (s2)]+T (s1, a1, s3)[R(s1, a1, s3) + γV (s3)] + T (s1, a1, s4)[R(s1, a1, s4) + γV (s4)] =

0, 1[0 + 0] + 0, 9[0 + 0] + 0, 0[0 + 0] + 0, 0[0 + 0] = 0

V (s2) = T (s2, a2, s1)[R(s2, a2, s1) + γV (s1)] + T (s2, a2, s2)[R(s2, a2, s2) + γV (s2)]+T (s2, a2, s3)[R(s2, a2, s3) + γV (s3)] + T (s2, a2, s4)[R(s2, a2, s4) + γV (s4)] =

0[0 + 0] + 0[0 + 0] + 0[0 + 0] + 1[1 + 0] = 1

V (s3) = T (s3, a3, s1)[R(s3, a3, s1)) + γV (s1)] + T (s3, a3, s2)[R(s3, a3, s2) + γV (s2)]+T (s3, a3, s3)[R(s3, a3, s3) + γV (s3)] + T (s3, a3, s4)[R(s3, a3, s4) + γV (s4)] =

0[0 + 0] + 0[0 + 0] + 0, 5[0 + 0] + 0, 5[1 + 0] = 0, 5

V (s4) = 0

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 30: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

Ejemplo: Evaluacion de la Polıtica

Iter. 1 Iter. 2 Iter. 3 Iter. 4V (s1) 0 0,9 0,99 0,999V (s2) 1 1 1 1V (s3) 0,5 0,75 0,875 0,937V (s4) 0 0 0 0

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 31: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

Mejora de la Polıtica

Recibir la polıtica a mejorar π

Recibir la funcion de valor V (s) de la polıtica π

pol ıtica estable ← cierto

Para cada s ∈ S

b ← π(s)π(s)← arg maxa

∑s′ T (s, a, s ′)[R(s, a) + γV (s ′)]

Si b 6= π(s), entonces pol ıtica estable ← falso

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 32: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

Ejemplo: Mejora de la Polıtica

π(s3) = argai max(∑

s′ T (s3, ai , s′)[R(s3, ai , s

′) + γV (s ′)] =argai max(

∑s′ T (s3, a1, s

′)[R(s3, a1, s′) + γV (s ′)],∑

s′ T (s3, a2, s′)[R(s3, a2, s

′) + γV (s ′)],T (s3, a3, s1)[R(s3, a3, s1)) + γV (s1)]+T (s3, a3, s2)[R(s3, a3, s2) + γV (s2)]+T (s3, a3, s3)[R(s3, a3, s3) + γV (s3)]+T (s3, a3, s4)[R(s3, a3, s4) + γV (s4)]) =

argai max(0 + 0 + 1[0 + γ0′937] + 0,0 + 0 + 1[0 + γ0′937] + 0,

0[0 + 0′999] + 0[0 + 1] + 0′5[0 + 0′937] + 0′5[1 + 0]) =argai max(0′843, 0, 843, 0′968) = a3

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 33: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

Algoritmo de Iteracion de la Polıtica

Permite calcular la funcion de valor optima de un MDP:

Inicializacion: V (s) ∈ < y π(s) ∈ A arbitrarios para todos ∈ SRepetir

1 Evaluacion de la Polıtica2 Mejora de la Polıtica

Hasta que pol ıtica estable = cierto

Fernando Fernandez Rebollo Aprendizaje por Refuerzo

Page 34: Aprendizaje por Refuerzoocw.uc3m.es/ingenieria-informatica/programacion... · 2 Programaci on Din amica Fernando Fern andez Rebollo Aprendizaje por Refuerzo. Procesos de Decisi on

Procesos de Decision de MarkovProgramacion Dinamica

Programacion Dinamica

Algoritmo de Iteracion de Valor

Iteracion de Valor

Inicializar V (s) arbitrariamente. Por ejemplo, V (s) = 0,∀s ∈ S

Repetir

∆← 0Para todo s ∈ S

v ← V (s)V (s)← maxa

∑s′ T (s, a, s ′)[R(s, a) + γV (s ′)]

∆← max(∆, |v − V (s)|)

Hasta que ∆ < θ (un numero positivo entero)

Dar como salida una polıtica π tal queπ(s) = arg maxa

∑s′ T (s, a, s ′)[R(s, a) + γV (s ′)]

Fernando Fernandez Rebollo Aprendizaje por Refuerzo