Découvrez la puissance des transformateurs de vision (ViT). Apprenez comment l'auto-attention et la tokenisation par patch révolutionnent la vision par ordinateur au-delà des CNN avec Ultralytics.
Un transformateur de vision (ViT) est une architecture d'apprentissage profond qui adapte les mécanismes d'auto-attention initialement conçus pour le traitement du langage naturel (NLP) afin de résoudre des tâches visuelles. Contrairement à un réseau neuronal convolutif (CNN) traditionnel, qui traite les images à travers une hiérarchie de grilles de pixels locales, un ViT traite une image comme une séquence de patchs discrets. Cette approche a été popularisée par l'article de recherche historique « An Image is Worth 16x16 Words », qui a démontré que les architectures de transformateurs purs pouvaient atteindre des performances de pointe en matière de vision par ordinateur (CV) sans s'appuyer sur des couches de convolution. En tirant parti de l'attention globale, les ViT peuvent capturer des dépendances à longue portée sur l'ensemble d'une image dès la toute première couche.
L'innovation fondamentale du ViT réside dans la manière dont il structure les données d'entrée. Pour rendre une image compatible avec un Transformer standard, le modèle décompose les informations visuelles en une séquence de vecteurs, imitant ainsi la manière dont un modèle linguistique traite une phrase composée de mots.
Bien que les deux architectures visent à comprendre les données visuelles, elles diffèrent considérablement dans leur philosophie opérationnelle. Les CNN possèdent un fort « biais inductif » connu sous le nom d'invariance de translation, ce qui signifie qu'ils supposent intrinsèquement que les caractéristiques locales (telles que les contours et les textures) sont importantes quelle que soit leur position. Cela rend les CNN très efficaces en termes de données et performants sur des ensembles de données plus petits.
À l'inverse, les transformateurs de vision ont moins de biais spécifiques aux images. Ils doivent apprendre les relations spatiales à partir de zéro en utilisant des quantités massives de données d'entraînement, telles que le JFT-300M ou l'ensemble complet ImageNet . Bien que cela rende l'entraînement plus intensif en termes de calcul, cela permet aux ViT de s'adapter remarquablement bien ; avec suffisamment de données et de puissance de calcul, ils peuvent surpasser les CNN en capturant des structures globales complexes que les convolutions locales pourraient manquer.
La capacité à comprendre le contexte global rend les ViT particulièrement utiles dans les environnements complexes et à haut risque.
Le ultralytics La bibliothèque prend en charge les architectures basées sur Transformer, notamment le
RT-DETR transformateur de détection en temps réel). Alors que le
navire amiral YOLO26 est souvent préféré pour son équilibre entre vitesse
et précision sur les périphériques, RT-DETR une alternative puissante pour les scénarios donnant la priorité au contexte global.
Ce qui suit Python montre comment charger un modèle pré-entraîné basé sur Transformer et exécuter une inférence :
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")
# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()
La recherche évolue rapidement pour répondre au coût informatique élevé des ViT. Des techniques telles que FlashAttention rendent ces modèles plus rapides et plus efficaces en termes de mémoire. De plus, les architectures hybrides qui combinent l'efficacité des CNN et l'attention des Transformers se généralisent. Pour les équipes qui cherchent à gérer ces flux de travail avancés, la Ultralytics offre un environnement unifié pour annoter les données, former des modèles complexes via le cloud et les déployer sur divers terminaux.