XYZNOT

Artículos · arXiv 2103.00020

Learning Transferable Visual Models From Natural Language Supervision

Publicado cs.CVcs.LG arXivPDF

Leer con traducción e IA

Resumen en tres líneas

  1. 🎯 Los sistemas estándar de visión por computadora dependen de conjuntos de etiquetas fijos y predeterminados que requieren costosas anotaciones y no logran generalizar a conceptos visuales novedosos.
  2. 🔧 Contrastive Language-Image Pre-training (CLIP) entrena conjuntamente un codificador de imágenes y uno de texto para maximizar la similitud del coseno de pares imagen-texto emparejados en lotes grandes usando una pérdida simétrica de entropía cruzada.
  3. 📈 Iguala el 76.2% de precisión top-1 de un ResNet-50 totalmente supervisado en ImageNet en modo zero-shot sin utilizar ninguno de los 1.28M de ejemplos etiquetados de ImageNet.

Resumen

Los sistemas de visión por computadora del estado del arte se entrenan para predecir un conjunto fijo de categorías de objetos predeterminadas. Esta forma restringida de supervisión limita su generalidad y usabilidad, ya que se requieren datos etiquetados adicionales para especificar cualquier otro concepto visual. Aprender directamente a partir de texto sin procesar sobre imágenes es una alternativa prometedora que aprovecha una fuente de supervisión mucho más amplia. Demostramos que la sencilla tarea de preentrenamiento consistente en predecir qué texto descriptivo corresponde a qué imagen es una forma eficiente y escalable de aprender representaciones de imágenes SOTA desde cero en un conjunto de datos de 400 millones de pares (imagen, texto) recopilados de internet. Tras el preentrenamiento, se utiliza el lenguaje natural para hacer referencia a los conceptos visuales aprendidos (o describir otros nuevos), lo que permite la transferencia zero-shot del modelo a tareas posteriores. Estudiamos el rendimiento de este enfoque evaluándolo en más de 30 conjuntos de datos existentes de visión por computadora, abarcando tareas como OCR, reconocimiento de acciones en video, geolocalización y muchos tipos de clasificación de objetos de grano fino. El modelo se transfiere de forma no trivial a la mayoría de las tareas y a menudo es competitivo con una línea base totalmente supervisada sin necesidad de ningún entrenamiento específico para el conjunto de datos. Por ejemplo, igualamos la precisión del ResNet-50 original en ImageNet en modo zero-shot sin necesidad de utilizar ninguno de los 1,28 millones de ejemplos de entrenamiento con los que fue entrenado. Publicamos nuestro código y los pesos de los modelos preentrenados en https://github.com/OpenAI/CLIP.

Resumen original (inglés)

State-of-the-art computer vision systems are trained to predict a fixed set of predetermined object categories. This restricted form of supervision limits their generality and usability since additional labeled data is needed to specify any other visual concept. Learning directly from raw text about images is a promising alternative which leverages a much broader source of supervision. We demonstrate that the simple pre-training task of predicting which caption goes with which image is an efficient and scalable way to learn SOTA image representations from scratch on a dataset of 400 million (image, text) pairs collected from the internet. After pre-training, natural language is used to reference learned visual concepts (or describe new ones) enabling zero-shot transfer of the model to downstream tasks. We study the performance of this approach by benchmarking on over 30 different existing computer vision datasets, spanning tasks such as OCR, action recognition in videos, geo-localization, and many types of fine-grained object classification. The model transfers non-trivially to most tasks and is often competitive with a fully supervised baseline without the need for any dataset specific training. For instance, we match the accuracy of the original ResNet-50 on ImageNet zero-shot without needing to use any of the 1.28 million training examples it was trained on. We release our code and pre-trained model weights at https://github.com/OpenAI/CLIP.

Guía de lectura

Problema y motivación

Los modelos de visión del estado del arte dependen tradicionalmente de pruebas de referencia de clasificación de conjunto cerrado con etiquetas generadas por multitudes, tales como ImageNet. Este paradigma de etiquetas fijas restringe su usabilidad: reconocer cualquier concepto ajeno al vocabulario objetivo exige recopilar y anotar nuevos datos. Por el contrario, el procesamiento del lenguaje natural había migrado con éxito hacia un preentrenamiento agnóstico a la tarea directamente sobre texto a escala web (por ejemplo, GPT-3), produciendo modelos capaces de generalizar en zero-shot mediante interfaces de texto a texto. Los autores investigan si escalar la supervisión por lenguaje natural en datos a escala web puede generar representaciones visuales que generalicen ampliamente a diversas tareas de visión por computadora sin requerir un ajuste fino supervisado específico para cada conjunto de datos.

