Antes de entrar en lo que las Generative Adversarial Networks pueden hacer por nosotros, veamos lo que son en realidad.
Se trata de un sistema de aprendizaje automático (machine learning)desarrollado en 2014 por un equipo dirigido por Ian Goodfellow. El propósito de una Generative Adversarial Network es crear diseños propios basados en un conjunto de datos reales. El resultado es tan engañosamente real que es imposible saber que la imagen no proviene de una mano humana. Para conseguir estos resultados, se utilizan dos redes neuronales que compiten entre ellas.
La tarea de la red generadora es crear una falsificación. La red se alimenta de datos, por ejemplo, fotos de personas al azar y, a partir de la información recibida, crea su propia foto. Para esto, la red tiene que aprender primero cuáles son las características comunes de todas las fotos mostradas. De este modo, la nueva imagen no es una imitación de los datos originales, sino una obra completamente nueva, pero similar. En nuestro ejemplo, sería la foto de una persona (que no existe).
Los datos básicos y la información que ha generado se entregan juntos a la segunda red. La tarea de la red discriminadora es decidir si los datos que recibe son verdaderos o falsos. La imagen no solo se declara falsa si se desvía demasiado de los datos básicos, sino también si es una imitación demasiado perfecta. Si la red generadora se limita a extraer un promedio de los datos y a crear una nueva obra a partir de este, el resultado tiene un aspecto artificial. De este modo, la red discriminadora también filtra los datos que no parecen naturales.
Ambas redes compiten entre ellas. Cuando la red discriminadora detecta los datos falsificados, los devuelve. En este caso, la red generadora no es lo suficientemente buena todavía y, por lo tanto, tiene que seguir aprendiendo. Sin embargo, a su vez, la red discriminadora aprende también. Como ambas redes neuronales se entrenan mutuamente, están relacionadas con los sistemas de deep learning. La red generadora intenta crear conjuntos de datos que tengan una apariencia tan auténtica que engañen a la discriminadora. Esta, por su parte, trata de analizar y comprender los ejemplos reales con tanta precisión que los datos falsos no tengan ninguna posibilidad de ser identificados como reales.