¿Qué son las GAN? ¡Cómo y por qué debería usarlos!



Este artículo cubre la explicación detallada de 'Qué son las GAN' con limitaciones y desafíos que cubren el proceso de capacitación y la implementación de casos de uso.

Las redes generativas adversarias o GAN son un enfoque de modelado generativo que utiliza Aprendizaje profundo entrenar el modelo de una manera inteligente para generar datos utilizando el enfoque de submodelo. En este artículo, intentaremos comprender en detalle “Qué son las GAN”. En este artículo se tratan los siguientes temas:

¿Qué son los modelos generativos?

Los modelos generativos no son más que aquellos modelos que utilizan un Acercarse. En un modelo generativo, hay muestras en los datos, es decir, variables de entrada X, pero carece de la variable de salida Y. Usamos solo las variables de entrada para entrenar el modelo generativo y reconoce patrones de las variables de entrada para generar una salida que se desconoce. y basado únicamente en los datos de entrenamiento.





En , estamos más alineados con la creación de modelos predictivos a partir de las variables de entrada, este tipo de modelado se conoce como modelado discriminativo. En un problema de clasificación, el modelo tiene que discriminar a qué clase pertenece el ejemplo. Por otro lado, los modelos no supervisados ​​se utilizan para crear o generar nuevos ejemplos en la distribución de entrada.

Para definir modelos generativos en términos sencillos, podemos decir que los modelos generativos son capaces de generar nuevos ejemplos a partir de la muestra que no solo son similares a otros ejemplos, sino que también son indistinguibles.



El ejemplo más común de un modelo generativo es un que se utiliza más a menudo como modelo discriminativo. Otros ejemplos de modelos generativos incluyen Gaussian Mixture Model y un ejemplo bastante moderno que es General Adversarial Networks. Tratemos de entender ¿Qué son las GAN?

¿Qué son las redes generativas de confrontación?

Las redes generativas antagónicas o GAN son un modelo generativo basado en el aprendizaje profundo que se utiliza para el aprendizaje no supervisado. Es básicamente un sistema donde dos compiten Redes neuronales compiten entre sí para crear o generar variaciones en los datos.

Fue descrito por primera vez en un artículo en 2014 por Ian Goodfellow y Alec Radford propuso una teoría de modelo estandarizada y mucho más estable en 2016, que se conoce como DCGAN (Deep Convolutional General Adversarial Networks). La mayoría de las GAN que existen hoy en día utilizan la arquitectura DCGAN.



La arquitectura de las GAN consta de dos submodelos conocidos como Modelo generador y el Modelo discriminador. Intentemos comprender cómo funcionan realmente las GAN.

¿Como funciona?

Para comprender cómo funcionan las GAN, analicémoslo.

  • Generativo - Significa que el modelo sigue el enfoque y es un modelo generativo.
  • Adversario - El modelo está entrenado en un entorno de confrontación.
  • Red - Para el entrenamiento del modelo, se utilizan las redes neuronales como algoritmos de inteligencia artificial.

En las GAN, hay una red Generator que toma una muestra y genera una muestra de datos, y luego de esto, la red Discriminator decide si los datos se generan o se toman de la muestra real usando un binario. problema con la ayuda de una función sigmoidea que da una salida en el rango de 0 a 1.

diagrama de flujo - que son las gnas - edureka

El modelo generativo analiza la distribución de los datos de tal forma que después de la fase de entrenamiento se maximiza la probabilidad de que el discriminador cometa un error. Y el discriminador, por otro lado, se basa en un modelo que estimará la probabilidad de que la muestra provenga de los datos reales y no del generador.

sobrecarga de métodos y anulación de métodos en java

Todo el proceso se puede formalizar en una fórmula matemática que se indica a continuación.

En la fórmula anterior:

G = generador

D = Discriminador

Pdata (x) = Distribución de datos reales

Pdata (z) = Distribuidor del generador

x = muestra de datos reales

z = muestra del generador

D (x) = Red discriminadora

G (z) = Red de generador

Ahora viene la parte de entrenamiento para un GAN, que se puede dividir en 2 partes que se realizan de forma secuencial.

¿Cómo entrenar a un GAN?

Parte 1:

Entrene el discriminador y congele el generador, lo que significa que el conjunto de entrenamiento para el generador se cambia a Falso y la red solo hará el pase hacia adelante y no se aplicará propagación hacia atrás.

Básicamente, el discriminador está entrenado con los datos reales y comprueba si puede predecirlos correctamente, y lo mismo con los datos falsos para identificarlos como falsos.

Parte 2:

Entrene el generador y congele el discriminador. En esta fase, obtenemos los resultados de la primera fase y podemos usarlos para mejorar el estado anterior para tratar de engañar mejor al discriminador.

