Una tarea básica para cualquier ser humano, como puede ser vaciar una papelera, puede ser una tarea muy complicada para un robot autónomo. Éste puede saber cómo levantar la tapa o cómo sacar la bolsa pero, si no está programado para ello, es complicado que sepa qué tareas tiene que realizar y en qué orden en un escenario que cambia continuamente. Además, y aunque no tiene nada que ver con lo que se le pide, el robot puede necesitar valorar si es necesario o no abrir la puerta de la nevera (aunque lo termine descartando), cuando nosotros ni nos lo plantearíamos.
Desde la Brown University son conscientes de que esta "falta de intuición" es una gran limitación en robots que queremos que sean capaces de desenvolverse realizando tareas que, para nosotros, son básicas. ¿Cómo conseguir entonces que el robot sea capaz de aprender pequeñas acciones y, sobre todo, cuándo tiene que aplicar cada una de ellas? Su respuesta es sencilla: entrenándolos con Minecraft.
Cuando un robot sabe hacer miles de acciones, ¿cómo escoge las adecuadas y el orden para realizar una tarea de forma más óptima?
Lo habitual es que un robot tenga numerosas acciones disponibles y que, como método de decisión, valore todas ellas en cada momento a la hora de intentar conseguir un objetivo. Volviendo al ejemplo de antes, un robot que quiera tirar la basura revisa entre todas las acciones que tiene programadas (por ejemplo, abrir la nevera, encender el horno, etc.) y va descartando aquellas que no considera apropiadas, con el consiguiente coste de tiempo y esfuerzo que esto genera. ¿Cómo evitarlo? Reduciendo ese espacio de acciones entre las que busca, es decir, mejorando su capacidad de planificación.
En concreto, los investigadores de Brown han desarrollado un algoritmo por el cual el robot recibe una serie de acciones que son las que probablemente más se necesitan para que el robot consiga un determinado objetivo y ni se plantee otras aunque sepa hacerlas (como el abrir la nevera que decíamos antes). Estas acciones podrían ser programadas por alguien externo, pero la gran novedad es que también pueden ser "aprendidas" por el propio robot a base de prueba y error.
¿Por qué Minecraft?
Para probar la efectividad de dicho algoritmo, los responsables del proyecto recurrieron a un modelo basado en Minecraft y comenzaron con mundos muy pequeñitos. Al robot le daban entonces unos objetivos básicos y éste tenía que ir probando cuál era la mejor forma de conseguirlos. Por ejemplo, si quiere cruzar una zanja, el robot hace varias pruebas y acaba concluyendo que necesita poner bloques para poder cruzar al otro lado. Si no, no es necesario que ponga bloques.
Aunque pueda parecer demasiado básico, el conocimiento adquirido se utiliza en tareas más complejas que requieran ese sencillo paso en su desarrollo y permite que el robot dé el salto a otros dominios de Minecraft con otros objetivos desconocidos. Con este sistema, y según lo investigadores, los robots consiguieron mejorar en la planificación de tareas y actuar más rápido que otros algoritmos estándar con otros modelos de decisión.
Aprenden la solución a problemas pequeños (por ejemplo, saltar una zanja) que luego aplican a otros problemas más grandes y desconocidos
¿Por qué Minecraft? Stefanie Tellex, profesora de Brown, explica que es un "buen modelo de muchos de los problemas a los que se enfrentan los robots". Según ella, "en el juego hay una gran variedad de acciones posibles que pueden llevarse a cabo, y es muy sencillo y fácil conseguir una gran cantidad de datos sobre el entrenamiento. Es mucho más difícil hacerlo en el mundo real". Gracias al juego, consiguieron perfeccionar su algoritmo.
Pero ¿sirve de algo luego este entrenamiento una vez dejamos el juego? Sí. A continuación aplicaron el algoritmo mejorado gracias a Minecraft a un robot que ayuda en la cocina anticipándose a las necesidades del cocinero. ¿Que un cartón de huevos está sobre la mesa? El algoritmo sabe que es habitual que los ingredientes líquidos de una determinada receta se batan, así que entrega al cocinero un batidor de huevos.
Prueba y error en Minecraft lleva poco tiempo y puede hacerse de forma muy sencilla. En el mundo real tardaríamos más y sería más costoso
Los investigadores tienen pensado seguir utilizando Minecraft con escenarios mucho más grandes y con tareas mucho más complejas: "Si puedes hacer todo lo que se puede hacer en Minecraft, puedes resolver cualquier cosa. Eso por ahora queda bastante lejano, pero hay muchos objetivos interesantes para la investigación en el camino".
Más información | Universidad de Brown
En Xataka | Todo sobre Minecraft
Ver 4 comentarios