Direct naar inhoud
Alle termenNeurale netwerken & deep learning

Wat is Positional Encoding?

Een trucje om een AI-model te laten weten in welke volgorde woorden of beelden staan — alsof je nummertjes op puzzelstukjes zet, zodat het model snapt wat eerst komt en wat later.

Wat is Positional Encoding

Waarom heeft een AI überhaupt een geheugen voor volgorde nodig?

Stel je voor dat je een zin leest: "De hond jaagt de kat." De volgorde van de woorden maakt het verschil tussen een hond die achter een kat aanrent en een kat die een hond achtervolgt. Voor jou is dat vanzelfsprekend, maar een neural network — vooral de moderne Transformer-architectuur — werkt anders. Het kijkt in principe naar alle woorden tegelijk, alsof je alle puzzelstukjes door elkaar op tafel gooit. Zonder extra hulp weet het model niet of "hond" voor of na "kat" komt.

Positional encoding is de techniek om die informatie alsnog mee te geven. Je voegt aan elk woord (of elk stukje data, zoals een pixel in een afbeelding) een soort "positienummer" toe — niet letterlijk het cijfer 1, 2, 3, maar een wiskundig patroon dat het model kan herkennen. Zo leert het netwerk dat woord 1 eerder komt dan woord 10, en dat de afstand ertussen belangrijk kan zijn.

Hoe werkt het eigenlijk?

De meest bekende vorm van positional encoding komt uit het Transformer-paper van Vaswani et al. (2017). In plaats van simpelweg "positie 1, positie 2, positie 3" toe te voegen, gebruiken ze een wiskundig recept met sinus- en cosinusgolven. Waarom zo ingewikkeld? Omdat die golven mooi schaalbaar zijn: of je nu een zin van 10 woorden hebt of een document van 1.000 woorden, het patroon blijft consistent en voorspelbaar.

Concreet gebeurt dit:

  • Elk woord wordt eerst omgezet in een reeks getallen (een embedding).

  • Daar voeg je dan een tweede reeks getallen aan toe: de positional encoding, die aangeeft "dit is positie 5" of "dit is positie 42".

  • Het model ziet beide signalen tegelijk: de betekenis van het woord én de plek waar het staat.

Dat klinkt abstract, maar vergelijk het met GPS-coördinaten: elk punt op aarde heeft een unieke combinatie van breedtegraad en lengtegraad. Zo krijgt elk woord in een zin een unieke "positiecoördinaat" in de berekening.

Waarom niet gewoon 1, 2, 3, 4... tellen?

Dat zou kunnen, maar dan krijg je problemen bij langere teksten. Als je model getraind is op zinnen tot woord 100, en je stopt er plots een tekst van 200 woorden in, dan heeft het nóóit geleerd wat "positie 150" betekent. Met sinus-cosinuspatronen kun je oneindig doorrekenen zonder dat het model in de war raakt — het patroon herhaalt zich op een voorspelbare manier.

Bovendien helpen die golven het model om relatieve afstanden te begrijpen: "woord A staat drie stappen vóór woord B" is soms belangrijker dan de absolute positie.

Een voorbeeld uit de praktijk

Als je ChatGPT, Claude of een ander groot taalmodel een vraag stelt, verwerkt het jouw hele bericht in één keer. Het leest niet van links naar rechts zoals jij — het analyseert alle woorden parallel. Zonder positional encoding zou het de zin "Niet doen!" en "Doen, niet?" als identiek zien (zelfde woorden, andere volgorde). Door de positie-informatie weet het model dat de volgorde de betekenis volledig verandert.

Ook in beeldherkenning kom je het tegen: als een model pixels in een foto analyseert, helpt positional encoding om te onthouden dat de ogen boven de mond zitten en niet andersom.

Waar kom je het tegen?

Je merkt positional encoding niet direct als gebruiker, maar het zit ingebakken in:

  • Grote taalmodellen zoals GPT (OpenAI), Claude (Anthropic), Gemini (Google), Llama (Meta) — allemaal gebouwd op Transformers met positional encoding.

  • Vertaaltools zoals DeepL of Google Translate — die moeten woordvolgorde perfect begrijpen.

  • Vision TransformersAI-modellen die afbeeldingen analyseren met dezelfde technieken als tekstmodels.

  • Muziekgeneratie en videobegrip — overal waar volgorde of tijd een rol speelt.

De originele techniek is inmiddels ook verder ontwikkeld: er zijn varianten zoals learned positional embeddings (waar het model zelf leert welke posities belangrijk zijn) en relative positional encoding (die focust op afstanden tussen woorden in plaats van absolute posities).

Wat kun jij hiermee?

Als je AI-tools gebruikt, realiseer je dan dat elk antwoord dat je krijgt — van een chatbot, een samenvattingstool, een vertaler — afhankelijk is van dit soort subtiele technische keuzes. Positional encoding is één van de redenen waarom moderne AI zo goed is in taal: het begrijpt niet alleen wát je zegt, maar ook in welke volgorde je het zegt. En dat maakt alle verschil tussen een robot die woorden opsomt en een assistent die daadwerkelijk begrijpt wat je bedoelt.

FAQ

Veelgestelde vragen over Positional Encoding

De drie meest gestelde vragen over dit onderwerp, kort beantwoord.

Wat is Positional Encoding?

Een trucje om een AI-model te laten weten in welke volgorde woorden of beelden staan — alsof je nummertjes op puzzelstukjes zet, zodat het model snapt wat eerst komt en wat later.

Waarom is Positional Encoding belangrijk?

Stel je voor dat je een zin leest: "De hond jaagt de kat." De volgorde van de woorden maakt het verschil tussen een hond die achter een kat aanrent en een kat die een hond achtervolgt. Voor jou is dat vanzelfsprekend, maar een neural network — vooral de moderne Transformer-architectuur — werkt anders. Het kijkt in principe naar alle woorden tegelijk, alsof je alle puzzelstukjes door elkaar op tafel gooit. Zonder extra hulp weet het model niet of "hond" voor of na "kat" komt.

Hoe wordt Positional Encoding toegepast?

Positional encoding is de techniek om die informatie alsnog mee te geven. Je voegt aan elk woord (of elk stukje data, zoals een pixel in een afbeelding) een soort "positienummer" toe — niet letterlijk het cijfer 1, 2, 3, maar een wiskundig patroon dat het model kan herkennen. Zo leert het netwerk dat woord 1 eerder komt dan woord 10, en dat de afstand ertussen belangrijk kan zijn.

Deel: