XYZNOT

Artículos · arXiv 2010.11929

Una imagen vale más que 16x16 palabras: Transformers para el reconocimiento de imágenes a escala

An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

Publicado cs.CVcs.AIcs.LG arXivPDF

Leer con traducción e IA

Resumen en tres líneas

  1. 🎯 Las redes neuronales convolucionales han dominado la visión por computadora debido a sus fuertes sesgos inductivos, mientras que los Transformers estándar carecían de una aplicación directa y escalable a imágenes 2D.
  2. 🔧 Divide una imagen en parches aplanados de tamaño fijo (p. ej., 16x16), proyéctalos linealmente a embeddings de tokens, añade embeddings de posición y pásalos por un codificador Transformer estándar junto con un token [class] antepuesto.
  3. 📈 Al preentrenarse en JFT-300M, ViT-H/14 alcanza una precisión top-1 del 88.55% en ImageNet, 90.72% en ImageNet ReaL y 77.63% en VTAB, utilizando significativamente menos cómputo de preentrenamiento que CNNs comparables.

Resumen

Aunque la arquitectura Transformer se ha convertido en el estándar de facto para las tareas de procesamiento del lenguaje natural, sus aplicaciones en visión por computadora siguen siendo limitadas. En visión, la atención suele aplicarse junto con redes convolucionales, o bien se utiliza para reemplazar ciertos componentes de estas manteniendo su estructura general intacta. Demostramos que esta dependencia de las CNN no es necesaria y que un Transformer puro aplicado directamente a secuencias de parches de imagen puede funcionar sumamente bien en tareas de clasificación de imágenes. Cuando se preentrena con grandes cantidades de datos y se transfiere a múltiples benchmarks de reconocimiento de imágenes medianos o pequeños (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) alcanza resultados excelentes en comparación con las redes convolucionales del estado del arte, requiriendo sustancialmente menos recursos computacionales para su entrenamiento.

Resumen original (inglés)

While the Transformer architecture has become the de-facto standard for natural language processing tasks, its applications to computer vision remain limited. In vision, attention is either applied in conjunction with convolutional networks, or used to replace certain components of convolutional networks while keeping their overall structure in place. We show that this reliance on CNNs is not necessary and a pure transformer applied directly to sequences of image patches can perform very well on image classification tasks. When pre-trained on large amounts of data and transferred to multiple mid-sized or small image recognition benchmarks (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) attains excellent results compared to state-of-the-art convolutional networks while requiring substantially fewer computational resources to train.

Guía de lectura

Problema y motivación

Las arquitecturas convolucionales (p. ej., ResNet) han sido durante mucho tiempo la base de la visión por computadora moderna debido a sesgos inductivos incorporados como la equivariancia a traslaciones y la localidad bidimensional. Aunque los Transformers se convirtieron en el estándar en el procesamiento del lenguaje natural (NLP) gracias a su eficiencia computacional y su enorme escalabilidad, los intentos previos de trasladar la autoatención a la visión solían acoplar la atención con backbones de CNN o utilizaban patrones de atención local/axial especializados que resultaban difíciles de escalar eficazmente en aceleradores de hardware. Este artículo investiga si una arquitectura Transformer pura, aplicada directamente a secuencias de parches de imagen con modificaciones mínimas, puede rivalizar o superar a las CNN del estado del arte.

Ideas clave

  • Imágenes como secuencias de palabras: Una imagen se divide en parches sin solapamiento de tamaño . Los parches aplanados se tratan de manera idéntica a los tokens de NLP.
  • Sesgo inductivo mínimo: A diferencia de las CNN, donde la localidad espacial y la equivariancia a traslaciones están presentes en cada capa, ViT utiliza autoatención global entre todos los parches. La estructura 2D solo se toma en cuenta al extraer los parches y al interpolar los embeddings de posición para el ajuste fino (fine-tuning) a mayor resolución.
  • La escala supera al sesgo inductivo: Sin un sesgo inductivo fuerte, ViT rinde por debajo de ResNet en conjuntos de datos pequeños o medianos (como ImageNet estándar sin una regularización estricta). Sin embargo, cuando se preentrena en conjuntos de datos masivos (ImageNet-21k con 14 millones de imágenes o JFT-300M con 303 millones de imágenes), ViT iguala o supera el rendimiento de las CNN consumiendo sustancialmente menos FLOPs de entrenamiento.

Método

  1. Embedding de parches y construcción de la entrada: Dado un tamaño de parche , una imagen produce parches. Cada parche aplanado se proyecta linealmente mediante una matriz a la dimensión . Se antepone un token de clasificación aprendible y se añaden embeddings de posición aprendibles 1D :
  2. Capas del codificador Transformer: La secuencia pasa a través de bloques idénticos que alternan Multihead Self-Attention (MSA) y bloques MLP, empleando pre-LayerNorm (LN) y conexiones residuales:
  3. Representación y cabezal: La representación se obtiene a partir del primer token de salida: Un pequeño MLP (con una capa oculta) actúa como cabezal de clasificación durante el preentrenamiento, el cual se sustituye por una única proyección lineal () durante el ajuste fino.
  4. Ajuste fino a mayor resolución: Al realizar fine-tuning con resoluciones de imagen más altas (p. ej., o ), el tamaño de parche se mantiene constante, lo que incrementa la longitud de la secuencia . Los embeddings de posición 1D preentrenados se ajustan mediante interpolación bicúbica 2D en función de sus coordenadas espaciales originales en la cuadrícula.

