43
Aprendizaje por Refuerzo en Rob´otica Aut´onoma Javier de Lope 26 de mayo de 2008 $Id: rlearning.tex,v 1.1 2008-04-30 08:51:14 jdlope Exp $

Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Aprendizaje por Refuerzo en Robotica Autonoma

Javier de Lope

26 de mayo de 2008

$Id: rlearning.tex,v 1.1 2008-04-30 08:51:14 jdlope Exp $

Page 2: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Contenido

Aprendizaje, Aprendizaje Automatico y Robots.

Aprendizaje por Refuerzo.

Elementos del Aprendizaje por Refuerzo.

Objetivos y Recompensas.

Exploracion vs. Explotacion.

Algoritmos.

Ejemplos.

Resumen y Comentarios Finales.

Bibliografıa.

2/43

Page 3: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Aprendizaje

Aprendizaje es el proceso de adquirir conocimientos, habilidades, actitudes o valores a travesdel estudio, la experiencia o la ensenanza (Wikipedia).

Todo el mundo esta de acuerdo en que es una de las caracterısticas de la inteligencia, ya seahumana o artificial.

Utilizar una solucion que incorpore aprendizaje es apropiado cuando no se dispone de unconocimiento completo del entorno cuando se esta disenando la solucion.

Mediante el aprendizaje se proporciona autonomıa a los sistemas que estemos construyendo.

3/43

Page 4: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

¿Que puede aprender un robot?

Un robot puede aprender sobre sı mismo.Sobre el funcionamiento de sus sensores, sobre la precision de sus actuadores, sobre que com-portamiento tiende a seguir a lo largo del tiempo, etc.

Un robot puede aprender sobre su entorno.Puede crear un mapa del entorno, puede aprender caminos que le lleven a metas (ej. en unlaberinto), puede aprender que zonas son peligrosas, etc.

Un robot tambien puede aprender de otros robots.Cuantos robots hay en su zona, que tipos de robots son, como tienden a comportarse, etc.

4/43

Page 5: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

¿Por que deberıa aprender un robot?

El aprendizaje puede permitir que el robot realice mejor su tarea.Esto es importante ya que los controladores de los robots no son perfectos.

El aprendizaje puede ayudar a que el robot se adapte a los cambios en suentorno o tarea.No es sencillo construir programas que se adapten a los cambios si no pueden ser anticipadospor el programador.

El aprendizaje puede simplificar el trabajo de programacion del robot.Algunas cosas son demasiado difıciles o demasiado tediosas de programar a mano y el robotpuede aprenderlas por sı solo.

5/43

Page 6: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Subcampos de Aprendizaje Automatico

Russell y Norvig definen cuatro subcampos de aprendizaje:

• Aprendizaje mediante ejemplos (inductivo, ID3, . . .).

• Redes de neuronal artificiales.

• Metodos estadısticos (bayesianos, evolutivos, . . .).

• Aprendizaje por refuerzo.

S. Russell, P. Norvig (1995) Artificial Intelligence: A Modern Approach, Prentice Hall, New Jersey (2nd Edition 2002).

6/43

Page 7: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Aprendizaje por Refuerzo

El aprendizaje por refuerzo es un tipo de aprendizaje que permite que los agentes aprendana partir de la realimentacion que reciben desde el entorno.

La idea basica esta inspirada en la propia naturaleza, en la forma en la que personas yanimales aprenden (conductivismo).

El aprendizaje por refuerzo se basa en probar diferentes cosas y ver que ocurre:

• Si las cosas van bien, tendemos a aplicar de nuevo ese comportamiento.

• Si las cosas van mal, tendemos a evitarlo.

Podemos usar estas ideas para que, por ejemplo, un robot aprenda a crear un controladorpara no tener que programarlo.

7/43

Page 8: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Aprendizaje por Refuerzo

Basicamente, un controlador de un robot asocia estados con acciones:

• Los estados vienen determinados por la informacion sensorial que adquiere del entorno.

