ViT (Vision Transformer)
iaDéfinition
Le Vision Transformer (ViT) est une architecture de deep learning pour la vision par ordinateur qui applique l'architecture Transformer directement aux images, en les decoupant en patches (carreaux) de taille fixe. Introduit par Dosovitskiy et al. (Google Brain, 2020), ViT a montre qu'un Transformer pur surpasse les CNNs sur les benchmarks majeurs lorsque pre-entraine a grande echelle. Le principe : une image de 224x224 pixels est decoupee en patches de 16x16 pixels, donnant 196 patches. Chaque patch est aplati et projete en un vecteur d'embedding. La sequence de 196 'tokens visuels' est traitee par un Transformer standard (Self-Attention, FFN, RMSNorm), permettant a chaque patch de 'voir' tous les autres directement. ViT beneficie de tous les avantages du Transformer : parallelisation efficace sur GPU, scaling favorable avec les donnees, capacite d'attention globale. ViT depasse les ResNets sur ImageNet lorsque pre-entraine sur JFT-300M. ViT est l'encodeur visuel de CLIP (ViT-L/14, ViT-G/14), de DINOv2 (Meta), de SigLIP (Google), et est integre dans la plupart des VLMs comme LLaVA, InternVL et GPT-4V. Les variantes modernes incluent EVA-CLIP (18B params) et les ViT hierarchiques comme Swin Transformer. DINOv2 (Meta, 2023) est un ViT pre-entraine auto-supervise (sans labels) sur 142M images. Il produit des features visuelles universellement transferables, superieures a CLIP pour les taches de segmentation et detection.
Architecture ViT
# ViT-B/16 : B=Base, 16=taille des patches
# 12 couches Transformer, 12 tetes d'attention, d_model=768, 86M params
from transformers import ViTModel, ViTFeatureExtractor
from PIL import Image
model = ViTModel.from_pretrained('google/vit-base-patch16-224')
extractor = ViTFeatureExtractor.from_pretrained('google/vit-base-patch16-224')
image = Image.open('image.jpg')
inputs = extractor(images=image, return_tensors='pt')
outputs = model(**inputs)
cls_embedding = outputs.last_hidden_state[:, 0, :] # [1, 768]
patch_embeddings = outputs.last_hidden_state[:, 1:, :] # [1, 196, 768]Comparatif tailles ViT
| Variant | Patches | d_model | Params | Usage |
|---|---|---|---|---|
| ViT-S/16 | 16x16 | 384 | 22M | Edge/Mobile |
| ViT-B/16 | 16x16 | 768 | 86M | Standard |
| ViT-L/14 | 14x14 | 1024 | 307M | CLIP, LLaVA |
| ViT-G/14 | 14x14 | 1664 | 1.8B | CLIP-G, OpenCLIP |
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h