Imagen de Google, cómo funciona y compara con DALL-E2

  • Autor de la entrada:
En este momento estás viendo Imagen de Google, cómo funciona y compara con DALL-E2
Foto generada por Imagen. Web de Google Research.

Tiempo estimado de lectura: 8 minutos.

Apenas un mes después de que Open AI diera a conocer DALL-E2, Google Brain presenta Imagen, su alternativa para la generación y modificación de imágenes fotorrealistas a partir de texto.

Sus creadores anuncian que Imagen obtiene un grado de fotorrealismo y de conocimiento del lenguaje sin precedentes, siendo la opción preferida por evaluadores humanos frente a otros métodos similares.

Veamos cómo funciona y compara con DALL-E2.

Funcionamiento de Imagen

Arquitectura de Imagen
Arquitectura de Imagen. Imagen adaptada de la publicación original.

Imagen es un modelo de difusión que genera una imagen condicionada a un texto con las siguientes características:

  • Representaciones texto-imagen a partir de un gran modelo de lenguaje pre-entrenado.
  • Cascada de modelos de difusión de alta resolución guiados «sin clasificador» (classifier-free guidance) y con umbrales dinámicos (dynamic thresholding).
  • Arquitectura UNet optimizada.

Veamos cada una de estos puntos en mayor detalle.

Representaciones texto-imagen a partir de un gran modelo de lenguaje pre-entrenado

Esta es una de las novedades de Imagen con respecto a DALL-E2.

Últimamente, en IA, vivimos una explosión de investigaciones en torno al aprendizaje multimodal por su capacidad para representar el mundo en mayor detalle. En esta línea, han aparecido técnicas como CLIP (Contrastive language-image pre-training) que aprenden relaciones a partir de pares texto-imagen y son las base de arquitecturas conocidas como DALL-E2.

A pesar de los buenos resultados, Google dice que se quedan cortos porque existe mucha más información escrita que conjuntos de pares de texto-imágenes. En consecuencia, si entremos un modelo de lenguaje con suficiente lenguaje natural seremos capaces de capturar más información del contexto que CLIP.

Para Imagen Google propone utilizar un codificador T5 XXL (4,6B de parámetros) que permite entrenar conjuntos de lenguaje muy grandes.

T5 es un Transformer tipo codificador-decodificador propio de la empresa californiana que, por un lado, es capaz de generar lenguaje (decodificador) y, por el otro, consigue representaciones muy potentes del texto (codificador) que se utilizan para hacer una transferencia del conocimiento aprendido de lenguaje hacia otras aplicaciones (relaciones entre texto-imagen en este caso).

Para que el proceso global sea más eficiente, se pre-entrena el modelo T5 XXL y «congelan» sus resultados. Estas representaciones de texto precalculadas son la que se utilizan posteriormente para guiar a los modelos de difusión.

Realmente, esta forma de codificar el texto es equivalente a lo que hace GLIDE, otro modelo de generación de imágenes de OpenAI. La diferencia está en que, en GLIDE, la codificación del texto se infiere durante el proceso de generación de la imagen y con otro tipo de Transformer.

Te dejo más información de GLIDE en referencias.

Modelos de difusión de alta resolución

No es la primera vez que hablo de este tipo de algoritmos. Los modelos de difusión son un tipo de algoritmo generativo de datos a partir de ruido que se está convirtiendo en el último estado del arte de las aplicaciones de síntesis de imágenes. De hecho, es el que utilizan otras aplicaciones conocidas como GLIDE o DALL-E2.

A muy alto nivel, este tipo de modelo se entrena a partir de dos procesos:

  • El primer proceso es el proceso hacia delante, «q» o prior que genera las muestras de entrenamiento que son variaciones de la foto original cada vez más ruidosas.
  • El segundo proceso es el proceso reverso o «hacia atrás», «pΘ» o posterior y su fin es aprender a generar  la imagen a partir del ruido.

Entrenamiento de modelos de difusión

Imagen se basa en este tipo de modelos para generar las imágenes, concretamente, en la variante de guiado «sin clasificador» condicionado a las representaciones de texto obtenidas con el codificador T5 XXL del punto anterior.

Básicamente, el guiado es una corrección final sobre el resultado. Para calcular el ajuste «sin clasificador», durante el entrenamiento del modelo de difusión parte de las muestras se condicionan al texto y parte no. La imagen final se «corrige» moviéndola a lo largo del gradiente del vector diferencia [imagen condicionada – imagen sin condicionar].

Proceso de difusión guiado sin clasificador

A pesar de que este proceso de guiado «sin clasificador» mejora el alineamiento entre una imagen y su texto, puede dañar el realismo de la foto.

Durante su desarrollo, los autores de Imagen confirman un efecto que ya se había identificado en otros estudios:

Incrementar los pesos del proceso de guiado sin clasificador mejora el alineamiento entre texto e imagen pero daña la fidelidad, produciendo imágenes muy saturadas y poco naturales. Esto se debe al desajuste entre entrenamiento-pruebas para pesos muy altos. En cada paso de muestreo del proceso de difusión, la predicción debe de estar dentro de los límites de los datos de entrenamiento pero se ha observado empíricamente que pesos muy altos del del proceso de guiado pueden provocar que las predicciones sobrepasen estos límites.

En resumen, el proceso de extrapolación en la dirección del texto puede provocar que se generen píxeles fuera de los límites de la foto, generando imágenes sean menos realistas.

Para corregirlo, se introduce un umbral dinámico para ajustar los pesos en cada paso y llevar los píxeles muy saturados dentro de los márgenes de la imagen.

Por último, se utilizan modelos de alta resolución y un proceso en cascada para conseguir imágenes más fieles compuesto por un modelo base (64×64) y dos modelos guiados por texto que sobre-muestrean las imágenes (256 x 256 y 1024×1024).

Arquitectura Efficient UNet

La arquitectura UNet no es nueva y la encontramos en otros modelos de difusión como GLIDE o DALL-E2 modificada. Es una red neuronal basada en convoluciones que se refuerzan con un mecanismo de atención en diferentes capas.

Red neuronal tipo UNet
Red neuronal tipo UNet

Google basa su proyecto en una red UNet con ciertos ajustes en parámetros, conexiones y orden de capas que mejoran la eficiencia en memoria, el tiempo de inferencia, y la velocidad de convergencia. Por ello la llaman UNet Eficiente (Efficient U-net).

Comparativa Imagen – DALL-E2

Comparativa Imagen_DALLE2
Foto de la publicación de Imagen de Google

Desde el punto de vista de la arquitectura hemos visto que tanto Imagen como DALL-E, se apoyan en modelos de difusión para generar las imágenes.

Las principales diferencias están en:

  • La representación Imagen-Texto porque DALL-E2 utiliza aprendizaje contrastivo (CLIP) mientras que Imagen emplea un Transformer codificador entrenado en un volumen mayor de lenguaje natural.
  • La generación de imagen ya que DALL-E2 genera la imagen a partir de representaciones CLIP y Imagen lo hace directamente desde la imagen.

En realidad, desde un punto de vista funcional, Imagen es más parecido a GLIDE que a DALL-E2.

Si lo analizamos a partir de los resultados, lo datos presentados de Imagen muestran un nuevo récord con un valor FID de 7.27 superando tanto a DALL-E2 (10.4) como a GLIDE (12.4).

Aunque no se quedan aquí. Google introduce un nuevo método de auditoría (DrawBench) con textos de entrada diseñados para realizar un análisis más exhaustivo de las diferentes dimensiones de los modelos texto-imagen. De esta forma se tienen en cuenta variables como:

composición, cardinalidad y relaciones espaciales, así como la habilidad de manejar textos de entrada más complejos y creativos para llevar a los modelos al límite .

En el ejercicio comparativo realizado con DrawBench, evaluadores humanos prefirieron los resultados de Imagen en todos los casos.

Por último, los dos modelos presentan los mismos riesgo respecto a sesgos, aplicaciones maliciosas y noticias falsas, de ahí que en ambos estén limitando el tipo de texto que se puede introducir para generar las imágenes.

Conclusiones

Me maravilla el procesamiento de lenguaje natural y el diseño digital, así que, cualquier cosa que una ambos mundos me llama la atención, sobre todo si, además, complementa el avance hacia la creación de una inteligencia artificial general (AGI).

No tengo dudas de que si Google hubiera presentado Imagen antes que DALL-E2, hubiera sido él quien hubiera ocupado todos los medios de comunicación en vez del último. Ahora mismo ha pasado algo más inadvertido fuera de la prensa especializada porque las bondades que proclama, con respecto a su competidor, son muy sutiles para el público general.

Es cierto que los resultado obtenidos son sorprendentes aunque se mueven en límites de la subjetividad como para proclamarlo de manera definitiva como claro vencedor en esta «competición» de algoritmos.

Lo que sí me parece diferencial es Drawbench como método de auditoría que, si bien aún se puede considerar como un embrión, tiene un gran potencial para comprender a un nivel más profundo como funciona el entendimiento del lenguaje.

Queda aún camino por recorrer pero estos pequeños pasos, o grandes según el punto de vista, son los que van a dar lugar a verdadera inteligencia artificial.

Referencias

Nota: FID (Frechet Inception Distance) es una métrica que evalúa la distribución de la imagen generada con respecto a la real utilizada para entrenar el modelo.