EstiloGAN

Nueva red generativa antagónica

Imagen generada con StyleGAN que parece el retrato de una mujer joven. Esta imagen fue generada por una red neuronal artificial basada en el análisis de una gran cantidad de fotografías.

Style Generative Adversarial Network , o StyleGAN para abreviar, es una extensión de la arquitectura GAN presentada por los investigadores de Nvidia en diciembre de 2018, [ 1] y cuyo código fuente está disponible en febrero de 2019. [2] [3]

StyleGAN depende del software CUDA de Nvidia , las GPU y TensorFlow de Google , [4] o PyTorch de Meta AI , que reemplaza a TensorFlow como la biblioteca de implementación oficial en versiones posteriores de StyleGAN. [5] La segunda versión de StyleGAN, llamada StyleGAN2, se publicó el 5 de febrero de 2020. Elimina algunos de los artefactos característicos y mejora la calidad de la imagen. [6] [7] Nvidia presentó StyleGAN3, descrita como una versión "sin alias", el 23 de junio de 2021 y puso el código fuente a disposición el 12 de octubre de 2021. [8]

Historia

Un predecesor directo de la serie StyleGAN es el Progressive GAN, publicado en 2017. [9]

En diciembre de 2018, los investigadores de Nvidia distribuyeron una versión preliminar con el software correspondiente que presentaba StyleGAN, una GAN para producir una cantidad ilimitada de retratos (a menudo convincentes) de rostros humanos falsos . StyleGAN podía ejecutarse en los procesadores GPU básicos de Nvidia.

En febrero de 2019, el ingeniero de Uber Phillip Wang utilizó el software para crear el sitio web This Person Does Not Exist , que mostraba una nueva cara en cada recarga de la página web. [10] [11] El propio Wang ha expresado su asombro, dado que los humanos han evolucionado para comprender específicamente los rostros humanos, de que, sin embargo, StyleGAN pueda competitivamente "desmenuzar todas las características relevantes (de los rostros humanos) y recomponerlas de una manera coherente". [12]

En septiembre de 2019, un sitio web llamado Generated Photos publicó 100.000 imágenes como una colección de fotografías de archivo . [13] La colección se realizó utilizando un conjunto de datos privados tomados en un entorno controlado con luz y ángulos similares. [14]

De manera similar, dos profesores de la Escuela de Información de la Universidad de Washington utilizaron StyleGAN para crear ¿Cuál es el rostro real?, que desafiaba a los visitantes a diferenciar entre un rostro falso y uno real uno al lado del otro. [11] El profesorado afirmó que la intención era "educar al público" sobre la existencia de esta tecnología para que pudieran desconfiar de ella, "al igual que finalmente la mayoría de las personas se dieron cuenta de que se puede retocar una imagen con Photoshop". [15]

La segunda versión de StyleGAN, llamada StyleGAN2, se publicó el 5 de febrero de 2020. Elimina algunos de los artefactos característicos y mejora la calidad de la imagen. [6] [7]

En 2021, se lanzó una tercera versión que mejoró la coherencia entre los detalles finos y gruesos del generador. Esta versión, denominada "sin alias", se implementó con pytorch . [16]

Uso ilícito

En diciembre de 2019, Facebook eliminó una red de cuentas con identidades falsas y mencionó que algunas de ellas habían utilizado fotos de perfil creadas con técnicas de aprendizaje automático. [17]

Arquitectura

GAN progresivo

Progressive GAN [9] es un método para entrenar GAN para la generación de imágenes a gran escala de manera estable, haciendo crecer un generador GAN de pequeña a gran escala de manera piramidal. Al igual que SinGAN, descompone el generador como , y el discriminador como . GRAMO = GRAMO 1 GRAMO 2 GRAMO norte {\displaystyle G=G_{1}\circ G_{2}\circ \cdots \circ G_{N}} D = D norte D norte 1 D 1 {\displaystyle D=D_{N}\circ D_{N-1}\circ \cdots \circ D_{1}}

