Primero, un algoritmo se enseñó a sí mismo a manipular el juguete en un entorno virtual en el que se simularon una infinidad de condiciones locas. Cuando logró dominarlo virtualmente, las complicadas capacidades para rotar el cubo se transfirieron a un robot físico que replicó el logro en el mundo real
Hace más de un año, el laboratorio de investigación de inteligencia artificial (IA) OpenAI, anunció que había entrenado una mano robótica para manipular un cubo de juguete con una destreza sorprendente. Puede que no parezca un gran avance. Pero en el mundo de la IA, resultó impresionante por dos razones. Primero, la mano se había enseñado a sí misma a jugar con el cubo mediante un algoritmo de aprendizaje reforzado, una técnica basada en la forma en la que aprenden los animales. En segundo lugar, todo el entrenamiento se había realizado en simulación, es decir, en un entorno virtual, pero se logró llevar con éxito al mundo real.
En ambos sentidos, fue un paso importante hacia los robots más ágiles para aplicaciones industriales y de consumo. La experta en robótica y profesora del MIT (EE. UU.) Leslie Kaelbling recuerda: "Me sorprendió un poco. No es algo que hubiera imaginado que se podría haber hecho funcionar".
En un nuevo artículo publicado hace unos días, OpenAI relata sus últimos resultados con su mano robótica, Dactyl. Esta vez, la mano ha aprendido a resolver un cubo de Rubik con una mano, de nuevo mediante aprendizaje reforzado en un entorno virtual. Se trata de un avance extraordinario, pero no tanto por la capacidad del robot para descifrar este viejo rompecabezas sino porque ese logro mostró un nuevo nivel de destreza.
"Se trata de un problema realmente difícil. El tipo de manipulación requerida para rotar las partes del cubo de Rubik es en realidad mucho más difícil que rotar el propio cubo", destaca el experto en robótica de la Universidad de Michigan (EE. UU.) y especialista en la manipulación de máquinas Dmitry Berenson.
Foto: Durante las pruebas, Dactyl resolvió con éxito el cubo de Rubik incluso en circunstancias inesperadas. Créditos: OpenAI
Del mundo virtual al físico
Tradicionalmente, los robots solo han sido capaces de manipular objetos con formas muy simples. Si bien los algoritmos de aprendizaje reforzado han tenido un gran éxito en llevar a cabo tareas complejas de software, como vencer al mejor jugador humano en el antiguo juego de Go, usarlos para entrenar una máquina física es algo totalmente diferente. Esto se debe a que los algoritmos mejoran mediante prueba y error, en muchos casos, requieren millones de rondas. Probablemente , que un robot físico haga esto en el mundo real requeriría demasiado tiempo y le provocaría un gran desgaste. Incluso podría volverse peligroso si el robot empezara a recopilar datos de forma desenfrenada.
Para evitar esto, los especialistas en robótica han empezado a usar simulaciones. Construyen un modelo virtual de su robot y lo entrenan virtualmente para llevar a cabo la tarea en cuestión. El algoritmo aprende las cuestiones de seguridad en el espacio digital que luego son transferidas a un robot físico. Pero ese proceso tiene sus propios desafíos. Es casi imposible construir un modelo virtual que reproduzca exactamente las leyes de la física, las propiedades de los materiales y los comportamientos de manipulación que se ven en el mundo real, y mucho menos en circunstancias inesperadas. Por lo tanto, cuanto más complejo es el robot y la tarea, más difícil resulta aplicar un algoritmo entrenado virtualmente en la realidad física.
Esto es lo que más impresionó a Kaelbling del proyecto de OpenAI del año pasado. La clave de su éxito residía en que el laboratorio codificó las condiciones simuladas en cada ronda de entrenamiento para hacer que el algoritmo se adaptara a las diferentes posibilidades. El experto señala: "Ajustaron su simulador con todo tipo de locuras. No solo cambiaron el nivel de gravedad, también modificaron en qué dirección iba la gravedad. Entonces, al tratar de crear una estrategia que funcionara de manera fiable con todas estas permutaciones locas, el algoritmo realmente terminó funcionando en un robot real".
En este último proyecto, OpenAI ha llevado el enfoque un paso más allá. Antes, los investigadores debían aleatorizar los parámetros de un entorno seleccionando manualmente las permutaciones que creían que darían lugar al mejor algoritmo. Ahora el sistema de entrenamiento lo hace por sí mismo. Cada vez que el robot alcanza un cierto nivel de dominio en el entorno existente, el simulador cambia sus propios parámetros para dificultar aún más las condiciones de entrenamiento.
El resultado es un algoritmo aún más robusto capaz de moverse con la precisión requerida para rotar un cubo de Rubik en el mundo real. A través de las pruebas, los investigadores descubrieron que Dactyl también resolvió con éxito el cubo en varias condiciones para las que no había sido entrenado. Por ejemplo, pudo completar la tarea llevando un guante de goma, mientras tenía unos dedos unidos y mientras sufría los empujones de una jirafa de peluche.
Robots para todo
OpenAI cree que sus últimos resultados proporcionan una fuerte evidencia de que su enfoque facilitará un uso más generalizado de robots capaces de adaptarse en entornos abiertos como la cocina de un hogar. El experto de OpenAI Marcin Andrychowicz señala: "El cubo de Rubik es uno de los objetos rígidos más complicados. Creo que cualquier otro objeto no resultará mucho más difícil ".
Aunque hay tareas más complejas que involucran un mayor número de objetos u objetos deformables, confía en que el método de este laboratorio permita entrenar robots para todos estos desafíos. El experto señala: "Creo que este enfoque es el que logrará la adopción generalizada de la robótica".
Sin embargo, Berenson y Kaelbling siguen siendo escépticos. El primero afirma: "Puede parecer que hay una teoría o sistema unificado, y OpenAI solo está aplicando su enfoque a una u otra tarea concreta. Se trata de tareas aisladas. Hay componentes comunes, pero también hay una gran cantidad de ingeniería para que cada nueva tarea funcione. Por eso me siento un poco incómodo con las afirmaciones de que esto logrará un uso generalizado de los robots. Me parece un enfoque muy específico para una aplicación específica".
Cree que parte del problema reside en el aprendizaje reforzado en sí. Por naturaleza, esta técnica está diseñada para lograr un objetivo concreto, con cierta flexibilidad para manejar algunas variaciones. Pero en el mundo real, el número de posibles variaciones se extiende más allá de lo que cualquiera sería capaz de simular. En una tarea de limpieza, por ejemplo, podríamos tener diferentes tipos de fregonas, diferentes tipos de manchas y diferentes tipos de suelos.
El aprendizaje reforzado también está diseñado para aprender nuevas capacidades desde cero. Eso no es eficiente en robótica ni representa el proceso de aprendizaje humano. Kaelbling apunta: "Si usted ya es una persona razonablemente competente y yo intento enseñarle una habilidad motriz en la cocina, como por ejemplo batir algo, no es como si usted tuviera que aprender todo el control motriz de nuevo".
Para superar estas limitaciones Berenson cree que harán falta otras técnicas robóticas más tradicionales. El experto concluye: "Al final, habrá algunos procesos de aprendizaje, probablemente aprendizaje reforzado. Pero creo que esos procesos se deberían aplicar mucho más adelante".