Pasos para la formación

  1. Define el problema - definir el problema y recopilar datos.
  2. Elija la arquitectura de GAN - Dependiendo de su problema, elija cómo debería verse su GAN.
  3. Capacitar al discriminador en datos reales - Entrene al discriminador con datos reales para predecirlos como reales por n número de veces.
  4. Genere entradas falsas para el generador - Genera muestras falsas desde el generador.
  5. Capacitar al discriminador sobre datos falsos - Entrene al discriminador para predecir los datos generados como falsos.
  6. Generador de trenes con salida de discriminador - Después de obtener las predicciones del discriminador, entrene al generador para engañar al discriminador

Desafíos de la red generativa de adversarios

El concepto de GAN es bastante fascinante, pero hay muchos contratiempos que pueden causar muchos obstáculos en su camino. Algunos de los principales desafíos que enfrentan las GAN son:

  1. Estabilidad se requiere entre el discriminador y el generador, de lo contrario, toda la red simplemente caería. En caso de que el Discriminador sea demasiado poderoso, el generador no se entrenará por completo. Y si la red es demasiado indulgente, se generaría cualquier imagen inutilizando la red.
  2. Las GAN fallan miserablemente en la determinación de posicionamiento de los objetos en términos de cuántas veces debería ocurrir el objeto en ese lugar.
  3. La perspectiva 3-D genera problemas a los GAN, ya que no pueden comprender perspectiva , a menudo dará una imagen plana para un objeto 3-d.
  4. Los GAN tienen problemas para comprender objetos globales . No puede diferenciar ni comprender una estructura holística.
  5. Los tipos más nuevos de GAN son más avanzados y se espera que superen estas deficiencias por completo.

Aplicaciones de redes generativas de confrontación

Las siguientes son algunas aplicaciones de las GAN.

Predicción del siguiente fotograma en un video

La predicción de eventos futuros en un cuadro de video es posible con la ayuda de GAN. DVD-GAN o Discriminador de video dual GAN ​​puede generar videos de 256 × 256 de notable fidelidad de hasta 48 cuadros de longitud. Esto se puede utilizar para varios fines, incluida la vigilancia en la que podemos determinar las actividades en un marco que se distorsiona debido a otros factores como lluvia, polvo, humo, etc.

cadena de fecha java hasta la fecha

Generación de texto a imagen

GAN atento dirigido por objetos (obj-GAN), realiza la síntesis de texto a imagen en dos pasos. Generar el diseño semántico es el paso inicial y luego generar la imagen sintetizando la imagen mediante el uso de un generador de imágenes de-convolucional es el paso final.

Esto podría usarse de manera intensiva para generar imágenes al comprender los títulos, los diseños y refinar los detalles al sintetizar las palabras. Hay otro estudio sobre los storyGAN que puede sintetizar todos los guiones gráficos a partir de meros párrafos.

Mejora de la resolución de una imagen

La red generativa adversaria de súper resolución o SRGAN es una GAN que puede generar imágenes de súper resolución a partir de imágenes de baja resolución con detalles más finos y mejor calidad.

Las aplicaciones pueden ser inmensas, imagine una imagen de mayor calidad con detalles más finos generados a partir de una imagen de baja resolución. La cantidad de ayuda que produciría para identificar detalles en imágenes de baja resolución se puede utilizar para fines más amplios, como vigilancia, documentación, seguridad, detección de patrones, etc.

Traducción de imagen a imagen

Pix2Pix GAN es un modelo diseñado para traducción de imagen-imagen de propósito general.

Generación de imágenes interactivas

Las GAN también se pueden utilizar para generar imágenes interactivas, el laboratorio de informática e inteligencia artificial (CSAIL) ha desarrollado una GAN que puede generar modelos 3-D con iluminación y reflejos realistas habilitados por la edición de formas y texturas.

Más recientemente, los investigadores han creado un modelo que puede sintetizar una cara recreada animada por el movimiento de una persona mientras conserva la apariencia de la cara al mismo tiempo.

Esto nos lleva al final de este artículo donde hemos aprendido 'Qué son las GAN'. Espero que tengas claro todo lo que se ha compartido contigo en este tutorial.

como hacer un diccionario en java

Si encuentra relevante este artículo sobre '¿Qué son las GAN', consulte la una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo.

Estamos aquí para ayudarlo en cada paso de su viaje y crear un plan de estudios diseñado para estudiantes y profesionales que desean ser un . El curso está diseñado para darle una ventaja inicial en la programación de Python y capacitarlo para los conceptos básicos y avanzados de Python junto con varios me gusta

Si tiene alguna pregunta, no dude en hacer todas sus preguntas en la sección de comentarios de '¿Qué son las GAN?' Y nuestro equipo estará encantado de responder.