sábado, 17 de diciembre de 2016

Un mundo virtual para entrenar inteligencias artificiales

Universe está compuesto por unos mil 'entornos' formados por avanzados videojuegos, como Minecraft o Grand Theft Auto V, que se utilizan para simular la vida real

ALVARO IBÁÑEZ ‘ALVY’ | MICROSIERVOS

10 DIC 2016 - 18:04 CET

OpenAI es una organización sin ánimo de lucro dedicada a impulsar el desarrollo de la inteligencia artificial. Su última aportación tecnológica es Universe, una especie de mundo virtual en el que los desarrolladores de software pueden entrenar ideas y algoritmos (reglas precisas para resolver problemas) y medir los resultados principalmente a partir de juegos y sencillas simulaciones.

La tarea no es fácil ni barata. OpenAI está patrocinada por Microsoft, Amazon, InfoSys e YCombinator. Además, uno de sus impulsores es Elon Musk, fundador también de Tesla, la compañía más conocida por sus coches eléctricos con conducción autónoma. La idea de esta "plataforma de entrenamiento de inteligencias artificiales" es que en el futuro –y ya sea en vehículos, robots o el software que gestiona los aparatos que nos rodean– esas inteligencias artificiales sean seguras y que estén repartidas de la forma más amplia e igualitaria posible.

El camino hacia la inteligencia artificial

El terreno en el que se ha movido hasta ahora OpenAI incluye ideas aplicadas a la robótica y conceptos tales como lo que los técnicos denominan aprendizaje por refuerzo, aprendizaje automático y aprendizaje profundo. Todo esto incluye técnicas más tangibles como son la exploración segura, la robustez y la escalabilidad. ¿Se puede programar un robot para caminar por el borde de un precipicio sin que se caiga al tantear el terreno? ¿Podría lograrse que un algoritmo de reconocimiento de rostros explique que el jarrón que está viendo no solo "no es una cara", sino por qué? ¿Se puede evitar que un robot barrendero logre el objetivo de mantener limpia una calle sin dejarse llevar por artimañas como evitar mirar en los sitios donde hay suciedad, engañándose a sí mismo al hacerlo?

Muchos de los primeros trabajos de OpenAI trataron sobre inteligencia artificial aplicada al reconocimiento de rostros o las tareas clásicas de aprendizaje por refuerzo. Hace un tiempo presentaron OpenAI Gym, un conjunto de herramientas diseñadas precisamente para este tipo de algoritmos: allí pequeños programas podían jugar a Pong, al Aterrizaje Lunar o incluso a versiones simplificadas del Go y otros juegos de mesa. Eran ejemplos muy sencillos en los que había pocos controles –básicamente los de un joystick– y donde el objetivo está muy claramente definido: obtener una mayor puntuación, vencer a un contrincante o alargar una partida todo el tiempo posible.

Nuevos universos en los que "jugar"

Ahora, con Universe, las posibilidades se han multiplicado gracias a la incorporación de otros juegos mucho más avanzados y complejos. En total calculan que son unos mil entornos, que es el nombre técnico que reciben. Entre ellos están videojuegos tan complejos y conocidos como Portal, Minecraft o Grand Theft Auto V.

Estos juegos se hacen funcionar en unos servidores de la nube en lo que se denominan máquinas virtuales, algo en cierto modo equivalente a un PC convencional. Con esas máquinas interactúa el algoritmo, recibiendo siempre unos 60 fotogramas por segundo de imágenes y disponiendo de controles y datos más amplios: movimientos del ratón, puntuaciones, y otros (como la velocidad de un coche en una carrera).

Más allá de los juegos

Naturalmente, programar agentes de inteligencia artificial para todos estos mundos es mucho más complicado que jugar al Pong. Pero, en cierto modo, también supone adelantar trabajo: un buen algoritmo que analice las realistas imágenes de GTA V y sea capaz de mantener al coche en su carril solo con "mirar la pantalla" probablemente se comportará de forma similar controlando un coche auténtico equipado con una cámara frontal.

Un detalle sumamente interesante es que además de los videojuegos convencionales de un montón de productoras (como Valve, EA, Microsoft y otras, con quienes OpenAI mantiene acuerdos) también se ha creado una especie de adaptador para juegos en tecnología Flash de Adobe y otro para tareas de navegación web.

Esto quiere decir que, por un lado, se puede enlazar con unas ocho líneas de código con cualquier aplicación en Internet que funcione en Flash. Y por otro –y esto es tal vez más interesante– que se puede lanzar a un agente a pedir páginas web e interactuar con ellas. Es algo que abre la posibilidad de crear agentes capaces de entender y rellenar formularios de datos, interactuar con software científico (como ejemplo destacado: Mathematica), comportarse como bots con usuarios reales y un sinfín de otras posibilidades.

Todo esto no solo ayudará al desarrollo de mejores algoritmos y nuevas inteligencias artificiales, sino también a mejorar la seguridad de su comportamiento. En un mundo en el que muchas aplicaciones solo pueden permitirse un fallo cada mil intentos o cada millón (siendo el objetivo "ninguno", aunque ni siquiera los humanos podamos alcanzar tanta perfección) entornos como los de Universe y OpenAI pueden resultar sumamente útiles.

Entre los próximos títulos que se han anunciado como entornos de Universe están juegos más avanzados como Civilization (estrategia), Kerbal Space Program (para construir naves espaciales y colonizar planetas) o FoldIt (plegar proteínas para curar enfermedades. Todo esto da una idea de que su utilidad puede ir mucho más allá de lo que parece hoy en día.


http://tecnologia.elpais.com/tecnologia/2016/12/09/actualidad/1481274381_916477.html