• Las acciones dependen de los actuadores de que disponga el robot.

• El control une la informacion sensorial y las acciones que el robot puede llevar a cabo.

Con el aprendizaje por refuerzo, el robot prueba las diferentes acciones que tiene a su dispo-sicion en todos los estados en los que se encuentre y va registrando que ocurre.

Sensores

Control Sistema+_

e u yr

ŷ

8/43

Page 9: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Aprendizaje por Refuerzo

Aprendizaje por refuerzo implica adquirir o incorporar nuevo conocimiento o habilidades paramejorar el rendimiento de un agente interactuando con el entorno que le rodea.

La base consiste en aprender que hacer, es decir, como asociar situaciones con acciones,maximizando una senal de recompensa numerica.

En este caso, no se le indica al agente que acciones tomar como en otras tecnicas de aprendi-zaje automatico, el agente debe descubrir con que acciones obtiene mas recompensa medianteensayo y error.

Con algunas acciones se obtienen recompensas inmediatas pero lo mas interesante y represen-tativo de estas tecnicas es que hay acciones que permiten obtener recompensas retardadas.

9/43

Page 10: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Aprendizaje por Refuerzo

El aprendizaje por refuerzo no se caracteriza por el tipo de metodos de aprendizaje sino porel tiempo de problemas de aprendizaje.

Cualquier metodo que resuelva el problema puede ser considerado como un metodo de apren-dizaje por refuerzo.

Podemos encontrarnos con problemas que puedan ser descompuestos en episodios en los quela tarea consiste llegar a un estado terminal.

Si ese estado terminal no puede definirse, estaremos tratando con tareas continuas o noepisodicas.

El aprendizaje por refuerzo no es supervisado.

Los metodos de aprendizaje supervisado aprenden de ejemplos proporcionados por un super-visor externo.

En aprendizaje por refuerzo el problema no se divide en subproblemas como en otros metodosde resolucion de problemas.

El problema se considera como un “todo” y el agente interactua con el entorno para resolverlo.

10/43

Page 11: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Aprendizaje por Refuerzo vs. Metodos Evolutivos

Tambien pueden utilizarse metodos evolutivos tales como algoritmos geneticos, programaciongenetica, etc. para resolver problemas de aprendizaje por refuerzo.

Estos metodos buscan directamente en el espacio de polıticas sin usar funciones de valor.

Son metodos evolutivos porque su operacion es analoga a la forma en la que se producela evolucion biologica en los organismos que van teniendo mas aptitudes incluso sin que elindividuo aprenda nada a lo largo de su vida.

Si el espacio de polıticas es suficientemente pequeno o si puede estructurarse de forma quelas polıticas buenas sean faciles de encontrar, los metodos evolutivos pueden llegar a serefectivos.

Los metodos evolutivos tienen ventajas en problemas en los que el agente no puede percibirel estado del entorno con precision.

Aprendizaje por refuerzo implica aprender mientras que se interactua con el entorno, lo cualno ocurre con los metodos evolutivos.

El aprendizaje por refuerzo es apropiado para aprendizaje on-line, los metodos evolutivos–salvo aproximaciones– no lo admiten.

D. Maravall, J. de Lope, J.A. Martın (2007) Combining the Best of the Two Worlds: Inheritance versus Experience, Nature InspiredProblem-Solving Methods in Knowledge Engineering, LNCS 4528, Springer Berlin/Heidelberg, pp. 337–346.

11/43

Page 12: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Elementos del Aprendizaje por Refuerzo

Ademas del propio agente y el entorno, podemos identificar hasta cuatro elementos principalesmas en los sistemas de aprendizaje por refuerzo:

• La polıtica de control.

• La funcion de recompensa.

• La funcion de valor.

• Opcionalmente, un modelo del entorno.

12/43

Page 13: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Polıtica de Control

La polıtica de control define la forma en la que se comporta el agente en cada momento.

Es una correspondencia entre los estados del entorno en los que se puede encontrar o puedepercibir el agente y las acciones que pueden tomarse en esos estados.

