Aandacht als wiskunde — hoe AI leerde welke woorden ertoe doen

Als een LLM een zin verwerkt, leest hij die niet als een mens. Er is geen "eerste woord, dan tweede, dan derde". Er is alleen een gigantisch web van onderlinge gewichten dat allemaal tegelijk wordt berekend. Dat web heet attention — en het is de tweede belangrijkste uitvinding in moderne AI.

Verbindende draden tussen knopen — metafoor voor attention-mechanismen

Als je een zin leest, doe je iets wat je niet helemaal door hebt. Je leest de woorden één voor één, maar de betekenis komt niet woord-voor-woord tot stand. Je begrijpt het derde woord pas als je, retrospectief of met vooruitzicht, weet wat er komt of net is geweest. "Hij at de appel die rood was" — het woord "rood" slaat pas terug op "appel" als je hem hebt gelezen. Bij "Hij gooide de bal tegen de muur" stelt je brein een visueel model samen waarin de verhouding tussen bal, muur en actie onmiddellijk meespeelt.

Ieder woord staat in relatie tot elk ander woord, en de betekenis zit evengoed in die relaties als in de losse woorden zelf. Dat is een open deur als je erover nadenkt — maar ook de kern van waarom taal zo moeilijk is voor machines.

Tot 2017 probeerden ze het op de manier waarop je een basisschoolkind leert lezen: één woord per keer, met een groeiend geheugen. Sinds 2017 doen ze iets anders. Iets wat mensen nooit zouden kunnen.

Alle relaties tegelijk

Self-attention is de wiskundige formalisering van het idee "elk woord wordt gewogen in relatie tot elk ander woord, tegelijkertijd". Waar een mens een zin doorloopt van begin naar eind, bouwt een transformer een volledige attention-matrix waarin voor elk paar woorden in de zin een gewicht staat. Dat gewicht drukt uit: hoeveel moet woord X letten op woord Y om zijn eigen betekenis te bepalen?

Die matrix is symmetrisch noch uniform. In "de hond die rende was zwart" zal het woord "zwart" een hoog attention-gewicht hebben op "hond" — want dat is wat zwart is. Het zal weinig attention hebben op "rende", want de kleur heeft niets met rennen te maken. Het woord "die" zal veel aandacht geven aan "hond", omdat het daar een grammaticale verwijzing naar is.

Deze gewichten zijn niet vooraf geprogrammeerd. Ze worden geleerd tijdens training, en ze verschillen per zin, per context, per soort relatie die het model nuttig vindt.

Query, key, value

Hoe wordt zo'n attention-gewicht berekend? Via drie vectoren per woord, die het model intern produceert: query (Q), key (K) en value (V). De namen komen uit database-wetenschap maar de analogie werkt.

Stel je voor dat elk woord in de zin twee kaartjes heeft: één zegt "dit ben ik" (key), één zegt "dit wil ik" (query). Als woord A een query uitstuurt, kijkt hij naar de keys van alle woorden in de zin — inclusief zijn eigen. Matches tussen query en key produceren hoge attention-scores. Die scores bepalen vervolgens hoeveel van de value (de inhoudelijke informatie) van elk woord wordt meegenomen in de berekening van de nieuwe representatie van A.

Wiskundig: attention(Q, K, V) = softmax(Q·Kᵀ / √d) · V. Je hoeft die formule niet te kunnen lezen — het interessante is wat ze doet. Ze is simpel (enkele matrixvermenigvuldigingen), volledig parallel (alle woorden doen het tegelijk), en leerbaar (het model past zijn Q, K, V-productie aan tijdens training).

Waarom dit zo slim is

De elegantie zit in drie dingen. Ten eerste: de keys en queries zijn leerbaar. Niemand heeft het model verteld dat werkwoorden moeten opletten op onderwerpen, of dat bijvoeglijke naamwoorden op zelfstandige naamwoorden. Dat ontdekt het model zelf uit training. De attention-patronen die ontstaan zijn vaak verrassend interpretabel — in sommige lagen zie je duidelijke grammaticale relaties, in andere lagen eerder semantische.

Ten tweede: de wiskunde is parallelliseerbaar. De hele attention-matrix kan in één GPU-bewerking worden berekend, voor alle woorden tegelijk. Dat is fundamenteel anders dan RNNs, waarbij elke stap moest wachten op de vorige. Parallelle berekening betekent snellere training, grotere modellen, en uiteindelijk betere prestaties.

Ten derde: er is geen afstand-gerelateerde verzwakking. In een RNN raakte informatie van vroeg in de zin langzaam verloren. In een transformer heeft het eerste woord een directe verbinding met het laatste woord — geen vertraging, geen verlies. Dit is wat het mogelijk maakt om in zeer lange contexten samenhang te bewaren.

Multi-head: meerdere soorten aandacht tegelijk

