Las redes generativas antagónicas (GAN) son un tipo de arquitectura de aprendizaje profundo que utiliza dos redes neuronales en competencia para generar nuevos datos. Estas dos redes, el generador y el discriminador, se entrenan mutuamente, lo que ayuda a producir una salida más precisa. Las GAN pueden ser útiles en diversos campos, como la visión artificial, la robótica, la generación de imágenes, la síntesis de vídeo y el procesamiento del lenguaje natural.
La mejor forma de entender cómo funcionan las GAN es mediante una analogía: una competición entre un falsificador de arte (el generador) y un crítico de arte (el discriminador).
Este "juego" antagónico continúa y ambas redes se vuelven progresivamente más inteligentes. Al final, el falsificador se vuelve tan hábil que el crítico ya no puede distinguir la diferencia de forma fiable. En este punto, la GAN está entrenada y puede generar datos nuevos y muy realistas.
Tanto las redes neuronales convolucionales (CNN) como las redes generativas antagónicas (GAN) son arquitecturas de aprendizaje profundo, pero tienen puntos fuertes y aplicaciones distintos. Las CNN se suelen utilizar para tareas de clasificación de imágenes y detección de objetos, mientras que las GAN se suelen diseñar para generar nuevas instancias de datos.
Función | CNN | GAN |
Uso de datos | Conjuntos de datos etiquetados en su mayoría | Conjuntos de datos etiquetados o sin etiquetar |
Salida | Clasificación, extracción de características | Nuevas instancias de datos diversos |
Tipo de modelo | Discriminativo | Generativa |
Tareas principales | Clasificación de imágenes, reconocimiento de objetos | Generación de imágenes, aumento de datos, creación de datos sintéticos |
Función
CNN
GAN
Uso de datos
Conjuntos de datos etiquetados en su mayoría
Conjuntos de datos etiquetados o sin etiquetar
Salida
Clasificación, extracción de características
Nuevas instancias de datos diversos
Tipo de modelo
Discriminativo
Generativa
Tareas principales
Clasificación de imágenes, reconocimiento de objetos
Generación de imágenes, aumento de datos, creación de datos sintéticos
Aunque todas las GAN comparten la estructura generador-discriminador, se han desarrollado diferentes variaciones para resolver problemas específicos. Estos son algunos de los tipos más importantes:
Aunque el concepto fundamental de usar dos redes antagónicas sigue siendo el mismo en todas las variaciones de las redes generativas antagónicas, los investigadores han explorado una variedad de modificaciones arquitectónicas y de entrenamiento para abordar las limitaciones y mejorar el rendimiento en aplicaciones específicas.
Las GAN han abierto nuevas posibilidades en muchos sectores. Sus aplicaciones suelen clasificarse en estas áreas clave:
Esta es la aplicación más famosa de las GAN. Esto incluye generar imágenes realistas de personas, lugares y objetos; crear arte digital y música; y habilitar potentes herramientas de edición de imágenes, como la transferencia de estilo (hacer que una foto parezca una pintura), la superresolución (mejorar la nitidez de las imágenes borrosas) y la síntesis de texto a imagen.
Los datos de alta calidad son el combustible del aprendizaje automático, pero pueden ser escasos, caros o privados. Las GAN ayudan a resolver este problema generando datos sintéticos. En el ámbito de la sanidad, las GAN pueden crear exploraciones médicas realistas pero anónimas para entrenar modelos de diagnóstico sin violar la privacidad de los pacientes. En el ámbito de las finanzas, pueden generar datos de transacciones sintéticos para entrenar sistemas de detección de fraudes más eficaces. Esto ayuda a superar la escasez de datos y a equilibrar los conjuntos de datos.
Las GAN pueden aprender los patrones de sistemas complejos para crear simulaciones realistas. Se usa para generar diversos escenarios para entrenar coches autónomos, predecir los siguientes fotogramas de un vídeo o incluso descubrir posibles estructuras moleculares en el descubrimiento de fármacos.
Al entrenar una GAN con datos "normales", se vuelve muy buena detectando cualquier cosa que no encaje con el patrón. Se usa para detectar actividades financieras fraudulentas, identificar intrusiones en la red en el ámbito de la ciberseguridad y encontrar defectos en la fabricación.
Desarrollar e implementar GAN requiere una gran potencia computacional y una plataforma de MLOps sólida. Google Cloud ofrece las herramientas necesarias para todo el flujo de trabajo:
Empieza a crear en Google Cloud con 300 USD en crédito gratis y más de 20 productos Always Free.