¿Qué es GAN?
Las redes generativas antagónicas (GANs) fueron desarrolladas e introducidas por Ian J. Goodfellow en 2014. GAN es una técnica de aprendizaje automático que ayuda a generar medios sintéticos que describen video, imagen, voz o texto, generados parcial o totalmente por inteligencia artificial. El software de medios sintéticos ayuda a tomar entrada de los usuarios y producir medios como salida que luego pueden ser utilizados para entrenamiento, entretenimiento y mucho más.
Las GANs son un enfoque de modelado generativo utilizando métodos de aprendizaje profundo para hacer sus predicciones más precisas. Principalmente consisten en dos partes:
- Generador: Genera datos plausibles, que se convierten en ejemplos de entrenamiento negativos para el discriminador.
- Discriminador: Distingue entre los datos falsos y reales del generador y penaliza al generador por producir resultados implausibles.
El generador crea contenido falso mientras que el discriminador detecta si este contenido es real o falso. Trabajan en mejorar juntos y así se vuelven mejores en detectar falsificaciones. El proceso de ida y vuelta continúa hasta que el generador produce un contenido sintético altamente realista.
¿Cómo funcionan las GANs?
Las GANs siguen una forma de trabajo simple y directa. Se dividen en tres categorías:
- Generativo: Describe cómo se generan los datos basados en un modelo probabilístico
- Antagónico: Modelo entrenado en un entorno antagónico
- Redes: Utilizadas como algoritmos de inteligencia artificial (IA) para propósitos de entrenamiento
El primer paso para establecer una GAN es identificar el resultado final deseado y reunir un conjunto de datos de entrenamiento inicial basado en dichos parámetros. Los datos luego se aleatorizan y se introducen en el generador hasta que se logra una precisión básica en la producción de salida.
A continuación, el contenido de muestra se alimenta al discriminador, y el punto de datos real se relaciona con el concepto original. Una vez que los modelos de generador y discriminador han procesado estos datos, se lleva a cabo un proceso de optimización a través de retropropagación. El discriminador filtra la información y devuelve probabilidades entre 0 y 1, donde 0 corresponde a imágenes reales y 0 a imágenes falsas. El proceso se repite hasta que la GAN logra su resultado deseado.
¿Para qué se utilizan las GANs?
Las GANs se están volviendo altamente populares debido a su capacidad para entender y recrear contenido visual con gran atención al detalle y notable precisión. Son beneficiosas para varias tareas, incluyendo pero no limitándose a la aumentación de datos, síntesis de imágenes, detección de anomalías y más.
Algunas de las aplicaciones típicas de redes generativas antagónicas son:
- Diagnóstico de condiciones de salud
- Convertir imágenes en blanco y negro a color
- Crear representaciones fotorrealistas de prototipos de productos
- Generar rostros humanos
- Desarrollar diseños de moda
- Desarrollar personajes de videojuegos
- Generar imágenes 3D realistas
- Crear imágenes realistas de animales
Tipos de GANs
Las redes generativas antagónicas tienen múltiples propósitos. Los diferentes tipos de GANs son:
-
GAN Vanilla: GAN Vanilla es la más simple de todas las GANs y algoritmos. Intenta optimizar ecuaciones matemáticas con descenso de gradiente estocástico, un algoritmo que ayuda a las aplicaciones de aprendizaje automático a elegir el mejor ajuste entre las salidas predichas y reales. Consiste tanto en el generador como en el discriminador y la clasificación de imágenes generadas se realiza como perceptrones multicapa directos. El discriminador determina si la entrada pertenece a la clase, y el generador recopila datos.
- GAN Condicional: GAN Condicional permite la condicionamiento de la red con nueva información aplicando etiquetas de clase. Durante el entrenamiento de la GAN, la red recibe imágenes con la etiqueta real, es decir, "tulipán" y "girasol", ayudándole a aprender a distinguir entre ellas.
- GAN de convolución profunda: Con la ayuda de redes neuronales convolucionales profundas, esta GAN ayuda a generar imágenes de alta resolución que pueden diferenciarse fácilmente. Es una técnica para extraer información importante de los datos generados, permitiendo que la red absorba los detalles requeridos rápidamente.
- CycleGAN: Una arquitectura GAN común utilizada para aprender a transformar entre imágenes de varios estilos, CycleGAN ayuda a enseñar a una red cómo alterar una imagen de invierno a verano o de un animal a otro. También puede alterar rostros humanos que se ajusten a diferentes grupos de edad.
- StyleGAN: Produce fotos realistas y de alta calidad de rostros que los usuarios pueden modificar para alterar su apariencia.
- GAN de superresolución: Una imagen de baja resolución puede cambiarse a una imagen altamente detallada mientras se aumenta la resolución de la imagen y se rellenan las manchas borrosas.
Ventajas de las GANs
Las GANs vienen con un montón de ventajas. Algunas de las comunes se enumeran a continuación.
- Generación de datos sintéticos: Las GANs generan nuevos medios sintéticos que se asemejan a la distribución de datos y pueden ser útiles para la detección de anomalías, aplicaciones creativas y aumentación de datos.
- Resultados de alta calidad: Las GANs producen resultados de alta calidad para varias aplicaciones como síntesis de música, síntesis de video, síntesis de imágenes y más.
- Aprendizaje automático no supervisado: Las GANs tienen el potencial de aprender de datos no etiquetados, lo que las hace adecuadas para tareas de aprendizaje automático no supervisado donde los datos etiquetados pueden ser difíciles de obtener.
- Versatilidad: Las GANs pueden aplicarse a una amplia gama de aplicaciones.
CNN vs. RNN vs. GAN
Las redes neuronales convolucionales (CNN) se utilizan para tareas de reconocimiento de imágenes y videos, particularmente para identificar patrones y características de imágenes. Las redes neuronales recurrentes (RNN) son adecuadas para datos secuenciales como el lenguaje natural o datos de series temporales. Tienen un componente de memoria que permite el procesamiento secuencial y ayuda a mantener el contexto.
Las GANs se utilizan para tareas generativas como crear nuevos videos, texto o audio y distinguir entre datos reales y falsos. En conclusión, CNN es útil para el procesamiento de imágenes, RNN para el procesamiento de datos secuenciales y GAN para tareas generativas.
Mira otros software de IA generativa que ayuda a las empresas en varias industrias que requieren contenido generado por IA para su trabajo.

Tanuja Bahirat
Tanuja Bahirat is a content marketing specialist at G2. She has over three years of work experience in the content marketing space and has previously worked with the ed-tech sector. She specializes in the IT security persona, writing on topics such as DDoS protection, DNS security, and IoT security solutions to provide meaningful information to readers. Outside work, she can be found cafe hopping or exploring ways to work on health and fitness. Connect with her on LinkedIn.