Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Transformer

Un Transformer est un réseau neuronal fondé sur l’auto-attention qui traite une séquence entière en parallèle. Découvre son fonctionnement, ses variantes et son utilisation en vision.

Un Transformer est une architecture de réseau de neurones qui traite une séquence de jetons, tels que des mots ou des régions d’image, en permettant à chaque jeton de puiser des informations dans tous les autres grâce à l’auto-attention. Des chercheurs de Google l’ont présenté en 2017 dans Attention Is All You Need pour la traduction automatique. Les anciens réseaux de neurones récurrents (RNN) lisaient une phrase mot à mot, ce qui empêchait de paralléliser l’entraînement sur les différentes positions. Le Transformer traite toutes les positions simultanément, et son modèle de base a atteint des résultats de pointe en traduction de l’anglais vers l’allemand après 12 heures d’entraînement sur huit GPU. Les Transformers sont aujourd’hui à la base des grands modèles de langage (LLM), des Transformers de vision, de la reconnaissance vocale, ainsi que de nombreux modèles de détection d’objets et de génération d’images.

Fonctionnement des Transformers#

Les jetons d’entrée sont d’abord convertis en plongements, des vecteurs de largeur fixe (512 dans le modèle original). Un Transformer applique ensuite une pile de couches identiques, chacune composée de deux sous-couches :

  • Auto-attention multi-têtes : chaque jeton produit un vecteur de requête, un vecteur de clé et un vecteur de valeur. La sortie d’un jeton est une moyenne pondérée de tous les vecteurs de valeur, les poids dépendant de la correspondance entre sa requête et chaque clé, comme l’explique le mécanisme d’attention. Plusieurs têtes s’exécutent en parallèle — huit dans le modèle original — afin de suivre différentes relations.
  • Réseau à propagation avant : un réseau à deux couches appliqué séparément à chaque jeton, qui transforme les informations recueillies par l’attention.

Une connexion résiduelle entoure chaque sous-couche et la normalisation de couche stabilise les activations. Le modèle original empilait six de ces couches dans un encodeur, qui lit la phrase source, et six dans un décodeur, qui produit la traduction un jeton à la fois. Chaque couche du décodeur ajoute une étape d’auto-attention masquée, qui cache les jetons futurs, et une étape d’attention croisée, qui lit la sortie de l’encodeur :

L’attention compare les jetons uniquement selon leur contenu : une couche Transformer n’a donc pas de notion d’ordre intégrée. Mélanger les jetons d’entrée ne fait que mélanger les sorties. Les informations de position sont donc ajoutées aux plongements des jetons, au moyen de motifs fixes en sinus et cosinus dans l’article original, de vecteurs de position appris dans BERT et ViT, ou de plongements positionnels rotatifs (RoPE) dans la plupart des LLM actuels. Ce code PyTorch illustre l’effet avec une couche d’encodeur :

import torch
from torch import nn

# Une couche d’encodeur Transformer et une séquence de 5 plongements de jetons
torch.manual_seed(0)
layer = nn.TransformerEncoderLayer(d_model=32, nhead=4, batch_first=True).eval()
tokens = torch.randn(1, 5, 32)
reverse = torch.arange(4, -1, -1)

# L’auto-attention seule ignore l’ordre : inverser l’entrée ne fait qu’inverser la sortie
print(torch.allclose(layer(tokens[:, reverse])[:, reverse], layer(tokens), atol=1e-5))

# L’ajout d’un vecteur appris par position fait dépendre chaque sortie de la position du jeton correspondant
positions = nn.Embedding(5, 32).weight
reordered = layer(tokens[:, reverse] + positions)[:, reverse]
print(torch.allclose(reordered, layer(tokens + positions), atol=1e-5))

Le code affiche True, puis False : tant que les vecteurs de position ne sont pas ajoutés, inverser les jetons ne fait qu’inverser les sorties. Ensuite, l’ordre des jetons modifie la sortie de chacun d’eux.

Modèles à encodeur, à décodeur et encodeur-décodeur#

Les trois façons d’utiliser la pile originale répondent à des besoins différents :

  • Encodeur seul : chaque jeton prête attention à l’ensemble de l’entrée dans les deux sens, ce qui convient aux tâches de compréhension. BERT pour le texte et ViT pour les images sont des modèles à encodeur seul.
  • Décodeur seul : chaque jeton ne prête attention qu’aux jetons qui le précèdent, de sorte que le modèle génère le texte un jeton à la fois. Les modèles GPT et la plupart des LLM actuels utilisent cette conception.
  • Encodeur-décodeur : un encodeur lit une séquence et un décodeur en produit une autre tout en prêtant attention à la première, comme dans les modèles de traduction, T5 et le système de reconnaissance vocale Whisper.

Les Transformers en vision par ordinateur#

Le Vision Transformer (ViT) traite une image comme une séquence de régions de 16 × 16 pixels et applique un encodeur Transformer sans modification. Le Swin Transformer limite l’attention à des fenêtres locales afin de passer à l’échelle sur les images haute résolution. DETR reformule la détection comme un problème de prédiction d’ensemble : un décodeur Transformer convertit un ensemble fixe de requêtes d’objets apprises en boîtes, une par requête, ce qui élimine la suppression non maximale (NMS) et les ancres conçues manuellement. Le package Ultralytics exécute le RT-DETR de Baidu, une version temps réel de cette conception. Son encodeur hybride applique une couche d’encodeur Transformer uniquement à la carte de caractéristiques de stride 32 — 400 jetons pour une image de 640 × 640 — et son décodeur à six couches affine 300 requêtes d’objets en détections finales sans NMS. Les Transformers génèrent aussi des images : les Transformers de diffusion ont remplacé le U-Net dans les récents modèles de génération d’images à partir de texte et de vidéo, et les modèles de vision-langage transmettent des jetons d’image à un LLM à décodeur seul.

  • Réseaux de neurones convolutifs (CNN) : une convolution voit un petit voisinage à l’aide du même filtre à chaque position ; cette hypothèse intégrée est utile avec de petits jeux de données. L’attention peut relier deux positions quelconques au sein d’une couche, mais doit apprendre la structure spatiale à partir des données. Les Transformers ont donc généralement besoin de davantage de données d’entraînement ou d’un préentraînement pour surpasser les CNN.
  • RNN et LSTM : ils transmettent un état de taille fixe d’un pas au suivant. La mémoire par jeton reste donc constante, mais l’entraînement est séquentiel. Un Transformer conserve chaque jeton passé à disposition et s’entraîne en parallèle.
  • Modèles d’espace d’état : des architectures comme Mamba traitent les séquences avec un état récurrent dont le coût augmente linéairement avec la longueur, et les modèles hybrides les alternent avec des couches d’attention.

L’auto-attention compare chaque jeton à tous les autres : son coût augmente donc avec le carré de la longueur de la séquence. Une séquence de 4 096 jetons comporte environ 16,8 millions de paires requête-clé dans chaque tête de chaque couche. Doubler sa longueur à 8 192 jetons quadruple ce nombre, qui atteint environ 67 millions. FlashAttention réduit le trafic mémoire de ce calcul, tandis que le cache KV stocke les clés et les valeurs des jetons précédents afin que le décodeur ne les calcule qu’une fois pendant la génération.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique