Máquinas que se programan a sí mismas: ¿una ayuda para los humanos o un riesgo?
Aunque la inteligencia artificial es cada vez más eficiente corrigiendo errores en sus líneas de código, la intervención humana sigue siendo imprescindible
Los primeros programadores escribían código a mano, garabateando símbolos en papel cuadriculado antes de convertirlos en tarjetas perforadas que podían ser procesadas por un ordenador. Con el paso del tiempo, las herramientas para escribir código se han ido perfeccionando con el objetivo de hacer la tarea más eficiente y con menos errores, hasta tal punto que incluso se está enseñando a máquinas a programar a otras máquinas, tal y como propone una de las últimas investigaciones del Instituto Tecnológico de Massachusetts (MIT). Este tipo de avances abren el debate sobre si los ordenadores están...
Los primeros programadores escribían código a mano, garabateando símbolos en papel cuadriculado antes de convertirlos en tarjetas perforadas que podían ser procesadas por un ordenador. Con el paso del tiempo, las herramientas para escribir código se han ido perfeccionando con el objetivo de hacer la tarea más eficiente y con menos errores, hasta tal punto que incluso se está enseñando a máquinas a programar a otras máquinas, tal y como propone una de las últimas investigaciones del Instituto Tecnológico de Massachusetts (MIT). Este tipo de avances abren el debate sobre si los ordenadores están siendo cada vez más autosuficientes y sobre el papel que los humanos tienen en su programación.
Trabajando con un equipo de Intel, el MIT ha desarrollado un sistema llamado Machine Inferred Code Similarity que puede leer el código que ha escrito un humano e interpretar la orden que le está dando al ordenador. Es decir, puede entender el código y, gracias a ello, sugerir otras formas más eficientes en las que se podría programar a la máquina ofreciendo correcciones y formas de hacerlo más rápido. Para ello, compara fragmentos del software con millones de otros programas con los que ha sido entrenado previamente.
A medida que los sistemas se vuelven cada vez más complejos, rastrear los errores es más difícil para los humanos. “A veces, los equipos de codificadores pueden tardar días y días en solucionar un solo fallo”, explica Justin Gottschlich, director del grupo de investigación, en MIT Technology Review. Esto fue lo que llevó a Gottschlich y sus colegas a buscar una forma de automatizar el proceso.
Intel planea usar la herramienta como un sistema de recomendación de código para desarrolladores internos. “También podría usarse para traducir el software escrito en un lenguaje antiguo a uno más moderno e incluso para que los humanos desarrollen aplicaciones para el móvil simplemente describiendo con palabras cómo quieren que sea el programa”, explica Gottschlich.
De momento, este enfoque se puede utilizar para que las máquinas escriban su propio código, basándose en una serie de programas preexistentes “con una mínima supervisión o participación humana”. Esto es precisamente lo que tienen en común distintos proyectos que han trabajado en esta misma idea de automatizar la programación de ordenadores: todos parten un input humano.
En los últimos años, los ejemplos son muchos: Microsoft está supervisando código muy básico escrito por máquinas en sus herramientas de desarrollo de software, Facebook trabaja con un sistema llamado Aroma que autocompleta pequeños programas y DeepMind ha desarrollado una red neuronal que puede generar versiones de algoritmos simples más eficientes que los ideados por programadores.
Siempre es necesaria la intervención humana, por lo que el temor a perder el control sobre la inteligencia artificial sigue siendo infundado a día de hoy, según la opinión de los expertos.
“Los sistemas de inteligencia artificial que corrigen el código de otras máquinas lo hacen respecto a un modelo diseñado por un experto. No definen de manera autónoma qué se programa y qué no”, explica Luis González, socio responsable de Robotics en Deloitte.
El margen que estos sistemas tienen para improvisar es muy limitado. “Las máquinas solo pueden tomar decisiones en el entorno para el que están diseñadas. Por lo tanto, si una máquina tiene que hacer tornillos, nunca podrá hacer otra cosa”, coincide Jaime Lagunas, responsable del área de inteligencia aplicada de Accenture en España, Portugal e Israel. “Teniendo el cuidado adecuado, no se espera, al menos con la tecnología actual, que puedan llegar a hacer daño”.
Ambos hacen hincapié en que la idea de perder el control de las máquinas sigue siendo un escenario de ciencia ficción y en que todavía no hemos llegado a un punto en que la creación de inteligencia artificial autosuficiente deba ser una preocupación real. “No quiero desmerecer lo que somos capaces de hacer con la IA, pero a día de hoy solo podemos imitar parcelas muy simples del comportamiento humano. Las máquinas son muy buenas llevando a cabo en una tarea específica, pero no en todo lo demás”, añade González.
Además, la inteligencia artificial aprende sobre algo que un humano ha definido, por eso, “muchas empresas ya están trabajando para asegurarse de que cualquier decisión de la IA está basada en comportamientos éticos por parte de los programadores de las máquinas. Sin duda, es la responsabilidad de las empresas limitar lo que pueden llegar a hacer las máquinas y cómo deben actuar conforme a criterios éticos”, señala Lagunas.