XYZNOT

Articles · arXiv 2010.11929

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

Publié le cs.CVcs.AIcs.LG arXivPDF

Lire avec traduction et IA

Résumé en trois lignes

  1. 🎯 Les réseaux de neurones convolutifs ont dominé la vision par ordinateur grâce à de forts biais inductifs, tandis que les Transformers standards manquaient d'une application directe et scalable aux images 2D.
  2. 🔧 Découper une image en patchs aplatis de taille fixe (ex. 16x16), les projeter linéairement sous forme de token embeddings, ajouter des position embeddings et les faire passer à travers un encodeur Transformer standard précédé d'un token [class].
  3. 📈 Pré-entraîné sur JFT-300M, ViT-H/14 atteint une précision top-1 de 88,55 % sur ImageNet, 90,72 % sur ImageNet ReaL et 77,63 % sur VTAB, en consommant beaucoup moins de calcul de pré-entraînement que les CNN comparables.

Résumé

Bien que l'architecture Transformer soit devenue le standard de facto pour les tâches de traitement du langage naturel, ses applications en vision par ordinateur restent limitées. En vision, l'attention est soit appliquée conjointement avec des réseaux convolutifs, soit utilisée pour remplacer certains composants de ces derniers tout en conservant leur structure globale. Nous montrons que cette dépendance envers les CNN n'est pas nécessaire et qu'un pur Transformer appliqué directement à des séquences de patchs d'images peut être très performant sur les tâches de classification d'images. Lorsqu'il est pré-entraîné sur de grandes quantités de données et transféré à de multiples benchmarks de reconnaissance d'images de taille moyenne ou petite (ImageNet, CIFAR-100, VTAB, etc.), Vision Transformer (ViT) atteint d'excellents résultats par rapport aux réseaux convolutifs de l'état de l'art, tout en nécessitant nettement moins de ressources de calcul pour son entraînement.

Résumé original (anglais)

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.

Guide de lecture

Problème et motivation

Les architectures convolutives (ex. ResNet) constituent depuis longtemps le fondement de la vision par ordinateur moderne en raison de biais inductifs codés en dur tels que l'équivariance par translation et la localité bidimensionnelle. Alors que les Transformers sont devenus le standard dans le traitement du langage naturel (NLP) grâce à leur efficacité computationnelle et leur passage à l'échelle massif, les tentatives antérieures visant à adapter la self-attention à la vision associaient généralement l'attention à des backbones CNN ou utilisaient des motifs d'attention locale/axiale spécialisés, difficiles à accélérer efficacement sur le matériel dédié. Cet article examine si une architecture Transformer pure, appliquée directement à des séquences de patchs d'images avec un minimum de modifications, peut rivaliser avec les CNN de l'état de l'art, voire les surpasser.

Idées clés

  • Les images comme séquences de mots : Une image est découpée en patchs sans chevauchement de taille . Les patchs aplatis sont traités de manière identique à des tokens en NLP.
  • Biais inductif minimal : Contrairement aux CNN où la localité spatiale et l'équivariance par translation sont intégrées à chaque couche, ViT utilise une self-attention globale sur l'ensemble des patchs. La structure 2D n'intervient que lors de l'extraction des patchs et lors de l'interpolation des position embeddings pour le fine-tuning à plus haute résolution.
  • L'échelle l'emporte sur le biais inductif : Dépourvu de fort biais inductif, ViT sous-performe face aux ResNets sur des jeux de données de taille modeste ou moyenne (comme ImageNet standard sans forte régularisation). En revanche, lorsqu'il est pré-entraîné sur de grands jeux de données (ImageNet-21k avec 14M d'images ou JFT-300M avec 303M d'images), ViT égale ou dépasse les performances des CNN tout en consommant nettement moins de FLOPs à l'entraînement.

Méthode

  1. Patch Embedding et construction de l'entrée : Pour une taille de patch donnée , une image produit patchs. Chaque patch aplati est projeté linéairement par une matrice vers une dimension . Un token de classification apprenable est préfixé, et des position embeddings 1D apprenables sont ajoutés :
  2. Couches d'encodeur Transformer : La séquence traverse blocs identiques alternant Multihead Self-Attention (MSA) et blocs MLP, avec pre-LayerNorm (LN) et connexions résiduelles :
  3. Représentation et tête de classification : La représentation est extraite du premier token de sortie : Un petit MLP (avec une couche cachée) sert de tête de classification durant le pré-entraînement, remplacé par une simple projection linéaire () lors du fine-tuning.
  4. Fine-tuning à plus haute résolution : Lors du fine-tuning à des résolutions d'image supérieures (ex. ou ), la taille de patch reste fixe, ce qui augmente la longueur de séquence . Les position embeddings 1D pré-entraînés sont alors ajustés par interpolation bicubique 2D en fonction de leurs coordonnées d'origine sur la grille spatiale.

