paint-brush
CLIP: un acueducto innovador entre la visión artificial y la PNLpor@sanjaykn170396
1,222 lecturas
1,222 lecturas

CLIP: un acueducto innovador entre la visión artificial y la PNL

por Sanjay Kumar10m2023/01/19
Read on Terminal Reader

Demasiado Largo; Para Leer

CLIP, también conocido como "Preentrenamiento de imágenes de lenguaje contrastivo", es uno de los algoritmos de renombre discutidos en un documento técnico llamado "Aprendizaje de modelos visuales transferibles a partir de la supervisión del lenguaje natural". algoritmo llamado 'Dall-E 2' En este artículo, podemos discutir el objetivo, el procedimiento de trabajo y algunos de los pros y contras del CLIP a través de algunos ejemplos de la vida real.
featured image - CLIP: un acueducto innovador entre la visión artificial y la PNL
Sanjay Kumar HackerNoon profile picture

Tabla de contenido

  • Introducción
  • El objetivo y la necesidad del algoritmo CLIP
  • El procedimiento de trabajo del algoritmo CLIP
  • Limitaciones
  • Aplicaciones en tiempo real


Introducción

CLIP, también conocido como "Preentrenamiento de imágenes de lenguaje contrastivo", es uno de los algoritmos de renombre discutidos en un documento técnico llamado "Aprendizaje de modelos visuales transferibles a partir de la supervisión del lenguaje natural" publicado por investigadores de OpenAI, un laboratorio de investigación de inteligencia artificial. El mayor consumo de CLIP se realiza en los casos de uso basados en visión artificial que utiliza un algoritmo denominado “Dall-E 2” que también fue desarrollado por el equipo de Open AI. Más precisamente, CLIP se está utilizando como modelo auxiliar para el algoritmo "Dall-E 2". Pero no malinterprete que CLIP no es poderoso ya que se consume como un modelo auxiliar :)


A pesar de ser un modelo auxiliar, CLIP se considera un paso importante en la investigación del aprendizaje profundo. Podemos implementar CLIP para la resolución de problemas por separado incluso sin "Dall-E 2". En este artículo, podemos discutir el objetivo, el procedimiento de trabajo y algunas de las ventajas y desventajas del CLIP a través de algunos ejemplos de la vida real y cómo podemos simplificar la vida de nuestros proyectos de aprendizaje profundo.


El objetivo y la necesidad del algoritmo CLIP

El objetivo principal detrás del algoritmo CLIP es encontrar un texto en particular de una lista de textos que sea más similar a la imagen dada.


Por ejemplo,

Consideremos la siguiente imagen como entrada-

Imagen de la referencia 1


Y digamos que tenemos algunos de los textos en una lista dada-

  • Una foto de un avión.
  • Una foto de un pájaro.
  • Una foto de un oso.
  • Una foto de una jirafa.
  • Una foto de un coche.


La tarea principal de un modelo CLIP es hacer coincidir el texto más apropiado de la lista dada con la imagen de entrada como se muestra a continuación:

Imagen de la referencia 1


Fundamentalmente, se trata de una red neuronal artificial que considera cada texto de la lista como una clase y asigna un valor de probabilidad a cada texto correspondiente a la imagen. Lógicamente, el texto que obtiene el máximo valor de probabilidad se puede considerar como salida.


Un gran aspecto positivo del CLIP es que ya conoce todas las palabras en el idioma "inglés". Algunas de las características del modelo CLIP que lo hacen especial en comparación con otros algoritmos similares son:


  • El modelo CLIP no se limita a una sola palabra en el texto. En cambio, intenta extraer cada pieza de información de todas las palabras en la oración de entrada y todos los píxeles de una imagen. Nunca se olvida de recordar todos los aspectos de una imagen de entrada, como los objetos en el fondo, el color, las formas, etc.


    Por ejemplo,

    Consideremos la siguiente imagen de entrada:

Imagen de la referencia 1


Todos los textos en la lista dada, excepto el último, parecen una coincidencia lógica para la entrada. Cualquier otro modelo habría tenido dificultades para alcanzar un valor de probabilidad de condena alto para una clase en particular. Sin embargo, el CLIP habría analizado los patrones de todos los aspectos de esta imagen, como la perrera, la celda, el perro, etc.


