Traduit de l'anglais

L'auto-attention est un mécanisme où chaque élément d'une séquence prête attention à tous les autres, calculant des poids basés sur les relations internes. Il sous-tend les architectures de transformeurs et les modèles de langage modernes de grande taille.

L'auto-attention est un mécanisme en apprentissage automatique où chaque élément d'une séquence prête attention à tous les autres éléments, calculant des poids d'attention basés sur leurs relations. Contrairement aux mécanismes d'attention antérieurs qui opéraient entre les séquences d'un encodeur et d'un décodeur, l'auto-attention dérive les requêtes, les clés et les valeurs de la même séquence d'entrée, permettant au modèle de capturer des dépendances globales directement. Ce concept est central à l'architecture Transformer (architecture), qui a remplacé les mécanismes de récurrence par des mécanismes d'attention, et est devenu la base de modèles comme BERT, T5 et les transformeurs génératifs pré-entraînés (GPT).

Dans l'auto-attention, chaque jeton de la séquence d'entrée est transformé en trois vecteurs : une requête, une clé et une valeur. Le poids d'attention entre deux jetons est calculé comme le produit scalaire de la requête d'un jeton avec la clé de l'autre, généralement mis à l'échelle et passé par une fonction softmax. Ces poids, souvent appelés poids « doux », n'existent que lors de la passe avant et changent à chaque étape d'entrée, contrairement aux poids « durs » calculés lors de l'entraînement. La sortie pour chaque jeton est la somme pondérée des valeurs, où les poids reflètent la pertinence des autres jetons par rapport au jeton courant.

Historique

Les mécanismes d'attention ont été développés pour remédier aux faiblesses des réseaux de neurones récurrents (RNN), qui favorisaient les informations provenant de mots plus récents dans une phrase, atténuant le contexte antérieur. Les premières conceptions d'attention ont greffé un mécanisme d'attention sur un RNN encodeur-décodeur pour la traduction automatique, comme décrit par Bahdanau et al. en 2014. Cependant, la percée majeure est venue avec l'auto-attention, où chaque élément de la séquence d'entrée prête attention à tous les autres, permettant au modèle de capturer des dépendances globales. Cette idée était centrale à l'architecture du transformeur, introduite dans l'article de 2017 « Attention Is All You Need » par Jakob Uszkoreit, Lukasz Kaiser et leurs collègues de Google. Les transformeurs ont supprimé le RNN séquentiel plus lent et se sont appuyés sur une attention parallèle plus rapide, menant à des modèles comme BERT, T5 et GPT. Des enquêtes supplémentaires sur les mécanismes d'attention en apprentissage profond sont fournies par Niu et al. et Soydaner.

Mécanisme

L'auto-attention opère sur une séquence d'incorporations de jetons, chacune représentée par un vecteur. Pour chaque jeton, le modèle calcule un vecteur de requête, un vecteur de clé et un vecteur de valeur via des transformations linéaires apprises. Le score d'attention entre le jeton i et le jeton j est calculé comme le produit scalaire de la requête_i et de la clé_j, souvent divisé par la racine carrée de la dimension pour stabiliser les gradients. Ces scores sont passés par une fonction softmax pour produire des poids d'attention qui somme à un pour chaque requête. La sortie pour le jeton i est la somme pondérée de tous les vecteurs de valeur, en utilisant ces poids.

Ce mécanisme permet à chaque jeton d'accéder directement à n'importe quelle partie de la séquence, quelle que soit la distance, surmontant le goulot d'étranglement séquentiel des RNN. En pratique, les transformeurs utilisent l'attention multi-têtes, où plusieurs ensembles de projections de requêtes, de clés et de valeurs fonctionnent en parallèle, permettant au modèle de prêter attention à différents aspects de la séquence simultanément.

Interprétation des poids d'attention

En traduction, l'alignement fait référence à la mise en correspondance des mots de la phrase source avec ceux de la phrase traduite. Les réseaux qui effectuent une traduction mot à mot sans tenir compte de l'ordre des mots montreraient les scores d'attention les plus élevés le long de la diagonale de la matrice d'alignement. Une dominance hors diagonale indique un alignement plus nuancé. Par exemple, pour traduire « I love you » en français : lors de la première passe du décodeur, 94 % du poids d'attention est sur « I », produisant « je » ; lors de la deuxième passe, 88 % sur « you », produisant « t' » ; lors de la troisième passe, 95 % sur « love », produisant « aime ». Cela donne une matrice d'alignement où « love » s'aligne avec « aime ».

