Glossaire

Transformateur de vision (ViT)

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

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 de l'encodeur 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 grands. 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 dans 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 cadres comme 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 par le biais de 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 les plus performants. 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 : L'apprentissage des ViTs peut être intensif en termes de calcul, et nécessite souvent des ressources GPU importantes. Cependant, la vitesse d'inférence peut être compétitive, en particulier pour les modèles plus importants. Les modèles RT-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 élaborent 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 d'apprentissage sont disponibles et que le contexte global est primordial. Les CNN, comme ceux utilisés comme piliers dans la famille Ultralytics YOLO (par exemple, YOLOv8, 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 et 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.

Rejoindre la communauté Ultralytics

Rejoignez l'avenir de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

S'inscrire
Lien copié dans le presse-papiers