La luz del sol parece venir de afuera hacia adentro. Por lo tanto, debe ser una estructura interior. Además, hay una presencia de un animal en lugar de un humano. Por lo tanto, no debería ser una cárcel, pero podría ser una perrera.


Este tipo de análisis avanzado que considera todos los aspectos de la imagen y el texto podría no ser posible para otros modelos en la misma liga.


  • También se ha visto que CLIP funciona bien en casos de uso de reconocimiento óptico de caracteres, lo que no es posible en modelos similares.


Imagen de la referencia 1


Imagen de la referencia 1



  • Otras ramas de la visión artificial, como la geolocalización, el reconocimiento de emociones faciales, etc., también parecen estar funcionando bien con el modelo CLIP.


Imagen de la referencia 1


Imagen de la referencia 1


Imagen de la referencia 1


  • CLIP ha demostrado un gran rendimiento de tiro cero incluso en entradas no vistas. Además, no espera que el texto esté en una sola palabra como "gato", "perro", "pájaro", "coche". plano”, etc. En cambio, puede comprender un grupo de palabras que enmarcan lógicamente una oración. Esta característica generalmente no se ve en otros modelos.


Imagen de la referencia 1


Imagen de la referencia 1


Imagen de la referencia 1


El procedimiento de trabajo del algoritmo CLIP

El algoritmo CLIP ha sido entrenado en 400 millones de imágenes con descripciones de texto emparejadas que lo hacen un gran conocedor del universo y seguro para resolver tareas complejas con imágenes y textos complejos.


El conjunto de datos de Imagenet consta de solo 1,2 millones de imágenes. 400 millones es casi 300 veces más que 1,2 millones. La mayoría de los 400 millones de imágenes se extraen directamente de Internet, lo que la convierte en una colección grande y muy diversificada que aumenta su capacidad de detección de patrones.


Para el desarrollo de la arquitectura CLIP, necesitamos codificar tanto las imágenes como los textos correspondientes en vectores matemáticos. Esto se debe a que un algoritmo de aprendizaje automático no podrá inferir la información si está en formato visual o textual. Por lo tanto, necesitamos convertirlos en valores numéricos.


La entrada de imagen se convierte en un vector matemático usando un algoritmo Transformer o Resnet

Imagen de la referencia 2



La entrada de texto es en un vector matemático utilizando un algoritmo de Transformador.

Imagen de la referencia 2


Dado que tenemos una lista de pares Imagen-Texto, debemos indicarlo usando ciertos alfabetos.


Cada imagen se denota como I1, I2,I3...IN etc.

Cada texto se denomina T1,T2,T3...TN, etc.

Imagen ilustrada por el autor

Después de eso, necesitamos construir una matriz de similitud con cada una de las imágenes como filas y cada uno de los textos como columnas.

Imagen de la referencia 2


Como se menciona en la imagen de arriba, los pares diagonales de imagen y texto tendrán más similitud ya que se refieren al mismo contexto. Los elementos no diagonales son pares aleatorios que no pertenecen al mismo contexto. Por lo tanto, su valor de similitud será bajo.


El objetivo de las funciones de optimización será aumentar el valor de similitud de los pares diagonales tanto como sea posible y disminuir la similitud entre los pares de imagen y texto no diagonales.


En un momento del aprendizaje, el modelo podrá aprender los patrones ocultos que coinciden con las imágenes y los textos que pertenecen al mismo contexto y diferenciar las imágenes y los textos que pertenecen a diferentes contextos.


Este procedimiento se denomina técnicamente “preentrenamiento contrastivo” .


CLIP se considera un algoritmo "computacionalmente eficiente". Esto se debe a que utilizan el algoritmo del transformador para codificar imágenes y textos que acceden a los datos de forma paralela. Si usamos otros algoritmos como LSTM o RNN, tienden a acceder a los datos para codificarlos en forma serial, lo que puede consumir mucho tiempo y espacio.

Imagen de la referencia 2


