Red generativa antagónica (GANs)

Una red generativa antagónica (GANs) es un algoritmo de inteligencia artificial (IA) en que dos redes neuronales compiten en un juego de suma cero con el objetivo de crear y mejorar.

Así, una de ellas crea algo, de forma defectuosa, ya que la IA no sabe crear algo nuevo, pero la otra lo supervisa y mejora, porque eso sí se le da bien. Básicamente, son dos redes que entran en competencia, de manera que lo que una gana, lo pierde la otra y a la inversa (suma cero).

Por ejemplo, una genera la imagen de un perro, pero esta dista mucho de una real. La otra la mejora reduciendo los errores. El resultado es un perro que podría ser confundido con uno de verdad por un observador. Lo que una mejora es porque la otra no lo hizo bien.

Historia de la red generativa antagónica (GANs)

Ian Goodfellow, con 29 años, tuvo una inspiración en 2014 cuando estaba reunido con unos compañeros de universidad. Se fue a casa y llevó a cabo una programación que dio origen a la red generativa antagónica (GANs).

Su propuesta parecía sencilla, pero era fruto de sus elevados conocimientos sobre inteligencia artificial. Consistía en partir de lo que peor hace la IA, crear algo nuevo, para luego conseguir lo que se le da mejor, resolver errores.

Su idea tuvo un gran éxito y acabó trabajando para Google, siendo uno de sus empleados mejor pagados. Él y otros compañeros escribieron un paper (documento científico) que sentó las bases del algoritmo que se utiliza en este proceso.

Cómo funciona la red generativa antagónica (GANs)

En realidad, la idea es simple, aunque el proceso no lo sea. La IA no sabe concebir algo nuevo muy bien, pero sí mejorar lo que ya existe. Por tanto, ponemos a una de ellas, la generativa, a crear algo y la otra, la discriminadora, lo va a mejorar.

Se llama juego de suma cero porque hay un intercambio entre ambas redes. Una genera algo que tiene errores, pierde, la otra lo mejora, gana. Además, ambas ganan y pierden en la misma medida. Por eso, la suma va a ser cero.

Veamos el ejemplo de una foto, en ella, la primera la genera de forma artificial. Entonces la segunda, toma esa foto y discrimina lo que puede ser realista de lo que no lo parece. Así se consigue que se parezca a la referencia real de la que se tomó.

Tipos de red generativa antagónica (GANs)

Existen diversos tipos de GANs:

  • Vainilla GAN. Son las más simples, generador y discriminador se enfrentan a un modelo matemático que deben resolver de la forma óptima.
  • Pirámide laplaciana GAN (LAGAN). En este caso se utiliza la pirámide laplaciana (un diseño matemático). Lo que hace es emplear varias redes neuronales, enfrentándolas dos a dos en diversos niveles.
  • GAN condicional (CGAN). En este tipo de red se introducen parámetros condicionales, es decir, condiciones para que pase o no pase algo. Estos permitirán a la discriminadora diferenciar entre lo que es real y lo que es falso.
  • Súperresolución GAN (SRGAN). Utiliza la red generativa antagónica (GANs) para mejorar imágenes y conseguir que sean de alta calidad.

Aplicaciones de la una red generativa antagónica (GANs)

La red generativa antagónica (GANs) tiene diversas aplicaciones, debido a su eficacia y eficiencia ofreciendo resultados. Algunas de ellas son:

  • Fotografía. Aquí existen diversos ejemplos, como las imágenes de diseño industrial, de ropa e incluso las de personas o animales. Con una GAN se pueden conseguir efectos muy próximos a la realidad.
  • Vídeos. Aparte de los propios videojuegos, que veremos más abajo, las imágenes en movimiento siempre han sido un reto. El problema eran los pasos intermedios de un gesto a otro. Con esta técnica, se han conseguido suprimir, permitiendo un movimiento natural próximo al que se daría en la realidad.
  • Visión nocturna. Las herramientas que permiten este tipo de visión han evolucionado de forma vertiginosa, sobre todo, en el ámbito militar. Muchas veces, la diferencia entre una imagen nítida y otra que no lo es, puede suponer la diferencia entre el éxito o el fracaso.
  • De 2D a 3D. Algo similar sucede con las imágenes que estando en 2D se quieren transformar en 3D. En este caso, las redes neuronales «rellenarían» la información que falte para conseguir la transformación.

La red generativa antagónica (GANs) en los videojuegos

El sector de los videojuegos ha evolucionado desde los primeros, basados en aspectos de diseño muy básicos, hasta los realistas de años posteriores. Detrás de muchas de esas mejoras, están las redes neuronales que, trabajando en parejas, permiten el milagro.

Así, una de las aplicaciones es, precisamente, hacer realistas unos movimientos de personas o animales, que años antes eran impensables. De hecho, estas GANs han permitido que la experiencia del jugador se aproxime cada vez más a la que tendría en el mundo real.

Básicamente, se toman imágenes reales, realizadas por humanos con ciertos sensores. Una vez se procesan, la red generativa antagónica (GANs) se encarga de ejecutar el resto de los movimientos y expresiones necesarias para el contexto del juego, imitando los datos reales.

¿Quieres referenciar este artículo?

Enrique Rus Arias , 04 de abril, 2023
Red generativa antagónica (GANs). Economipedia.com