Robots Autónomos y Aprendizaje por Refuerzo

(C) Farid Fleifel Tapia, 2002

Resumen

Este documento tiene dos partes diferenciadas. En primer lugar haremos una introducción a la robótica autónoma y discutiremos la necesidad de dotar a los robots de mecanismos de aprendizaje. Comenzaremos efectuando una revisión de los distintos paradigmas que históricamente se han venido empleando para la construcción de robots. Posteriormente analizaremos por qué el aprendizaje en los robots autónomos se dejó en su momento en un segundo plano y por qué está cobrando cada vez mayor importancia en la actualidad.

En la segunda parte efectuaremos una introducción al aprendizaje por refuerzo, ya que es una de las técnicas de aprendizaje más aplicadas y con más futuro en el campo de la robótica, y analizaremos las posibilidades de aplicación de este tipo de métodos de aprendizaje a los robots autónomos. Compararemos el aprendizaje por refuerzo con otros paradigmas y estudiaremos varios ejemplos de uso de estas técnicas. Finalmente comentaremos las líneas de investigación más prometedoras en este campo.

Introducción a los Robots Autónomos

En este trabajo nos ocupamos del aprendizaje en un cierto tipo de robots: aquellos que damos en llamar robots autónomos. Estos robots presentan unas características particulares que permiten que podamos aprovecharnos en gran medida de técnicas de aprendizaje para mejorar su desempeño.

Los robots autónomos son entidades físicas con capacidad de percepción sobre un entorno y que actúan sobre el mismo en base a dichas percepciones, sin supervisión directa de otros agentes.

En muchas ocasiones se asimila el término "robot autónomo" con el de "robot móvil", pero en realidad son términos diferentes. Un robot autónomo suele ser móvil, entendiendo por móvil que no se encuentra fijado a una posición y puede desplazarse por su entorno, pero no hay nada que en principio obligue a ello. A la inversa, un robot móvil no es necesariamente autónomo: existen multitud de robots móviles que son teleoperados en mayor o menor medida, con lo que contravienen nuestra definición.

Las características principales de los robots autónomos son las siguientes:

Están situados: Cuando decimos que un robot autónomo percibe un entorno y actúa sobre él, no lo hacemos a la ligera. El robot está literalmente inmerso en el entorno, esto es, el robot no actúa sobre abstracciones o modelos, sino directamente sobre la realidad material.

Son entidades corpóreas: Como hemos comentado anteriormente, los robots operan sobre el mundo físico; su experiencia del mundo y sus acciones sobre el mismo se producen de forma directa haciendo uso de sus propias capacidades físicas.

Paradigmas en la Robótica

En las ciencias de la computación y en la ingeniería frecuentemente se hace uso del término "paradigma". Resulta interesante examinar la etimología de esta palabra, así como el significado con el que se usa en la actualidad. Paradigma proviene del griego paradeigma , y su significado era originalmente "ejemplo ilustrativo". En particular se usaba para denotar un enunciado modelo que mostraba todas las inflexiones de una palabra. Sin embargo, en su famoso libro "La estructura de las revoluciones científicas" [Kuhn70], el historiador Thomas Kuhn amplió dicha definición, dándole el significado de un conjunto de teorías, estándares y métodos que juntos representan una forma de organizar el conocimiento, esto es, una forma de ver el mundo.

En la robótica esta definición se adapta mejor que en cualquier otra disciplina, ya que en este campo un paradigma es literalmente una manera de conseguir que los robots tengan una forma de ver el mundo.

Los paradigmas principales en robótica son el jerárquico, el reactivo y el híbrido. A continuación repasamos las características básicas de cada uno de estos paradigmas.

Paradigma jerárquico.

El paradigma jerárquico es el más antiguo. Históricamente tuvo su mayor influencia en las décadas de los 60 y 70. Este paradigma se basa en gran medida en una aproximación antropomórfica, bajo la cual los robots se desarrollan tomando como inspiración la manera en la que los seres humanos resuelven los problemas. Esto supone que este paradigma tiene mucho de simbólico, y se da mucha importancia a las tareas de planificación, más si cabe teniendo en cuenta que en la época en la que surgió, la aproximación simbólica a la inteligencia artificial se encontraba en su momento de mayor auge.

Este paradigma se denomina también paradigma Percepción, Planificación, Acción ó PPA, por los nombres de las tres operaciones básicas que lo componen.

La denominación de jerárquico se debe a que las tres operaciones que acabamos de mencionar se llevan a cabo siempre secuencialmente, en el orden en que las hemos nombrado, y porque cada operación toma como entrada las salidas de la operación anterior.

La percepción es clave en todo robot autónomo, ya que para poder influir sobre el entorno, es necesario que exista una manera de percibir el estado actual del mismo.

En la fase de planificación el robot decide qué acciones llevar a cabo tomando como base las percepciones recién adquiridas y sus propios objetivos. Para poder efectuar la planificación, las percepciones deberán haber sido preprocesadas y transformadas en una abstracción del entorno.

En la fase de acción se llevan a cabo las acciones de alto nivel que se seleccionaron en la fase de planificación, traduciéndolas en movimientos de los actuadores del robot.

En la época en la que se desarrolló este paradigma se consideraba que los grandes problemas que planteaban las técnicas de inteligencia artificial eran los relativos a la demostración de teoremas matemáticos, la comprensión del lenguaje natural y otras tareas formales. Estos fueron los temas fundamentales que se trataron en la conferencia de Dartmouth en el año 56. Los primeros trabajos surgidos de aquí fueron los que dieron origen a la Inteligencia Artificial tal y como la conocemos, y centraron las tareas a las que se dedicarían los investigadores en los años siguientes.

El paradigma PPA es heredero de esta filosofía, ya que en este paradigma se considera que el problema fundamental es el de la planificación de tareas en base a un razonamiento simbólico.

Posteriormente los investigadores comenzaron a darse cuenta de que las tareas realmente complejas son las relacionadas con la percepción. A principios de los años 60 se consideraba que problemas como el de la visión artificial se solucionarían definitivamente en un plazo relativamente corto. Sin embargo la práctica demostró que este tipo de tareas presentan muchas más dificultades que las que tienen que ver con el razonamiento formal.

Las tareas relacionadas con la percepción han resultado ser computacionalmente intratables, y su abstracción y transformación a símbolos no ha sido resuelta todavía.

Los problemas relativos a la planificación hicieron fracasar al paradigma PPA. Los investigadores se dieron cuenta de que para poder efectuar la planificación de la manera que se había planteado, era necesario que en la capa de percepción pudiera llevarse a cabo una complicadísima tarea de abstracción para proveer a la capa de planificación con los símbolos de alto nivel con los que ésta trabaja. Esto estaba fuera del alcance de las tecnologías de los años 60-70 y sigue siendo inviable en la actualidad. Por ello fue necesario buscar otras aproximaciones en las que no fuera imprescindible un preprocesamiento intensivo de las percepciones del robot. Así fue como surgió el paradigma reactivo.

Paradigma reactivo.

El paradigma reactivo fue la respuesta a los problemas que introducía el paradigma jerárquico. Este paradigma, que surgió en los años 80 y estuvo vigente hasta principios de los noventa, está inspirado en las ciencias cognitivas y en la biología, y como su nombre indica su manera de operar obvia la planificación y se basa en correspondencias directas entre percepción y acción. Por ello, este paradigma se denomina también paradigma Percepción Acción ó PA.

El paradigma PPA resultaba demasiado ambicioso y ponía demasiado énfasis en el razonamiento. La nueva generación de robots comenzó a tomar como inspiración una inteligencia más práctica, ligada a la acción directa a partir de las percepciones, sin un preprocesamiento intensivo de las mismas. Los científicos comenzaron a darse cuenta de que la inteligencia no está limitada ni mucho menos al razonamiento abstracto. Todo esto queda resumido en el título de un famoso artículo de Rodney Brooks, apóstol de este paradigma: "Los elefantes no juegan al ajedrez" [Brooks90].

Con esto, Brooks quiere decir que un animal, como el elefante de su ejemplo, no necesita llevar a cabo razonamientos simbólicos de alto nivel para sobrevivir en su entorno. Lo realmente imprescindible es que el animal disponga de una manera de percibir su entorno y actuar sobre el mismo reactivamente, sin llevar a cabo un razonamiento intensivo. Brooks propone la arquitectura de subsunción para implantar este tipo de comportamientos en los robots autónomos. Comentaremos esta arquitectura más adelante.

El paradigma PA presenta unos requerimientos mucho menores para las tareas de percepción, ya que al no haber planificación no resulta necesario abstraer lo percibido transformándolo en símbolos, con lo que se evita la explosión combinatoria. En lugar de ello, las percepciones son pasadas al módulo de acción con un mínimo preprocesamiento. El módulo de acción trabaja en base a estas entradas subsimbólicas y a partir de ellas genera un comportamiento. Este módulo suele dividirse en varios niveles que se encargan de tareas de distinta prioridad. La acción de "evitar obstáculos" suele ser la de mayor prioridad. Por encima de esta acción se sitúan las acciones mas abstractas, relacionadas con los objetivos finales del robot, pero que tienen menor prioridad comparadas con las acciones primarias o "actos reflejos", como el de evitar los obstáculos.

A pesar de su mayor sencillez, o precisamente debido a ella, los robots construidos empleando este paradigma sólo pueden emplearse para llevar a cabo tareas moderadamente sencillas, y que no implican razonamientos complejos.

Esto no es óbice para considerar este paradigma como todo un éxito. De hecho, algunos de los mayores éxitos de la robótica hasta el momento fueron desarrollados siguiendo el paradigma PA. Por ejemplo, el Mars Explorer, que aunque en parte era teleoperado también contaba con cierta dosis de autonomía desarrollada siguiendo el paradigma PA.

Los partidarios de este paradigma están en lo correcto cuando afirman que el razonamiento abstracto no es la prioridad en un robot autónomo, y que lo primero con lo que hay que dotarle es con cierta inteligencia práctica que le permita sobrevivir y manejarse en su entorno. Sin embargo si queremos ser más ambiciosos no podemos limitarnos a los modelos reactivos. Una vez que el robot consigue manejarse y es capaz de llevar a cabo tareas rudimentarias, una progresión natural nos lleva a intentar conseguir comportamientos más complejos. El paradigma reactivo no permite conseguir esto. Por ello resulta necesario dar un paso más y buscar una manera de conseguir ese aumento de capacidades en los robots.

Paradigma híbrido deliberativo/reactivo

El paradigma híbrido se desarrollo para tratar de conseguir este aumento de capacidades operativas de los robots autónomos y se ha venido empleando desde mediados de los años noventa hasta la actualidad.

La idea de este paradigma es llegar a un compromiso entre las tareas deliberativas y las reactivas. En este caso el robot está compuesto, por un lado, de una cadena deliberativa típica (PPA) y por otro lado de un modelo reactivo (PA).

La cadena deliberativa se encarga de llevar a cabo la planificación de alto nivel, como en el caso del modelo deliberativo tradicional. La diferencia es que se reduce el énfasis en la abstracción de las percepciones. La cadena reactiva entra en funcionamiento cuando resulta necesaria una acción inmediata para garantizar la supervivencia del robot (evitación de colisiones, por ejemplo).

Otro tipo de modelo híbrido es el llamado Planificación, Percepción - Acción. En este modelo el robot planifica cómo descomponer una tarea en subtareas y elige cuáles son los comportamientos más adecuados para cumplir con esas tareas. En ese momento dichos comportamientos empiezan a ejecutarse a través del paradigma reactivo tradicional. En este caso las percepciones también se ponen a disposición del módulo de planificación.

Qué más necesitamos

En la actualidad el paradigma más empleado es el híbrido, ya que con él conseguimos lo mejor de los mundos deliberativo y reactivo sin añadir una mayor complejidad al modelo. Sin embargo para construir un robot no podemos quedarnos al nivel de los paradigmas, puesto que son demasiado abstractos para una implementación.

Para implementar con éxito un robot debemos diseñar una arquitectura que esté basada en los principios del paradigma escogido, y programar los comportamientos deseados del robot sobre esa arquitectura. Cada una de estas tareas es lo suficientemente compleja como para dedicarle una amplia atención. Nosotros nos centraremos en la segunda de ellas, esto es, cuando tenemos una arquitectura implantada y debemos añadir los comportamientos del robot, ¿cómo podemos hacer esto?

Existen diversas metodologías y lenguajes para llevar a cabo esta implementación de comportamientos. Uno de los ejemplos más famosos históricamente es el desarrollado por Nilsson y su equipo, que diseñaron el robot Shakey, el primer robot autónomo construido. Los comportamientos de este robot estaban codificados utilizando el lenguaje Strips, creado también por el equipo de Nilsson para este proyecto. Este lenguaje se adapta muy bien a la codificación de comportamientos para robots deliberativos, aunque posteriormente también ha venido siendo aplicado en otros entornos.

Existen otras aproximaciones, como los sistemas orientados por objetivos, también llamados teleo-reactivos [Nilsson01], que se basan en conjuntos de reglas de producción que se aplican en un orden concreto. El nombre de "orientados por objetivos" se debe a que con esta arquitectura unas reglas llevan al sistema a un estado que le permite aplicar reglas de más alto nivel, que son las que conducen al robot a su objetivo final.

Este ejemplo está mucho más cercano al paradigma reactivo, ya que las reglas pueden ordenarse en base su capacidad de garantizar la supervivencia del robot, es decir, las primeras de la lista serían las que permiten que el robot no colisione con objetos cercanos, las siguientes serían las que le permiten navegar por el entorno, etc.

La importancia del aprendizaje en la Robótica

En cualquier caso, los paradigmas y arquitecturas que hemos comentado, por sí solos adolecen de la capacidad de dotar al robot con herramientas para sobrevivir en un entorno abierto y de condiciones cambiantes. Es por ello por lo que se considera de tanta importancia el poder proporcionar a los robots mecanismos de aprendizaje.

Problemas de la falta de adaptatividad

Las capacidades de aprendizaje de los robots primitivos eran nulas. El principal interés de los investigadores era imbuir a las entidades físicas que diseñaban con ciertos comportamientos que ellos mismos elegían en base a su propia experiencia. Esto presenta tres problemas fundamentales:

En primer lugar, sucede muy a menudo que los comportamientos que los desarrolladores de robots creen adecuados para una de sus creaciones se demuestran poco útiles o incluso contraproducentes al llevarlos a la práctica. Esto se debe a que en algunos casos la única manera de elaborar estos comportamientos es en base a simulaciones y a posteriores refinamientos de dichas simulaciones. En otros casos los comportamientos del robot se obtienen a partir de modelos matemáticos, típicamente métodos de ingeniería de control, con los que ocurre algo parecido al llevarlos a la práctica: el modelo matemático no se ajusta totalmente a lo esperado debido a factores no tenidos en cuenta. En cualquiera de los dos casos se termina dotando al robot con una serie de reglas y parámetros ad-hoc, que no surgen realmente de un conocimiento profundo del propio robot y su entorno, sino que se obtienen en base a múltiples pruebas de ensayo y error.

