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

Attention Mechanism

Un mécanisme d’attention pondère les caractéristiques d’entrée selon leur pertinence à l’aide de requêtes, de clés et de valeurs. Présentation des mathématiques, des types d’attention et de la comparaison entre attention et convolution.

Un mécanisme d’attention est une opération de réseau neuronal qui construit chaque sortie comme une moyenne pondérée des caractéristiques d’entrée, les poids étant calculés en fonction de la pertinence de chaque entrée pour l’élément traité. La pertinence est évaluée en comparant un vecteur de requête aux vecteurs clés, puis les scores obtenus pondèrent les vecteurs de valeurs correspondants. L’attention a été introduite en 2014 pour la traduction automatique, permettant à un décodeur de réseau neuronal récurrent (RNN) de consulter chaque mot source au lieu de condenser toute la phrase en un vecteur de longueur fixe. Le Transformer de 2017 a bâti une architecture entière autour de l’attention, qui est aujourd’hui l’opération centrale des grands modèles de langage, des Transformers de vision et de nombreux modèles de détection d’objets.

Fonctionnement de l’attention#

L’attention utilise trois projections linéaires apprises de son entrée. La requête (Q) décrit ce que recherche le jeton courant, chaque clé (K) décrit ce qu’un jeton apporte, et chaque valeur (V) contient le contenu transmis. Le modèle compare la requête à chaque clé, transforme les scores de comparaison en poids et renvoie la somme pondérée des valeurs. Lorsqu’un modèle de traduction produit « noir » pour « The black cat », la requête de cette étape obtient son score le plus élevé avec la clé de « black », même si, en français, l’adjectif se place après le nom.

L’attention à têtes multiples exécute plusieurs de ces calculs en parallèle, chacun sur ses propres projections de dimension inférieure, puis concatène les résultats. Les différentes têtes peuvent ainsi se spécialiser dans des relations distinctes au sein d’une même couche.

Attention à produit scalaire mis à l’échelle#

L’attention du Transformer s’écrit Attention(Q, K, V) = softmax(QKᵀ / √d_k) V. Chaque requête est comparée à chaque clé par produit scalaire, et les scores sont divisés par la racine carrée de la dimension des clés d_k afin qu’ils n’augmentent pas avec la taille des vecteurs et ne saturent pas le softmax. Le softmax transforme les scores de chaque requête en poids dont la somme vaut 1, et la sortie est la somme pondérée des vecteurs de valeurs.

import torch
import torch.nn.functional as F

torch.manual_seed(0)

# Requêtes, clés et valeurs pour une séquence de 4 jetons, chacun de dimension 8
q, k, v = torch.randn(3, 4, 8).unbind(0)

# Calculer le score de chaque requête par rapport à chaque clé, appliquer la mise à l’échelle sqrt(d_k), puis normaliser chaque ligne avec softmax
weights = (q @ k.T / k.shape[-1] ** 0.5).softmax(dim=-1)

# Chaque jeton de sortie est une moyenne pondérée des vecteurs de valeurs
output = weights @ v

print("Attention weights of token 0:", [round(w, 3) for w in weights[0].tolist()])
print("Matches PyTorch SDPA:", torch.allclose(output, F.scaled_dot_product_attention(q, k, v), atol=1e-6))

Le code affiche [0.121, 0.741, 0.106, 0.032] et True : le jeton 0 tire 74 % de sa sortie du vecteur de valeurs du jeton 1, ses quatre poids totalisent 1, et le résultat calculé manuellement correspond à l’opération fusionnée scaled_dot_product_attention de PyTorch, qui fait appel à des noyaux efficaces en mémoire tels que FlashAttention sur les GPU pris en charge.

Types d’attention#

  • Auto-attention : les requêtes, les clés et les valeurs proviennent toutes de la même séquence, de sorte que chaque jeton récupère le contexte de tous les autres. C’est le mécanisme d’attention utilisé dans les encodeurs Transformer et les ViT.
  • Attention croisée : les requêtes proviennent d’une séquence, et les clés et les valeurs d’une autre. Un décodeur de traduction porte son attention sur la phrase source, un modèle de diffusion texte-image sur l’invite, et les requêtes d’objets d’un décodeur DETR sur les caractéristiques de l’image.
  • Attention causale : un masque empêche chaque jeton de prêter attention aux jetons suivants ; un modèle de langage génère ainsi le texte de gauche à droite, et les clés et valeurs des jetons précédents peuvent être stockées dans un cache KV.
  • Attention efficace : l’attention éparse, à fenêtre glissante et linéaire réduit le coût quadratique de la comparaison de chaque jeton avec tous les autres, tandis que l’attention déformable échantillonne seulement quelques points appris autour de chaque position de référence.
  • Attention par canal dans les CNN : les réseaux Squeeze-and-Excitation repondèrent les canaux d’une carte de caractéristiques à partir de sa moyenne globale, une forme d’attention peu coûteuse qui a servi de base à la meilleure soumission de classification d’ILSVRC 2017.

Attention et convolution#

Une convolution applique le même petit filtre à chaque position, de sorte que chaque sortie observe une fenêtre locale fixe et que ses poids ne dépendent pas de l’image. L’attention calcule ses poids à partir du contenu et peut relier n’importe quelles deux positions au sein d’une même couche. Son coût augmente toutefois avec le carré du nombre de jetons. Une image de 640×640 avec un pas de 32 donne une grille de 20×20, soit 400 jetons et 160 000 paires requête-clé ; la grille de pas 8 de la même image compte 6 400 jetons et près de 41 millions de paires. YOLO26 place donc ses blocs d’attention au bon endroit : le bloc C2PSA qui termine le backbone et un bloc C3k2 avec attention dans le neck exécutent tous deux une auto-attention à têtes multiples sur la carte de caractéristiques de 20×20 au pas 32, tandis que toutes les couches de résolution supérieure restent convolutionnelles.

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