Entendiendo el Clasificador Auxiliar: GAN

Requisito previo: GAN (Redes antagónicas generales)

En este artículo, analizaremos una GAN o c-GAN condicional de clase especial conocida como Clasificador auxiliar GAN o AC-GAN. Antes de entrar en eso, es importante comprender qué es una GAN condicional de clase. 

GAN condicional de clase (c-GAN): 

c-GAN puede entenderse como una GAN con algunos parámetros condicionales. Consideramos el marco GAN original y agregamos información previa en forma de etiqueta de clase. En c-GAN, se agrega un parámetro adicional ‘y’ al Generador para generar los datos correspondientes. Las etiquetas también se colocan en la entrada del Discriminador para que el Discriminador ayude a distinguir los datos reales de los datos falsos generados. 

dónde, 

L = Probabilidad de predecir correctamente. 
S = Fuente (real/falsa)
X = Imagen de entrada
P = Distribución de probabilidad

Formación c-GAN

Intuición:  

Mirándolo intuitivamente, el Generador y el Discriminador son dos redes neuronales. El objetivo es hacer que el Generador genere imágenes similares a las imágenes de entrada.

Step 1 - The Generator (G) takes in the input image (x) and generates its own image of a shoe (G(x)). 

Step 2 - The generated image and the input image is then fed to the Discriminator (D) that compares the two images 
     and tells if it is a real or a generated fake image. 
 
Step 3 - So the Discriminator backpropagates information back to the Generator and tells it what was missing from 
     the generated image when compared to the original image (y). 

Step 4 - Repeat the above three steps until the error generated by the Discriminator has reached the minimum. 
 
This information makes the Generator generate more accurate images. This is how the c-GAN model is trained. 

c-GAN frente a AC-GAN

Clasificador Auxiliar: GANs

El clasificador auxiliar GAN es simplemente una extensión del GAN ​​condicional de clase que requiere que el discriminador no solo prediga si la imagen es ‘real’ o ‘falsa’, sino que también debe proporcionar la ‘fuente’ o la ‘etiqueta de clase’ de la imagen. imagen dada. 

Por ejemplo, si el generador genera la imagen de un zapato, el modelo debe predecir si es una imagen real o falsa, así como predecir las «etiquetas de clase» de las imágenes reales y generadas. 

Arquitectura AC-GAN: 

La arquitectura AC-GAN comprende generador 2 modelos: 

Generador: Toma puntos aleatorios de un espacio latente como entrada y genera imágenes.
Discriminador: clasifica las imágenes como reales (del conjunto de datos) o falsas (generadas) y predice la etiqueta de clase. 

En AC-GAN se ha mejorado el entrenamiento del modelo GAN básico. 

Aquí, el generador cuenta con dos parámetros en lugar de uno. Obtiene puntos aleatorios del espacio latente, así como una etiqueta de clase como entrada con la que intenta generar una imagen para esa clase. La adición de la etiqueta de clase como entrada hace que el proceso de clasificación y generación de imágenes dependa de la etiqueta de clase, de ahí el nombre. Usando este modelo de Generador, el proceso de entrenamiento se vuelve más estable y ahora se puede usar para generar imágenes de un tipo específico, usando la etiqueta de clase. 

El discriminador aquí se proporciona tanto con una imagen como con la etiqueta de clase. Ahora, tiene que clasificar si la imagen es real o falsa (igual que antes) y también tiene que predecir la etiqueta de clase de la imagen.  

Aquí la función objetivo ahora tiene dos partes: 

dónde, 

L S = La probabilidad de predecir la fuente correcta.  
S = Fuente
X = Imagen de entrada 

dónde

LS = La probabilidad de predecir la clase correcta.  
c = etiqueta de clase
X = imagen de entrada 

El objetivo principal para el entrenamiento de los modelos es tal que

  • El discriminador está entrenado para maximizar L C + L S .
  • El generador está entrenado para maximizar L C − L S .

Similar al funcionamiento del modelo GAN, aquí tiene lugar un ‘juego minimax’, donde el Discriminador está tratando de maximizar su recompensa (L c + L s ) y el Generador está tratando de minimizar la recompensa del Discriminador (L c – L s ) , es decir, maximizar su pérdida. 

La información adicional proporcionada ayuda a mejorar el entrenamiento del modelo y genera una salida mucho mejor en comparación con el modelo anterior. 

Comparando la eficiencia con modelos anteriores: 

En los modelos anteriores, se observó que aumentar el número de clases mientras se usaba el mismo modelo disminuía la calidad de los resultados generados por el modelo. Pero aquí, el modelo AC-GAN permite la separación de grandes conjuntos de datos en subconjuntos (por clase) y el entrenamiento de los modelos generador y discriminador para cada subconjunto individualmente.  

Estructuralmente, este modelo es muy similar a los modelos GAN existentes. Sin embargo, los cambios realizados anteriormente en el modelo GAN base tienden a dar excelentes resultados y estabilizan el proceso de entrenamiento.

Publicación traducida automáticamente

Artículo escrito por prakharr0y y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *