AI-For-Beginners/translations/es/lessons/X-Extras/X1-MultiModal
Pikachú 5d34bc4eb8 Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
..
README.md Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00

README.md

Redes Neuronales Multi-Modales

Tras el éxito de los modelos de transformadores para resolver tareas de procesamiento de lenguaje natural (NLP), se han aplicado arquitecturas similares a tareas de visión por computadora. Hay un creciente interés en construir modelos que combinan capacidades de visión y lenguaje natural. Uno de estos intentos fue realizado por OpenAI, y se llama CLIP y DALL.E.

Pre-entrenamiento de Imágenes Contrastivas (CLIP)

La idea principal de CLIP es poder comparar indicaciones de texto con una imagen y determinar qué tan bien la imagen corresponde a la indicación.

Arquitectura CLIP

Imagen del este post del blog

El modelo se entrena con imágenes obtenidas de Internet y sus descripciones. Para cada lote, tomamos N pares de (imagen, texto) y los convertimos en representaciones vectoriales. Esas representaciones se emparejan entre sí. La función de pérdida se define para maximizar la similitud coseno entre los vectores correspondientes a un par (por ejemplo, I y T), y minimizar la similitud coseno entre todos los demás pares. Esa es la razón por la cual este enfoque se llama contrastivo.

El modelo/biblioteca CLIP está disponible en OpenAI GitHub. El enfoque se describe en este post del blog, y con más detalle en este artículo.

Una vez que este modelo está pre-entrenado, podemos darle un lote de imágenes y un lote de indicaciones de texto, y devolverá un tensor con probabilidades. CLIP se puede utilizar para varias tareas:

Clasificación de Imágenes

Supongamos que necesitamos clasificar imágenes entre, digamos, gatos, perros y humanos. En este caso, podemos darle al modelo una imagen y una serie de indicaciones de texto: "una imagen de un gato", "una imagen de un perro", "una imagen de un humano". En el vector resultante de 3 probabilidades, solo necesitamos seleccionar el índice con el valor más alto.

CLIP para Clasificación de Imágenes

Imagen del este post del blog

Búsqueda de Imágenes Basada en Texto

También podemos hacer lo opuesto. Si tenemos una colección de imágenes, podemos pasar esta colección al modelo y una indicación de texto; esto nos dará la imagen que es más similar a la indicación dada.

✍️ Ejemplo: Usando CLIP para Clasificación de Imágenes y Búsqueda de Imágenes

Abre el Clip.ipynb notebook para ver CLIP en acción.

Generación de Imágenes con VQGAN+ CLIP

CLIP también se puede utilizar para generación de imágenes a partir de una indicación de texto. Para hacer esto, necesitamos un modelo generador que pueda generar imágenes basadas en alguna entrada vectorial. Uno de estos modelos se llama VQGAN (Generador Antagónico Cuantificado por Vectores).

Las principales ideas de VQGAN que lo diferencian de un GAN ordinario son las siguientes:

  • Utilizar una arquitectura de transformador autorregresiva para generar una secuencia de partes visuales ricas en contexto que componen la imagen. Esas partes visuales son a su vez aprendidas por CNN.
  • Usar un discriminador de sub-imágenes que detecte si partes de la imagen son "reales" o "falsas" (a diferencia del enfoque "todo o nada" en un GAN tradicional).

Aprende más sobre VQGAN en el sitio web de Taming Transformers.

Una de las diferencias importantes entre VQGAN y un GAN tradicional es que este último puede producir una imagen decente a partir de cualquier vector de entrada, mientras que VQGAN es probable que produzca una imagen que no sea coherente. Por lo tanto, necesitamos guiar aún más el proceso de creación de la imagen, y eso se puede hacer usando CLIP.

Arquitectura VQGAN+CLIP

Para generar una imagen correspondiente a una indicación de texto, comenzamos con algún vector de codificación aleatorio que se pasa a través de VQGAN para producir una imagen. Luego, se utiliza CLIP para producir una función de pérdida que muestra qué tan bien la imagen corresponde a la indicación de texto. El objetivo es minimizar esta pérdida, utilizando retropropagación para ajustar los parámetros del vector de entrada.

Una gran biblioteca que implementa VQGAN+CLIP es Pixray.

Imagen producida por Pixray Imagen producida por Pixray Imagen producida por Pixray
Imagen generada a partir de la indicación un primer plano de un retrato en acuarela de un joven profesor de literatura con un libro Imagen generada a partir de la indicación un primer plano de un retrato al óleo de una joven profesora de ciencias de la computación con una computadora Imagen generada a partir de la indicación un primer plano de un retrato al óleo de un viejo profesor de matemáticas frente a una pizarra

Imágenes de la colección Maestros Artificiales por Dmitry Soshnikov.

DALL-E

DALL-E 1

DALL-E es una versión de GPT-3 entrenada para generar imágenes a partir de indicaciones. Ha sido entrenada con 12 mil millones de parámetros.

A diferencia de CLIP, DALL-E recibe tanto texto como imagen como un único flujo de tokens para imágenes y texto. Por lo tanto, a partir de múltiples indicaciones, puedes generar imágenes basadas en el texto.

DALL-E 2

La principal diferencia entre DALL-E 1 y 2 es que genera imágenes y arte más realistas.

Ejemplos de generación de imágenes con DALL-E:

Imagen producida por Pixray Imagen producida por Pixray Imagen producida por Pixray
Imagen generada a partir de la indicación un primer plano de un retrato en acuarela de un joven profesor de literatura con un libro Imagen generada a partir de la indicación un primer plano de un retrato al óleo de una joven profesora de ciencias de la computación con una computadora Imagen generada a partir de la indicación un primer plano de un retrato al óleo de un viejo profesor de matemáticas frente a una pizarra

Referencias

Descargo de responsabilidad:
Este documento ha sido traducido utilizando servicios de traducción automática basados en IA. Aunque nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No somos responsables de malentendidos o malas interpretaciones que surjan del uso de esta traducción.