Puede asemejarse a lo que en Psicologıa se conoce como reglas o asociaciones de estımulos–respuesta.

En ocasiones la polıtica puede ser una simple funcion o una tabla, en otras puede ser necesariomucha potencia de computo (por ejemplo, casos en los que esten involucrados procesos debusqueda).

La polıtica es el nucleo del aprendizaje por refuerzo en el sentido en el que ella sola essuficiente para determinar el comportamiento del agente.

13/43

Page 14: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Polıtica de Control

Sensor I Sensor F Sensor D Accion Valor-Qoff off off izquierda 0.4off off off recto 0.2off off off derecha 0.9off off on izquierda 0.0off off on recto 1.0off off on derecha 0.3off on off izquierda 0.1off on off recto 0.2off on off derecha 0.7off on on izquierda 0.8off on on recto 1.0off on on derecha 0.5. . . . . . . . . . . . . . .on on on izquierda 0.3on on on recto 0.0on on on derecha 0.6

14/43

Page 15: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Funcion de Recompensa

Define el objetivo en un problema de aprendizaje por refuerzo.

Establece una correspondencia entre cada estado del entorno (o par estado–accion) y unnumero, una recompensa que indica la deseabilidad de ese estado.

El unico objetivo del agente durante el proceso de aprendizaje es maximizar la recompensatotal que recibe durante toda la ejecucion.

La funcion de recompensa define que eventos son buenos y que eventos son malos para elagente, siendo la unica vıa de la que disponemos para indicarlo.

En sistemas biologicos, la recompensa podrıa identificarse con placer y dolor.

Obviamente, la funcion es externa al agente y no puede ser alterada por el.

15/43

Page 16: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Funcion de Valor

Como alternativa a una polıtica, el agente podrıa aprender tambien una funcion que indiquecuan bueno es cada estado con respecto del objetivo.

La funcion de recompensa dice que es bueno en un sentido inmediato, la funcion de valorindica que es bueno a lo largo de toda la ejecucion.

El valor de un estado es la cantidad total de recompensa que un agente puede esperaracumular en el futuro empezando desde ese estado.

Una analogıa podrıa ser considerar que las recompesas son como placer o dolor que recibimosen un momento dado, mientras que los valores corresponden a un jucio mas refinado sobresi el entorno es placentero o no en un estado determinado.

Las recompensas la da el entorno, los valores deben ser estimados a partir de las secuenciasde observaciones que un agente hace a lo largo de toda la ejecucion.

16/43

Page 17: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Modelo del Entorno

El modelo es algo que imita o emula el comportamiento del entorno.

Por ejemplo, dado un estado y una accion, el modelo podrıa predecir el resultado del siguienteestado y de la siguiente recompensa.

Los modelos se usan para planificacion ya que podemos decidir que accion realizar conside-rando posibles situaciones futuras antes de que se hayan producido realmente.

La introduccion de modelos es relativamente reciente.

Inicialmente los sistemas estaban basados en ensayo y error que se pueden considerar comoel extremo opuesto de un sistema que planifica.

17/43

Page 18: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Formalizacion del Problema

El aprendizaje por refuerzo es un tipo de aprendizaje que permite aprender a partir de lainteraccion que se produce para lograr un objetivo.

El sistema que aprende lo denominaremos agente o controlador. Con lo que se interactua,todo lo que no es el agente, se llama entorno, sistema controlado o planta.

La interaccion es continua: el agente selecciona acciones y el entorno responde a esas accionespresentando nuevas situaciones al agente.

El entorno tambien genera recompensas, valores numericos que el agente trata de maximizara lo largo del tiempo.

Agente

Entorno

acciónat

recompensart

estadost

st+1

rt+1

18/43

Page 19: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Formalizacion del Problema

El agente y el entorno interactuan en instantes de tiempo discretos t = 0, 1, 2, 3, . . . (aunquese puede extender al caso continuo).

En cada instante t, el agente recibe alguna representacion del estado del entorno st ∈ S,donde S es el conjunto de los posibles estados.

A partir de eso, selecciona una accion at ∈ A(st), donde A(st) es el conjunto de accionesdisponibles desde el estado st.

Un instante mas tarde, en parte como consecuencia de la accion, el agente recibe una re-compensa numerica rt+1 ∈ R y pasa a un nuevo estado st+1.

Agente

Entorno

acciónat

recompensart

estadost

st+1

rt+1

19/43

Page 20: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Formalizacion del Problema

En cada instante, el agente actualiza una correspondencia entre estados y probabilidades deseleccion de cada posible accion.

Esta asociacion se denomina polıtica y se denota πt, donde πt(s, a) es la probabilidad de queat = a si st = s.

Los metodos de refuerzo especifican como debe cambiar la polıtica el agente como resultadode su experiencia.

El objetivo del agente es maximizar la cantidad total de recompensa que obtiene durante elproceso.

Agente

Entorno

acciónat

recompensart

estadost

st+1

rt+1

20/43

Page 21: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Procesos de Decision de Markov (MDP)

Se asume que:

Conjunto finito de estados S.

Conjunto de acciones A.

En cada instante t el agente se encuentra en un estado st ∈ S y elige una accion at ∈ A.

Entonces, recibe una recompensa inmediata rt.

Y cambia su estado a st+1 ∈ S.

Hipotesis de Markov: st+1 = δ(st, at) y rt = ρ(st, at).

• rt y st+1 dependen solo del estado y de la accion actuales.

• Las funciones δ y ρ pueden ser no deterministas.

• Las funciones δ y ρ no tienen que tener conocimiento del agente necesariamente.

21/43

Page 22: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Objetivos y Recompensas

El objetivo del agente se formaliza en terminos de la recompensa que recibe desde el entorno.

En cada paso, la recompensa es un valor numerico rt ∈ R.

El agente debe maximizar la cantidad total de recompensa que obtiene durante el proceso,no la recompensa inmediata.

Algunos ejemplos de uso de recompensas:

• En laberintos se puede dar una recompensa igual a 0 hasta que llega a la salida que sehace +1.

• O tambien se puede dar una recompensa de −1 hasta que llega a la salida para hacerque el robot salga mas rapidamente.

• En juegos se pueden dar recompensas de +1 cuando el agente gane la partida, −1 cuandopierda y 0 cuando empate o haga tablas.

• Para hacer que un robot aprenda a andar se le puede dar una recompensa que seaproporcional a la cantidad de espacio que avanza hacia delante (no binaria).

Hay que recompensar lo que queremos que aprenda el agente (¿que?).

La recompensa no es el mecanismo para indicar conocimiento a priori al agente (¿como?).

Por ejemplo, en ajedrez hay que recompensar si gana, no si logra subobjetivos (captura depiezas, cuestiones tacticas, etc.) ya que podrıamos confundir al agente.

22/43

Page 23: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Tasa de Descuento (γ)

Se ha repetido varias veces que el agente debe maximizar la cantidad total de recompensaque obtiene durante el proceso.

En el instante t la recompensa total o acumulada en el caso que consideremos o nos encon-tremos ante una tarea episodica sera:

Rt = rt+1 + rt+2 + rt+3 + . . . + rT

donde T representa el instante final y sT ∈ S es el estado terminal.

Cuando estamos ante tareas continuas, es decir, cuando no puede determinarse un estadoterminal y nos interesa que el agente aprenda constantemente del entorno (T →∞):

Rt = rt+1 + γrt+2 + γ2rt+3 + . . . =

∞∑k=0

γkrt+k+1

donde γ es la tasa de descuento (0 ≤ γ ≤ 1).

La tasa de descuento determina el peso de las recompensas futuras en el instante actual.

• Si γ = 0, solo se tienen en cuenta las recompensas inmediatas (solo maximizara rt+1).