Ideas clave

  • Aprendizaje a partir de supervisión por lenguaje natural: Tratar pares (imagen, texto) extraídos de la web como señales de entrenamiento vincula directamente las características visuales con la rica semántica del lenguaje natural, evitando el etiquetado discreto de clases 1-de-N.
  • Aprendizaje contrastivo para mayor eficiencia: Predecir tokens de texto exactos (generación de subtítulos) resulta computacionalmente ineficiente. Formular el objetivo como una tarea de emparejamiento contrastivo —distinguir pares verdaderos (imagen, texto) de pares incorrectos dentro de un minibatch— demuestra ser 4 veces más eficiente en muestras que la predicción basada en bolsa de palabras (bag-of-words) y mucho más rápida que el modelado generativo.
  • Clasificación zero-shot como clasificadores lineales dinámicos: Las clases del conjunto de datos objetivo se procesan a través del codificador de texto para transformarse en vectores de características. Estos vectores sirven como pesos para un clasificador lineal zero-shot frente a los embeddings de las imágenes.
  • Ingeniería de prompts y ensamblado (prompt ensembling): El rendimiento zero-shot es sensible a la sintaxis y al contexto del prompt. Enmarcar los nombres de las clases en oraciones completas (por ejemplo, "A photo of a {label}.") y realizar un ensamblado a partir de múltiples variaciones de prompts mejora la transferencia zero-shot en aproximadamente 5 puntos en ImageNet.

Método (con las ecuaciones clave)

CLIP construye un espacio de embedding multimodal mediante el entrenamiento conjunto de un codificador de imágenes y un codificador de texto sobre un conjunto de datos de 400 millones de pares (imagen, texto) extraídos de internet (WIT).

  1. Extracción y proyección de características: Dado un minibatch de pares imagen-texto para , cada codificador mapea las entradas a una dimensión conjunta mediante proyecciones lineales y :

  2. Matriz de similitud: Los logits se calculan mediante la similitud del coseno escalada: donde es un parámetro de temperatura aprendible inicializado en 0.07, acotado para evitar que la escala de los logits supere 100.

  3. Pérdida simétrica de entropía cruzada: La pérdida total es el promedio de las pérdidas de clasificación de imagen a texto y de texto a imagen sobre la matriz de emparejamiento de :

  4. Inferencia zero-shot: Para un conjunto de datos con clases, las plantillas de texto (por ejemplo, "a photo of a {class_name}") se codifican en . Para una imagen de prueba , las probabilidades predichas son:

Resultados (con las cifras más importantes)

  • ImageNet zero-shot: CLIP (ViT-L/14@336px) alcanza una precisión top-1 del 76.2% (y 95% top-5) en modo zero-shot en ImageNet, igualando al ResNet-50 supervisado original sin emplear sus 1.28 millones de imágenes de entrenamiento.
  • Zero-shot frente a la línea base supervisada: Al evaluarse en 27 conjuntos de datos derivados, CLIP zero-shot supera a un sondeo lineal (linear probe) totalmente supervisado sobre características estándar de ResNet-50 en 16 de los 27 conjuntos de datos.
  • Comparación en few-shot: CLIP zero-shot iguala el rendimiento promedio de un clasificador lineal 4-shot entrenado exactamente sobre las mismas representaciones de CLIP, y compite con un modelo BiT-M ResNet-152x2 de 16-shot.
  • Calidad de representación mediante linear probe: Al evaluar las representaciones congeladas con linear probes supervisados, el mejor modelo de CLIP supera a Noisy Student EfficientNet-L2 en 21 de 27 conjuntos de datos, destacándose en OCR, reconocimiento de acciones en video (Kinetics-700: +14.5% sobre ResNet-50) y geolocalización.
  • Robustez ante cambios de distribución: En 7 conjuntos de datos con cambios de distribución naturales (ImageNetV2, ImageNet-R, ImageNet-A, ObjectNet, etc.), CLIP zero-shot reduce la caída de precisión entre distribuciones conocidas (in-distribution) y fuera de distribución (out-of-distribution) hasta en un 75% en comparación con los modelos estándar entrenados en ImageNet.

