Imagina si los robots pudieran aprender viendo demostraciones: podrías mostrarle a un robot doméstico cómo hacer tareas rutinarias o poner una mesa para la cena. En el lugar de trabajo, podrías entrenar a los robots como nuevos empleados, mostrándoles cómo realizar muchas tareas. En la carretera, tu auto podría aprender a conducir de forma segura observando cómo conduces por tu vecindario.
Avanzando en esa visión, los investigadores de la USC han diseñado un sistema que permite a los robots aprender de forma autónoma tareas complicadas a partir de un número muy reducido de demostraciones, incluso imperfectas. El artículo, titulado «Aprendiendo de las demostraciones usando la lógica temporal de la señal», fue presentado en la Conferencia sobre Aprendizaje de Robots (CoRL), el 18 de noviembre.
El sistema de los investigadores funciona evaluando la calidad de cada demostración, por lo que aprende de los errores que ve, así como de los éxitos. Mientras que los métodos actuales de vanguardia necesitan al menos 100 demostraciones para clavar una tarea específica, este nuevo método permite a los robots aprender de sólo un puñado de demostraciones. También permite a los robots aprender de forma más intuitiva, de la misma manera que los humanos aprenden unos de otros: ves a alguien ejecutar una tarea, aunque sea de forma imperfecta, y luego lo intentas tú mismo. No tiene que ser una demostración «perfecta» para que los humanos obtengan conocimiento observándose unos a otros.
«Muchos sistemas de aprendizaje de máquinas y de aprendizaje de refuerzo requieren grandes cantidades de datos y cientos de demostraciones – se necesita un humano para demostrar una y otra vez, lo cual no es factible», dijo el autor principal Aniruddh Puranic, un estudiante de doctorado en ciencias de la computación en la Escuela de Ingeniería de Viterbi de la USC.
«Además, la mayoría de la gente no tiene conocimientos de programación para declarar explícitamente lo que el robot necesita hacer, y un humano no puede demostrar todo lo que un robot necesita saber. ¿Qué pasa si el robot se encuentra con algo que no ha visto antes? Este es un desafío clave».
Aprendiendo de las demostraciones
Aprender de las demostraciones se está volviendo cada vez más popular para obtener políticas efectivas de control de robots — que controlan los movimientos del robot — para tareas complejas. Pero es susceptible a las imperfecciones en las demostraciones y también plantea problemas de seguridad ya que los robots pueden aprender acciones inseguras o indeseables.
Además, no todas las demostraciones son iguales: algunas demostraciones son un mejor indicador del comportamiento deseado que otras y la calidad de las demostraciones depende a menudo de la pericia del usuario que las realiza.
Para abordar estas cuestiones, los investigadores integraron la «lógica temporal de la señal» o STL para evaluar la calidad de las demostraciones y clasificarlas automáticamente para crear recompensas inherentes.
En otras palabras, aunque algunas partes de las demostraciones no tengan ningún sentido según los requisitos de la lógica, usando este método, el robot todavía puede aprender de las partes imperfectas. En cierto modo, el sistema está llegando a su propia conclusión sobre la exactitud o el éxito de una demostración.
«Digamos que los robots aprenden de diferentes tipos de demostraciones -podría ser una demostración práctica, videos o simulaciones- si hago algo que es muy inseguro, los enfoques estándar harán una de dos cosas: o bien lo ignorarán por completo, o incluso peor, el robot aprenderá la cosa equivocada», dijo el coautor Stefanos Nikolaidis, un profesor asistente de ciencias informáticas de la USC Viterbi.
«En contraste, de una manera muy inteligente, este trabajo utiliza algún razonamiento de sentido común en forma de lógica para entender qué partes de la demostración son buenas y cuáles no. En esencia, esto es exactamente lo que también hacen los humanos».
Tomemos, por ejemplo, una demostración de conducción en la que alguien se salta una señal de stop. Esto sería clasificado más bajo por el sistema que una demostración de un buen conductor. Pero, si durante esta demostración, el conductor hace algo inteligente, por ejemplo, aplica los frenos para evitar un accidente, el robot seguirá aprendiendo de esta acción inteligente.
Adaptación a las preferencias humanas
La lógica temporal de señales es un lenguaje matemático simbólico expresivo que permite el razonamiento robótico sobre los resultados actuales y futuros. Mientras que las investigaciones anteriores en esta área han utilizado la «lógica temporal lineal», la STL es preferible en este caso, dijo Jyo Deshmukh, un ex ingeniero de Toyota y profesor asistente de ciencias de la computación de USC Viterbi.
«Cuando entramos en el mundo de los sistemas ciberfísicos, como los robots y los coches autoconductores, donde el tiempo es crucial, la lógica temporal lineal se vuelve un poco engorrosa, porque razona sobre secuencias de valores verdaderos/falsos para las variables, mientras que el STL permite razonar sobre las señales físicas».
A Puranic, que es asesorado por Deshmukh, se le ocurrió la idea después de tomar una clase práctica de robótica con Nikolaidis, que ha estado trabajando en el desarrollo de robots para aprender de los videos de YouTube. El trío decidió probarlo. Los tres dijeron que estaban sorprendidos por el alcance del éxito del sistema y los profesores dan crédito a Puranic por su duro trabajo.
«Comparado con un algoritmo de última generación, que se utiliza ampliamente en muchas aplicaciones de robótica, se ve una diferencia de orden de magnitud en la cantidad de demostraciones que se requieren», dijo Nikolaidis.
El sistema se probó con un simulador de juegos al estilo de Minecraft, pero los investigadores dijeron que el sistema también podía aprender de los simuladores de conducción y eventualmente incluso de los videos. A continuación, los investigadores esperan probarlo en robots reales. Dijeron que este enfoque es muy adecuado para aplicaciones en las que los mapas se conocen de antemano pero hay obstáculos dinámicos en el mapa: robots en entornos domésticos, almacenes o incluso vehículos de exploración espacial.
«Si queremos que los robots sean buenos compañeros de equipo y ayuden a la gente, primero deben aprender y adaptarse a las preferencias humanas de manera muy eficiente», dijo Nikolaidis. «Nuestro método proporciona eso».
«Estoy emocionado de integrar este enfoque en los sistemas robóticos para ayudarles a aprender eficientemente de las demostraciones, pero también ayudar eficazmente a los compañeros de equipo humanos en una tarea de colaboración».