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 transformateur de vision (ViT) est un type d'architecture de réseau neuronal qui applique le modèle Transformer, conçu à l'origine pour le traitement du langage naturel (NLP), à des tâches de vision par ordinateur (CV). Présentés par les chercheurs de Google dans l'article "An Image is Worth 16x16 Words", les ViT s'éloignent considérablement des architectures dominantes de réseaux neuronaux convolutifs (CNN). Au lieu de traiter les images avec des filtres coulissants, un ViT traite une image comme une séquence de patchs, ce qui lui permet de capturer les relations globales entre les différentes parties d'une image en utilisant le mécanisme d'auto-attention.
ViT V. CNNs
Bien que les ViT et les CNN soient des architectures fondamentales dans le domaine de la vision par ordinateur, ils diffèrent considérablement dans leur approche :
- Biais inductif: les CNN possèdent de forts biais inductifs (hypothèses sur les données) comme la localité et l'équivariance de la traduction par le biais de leurs couches de convolution et de mise en commun. Les ViT ont des biais inductifs beaucoup plus faibles, ce qui les rend plus flexibles mais aussi plus dépendants de l'apprentissage de modèles directement à partir des données.
- Dépendance à l'égard des données: En raison de leurs biais plus faibles, les ViTs nécessitent généralement des ensembles de données massifs (par exemple, ImageNet-21k) ou un pré-entraînement important pour surpasser les CNNs de pointe. Avec des ensembles de données plus petits, les CNN se généralisent souvent mieux. C'est pourquoi l'apprentissage par transfert est essentiel pour les ViT.
- Contexte global ou local: Les CNN construisent des caractéristiques hiérarchiques à partir de modèles locaux vers des modèles globaux. En revanche, les ViT peuvent modéliser les interactions globales entre les patchs dès les premières couches, ce qui permet d'appréhender un contexte plus large de manière plus efficace pour certaines tâches.
- Coût de calcul: L'entraînement des ViT peut être intensif en termes de calcul, et nécessite souvent d'importantes ressources GPU. Des frameworks comme PyTorch et TensorFlow fournissent des implémentations pour l'apprentissage de ces modèles.
Applications et modèles hybrides
Les ViT ont fait preuve de performances exceptionnelles dans diverses applications, en particulier lorsque la compréhension du contexte global est essentielle.
- Analyse d'images médicales: Les ViT sont très efficaces pour l'analyse des scans médicaux tels que les IRM ou les images histopathologiques. Par exemple, dans la détection des tumeurs, un ViT peut identifier les relations entre des tissus distants, ce qui permet de classer les tumeurs avec plus de précision que les modèles qui se concentrent uniquement sur les textures locales.
- La conduite autonome: Dans les voitures à conduite autonome, les ViT peuvent analyser des scènes complexes pour la détection et la segmentation d'objets. En traitant l'ensemble de la scène, ils peuvent mieux comprendre les interactions entre les véhicules, les piétons et les infrastructures, comme le montrent de nombreuses études sur l'IA dans l'automobile.
Le succès des ViT a également inspiré des architectures hybrides. Des modèles tels que RT-DETR combinent une épine dorsale CNN pour une extraction efficace des caractéristiques avec un codeur-décodeur basé sur un transformateur pour modéliser les relations entre les objets. Cette approche vise à obtenir le meilleur des deux mondes : l'efficacité des CNN et la connaissance du contexte global des transformateurs.
Pour de nombreuses applications en temps réel, en particulier sur les appareils périphériques à ressources limitées, les modèles CNN hautement optimisés tels que la famille Ultralytics YOLO (par exemple, YOLOv8 et YOLO11) offrent souvent un meilleur équilibre entre vitesse et précision. Vous pouvez consulter une comparaison détaillée entre RT-DETR et YOLO11 pour comprendre les compromis. Le choix entre un ViT et un CNN dépend en fin de compte de la tâche spécifique, des données disponibles et du budget de calcul.
Comment fonctionnent les transformateurs de vision
L'idée de base d'un ViT est de traiter une image de manière à imiter la façon dont les Transformers traitent le texte. Le processus comporte quelques étapes clés :