miércoles, 28 de septiembre de 2022

Imitation learning: robots que aprenden a partir de demostraciones

Entre los muchos misterios que encierra el cerebro humano se encuentra el del aprendizaje, cómo adquirimos conocimientos y nuevas habilidades.

Dado que la inteligencia humana es fuente de inspiración para la Inteligencia Artificial, saber realmente cómo aprende un ser humano, sería de una gran utilidad para hacer alguna suerte de trasposición algorítmica.

A falta de conocer en profundidad  cómo se produce el aprendizaje en el ser humano, utilizamos lo que podemos percibir o entender de él para construir algoritmos y robots que exhiban alguna forma de aprendizaje.

El aprendizaje del machine learning


Se encuentra abundantemente tratado, casi en cualquier libro sobre inteligencia artificial, el aprendizaje algorítmico, el que que se realiza mediante el llamado machine learning. Se habla con frecuencia de las formas básicas de aprendizaje supervisado, no supervisado y por refuerzo, así como todas las formas, mecanismos y variantes más o menos intermedios.

No se trata, sin embargo, el tema del aprendizaje algorítmico, de un problema cerrado, ni mucho menos. Existe fuerte investigación y experimentación en busca de métodos de aprendizaje más eficaces, más rápidos, que utilicen menos datos (o ninguno), que reutilicen lo ya aprendido, que logren un aprendizaje incremental y apoyado en lo ya adquirido, etc.


Aprendizaje en robots


Los robots heredan todas las capacidades del machine learning. Cuando un robot inteligente incorpora visión artificial, los algoritmos que hay detrás son algoritmos de machine learning. Cuando un robot incorpora reconocimiento de voz o procesamiento de lenguaje natural, de nuevo, está utilizando abundantemente algoritmos de machine learning. Si un robot incorpora reconocimiento de emociones, normalmente estará aplicando también algoritmos de machine learning.

Sin embargo, en el mundo de los robots, se intentan otras estrategias que, sin contradecir en absoluto lo anterior, sin, siquiera, salirse necesariamente del campo del machine learning, exploran formas de aprendizaje algo singulares.

Ya vimos, por ejemplo, en un artículo reciente, la estrategia del aprendizaje evolutivo y la robótica del desarrollo en que dotábamos a los robots de una suerte de infancia en que los robots aprendiesen con base en su expriencia.

En buena parte, esas estrategias derivan de algunas características de los robots, muy especialmente de robots de servicio o robots sociales, características que mencionábamos en ese artículo: la existencia de un cuerpo ('embodyment'), y un cuerpo situado en un entorno ('situatedness') con el que se relaciona mediante una interacción senso-motora, permitiéndole formarse una idea del mundo ('enaction'). 


¿Qué es 'imitation learning'?


En este post vamos a mencionar otra estrategia con la que se investiga y trabaja y que, en realidad creo que entronca muy bien con la robótica del desarrollo (en realidad creo que forma parte de ella): el 'imitation learning' (aprendizaje por imitación) también conocido como programación por demostración ('programming by demonstration')

¿Qué es ese aprendizaje por imitación?

Pues, nos lo cuentan dentro del libro 'Cognitive robotics' editado por  Angelo Cangelosi y Minoru Asada. En concreto, en un capítulo escrito por Tetsuya Ogata, Kuniyuki Takahashi, Tatsuro Yamada, Shingo Murata y Kazuma Sasaki, nos dicen que el 'imitation learning' es: 


a learning based approach to that enables robots to acquire skills or infer policies for action generation from a set of expert demonstrations representing the robots' sensorimotor experiences.


Es decir, se trata, de una forma parecida a como en el caso de los humanos hace un profesor con un alumno, o como un aprendiz aprende de un experto, que el robot aprenda a realizar una tarea observando cómo lo realiza un 'experto' en ella, normalmente un humano aunque nada quita que pudiera ser otro robot 'ya formado', por ejemplo.

Nos dicen los autores que la forma más habitual es emplear un tipo de algoritmos predictivos en que el robot debe aprender a predecir un estado senso-motor siguiente que sucede al estado senso-motor actual, y nos dicen también que este esquema es más eficiente que el aprendizaje por refuerzo.

Decía antes que no existe realmente contradicción entre estos mecanismos que utilizan los robots con el machine learning y, en efecto, los mismos autores comentan que se utilizan mecanismos de machine learning como, por ejemplo, redes neuronales de convolución (muy presentes por ejemplo en visión artificial), redes neuronales recurrentes (habituales en procesamiento de lenguaje natural) y también modelos probabilísticos o modelos ocultos de Markov.

Los autores comentan también experiencias que van más allá, experiencias en general realizadas con robots humanoides, en que el robot aprende de su propia experiencia o de lo que hace otro agente. Incluso, nos apuntan como línea de trabajo, lo que se denomina 'one-shot imitation learning' en que se busca que el robot aprenda a partir de una única observación.


Conclusión


Como intento defender en diversos foros, los robots, los robots inteligentes y muy especialmente los robots sociales y humanoides tiene características singulares, características que los particularizan y distinguen, sin entrar en contradicción, con otras ramas de la inteligencia artificial. Unas características singulares que afectan a muchos aspectos, incluyendo tanto lo técnico como lo ético.

En este caso, hemos visto unas formas de aprendizaje que, sin contradecir en absoluto, sino más bien apoyándose en, el machine learning, parecen bastante propias de los robots y diferenciadas de lo que se hace, por ejemplo, en analítica.

 

No hay comentarios:

Publicar un comentario