El segundo problema es la falta de capacidad de adaptación de un robot diseñado de esta forma. Un robot sin capacidades de aprendizaje puede funcionar adecuadamente en un entorno controlado, pero al enfrentarse a un entorno cambiante, las acciones que antes eran adecuadas pueden convertirse en inútiles.

El tercer problema consiste en la dificultad de optimizar el consumo de energia y los movimientos del robot. La optimización del consumo de energía y la economización de movimientos pueden calcularse de manera teórica, empleando los mismos métodos que ya hemos comentado. Sin embargo, por las mismas razones esgrimidas antes, es más que improbable que los cálculos teóricos se ajusten a la perfección a las características particulares del robot. Si el robot tuviese la capacidad de calcular su propio consumo y aprender cuáles son las acciones que consiguen reducir dicho consumo al mínimo para cumplir un cierto objetivo, esto podría suponer grandes ahorros en tiempo y energía en la vida útil del robot.

Estos problemas que acabamos de describir podrían solucionarse satisfactoriamente proporcionando a los robots capacidades de aprendizaje. En concreto, las técnicas de aprendizaje por refuerzo nos pueden ayudar a solucionar cada uno de estos tres problemas.

Aproximaciones simbólicas vs subsimbólicas

A mi entender existen varios problemas en las arquitecturas subsimbólicas, como la de subsunción. Desde estas páginas no vamos a defender una aproximación simbólica pura a la robótica o a la IA, sobre todo teniendo en cuenta los fracasos por los que ha pasado y los éxitos que están cosechando en la actualidad las diferentes aproximaciones subsimbólicas, como por ejemplo las redes neuronales. En todo caso, si buscamos conseguir en los robots una inteligencia remotamente comparable a la humana, algo de simbolismo siempre va a ser necesario. Quizás dicho simbolismo pueda surgir de manera emergente de un sustrato subsimbólico, o por medio de mecanismos de operacionalización, pero posiblemente hagan falta otros elementos.

Después de todo, resulta un hecho probado que a ciertos niveles los seres humanos operamos con símbolos, y que para poder llegar a un nivel de inteligencia y de razonamiento elevados es necesario contar con la aproximación simbólica, sobre todo si en algún momento se plantea la necesidad de la comunicación entre varios agentes. Una comunicación de este tipo necesita de manera imprescindible que exista un lenguaje simbólico compartido entre los diferentes agentes.

La principal objeción que podemos presentar a las arquitecturas tradicionales es la falta total de mecanismos de aprendizaje y, debido a ello la necesidad de incluir reglas y mecanismos muy específicos. Además, únicamente con esto no podemos generar comportamiento inteligente ni adaptación, más allá de lo programado en el robot, como ya hemos comentado.

Esto es independiente del paradigma empleado. Brooks critica la IA tradicional y en concreto el paradigma PPA, por el hecho de que los desarrolladores de robots tienen que imbuir a sus creaciones con grandes cantidades de conocimiento simbólico que no está "asentado" en la realidad física, y porque esto supone que deben contemplarse muchos casos particulares y reglas ad-hoc. Sin embargo en el caso de su arquitectura de subsunción, basada en el paradigma PA, también existen estos casos particulares y reglas ad-hoc. La diferencia es que en la aproximación de Brooks dichas reglas no están basadas en manipulación de símbolos, sino en una cierta manera de interactuar entre sí de las distintas capas de su arquitectura. El diseño que hace Brooks no es a nivel simbólico, pero sigue siendo un diseño para casos particulares, a menos que se añadan capacidades de aprendizaje.

Si quisiéramos construir un robot con inteligencia generalista, empleando la arquitectura de subsunción tendríamos que hacer algo similar a lo que habría que hacer en las aplicaciones de IA simbólica tradicional: Elaborar un grandísimo conjunto de reglas e incorporarlas a nuestro robot, lo cual no es viable.

Probablemente ninguna de las aproximaciones actuales es correcta, y más aún, ni siquiera podemos decir que "una mezcla de las dos" sea suficiente para solucionar este tipo de problemas.

Consideramos que se hace necesario elaborar un paradigma distinto, centrado sobre todo en el aprendizaje, y más concretamente, en el aprendizaje y la creación de símbolos a partir de entradas sub-simbólicas.

Existen nuevas aproximaciones en diferentes campos que podrían servir de inspiración para buscar este nuevo paradigma. Por ejemplo, Marvin Minsky lleva años abogando por una nueva teoría de la mente, descrita en su libro "Society of mind" [Minsky88], título también de uno de sus cursos en el MIT. Dicha teoría tiene como objetivo explicar el funcionamiento de la mente humana y del sentido común, y para ello subdivide la mente misma en un conjunto de agentes que cooperan entre sí. Esta teoría llevada a la práctica podría conducirnos algo más cerca del objetivo de lograr robots verdaderamente autónomos.