Limitaciones y preguntas abiertas

  • Tareas abstractas, especializadas y sistemáticas: CLIP zero-shot tiene serias dificultades con el conteo de elementos (CLEVRCounts), tareas de granularidad fina con diferencias sutiles (FGVCAircraft, Flowers102) y tareas de dominio específico poco comunes en textos web (detección de tumores en PatchCamelyon; estimación de distancia en KITTI).
  • Datos verdaderamente fuera de distribución: En los dígitos manuscritos de MNIST, CLIP zero-shot solo logra un 88% de precisión —por debajo de una regresión logística sobre píxeles brutos—, lo que demuestra que CLIP elude la fragilidad fuera de distribución en lugar de resolverla de raíz.
  • Requisitos de cómputo: Lograr el estado del arte supervisado general en todas las pruebas de rendimiento puramente en modo zero-shot requeriría, según las tendencias de escalado actuales, un incremento estimado de 1000x en recursos de cómputo.
  • Sesgos sociales y denigración: Pruebas con la referencia FairFace revelan patrones de fallo marcadamente dispares, tales como clasificaciones erróneas no humanas y vinculadas con el crimen orientadas hacia personas negras y jóvenes, lo cual varía fuertemente según el diseño de las etiquetas de clase y los umbrales establecidos.

Términos clave

CLIP
Contrastive Language-Image Pre-training; un framework que entrena de forma conjunta codificadores de imagen y texto utilizando un objetivo contrastivo sobre pares de datos web.
WIT
WebImageText; conjunto de datos curado por OpenAI con 400 millones de pares (imagen, texto) recopilados de internet mediante 500,000 términos de búsqueda.
Zero-Shot Transfer
Evaluación de un modelo en conjuntos de datos y tareas no vistos mediante descripciones conceptuales en lenguaje natural, sin actualizar parámetros en la tarea objetivo.
Prompt Engineering
Formulación de nombres de clase dentro de plantillas de contexto en lenguaje natural (ej., 'A photo of a {label}, a type of pet.') para reducir la discrepancia con la distribución de texto del preentrenamiento.
Prompt Ensembling
Promediar los vectores de embedding de texto generados a partir de múltiples prompts de contexto distintos para una misma clase antes de computar la similitud de clasificación.
Effective Robustness
Mejoras en la precisión fuera de distribución más allá de lo previsto a partir del rendimiento dentro de la distribución, de acuerdo con las tendencias de escalado de líneas base estándar.
Linear Probe
Capa de clasificación lineal supervisada y regularizada que se entrena sobre representaciones de características preentrenadas y congeladas para medir su calidad.
Attention Pooling
Capa modificada de agrupamiento espacial para arquitecturas backbone de ResNet implementada como una capa única de atención multi-head QKV condicionada en características promediadas globalmente.

Preguntas

¿Por qué CLIP eligió el aprendizaje contrastivo en lugar de la generación de subtítulos de imágenes?

Los modelos generativos de subtitulado intentan predecir tokens de texto exactos, lo que demanda un cómputo inmenso debido a la gran variabilidad de los textos. El aprendizaje contrastivo resuelve una tarea sustituta más simple: emparejar textos completos con imágenes, resultando 4 veces más eficiente computacionalmente que la predicción de bolsa de palabras y más de un orden de magnitud más eficiente que los modelos generativos.

¿Cómo funciona la clasificación zero-shot durante la inferencia en CLIP?

Cada etiqueta de clase candidata se inserta en una plantilla de prompt de texto y se transforma en un vector mediante el codificador de texto. Estos embeddings normalizados actúan como los vectores de pesos fijos de un clasificador lineal dinámico, que se evalúa frente a los embeddings normalizados de la imagen usando la similitud del coseno y una función softmax.

¿Por qué CLIP zero-shot es más robusto ante cambios de distribución que los modelos supervisados de ImageNet?

Los modelos supervisados en ImageNet suelen memorizar correlaciones espurias y estadísticas superficiales exclusivas de la distribución visual de ImageNet. CLIP zero-shot evita el ajuste fino sobre la distribución de entrenamiento del objetivo, reduciendo sustancialmente la brecha de rendimiento cuando se le evalúa en conjuntos con distribuciones alteradas como ImageNet-A, ObjectNet e ImageNet-R.

¿El solapamiento con el conjunto de entrenamiento explica los sólidos resultados zero-shot de CLIP?

No. El análisis de desduplicación de datos arrojó una mediana de solapamiento de solo el 2.2% en 35 conjuntos de datos de evaluación. La eliminación de muestras solapadas rara vez modificó la precisión de la evaluación en más de un 0.1%, con una mejora máxima detectada de apenas un 0.6% en Birdsnap.

La explicación de esta página la escribió una IA a partir del artículo y puede contener errores. Consulte el artículo para los detalles.

Leer con traducción e IA