Dado que el CLIP puede hacer coincidir una imagen con una oración larga, los investigadores generalmente crean un mensaje de texto como "Una foto de un _____". Luego, mientras itera a través de una lista de textos, el programa de computadora ajusta automáticamente cada palabra de la lista en este mensaje de texto como-

  • una foto de un avion
  • una foto de un coche
  • Una foto de un perro, etc.

Luego, este texto se codifica y se compara con el vector codificado de la imagen de entrada para calcular el valor de similitud.


Limitaciones


Desafíos relacionados con la escalabilidad

En conjuntos de datos con divisiones de entrenamiento, el rendimiento de CLIP de disparo cero es, en promedio, competitivo con la línea de base supervisada simple de un clasificador lineal además de las características de ResNet-50. En la mayoría de estos conjuntos de datos, el rendimiento de esta línea de base ahora está muy por debajo del estado del arte general. Todavía se necesita un trabajo significativo para mejorar las capacidades de transferencia y aprendizaje de tareas de CLIP. Si bien hasta ahora la escala ha mejorado constantemente el rendimiento y sugiere una ruta para la mejora continua, los investigadores estiman que se requiere un aumento de alrededor de 1000 veces en la computación para que CLIP sin disparo alcance un rendimiento general de última generación. Esto es inviable de entrenar con el hardware actual. Será necesario seguir investigando para mejorar la eficiencia computacional y de datos de CLIP.


Desafíos relacionados con el rendimiento de tiro cero

Se encuentra que el rendimiento de disparo cero de CLIP es todavía bastante débil en varios tipos de tareas. En comparación con los modelos específicos de tareas, el rendimiento de CLIP es deficiente en varios tipos de clasificación detallada, como la diferenciación de modelos de automóviles, especies de flores y variantes de aeronaves. CLIP también lucha con tareas más abstractas y sistemáticas, como contar la cantidad de objetos en una imagen. Finalmente, para tareas novedosas que es poco probable que se incluyan en el conjunto de datos previo al entrenamiento de CLIP, como clasificar la distancia al automóvil más cercano en una foto, el rendimiento de CLIP puede ser casi aleatorio.


Desafíos en la comprensión de las imágenes que están fuera del conjunto de entrenamiento (distribución)

Si bien el CLIP de disparo cero se generaliza bien en muchas distribuciones de imágenes naturales según lo investigado, los investigadores observaron que el CLIP de disparo cero todavía se generaliza mal a los datos que realmente están fuera de distribución para él.


Por ejemplo, CLIP aprende una representación OCR semántica de alta calidad que funciona bien en texto renderizado digitalmente, lo cual es común en su conjunto de datos previo al entrenamiento, como lo demuestra el rendimiento en Rendered SST2.


Sin embargo, CLIP solo logra un 88 % de precisión en los dígitos escritos a mano de MNIST. vergonzosamente

la línea de base simple de la regresión logística en píxeles sin procesar supera al CLIP de tiro cero. Tanto la recuperación semántica como casi duplicada del vecino más cercano verifica que casi no hay imágenes que se parezcan a los dígitos MNIST en nuestro conjunto de datos previo al entrenamiento.


Esto sugiere que CLIP hace poco para abordar el problema subyacente de la generalización frágil de los modelos de aprendizaje profundo. En cambio, CLIP trata de eludir el problema y espera que al entrenar en un conjunto de datos tan grande y variado, todos los datos se distribuyan de manera efectiva. Esta es una suposición ingenua que, como demuestra el MNIST, es fácil de violar.


No se pueden generar subtítulos

Aunque CLIP puede generar clasificadores de disparo cero de manera flexible para una amplia variedad de tareas y conjuntos de datos, CLIP todavía está limitado a elegir solo entre esos conceptos en un clasificador de disparo cero dado. Esta es una restricción significativa en comparación con un enfoque verdaderamente flexible como el subtitulado de imágenes que podría generar resultados novedosos.


CLIP no aborda la baja eficiencia de datos del aprendizaje profundo

CLIP tampoco aborda la baja eficiencia de datos del aprendizaje profundo. En su lugar, CLIP compensa utilizando una fuente de supervisión que se puede escalar a cientos de millones de ejemplos de capacitación. Si cada imagen vista durante el entrenamiento de un modelo CLIP se presentara a una velocidad de una por segundo, se necesitarían 405 años para iterar a través de las 12 800 millones de imágenes vistas durante 32 épocas de entrenamiento. La combinación de CLIP con métodos de autosupervisión y autoformación es una dirección prometedora dada su capacidad demostrada para mejorar la eficiencia de los datos sobre el aprendizaje supervisado estándar.


