Conceptos de inteligencia artificial: qué son las GANs o redes generativas antagónicas

La inteligencia artificial ha dado pasos de gigante a la hora de ser capaz de identificar objetos en una imagen. ¿Necesitamos, por ejemplo, procesar miles de fotos de mascotas para que identifique en cuál de ellas aparecen gatos? Ya es posible. La IA también es capaz, por ejemplo, de desentrañar las reglas de un juego a fuerza de jugar miles de veces contra ella misma.

Pero el problema surge cuando a una IA le pedimos que cree algo nuevo, algo que no existía antes. Porque la IA podrá simular nuestra inteligencia, pero no nuestra imaginación.

El origen de las GANs

Hace cinco años, durante un debate en un bar con compañeros del doctorado, un estudiante de la Universidad de Montreal tuvo una idea acerca de cómo solventar este obstáculo.

"Quería probar que tenía razón así que me fui del bar, escribí el código de madrugada, mandé un mail a mis compañeros y luego elaboramos un paper juntos".

Como casi todo en la ciencia, el joven se basaba en investigaciones anteriores, como los trabajos publicados por Jürgen Schmidhuber en la década de los 90 sobre 'previsibilidad de minimización' y 'curiosidad artificial', así como en el concepto de 'aprendizaje de Turing' teorizado en 2013 por Li, Gauci y Bruto.

El estudiante en cuestión, llamado Ian Goodfellow, tenía entonces 29 años y terminaría trabajando poco después para Google Brain (y siendo uno de los "35 innovadores menores de 35 años" del MIT Technology Review de 2017). Actualmente es uno de los investigadores mejor pagados del sector.

El documento que firmó junto a sus site compañeros, también investigadores de la Univ. de Montreal, llevaba como título el nombre de su invención: "Generative Adversarial Nets".

¿Cómo funcionan las GANs?

De estas 'redes generativas antagónicas' (tal es su traducción en español), más conocidas sencillamente como GANs, dijo en una ocasión Yann LeCon, Científico Jefe de inteligencia artificial en Facebook AI Research, que eran "la idea más interesante en machine learning de la última década".

Esa idea en la que se sustentan es tan simple como ingeniosa, pues radica en enfrentar dos redes neuronales que compiten en un constante juego de suma cero (la ganancia o pérdida de una de las redes se compensa con la ganancia o pérdida de la opuesta).

Así, una de las redes, la generativa, va produciendo muestras de aquello que queramos crear (imágenes, textos, sonidos...); ese primer intento será fallido, pues ya hemos dicho que a la IA se le da mal crear cosas nuevas. Como afirma el propio Goodfellow,

"Si empezamos con un dataset de imágenes de perros, al comienzo el generador ofrecerá imágenes al azar, que parecerán ruido estático, como el de una TV analógica vieja".

Pero ahí es donde entra la segunda red, la discriminadora; entrenada en algo que a la IA se le da mucho mejor —la identificación—, analiza el material producido por la red generativa y determina si se ajusta a lo que está buscando: es decir, hablando en términos técnicos, decide si cada instancia de datos que revisa pertenece o no al conjunto de datos de entrenamiento.

Volviendo al ejemplo de Goodfellow,

"Al entrenarlas, el generador logra ofrecer imágenes que engañan al discriminador. Así, al principio, el generador hará bien los colores. Hará imágenes verdes y marrones porque la mayoría de las imágenes son de perros marrones en pasto verde y el generador será engañado por un rato.

Y luego el discriminador aprenderá a buscar las formas de perros, y entonces el generador deberá hacer bien las formas para engañar al discriminador. Es un proceso donde cada una de las redes va mejorando y aprende de su oponente".

Si no es así, si la red generativa no es capaz de 'colarle' ese material como auténtico, lo descartará, notificando a la generativa en qué medida se ha acercado a esa referencia deseada (su modelo de entrenamiento). Eso fuerza a la red generativa a realizar un nuevo intento.

Vía: Skymind

Así, puede haber cientos, miles o millones de intentos antes de que la red discriminadora acepte el resultado ofrecido por su rival. Mientras tanto, rechazo tras rechazo, la red generativa habrá ido 'aprendiendo' qué es lo que busca la discriminadora, quien a su vez le habrá ido guiando con la información que aportaba con sus porcentajes de acierto.

Bien pensado, es un poco como cuando nos dejamos guiar en la búsqueda de un objeto con el juego de 'caliente y frío': el papel de la red discriminadora es decirle a la generativa cómo de 'caliente' se queda en cada uno de sus intentos.

¿Cuál es la utilidad de las GANs?

Una de las últimas y más sorprendentes aplicaciones de esta tecnología, que nos permite 'poner cara' -nunca mejor dicho- al avance que representan las GANs, son los generadores de rostros humanos fake, como el DCGAN que desarrolló Nvidia y que ahora permite generar rostros hiperrealistas (o casi) que se no corresponden con ninguna persona real.

A partir de esta tecnología se han desarrollado varios generadores web que no se limitan a las caras, atreviéndose también con habitaciones, personajes manga o gatos (siendo éste último el experimento más fallido, por lo variable de su pose corporal).

Los usos de las GANs en el campo multimedia no se limitan a la imagen, llegan incluso al vídeo, siendo la tecnología responsable de los polémicos deepfakes.

Pero Goodfellow está convencido de que su creación puede llegar a ofrecer mucho más a la humanidad:

"Una de las razones por las cuales quise dedicarme a las GANs es que estos modelos tienen el potencial de generar objetos que podemos usar en el mundo real.

En el futuro creo que GAN se va a usar en varias disciplinas, como para el diseño de medicamentos, [...] Se podría usar GAN para diseñar chips más rápidos, autos más eficientes, edificios que sean más resistentes a los terremotos, o que sean más económicos de construir. Toda esta tecnología es aún incipiente".

Ver todos los comentarios en https://www.xataka.com

VER 2 Comentarios

Portada de Xataka