Durante el entrenamiento, al principio solo se utilizan en un juego GAN para generar imágenes de 4x4. Luego se van añadiendo hasta llegar a la segunda etapa del juego GAN, para generar imágenes de 8x8, y así sucesivamente, hasta llegar a un juego GAN para generar imágenes de 1024x1024. GRAMO norte , D norte Estilo de visualización G_{N},D_{N}} GRAMO norte 1 , D norte 1 Estilo de visualización G_{N-1},D_{N-1}}

Para evitar la discontinuidad entre las etapas del juego GAN, cada nueva capa se "mezcla" (Figura 2 del artículo [9] ). Por ejemplo, así es como comienza el juego GAN de la segunda etapa:

  • Justo antes, el juego GAN consiste en que la pareja genere y discrimine imágenes 4x4. GRAMO norte , D norte Estilo de visualización G_{N},D_{N}}
  • A continuación, el juego GAN consiste en generar y discriminar imágenes de 8x8 en pares. Aquí, las funciones son funciones de muestreo ascendente y descendente de imágenes y es un factor de combinación (muy parecido a un alfa en la composición de imágenes) que se desliza suavemente de 0 a 1. ( ( 1 alfa ) + alfa GRAMO norte 1 ) GRAMO norte , D norte d ( ( 1 alfa ) + alfa D norte 1 ) {\displaystyle ((1-\alpha )+\alpha \cdot G_{N-1})\circ u\circ G_{N},D_{N}\circ d\circ ((1-\alpha )+\alpha \cdot D_{N-1})} u , d {\displaystyle u,d} α {\displaystyle \alpha }

EstiloGAN

La arquitectura principal de StyleGAN-1 y StyleGAN-2

StyleGAN está diseñado como una combinación de GAN progresivo con transferencia de estilo neuronal . [18]

La elección arquitectónica clave de StyleGAN-1 es un mecanismo de crecimiento progresivo, similar a Progressive GAN. Cada imagen generada comienza como una matriz constante [nota 1] y pasa repetidamente por bloques de estilo. Cada bloque de estilo aplica un "vector latente de estilo" a través de una transformación afín ("normalización de instancia adaptativa"), similar a cómo la transferencia de estilo neuronal utiliza la matriz Gramian . Luego agrega ruido y normaliza (resta la media y luego divide por la varianza). 4 × 4 × 512 {\displaystyle 4\times 4\times 512}

En el momento del entrenamiento, generalmente solo se utiliza un vector latente de estilo por imagen generada, pero a veces se utilizan dos ("regularización de mezcla") para alentar a cada bloque de estilo a realizar su estilización de forma independiente sin esperar ayuda de otros bloques de estilo (ya que podrían recibir un vector latente de estilo completamente diferente).

Después del entrenamiento, se pueden introducir varios vectores latentes de estilo en cada bloque de estilo. Los que se introducen en las capas inferiores controlan los estilos a gran escala y los que se introducen en las capas superiores controlan los estilos de detalle fino.