Actualmente se está generando un gran interés en el campo de la robótica adaptativa, basada fundamentalmente en aproximaciones biológicas y en el aprendizaje. Probablemente esta aproximación nos permita avanzar algo más y acercarnos a nuestra meta.


Aprendizaje por refuerzo

En el resto de este documento vamos a analizar un método concreto que permite a los robots autónomos aprender de su propio entorno, y además, aprender mientras se encuentran inmersos en dicho entorno. Este método se denomina aprendizaje por refuerzo y ha tenido un importante auge en los últimos años.

Este método de aprendizaje surge por un lado y conceptualmente, de una rama de estudios de psicología experimental, que pueden remontarse a las experiencias de Pavlov con el refuerzo condicionado, y por otro lado es heredero de los métodos de control óptimo que se originan a partir de los trabajos de Bellman [Bellman57a], [Bellman57b].

Dicho de forma breve, el aprendizaje por refuerzo es el problema de conseguir que un agente actúe en un entorno de manera que maximice la recompensa que obtiene por sus acciones.

Para entender esta definición, hay que definir a su vez los términos agente, entorno y recompensa.

Agente

El término agente es uno de los más empleados en la actualidad en el mundo de la informática. Incluso a lo largo de este documento lo hemos empleado en varias ocasiones. Existen múltiples definiciones para este término. Para nuestros intereses vamos a escoger por su claridad y concisión la de Pattie Maes [Maes95]. Según esta definición, un agente es un sistema computacional que habita en un entorno complejo y dinámico, con la capacidad de percibir y actuar autónomamente sobre dicho entorno, y de esta manera es capaz de cumplir un conjunto de objetivos o llevar a cabo ciertas tareas para las cuales fue diseñado.

Entorno

Por correspondencia con la anterior definición, podemos definir el entorno como todo aquello que no es el agente y que es de interés para llevar a cabo la tarea que se le ha asignado a dicho agente. Los agentes siempre se encuentran "situados" en un entorno, del que reciben sus percepciones y sobre el que ejecutan sus acciones.

El que los entornos sean complejos y dinámicos, como se decía en la definición anterior puede suponer que al efectuar una misma acción en el mismo estado en dos ocasiones distintas obtengamos consecuencias diferentes cada vez.

De la manera que hemos definido el entorno, como "todo lo que no es el agente", debemos tener en cuenta que en el entorno podría incluir a otros agentes.

Una particularidad de los entornos complejos es que en muchas ocasiones los agentes no tienen la capacidad de percibir completamente dicho entorno, y esto puede añadir muchas dificultades a la hora de llevar a cabo ciertas tareas, como veremos más adelante.

Recompensa

La recompensa es un valor escalar que indica lo deseable que es una situación para un agente. La recompensa puede tomar valores tanto positivos como negativos. Fisiológicamente podría compararse un valor de recompensa negativo con el dolor y un valor positivo con el placer.

Cada vez que el agente ejecuta una acción, recibe un valor de recompensa. Estas recompensas no tienen por qué estar asociadas directamente con la última acción ejecutada, sino que pueden ser consecuencia de acciones anteriores llevadas a cabo por el agente.

No es sencillo efectuar una correspondencia directa entre acciones y recompensa obtenida. Es posible que la misma acción llevada a cabo en dos momentos diferentes devuelva una recompensa muy distinta debido a la "historia" previa. Por ello, no podremos saber de manera directa a qué acción concreta se deben los buenos o malos resultados obtenidos por un robot. Esto es una versión del clásico problema de la asignación de crédito.

La suma de la recompensa se denomina "retorno". El objetivo final del aprendizaje por refuerzo es conseguir un agente que maximice el retorno a largo plazo.

El interfaz agente - entorno.

Con todo esto, podemos comprender mucho mejor la definición anterior de aprendizaje por refuerzo. Para profundizar en esta definición y en el problema al que nos enfrentamos podemos pasar a estudiar el interfaz agente-entorno.

El agente y el entorno interactúan en una secuencia de instantes de tiempo fórmulaEn cada instante de tiempo t , el agente recibe una representación del estado del entorno fórmula, donde S es el conjunto de posibles estados. En base a esto, el agente selecciona una acción fórmula, donde fórmulaes el conjunto de acciones disponibles en el estado fórmula. En el instante de tiempo posterior, y en parte como consecuencia de la acción llevada a cabo, el agente recibe una recompensa numérica, fórmula, y pasa a estar en un nuevo estado, fórmula

En cada momento de tiempo el agente lleva a cabo un mapeo entre las representaciones de los estados y las probabilidades de seleccionar cada una de las acciones posibles. Llamamos a este mapeo la política del agente, y la denotamos por fórmula, donde fórmulaes la probabilidad de que fórmulasi fórmula. Los distintos métodos de aprendizaje por refuerzo especifican de qué manera cambia el agente su política como resultado de la experiencia que va adquiriendo enfrentándose al entorno. El objetivo del agente, expresado sucintamente, es maximizar a largo plazo la suma de las recompensas que obtiene.

 