• Segun γ se aproxime a 1, las recompensas futuras cobran mas valor.

23/43

Page 24: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Exploracion vs. Explotacion

En aprendizaje automatico, el proceso de ir probando todas las posibles combinaciones deestados y acciones se denomina exploracion.

La exploracion es importante ya que hasta que el robot no haya probado todas las accionesposibles para ese estado, no se puede asegurar que se haya encontrado la mejor accion.

Normalmente no basta con probar todas las combinaciones ya que:

• Se han podido producir errores en el aprendizaje, por ejemplo, por errores en las medidasde los sensores.

• El entorno o la tarea a realizar por el robot ha cambiado mientras que el robot estabaaprendiendo por lo que puede que lo aprendido no sea valido.

Por eso es importante que el robot siga probando lo que ha aprendido (y no solo en aprendizajepor refuerzo, con cualquier tecnica de aprendizaje).

Es decir, el robot tiene que seguir explorando en lugar de solo explotar lo que ha aprendido.

En aprendizaje, el proceso de usar lo aprendido se conoce como explotacion.

24

Page 25: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Seleccion de Acciones (ε-greedy)

El problema de la selecion de la accion a realizar se puede complicar si no damos opcion aque el agente explore el entorno lo suficiente y se dedique a explotar el conocimiento que haadquirido.

Probablemente, la alternativa mas usada para la seleccion de la accion at ∈ A a realizar enestado st ∈ S es la que se conoce como ε-greedy.

Se basa en tomar la accion usando el conocimiento adquirido durante la mayor parte deltiempo y de vez en cuando (digamos, con una probabilidad pequena ε) seleccionar unaaccion de forma aleatoria.

Esto puede formalizarse:

• Con probabilidad ε ⇒ at ← random(a) ∈ A(st)

• En caso contrario ⇒ at ← arg maxaQ(st, a)

Es habitual que ε se vaya disminuyendo con el paso del tiempo de forma que al final todaslas acciones se tomen a partir del conocimiento adquirido.

25/43

Page 26: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Seleccion de Acciones (softmax)

Un inconveniente de la seleccion de acciones mediante ε-greedy es que cuando explora, eligeigualmente entre todas las acciones.

Puede ocurrir que elija la peor accion de todas las posibles desde ese estado y para ciertosproblemas esto puede resultar no demasiado apropiado.

En el metodo de seleccion softmax, la mejor accion para ese estado tiene la mayor probabilidadde ser elegida y la seleccion del resto se realiza a partir de una ponderacion basada en elvalor de cada una de las acciones.

La probabilidad de seleccion de la accion a en el instante t puede venir determinada por ladistribucion de Gibbs:

eQt(a)/τ∑nb=1 e

Qt(b)/τ

donde τ es la temperatura (τ > 0).

Con temperaturas altas, las acciones son (o tienden a ser) equiprobables.

Con temperaturas bajas, las acciones con valores mas altos tienden a ser seleccionadas frentea las que tienen valores mas bajos.

Cuando τ → 0 se selecciona la mejor accion.

26/43

Page 27: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Sarsa

Inicializar la tabla Q(s, a) arbitrariamente

Repetir (para cada episodio):

• Inicializar el estado s

• Elegir a desde s usando la polıtica derivada de Q (p.ej. ε-greedy)

• Repetir (para cada paso en el episodio):

◦ Realizar la accion a, observar r′ y s′

◦ Elegir a′ desde s′ usando la polıtica derivada de Q (p.ej. ε-greedy)◦ Q(s, a)← Q(s, a) + α [r′ + γQ(s′, a′)−Q(s, a)]

◦ s← s′; a← a′

hasta que s sea terminal

G.A. Rummery, M. Niranjan (1994) On-line Q-learning Using Connectionist Systems, Technical Report CUED/F-INFENG/TR 166,Engineering Department, Cambridge University.

27/43

Page 28: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

On-policy vs. Off-policy

Uno de los grandes problemas en este tipo de metodos es mantener la suficiente exploracion.