También se puede realizar una mezcla de estilos entre dos imágenes . Primero, se ejecuta un descenso de gradiente para encontrar tal que . Esto se llama "proyectar una imagen de vuelta al espacio latente de estilo". Luego, se puede alimentar a los bloques de estilo inferiores y a los bloques de estilo superiores para generar una imagen compuesta que tenga el estilo a gran escala de y el estilo de detalle fino de . También se pueden componer varias imágenes de esta manera. x , x {\displaystyle x,x'} z , z {\displaystyle z,z'} G ( z ) x , G ( z ) x {\displaystyle G(z)\approx x,G(z')\approx x'} z {\displaystyle z} z {\displaystyle z'} x {\displaystyle x} x {\displaystyle x'}

EstiloGAN2

StyleGAN2 mejora StyleGAN de dos maneras.

En primer lugar, aplica el vector latente de estilo para transformar los pesos de la capa de convolución, solucionando así el problema de la "mancha". [19] El problema de la "mancha" en términos generales se debe a que el uso del vector latente de estilo para normalizar la imagen generada destruye información útil. En consecuencia, el generador aprendió a crear una "distracción" mediante una gran mancha, que absorbe la mayor parte del efecto de la normalización (de forma similar a usar bengalas para distraer un misil que busca calor ).

En segundo lugar, utiliza conexiones residuales, lo que ayuda a evitar el fenómeno en el que ciertas características se atascan en intervalos de píxeles. Por ejemplo, la unión entre dos dientes puede atascarse en píxeles divisibles por 32, porque el generador aprendió a generar dientes durante la etapa N-5 y, en consecuencia, solo pudo generar dientes primitivos en esa etapa, antes de aumentar la escala 5 veces (es decir, intervalos de 32).

Esto fue actualizado por StyleGAN2-ADA ("ADA" significa "adaptativo"), [20] que utiliza aumento de datos invertible . También ajusta la cantidad de aumento de datos aplicado comenzando en cero y aumentándolo gradualmente hasta que una "heurística de sobreajuste" alcanza un nivel objetivo, de ahí el nombre "adaptativo".

EstiloGAN3

StyleGAN3 [21] mejora StyleGAN2 al resolver el problema de "pegado de textura", que se puede ver en los videos oficiales. [22] Analizaron el problema mediante el teorema de muestreo de Nyquist-Shannon y argumentaron que las capas en el generador aprendieron a explotar la señal de alta frecuencia en los píxeles sobre los que operan.

Para solucionar esto, propusieron imponer filtros paso bajo estrictos entre las capas de cada generador, de modo que el generador se vea obligado a operar sobre los píxeles de una manera fiel a las señales continuas que representan, en lugar de operar sobre ellos como señales meramente discretas. Además, impusieron invariancia rotacional y traslacional mediante el uso de más filtros de señal . El StyleGAN-3 resultante es capaz de generar imágenes que rotan y se trasladan suavemente y sin que se peguen las texturas.

Véase también

Notas

  1. ^ Se aprende durante el entrenamiento, pero después se mantiene constante, como un vector de sesgo.

Referencias

  1. ^ "GAN 2.0: el generador de rostros hiperrealistas de NVIDIA". SyncedReview.com . 14 de diciembre de 2018 . Consultado el 3 de octubre de 2019 .
  2. ^ "NVIDIA crea un generador de rostros hiperrealistas StyleGAN de código abierto". Medium.com . 9 de febrero de 2019 . Consultado el 3 de octubre de 2019 .
  3. ^ Beschizza, Rob (15 de febrero de 2019). «Esta persona no existe». Boing-Boing . Consultado el 16 de febrero de 2019 .
  4. ^ Larabel, Michael (10 de febrero de 2019). "NVIDIA abre el código a StyleGAN: crea tus propios retratos familiares con IA". Phoronix.com . Consultado el 3 de octubre de 2019 .
  5. ^ "¿Buscas la versión de PyTorch? - Stylegan2". github.com . 28 de octubre de 2021 . Consultado el 5 de agosto de 2022 .
  6. ^ ab "Sintetización de imágenes de alta resolución con StyleGAN2 – NVIDIA Developer News Center". news.developer.nvidia.com . 17 de junio de 2020 . Consultado el 11 de agosto de 2020 .
  7. ^ de NVlabs/stylegan2, NVIDIA Research Projects, 11 de agosto de 2020 , consultado el 11 de agosto de 2020
  8. ^ Kakkar, Shobha (13 de octubre de 2021). "NVIDIA AI lanza StyleGAN3: redes generativas antagónicas sin alias". MarkTechPost . Consultado el 14 de octubre de 2021 .
  9. ^ abc Karras, Tero; Aila, Timo; Laine, Samuli; Lehtinen, Jaakko (2018). "Crecimiento progresivo de GAN para mejorar la calidad, la estabilidad y la variación". Conferencia internacional sobre representaciones de aprendizaje . arXiv : 1710.10196 .
  10. ^ msmash, n/a (14 de febrero de 2019). "El sitio web 'Esta persona no existe' usa inteligencia artificial para crear rostros realistas pero horrorosos". Slashdot . Consultado el 16 de febrero de 2019 .
  11. ^ ab Fleishman, Glenn (30 de abril de 2019). "Cómo detectar a las personas falsas y realistas que se infiltran en tus cronologías". Fast Company . Consultado el 7 de junio de 2020 .
  12. ^ Bishop, Katie (7 de febrero de 2020). "IA en la industria para adultos: el porno pronto podría incluir personas que no existen". The Guardian . Consultado el 8 de junio de 2020 .
  13. ^ Porter, Jon (20 de septiembre de 2019). «100.000 retratos gratuitos generados por IA ponen en alerta a las empresas de fotografías de archivo». The Verge . Consultado el 4 de agosto de 2020 .
  14. ^ Timmins, Jane Wakefield y Beth (29 de febrero de 2020). «¿Podrían utilizarse deepfakes para capacitar a los trabajadores de oficina?». BBC News . Consultado el 4 de agosto de 2020 .
  15. ^ Vincent, James (3 de marzo de 2019). "¿Puedes diferenciar entre un rostro real y uno falso generado por IA?". The Verge . Consultado el 8 de junio de 2020 .
  16. ^ NVlabs/stylegan3, Proyectos de investigación de NVIDIA, 11 de octubre de 2021
  17. ^ "La última eliminación de Facebook tiene un giro: fotos de perfil generadas por IA". ABC News . Consultado el 4 de agosto de 2020 .
  18. ^ Karras, Tero; Laine, Samuli; Aila, Timo (2019). "Una arquitectura de generador basada en estilos para redes generativas antagónicas" (PDF) . Conferencia IEEE/CVF de 2019 sobre visión artificial y reconocimiento de patrones (CVPR) . IEEE. págs. 4396–4405. arXiv : 1812.04948 . doi :10.1109/CVPR.2019.00453. ISBN . 978-1-7281-3293-8.S2CID54482423  .
  19. ^ Karras, Tero; Laine, Samuli; Aittala, Miika; Hellsten, Janne; Lehtinen, Jaakko; Aila, Timo (2020). "Análisis y mejora de la calidad de imagen de StyleGAN" (PDF) . Conferencia IEEE/CVF 2020 sobre visión por computadora y reconocimiento de patrones (CVPR) . IEEE. págs. 8107–8116. arXiv : 1912.04958 . doi :10.1109/CVPR42600.2020.00813. ISBN 978-1-7281-7168-5.S2CID209202273  .
  20. ^ Tero, Karras; Miika, Aittala; Janne, Hellsten; Samuli, Laine; Jaakko, Lehtinen; Timo, Aila (2020). "Capacitación de redes generativas adversarias con datos limitados". Avances en los sistemas de procesamiento de información neuronal . 33 .
  21. ^ Karras, Tero; Aittala, Miika; Laine, Samuli; Härkönen, Erik; Hellsten, Janne; Lehtinen, Jaakko; Aila, Timo (2021). Redes adversarias generativas sin alias (PDF) . Avances en los sistemas de procesamiento de información neuronal .
  22. ^ Karras, Tero; Aittala, Miika; Laine, Samuli; Härkönen, Erik; Hellsten, Janne; Lehtinen, Jaakko; Aila, Timo. "Redes adversarias generativas sin alias (StyleGAN3)". nvlabs.github.io . Consultado el 16 de julio de 2022 .
  • El artículo original de Nvidia StyleGAN de 2018 'Una arquitectura de generador basada en estilos para redes generativas antagónicas' en arXiv.org
  • Código StyleGAN en GitHub.com
  • Esta persona no existe
  • Fotos generadas
Retrieved from "https://en.wikipedia.org/w/index.php?title=StyleGAN&oldid=1251968657"