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 contrinca
Fuente:
Pascual, M. G. (2022, 3 febrero). DeepMind desarrolla un sistema de inteligencia artificial capaz de programar de forma creativa. El PaÃs. Recuperado 8 de febrero de 2022, de https://elpais.com/tecnologia/2022-02-03/deepmind-desarrolla-un-sistema-de-inteligencia-artificial-capaz-de-programar-de-forma-creativa.html