Aplicaciones en tiempo real

Algunas de las áreas en las que se ha utilizado CLIP para resolver casos de uso en tiempo real son:


  • Hay un sitio web llamado “paint.wtf” donde podemos jugar al Pictionary. Los jugadores aquí serán juzgados por el CLIP.

  • CLIP se puede utilizar para implementar filtros como "NSFW (No seguro para el trabajo)".

  • "DALL-E", un algoritmo de Open AI, utiliza CLIP como modelo auxiliar, como comentamos anteriormente.

  • CLIP se utiliza para indexar fotos en sitios web como Unsplash .

  • CLIP se puede usar para encontrar imágenes apropiadas para lenguajes complejos como poesía, acertijos, rimas, novelas, etc.

  • CLIP también se puede utilizar para seleccionar imágenes corruptas o distorsionadas. Un nuevo trabajo de investigación titulado "Problemas inversos que aprovechan las representaciones contrastivas preentrenadas " demuestra cómo se usó un método de inversión supervisada para obtener representaciones efectivas de imágenes corruptas.

    Imagen de la referencia 3


  • Lanzado en 2021, un modelo generativo llamado CLIP+VQGAN o Vector Quantized Generative Adversarial Network se usa dentro del paradigma de texto a imagen para generar imágenes de tamaños variables, dado un conjunto de indicaciones de texto. Sin embargo, a diferencia de VQGAN, CLIP no es un modelo generativo y simplemente está entrenado para representar imágenes y texto de manera efectiva.



Imagen de la referencia 4


Conclusión

Es un hecho innegable en la industria del aprendizaje profundo que CLIP ha allanado el camino para el desarrollo de algoritmos avanzados para resolver casos de uso complejos relacionados con el procesamiento de imágenes y el NLP.


CLIP puede considerarse un acueducto innovador entre la visión artificial y la PNL. Además, dado que no requiere datos de capacitación específicos de la tarea, es posible alimentar grandes cantidades de datos de texto y mejoraría poco a poco en más tareas no relacionadas.


Juntos podemos esperar ansiosamente los avances revolucionarios que CLIP brindará en el futuro. Espero que tenga una introducción básica al concepto detrás del algoritmo CLIP de una manera lúcida.


He agregado los enlaces al trabajo de investigación en la sección de referencia que puede usar en caso de que necesite consultar la implementación en profundidad.


Referencias

  1. Documentación CLIP de Open AI

  2. "Aprender modelos visuales transferibles a partir de la supervisión del lenguaje natural" - Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, Ilya Sutskever

  3. "Problemas inversos que aprovechan las representaciones contrastivas preentrenadas" - Sriram Ravula*, Georgios Smyrnis*, Matt Jordan, Alexandros G. Dimakis, The University of Texas at Austin, NeurIPS 2021

  4. "VQGAN-CLIP: generación y edición de imágenes de dominio abierto con guía de lenguaje natural": Katherine Crowson, Stella Biderman, Daniel Kornis, Dashiell Stander, Eric Hallahan, Louis Castricato y Edward Raff

  5. Radford, Alec; Narasimhan, Karthik; Salimans, Tim; Sutskever, Ilya (11 de junio de 2018). "Mejora de la comprensión del lenguaje mediante el entrenamiento previo generativo" (PDF) . IA abierta . pag. 12. Archivado (PDF) desde el original el 26 de enero de 2021. Consultado el 23 de enero de 2021.

  6. Johnson, Khari (5 de enero de 2021). "OpenAI estrena DALL-E para generar imágenes a partir de texto" . Venture Beat. Archivado desde el original el 5 de enero de 2021. Consultado el 5 de enero de 2021.

  7. Ramesh, Aditya; Dhariwal, Prafulla; Nichol, Alex; Chu, Casey; Chen, Mark (12 de abril de 2022). "Generación de imágenes condicionales de texto jerárquico con latentes CLIP" . arXiv : 2204.06125 .