learning by observation


Hoy he asistido a una conferencia sobre Inteligencia Artificial organizada por la Facultad de Ciencias de la Universidad de Cantabria e impartida por el profesor Don Avelino González, de la Facultad de Ingeniería y Ciencias de la Computación de la Universidad Central de Florida.

El tema de la conferencia fue un paradigma de aprendizaje automático llamado aprendizaje por observación (learning by observation)

El profesor González explicó los proyectos de investigación que se han realizado y realizan en este paradigma de aprendizaje en su universidad, que han resultado en la realización de una importante tesis doctoral hace cuatro años y otras dos a punto de finalizar que extienden la primera, todas ellas dirigidas por el profesor González. El resultado de esas investigaciones ha sido la creación de una técnica de aprendizaje llamada GenCL, una combinación de programación genética como infraestructura de modelado (modelling infrastructure) y razonamiento basado en contexto como estrategia de aprendizaje (learning strategy) (Genetic Programming and Context-Based Reasoning/GP and CxBR)

La tesis que sirvió de fuente principal de la presentación fue realizada por un profesor sueco de la Universidad de Linköpin llamado Hans Fernlund, en el Laboratorio de Sistemas Inteligentes (Intlligent Systems Lab or ISL) de la universidad. El profesor Hans Fernlund desarrolló un proyecto de construcción de agentes inteligentes con la capacidad de aprender de la observación del patrón de conducción de un vehículo por parte de un ser humano (en forma de secuencias de datos, naturalmente) Para ello utilizó un simulador de conducción de la Universidad de Linköpin con el que se realizó el experimento de conducción del que se sacaron los datos. En dicho experimento se seleccionaron a cinco individuos y se les pidió que ejecutaran la simulación que consistía en conducir en un entorno virtual de una zona urbana de un punto A a un punto B. Durante el trayecto se encontraban con intersecciones y con semáforos que debían respetar. No se incluyeron en la simulación la presencia de otros vehículos ni de peatones.

A partir de los datos obtenidos y con un entorno de desarrollo de agentes inteligentes se desarrollaron cinco agentes, cada uno aprendiendo a partir de los datos de uno de los conductores humanos. La técnica de aprendizaje consistía en la utilización de programación genética (genetic programming) para aprender los patrones de conducción de los seres humanos del experimento por observación de los datos reales. Dichos patrones de conducción se dividieron previamente en contextos (context awareness) (de forma manual por el doctorando) y se hicieron coevolucionar dichos contextos. Una vez entrenados los agentes y comprobados mediante estudios estadísticos de sus patrones de conducción aprendidos la correlación entre los patrones adquiridos por los agentes y los reales de los conductores humanos, se hizo ejecutar a los agentes la ruta pero en sentido contrario, de B a A. Posteriormente se hizo lo mismo con los conductores humanos (esto fue unos cinco meses después de haber realizado el primer experimento) Y se volvieron a realizar el estudio estadístico de correlaciones.

Los resultados obtenidos, de los que dio algunos detalles, mostraron que excepto en dos individuos, las correlaciones en los dos trayectos fueron bastante altas, no bajando del 85% (fue peor en el trayecto de vuelta) De los dos individuos que no correlaron bien con sus maestros humanos, se llegó a la conclusión de que uno de ellos no había tenido la riqueza de información necesaria para generalizar los conceptos de cada contexto y aprenderlos. El segundo caso fue más curioso. Resulto que el conductor humano modelo era un conductor con un patrón de conducción muy variable e imprevisible. El agente no fue capaz de encontrar el patrón de conducción del mismo y emularlo. Esta característica no es extraña, sino que a los seres humanos que aprenden les pasa lo mismo. Si queremos aprender cómo realizar una acción de una persona pero esa persona no sigue un patrón reconocible o cada día nos muestra una cosa distinta, nos es muy difícil generalizar y aprender.

Las dos tesis que están a punto de acabar este año y que partieron de los resultados de la que acabamos de explicar han intentado extender el experimento en dos sentidos. En primer lugar, una de las tesis intenta automatizar la definición de los contextos a partir de los datos recogidos del patrón de conducción de un ser humano, cosa que se hizo de forma manual en la tesis original. En segundo lugar, la otra tesis intenta introducir más complejidad en el entorno del experimento incluyendo otros vehículos y peatones, además de los semáforos originales.

De la explicación del profesor González del desarrollo del experimento me llamó la atención la fases del mismo que reconocí de las asignaturas que estoy cursando en el máster de IA de la UNED. El experimento se dividió en una fase de entrenamiento y otra de validación. En la fase de entrenamiento los agentes utilizaron los datos adquiridos de los conductores humanos para aprender sus contextos. En la fase de validación se utilizó un agente desarrollado de forma manual por un alumno en su proyecto de fin de carrera, que estuvo presente en el experimento de conducción de dos de los conductores humanos, en el que pudo, por observación, recoger los datos necesarios para desarrollar su agente de la forma tradicional con un framework de agentes.

¿Qué es el aprendizaje por observación?

En la naturaleza hay pocos ejemplos aparte del hombre (los primates, los delfines y algunos otros animales como los cefalópodos) que son capaces de aprender nuevas tareas y especialmente hacerlo por observación de cómo lo hacen sus semejantes (existe una frase metafórica en inglés que describe el proceso: Monkey sees monkey do) Los científicos que estudian la inteligencia, tanto la biológica como la artificial, consideran que la capacidad de aprendizaje es una de las claves de la inteligencia.

