Los avances en inteligencia artificial son cada vez más impresionantes y al mismo tiempo perturbadores. A finales de 2018 les contamos sobre una red neuronal que estaba generando caras de personas que no existen y los resultados eran realmente impresionantes.
En estos momentos es más fácil que nunca para un algoritmo crear rostros de personas que no son reales, y lo que hace posible esta hazaña son las llamadas Generative Adversary Networks (GAN), en español «Redes generativas antagónicas«. Dos sistemas de inteligencia artificial que pueden interactuar entre sí para generar algo completamente nuevo.
De la identificación a la creación
La inteligencia artificial ya se usa hace bastante tiempo para identificar cosas, un ejemplo sencillo de esto es cómo Google Fotos puede saber que objetos y que personas aparecen en tus imágenes y hasta clasificarlas. Pero de ahí a crear objetos o personas completamente nuevas, hay un trecho.
Para ambas tareas hay que entrenar a los algoritmos y mostrarles muchas cosas, millones de cosas. Gracias al machine learning el algoritmo puede analizar esos datos y aprender de ellos para hacer predicciones o sugerencias.
Las GAN confieren a las máquinas una especie de sentido de imaginación para poder crear algo nuevo desde cero
Pero identificar algo no es tan complicado como crearlo, «es mucho más fácil identificar un Monet que pintar uno» explica el experto Jonathan Hui. Las GAN son sobre crear, y esto es mucho más difícil que otros campos del aprendizaje automático.
Las redes neuronales buscan imitar el funcionamiento del cerebro humano, pero algo que no habían podido imitar hasta ahora es la imaginación. Es ahí donde entran las redes generativas antagónicas, estas confieren a las máquinas una especie de sentido de imaginación. ¿Cómo? Haciendo competir a dos sistemas.
Dos redes neuronales jugando al gato y el ratón
[embedded content]
El objetivo principal de las GAN es generar datos desde cero. Para ello las GAN emplean dos redes neuronales y las enfrentan mutuamente. La primera red es el «generador» y la segunda es el «discriminador».
Ambas redes fueron entrenadas con un mismo conjunto de datos, pero la primera debe intentar crear variaciones de los datos que ya ha visto, en el caso de los rostros de personas que no existen, debe crear variaciones de los rostros que ya ha visto.
La red discriminatoria debe identificar si ese rostro que está viendo forma parte del entrenamiento original o si es un rostro falso que creó la red generativa. Mientras más lo hace, la red generativa se hace mejor creando y a la red discriminadora se le hace más difícil detectar si el rostro es falso.
La red generadora necesita la discriminadora para saber cómo crear una imitación tan realista que la segunda no logre distinguir de una imagen real
Una red generadora por sí sola crearía solo ruido aleatorio, el concepto es que la red discriminadora hace de guía sobre cuáles imágenes crear y ayuda a la red generativa a aprender los aspectos que comprenden una imagen real.
El modelo entrena a ambas redes y las enfrenta en una dura competición para que se mejoren a sí mismas. Eventualmente, el discriminador será capaz de identificar la más pequeña diferencia entre lo que es real y lo que fue generado, y la red generativa será capaz de crear imágenes que el discriminador no puede distinguir.
Así terminamos con ejemplos como los de la web «this person does not exist» (esta persona no existe). O proyectos como Cycle GAN capaz de replicar el estilo de pintores famosos, o generar zebras a partir de caballos.
No son perfectas, tienen amplio potencial y también son peligrosas
Hasta ahora las GAN se han usado principalmente en imágenes, aunque también con música, pero si le preguntan a nuestro compañeto Santi, no quiere escuchar nunca más las canciones capaz de generar la IA hasta ahora.
Su potencial es enorme, para empresas como NVIDIA, estas redes neuronales pueden ayudar a dar mayor realismo a los videojuegos o a crear aplicaciones de modelado 3D con grandiosos resultados. Pero hay muchas áreas científicas y de ingeniería donde se podrían usar para optimizar algo. GANs que predicen cómo se comportarían partículas, o GANs que generan registros falsos de pacientes tan buenos como los reales para analizar el funcionamiento de un medicamento.
Pero como hay potencial para el bien, hay uno para el mal. Tienes una máquina diseñada para crear falsificaciones, un generador de mentiras, de noticias falsas, una herramienta perfecta para la manipulación política o la difamación.
[embedded content]
Un ejemplo de esto está en los ‘Deepfakes‘ , que van de vídeos porno protagonizados por caras famosas, a un vídeo de Obama diciendo cosas que nunca dijo, o al rostro de Steve Buscemi en el cuerpo de Jennifer Lawrence. Todos tienen un realismo impresionante que deja en evidencia lo fácil que es actualmente hacer que alguien diga cualquier cosa, y lo difícil que será para las personas distinguir lo que es real.
La capacidad de imaginación que tienen las GAN aún es limitada, además que calibrar el duelo entre las dos redes neuronales puede ser complicado, si se puede engañar al discriminador fácilmente, lo que produce la red generativa no será realista.
Pero, el concepto de las GAN nació apenas en 2014 y en un inicio apenas eran capaces de generar imágenes de máximo 1024 píxeles. Es una cuestión probablemente de solo tiempo, cuando gigantes como Google y Facebook también están desarrollando sus propios algoritmos y mejorando la técnica.
Imagen de portada | CoGAN