Glosario

Red Adversarial Generativa (GAN)

Descubre cómo las GAN revolucionan la IA generando imágenes realistas, mejorando los datos e impulsando innovaciones en sanidad, juegos y mucho más.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

Las Redes Generativas Adversariales (GAN) representan una potente clase de marcos de aprendizaje automático (ML), introducidos por primera vez por Ian Goodfellow y sus colegas en 2014. Pertenecen al campo de la IA Generativa, y se centran en crear nuevos datos que se parezcan a un conjunto de datos de entrenamiento dado. La idea central de las GAN implica a dos redes neuronales (NN), el Generador y el Discriminador, que participan en un juego competitivo. Este proceso contradictorio lleva al sistema a producir resultados sintéticos muy realistas, como imágenes, música o texto.

Cómo funcionan los GANS

Una arquitectura GAN consta de dos componentes principales que se entrenan simultáneamente:

  • El Generador: Esta red toma como entrada ruido aleatorio (un vector de números aleatorios, a menudo muestreados a partir de una distribución gaussiana) e intenta transformarlo en datos que imiten la distribución real de los datos. Por ejemplo, puede generar una imagen sintética de un gato que se parezca a las imágenes del conjunto de datos de entrenamiento. Su objetivo es producir resultados que no se distingan de los datos reales, engañando al Discriminador.
  • El Discriminador: Esta red actúa como un clasificador binario. Recibe muestras de datos reales (del conjunto de datos real) y muestras de datos falsos (creados por el Generador). Su tarea consiste en determinar si cada muestra de entrada es real o falsa. Lo aprende mediante técnicas estándar de aprendizaje supervisado, con el objetivo de clasificar correctamente las muestras reales y las generadas.

El Proceso de Formación Adversarial

El entrenamiento de un GAN es un proceso dinámico en el que el Generador y el Discriminador compiten y mejoran juntos:

  1. El Generador produce un lote de datos sintéticos.
  2. El Discriminador se entrena en un lote que contiene datos reales y datos sintéticos del Generador, aprendiendo a diferenciarlos. Se utiliza la retropropagación para actualizar sus pesos en función de su precisión de clasificación.
  3. A continuación, se entrena al Generador basándose en los resultados del Discriminador. Su objetivo es producir datos que el Discriminador clasifique incorrectamente como reales. Los gradientes fluyen de nuevo a través del Discriminador (fijado temporalmente) para actualizar los pesos del Generador.

Este ciclo continúa, conduciendo idealmente a un equilibrio en el que el Generador produce datos tan realistas que el Discriminador sólo puede adivinar al azar (con una precisión del 50%) si una muestra es real o falsa. En este punto, el Generador ha aprendido a aproximarse a la distribución de datos subyacente del conjunto de entrenamiento.

Aplicaciones clave

Las GAN han permitido avances significativos en diversos dominios:

  • Generación de imágenes: Creación de imágenes fotorrealistas, como rostros humanos(StyleGAN de NVIDIA Research), animales u objetos que no existen. Esto tiene aplicaciones en el arte, el diseño y el entretenimiento, pero también plantea problemas éticos en relación con los deepfakes.
  • Aumento de Datos Sintéticos: Generación de datos sintéticos realistas para complementar los conjuntos de datos reales. Esto es especialmente útil en campos como el análisis de imágenes médicas, donde los datos reales pueden ser escasos o tener limitaciones de privacidad. Por ejemplo, las GAN pueden crear imágenes sintéticas de rayos X que muestren afecciones poco frecuentes para mejorar la solidez de los modelos de visión por ordenador (CV) de diagnóstico utilizados para tareas como la detección o segmentación de objetos. Este aumento puede mejorar el entrenamiento de modelos como Ultralytics YOLO11.
  • Traducción de imagen a imagen: Transformar imágenes de un dominio a otro (por ejemplo, convertir bocetos en fotos, cambiar las estaciones de un paisaje o realizar una transferencia de estilo neuronal).
  • Superresolución: Mejora la resolución de las imágenes de baja calidad.
  • Síntesis de texto a imagen: Generación de imágenes a partir de descripciones textuales (aunque a menudo superada por arquitecturas más recientes, como los Modelos de Difusión).

GANS frente a otros modelos

Es importante distinguir las GAN de otros tipos de modelos:

  • Modelos Discriminativos: La mayoría de los modelos estándar de clasificación y regresión (como los utilizados para la clasificación de imágenes o la detección de objetos estándar) son discriminativos. Aprenden los límites de decisión para separar las distintas clases o predecir un valor basándose en las características de entrada. En cambio, las GAN son generativas: aprenden la distribución de probabilidad subyacente de los propios datos para crear nuevas muestras.
  • Modelos de difusión: Los Modelos de Difusión son otra potente clase de modelos generativos que han ganado protagonismo recientemente, consiguiendo a menudo resultados de vanguardia en la generación de imágenes. Funcionan añadiendo gradualmente ruido a los datos y aprendiendo después a invertir este proceso. Aunque a veces producen imágenes de mayor fidelidad y ofrecen un entrenamiento más estable que los GAN, pueden ser computacionalmente más intensivos durante la inferencia.

Retos y avances

Entrenar GANs puede ser notoriamente difícil debido a cuestiones como:

Los investigadores han desarrollado numerosas variantes de GAN para abordar estos retos, como las GAN de Wasserstein(WGAN) para mejorar la estabilidad y las GAN condicionales(cGAN) que permiten generar datos condicionados a atributos específicos (por ejemplo, generar una imagen de un dígito concreto). Frameworks como PyTorch y TensorFlow proporcionan herramientas y bibliotecas que facilitan la implementación y el entrenamiento de GANs.

Leer todo