Le mécanisme d'Attention expliqué : Le cœur des Transformers
🎯 Introduction : La révolution de l'Attention
Le mécanisme d'Attention est sans doute l'une des innovations les plus importantes en Deep Learning de la dernière décennie. Introduit dans le célèbre papier "Attention is All You Need" par Vaswani et al. en 2017, il a révolutionné non seulement le traitement du langage naturel (NLP), mais aussi la vision par ordinateur, la génération d'images, et bien d'autres domaines.
💡 Pourquoi "Attention" ?
Le nom vient de l'analogie avec l'attention humaine : quand vous lisez une phrase, vous ne traitez pas tous les mots de manière égale. Vous prêtez attention aux mots importants pour comprendre le sens. C'est exactement ce que fait ce mécanisme en Deep Learning.
Avant l'Attention, les modèles de séquence (comme les RNN et LSTM) traitaient les données de manière séquentielle, ce qui posait plusieurs problèmes :
- ❌ Difficulté avec les longues séquences : l'information se perd au fil du temps
- ❌ Pas de parallélisation : traitement séquentiel = lent
- ❌ Dépendances à longue distance : difficile de relier des éléments éloignés
L'Attention résout ces problèmes en permettant à chaque élément d'une séquence d'accéder directement à tous les autres éléments, quelle que soit leur distance. Dans cet article, nous allons comprendre en profondeur comment fonctionne ce mécanisme, avec toutes les équations mathématiques nécessaires.
💡 L'intuition : Comment nous prêtons attention
Imaginez que vous lisez cette phrase : "Le chat dort sur le tapis rouge dans le salon". Quand vous lisez le mot "dort", votre cerveau fait automatiquement plusieurs connexions :
- 🐱 "chat" → Qui dort ? (sujet de l'action)
- 📍 "tapis" → Où ? (localisation)
- 🏠 "salon" → Dans quel contexte ? (contexte spatial)
- 🔴 "rouge" → Moins important pour comprendre l'action
Vous ne traitez pas tous les mots de manière égale : vous prêtez plus d'attention à certains mots qu'à d'autres. Chaque mot reçoit un poids d'attention différent selon sa pertinence pour comprendre le mot actuel.
Exemple de poids d'attention pour "dort" :
• "Le" → 0.05 (faible attention)
• "chat" → 0.60 (forte attention)
• "dort" → 0.10 (auto-attention)
• "sur" → 0.05
• "le" → 0.02
• "tapis" → 0.15 (attention modérée)
• "rouge" → 0.02
• "dans" → 0.01
C'est exactement ce que fait le mécanisme d'Attention en Deep Learning : il calcule automatiquement ces poids d'attention pour permettre au modèle de se concentrer sur les parties importantes de l'entrée.
🔑 Les trois composants : Query, Key, Value (Q, K, V)
L'Attention repose sur trois concepts fondamentaux, souvent comparés à une recherche dans une base de données. Imaginez que vous cherchez des vidéos sur YouTube :
🔍 Query (Q)
🔍 Query (Q)
🔍 Query(Q)
"Qu'est-ce que je cherche ?"
Votre requête de recherche : "tutoriel Python"
🔑 Key (K)
🔑 Key (K)
🔑 Key(K)
"Qu'est-ce que je contiens ?"
Les tags/mots-clés de chaque vidéo
💎 Value (V)
💎 Value (V)
💎 Value(V)
"Quelle information je porte ?"
Le contenu réel de chaque vidéo
Le processus fonctionne ainsi :
- Votre Query ("tutoriel Python") est comparée aux Keys (tags) de toutes les vidéos
- Un score de similarité est calculé pour chaque vidéo
- Les vidéos avec les meilleurs scores sont sélectionnées
- Vous recevez les Values (contenus) des vidéos les plus pertinentes
📐 Représentation mathématique
📐 Mathematical Representation
📐 数学的表現
Soit une séquence d'entrée $\mathbf{X} \in \mathbb{R}^{n \times d}$ où :
- $n$ = longueur de la séquence (nombre de mots/tokens)
- $d$ = dimension de l'embedding (taille du vecteur pour chaque mot)
Les matrices Q, K, V sont obtenues par des transformations linéaires de l'entrée :
$$\begin{aligned} \mathbf{Q} &= \mathbf{X} \mathbf{W}^Q \quad &\in \mathbb{R}^{n \times d_k} \\ \mathbf{K} &= \mathbf{X} \mathbf{W}^K \quad &\in \mathbb{R}^{n \times d_k} \\ \mathbf{V} &= \mathbf{X} \mathbf{W}^V \quad &\in \mathbb{R}^{n \times d_v} \end{aligned}$$
Où :
- $\mathbf{W}^Q \in \mathbb{R}^{d \times d_k}$ = matrice de poids pour les Queries (apprise pendant l'entraînement)
- $\mathbf{W}^K \in \mathbb{R}^{d \times d_k}$ = matrice de poids pour les Keys (apprise pendant l'entraînement)
- $\mathbf{W}^V \in \mathbb{R}^{d \times d_v}$ = matrice de poids pour les Values (apprise pendant l'entraînement)
- $d_k$ = dimension des Keys et Queries (souvent $d_k = d / h$ où $h$ est le nombre de têtes)
- $d_v$ = dimension des Values (souvent $d_v = d_k$)
💡 Point clé : Les matrices $\mathbf{W}^Q$, $\mathbf{W}^K$, $\mathbf{W}^V$ sont des paramètres apprenables. Le modèle apprend automatiquement comment transformer l'entrée en Queries, Keys et Values optimales pour la tâche.
⚙️ Scaled Dot-Product Attention : Le calcul complet
Maintenant que nous avons Q, K, et V, voyons comment calculer l'Attention. La formule complète du Scaled Dot-Product Attention est :
$$\text{Attention}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{softmax}\left(\frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d_k}}\right)\mathbf{V}$$
Cette équation peut sembler intimidante, mais décomposons-la étape par étape :
📐 Étape 1 : Produit scalaire $\mathbf{Q}\mathbf{K}^T$
📐 Step 1: Dot Product $\mathbf{Q}\mathbf{K}^T$
📐 ステップ1:内積 $\mathbf{Q}\mathbf{K}^T$
On calcule le produit matriciel entre les Queries et la transposée des Keys :
$$\mathbf{S} = \mathbf{Q}\mathbf{K}^T \in \mathbb{R}^{n \times n}$$
Où :
- $\mathbf{Q} \in \mathbb{R}^{n \times d_k}$ : matrice des Queries
- $\mathbf{K}^T \in \mathbb{R}^{d_k \times n}$ : transposée de la matrice des Keys
- $\mathbf{S} \in \mathbb{R}^{n \times n}$ : matrice des scores d'attention
- $S_{ij}$ = score de similarité entre la Query $i$ et la Key $j$
💡 Intuition : Le produit scalaire mesure la similarité entre deux vecteurs. Plus le score est élevé, plus la Query et la Key sont similaires, donc plus l'élément est pertinent.
📏 Étape 2 : Mise à l'échelle par $\sqrt{d_k}$
📏 Step 2: Scaling by $\sqrt{d_k}$
📏 ステップ2:$\sqrt{d_k}$によるスケーリング
On divise les scores par $\sqrt{d_k}$ (la racine carrée de la dimension des Keys) :
$$\mathbf{S}_{\text{scaled}} = \frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d_k}}$$
Pourquoi cette mise à l'échelle ? Lorsque $d_k$ est grand, les produits scalaires peuvent devenir très grands en magnitude. Cela pousse la fonction softmax (étape suivante) dans des régions où les gradients sont très petits, rendant l'apprentissage difficile. La division par $\sqrt{d_k}$ normalise les scores.
🎯 Étape 3 : Fonction Softmax
🎯 Step 3: Softmax Function
🎯 ステップ3:Softmax 関数
On applique la fonction softmax pour convertir les scores en poids d'attention (probabilités) :
$$\mathbf{A} = \text{softmax}\left(\frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d_k}}\right) \in \mathbb{R}^{n \times n}$$
La fonction softmax est appliquée ligne par ligne. Pour chaque ligne $i$ :
$$A_{ij} = \frac{\exp\left(\frac{S_{ij}}{\sqrt{d_k}}\right)}{\sum_{k=1}^{n} \exp\left(\frac{S_{ik}}{\sqrt{d_k}}\right)}$$
Propriétés de la matrice d'attention $\mathbf{A}$ :
- ✅ Tous les éléments sont dans $[0, 1]$
- ✅ Chaque ligne somme à 1 : $\sum_{j=1}^{n} A_{ij} = 1$
- ✅ $A_{ij}$ = poids d'attention que le token $i$ accorde au token $j$
🎁 Étape 4 : Pondération des Values
🎁 Step 4: Weighting the Values
🎁 ステップ4:Valuesの重み付け
Enfin, on multiplie la matrice d'attention par les Values pour obtenir la sortie :
$$\mathbf{Z} = \mathbf{A}\mathbf{V} \in \mathbb{R}^{n \times d_v}$$
Chaque ligne de $\mathbf{Z}$ est une combinaison pondérée de toutes les Values, où les poids sont donnés par les scores d'attention. Pour le token $i$ :
$$\mathbf{z}_i = \sum_{j=1}^{n} A_{ij} \mathbf{v}_j$$
💡 Résumé : L'Attention calcule pour chaque élément une moyenne pondérée de tous les autres éléments, où les poids reflètent la pertinence de chaque élément. C'est comme si chaque mot "collectait" l'information des autres mots en fonction de leur importance.
🔄 Self-Attention : La séquence s'attend elle-même
Le Self-Attention (ou auto-attention) est un cas particulier de l'Attention où la séquence s'attend elle-même. C'est le mécanisme au cœur des Transformers et de modèles comme GPT, BERT, et Vision Transformers.
🎯 Définition mathématique
🎯 Mathematical Definition
🎯 数学的定義
Dans le Self-Attention, les Queries, Keys et Values proviennent toutes de la même séquence d'entrée $\mathbf{X}$ :
$$\begin{aligned} \mathbf{Q} &= \mathbf{X} \mathbf{W}^Q \\ \mathbf{K} &= \mathbf{X} \mathbf{W}^K \\ \mathbf{V} &= \mathbf{X} \mathbf{W}^V \\ \mathbf{Z} &= \text{Attention}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{softmax}\left(\frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d_k}}\right)\mathbf{V} \end{aligned}$$
La différence avec l'Attention classique (cross-attention) est que dans le Self-Attention, chaque élément de la séquence peut prêter attention à tous les autres éléments de la même séquence, y compris lui-même.
📝 Exemple concret
📝 Concrete Example
📝 具体例
Prenons la phrase : "Le chat noir dort"
Matrice d'attention (simplifiée) :
| Query ↓ / Key → | Le | chat | noir | dort |
|---|---|---|---|---|
| Le | 0.10 | 0.70 | 0.15 | 0.05 |
| chat | 0.05 | 0.20 | 0.50 | 0.25 |
| noir | 0.05 | 0.75 | 0.15 | 0.05 |
| dort | 0.02 | 0.60 | 0.08 | 0.30 |
Interprétation :
- "Le" prête 70% d'attention à "chat" (déterminant → nom)
- "chat" prête 50% d'attention à "noir" (nom → adjectif) et 25% à "dort" (nom → verbe)
- "noir" prête 75% d'attention à "chat" (adjectif → nom qu'il qualifie)
- "dort" prête 60% d'attention à "chat" (verbe → sujet)
🎯 Cas d'usage du Self-Attention
🎯 Self-Attention Use Cases
🎯 Self-Attentionのユースケース
📖 Compréhension du contexte
📖 Context Understanding
📖 文脈理解
Chaque mot peut "voir" tous les autres mots pour comprendre le sens global de la phrase.
🔗 Capture des dépendances
🔗 Capturing Dependencies
🔗 依存関係の捕捉
Identifie les relations syntaxiques et sémantiques entre les mots, même s'ils sont éloignés.
💡 Avantage clé : Contrairement aux RNN qui traitent les mots séquentiellement, le Self-Attention permet à tous les mots d'interagir directement en une seule étape, ce qui permet de capturer des dépendances à longue distance et de paralléliser les calculs.
🎭 Multi-Head Attention : Plusieurs perspectives en parallèle
Le Multi-Head Attention est une extension du mécanisme d'Attention qui calcule plusieurs Attentions en parallèle (appelées "têtes" ou "heads"). Chaque tête peut apprendre à se concentrer sur différents aspects de la séquence.
🎯 Pourquoi plusieurs têtes ?
🎯 Why Multiple Heads?
🎯 なぜ複数のヘッドが必要なのか?
Une seule tête d'Attention peut se concentrer sur un seul type de relation. Avec plusieurs têtes, le modèle peut apprendre différents types de relations simultanément :
Tête 1 : Syntaxe
Head 1: Syntax
ヘッド1:構文
Relations grammaticales (sujet-verbe, déterminant-nom)
Tête 2 : Sémantique
Head 2: Semantics
ヘッド2:意味論
Relations de sens (synonymes, antonymes, co-références)
Tête 3 : Position
Head 3: Position
ヘッド3:位置
Relations spatiales ou temporelles
📐 Formule mathématique complète
📐 Complete Mathematical Formula
📐 完全な数学的公式
Le Multi-Head Attention avec $h$ têtes est défini comme suit :
$$\text{MultiHead}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)\mathbf{W}^O$$
$$\text{où } \text{head}_i = \text{Attention}(\mathbf{Q}\mathbf{W}_i^Q, \mathbf{K}\mathbf{W}_i^K, \mathbf{V}\mathbf{W}_i^V)$$
Détail des notations :
- $h$ = nombre de têtes (typiquement 8 ou 16 dans les Transformers)
- $\mathbf{W}_i^Q \in \mathbb{R}^{d \times d_k}$ = matrice de projection pour les Queries de la tête $i$
- $\mathbf{W}_i^K \in \mathbb{R}^{d \times d_k}$ = matrice de projection pour les Keys de la tête $i$
- $\mathbf{W}_i^V \in \mathbb{R}^{d \times d_v}$ = matrice de projection pour les Values de la tête $i$
- $\mathbf{W}^O \in \mathbb{R}^{hd_v \times d}$ = matrice de projection de sortie
- $d_k = d_v = d / h$ (dimension par tête)
🔄 Processus étape par étape
🔄 Step-by-Step Process
🔄 ステップバイステップのプロセス
Étape 1 : Projection en $h$ têtes
Pour chaque tête $i$, on projette Q, K, V avec des matrices différentes $\mathbf{W}_i^Q$, $\mathbf{W}_i^K$, $\mathbf{W}_i^V$.
Étape 2 : Calcul de l'Attention pour chaque tête
Chaque tête calcule son propre Scaled Dot-Product Attention en parallèle.
Étape 3 : Concaténation
Les sorties de toutes les têtes sont concaténées : $\text{Concat}(\text{head}_1, \ldots, \text{head}_h) \in \mathbb{R}^{n \times hd_v}$
Étape 4 : Projection de sortie
La concaténation est multipliée par $\mathbf{W}^O$ pour obtenir la sortie finale $\in \mathbb{R}^{n \times d}$.
💡 Avantage clé : Le Multi-Head Attention permet au modèle d'apprendre plusieurs représentations de la même séquence simultanément. Chaque tête peut se spécialiser dans un type de relation différent, rendant le modèle plus expressif et robuste.
🚀 Applications de l'Attention
Le mécanisme d'Attention est devenu omniprésent dans le Deep Learning moderne. Voici les principales applications :
📝 Traitement du Langage Naturel (NLP)
📝 Natural Language Processing (NLP)
📝 自然言語処理(NLP)
- GPT (GPT-3, GPT-4) : génération de texte
- BERT : compréhension du langage
- Traduction automatique : Google Translate, DeepL
- Résumé automatique : synthèse de documents
👁️ Vision par Ordinateur
👁️ Computer Vision
👁️ コンピュータビジョン
- Vision Transformers (ViT) : classification d'images
- DETR : détection d'objets
- Swin Transformer : segmentation
- EDIF : fusion d'images multi-modales
🎨 Génération Multimodale
🎨 Multimodal Generation
🎨 マルチモーダル生成
- DALL-E, Stable Diffusion : génération d'images
- CLIP : vision-langage
- Flamingo : modèles multimodaux
- Whisper : reconnaissance vocale
🧬 Autres Domaines
🧬 Other Domains
🧬 その他の分野
- Bioinformatique : prédiction de structures protéiques (AlphaFold)
- Séries temporelles : prévisions financières
- Recommandation : systèmes de recommandation
- Musique : génération et analyse
⚖️ Avantages et Limitations
✅ Avantages
✅ Advantages
✅ 利点
🚀 Parallélisation
Contrairement aux RNN, tous les tokens peuvent être traités en parallèle, accélérant considérablement l'entraînement.
🔗 Dépendances à longue distance
Chaque élément peut directement accéder à tous les autres, quelle que soit leur distance.
🔍 Interprétabilité
Les poids d'attention peuvent être visualisés pour comprendre sur quoi le modèle se concentre.
⚠️ Limitations
⚠️ Limitations
⚠️ 制限
📊 Complexité quadratique
La complexité est $O(n^2)$ où $n$ est la longueur de la séquence. Problématique pour les très longues séquences.
💾 Consommation mémoire
La matrice d'attention $n \times n$ peut devenir très grande, nécessitant beaucoup de mémoire GPU.
🔧 Solutions émergentes
Sparse Attention, Linear Attention, Flash Attention, et architectures alternatives comme Mamba.
🏆 Pourquoi l'Attention surpasse les RNN et CNN
L'Attention a révolutionné le Deep Learning en résolvant des problèmes fondamentaux des architectures précédentes. Comparons l'Attention avec les Réseaux Récurrents (RNN/LSTM) pour le texte et les Réseaux Convolutifs (CNN) pour les images.
📝 Attention vs RNN/LSTM pour le Traitement du Texte
📝 Attention vs RNN/LSTM for Text Processing
📝 テキスト処理におけるAttention vs RNN/LSTM
❌ Problèmes des RNN/LSTM
❌ Problems with RNN/LSTM
❌ RNN/LSTMの問題
- Traitement séquentiel : Les tokens doivent être traités un par un, empêchant la parallélisation
- Dépendances longue distance : L'information se dilue au fil de la séquence (vanishing gradient)
- Complexité temporelle : $O(n)$ opérations séquentielles pour une séquence de longueur $n$
- Goulot d'étranglement : Toute l'information doit passer par un état caché de taille fixe
✅ Avantages de l'Attention
✅ Advantages of Attention
✅ Attentionの利点
- Parallélisation totale : Tous les tokens sont traités simultanément sur GPU
- Accès direct : Chaque token peut accéder directement à tous les autres en une seule opération
- Pas de vanishing gradient : Les gradients circulent directement entre tous les tokens
- Scalabilité : Fonctionne efficacement sur de très longues séquences (avec optimisations)
💡 Exemple concret : Pour traduire une phrase de 100 mots, un RNN doit faire 100 étapes séquentielles. Avec l'Attention, toutes les relations entre les 100 mots sont calculées en parallèle en une seule passe, réduisant le temps d'entraînement de plusieurs heures à quelques minutes.
🖼️ Attention vs CNN pour la Vision
🖼️ Attention vs CNN for Vision
🖼️ ビジョンにおけるAttention vs CNN
⚠️ Limitations des CNN
⚠️ Limitations of CNNs
⚠️ CNNの制限
- Champ réceptif local : Les convolutions ne voient qu'une petite région à la fois (ex: 3×3, 5×5)
- Relations longue distance : Nécessitent de nombreuses couches pour capturer des dépendances globales
- Biais inductif fort : Supposent que les pixels voisins sont corrélés (pas toujours vrai)
- Rigidité : Structure hiérarchique fixe, difficile d'adapter dynamiquement
✅ Avantages de l'Attention (Vision Transformers)
✅ Advantages of Attention (Vision Transformers)
✅ Attentionの利点(Vision Transformers)
- Champ réceptif global : Chaque patch d'image peut voir tous les autres patches dès la première couche
- Relations adaptatives : Le modèle apprend quelles régions sont importantes pour chaque tâche
- Flexibilité : Fonctionne sur différentes résolutions et tailles d'images sans modification
- Transfert d'apprentissage : Les ViT pré-entraînés surpassent les CNN sur de nombreuses tâches
📊 Résultats empiriques : Le Vision Transformer (ViT) de Dosovitskiy et al. (2020) a démontré qu'avec suffisamment de données d'entraînement, les Transformers surpassent les meilleurs CNN (comme ResNet) sur ImageNet, tout en étant plus efficaces à entraîner. Sur des tâches de détection d'objets, DETR (Carion et al., 2020) simplifie considérablement l'architecture par rapport aux détecteurs CNN traditionnels.
🤖 Les LLM et l'Architecture Transformer
Les Large Language Models (LLM) comme GPT-4, Claude, LLaMA, et Mistral sont tous basés sur l'architecture Transformer, qui utilise massivement le mécanisme d'Attention. Comprendre comment les LLM utilisent l'Attention est essentiel pour saisir leur fonctionnement.
🏗️ Architecture Transformer : Les trois types d'Attention
🏗️ Transformer Architecture: The Three Types of Attention
🏗️ Transformerアーキテクチャ:3つのタイプのAttention
Le Transformer original (Vaswani et al., 2017) utilise trois types d'Attention différents :
1️⃣ Self-Attention dans l'Encodeur
1️⃣ Self-Attention in the Encoder
1️⃣ エンコーダーのSelf-Attention
Chaque mot de la phrase d'entrée peut prêter attention à tous les autres mots (y compris lui-même). Utilisé dans BERT pour la compréhension du langage.
2️⃣ Masked Self-Attention dans le Décodeur
2️⃣ Masked Self-Attention in the Decoder
2️⃣ デコーダーのMasked Self-Attention
Chaque mot ne peut prêter attention qu'aux mots précédents (pas aux mots futurs). C'est le cœur des LLM génératifs comme GPT : le modèle prédit le mot suivant sans "tricher" en regardant le futur.
3️⃣ Cross-Attention (Encodeur-Décodeur)
3️⃣ Cross-Attention (Encoder-Decoder)
3️⃣ Cross-Attention(エンコーダー-デコーダー)
Le décodeur prête attention à la sortie de l'encodeur. Les Queries viennent du décodeur, les Keys et Values de l'encodeur. Utilisé pour la traduction automatique.
🔮 Comment GPT génère du texte avec l'Attention
🔮 How GPT Generates Text with Attention
🔮 GPTがAttentionでテキストを生成する方法
Les modèles GPT (Radford et al., 2018, 2019; Brown et al., 2020) utilisent uniquement le décodeur Transformer avec Masked Self-Attention. Voici le processus de génération :
- Entrée initiale : Le prompt utilisateur (ex: "Explique-moi l'Attention")
- Tokenisation : Le texte est découpé en tokens (sous-mots)
- Embeddings : Chaque token est converti en vecteur + encodage positionnel
- Multi-Head Attention masquée : Chaque token prête attention à tous les tokens précédents (typiquement 32-96 têtes dans GPT-4)
- Feed-Forward : Réseau de neurones dense appliqué à chaque position
- Répétition : Les étapes 4-5 sont répétées sur plusieurs couches (96 couches dans GPT-4)
- Prédiction : La dernière couche prédit une distribution de probabilité sur tous les tokens possibles
- Échantillonnage : Un token est sélectionné (avec température, top-p, etc.)
- Itération : Le token généré est ajouté à la séquence, et le processus recommence
📊 Échelle des LLM modernes
📊 Scale of Modern LLMs
📊 現代のLLMのスケール
| Modèle | Paramètres | Couches | Têtes d'Attention |
|---|---|---|---|
| GPT-2 | 1.5B | 48 | 25 |
| GPT-3 | 175B | 96 | 96 |
| LLaMA 2 | 70B | 80 | 64 |
| Mistral 7B | 7B | 32 | 32 |
💡 Point clé : Dans GPT-3 (175 milliards de paramètres), chaque token passe par 96 couches de Multi-Head Attention avec 96 têtes par couche. Cela signifie que pour générer un seul mot, le modèle effectue des milliers de calculs d'Attention pour capturer toutes les nuances du contexte. C'est cette profondeur et cette largeur qui permettent aux LLM de comprendre et générer du langage de manière si sophistiquée.
🎓 Conclusion
Le mécanisme d'Attention a révolutionné le Deep Learning en permettant aux modèles de se concentrer sur ce qui est important. Que ce soit pour comprendre du texte, analyser des images, ou fusionner des informations multi-modales, l'Attention est devenue un outil indispensable. Comprendre son fonctionnement est essentiel pour quiconque souhaite travailler avec les architectures modernes de Deep Learning.
📚 Références Scientifiques
🎯 Papiers Fondamentaux
- 📄 Vaswani et al. (2017) - "Attention is All You Need" - Le papier original qui a introduit l'architecture Transformer
🤖 Large Language Models (LLM)
- 📄 Radford et al. (2018) - "Improving Language Understanding by Generative Pre-Training" - GPT-1
- 📄 Radford et al. (2019) - "Language Models are Unsupervised Multitask Learners" - GPT-2
- 📄 Brown et al. (2020) - "Language Models are Few-Shot Learners" - GPT-3
- 📄 Devlin et al. (2018) - "BERT: Pre-training of Deep Bidirectional Transformers" - BERT
- 📄 Touvron et al. (2023) - "Llama 2: Open Foundation and Fine-Tuned Chat Models" - LLaMA 2
- 📄 Jiang et al. (2023) - "Mistral 7B" - Mistral
👁️ Vision par Ordinateur
- 📄 Dosovitskiy et al. (2020) - "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale" - Vision Transformer (ViT)
- 📄 Carion et al. (2020) - "End-to-End Object Detection with Transformers" - DETR
- 📄 Liu et al. (2021) - "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows" - Swin Transformer
🎨 Modèles Multimodaux
- 📄 Ramesh et al. (2021) - "Zero-Shot Text-to-Image Generation" - DALL-E
- 📄 Rombach et al. (2022) - "High-Resolution Image Synthesis with Latent Diffusion Models" - Stable Diffusion
- 📄 Radford et al. (2021) - "Learning Transferable Visual Models From Natural Language Supervision" - CLIP
- 📄 Alayrac et al. (2022) - "Flamingo: a Visual Language Model for Few-Shot Learning" - Flamingo
- 📄 Radford et al. (2022) - "Robust Speech Recognition via Large-Scale Weak Supervision" - Whisper
🧬 Autres Domaines
- 📄 Jumper et al. (2021) - "Highly accurate protein structure prediction with AlphaFold" - AlphaFold (Bioinformatique)