Imaginez un interprète lors d'une conférence : il écoute d'abord une phrase entière, la condense mentalement en une idée, puis la reformule dans une autre langue. C'est exactement le principe de l'architecture encodeur-décodeur (encoder-decoder), un schéma fondamental du deep learning pour transformer une séquence d'entrée en une séquence de sortie de longueur différente.
Deux modules, un pont
L'architecture se divise en deux blocs complémentaires :
- L'encodeur lit la séquence d'entrée (mots, pixels, échantillons audio) et la compresse en une représentation interne dense, appelée vecteur de contexte (context vector) ou état latent.
- Le décodeur part de cette représentation et génère la séquence de sortie, un élément à la fois, en s'appuyant sur ce qu'il a déjà produit.
On peut résumer le flux ainsi :
$$ \mathbf{c} = f_{\text{enc}}(x_1, \dots, x_n) \qquad y_t = f_{\text{dec}}(\mathbf{c},\, y_1, \dots, y_{t-1}) $$
Le verrou de l'attention
Les premières versions (RNN/LSTM) compressaient toute l'entrée dans un seul vecteur, créant un goulot d'étranglement pour les longues séquences. Le mécanisme d'attention a levé ce verrou : à chaque étape de génération, le décodeur consulte tous les états de l'encodeur et pondère ceux qui sont pertinents. C'est cette idée qui a donné naissance aux Transformers en 2017.
Trois grandes familles
| Type | Encodeur | Décodeur | Exemple d'usage |
|---|---|---|---|
| Encodeur seul | Classification, compréhension (BERT) | ||
| Décodeur seul | Génération de texte (GPT) | ||
| Encodeur-décodeur | Traduction, résumé (T5) |
Cette architecture alimente la traduction automatique, le résumé de texte, la reconnaissance vocale et la légende d'images.
Comprendre puis produire : l'encodeur-décodeur est l'épine dorsale de la transformation de séquences.