Si siempre seleccionamos la mejor accion desde un estado no podremos saber que resultadosse pueden llegar a obtener desde las otras alternativas y nunca se sabra si son mejores.

Una aproximacion se basa en ignorar el problema comenzado cada episodio con pares estado–accion seleccionados de forma aleatoria con lo que se llegarıa a cubrir todas las posibilidades.

Esta posibilidad solo es factible si se simulan los episodios pero no si se quiere aprender dela experiencia real.

Los metodos on-policy fuerzan a que el agente siempre explore, tratando de encontrar lamejor polıtica.

En los metodos off-policy el agente tambien explora pero aprende una polıtica optima deter-minıstica que puede que no este relacionada con la polıtica seguida.

La caracterıstica principal de los metodos on-policy es que estiman el valor de una polıticamientras que la usan para el control; los metodos off-policy estas dos funciones estan sepa-radas y la polıtica que se usa para estimar el valor puede ser determinıstica mientras que sesiguen explorando las acciones en la polıtica que genera el comportamiento.

Sarsa es on-policy ; Q-learning es off-policy.

28/43

Page 29: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Q-learning

Inicializar la tabla Q(s, a) arbitrariamente

Repetir (para cada episodio):

• Inicializar el estado s

• Repetir (para cada paso en el episodio):

◦ Elegir a desde s usando la polıtica derivada de Q (p.ej. ε-greedy)◦ Realizar la accion a, observar r′ y s′

◦ Q(s, a)← Q(s, a) + α [r′ + γmaxa′ Q(s′, a′)−Q(s, a)]

◦ s← s′

hasta que s sea terminal

C. Watkins (1989) Learning from Delayed Rewards, Ph.D. Thesis Dissertation, Cambridge University.C. Watkins, P. Dayan (1992) Q-learning, Machine Learning, 8(3-4):279–292.

29/43

Page 30: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Gridworld

S G

Problema con estados discretos en el que unrobot tiene que alcanzar una casilla objetivo.

Acciones discretas: ↑, ↓, ←, →.

Y tambien: ↗, ↘, ↙, ↖.

Algunas “columnas” tienen perturbacionesde viento que hacen que el robot se despla-ce una o mas casillas hacia arriba ademas dela que se le indica con la accion (no esta per-mitido salir del mundo).

Recompensa: 0 si el estado es la casilla des-tino, −1 en cualquier otro caso.

α = 0,1, ε = 0,2, γ = 1,0.

30/43

Page 31: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Gridworld (Sarsa)

0 500 1000 1500 20000

500

1000

1500

2000

2500

Longitud de camino por episodio

Episodio Estado Final Long. ε0 [7, 3] 2295 0.1981 [7, 3] 309 0.1962 [7, 3] 456 0.1943 [7, 3] 150 0.1924 [7, 3] 463 0.1905 [7, 3] 165 0.1886 [7, 3] 393 0.1867 [7, 3] 223 0.1848 [7, 3] 382 0.1829 [7, 3] 138 0.180. . . . . . . . . . . .181 [7, 3] 24 0.032. . . . . . . . . . . .307 [7, 3] 21 0.009. . . . . . . . . . . .485 [7, 3] 15 0.001

31/43

Page 32: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Gridworld (Q-learning)

0 500 1000 1500 20000

500

1000

1500

2000

2500

Longitud de camino por episodio

Episodio Estado Final Long. ε0 [7, 3] 1885 0.1981 [7, 3] 797 0.1962 [7, 3] 301 0.1943 [7, 3] 652 0.1924 [7, 3] 301 0.1905 [7, 3] 99 0.1886 [7, 3] 246 0.1867 [7, 3] 305 0.1848 [7, 3] 331 0.1829 [7, 3] 341 0.180. . . . . . . . . . . .188 [7, 3] 27 0.029. . . . . . . . . . . .315 [7, 3] 29 0.008. . . . . . . . . . . .620 [7, 3] 15 0.000

32/43