Interfaz agente-entorno

 

Figura 1. El interfaz agente-entorno.

Como mencionan Sutton y Barto [Sutton98], lo mejor de este marco de trabajo es que es extremadamente flexible, lo que permite que sea aplicado a muchos problemas diferentes de maneras muy distintas. En lo referente a nuestra discusión anterior sobre los problemas de la abstracción y las diferencias entre las aproximaciones simbólicas y subsimbólicas, tenemos que decir que con este marco las acciones pueden ser tanto controles directos, por ejemplo los voltajes aplicados a los motores del brazo de un robot, como decisiones de mayor nivel, por ejemplo escoger entre la ruta 1 y la ruta 2. De manera similar, los estados pueden obtenerse de una gran variedad de formas. Pueden estar completamente determinados por percepciones de bajo nivel, como las lecturas directas sobre los sensores, o pueden ser más abstractas y de mayor nivel, como las descripciones simbólicas de los objetos de una habitación, tal y como se pretendían obtener en los inicios de la robótica autónoma.

También existe una gran flexibilidad en la manera de diseñar los estados: Un estado puede consistir en las percepciones directas recibidas en el momento actual, o puede estar compuesto en parte por datos almacenados de percepciones anteriores. Incluso podrían existir estados completamente "mentales".

Procesos de Markov

Como hemos comentado, un estado no tiene por qué estar compuesto únicamente de las percepciones en el momento actual. Es más, la mayoría de las veces resulta más que conveniente que los estados contengan información acerca de la historia de percepciones llevadas a cabo.

Por otro lado, no suele ser posible que la información del estado contenga una representación completa del entorno. Los entornos complejos en los que estamos interesados no se pueden modelizar de manera sencilla.

Idealmente, lo que nos gustaría tener es una señal de estado que contuviera la información completa de las percepciones pasadas de una manera compacta, de modo que no se perdiera información. Una señal de este tipo se denomina Markoviana, o se dice de ella que tiene la propiedad de Markov.

Para que el aprendizaje por refuerzo funcione resulta muy importante contar con modelos que cumplan o que se aproximen al ideal Markoviano, ya que en el aprendizaje por refuerzo las decisiones se toman en base al último estado disponible.

Procesos de decisión de Markov (MDP)

Una tarea de aprendizaje por refuerzo que satisface la propiedad de Markov se denomina "Proceso de decisión de Markov", ó MDP. Siguiendo uno de estos procesos de decisión, un agente puede escoger la acción más adecuada de entre todas las posibles. Para una introducción, véase [Puterman94], [Bellman57b]

Procesos de decisión de Markov parcialmente observables (POMDP)

En las ocasiones en las que no se dispone de información del estado actual, la tarea anterior se convierte en un proceso de decisión parcialmente observable. Este modelo sigue una aproximación teórica distinta y proporciona una manera adecuada de razonar acerca de los compromisos entre acciones para ganar recompensa y acciones para acceder a más información.

Métodos para resolver el problema del aprendizaje por refuerzo

Existen fundamentalmente tres tipos de métodos para resolver el problema del aprendizaje por refuerzo: la programación dinámica, los métodos de Monte Carlo y los métodos de diferencias temporales. Todos estos métodos pueden emplearse para resolver el problema completo, pero se diferencian en los requisitos que exigen para la resolución y en la manera en que se lleva a cabo dicha resolución.

Cada uno de estos tres métodos tiene sus fortalezas y debilidades. Los métodos basados en programación dinámica tienen un desarrollo matemático bien conocido, pero requieren de un modelo del entorno completo y ajustado a la realidad. Los métodos de Monte Carlo no requieren tal modelo y son simples conceptualmente, pero no se pueden emplear para obtener soluciones iterativas paso a paso. Los métodos de diferencias temporales son en realidad una combinación de ideas extraídas de los métodos de Monte Carlo y de la programación dinámica. Estos métodos tampoco necesitan contar con un modelo y pueden calcularse de manera incremental, pero su análisis es más complejo. Cada uno de los tres tipos de métodos difiere también de los otros en diversas maneras respecto a su eficiencia y velocidad de convergencia [Sutton98].

Actualmente los métodos más empleados son los de diferencias temporales. La ventaja de poder ser empleados de manera incremental y permitir que el agente aprenda mientras se encuentra on-line compensan todos los inconvenientes. Además, estos métodos dan lugar a algoritmos iterativos muy sencillos, cosa que favorece su implantación.

Actualmente los métodos más empleados son distintas variaciones del método de Q-learnign [Watkins89], y Sarsa [Rummery94], [Sutton96].

Aplicaciones a la robótica

La robótica es un campo en el que la aplicación de técnicas de aprendizaje por refuerzo resulta muy provechosa. El aprendizaje por refuerzo es un método muy prometedor para conseguir que los robots mejoren su comportamiento por sí mismos, a pesar de la posible falta de conocimiento acerca de las tareas que deben desarrollar.

