Hace más de un año, OpenAI, el laboratorio de investigación de Inteligencia Artificial (IA) con fines de lucro con sede en San Francisco, anunció que había entrenado una mano robótica para manipular un cubo con notable destreza.
Eso podría no ser transcendental. Sin embargo, en el mundo de la IA, fue impresionante por dos razones. Primero, la mano se había enseñado a sí misma cómo jugar con el cubo usando un algoritmo de aprendizaje por refuerzo, una técnica basada en la forma en que los animales aprenden. En segundo lugar, todo el entrenamiento se había realizado en simulación, pero logró traducirlo con éxito al mundo real. En ambos sentidos, fue un paso importante hacia robots más ágiles para aplicaciones industriales y de consumo.
“Me sorprendió un poco”, dice Leslie Kaelbling, una robotista y profesora del MIT, sobre los resultados de 21018. “No es algo que hubiera imaginado que podrían haber hecho funcionar”.
En un nuevo documento publicado hoy, OpenAI dio a conocer los últimos resultados con su mano robótica, Dactyl. Esta vez Dactyl ha aprendido a resolver el cubo de Rubik con una mano, una vez más a través del aprendizaje por refuerzo en simulación. Esto es notable no tanto porque un robot descifró el viejo rompecabezas sino porque el logro tomó un nuevo nivel de destreza.
“Este es un problema realmente difícil”, dice Dmitry Berenson, un robotista de la Universidad de Michigan que se especializa en la manipulación de máquinas. “El tipo de manipulación requerida para rotar las partes del cubo de Rubik es en realidad mucho más difícil que rotar un cubo”.
Del mundo virtual al físico
Tradicionalmente, los robots solo han podido manipular objetos de formas muy simples. Si bien los algoritmos de aprendizaje por refuerzo han tenido un gran éxito en el logro de tareas complejas en el software, como vencer al mejor jugador humano en el antiguo juego de Go, pero usarlos para entrenar una máquina física ha sido una historia diferente. Esto se debe a que los algoritmos deben refinarse mediante prueba y error, en muchos casos, con millones de rondas. Esto probablemente tomaría demasiado tiempo y provocaría mucho desgaste que un robot haga esto en el mundo real. Incluso podría ser peligroso si el robot se confunde al momento de recopilar datos.
Para evitar esto, los robotistas usan la simulación: construyen un modelo virtual de su robot y lo entrenan virtualmente para hacer la tarea en cuestión. El algoritmo aprende sobre la seguridad del espacio digital y luego puede ser trasladado a un robot físico. Pero ese proceso viene con sus propios desafíos. Es casi imposible construir un modelo virtual que reproduzca exactamente las mismas leyes de física, propiedades materiales y comportamientos de manipulación que se ven en el mundo real, y mucho menos circunstancias inesperadas. Por lo tanto, cuanto más complejo es el robot y la tarea, más difícil es aplicar un algoritmo virtualmente entrenado en la realidad física.
Esto es lo que impresionó a Kaelbling sobre los resultados de OpenAI hace un año. La clave de su éxito fue que el laboratorio codificó las condiciones simuladas en cada ronda de entrenamiento para hacer que el algoritmo sea más adaptable a las diferentes posibilidades.
“Arruinaron su simulador con todo tipo de locuras”, dice Kaelbling. “No solo cambiaron cuánta gravedad hay, sino que cambiaron en qué dirección apunta la gravedad. Entonces, al tratar de construir una estrategia que funcionara de manera confiable con todas estas locas permutaciones de la simulación, el algoritmo realmente terminó funcionando en el robot real “.
La inteligencia artificial OpenAI va mejorando a pasos agigantados. Ahora una mano robótica puede resolver un cubo Rubik (una sola mano).
Pero lo más fascinante (en mi opinión) no es lo que se ve a simple vista… https://t.co/lNpyDPvC2N
— Nachilos (@nachilos_) October 15, 2019
En el último artículo, OpenAI lleva esta técnica un paso más allá. Anteriormente, los investigadores tenían que aleatorizar los parámetros en el entorno seleccionando manualmente qué permutaciones creían que conducirían a un mejor algoritmo. Ahora el sistema de entrenamiento hace esto por sí mismo. Cada vez que el robot alcanza un cierto nivel de dominio en el entorno existente, el simulador ajusta sus propios parámetros para dificultar aún más las condiciones de entrenamiento.
El resultado es un algoritmo aún más robusto que puede moverse con la precisión requerida para rotar el cubo de Rubik en la vida real. A través de las pruebas, los investigadores descubrieron que Dactyl también resolvió con éxito el cubo en varias condiciones en las que no había sido entrenado. Por ejemplo, pudo completar la tarea usando un guante de goma, mientras tenía unos dedos unidos y mientras una jirafa de peluche lo empujaba.
Robots de uso general
OpenAI cree que los últimos resultados proporcionan una fuerte evidencia de que su enfoque desbloqueará más robots de uso general que pueden adaptarse en entornos abiertos como la cocina de un hogar. “El cubo de Rubik es uno de los objetos rígidos más complicados”, dice Marcin Andrychowicz de OpenAI. “Creo que otros objetos no serán mucho más complicados”.
Aunque hay tareas más complejas que involucran más objetos u objetos deformables, dice, confía en que el método del laboratorio puede entrenar robots para todos ellos: “Creo que este enfoque es el enfoque para la adopción generalizada de la robótica”.
Berenson y Kaelbling, sin embargo, siguen siendo escépticos. “Puede haber una impresión de que hay una teoría o sistema unificado, y ahora OpenAI solo lo está aplicando a esta tarea y esa tarea”, dice Berenson sobre el artículo anterior y actual. “Pero eso no es lo que está sucediendo en absoluto. Estas son tareas aisladas. Hay componentes comunes, pero también hay una gran cantidad de ingeniería aquí para que cada nueva tarea funcione “.
“Es por eso que me siento un poco incómodo con las afirmaciones sobre esto que lleva a los robots de uso general”, dice. “Veo esto como un sistema muy específico destinado a una aplicación específica”.
Berenson cree que parte del problema es el aprendizaje de refuerzo en sí. Por naturaleza, la técnica está diseñada para dominar una cosa en particular, con cierta flexibilidad para manejar variaciones. Pero en el mundo real, el número de variaciones potenciales se extiende más allá de lo que razonablemente puede simularse. En una tarea de limpieza, por ejemplo, podría tener diferentes tipos de trapeadores, diferentes tipos de derrames y diferentes tipos de pisos.
El aprendizaje de refuerzo también está diseñado para aprender nuevas capacidades en gran medida desde cero. Eso no es eficiente en robótica ni fiel a cómo aprenden los humanos. “Si ya eres un humano razonablemente competente y traté de enseñarte una habilidad motriz en la cocina, como si nunca hubieras batido algo con una cuchara, no es como si tuvieras que aprender todo tu control motor nuevamente”. dice Kaelbling
Berenson argumenta que ir más allá de estas limitaciones requerirá otras técnicas robóticas más tradicionales. “Habrá algunos procesos de aprendizaje, probablemente aprendizaje de refuerzo, al final del día”, dice. “Pero creo que en realidad deberían venir mucho más tarde”.
Con información de: MIT Technology Review