Résultats

  • Comparaison à l'état de l'art :
    • ViT-H/14 pré-entraîné sur JFT-300M a atteint 88,55 % sur ImageNet, 90,72 % sur ImageNet ReaL, 94,55 % sur CIFAR-100 et 77,63 % sur la suite de 19 tâches VTAB, en nécessitant 2,5k TPUv3-core-days.
    • ViT-L/16 pré-entraîné sur JFT-300M a atteint 87,76 % sur ImageNet avec seulement 0,68k TPUv3-core-days, surpassant BiT-L (ResNet152x4, 87,54 %, 9,9k TPUv3-core-days) et s'approchant de Noisy Student EfficientNet-L2 (88,4/88,5 %, 12,3k TPUv3-core-days).
    • Pré-entraînement sur jeux de données publics : ViT-L/16 pré-entraîné sur ImageNet-21k a atteint 85,30 % sur ImageNet.
  • Compromis calcul / performance : À travers les expériences d'échelle sur JFT-300M, le ViT pur a dominé les ResNets sur le front de Pareto, exigeant 2 à 4 fois moins de calcul pour atteindre une précision équivalente.
  • Représentations internes : Les couches inférieures contiennent des têtes d'attention qui traitent l'image entière aux côtés d'autres têtes avec des distances d'attention courtes et localisées. La distance d'attention augmente généralement de façon monotone avec la profondeur.

Limites et questions ouvertes

  • Besoin massif de données : ViT généralise mal sur de petits jeux de données sans données massives de pré-entraînement (ImageNet-21k ou JFT-300M) ou sans forte régularisation.
  • Écart en auto-supervisé : Les premières expériences de prédiction de patchs masqués ont atteint 79,9 % sur ImageNet (ViT-B/16), laissant un écart de performance de 4 % par rapport au pré-entraînement supervisé.
  • Application à la prédiction dense : Ces travaux initiaux se concentrent exclusivement sur la classification ; adapter des architectures transformers purement à base de patchs à des tâches spatiales denses (comme la détection d'objets ou la segmentation sémantique) reste un sujet de recherche actif.

Termes clés

Vision Transformer (ViT)
Une architecture Transformer pure appliquée directement à des séquences de patchs d'images sans chevauchement pour des tâches visuelles, sans extraction de caractéristiques par convolution.
Patch Embeddings
Les représentations de dimension obtenues par projection linéaire des patchs aplatis de taille pixels dans l'espace latent du modèle.
Classification Token ([class])
Un token apprenable inséré en début de séquence de patchs dont l'état de sortie après la dernière couche du Transformer sert de représentation globale de l'image.
Inductive Bias (Biais inductif)
Hypothèses architecturales intrinsèques ; dans les CNN, celles-ci incluent la localité spatiale et l'équivariance par translation, largement absentes dans ViT.
Position Embeddings
Vecteurs 1D apprenables ajoutés aux patch embeddings pour préserver l'information d'ordonnancement spatial au sein de la séquence.
Attention Distance (Distance d'attention)
Distance spatiale moyenne dans l'image sur laquelle une tête d'attention agrège l'information, conceptuellement analogue à la taille du champ récepteur dans les CNN.
Hybrid Architecture (Architecture hybride)
Un modèle où la projection de patch embedding est appliquée aux cartes d'activation extraites d'un backbone convolutif préliminaire plutôt qu'aux pixels bruts de l'image.
Visual Task Adaptation Benchmark (VTAB)
Une suite de référence comprenant 19 tâches visuelles variées réparties en groupes Naturel, Spécialisé et Structuré, évaluées à l'aide de 1 000 exemples par tâche.

Questions

Pourquoi ViT est-il moins performant que ResNet sur des jeux de données plus petits comme ImageNet-1k ?

Les Transformers ne possèdent pas les biais inductifs convolutifs tels que la localité et l'équivariance par translation. Sur des jeux de données restreints, ViT a tendance à surapprendre car il doit apprendre les relations spatiales à partir de zéro, alors que les biais inductifs intégrés de ResNet le rendent bien plus efficace en termes d'échantillons sur des données limitées.

Comment ViT gère-t-il les images de résolutions différentes ou plus élevées lors du fine-tuning ?

ViT conserve une taille de patch fixe, ce qui a pour effet d'accroître la longueur totale de la séquence. Les position embeddings 1D pré-entraînés sont projetés sur la grille 2D originale puis interpolés à l'aide d'une interpolation bicubique 2D afin de correspondre aux dimensions de la nouvelle grille.

Les position embeddings prenant en compte la 2D améliorent-ils les performances de ViT par rapport aux embeddings 1D standards ?

Non. Les auteurs ont constaté que des embeddings de coordonnées 2D ou des embeddings de position relative donnaient des performances quasi identiques aux position embeddings 1D apprenables standards, le modèle apprenant aisément la topologie ligne/colonne 2D par lui-même.

Quelle est la différence entre ViT et l'architecture hybride ?

ViT pur découpe directement l'image d'entrée brute en patchs de pixels et applique une projection linéaire. Le modèle hybride fait d'abord passer l'image par un backbone ResNet initial et extrait les tokens de patchs à partir de la carte de caractéristiques intermédiaire obtenue.

La présentation de cette page a été rédigée par une IA à partir de l'article et peut contenir des erreurs. Consultez l'article pour les détails.

Lire avec traduction et IA