¿Cómo funciona una red neuronal generativa? ¿Cómo pueden crear imágenes?

Trabajé en Generative Adversarial Network durante mi pasantía de verano en la Universidad de Tokio, así que creo que puedo darte una idea sobre lo mismo.

Una red de confrontación consiste en dos redes neuronales, una se llama Generador y otra se llama Discriminador.

El trabajo del generador es generar una imagen basada en la entrada de vector latente que se le da. La red generadora está compuesta por capas de red neuronal. Al principio, el generador se inicializa aleatoriamente para producir cualquier imagen y, en función de la salida, se mejora.

El trabajo del discriminador es discriminar la imagen de entrada como real o falsa. Aquí real significa imagen que se parece a los datos de prueba o pertenece a los datos de prueba y falso significa imagen generada por la red del generador.

Entonces, la red intenta engañarse entre sí y, como resultado, obtenemos una imagen que parece real y diferente de los datos de prueba de la red.

Esta es solo una idea básica y hay mucho más en esta red para producir imágenes reales.

Esta red se combina además con la red de codificador para eliminar algunos de sus defectos y también para cubrir una amplia variedad de datos.

Si desea tener más ideas de las que le sugeriría, lea el documento GAN de Bengio [1406.2661] Redes Adversarias Generativas, explica muy bien lo básico de la red.

O puede obtener más información de mi blog (VAEGAN), aunque no está preparado ahora, pero lo completaré en 1–2 semanas. Como mi pasantía acaba de terminar, tomará tiempo resumir todo y escribirlo en consecuencia.

Espero que haya tenido la idea de la red. Si tiene alguna consulta, siempre puede comentar la respuesta.

Las redes neuronales no son más que aproximadores de funciones complejas. En el caso de los modelos generativos, aprenden la distribución de probabilidad de los datos reales en los que están entrenados. Entonces, al generar nuevos datos a partir de ellos, esencialmente muestras nuevos puntos de esa distribución de probabilidad.

Puede haber varios tipos de modelos generativos, estos incluyen GAN (sobre los cuales explica una de las otras respuestas), autoencoders variacionales, etc.

Creo que te refieres a entrenar algún tipo de red de clasificación, seleccionar una salida (por ejemplo, “cat, domestic”) y usar un optimizador para encontrar una entrada que coincida más con la seleccionada.