Estos métodos pueden verse como una forma de aprender una correspondencia entre entradas y salidas para maximizar ciertas medidas de rendimiento, mientras el sistema se encuentra on-line. El aprendizaje por refuerzo no resulta tan eficaz cuando las condiciones ambientales cambian con mucha rapidez. En realidad esto es inherente a cualquier método de aprendizaje on-line y no supervisado. En el mundo de la robótica este problema es bastante apreciable debido a que un cambio en el entorno que nosotros como seres humanos podemos considerar "pequeño", puede ser un cambio tremendo para un robot. Debe tenerse en cuenta que la capacidad de razonamiento de los robots actuales se encuentra muy limitada, y que sus capacidades perceptivas son mínimas comparadas con las de un ser humano, con lo cual es más fácil que un ligero cambio en las condiciones del entorno les "despiste".

Algunos de los diferentes problemas que aparecen en la robótica para los cuales se está empleando el aprendizaje por refuerzo son los siguientes:

  • Aprendizaje de secuencias de movimientos y optimización de consumos: [Kimura97], [Kimura99], [DeJong94], [Boone97], [Tham94],
  • Coordinación de varios agentes: [Uchibe95], [Uchibe96a], [Uchibe96b].
  • Navegación: [Busquets], [Mataric94].
  • Agentes sociales (aprendizaje por imitación, aprendizaje de la comunicación): [Billard97], [Hayes94], [Demiris96].
  • Aprendizaje de comportamientos: [Asada96]
  • Tareas más complejas / aprendizaje por refuerzo jerárquico: [Dietterich00], [Ryan]
  • Control: [Schaal94], [Mahadevan91].

Conclusiones

Las ventajas de los métodos de aprendizaje por refuerzo nos hacen pensar que en el futuro veremos cada vez un mayor número de aplicaciones de estas técnicas tanto en el mundo de la robótica como en otros ámbitos relacionados con la Inteligencia artificial.

Una de las grandes ventajas de estas técnicas que ya hemos comentado es la posibilidad de que los propios robots aprendan por si mismo a coordinar u optimizar sus acciones. Un ejemplo típico es el del acrobot [DeJong94], [Sutton98] . Este robot de una única articulación es muy similar al robot bioinspirado para el movimiento a través de tendidos aéreos de cables desarrollado en el DIA []. Para este robot se elaboró una descripción matemática completa del control del mismo, y se empleaba una técnica de aprendizaje por refuerzo, entendido de manera distinta al descrito aquí, para evitar las colisiones.

Como fin de este documento consideramos que la posibilidad de implantar en este mismo robot un mecanismo de aprendizaje por refuerzo sería una experiencia muy reveladora, ya que permitiría comparar el desempeño de cada una de las dos aproximaciones.

 

Bibliografía

[Asada96] Asada, M E. Uchibe and K. Hosoda Behavior Coordination for a Mobile Robot Using Modular Reinforcement Learning Proc. of IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.1329-1336, 1996

[Bagnelland01] Bagnelland, J. Schneider, J. Autonomous Helicopter Control using Reinforcement Learning Policy Search Methods Proceedings of the International Conference on Robotics and Automation 2001

[Bellman57a] Bellman, R. E.. Dynamic Programming . Princeton University Press, Princeton, NJ.

[Bellman57b] Bellman, R. E. (1957b). A Markov decision process. Journal of Mathematical Mech. , 6:679--684.

[Billard97] Billard, Aude and Kerstin Dautenhahn Grounding Communication in social, embeded agents. Proceedings of TIMR UK conference , Buxton 4.9.97 - 5.9.1997

[Boone97] Boone, G. Minimum-time control of the acrobot. In 1997 International Conference on Robotics and Automation , Albuquerque, NM.

[Brooks90] Brooks, R. A., "Elephants Don't Play Chess", Robotics and Autonomous Systems (6), 1990, pp. 3-15

[Brooks91] Brooks, R. A., "New Approaches to Robotics", Science (253), September 1991, pp. 1227-1232.

[Busquets] Busquets, D., Lopez de Mantaras, R., Sierra, C., and Dietterich, T. G. Reinforcement learning for landmark-based robot navigation.

[DeJong94] DeJong, G. and Spong, M. W. (1994). Swinging up the acrobot: An example of intelligent control. In Proceedings of the American Control Conference , pages 2158--2162.

[Demiris96] Demiris, John and Gillian Hayes. Imitative Learning Mechanisms in Robots and Humans. in V. Klingspor (editor), Proceedings of the 5th European Workshop on Learning Robots, Bari, Italy, July 1996. Also available as DAI Research Paper 814, Department of Artificial Intelligence, University of Edinburgh, Scotland.

[Dietterich00] Dietterich, T. G. (2000). An Overview of MAXQ Hierarchical Reinforcement Learning. B. Y. Choueiry and T. Walsh (Eds.) Proceedings of the Symposium on Abstraction, Reformulation and Approximation SARA 2000, Lecture Notes in Artificial Intelligence , New York: Springer Verlag

[Harnard90] Harnad, S. (1990) The Symbol Grounding Problem. Physica D 42: 335-346