Resultados

  • Comparación con el estado del arte (SOTA):
    • ViT-H/14 preentrenado en JFT-300M alcanzó un 88.55% en ImageNet, 90.72% en ImageNet ReaL, 94.55% en CIFAR-100 y 77.63% en la suite de 19 tareas de VTAB, requiriendo 2.5k días-núcleo de TPUv3.
    • ViT-L/16 preentrenado en JFT-300M logró un 87.76% en ImageNet con solo 0.68k días-núcleo de TPUv3, superando a BiT-L (ResNet152x4, 87.54%, 9.9k días-núcleo de TPUv3) y aproximándose a Noisy Student EfficientNet-L2 (88.4/88.5%, 12.3k días-núcleo de TPUv3).
    • Preentrenamiento en conjuntos de datos públicos: ViT-L/16 preentrenado en ImageNet-21k alcanzó un 85.30% en ImageNet.
  • Compromiso entre cómputo y rendimiento: A lo largo de los experimentos de escalabilidad en JFT-300M, ViT puro dominó a las ResNet en la frontera de Pareto, requiriendo de a menos cómputo para lograr una precisión equivalente.
  • Representaciones internas: Las capas inferiores contienen cabezales de atención que atienden a toda la imagen junto con otros con distancias de atención cortas y localizadas. Por lo general, la distancia de atención aumenta de manera monótona con la profundidad de la red.

Limitaciones y preguntas abiertas

  • Demanda de datos: ViT generaliza deficientemente en conjuntos de datos reducidos a menos que se disponga de un preentrenamiento a gran escala (ImageNet-21k o JFT-300M) o de una fuerte regularización.
  • Brecha en el aprendizaje autosupervisado: Los experimentos iniciales con predicción de parches enmascarados alcanzaron un 79.9% en ImageNet (ViT-B/16), lo que dejó una brecha de rendimiento del 4% en comparación con el preentrenamiento supervisado.
  • Aplicación a tareas de predicción densa: El trabajo inicial se enfoca exclusivamente en la clasificación; adaptar los Transformers basados puramente en parches a tareas espaciales densas, como la detección de objetos y la segmentación semántica, continúa siendo un desafío de investigación activo.

Términos clave

Vision Transformer (ViT)
Arquitectura Transformer pura aplicada directamente a secuencias de parches de imagen no solapados para tareas de visión, sin necesidad de extracción de características convolucionales.
Patch Embeddings
Representaciones en dimensión obtenidas al proyectar linealmente parches de píxeles aplanados de en el espacio latente del modelo.
Classification Token ([class])
Token aprendible que se antepone a la secuencia de parches y cuyo estado a la salida de la última capa del Transformer funciona como la representación global de la imagen.
Inductive Bias
Supuestos previos incorporados en el diseño de una arquitectura; en las CNN, estos incluyen la localidad espacial y la equivariancia a traslaciones, los cuales están prácticamente ausentes en ViT.
Position Embeddings
Vectores unidimensionales aprendibles que se suman a los embeddings de los parches para preservar la información del orden espacial dentro de la secuencia.
Attention Distance
Distancia espacial promedio dentro de la imagen a través de la cual un cabezal de atención integra información, equivalente conceptualmente al tamaño del campo receptivo en las CNN.
Hybrid Architecture
Modelo en el cual la proyección de los embeddings de parches se aplica a mapas de características extraídos mediante un backbone convolucional inicial, en lugar de píxeles directos de la imagen.
Visual Task Adaptation Benchmark (VTAB)
Suite de evaluación compuesta por 19 tareas de visión diversas divididas en los grupos Natural, Especializado y Estructurado, evaluadas con 1000 ejemplos por tarea.

Preguntas

¿Por qué ViT obtiene peores resultados que ResNet en conjuntos de datos más pequeños como ImageNet-1k?

Los Transformers carecen de los sesgos inductivos propios de las convoluciones, como la localidad y la equivariancia a traslaciones. En conjuntos de datos más pequeños, ViT tiende al sobreajuste porque debe aprender las relaciones espaciales desde cero; en cambio, los sesgos inductivos integrados de ResNet la hacen más eficiente en cuanto a muestras cuando los datos son limitados.

¿Cómo procesa ViT imágenes de resolución diferente o mayor durante el ajuste fino?

ViT mantiene fijo el tamaño del parche, lo que incrementa la longitud total de la secuencia. Los embeddings de posición 1D preentrenados se proyectan sobre la cuadrícula 2D original y se interpolan mediante interpolación bicúbica bidimensional para ajustarse a las dimensiones de la nueva cuadrícula.

¿Los embeddings de posición 2D mejoran el rendimiento de ViT frente a los estándar 1D?

No. Los autores observaron que los embeddings con coordenadas 2D o los embeddings de posición relativa ofrecían un rendimiento prácticamente idéntico al de los embeddings de posición aprendibles 1D estándar, ya que el modelo aprende con facilidad la topología bidimensional de filas y columnas por sí mismo.

¿Cuál es la diferencia entre ViT y la arquitectura híbrida (Hybrid)?

El modelo ViT puro divide la imagen de entrada sin procesar directamente en parches de píxeles de y les aplica una proyección lineal. El modelo híbrido pasa primero la imagen a través de un backbone inicial tipo ResNet y extrae los tokens de parches a partir del mapa de características intermedio resultante.

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