DeepMind desarrolla un sistema de inteligencia artificial capaz de programar de forma creativa
La compa?¨ªa de Google enfrent¨® su herramienta a una serie de desaf¨ªos complejos y obtuvo resultados similares a los de los ¡®hackers¡¯ e ingenieros que participaron en la competici¨®n
El sue?o (o pesadilla) de que las m¨¢quinas programen por s¨ª mismas est¨¢ un pasito m¨¢s cerca de hacerse realidad. DeepMind, la puntera compa?¨ªa inglesa de desarrollo de sistemas de inteligencia artificial (IA) adquirida por Google en 2014, present¨® ayer AlphaCode, una herramienta capaz de escribir c¨®digo a nivel competitivo. El m¨¦rito del programa es haber conseguido un nivel de eficacia y creatividad en la resoluci¨®n de problemas comparable a la media de programadores humanos, algo nunca antes logrado.
No es el primer sistema capaz de programar: Copilot, de Microsoft, ya demostr¨® el a?o...
El sue?o (o pesadilla) de que las m¨¢quinas programen por s¨ª mismas est¨¢ un pasito m¨¢s cerca de hacerse realidad. DeepMind, la puntera compa?¨ªa inglesa de desarrollo de sistemas de inteligencia artificial (IA) adquirida por Google en 2014, present¨® ayer AlphaCode, una herramienta capaz de escribir c¨®digo a nivel competitivo. El m¨¦rito del programa es haber conseguido un nivel de eficacia y creatividad en la resoluci¨®n de problemas comparable a la media de programadores humanos, algo nunca antes logrado.
No es el primer sistema capaz de programar: Copilot, de Microsoft, ya demostr¨® el a?o pasado que pod¨ªa programar de forma solvente. Sin embargo, este sistema fue acusado de aprovechar partes de c¨®digo disponibles en GitHub, el repositorio de c¨®digo abierto con el que fue entrenado. En programaci¨®n es una pr¨¢ctica com¨²n aprovechar partes de c¨®digo ya desarrolladas para proyectos nuevos, una especie de corta y pega con el que ahorrar tiempo y recursos para enfocarlos en a?adir nuevas funcionalidades. Con todo, se acus¨® al sistema de Microsoft de plagiar en exceso esos fragmentos de c¨®digo con los que se aliment¨®.
La forma de operar de AlphaCode, seg¨²n aseguran sus responsables, es m¨¢s creativa. Tambi¨¦n copia c¨®digo de otros, pero a niveles similares a los que lo hacen cualquier programador. El sistema se apoya en las llamadas redes neuronales profundas, el modelo m¨¢s aplicado en el avance del aprendizaje autom¨¢tico o deep learning. Esta rama de la inteligencia artificial pone a trabajar al mismo tiempo a varias capas de sistemas de IA y los conecta entre s¨ª, tratando de imitar en la medida de lo posible el funcionamiento de las neuronas del cerebro humano. En este caso, AlphaCode se entren¨® con montones de ejemplos de c¨®digo sacados tambi¨¦n de GitHub y de la competici¨®n de hackers Codeforces. Cuando se le expone un problema complejo, el sistema de DeepMind elabora una cantidad masiva de soluciones distintas para luego seleccionar las diez mejores.
Los desarrolladores de AlphaCode decidieron probar su sistema en una competici¨®n (la mencionada Codeforces) con programadores e ingenieros, en la que se presenta una serie de problemas y luego se punt¨²a las respuestas aportadas por los participantes. Los resultados fueron muy buenos: se prob¨® en diez rondas y se dieron cuenta de que el programa sacaba una puntuaci¨®n que se situaba en la media de la obtenida por los humanos. Qued¨® entre el 54% de los que mejor lo hicieron de los 5.000 participantes. ¡°Es la primera vez que un sistema computacional consigue un nivel tan competitivo en una competici¨®n para programadores de ¨¦lite¡±, subrayan desde DeepMind.
Que el sistema de DeepMind se haya desempe?ado bien en ese desaf¨ªo habla de la capacidad de AlphaCode. ¡°Los problemas a los que se enfrent¨® no los hab¨ªa visto antes el modelo durante su entrenamiento. Solucionar de forma creativa estos desaf¨ªos requiere una combinaci¨®n de pensamiento cr¨ªtico, l¨®gica, algoritmos, programaci¨®n y entendimiento del lenguaje natural¡±, a?aden los desarrolladores de la herramienta.
¡°Nunca imagin¨¦ que el aprendizaje autom¨¢tico alcanzar¨ªa un sistema similar al de los competidores humanos¡±, asegura el espa?ol Oriol Vinyals, investigador principal de DeepMind, director de investigaci¨®n en aprendizaje profundo de la compa?¨ªa londinense y responsable del programa AlphaCode. ¡°?Esto es solo el principio! Aunque logramos resolver m¨¢s del 30% de los problemas competitivos y conseguir un ranking comparable con la media de los que compiten en Codeforces, a¨²n queda mucho por hacer. Tambi¨¦n hemos fijado un est¨¢ndar para que otros investigadores puedan tambi¨¦n evaluar sus ideas y avanzar las fronteras de la investigaci¨®n en IA en este interesante tema¡±.
AlphaCode est¨¢ lejos de poder ser usado en otros campos que no sean la programaci¨®n competitiva: su terreno es el de la investigaci¨®n. ¡°Sin embargo, el uso de sistemas de generaci¨®n de c¨®digo en aplicaciones presenta muchas oportunidades para programadores¡±, sostiene Vinyals. ¡°Muchas de las herramientas que se han desarrollado a trav¨¦s de investigaci¨®n, como los compiladores, han ayudado a los programadores a pensar a un nivel m¨¢s alto de abstracci¨®n para poder as¨ª centrar sus esfuerzos en la funci¨®n del programa, en vez del c¨®digo en s¨ª¡±, a?ade el experto.
La m¨¢quina vence al jugador
DeepMind consigui¨® fama mundial en 2016 gracias a AlphaGo, un sistema desarrollado por la compa?¨ªa que fue capaz de ganar a Lee Sedol, campe¨®n surcoreano de Go y uno de los mejores jugadores del mundo. Go es un juego de origen chino en el que la intuici¨®n desempe?a un papel clave considerado mucho m¨¢s complejo que el ajedrez. AlphaGo no solo derrot¨® 4 a 1 al gran campe¨®n, sino que para hacerlo invent¨® jugadas nunca antes vistas por los expertos.
Un a?o despu¨¦s, en 2017, hizo otra demostraci¨®n de m¨²sculo con AlphaZero, un programa que derrot¨® al mejor software de ajedrez que hab¨ªa en ese momento. Para que lo lograra bast¨® que sus creadores le ense?aran las reglas del juego y le dejaran practicar consigo mismo durante tan solo cuatro horas.
En 2019, otra de sus creaciones, AlphaStar, derrot¨® 10 a 1 a los mejores jugadores del mundo de StarCraft II, un popular videojuego de estrategia en tiempo real. El desaf¨ªo era especialmente complejo porque en este juego, en el que dos o m¨¢s jugadores tienen que desarrollar una peque?a econom¨ªa de guerra y un ej¨¦rcito con el que aplastar a los dem¨¢s, cada uno solo ve la parte del mapa en la que tiene a sus unidades. Es decir, la m¨¢quina no sabe qu¨¦ est¨¢ haciendo el contrincante y por tanto debe tomar decisiones basadas en la intuici¨®n.
Puedes seguir a EL PA?S TECNOLOG?A en Facebook y Twitter o apuntarte aqu¨ª para recibir nuestra newsletter semanal.