Ian Goodfellow propuso Generative Adversarial Networks (GAN) en 2014. Desde su inicio, se propusieron muchas mejoras que lo convirtieron en un método de vanguardia para generar datos sintéticos, incluidas imágenes sintéticas. Sin embargo, la mayoría de estas mejoras se realizaron en la parte discriminadora del modelo que refina la capacidad de generación del generador. Esto también implica que no hubo mucho enfoque en la parte del generador, lo que provoca la falta de control sobre la parte del generador de GAN. Hay algunos parámetros que se pueden cambiar durante la parte de generación, como el fondo, el primer plano y el estilo, o para los rostros humanos, hay muchas características que se pueden modificar en la generación de varias imágenes, como pose, color de cabello, color de ojos, etc.
Style GAN propone muchos cambios en la parte del generador que le permite generar imágenes fotorrealistas de alta calidad, así como modificar alguna parte de la parte del generador.
Arquitectura:
Style GAN utiliza la arquitectura GAN progresiva básica y propone algunos cambios en la parte del generador. Sin embargo, la arquitectura del discriminador es bastante similar a la GAN progresiva de referencia. Veamos estos cambios arquitectónicos uno por uno.
- GAN de crecimiento progresivo de referencia: Style GAN utiliza una arquitectura de GAN progresiva de referencia, lo que significa que el tamaño de la imagen generada aumenta gradualmente desde una resolución muy baja (4 × 4) hasta una resolución alta (1024 x 1024) . Esto se hace agregando un nuevo bloque a ambos modelos para admitir la resolución más grande después de ajustar el modelo a una resolución más pequeña para hacerlo más estable.
- Muestreo bilineal: los autores del artículo utilizan el muestreo bilineal en lugar del muestreo ascendente/descendente del vecino más cercano (que se utilizó en arquitecturas GAN progresivas de línea de base anteriores) tanto en el generador como en el discriminador. Implementan este muestreo bilineal mediante el filtrado de paso bajo de la activación con un filtro binomial de segundo orden separable después de cada capa de muestreo ascendente y antes de cada capa de muestreo descendente.
- Red de mapeo y red de estilo : el objetivo de la red de mapeo es generar el vector latente de entrada en el vector intermedio cuyos diferentes elementos controlan diferentes características visuales. En lugar de proporcionar directamente el vector latente a la capa de entrada, se utiliza el mapeo. En este documento, el vector latente (z) de tamaño 512 se asigna a otro vector de 512 (w). La función de mapeo se implementa utilizando MLP de 8 capas (8 capas totalmente conectadas). La salida de la red de mapeo (w) luego pasó a través de una transformación afín aprendida (A) antes de pasar a la red de síntesis que es el módulo AdaIN (Normalización de Instancia Adaptativa). Este modelo convierte el mapeo codificado en la imagen generada.
- La entrada al AdaIN es y = (y s, y b ) que se genera aplicando (A) a (w). El funcionamiento de AdaIN se define mediante la siguiente ecuación:
where each feature map x is normalized separately, and then scaled and biased using the corresponding scalar components from style y. Thus the dimensional of y is twice the number of feature maps (x) on that layer. The synthesis network contains 18 convolutional layers 2 for each of the resolutions (4×4 – 1024×1024).
- Eliminación de la entrada tradicional (latente): la mayoría de los modelos de transferencia de estilo anteriores utilizan la entrada aleatoria para crear el código latente inicial del generador, es decir, la entrada del nivel 4×4. Sin embargo, los autores de style-GAN concluyeron que las funciones de generación de imágenes están controladas por w y AdaIN. Por lo tanto, reemplazan la entrada inicial con la array constante de 4x4x512. Esto también contribuyó a aumentar el rendimiento de la red.
- Adición de Ruidoso:Entrada Se añade un ruido gaussiano (representado por B) a cada uno de estos mapas de activación antes de las operaciones de AdaIN. Se genera una muestra diferente de ruido para cada bloque y se interpreta sobre la base de los factores de escala de esa capa.
- Hay muchos aspectos en los rostros de las personas que son pequeños y pueden verse como estocásticos, como las pecas, la ubicación exacta del vello, las arrugas, las características que hacen que la imagen sea más realista y aumentan la variedad de resultados. El método común para insertar estas pequeñas características en imágenes GAN es agregar ruido aleatorio al vector de entrada
- Regularización de mezcla: la generación de estilo usó un vector intermedio en cada nivel de la red de síntesis, lo que puede hacer que la red aprenda la correlación entre diferentes niveles. Para reducir la correlación, el modelo selecciona aleatoriamente dos vectores de entrada (z 1 y z 2 ) y genera el vector intermedio (w 1 y w 2 ) para ellos. Luego entrena algunos de los niveles con el primero y cambia (en un punto de división aleatorio) al otro para entrenar el resto de los niveles. Este cambio en puntos de división aleatorios asegura que la red no aprenda mucho sobre la correlación.
Estilo en función de la resolución: imágenes
Para tener más control sobre los estilos de la imagen generada, la red de síntesis proporciona control sobre el estilo a diferentes niveles de detalle (o resolución). Estos diferentes niveles se definen como:
- Grueso : resolución de ( 4 × 4 – 8 × 8 ): afecta la pose, el peinado general, la forma de la cara, etc.
- Media – resolución de ( 16×16 – 32×32 ) – afecta rasgos faciales más finos, peinado, ojos abiertos/cerrados, etc.
- Fino : resolución de ( 64 × 64 – 1024 × 1024 ): afecta los colores (ojos, cabello y piel) y las microfunciones.
El autor de este artículo también varió el ruido entre estos niveles. Así, el ruido se hará cargo del control de los cambios de estilo en estos niveles. Por ejemplo: el ruido en el nivel grueso provoca cambios en la estructura más amplia, mientras que en el nivel fino provoca cambios en los detalles más finos de la imagen.
Estudios de desenredo de características :
El objetivo de este estudio de desenredo de características es medir la variación de la separación de características. En este artículo, el autor presenta dos métricas separadas para el desenredo de características:
- Longitud de ruta perceptual : en esta métrica, medimos la diferencia ponderada entre la incrustación de VGG de dos imágenes consecutivas al interpolar entre dos entradas aleatorias.
- La longitud de la ruta de percepción promedio sobre el espacio latente Z se define sobre todos los puntos finales posibles se define como
- La longitud de la ruta de percepción promedio sobre el espacio latente Z se define sobre todos los puntos finales posibles se define como
- donde z1, z2 ? P(z), t? U(0, 1), G es el generador (es decir, g ?f para redes basadas en estilo), y d(·, ·) evalúa la distancia perceptiva entre las imágenes resultantes. Aquí slerp significa interpolación esférica. Los cambios drásticos en la distancia de percepción significan que múltiples características han cambiado juntas y que podrían estar entrelazadas
- Separabilidad lineal : en este método, observamos qué tan bien se pueden separar los puntos del espacio latente en dos conjuntos distintos a través de un hiperplano lineal, de modo que cada conjunto corresponda a un atributo binario específico de la imagen. Por ejemplo, cada una de las imágenes de la cara pertenecen a hombres o mujeres.
Los autores de este artículo aplicaron estas métricas tanto a w (mapeo intermedio) como a z (espacio latente) y concluyeron que w es más separable. Esto también subraya la importancia de la red de mapeo de 8 capas.
Resultados:
Este documento genera resultados de última generación en el conjunto de datos de Celeba-HQ. Este documento también propone un nuevo conjunto de datos de rostros humanos llamado Flicker Face HQ (FFHQ) que tiene una variación considerablemente mayor que Celeba-HQ. esta arquitectura estilo GAN genera resultados considerablemente buenos también en el conjunto de datos FFHQ. A continuación se muestran los resultados (puntuación FID) de esta arquitectura en estos dos conjuntos de datos.
Aquí calculamos la puntuación FID usando 50 000 imágenes elegidas al azar del conjunto de entrenamiento y tomamos la distancia más baja encontrada en el transcurso del entrenamiento.
Referencias: