Skip to content

Réseaux de Neurones

CNN

  • CNN = Convolutional Neural Network
  • Lit par groupe de mots, comme si tu regardais la phrase avec une loupe.
  • Il est plus rapide car il peut lire plusieurs morceaux en parallèle.
  • Mais il perd le lien entre les mots éloignés (comme oublier le début de la phrase).

RNN

  • RNN = Recuring Neural Network
  • Lit mot par mot, comme si tu lisais une phrase lentement.
  • Il se souvient de ce qu’il a lu avant.
  • Mais c’est lent car il ne peut pas lire plusieurs mots en même temps.
  • Et il oublie parfois les mots trop anciens (problème de mémoire).

Transformers


1️⃣ Vue d’ensemble

Le Transformer (issu du papier “Attention Is All You Need”) est une architecture de réseau de neurones conçue pour traiter des séquences (ex. du texte), en se basant uniquement sur un principe central : l’attention.

L’idée clé :

Au lieu de lire mot par mot (comme un RNN), le Transformer regarde tous les mots en parallèle, et calcule les relations entre eux grâce au mécanisme d’attention.

Le Transformer est composé de deux grandes parties :
- un encodeur 🧩 (Encoder) : il lit et comprend la phrase d’entrée,
- un décodeur 🔁 (Decoder) : il génère la sortie mot par mot.


2️⃣ Structure générale du modèle

Le Transformer n’est pas une seule grosse couche, mais un empilement de couches.
👉 Chaque couche n’a pas son propre encodeur et décodeur :
- il y a une pile d’encodeurs,
- et une pile de décodeurs,
chaque pile contenant plusieurs couches identiques.

Exemple :

Encodeur : 6 couches empilées (Self-Attention + Feed-Forward)
Décodeur : 6 couches empilées (Masked Self-Attention + Cross-Attention + Feed-Forward)

3️⃣ Le fonctionnement couche par couche

🔹 A. Les couches d’Encodeur

Chaque couche d’encodeur contient deux sous-couches :

  1. Multi-Head Self-Attention
  2. Chaque mot “regarde” les autres mots de la phrase d’entrée.
  3. Le dot-product mesure les similarités entre les vecteurs (Query, Key, Value).
  4. Le softmax transforme ces scores en probabilités (poids d’attention).
  5. Le système multi-head permet de regarder plusieurs types de relations à la fois.

  6. Feed-Forward Network (MLP)

  7. Chaque mot passe seul dans un petit réseau linéaire (identique pour tous les mots).
  8. Il affine la représentation obtenue après l’attention.
  9. Utilise une fonction d’activation (GELU ou SwiGLU).

Chaque sous-couche est entourée de :
- une connexion résiduelle (Add),
- une normalisation (LayerNorm).

Ces mécanismes stabilisent l’apprentissage et évitent les explosions ou pertes de gradients.

Schéma simplifié d’une couche d’encodeur :

Entrée
↓
Multi-Head Self-Attention
↓
Add + LayerNorm
↓
Feed-Forward (MLP)
↓
Add + LayerNorm
↓
Sortie (vers la couche suivante)

🔸 B. Les couches de Décodeur

Chaque couche de décodeur contient trois sous-couches :

  1. Masked Multi-Head Self-Attention

    • Même principe que dans l’encodeur,
    • Mais ici, chaque mot ne peut voir que les mots précédents (masking).
    • Cela rend le modèle auto-régressif : il prédit un mot à la fois.
  2. Cross-Attention

    • Le décodeur regarde aussi les sorties de l’encodeur.
    • Cela permet de relier la phrase d’entrée (comprise par l’encodeur) à la phrase de sortie.
  3. Feed-Forward Network (MLP)

    • Même principe que pour l’encodeur : deux transformations linéaires + activation (GELU / SwiGLU).

Chaque sous-couche est suivie d’un Add + LayerNorm.

Schéma simplifié d’une couche de décodeur :

Entrée
↓
Masked Self-Attention
↓
Add + LayerNorm
↓
Cross-Attention (regarde l’encodeur)
↓
Add + LayerNorm
↓
Feed-Forward (MLP)
↓
Add + LayerNorm
↓
Sortie (vers couche suivante)

4️⃣ Architecture complète du Transformer

Texte d’entrée
↓
[ Embedding + Position Encoding ]
↓
+--------------------------------+
| ENCODEUR (N couches) |
| (Self-Attention + FFN) × N |
+--------------------------------+
↓
+--------------------------------+
| DÉCODEUR (N couches) |
| (Masked SA + Cross-A + FFN) × N|
+--------------------------------+
↓
[ Softmax → mot suivant ]
↓
Texte de sortie

5️⃣ Détails importants

Élément Rôle Détail
Self-Attention Relie les mots d’une même phrase Chaque mot pèse les autres selon leur importance
Cross-Attention Lie l’entrée et la sortie Le décodeur regarde les infos encodées
Feed-Forward (MLP) Transforme les infos localement Deux couches linéaires + activation (GELU/SwiGLU)
LayerNorm + Résiduel Stabilise et facilite l’apprentissage Empêche les valeurs extrêmes
Softmax Transforme les scores en probabilités Utilisé pour attention et prédiction finale
Dot-product Mesure la similarité entre vecteurs Base du calcul d’attention

6️⃣ Ce que fait chaque niveau de couche

Niveau de couche Rôle principal
Couches basses (1–3) Captent les relations locales (syntaxe, structure des phrases)
Couches intermédiaires (4–6) Comprennent le sens global et les dépendances longues
Couches hautes (7–12 ou +) Apprennent des abstractions sémantiques et logiques complexes

7️⃣ Entraînement et utilisation

  • Les poids (paramètres) sont appris grâce à l’Adam optimizer.
  • Chaque poids est un nombre stocké dans des matrices (souvent des milliards).
  • Lors d’une prédiction, tous les poids sont traversés,
    mais seuls certains “s’activent” fortement selon le prompt.
  • Ces poids sont répartis sur plusieurs GPU (modèle “shardé”) pour le calcul parallèle.

🧩 En résumé final

🔹 Le Transformer est une pile de couches d’encodeurs et de décodeurs.
🔹 Chaque encodeur contient : Self-Attention + Feed-Forward.
🔹 Chaque décodeur contient : Masked Self-Attention + Cross-Attention + Feed-Forward.
🔹 Toutes les couches partagent la même architecture, mais leurs poids diffèrent (appris pendant l’entraînement).
🔹 L’ensemble forme une machine capable de comprendre une phrase entière, de trouver les liens entre les mots, puis de générer une réponse cohérente mot par mot.