Page 33: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Pendulo Invertido

θ

x

Mantener el pendulo vertical, limitando elespacio que se tiene para maniobrar el carri-to.

Variables de control: θ, θ, x, x.

162 estados discretizados mediante Boxes.

Acciones: +|~F |, −|~F | en el carrito.

Recompensa: cos(θ) si se mantiene estable,−100 si se sale de la zona de maniobra osi θ sobrepasa un determinado umbral.

α = 0,3, ε = 0,01, γ = 1,0.

D. Michie, R.A. Chambers (1968) Boxes: An experiment in adaptative control, Machine Intelligence 2, (E. Dale, D. Michie, eds.),Oliver & Boyd, Edinburgh, pp. 137–152.

33/43

Page 34: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Pendulo Invertido (Sarsa)

0 100 200 300 400 500

0

1000

2000

3000

4000

5000

Recompensa total por episodio

Episodio Pasos Recompensa ε0 6 -95 0.0091 6 -95 0.0092 6 -95 0.0093 18 -83 0.0094 30 -71 0.0095 29 -72 0.0096 5000 4999 0.0097 5000 4999 0.0098 1316 1214 0.0099 46 -55 0.009. . . . . . . . . . . .165 881 779 0.001. . . . . . . . . . . .347 5000 4999 0.000. . . . . . . . . . . .427 5000 4999 0.000

34/43

Page 35: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Ir a Objetivo

Aprender a que el robot se dirija a una meta(odometrıa, sonar, vision).

Variables de control: Orientacion a la meta.

3, 5 y 7 estados.

3, 5 y 7 acciones.

Recompensa: proporcional a la orientacional objetivo y alta negativa si se pierde (y setermina el episodio).

35/43

Page 36: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Seguir a Robot

Una vez que el sistema ha aprendido el com-portamiento de Ir a Objetivo podemos hacerque vaya a un objetivo movil.

De esta forma, se obtiene un nuevo compor-tamiento Seguir a Robot.

36/43

Page 37: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Ir en Formacion

Estados: Se usan los sensores laterales para averiguar si el robot contiguo esta adelantado,atrasado o en lınea. Para n robots, con n > 1 tendremos 3n−1 estados.

Acciones: Cada robot puede ir hacia delante y parar. (Inicialmente se considero tambien irhacia atras.)

Recompensa: +3 cuando se llega a una posicion en la que esten todos alineados, −1 si nolo estan, y una recompensa negativa alta si se separan mucho.

37/43

Page 38: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Ir en Formacion

Estados: Se usan los sensores laterales para averiguar si el robot contiguo esta adelantado,atrasado o en lınea. Para n robots, con n > 1 tendremos 3n−1 estados.

Acciones: Cada robot puede ir hacia delante y parar. (Inicialmente se considero tambien irhacia atras.)

Recompensa: +3 cuando se llega a una posicion en la que esten todos alineados, −1 si nolo estan, y una recompensa negativa alta si se separan mucho.

38/43

Page 39: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Resumen

Es importante introducir aprendizaje en los programas de control de robots.

El aprendizaje por refuerzo es un tipo de aprendizaje que permite que los agentes aprendana partir de la realimentacion que reciben desde el entorno.

La forma de “controlar” el aprendizaje es mediante la recompensa que recibe el agente desdeel entorno.

El objetivo del agente es maximizar la cantidad total de recompensa que obtiene durante elproceso, no la recompensa inmediata.

Un problema importante es el de la valoracion de la exploracion y la explotacion para deter-minar cuando se sale de una fase para entrar en la otra.

39/43

Page 40: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Mitos del Aprendizaje por Refuerzo

El aprendizaje por refuerzo no es apropiado para grandes espacios de estados.Es cierto que los problemas de aprendizaje por refuerzo con grandes espacios de estados pue-den ser difıciles de resolver si no se usan los algoritmos o metodos apropiados. Normalmentetienen que ver con la representacion o de seleccion de metodos con lookup table.

