¿Qué significa red generativa adversarial?
Una red generativa adversarial (Generative adversarial network – GAN) es un marco de machine learning que consta de dos redes neuronales: un generador y un discriminador. La función del generador es generar datos sintéticos (como imágenes, texto o audio), mientras que el discriminador intenta distinguir entre los datos sintéticos y los datos reales de un conjunto de entrenamiento.
Durante el entrenamiento, el generador aprende a producir resultados cada vez más realistas intentando engañar al discriminador, y éste aprende a mejorar su capacidad para identificar correctamente los datos sintéticos. Este proceso contradictorio anima a ambas redes a mejorar con el tiempo.
El objetivo final de una GAN es generar datos sintéticos que no se distingan de los datos reales.
Las GAN desempeñan un papel importante en la IA generativa. Se utilizan para aumentar los datos de las aplicaciones de visión por ordenador y generar contenidos de imagen, voz, vídeo y texto.
Los GAN también se utilizan para crear contenido falso profundo.
Cómo funciona una GAN
Las dos redes compiten entre sí en un juego de suma cero. El objetivo del juego es que el generador mejore su capacidad de producir datos sintéticos que parezcan reales y, al mismo tiempo, que el discriminador mejore su capacidad de clasificar correctamente los datos como reales o sintéticos. El juego termina cuando la red discriminadora no es capaz de distinguir los datos sintéticos de la red generativa de los datos reales.
Las GAN están diseñadas específicamente para tareas de machine learning no supervisado y cada ronda del juego de suma cero que juegan las dos redes es en realidad una sesión de entrenamiento.
En cada iteración del juego, el generador introduce en la red discriminadora un lote de muestras de datos reales y un lote de igual tamaño de muestras de datos generados. El discriminador se encarga de asignar altas probabilidades a los datos reales y bajas probabilidades a los datos sintéticos y de compartir esta información con el generador. El generador utiliza esta información para ajustar sus parámetros y vuelven a jugar.
El juego de suma cero crea una dinámica competitiva que ayuda a la red generadora a captar patrones estadísticos de los datos de entrenamiento y a utilizar el deep learning para generar nuevas muestras que presenten características similares. Al mismo tiempo, ayuda a la red discriminadora a aprender más sobre la distribución subyacente de los datos de entrenamiento reales y a mejorar en la clasificación de los nuevos datos que recibe.
A medida que avanza el juego, el generador ajusta continuamente los parámetros para intentar producir datos realistas y, al mismo tiempo, el discriminador ajusta continuamente sus propios parámetros para ser más preciso en sus predicciones.
El juego continúa hasta que la red discriminadora no es capaz de distinguir entre las muestras reales y las generadas. En este punto, las dos redes han alcanzado la convergencia y se detiene el entrenamiento.