Glossaire

Transformateur de vision (ViT)

Découvre la puissance des transformateurs de vision (ViT) dans la vision par ordinateur. Apprends comment ils surpassent les CNN en capturant le contexte global de l'image.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Un Vision Transformer (ViT) est un type d'architecture de réseau neuronal adapté des modèles Transformer conçus à l'origine pour le traitement du langage naturel (NLP). Présentés par les chercheurs de Google dans l'article "An Image is Worth 16x16 Words", les ViT appliquent le mécanisme d'auto-attention du Transformer directement aux séquences d'images, traitant le traitement d'images comme une tâche de modélisation de séquences. Cette approche a marqué un changement important par rapport à la domination des réseaux neuronaux convolutifs (CNN) dans le domaine de la vision par ordinateur (VA).

Comment fonctionnent les transformateurs de vision

Au lieu de traiter les images pixel par pixel à l'aide de filtres convolutifs, un ViT divise d'abord une image d'entrée en parcelles de taille fixe qui ne se chevauchent pas. Ces parcelles sont ensuite aplaties en vecteurs, intégrées linéairement et augmentées d'intégrations positionnelles pour conserver les informations spatiales (de la même manière que les positions des mots sont encodées dans le NLP). Cette séquence de vecteurs est ensuite introduite dans un encodeur Transformer standard, qui utilise des couches d'auto-attention multi-têtes pour pondérer l'importance des différents patchs les uns par rapport aux autres. La sortie finale du codeur Transformer est généralement transmise à une tête de classification simple (comme un perceptron multicouche) pour des tâches telles que la classification d'images. Cette architecture permet aux ViT de modéliser efficacement les dépendances à longue distance et le contexte global d'une image.

Pertinence et applications

Les transformateurs de vision sont devenus très pertinents dans l'apprentissage profond moderne en raison de leur évolutivité et de leurs performances impressionnantes, en particulier avec un pré-entraînement à grande échelle sur des ensembles de données comme ImageNet ou des ensembles de données propriétaires encore plus vastes. Leur capacité à modéliser le contexte global les rend adaptés à un large éventail de tâches de CV au-delà de la classification de base, notamment :

Les ViT sont de plus en plus intégrés à des plateformes comme Ultralytics HUB et à des bibliothèques comme Hugging Face Transformers, ce qui les rend accessibles pour la recherche et le déploiement à l'aide de frameworks tels que. PyTorch et TensorFlow. Ils peuvent également être optimisés pour le déploiement de l'Edge AI sur des appareils tels que NVIDIA Jetson ou Edge TPU de Google à l'aide d'outils tels que TensorRT.

ViT V. CNNs

Bien que les ViT et les CNN soient des architectures fondamentales dans le domaine de la vision par ordinateur (voir Histoire des modèles de vision), ils diffèrent considérablement dans leur approche :

  • Biais inductif : les CNN possèdent de forts biais inductifs en faveur de la localité et de l'équivariance de la traduction grâce à leurs couches de convolution et de mise en commun. Les ViT ont des biais inductifs plus faibles et s'appuient davantage sur l'apprentissage de modèles à partir de données, en particulier les relations entre des parties éloignées d'une image par le biais de l'auto-attention.
  • Dépendance à l'égard des données : Les ViT nécessitent généralement de grandes quantités de données d'entraînement (ou un pré-entraînement approfondi) pour surpasser les CNN de pointe. Avec des ensembles de données plus petits, les CNN se généralisent souvent mieux en raison de leurs biais intégrés.
  • Coût de calcul : La formation des ViTs peut être un calcul intensif, nécessitant souvent d'importantes ressources GPU . Cependant, la vitesse d'inférence peut être compétitive, en particulier pour les modèles plus importants. Les modèlesRT-DETR , par exemple, offrent des performances en temps réel mais peuvent nécessiter plus de ressources que les modèles YOLO comparables basés sur CNN.
  • Contexte global ou local : Les CNN construisent des caractéristiques hiérarchiques à partir de modèles locaux. Les ViT peuvent modéliser les interactions globales entre les patchs dès les premières couches, ce qui permet de saisir un contexte plus large de manière plus efficace pour certaines tâches.

Le choix entre ViT et CNN dépend souvent de la tâche spécifique, des ensembles de données disponibles et des ressources informatiques. Les ViT excellent généralement lorsque de grandes quantités de données de formation sont disponibles et que le contexte global est primordial. Les CNN, comme ceux qui sont utilisés comme piliers dans le programme Ultralytics YOLO d'Ultralytics (par ex, YOLOv8YOLOv8, YOLOv10, YOLO11), restent très efficaces, en particulier pour la détection d'objets en temps réel sur des appareils contraignants. Les architectures hybrides combinant des fonctions convolutives avec des couches de transformation (comme dans RT-DETR) représentent également une direction prometteuse, tentant de tirer parti des forces des deux approches. L'affinement des modèles pré-entraînés, qu'ils soient basés sur ViT ou CNN, est une pratique courante qui fait appel à des techniques telles que l'apprentissage par transfert.

Tout lire