Découvrez comment les Transformers, initialement conçus pour le texte, ont révolutionné la vision par ordinateur en surpassant les CNN traditionnels sur de nombreuses tâches.
Les Transformers traitent des séquences de tokens (mots). Mais une image n'est pas une séquence : c'est une grille 2D de pixels. Une image 224×224 pixels contient 50 176 pixels ! Impossible de traiter chaque pixel comme un token : ce serait trop coûteux en calcul (complexité quadratique de l'attention).
Exemple concret
Une image 224×224 = 50 176 pixels. Avec l'attention classique, cela nécessiterait 50 176² ≈ 2,5 milliards d'opérations par couche !
L'idée géniale du Vision Transformer (ViT) : découper l'image en patches carrés (morceaux) de 16×16 pixels. Chaque patch devient un token, comme un mot dans une phrase. Une image 224×224 devient une séquence de seulement 196 patches (14×14).
Réduction spectaculaire
50 176 pixels → 196 patches. L'attention ne calcule plus que 196² ≈ 38 000 opérations par couche. C'est 65 000 fois moins !

Pipeline complet du Vision Transformer : de l'image brute à la prédiction finale
L'image (par exemple 224×224×3 pour RGB) est découpée en patches de 16×16 pixels. Chaque patch contient 16×16×3 = 768 valeurs. On obtient 196 patches (14×14).
Image [224, 224, 3] → 196 patches [16, 16, 3] → Flatten → 196 vecteurs de 768 dimensions
Chaque vecteur de 768 dimensions est projeté dans un espace de dimension D (souvent 768 ou 1024) via une couche linéaire apprise. C'est l'équivalent de l'embedding des mots en NLP.
196 vecteurs [768] → Linear(768, D) → 196 embeddings [D]
On ajoute un token spécial [CLS] au début (comme en BERT) qui servira pour la classification. On ajoute aussi un encodage positionnel à chaque patch pour que le modèle sache où se trouve chaque morceau dans l'image.
[CLS] + 196 patches + Position Embeddings → 197 tokens [D]
La séquence de 197 tokens passe dans un Transformer Encoder standard(comme BERT) avec plusieurs couches d'attention multi-têtes. Chaque patch peut "regarder" tous les autres patches pour comprendre le contexte global de l'image.
Avantage clé : Contrairement aux CNN qui ont un champ réceptif local (convolutions 3×3), ViT voit l'image entière dès la première couche grâce à l'attention globale.
À la sortie du Transformer, on prend uniquement le token [CLS] qui a agrégé l'information de toute l'image. On le passe dans une couche linéaire pour prédire la classe (chat, chien, voiture, etc.).
[CLS] token [D] → Linear(D, num_classes) → Softmax → Probabilités par classe
ViT surpasse ResNet sur ImageNet avec moins de calculs. Il excelle particulièrement quand il est pré-entraîné sur de très grandes quantités de données (JFT-300M).
Performance
ViT-Huge : 88.55% top-1 sur ImageNet (vs 86.4% pour ResNet-152)
DETR (DEtection TRansformer) utilise un Transformer pour détecter des objets sans avoir besoin d'ancres prédéfinies. Il prédit directement les boîtes englobantes et les classes.
Modèles
DETR, Deformable DETR, DINO (Self-supervised)
Segmenter (Mask2Former) utilise des Transformers pour assigner une classe à chaque pixel de l'image. Utile pour la conduite autonome, l'imagerie médicale, la réalité augmentée.
Applications
Voitures autonomes, diagnostic médical, effets vidéo
DALL-E, Stable Diffusion et Midjourney utilisent des Transformers (souvent combinés avec des diffusion models) pour générer des images photoréalistes à partir de descriptions textuelles.
Modèles populaires
DALL-E 3, Stable Diffusion XL, Midjourney v6, Imagen
Le modèle fondateur qui a prouvé que les Transformers purs peuvent surpasser les CNN sur la classification d'images.
ClassificationUtilise des fenêtres glissantes hiérarchiques pour réduire la complexité. Excellent pour la détection et la segmentation.
Multi-tâchesApprend conjointement vision et langage. Peut classifier des images avec des descriptions textuelles sans fine-tuning.
Vision-LangageAuto-supervisé (self-supervised). Apprend des représentations visuelles puissantes sans labels, juste en regardant des images.
Self-supervisedData-efficient Image Transformer. Entraînable sur ImageNet seul (sans JFT-300M) grâce à la distillation de connaissances.
EfficientSegmente n'importe quel objet dans une image avec un simple clic. Entraîné sur 1 milliard de masques.
Segmentation🔍 Champ réceptif local
Les convolutions (3×3, 5×5) ne voient qu'une petite région à la fois. Le champ réceptif global n'est atteint qu'après plusieurs couches.
📐 Biais inductif spatial
Les convolutions supposent que les pixels proches sont liés (localité spatiale). Bon pour les textures et motifs locaux.
⚡ Efficace sur petits datasets
Grâce au biais inductif, les CNN performent bien même avec peu de données (ImageNet-1k suffit).
🔢 Complexité linéaire
O(n) par rapport à la taille de l'image. Rapide et léger.
🌍 Attention globale immédiate
Chaque patch peut "voir" tous les autres patches dès la première couche. Capture les dépendances à longue distance.
🎯 Pas de biais inductif
ViT apprend la structure spatiale des données. Plus flexible mais nécessite plus d'exemples pour apprendre.
📊 Scalabilité exceptionnelle
Les performances continuent de s'améliorer avec plus de données (JFT-300M) et de paramètres. Pas de plateau.
🔢 Complexité quadratique
O(n²) pour l'attention. Plus coûteux en calcul, d'où l'utilisation de patches.
| Critère | CNN | ViT |
|---|---|---|
| Champ réceptif | Local → Global (progressif) | Global dès le début |
| Données nécessaires | ImageNet-1k (1.3M images) | ImageNet-21k ou JFT-300M (14M-300M) |
| Complexité | O(n) - Linéaire | O(n²) - Quadratique (sur patches) |
| Interprétabilité | Feature maps difficiles à interpréter | Cartes d'attention visuelles |
| Transfer learning | Vision uniquement | Vision + Langage (CLIP, GPT-4V) |
| Performance ImageNet | ResNet-152 : 86.4% | ViT-Huge : 88.55% |
Attention globale dès la première couche
Contrairement aux CNN, ViT voit l'image entière immédiatement, capturant les dépendances à longue distance.
Scalabilité
Les performances s'améliorent constamment avec plus de données et de paramètres (pas de plateau comme les CNN).
Transfert inter-domaines
Facile d'adapter un modèle texte-image (CLIP) ou de combiner vision et langage.
Interprétabilité
Les cartes d'attention montrent quelles parties de l'image le modèle regarde.
Besoin de beaucoup de données
ViT nécessite des millions d'images pour bien performer (ImageNet-21k, JFT-300M). Sur de petits datasets, les CNN restent meilleurs.
Coût computationnel élevé
L'attention quadratique rend l'entraînement coûteux. ViT-Huge nécessite des TPU/GPU puissants.
Moins de biais inductif
Les CNN ont un biais inductif spatial (convolutions locales). ViT doit tout apprendre des données, d'où le besoin de plus d'exemples.
Résolution fixe
ViT est entraîné sur une résolution fixe (224×224). Changer la résolution nécessite un ajustement des embeddings positionnels.
Les Vision Transformers ont prouvé que l'architecture Transformer, initialement conçue pour le langage, est universelle et peut exceller sur n'importe quelle modalité. En découpant les images en patches et en appliquant l'attention globale, ViT capture des relations spatiales complexes que les CNN peinent à modéliser.
Aujourd'hui, les ViT dominent les benchmarks de vision par ordinateur et sont au cœur des modèles multimodaux comme GPT-4 Vision, Gemini, et Claude 3 qui peuvent "voir" et comprendre des images.
Votre retour est précieux pour améliorer cette page. Partagez votre expérience ci-dessous.
Comment évaluez-vous cette page ?
Continuez votre apprentissage avec ces sujets liés