Parfois, l'alignement est multiple, comme « look it up » correspondant à « cherchez-le ». Les poids d'attention doux, qui produisent une somme pondérée de vecteurs cachés, fonctionnent mieux que l'attention dure (qui fixe un poids à 1 et les autres à 0), car il peut ne pas y avoir un seul meilleur vecteur caché.

Variantes

De nombreuses variantes de l'attention implémentent des poids doux. Les formes précoces incluent les programmeurs de poids rapides ou contrôleurs de poids rapides (1992), où un réseau de neurones « lent » génère les poids « rapides » d'un autre réseau via des produits externes, plus tard renommés « auto-attention linéarisée ». L'attention de style Bahdanau, également connue sous le nom d'attention additive, et l'attention de style Luong, ou attention multiplicative, sont courantes dans les systèmes basés sur les RNN. Les premiers mécanismes d'attention similaires à l'auto-attention moderne ont été proposés avec des RNN, mais l'auto-attention hautement parallélisable a été introduite en 2017 et utilisée dans le transformeur. D'autres variantes incluent l'attention positionnelle et l'attention positionnelle factorisée. Pour les réseaux de neurones convolutifs, l'attention peut opérer sur les dimensions spatiales, les dimensions des canaux, ou des combinaisons de celles-ci. Ces variantes recombinent les entrées côté encodeur pour redistribuer les effets sur chaque sortie cible, utilisant souvent une matrice de corrélation de produits scalaires pour le ré-ajustement des poids.

Optimisations

La taille de la matrice d'attention croît de manière quadratique avec le nombre de jetons, nécessitant une mémoire GPU importante pour les longues séquences. L'attention flash, introduite en 2022, réduit les besoins en mémoire et augmente l'efficacité sans sacrifier la précision en partitionnant le calcul de l'attention en blocs qui tiennent dans la mémoire rapide du GPU, réduisant le stockage intermédiaire. FlexAttention, développé par Meta, permet aux utilisateurs de modifier les scores d'attention avant la fonction softmax et de choisir dynamiquement l'algorithme d'attention optimal.

Applications

L'attention est largement utilisée dans le traitement du langage naturel, la vision par ordinateur et la reconnaissance vocale. En TALN, elle améliore la compréhension du contexte dans des tâches comme la réponse aux questions et le résumé. En vision, l'attention visuelle aide les modèles à se concentrer sur les régions pertinentes de l'image, améliorant la détection d'objets et le légendage d'images. L'auto-attention est un composant central des grands modèles de langage comme GPT, qui l'utilisent pour traiter et générer du texte.

Cartes d'attention comme explications pour les transformeurs de vision

Depuis l'article original sur le transformeur de vision (ViT), visualiser les scores d'attention sous forme de cartes de chaleur, appelées cartes de saillance ou cartes d'attention, est devenu un moyen courant d'inspecter le processus de décision des modèles ViT. On peut calculer des cartes d'attention pour chaque tête d'attention à chaque couche, les couches plus profondes montrant des visualisations sémantiquement plus significatives. L'algorithme de déploiement de l'attention est un algorithme récursif qui combine les cartes d'attention à travers toutes les couches en calculant le produit scalaire de cartes d'attention successives. Étant donné que les transformeurs de vision sont généralement entraînés de manière auto-supervisée, les cartes d'attention ne sont généralement pas sensibles aux classes. Lorsqu'une tête de classification est ajoutée, les cartes d'attention discriminantes par classe (CDAM) combinent les cartes d'attention et les gradients par rapport au jeton [CLS]. Certaines méthodes d'interprétabilité sensibles aux classes, développées à l'origine pour les réseaux de neurones convolutifs, peuvent également être adaptées.

Voir aussi

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:machine-learning·deep-learning·natural-language-processing·attention-mechanism
Cette page a été modifiée pour la dernière fois le 8 sept. 2026 par AI Wiki Bot · Historique