El aprendizaje por refuerzo es lento.Normalmente suele tener que ver con un uso o seleccion inadecuada del metodo para elproblema. En ocasiones se compara la solucion que se obtiene mediante refuerzo con unasolucion a proposito de ingenierıa.

El aprendizaje por refuerzo es una lookup table.Inicialmente es cierto que todo el aprendizaje por refuerzo se basaba en tablas pero haybastantes metodos de refuerzo y aproximacion de funciones.

El aprendizaje por refuerzo es Q-learning.Obviamente esto no es cierto. Si bien el Q-learning puede ser el algoritmo mas conocido,existen un gran numero de ellos: Actor-Critic, TD, Dyna, Sarsa, etc.

40/43

Page 41: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Exitos del Aprendizaje por Refuerzo

Juegos

• Backgammon.G. Tesauro (1995) Temporal difference learning and TD-Gammon, Comm. ACM, 38(3):58–68.

• Ajedrez por computadora.J. Baxter, A. Tridgell, L. Weaver (1997) KnightCap: A chess program that learns by combining TD(lambda) with minimax

search, Proc. 15th Int. Conf. on Machine Learning, pp. 28–36.

Robotica y Control

• Control del gait de robots cuadrupedos.N. Kohl, P. Stone (2004) Policy gradient reinforcement learning for fast quadrupedal locomotion, Proc. IEEE Int. Conf. on

Robotics and Automation, pp. 2619–2624.

• Coordinacion de movimientos de humanoides con vision.D.C. Bentivegna et al. (2002) Humanoid robot learning and game playing using PC-based vision, Proc. IEEE/RSJ Int.

Conf. on Intelligent Robots and Systems, Vol. 3, pp. 2449–2454.

• Control de helicopteros.A.Y. Ng et al. (2006) Autonomous inverted helicopter flight via reinforcement learning, Experimental Robotics IX, Springer

Tracts in Advanced Robotics 26, Springer, Berlin/Heidelberg, pp. 363–372.

41/43

Page 42: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Exitos del Aprendizaje por Refuerzo

Sistemas Financieros

• Negociacion.J. Moody, M. Saffell (2001) Learning to Trade via Direct Reinforcement, IEEE Transactions on Neural Networks, 12(4).

Simulacion

• Futbol entre robots.P. Stone, R.S. Sutton (2001) Scaling Reinforcement Learning toward RoboCup Soccer, Proc. 18th Int. Conf. on Machine

Learning, pp. 537–544.

HCI

• Sistemas de habla.S. Singh, D. Litman, M. Kearns and M. Walker (2002) Optimizing Dialogue Management with Reinforcement Learning:

Experiments with the NJFun System, J. Artificial Intelligence Research, 16:105–133.

• Agentes software.C. Isbell, C. Shelton, M. Kearns, S. Singh, and P. Stone (2002) Cobot: A Social Reinforcement Learning Agent, Proc. 14th

Neural Information Processing Systems, pp. 1393–1400.

42/43

Page 43: Aprendizaje por Refuerzo en Robótica Autónomadia.fi.upm.es/~jdlope/slides/rlearning.pdf · 2016. 2. 1. · Aprendizaje por refuerzo implica aprender mientras que se interactua con

Bibliografıa

R.S. Sutton, A.G. Barto (1998) Reinforcement Learning: An Introduction,The MIT Press, Cambridge, Massachusetts.

D.P. Bertsekas, J.N. Tsitsiklis (1996) Neuro-Dynamic Programming, AthenaScientific, Nashua, New Hampshire (3rd Edition, 2006).

Reinforcement Learning and Artificial Intelligence, Universidad de Alberta(editada por R.S. Sutton), http://rlai.cs.ualberta.ca/

R.S. Sutton, ed. (1992) Special Issue on Reinforcement Learning, MachineLearning, 8(3–4):225–395.

M.J. Mataric (1997) Reinforcement learning in the multi-robot domain,Autonomous Robots, 4(1):73–83.

43/43