Eén attention-laag is al krachtig. De transformer gaat verder: multi-head attention voert meerdere attention-berekeningen parallel uit, elk met eigen Q, K, V-matrices. Hierdoor kan het model tegelijk verschillende soorten relaties leren.

In onderzoek is gebleken dat verschillende "heads" inderdaad verschillende functies oppakken. Eén head leert soms grammaticale afhankelijkheden — welk bijvoeglijk naamwoord bij welk zelfstandig naamwoord hoort. Een ander leert co-reference — welke "hij" verwijst naar welke persoon eerder in de tekst. Een derde leert positie-patronen — aandacht voor het vorige of volgende woord specifiek. Dit alles in één laag, parallel.

Een laag met twaalf heads kan dus twaalf soorten relaties tegelijk modelleren. En een model als GPT-4 heeft niet één laag maar honderden. De totale complexiteit van wat er in attention gebeurt is astronomisch — en tegelijk, volledig in principe leesbaar: je kunt de attention-matrices visualiseren en zien wat het model "bekijkt".

De kostenkant

Niets is gratis. Self-attention heeft een onaangename eigenschap: de rekenkost schaalt kwadratisch met sequentielengte. Voor een tekst van N tokens is de attention-matrix N × N groot. Voor 1.000 tokens is dat een miljoen getallen. Voor 1 miljoen tokens (zoals Claude Opus 4.7 ondersteunt) is dat een biljoen — een bijna onbehapbare rekenkost.

Daarom zijn er varianten ontwikkeld. Sparse attention rekent alleen een deel van de matrix door. Sliding window attention laat elk token alleen naar z'n buren kijken. Ring attention verdeelt de berekening over meerdere machines. Flash attention optimaliseert de geheugentoegang zodat de kwadratische kost meer hanteerbaar wordt. Zonder deze trucs zouden de lange-context-modellen van 2026 niet bestaan.

De erfenis

Self-attention is niet alleen een trucje voor taal. Inmiddels is hij overgenomen in vision transformers voor beeldherkenning, in audio-modellen, in eiwitstructuur-voorspelling (AlphaFold gebruikt attention-mechanismen), in tijdreeks-analyse, in reinforcement learning. Het idee "elk element in een sequentie let tegelijk op elk ander element" blijkt zo fundamenteel bruikbaar dat het zich door het hele veld heen verspreidt.

Het vreemde is dat het idee er voor 2017 ook al was — in kleinere vorm, als aanvulling. Iedereen had attention-mechanismen, niemand dacht dat ze "genoeg" waren. De auteurs van het transformer-paper durfden het te denken. Dat sloeg alles wat ervoor was, weg.

De techniek heet aandacht. Ze werkt niet als menselijke aandacht — wij kunnen maar op één ding tegelijk letten, een transformer let overal op tegelijk. Misschien is "aandacht" dus een slechte naam. Misschien moet het "gewogen context" heten, of "relationele integratie". Maar aandacht is blijven hangen, en het voelt passend. Het ding wat AI sinds 2017 leerde doen, was kijken naar alles tegelijk.

Dat bleek het enige te zijn wat het nodig had.

Veelgestelde vragen

Is attention alleen voor taal?+

Nee. Dezelfde techniek wordt nu gebruikt voor beeld (Vision Transformers), geluid, video en zelfs eiwitstructuren. Het idee "onderlinge relaties tussen elementen in een sequentie" is universeel inzetbaar. Het doet het goed waar volgorde en context ertoe doen.

Hoe duur is attention om te berekenen?+

Klassieke self-attention heeft kwadratische complexiteit — verdubbel je de sequentielengte, dan verviervoudig je de rekentijd. Daarom hebben moderne modellen met 1 miljoen tokens context (Claude, Gemini) variaties nodig zoals *ring attention* of *sparse attention* om dat haalbaar te maken.

Kan ik de attention "zien"?+

Ja, tot op zekere hoogte. Onderzoekers visualiseren attention-matrices om te zien welke woorden welke andere woorden beïnvloeden. Dit geeft inzicht in wat het model "doet", hoewel het nooit een volledig verklaring is van het gedrag.

Wat is het verschil tussen attention en aandacht bij mensen?+

Metaforisch vergelijkbaar, technisch heel anders. Menselijke aandacht is selectief en sequentieel — je kunt op één ding tegelijk focussen. Machine-attention is parallel — alle woorden "letten" tegelijk op alle andere. Dat maakt de machineversie veel efficiënter maar minder kognitief levensecht.

Deel dit artikel
LinkedIn ↗ X / Twitter ↗ Mail ↗
Laten we praten

Vragen die je eigen project betreffen?

Elke call begint met luisteren. Vertel waar je staat, dan denken we samen verder.

Binnen 24u een reactie. Altijd persoonlijk.