Las redes generativas adversarias (GAN) son un tipo de arquitectura de aprendizaje profundo que usa dos redes neuronales en competencia para generar datos nuevos. Estas dos redes, el generador y el discriminador, se entrenan entre sí, lo que ayuda a producir un resultado más preciso. Las GAN pueden ser útiles en varios campos, como la visión artificial, la robótica, la generación de imágenes, la síntesis de video y el procesamiento de lenguaje natural.
La mejor forma de entender cómo funcionan las GAN es a través de una analogía: una competencia entre un falsificador de arte (el generador) y un crítico de arte (el discriminador).
Este "juego" adversarial continúa, y ambas redes se vuelven progresivamente más inteligentes. Con el tiempo, el falsificador se vuelve tan hábil que el crítico ya no puede distinguir la diferencia de manera confiable. 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 adversarias (GAN) son arquitecturas de aprendizaje profundo, pero tienen fortalezas y aplicaciones distintas. Las CNN se usan a menudo para tareas de clasificación de imágenes y detección de objetos, mientras que las GAN se diseñan generalmente para generar nuevas instancias de datos.
Función | CNN | GAN |
Uso de datos | Conjuntos de datos en su mayoría etiquetados | Conjuntos de datos etiquetados o sin etiquetar |
Salida | Clasificación, extracción de atributos | Instancias de datos nuevas y diversas |
Tipo de modelo | En general, los | Generativa |
Tareas principales | Clasificación de imágenes, reconocimiento de objetos | Generación de imágenes, magnificación de datos, creación de datos sintéticos |
Función
CNN
GAN
Uso de datos
Conjuntos de datos en su mayoría etiquetados
Conjuntos de datos etiquetados o sin etiquetar
Salida
Clasificación, extracción de atributos
Instancias de datos nuevas y diversas
Tipo de modelo
En general, los
Generativa
Tareas principales
Clasificación de imágenes, reconocimiento de objetos
Generación de imágenes, magnificación de datos, creación de datos sintéticos
Si bien todas las GAN comparten la estructura de generador-discriminador, se desarrollaron diferentes variaciones para resolver problemas específicos. Estos son algunos de los tipos más importantes:
Si bien el concepto fundamental de usar dos redes adversarias sigue siendo coherente en las variaciones de las redes generativas adversarias, los investigadores exploraron una variedad de modificaciones arquitectónicas y de entrenamiento para abordar las limitaciones y mejorar el rendimiento de aplicaciones específicas.
Las GAN han abierto nuevas posibilidades en muchas industrias. Sus aplicaciones generalmente se dividen 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 (definir 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, costosos o privados. Las GAN ayudan a resolver este problema; para ello, generan datos sintéticos. En el sector de la atención médica, las GAN pueden crear exámenes médicos realistas, pero anónimos, para entrenar modelos de diagnóstico sin violar la privacidad de los pacientes. En finanzas, pueden generar datos de transacciones sintéticos para entrenar mejores sistemas de detección de fraude. Esto ayuda a superar la escasez de datos y equilibrar los conjuntos de datos.
Las GAN pueden aprender los patrones en sistemas complejos para crear simulaciones realistas. Esto se usa para generar diversos situaciones para entrenar vehículos autónomos, predecir los próximos fotogramas en un video o incluso descubrir posibles estructuras moleculares en el descubrimiento de fármacos.
Cuando se entrena una GAN con datos "normales", se vuelve muy buena para detectar cualquier cosa que no se ajuste al patrón. Esto se usa para detectar actividad financiera fraudulenta, identificar intrusiones de red en la ciberseguridad y encontrar defectos en la fabricación.
El desarrollo y la implementación de GAN requieren una potencia de procesamiento significativa y una plataforma de MLOps sólida. Google Cloud ofrece las herramientas para respaldar todo el flujo de trabajo:
Comienza a desarrollar en Google Cloud con el crédito gratis de $300 y los más de 20 productos del nivel Siempre gratuito.