El conocimiento es la materia prima de la inteligencia y lo que se transfiere o adquiere en el proceso de aprendizaje. Existen dos tipos de conocimiento, el implícito y el tácito (Tacit and implicit knowledge) que son muy difíciles de adquirir por parte de una computadora. La ingeniería del conocimiento, que es una parte aplicada de la Inteligencia Artificial, desarrolla procedimientos muy elaborados para capturar esos tipos de conocimiento a partir del conocimiento explícito que se puede obtener por descripción en lenguaje natural por parte de un experto o una fuente escrita.

Es un hecho demostrado que el conocimiento implícito y tácito es muy difícil de expresar en lenguaje natural, incluso de forma consciente (¿cómo se monta en bicicleta?¿cómo se conduce un coche?¿cómo se anda?) Sin embargo ese mismo conocimiento se expresa de forma natural cuando se realiza de forma efectiva la tarea (i.e conducir se aprende conduciendo y viendo como conduce un experto)

El aprendizaje por observación es una técnica que se ha implementado utilizando el paradigma de agente inteligente, que se convierte en un agente que actúa de forma tácticamente correcta (tactically correct manner acting agent) Sus aplicaciones se centran en dominios calificados como conflictivos (escenarios en que hay dos o más agentes contendientes con el objetivo de ganar) y no conflictivos (escenarios en los que el agente tiene como objetivo realizar de forma correcta una tarea, sin competir con nadie; ejemplo: pilotar un avión o conducir un vehículo a un destino concreto desde un punto de partida)

Estos agentes que actúan tácticamente como un ser humano (human like tactical agents) tienen un reto fundamental, para poder actuar en el mundo real. No se trata de copiar exactamente el comportamiento del ser humano en la realización de una tarea, ya que eso solamente serviría para el caso concreto, incluyendo las condiciones del entorno, que pueden cambiar, sino precisamente capturar ese conocimiento tácito e implícito que se utiliza y que sirve con condiciones de entorno cambiantes, quizá con pequeñas adaptaciones.

¿Y que hay del contexto?

Parece ser que el cerebro del ser humano es capaz de almacenar conocimiento aplicable en diferentes tareas asociadas a entornos y situaciones concretas, llamados contextos. A la hora de operar con ese conocimiento, el cerebro es capaz de detectar de forma automática el contexto donde se encuentra y extraer el conocimiento necesario relevante en ese contexto para realizar la actividad o tarea concreta.

El profesor González puso un ejemplo. El conocimiento necesario para conducir el coche para ir del trabajo a casa no tiene nada que ver con el conocimiento necesario para preparar la cena una vez que se ha llegado a casa. Son dos contextos distintos. Y el cerebro es capaz de pasar de uno a otro. Esta capacidad se intenta capturar e implementar como Context-Based Reasoning.

2 comentarios en “learning by observation

  1. He buscado por Internet información sobre la tesis doctoral de la que se habla en la conferencia, ya que puede ser interesante leerla y aprender de los resultados del experimento y sus conclusiones.

    De momento, he encontrado dos referencias a papers (que solamente pueden ser consultados desde una institución académica como la UNED o la Universidad de Cantabria) firmados por el profesor González y el profesor Fernlund, entre otros:

    * Using GP to Model Contextual Human Behavior. Lecture Notes in Computer Science. Springer Berlin / Heidelberg. Volume 3103/2004. Hans Fernlund (1) and Avelino J. Gonzalez (1)

    (1) Intelligent Systems Laboratory, University of Central Florida, Orlando, FL 32816-2450,

    Abstract

    This paper describes a new approach that automatically builds human behavior models for simulated agents by observing human performance. This research synergistically combines Context-Based Reasoning, a paradigm especially developed to model tactical human performance within simulated agents, with Genetic Programming that is able to construct the behavior knowledge in accordance to the Context-Based Reasoning paradigm.

    * Learning tactical human behavior through observation of human performance. Fernlund, H.K.G.; Gonzalez, A.J.; Georgiopoulos, M.; DeMara, R.F. Systems, Man, and Cybernetics, Part B, IEEE Transactions on. Volume 36, Issue 1, Feb. 2006 Page(s): 128 – 140. Digital Object Identifier 10.1109/TSMCB.2005.855568

    Summary:

    It is widely accepted that the difficulty and expense involved in acquiring the knowledge behind tactical behaviors has been one limiting factor in the development of simulated agents representing adversaries and teammates in military and game simulations. Several researchers have addressed this problem with varying degrees of success. The problem mostly lies in the fact that tactical knowledge is difficult to elicit and represent through interactive sessions between the model developer and the subject matter expert. This paper describes a novel approach that employs genetic programming in conjunction with context-based reasoning to evolve tactical agents based upon automatic observation of a human performing a mission on a simulator. In this paper, we describe the process used to carry out the learning. A prototype was built to demonstrate feasibility and it is described herein. The prototype was rigorously and extensively tested. The evolved agents exhibited good fidelity to the observed human performance, as well as the capacity to generalize from it.

  2. Quiero recordar que hay un grupo de investigación en Inteligencia Artificial de la Universidad Politécnica de Madrid que tiene una línea de investigación relacionada con el aprendizaje por observación utilizando CBR. Es el GAIA-UPM. Ya hablé de este grupo a principios de este año.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s