VQGAN (Red Generativa Adversarial de Quantização Vetorial) é uma classe de arquiteturas de redes neuronais generativas projetadas para síntesis de imagens de alta resolução. Combina a aprendizagem de representações latentes discretas da quantização vetorial (VQ) com as melhoras perceptuais de qualidade de uma red generativa adversarial (GAN). Introducida em um artigo de 2021 por Patrick Esser, Robin Rombach e Björn Ommer na Universidade de Heidelberg e no IWR, a VQGAN se tornou um componente fundamental para modelos posteriores de texto a imagem, incluindo os modelos de difusión latente usados em Stable Diffusion.
A ideia central da VQGAN é aprender um codebook discreto e comprimido de características visuais a partir de imagens de treinamento. Uma red codificadora mapeia uma imagem de entrada a uma sequência de índices nesse codebook, e uma decodificadora reconstrói a imagem a partir desses índices. Um discriminador GAN é treinado junto com o codificador e o decodificador para garantir que as imagens reconstruídas sejam perceptualmente indistinguíveis das reais, enquanto uma perda perceptual baseada em uma red pré-treinada (como VGG) melhora ainda mais a fidelidade. Esta abordagem permite que a VQGAN gere imagens em resoluções de 1024x1024 pixels e superiores, algo que era desafiante para modelos anteriores como VQ-VAE.
Arquitectura e Treinamento
A arquitetura VQGAN consiste em três componentes principais: um codificador, um decodificador e um codebook de vectores aprendibles. O codificador reduz a imagem de entrada a uma grade espacial de códigos latentes, cada um quantizado ao elemento mais próximo do codebook. O decodificador aumenta esses códigos de volta ao espaço da imagem. O treinamento minimiza uma combinação de perda de reconstrução (L2), perda perceptual e uma perda de compromiso que incentiva que as saídas do codificador permanezcan próximas aos elementos do codebook. O discriminador GAN, tipicamente um PatchGAN, é treinado adversarialmente para distinguir imagens reais de reconstruídas, empujando o decodificador a produzir detalhes mais nítidos.
Uma inovação clave foi o uso de um modelo transformer, como um Transformer, para modelar a sequência de códigos quantizados. Ao tratar os códigos discretos como tokens, o transformer podía aprender dependencias globais e generar novas imágenes autoregressivamente, permitindo uma estrutura coerente de grande escala. Esta abordagem híbrida - codificador/decodificador convolucional com um prior transformer - permitiu que a VQGAN capturasse tanto textura local como contexto global.
Aplicações na Difusión Latente
A aplicação mais influente da VQGAN veio através de sua integração em modelos de difusión latente. No artigo de 2022 "Síntesis de Imágenes de Alta Resolución com Modelos de Difusión Latente", Rombach e colegas usaron um autoencoder estilo VQGAN para comprimir imágenes a um espaço latente de menor dimensión. O modelo de difusión então operava nesses latentes em lugar de píxeles brutos, reduzindo drasticamente o custo computacional enquanto preservava a qualidade da imagem. Esta arquitetura se tornou a base para Stable Diffusion, um sistema de texto a imagem de código aberto amplamente usado. O componente VQGAN nesses modelos é frequentemente referido como "VAE" (autoencoder variacional) no ecosistema Stable Diffusion, embora retenga o diseño quantizado por vectores.
Comparação com Outros Modelos Generativos
A diferença de GANs puros como StyleGAN, que generan imágenes directamente de un vector de ruido, VQGAN produce una representación latente discreta que puede ser manipulada y editada. Esta propiedad la hace adecuada para tareas como inpainting de imágenes, super-resolución y síntesis semántica. En comparación con VQ-VAE, VQGAN añade pérdidas adversariales y perceptuales, que mejoran significativamente la nitidez y el realismo de las salidas. Sin embargo, la dependencia de VQGAN en un codebook y un prior transformer hace que el entrenamiento sea más complejo y computacionalmente intensivo que los autoencoders más simples.
Legado e Impacto
VQGAN influyó en investigaciones posteriores en aprendizaje profundo y inteligencia artificial, particularmente en el campo del modelado generativo. Su concepto de espacio latente discreto fue adoptado en varios modelos multimodales y contribuyó al desarrollo de grandes modelos de lenguaje que incorporan tokens visuales. El código y los modelos preentrenados fueron liberados públicamente, permitiendo una experimentación generalizada. A partir de 2025, VQGAN sigue siendo un punto de referencia para entender los compromisos entre representaciones latentes discretas y continuas en la generación de imágenes, y sus principios continúan informando arquitecturas más nuevas en la comunidad más amplia de aprendizaje automático.
Limitaciones
A pesar de sus fortalezas, VQGAN tiene limitaciones conocidas. El tamaño y la dimensión del codebook requieren un ajuste cuidadoso; un codebook demasiado pequeño conduce a una pérdida de detalle, mientras que uno demasiado grande aumenta el uso de memoria. El prior transformer puede ser lento para muestrear, especialmente para imágenes de alta resolución. Además, el modelo puede exhibir artefactos como desenfoque en regiones uniformes o patrones repetitivos, particularmente cuando el codebook no es suficientemente expresivo. Estos problemas motivaron enfoques posteriores que se movieron hacia latentes continuos, como se observa en algunos modelos de difusión.