MORAIDICTIONNAIRE IA
Architecture

Encodage positionnel

Comment un Transformer sait-il l'ordre des mots ? L'encodage positionnel injecte la notion de position.

Imaginez lire une phrase dont tous les mots seraient jetés en vrac dans un sac, sans ordre. C'est exactement ce que « voit » un Transformer sans encodage positionnel : son mécanisme d'attention traite l'entrée comme un ensemble non ordonné de jetons. L'encodage positionnel (positional encoding) est l'astuce qui réinjecte l'information d'ordre et de distance entre les mots.

Pourquoi en a-t-on besoin ?

Contrairement aux réseaux récurrents (RNN) qui lisent les mots un à un, l'attention d'un Transformer est permutation-invariante : « le chat mange la souris » et « la souris mange le chat » produiraient les mêmes représentations. Pour distinguer ces phrases, on ajoute à chaque vecteur de mot (embedding) un vecteur dépendant de sa position dans la séquence.

L'encodage sinusoïdal d'origine

Dans l'article fondateur Attention Is All You Need (2017), les auteurs proposent des fonctions sinus et cosinus de fréquences différentes :

$$PE_{(pos,\,2i)} = \sin!\left(\frac{pos}{10000^{2i/d}}\right), \quad PE_{(pos,\,2i+1)} = \cos!\left(\frac{pos}{10000^{2i/d}}\right)$$

où $pos$ est la position, $i$ l'indice de dimension et $d$ la taille de l'embedding. Chaque position obtient ainsi une signature unique, et les positions relatives s'expriment par de simples combinaisons linéaires.

Les grandes familles

Type Principe Exemples
Absolu fixe Sinusoïdes prédéfinies Transformer original
Absolu appris Vecteurs entraînés BERT, GPT-2
Relatif / rotatif Encode la distance entre jetons RoPE (LLaMA), ALiBi

Les approches modernes comme RoPE ont l'avantage de mieux généraliser à des séquences plus longues que celles vues à l'entraînement.

Sans encodage positionnel, un Transformer entendrait les mots mais en ignorerait l'ordre — l'encodage lui rend le sens de la phrase.

Explorer tout le dictionnaire de l'IA →