Transformer visuel expliqué : construire un Vision Transformer depuis zéro
Un Vision Transformer (ViT) est une architecture de modèle d’apprentissage profond qui adapte le cadre des Transformers, initialement conçu pour le traitement du langage naturel (NLP), aux tâches de vision par ordinateur. Contrairement aux réseaux de neurones convolutifs (CNN) traditionnels, les ViT ne s’appuient pas sur des opérations de convolution pour extraire des caractéristiques. À la place, ils traitent une image comme une séquence de petits morceaux, ou « patches », en les transformant en des vecteurs d’entrée similaires aux mots dans une phrase. Ces patches sont ensuite analysés par un mécanisme d’attention auto-associative, permettant au modèle d’apprendre les relations spatiales entre différentes parties de l’image. Le processus commence par la découpe de l’image en sous-parties régulières de taille fixe, par exemple 16×16 pixels. Chaque patch est ensuite linéarisé en un vecteur, qui est ensuite projeté dans un espace de dimension plus élevée via une couche linéaire. Ce vecteur est appelé un « token ». Pour chaque patch, un vecteur de position est ajouté afin de préserver l’information spatiale, car le modèle ne perçoit pas naturellement l’ordre des patches. Un token spécial, généralement noté [CLS], est également ajouté au début de la séquence. Ce token joue un rôle clé dans les tâches de classification, car il contient une représentation synthétique de toute l’image après l’application des couches de Transformers. Une fois les tokens formés, ils sont soumis à une série de couches de Transformer, chacune comprenant deux composants principaux : l’attention multi-tête et le réseau de feed-forward. L’attention multi-tête permet à chaque token d’interagir avec tous les autres, en attribuant des poids variables selon leur pertinence mutuelle. Cette mécanique permet au modèle de capturer des dépendances à longue portée entre des régions éloignées de l’image, une capacité que les CNN ont du mal à exploiter efficacement. Ensuite, le réseau de feed-forward applique une transformation non linéaire à chaque token indépendamment, enrichissant sa représentation. Le modèle est entraîné en minimisant une fonction de perte, généralement une entropie croisée, sur des étiquettes de classification. Pour les tâches de classification d’image, la sortie du token [CLS] est utilisée pour prédire la classe principale. En raison de sa structure, le ViT peut être entraîné sur de grandes quantités de données non étiquetées (via l’apprentissage par auto-encodage ou d’autres méthodes) et bénéfice fortement de l’augmentation de données et de la régularisation. Malgré son efficacité, le ViT nécessite souvent un grand volume de données d’entraînement pour rivaliser avec les CNN, surtout sur des ensembles de données plus petits. Cependant, une fois entraîné sur des jeux de données volumineux, il peut surpasser les architectures CNN classiques en termes de performance, notamment dans des tâches complexes comme la reconnaissance d’objets ou la segmentation d’images. En résumé, les Vision Transformers repensent la manière dont les modèles d’apprentissage profond traitent les images, en les transformant en séquences de tokens et en exploitant les mécanismes d’attention pour capturer des relations complexes à travers l’image. Cette approche ouvre la voie à de nouvelles avancées dans la vision par ordinateur, en combinant les forces des Transformers avec les spécificités de l’analyse d’images.