[Hayes94] Hayes, G.M. and J. Demiris, A Robot Controller Using Learning by Imitation. Proceedings of the 2nd International Symposium on Intelligent Robotic Systems, Grenoble, France, July 1994

[Kaebling96] Kaebling, L. P., M. L. Littman, and A. W. Moore. Reinforcement learning: a survey. Journal of Artificial Intelligence Research, 4:237--285, 1996.

[Keerthi97] Keerthi, S.S. and B. Ravindran, Reinforcement learning, In Handbook of Neural Computation, E. Fiesler and R. Beale (Eds.), Oxford University Press, New York, 1997.

[Kimura97] Kimura, H. and Kobayashi, S.: Reinforcement Learning for Locomotion of a Two-linked Robot Arm, Proceedings of the 6th Europian Workshop on Learning Robots (EWLR-6 1997), pp.144--153.

[Kimura99] Kimura, H. and Kobayashi, S.: Efficient Non-Linear Control by Combining Q-learning with Local Linear Controllers,16th International Conference on Machine Learning, pp.210--219 (1999).

[Kuhn70] Kuhn, Thomas S. La estructura de las revoluciones científicas. Mexico. Fondo de Cultura económica.

[Maes95] Maes, Pattie (1995), "Artificial Life Meets Entertainment: Life like Autonomous Agents," Communications of the ACM , 38, 11, 108-114

[Mataric94] Mataric, Maja J. Reward functions for accelerated learning. In W. W. Cohen and H. Hirsh, editors, Proceedings of the Eleventh International Conference on Machine Learning . Morgan Kaufmann, 1994.

[Mahadevan91] Mahadevan, Sridhar and Jonathan Connell. Automatic programming of behavior-based robots using reinforcement learning. In Proceedings of the Ninth National Conference on Artificial Intelligence , Anaheim, CA, 1991.

[Maravall] Maravall, D. De Lope, J. A bio inspired robotic mechanism for autonomous locomotion in unconventionan environments

[Minsky88] Minsky, Marvin. Society of mind. Touchstone Books 1988

[Murphy] Murphy, Robin R.. Introduction to AI Robotics. MIT Press

[Newell76] Newell, A, H. A. Simon. 1976. Computer Science as empirical inquiry: Symbols and search. Communications of the ACM 19(3):113-126.

[Nilsson01] Nilsson, N. Inteligencia Artificial, una nueva síntesis. McGraw-Hill 2001

[Puterman94] Puterman, Martin L.. Markov Decision Processes: Discrete Stochastic Dynamic Programming. Wiley, John & Sons, 1994

[Rich96] Rich, E. Knight, M. Inteligencia Artificial. McGraw-Hill 1996.

[Rummery94] Rummery, G. A. and Niranjan, M. (1994). On-line q-learning using connectionist systems. Technical Report CUED/F-INFENG/TR 166, Cambridge University Engineering Department.

[Russell95] Russell, S. and Norvig, P. (1995). Artificial Intelligence: A Modern Approach . Prentice Hall, Englewood Cliffs, NJ.

[Ryan] Ryan, Malcolm. Scaling up Reinforcement Learning for Complex Tasks in Robotics ( Click here )

[Schaal94] Schaal, S. and Christopher Atkeson. Robot juggling: An implementation of memory-based learning. Control Systems Magazine , 14, 1994.

[Sutton96] Sutton, R. S. (1996). Generalization in reinforcement learning: Successful examples using sparse coarse coding. In Touretzky, D. S., Mozer, M. C., and Hasselmo, M. E., editors, Advances in Neural Information Processing Systems: Proceedings of the 1995 Conference , pages 1038--1044, Cambridge, MA. MIT Press.

[Sutton98] Sutton, Richard S. Barto, Andrew G. Reinforcement Learning: An Introduction. MIT Press, Cambridge, MA, 1998

[Tham94] Tham, Chen K. Prager, Richard W. A modular Q-Learning architecture for manipulation task decomposition. Machine Learning: Proceedings of the Eleventh International Conference (ML'94)

[Uchibe95] Uchibe E., M.Asada, and K.Hosoda Dept. of Adaptive Machine Systems, Graduate School of Engineering, Osaka University "Cooperative Behavior Acquisition in Multi Mobile Robots Environment by Reinforcement Learning Based on State Vector Estimation"

[Uchibe96a] Uchibe E., M. Asada and K. Hosoda, Behavior Coordination for a Mobile Robot Using Modular Reinforcement Learning, Proc. of IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.1329-1336, 1996.

[Uchibe96b] Uchibe E., M. Asada, S. Noda, Y. Takahashi and K. Hosoda, Vision-Based Reinforcement Learning for RoboCup : Towards Real Robot Competition, Proc. of IROS 96 Workshop on RoboCup, 1996.

[Watkins89] Watkins, C. J. C. H. (1989). Learning from Delayed Rewards . PhD thesis, Cambridge University, Cambridge, England

Valid HTML 4.01! (C) 2006 Farid Fleifel - Contact: farid@fleifel.net