Alle berichten

Alle berichten van deze website staan hieronder, in oplopende chronologische volgorde — alsof het een doorlopend verhaal is. Als je mijn zoektocht wilt volgen kun je van boven naar beneden gaan. Ik sla wel eens een zijweg in, maar de berichten zijn in elke volgorde te openen en te sluiten. Je kunt een bericht inklappen tot de titel, of uitklappen tot de volledige inhoud. In deze weergave zijn reacties niet zichtbaar.

Er wordt gezegd dat de huidige opkomst van AI en alles wat er mee samenhangt vergelijkbaar is met de introductie van internet, of zelfs met de industriële revolutie. Maar dan in een hoger tempo. Het is vooral de ogenschijnlijke magie van het moeiteloos in alle talen correct converseren van ChatGPT en familieleden die de aandacht en publiciteit heeft overweldigd. Zelf heb ik in het verleden zowel professioneel als uit persoonlijke interesse de ontwikkelingen, met name rond deep learning en taalmodellen, wel redelijk goed gevolgd maar ik heb me er niet grondig genoeg in verdiept om te begrijpen hoe er nu opeens zo’n kantelpunt kon ontstaan.

Dat ga ik nu inhalen. Ik ga niet alleen wat studeren maar ook op deze site verslag doen van mijn verkenning van het gebied van natuurlijke taal verwerking (NLP), large language models (LLM) en kunstmatige intelligentie (AI) toepassingen die ermee samenhangen, zoals genoemde ChatGPT. 
Hoewel ik een goede basiskennis heb is er veel onbekend terrein — dat maakt het voor mij persoonlijk interessant genoeg om het verslag bij te houden. Wie mee wil lezen is van harte welkom.

De inhoud van de site is tweeledig: tijdgebonden en wellicht vluchtige notities over wat ik tegenkom door zelf te zoeken en te studeren en over wat de actualiteit biedt (onder de menukeuze Blog) resp. artikelen die interessant genoeg zijn om te bewaren en terug te vinden (onder de keuze Artikelen). Soms zal het wellicht wat technisch en wiskundig worden, maar ik zal mijn best doen om het goed uit te leggen — vooral aan mezelf.

Alle teksten, behalve citaten, maak ik zelf. In de geest van het onderwerp laat ik mij schaamteloos bijstaan door Perplexity.ai, een zoekomgeving die ChatGPT gebruikt. Perplexity maakt samenvattingen van zoekresultaten die je werkelijk, nou ja, perplex doen staan. Die zal ik gebruiken en er keurig melding van maken — dat is onderdeel van de zoektocht zelf.

De ondertitel van de site — Op pad in AI — verwijst met een knipoog naar de reisblogs die Marianne en ik al vele jaren maken. Daar staan foto’s van echte landschappen en steden waar we geweest zijn. De afbeelding bovenaan deze site is van een niet bestaand landschap, letterlijk onbekend terrein. Het fotorealistische beeld is op mijn aanwijzing gemaakt door Dall-E, ook zo’n spraakmakende toepassing van AI.

Ik ga op pad om te begrijpen welke kantelpunten in de ontwikkeling van AI de wereld recent in rep en roer hebben gebracht, maar ik sta nog aan het begin.
Sommige rep of roer moet je misschien met een korrel zout nemen, zoals de oproep tot een moratorium voor doorontwikkelen of de in manifest verwoorde vrees voor het einde van de mensheid. Op dit terrein is er trouwens genoeg dystopische concurrentie.
Er is wel is iets serieus gaande.

Je ziet het aan de sterk toegenomen omvang van de publiciteit in de media. Juist ook in de traditionele kanalen — en in de verschuiving van de redactionele focus van klein bericht in de techniekrubriek naar groot artikel in primaire nieuwskaternen en hoofdredactioneel commentaar. De kennis daar over het onderwerp lijkt vooralsnog niet heel groot te zijn, er wordt veel van elkaar geciteerd of geparafraseerd. Nogal kritiekloos, zodat de hype snel aangezwengeld raakt.

Je merkt het ook aan de snelle verschuiving van succes en falen tussen de grote partijen in Tech en de opkomst van nieuwe spelers. Zonder disruptie geen verandering en innovatie zoals men zegt. Zo zou bijvoorbeeld het business model van de zoekmachine van Google wel eens dramatisch kunnen instorten als ze niet snel een alternatief vinden voor hun inkomsten uit gesponsorde zoekresultaten, microtargeting en allerlei andere manieren om met de persoonlijke data van hun gebruikers geld te verdienen. Daar kom ik later nog op terug want Google heeft met zekerheid de technologie om inhoudelijk een grote rol te kunnen spelen. Maar ja, dat verdienmodel…

Er is bij niemand twijfel over de impact van taalmodellen zoals Chat GPT en andere AI-modellen die met natuurlijke taal van hun gebruikers uit de voeten kunnen en ook in natuurlijke taal zinnige antwoorden op hun vragen kunnen geven. In tientallen talen zelfs. Voor de wanhopige gebruiker van Siri of Alexa, van chatbots van webwinkels, of van tekortschietende vertaalapps kwam dat als een godswonder uit de lucht vallen. Laten we daarom aan de kant van de taal en de taalmodellen beginnen.

De vloeiende en grammaticaal correcte resultaten van een conversatie met ChatGPT worden letterlijk per woord opgebouwd — je ziet een antwoord woord voor woord op je beeldscherm verschijnen en dat is niet een trucje voor de vormgeving. Soms worden woorden of hele zinnen weer gewist en opnieuw opgebouwd, kennelijk omdat de AI vindt dat de zin dreigt vast te lopen of een kant op gaat die het niet wil (of mag).

Ik weet inmiddels dat het volgende woord gekozen wordt als meest waarschijnlijke voortgang op basis van de woorden die er al staan en de context waarin de conversatie verloopt. Dit fascineert. Ik wil het niet al te antropomorf maken, maar de manier waarop mensen taal leren is misschien niet heel anders. De crux is natuurlijk het bepalen van wat “meest waarschijnlijk” is. Wordt vervolgd.

Zie bijvoorbeeld het artikel What Is ChatGPT Doing … and Why Does It Work? (Stephen Wolfram).

Plug & Pray is een documentaire film uit 2010 over “the promise, problems and ethics of artificial intelligence and robotics“. Perplexity heeft voor mij een samenvatting van de documentaire gemaakt, althans van de inhoud.

Perplexity schreef:

De regisseur van Plug & Pray, Jens Schanze, neemt een neutraal en open-minded perspectief in op de ontwikkeling van kunstmatige intelligentie en robotica. De documentaire bevat interviews met computerexperts van over de hele wereld, waaronder futurist Raymond Kurzweil en voormalig MIT-professor Joseph Weizenbaum, die hun visies en zorgen delen over de ontwikkeling van intelligente machines. Schanze neemt geen standpunt in in de debatten rondom het onderwerp, maar presenteert eerder een verfrissend open en niet-veroordelend onderzoek naar wetenschappers aan het werk en in debat. De documentaire onderzoekt de belofte, problemen en ethiek van kunstmatige intelligentie en robotica en gaat in op de eeuwenoude droom om intelligente machines te creëren die gelijk zijn aan hun menselijke makers.

Jozeph Weizenbaum is de maker van het fameuze ELIZA programma uit midden jaren 60.

Eind mei 2023 publiceerde een grote groep internationale prominenten en experts een waarschuwende, om niet te zeggen alarmerende, verklaring.

Mitigating the risk of extinction from AI should be a global priority alongside other societal-scale risks such as pandemics and nuclear war.

Intrigerend vind ik dat in de groep ondertekenaars vrijwel alle onderzoekers en ontwikkelaars zijn te vinden die de afgelopen jaren heel hard gewerkt hebben om AI te brengen waar het nu is. En er nog aan werken in een commerciële, zwaar competitieve, omgeving.

De verklaring is door sommigen hypocriet genoemd — indekken voor de bühne of voor dreigende reguleringsmaatregelen. Ik moest echter denken aan de sprong naar de schakelaar uit het korte verhaal Answer van Fredric Brown uit 1954.
Zouden ze nu wel op tijd zijn?

Fredric Brown, Answer (1954) – oorspronkelijk verschenen in Angels and Spaceships.

Dwar Ev ceremoniously soldered the final connection with gold. The eyes of a dozen television cameras watched him and the subether bore throughout the universe a dozen pictures of what he was doing.
He straightened and nodded to Dwar Reyn, then moved to a position beside the switch that would complete the contact when he threw it. The switch that would connect, all at once, all of the monster computing machines of all the populated planets in the universe — ninety-six billion planets — into the supercircuit that would connect them all into one supercalculator, one cybernetics machine that would combine all the knowledge of all the galaxies.
Dwar Reyn spoke briefly to the watching and listening trillions. Then after a moment’s silence he said, “Now, Dwar Ev.”
Dwar Ev threw the switch. There was a mighty hum, the surge of power from ninety-six billion planets. Lights flashed and quieted along the miles-long panel.
Dwar Ev stepped back and drew a deep breath. “The honor of asking the first question is yours, Dwar Reyn.” “Thank you,” said Dwar Reyn. “It shall be a question which no single cybernetics machine has been able to answer.”
He turned to face the machine. “Is there a God?”
The mighty voice answered without hesitation, without the clicking of a single relay. “Yes, now there is a God.”
Sudden fear flashed on the face of Dwar Ev. He leaped to grab the switch.
A bolt of lightning from the cloudless sky struck him down and fused the switch shut.

Toevoeging 24 september 2023: na een paar maanden ‘op pad’ in de wereld van AI is bij mij wel het besef gegroeid dat de zogenoemde AGI systemen – Artificial General Intelligence – dichter bij zijn dan ooit verwacht. Als je doorleest kom je er vanzelf, maar je kunt ook springen naar een bericht hierover, De hand van God.

Om te wennen aan de begrippen die in deze wereld gebruikt worden werk ik een voorbeeld uit.
Laten we eens uitgaan van een klein fictief taalmodel dat is getraind over een Nederlandstalig corpus. We willen dat het model een voorspelling kan doen over het volgende woord in een zin. We beperken ons daarbij tot een subset van 6 woorden: “een”, “de”, “rode”, “hond”, “kater” en “.”.

In dit bericht komen de concepten taalmodel, training, corpus, voorspelling, prompt, context window voor. Die worden in volgende berichten verder uitgewerkt.

Een ‘officiële’ definitie van taalmodel is: een waarschijnlijkheidsverdeling over een volgorde van woorden. Zie het lemma in de Engelstalige(*) wikipedia en de uitwerking in het artikel dat ik als inspiratie voor het onderstaande voorbeeld gebruik.

Het taalmodel geeft per woord de waarschijnlijkheid (de kans) om in een zin W voor te komen die uit de woorden w1, w2, …, wn bestaat. Wiskundig afgekort schrijven we voor deze kansen P(w1), P(w2), …, P(wn) (de P komt van probabiliteit). Voor de zin als geheel schrijven we de waarschijnlijkheid als P(W).
Als de kans om in een zin voor te komen per woord onafhankelijk zou zijn van de plaats van dat woord in de zin, dan zouden we P(W) berekenen door de afzonderlijke woordkansen met elkaar te vermenigvuldigen: P(W) = P(w1)*(P(w2)*…*P(wn). Die afzonderlijke woordkansen zou je dan kunnen bepalen door in een grote verzameling Nederlandstalige teksten, bijvoorbeeld alle teksten op Nederlandstalige websites bij elkaar (waarom niet), de frequentie per woord te tellen.

Helaas staat er in de vorige alinea nogal vaak “zou”…
Wil een taalmodel bruikbaar zijn dan moet het zoveel mogelijk aansluiten op de werkelijke wereld. Daar is de kans dat een woord in een zin voorkomt mede afhankelijk van het woord dat er aan voorafgaat, en zelfs van meerdere woorden die er al staan. De kansen waarmee we moeten rekenen zijn dus voorwaardelijke kansen.
Als voorbeeld: de kans dat er na “de” het woord “rode” komt. We schrijven dat als P(“rode” | “de”). In het algemeen P(w2 | “de”) voor elk van de woorden in de subset. En zo door, voor een langere zin: P(“hond” | “de rode”) en zelfs P(“.” | “de rode hond”).

De waarschijnlijkheid van de hele zin “de rode hond.” ofwel P(“de rode hond.”) is dan te berekenen door de woordkansen met elkaar te vermenigvuldigen: P(“de”) x P(“rode” | “de”) x P(“hond” | “de rode”) x P(“.” | ” de rode hond”). Zo kunnen we ook de de waarschijnlijkheden van alle andere mogelijke zinnen met woorden uit onze subset berekenen, ook van nonsense zinnen. In het Nederlands zijn zinnen waarin 2x achter elkaar “de” voorkomt zeldzaam, P(“de” | “de”) is zo goed als nul.

In AI gebruiken we taalmodellen om vraag/antwoord gesprekken op te zetten. En ‘vraag’ is hierbij een te specifiek begrip, in het jargon wordt de algemenere term prompt gebruikt. Met de prompt zet je het model als het ware aan en gaat het reageren met — woord voor woord — de zinnen met de beste waarschijnlijkheid.

Wat de beste waarschijnlijkheid is, is niet alleen afhankelijk van het voorkomen van woorden in een taal en de voorwaardelijkheid van de volgordes maar ook van de context die door de prompt wordt opgeroepen. Men spreekt hier van het context window.
In ons fictieve geval kun je je voorstellen dat in de meeste contexten P(“de rode hond.”) en P(“de rode kater.”) wel ongeveer gelijk zijn. Dat is echter totaal anders als er –bij wijze van voorbeeld– in het context window sprake is van stripverhalen van Jan Kruis (daar komt de rode kater…) of juist van infectieziekten die gevaarlijk zijn voor zwangere vrouwen (pas op voor de rode hond…).

Nu hebben we aardig zicht op de volledige complexiteit. Niet alleen de voorwaardelijke waarschijnlijkheden gebaseerd op de aanwezigheid van eerdere woorden in een te vormen zin zijn van belang, maar ook voorwaardelijkheden die te maken hebben met context, met betekenis. Daar gaat het ook om waarschijnlijkheden, maar conceptueel gezien van een totaal andere orde. Op dat vlak zijn de afgelopen jaren de grote klappers gemaakt die de technologie zo veel verder hebben gebracht.

(*) In de Nederlandstalige versie is ingevoegd dat een taalmodel een ‘kunstmatig-intelligente tekstgenerator zou zijn die de waarschijnlijkheidsverdeling opmaakt, maar volgens mij wordt daarmee de wagen voor het paard gespannen.

Mijn spraakgebruik is ouderwets geworden. Om back-ups van mijn computer te maken denk ik een externe harde schijf te hebben van 1TB. De woorden schijf en TB zijn echter ingehaald door de tijd.

De schijf is solid state, er draait niets meer.

TB, terabyte, komt uit een decimaal systeem om omvang aan te duiden: kilo, mega, giga, tera, peta, … (steeds 1.000 keer meer). Ook dat systeem is achterhaald geraakt naarmate de getallen steeds groter werden. De kleinste eenheid is de bit, een 0 of een 1, een byte bestaat uit 8 bits. Omvang neemt per stap met een factor 2 toe — en bereken je in machten van 2, niet in machten van 10. Omdat 210=1.024 dicht bij 1.000 ligt heeft men van oudsher daarvoor wel de decimale uitdrukking gebruikt: kilo=1.000. En zo door.

Bij relatief kleine getallen is het verschil in omvang van de binaire en decimale weergave te verwaarlozen. In het veen kijkt men niet op een turfje, om een minstens zo achterhaalde uitdrukking te gebruiken. Bij mijn harde schijf van 1TB is het verschil al aanzienlijk: binair uitgedrukt gaat het om 1,099,511,627,776 bytes, en niet om 1,000,000,000,000 bytes. Dat verschil is niet meer weg te poetsen.

De huidige standaard (die ook al weer ruim 20 jaar bestaat) gebruikt andere aanduidingen, steeds met een i achter de eerste hoofdletter, dus KiB ipv KB, MiB, GiB, TiB, enzovoort, en in de benaming steeds ingevoegd ‘bi’ (voor binair). Het is even wennen dat mijn terabyte nu tebibyte is gaan heten… In de tabel zie je de verschillende waarden en benamingen.

In de wereld van AI en taalmodellen gaat het over zeer grote dataverzamelingen en aantallen parameters die er aan gekoppeld worden. Daar zul je doorgaans de nieuwe maten uit het linkerrijtje tegenkomen.

GPT is het buzzword van het moment. Het is het taalmodel onder ChatGPT, vooralsnog het meest aansprekende voorbeeld van de ontwikkelingen die ik wil onderzoeken. Versie 3 is nu gangbaar, GPT-4 is er inmiddels ook en ik zag recent Kremlin watching over GPT-5. Die vervolgen zijn niet directe ‘alsmaar groter’ doorontwikkelingen maar wellicht anders opgebouwd — daar kom ik later op terug.

Het wordt tijd om dieper in de materie te duiken, vooralsnog in de wereld van GPT-3. Daar komen nogal wat nieuwe inhoudelijke terreinen langs, voor mij dan toch, met bijbehorende vaktaal. Ik begin met de drie pijlers van GPT die in het initiaalwoord zijn terug te vinden.

GPT is een Large Language Model (LLM), en in die categorie een zogeheten foundation model. De afkorting staat voor Generative Pre-trained Transformer.

Generative

Dit soort statistische modellen kan leren van de relaties in bepaalde dataverzamelingen om daarmee nieuwe ‘data points’ te genereren, die lijken op de gegevens in de verzameling maar toch ‘nieuw’ zijn.

Pre-trained

Voordat dit soort modellen in gebruik worden genomen worden ze getraind op grote dataverzamelingen. In het geval van GPT-3 een héél grote verzameling, die uit 175 miljard berekende parameters bestaat. Zie het plaatje voor de recente ontwikkeling van omvang van dit soort verzamelingen.

Transformer

Zelfs los van de context van GPT is ‘Transformer‘ een van de kantelpunten in de ontwikkeling van AI waarnaar ik op zoek ben. Het gaat om een speciaal soort neuraal netwerk, dat in 2017 door Google is geïntroduceerd, in de context van natuurlijke taal verwerking. Dit soort modellen voor deep learning is in staat om te gaan met sequentiële data — denk aan het woord voor woord waar ik eerder over berichtte — op een zodanige manier dat niet alleen opeenvolgende woorden met elkaar in verband worden gebracht en gehouden, maar ook woorden “in de omgeving van”, met een zekere afstand in de tekst.

Taalmodellen zoals GPT-3 worden gereedgemaakt voor gebruik door ze te ‘trainen’ op grote dataverzamelingen. Ik denk al wel te begrijpen dat de onvoorstelbare omvang van het corpus waarop GPT-3 is getraind een van de kantelpunten markeert waarnaar ik op zoek ben, in de ontwikkeling van natuurlijke taalverwerking.

Vragen waar ik later op terug kom:

  • hoe werkt het trainen van een taalmodel?
  • is het nodig om zulke grote dataverzamelingen te gebruiken?
  • wat zijn de neveneffecten van het werken met ongecensureerde en niet-gemodereerde inhoud?
De dataverzamelingen onder GPT-3

GPT-3.5 is getraind op 5 grote dataverzamelingen: Wikipedia, Common Crawl, WebText2, Books1, Books2 zoals die medio 2021 waren.

Alleen die eerste klinkt bekend. Om het corpus op te bouwen zijn alle pagina’s in alle talen van Wikipedia ‘opgeslorpt’. Ik kon geen recentere gegevens dan 2015 vinden voor de totale omvang, maar toen waren er 34 miljoen ‘artikelen’ (ik vermoed: pagina’s) in 288 verschillende talen.

Huiver nog meer bij Common Crawl. Een crawler is een computerprogramma dat geautomatiseerd informatie op het gehele internet opzoekt en op een bepaalde manier opslaat en indexeert. Alle zoekmachines gebruiken eigen crawlers om hun zoekindexen op te bouwen. Common Crawl is een non-profit organisatie “dedicated to providing a copy of the internet to internet researchers, companies and individuals at no cost for the purpose of research and analysis“. De organisatie is in 2008 met eigen crawlers (zoals CCbot) begonnen te verzamelen en te indexeren en doet dat tot op de dag van vandaag.
Om je een indruk te geven van de omvang: het crawl resultaat van mei en juni 2023 bevat 3,1 miljard ‘gevangen’ webpagina’s bij 44 miljoen hosts, inclusief 1 miljard nieuwe URL’s die niet eerder bezocht waren. Het resultaat is openbaar beschikbaar en kun je zelfs downloaden. De ongecomprimeerde opslag is 390 TiB…
Ook hier gaat het om inhoud in een groot aantal (40+) talen die op het internet aanwezig zijn.

WebText2 is een corpus van 40 GB tekst, in 8 miljoen documenten die afkomstig zijn van, of gelinkt aan, het Reddit platform van 2005 – 2020.

Books1 en Books2 zijn verzamelingen van e-books. De maker van GPT (OpenAI) is terughoudend met het geven van informatie over deze verzamelingen, mogelijk om auteursrecht issues te vermijden. Vrijwel zeker is Books1 het zg. Gutenberg corpus dat uit ruim 60.000 boeken bestaat die auteursrecht vrij zijn. Books2 bestaat mogelijk uit 11.000 nog niet gepubliceerde boeken die van internet geschraapt zijn.

Omvang

Alles bij elkaar is de verzameling content waarop GPT-3 is getraind van een nauwelijks voor te stellen omvang. De gehele (tekstuele) inhoud van alle websites op het internet zeg maar, aangevuld met inhoud van een van de grootste inhoudelijke social media platforms ter wereld en een grote bibliotheek aan boeken, waaronder alle klassieke werken.

GPT is niet het enige grote taalmodel. In de figuur zie je de ontwikkeling in de afgelopen jaren van de omvang van grote taalmodellen, op een logaritmische schaal. GPT-3 is 150x zo groot als zijn voorganger GPT-2.

Het gaat om de omvang in berekende parameters op basis van het corpus, ‘billion’ betekent hier: miljard.

Bron: Microsoft Research Blog 11 oktober 2021.

Een omvangrijk rapport van Stanford University van augustus 2021 introduceert het begrip foundation model. De auteurs zien de opkomst ervan als een ommekeer in AI.

Uit: On the Opportunities and Risks of Foundation Models, Stanford University, 12 juli 2022 (3e versie).

AI is undergoing a paradigm shift with the rise of models (e.g., BERT, DALL-E, GPT-3) trained on broad data (generally using self-supervision at scale) that can be adapted to a wide range of downstream tasks.
We call these models foundation models to underscore their critically central yet incomplete character.

Het rapport is multidisciplinair, met tientallen auteurs onder de vlag van het Center for Research on Foundation Models (CRFM) en het Stanford Institute for Human-Centered Artificial Intelligence (HAI) van Stanford University,
Ik zie het rapport als een van de bepalende, ‘defining‘, documenten op het gebied van AI. In het rapport worden naast de term foundation model een paar andere basisbegrippen gedefinieerd.

De inzet van foundation models heeft in Europa de roep om regulering aangewakkerd, los van de hysterie van het generiek willen beteugelen van Big Tech. Zie ter illustratie twee artikelen in de Volkskrant (van Mark Driessen en Kees Verhoeven op 13 juni 2023 en de reactie van Laura de Vries van 21 juni 2023).

Wat zijn foundation models, en wat maakt ze zo controversieel?

Eerst maar eens de oorspronkelijke definitie (die ook in de synopsis staat):

A foundation model is any model that is trained on broad data (generally using self-supervision at scale) that can be adapted (e.g., fine-tuned) to a wide range of downstream tasks.

Over grote, brede dataverzamelingen hadden we het in vorige berichten, evenals over schaal. Over de training op die verzamelingen (al dan niet onder supervisie) zal het in volgende berichten moeten gaan, hier wil ik de impact van foundation models illustreren aan de hand van twee begrippen die er in het rapport direct mee verbonden worden: ‘emergence‘ en ‘homogenization‘, in beide gevallen toegespitst op de genoemde ‘downstream tasks‘.

In het rapport staat het volgende plaatje, ter illustratie.

Als ik het goed begrijp zit het zo:

  • Het model traint (zichzelf, voor een groot deel) met taken die binnen de dataverzamelingen worden aangeboden en verwerkt. Dit zou je de primaire taken kunnen noemen, hoewel ze in de praktijk vaak schematisch zijn, sjabloonachtig. De vastlegging van het leerresultaat levert die miljarden parameters waarmee de omvang van een model wordt aangeduid.
  • Na de training wordt het model losgelaten op ongestructureerde, ongetrainde taken die feitelijk de ‘echte’ opdrachten vormen. Deze afgeleide opdrachten zijn de downstream tasks.
  • Nu blijken die grote getrainde modellen, die zogezegd het kantelpunt van omvang en gevarieerdheid voorbij zijn, de afgeleide opdrachten te kunnen uitvoeren zonder dat ze verteld is hoe ze dat moeten doen. Een prompt om ze aan te zetten is genoeg. De oplossingen zijn niet geïnstrueerd, gecodeerd of geprogrammeerd: ze ‘verschijnen’. Dat is het aspect emergence. Dit zou je in bestaand, maar niet zo gangbaar, Nederlands kunnen vertalen als emergentie. Ik voorspel het concept een grote toekomst in de discussies die gevoerd gaan worden.
  • Er bij komt dat de downstream tasks alle mogelijke variatie mogen hebben die je maar kunt bedenken. Data in de vorm van tekst, beeld, geluid of wat ook — het maakt niet uit, een foundation model dat multimodaal(*) getraind is pakt ze alle op een vergelijkbare en trainbare manier aan en kan er mee uit de voeten. Dat is het aspect homogenization.

Met name emergence brengt groot enthousiasme, maar tegelijk grote ongerustheid met zich mee. Het is immers impliciet, en daardoor onnavolgbaar, hoe een resultaat tot stand komt. Ook al wil je nog zo graag, je kunt per definitie géén inzicht krijgen hoe een specifiek antwoord is geproduceerd, er valt alleen kennis te nemen van het generieke proces.
Voor toezichthouders en politici is dit een onverdraaglijke gedachte, maar ook wetenschappers en ontwikkelaars zelf vinden het eng.

Zijn we bezig de nieuwe monsters van Frankenstein in elkaar te zetten? Vandaar de roep om regulering, ook bij de sector zelf.

(*) Dall-E, de omgeving die beeld genereert op basis van tekstuele invoer, is een versie van GPT-3 die getraind is op een dataset van ‘tekst-beeld’-paren. Dat heeft 12 miljard parameters opgeleverd die als het ware tekst en pixels uitwisselen. De manier waarop Dall-E resultaten bereikt is volledig vergelijkbaar met de natuurlijke taal-variant van GPT-3. Wel waren er verschillen in de mate van sturing in de training van beide modellen heb ik begrepen.

In het bericht waarin emergentie voor het eerst wordt genoemd zat ik niet alleen verlegen om een goed Nederlands woord, maar vooral om een referentiekader buiten de wereld van de AI.

Ik denk inmiddels dat het fenomeen zwerm een goed voorbeeld is van waarneembare emergentie. Op een vlucht spreeuwen zit geen sturing, er is geen vluchtleider of vluchtplan. Zelfs geen algoritme. Toch nemen we waar dat de vlucht tamelijk doelgericht in een groep bomen neerstrijkt zonder dat spreeuwen botsen of elkaar in de weg te zitten. Denk ook aan een school vissen, of aan het ontstaan van een termietenheuvel. Ik heb de voorbeelden in andere context zelf vaak gebruikt. Nieuw zijn ze ook niet, zie Turtles, Termites, and Traffic Jams van Mitchel Resnick uit 1994.

Ik vroeg Perplexity om een goed Nederlands woord — zo kwam ik op emergentie — en in een vervolgvraag ook naar gebruik waarbij deze term voorkomt. P. kwam met verwijzing naar de filosofie, onder meer naar het werk van Karl Popper.

Bron: Perplexity

Karl Popper heeft emergentie besproken in relatie tot complexe systemen en fenomenen. In zijn werk heeft hij betoogd dat emergentie kan worden gezien als een alternatief voor reductionisme, waarbij complexe systemen worden teruggebracht tot hun afzonderlijke delen om ze te begrijpen. Popper stelt dat emergentie kan worden gezien als een manier om de complexiteit van de wereld om ons heen te begrijpen, omdat het erkent dat er nieuwe eigenschappen en kenmerken kunnen ontstaan ​​wanneer verschillende elementen samenkomen en interactie hebben op een manier die niet kan worden verklaard door alleen naar de afzonderlijke elementen te kijken. Popper heeft emergentie dus gezien als een belangrijk concept in de filosofie van de wetenschap en als een manier om de complexiteit van de wereld te begrijpen.

Een kanttekening. Hoewel ik denk dat het verband met Popper toepasselijk is bevat de samenvatting van Perplexity een of meer ‘anachronismen’. Zo zal Popper zelf het woord reductionisme niet gebruikt hebben, en misschien niet eens de term emergentie.

Ik dwaal af omdat ik nog bezig ben met het onverwacht op het toneel verschijnen van Karl Popper — over emergentie gesproken.

Popper (overleden in 1994) heeft zich nooit bezig gehouden met AI, maar wel met vraagstukken omtrent de groei van kennis en wetenschappelijke vooruitgang. Zijn opvatting is dat het doel van wetenschap weliswaar het vinden van ‘ware’ theorieën is, maar dat vooral het zoeken naar falsificaties van hypotheses de verklaringskracht van die theorieën bevordert.

Dat de grote getrainde modellen, zoals GPT, taken kunnen uitvoeren zonder dat ze verteld is hoe ze dat moeten doen en daarmee ‘kennis’ genereren waarvan op dat moment nog niemand weet heeft — het zou ons vanuit het gezichtspunt van Popper niet hoeven verontrusten: het is immers allemaal te onderzoeken en te falsifiëren.

Poppers’ opvatting (in mijn samenvatting) dat waarheid uiteindelijk alleen te raden is, al moet je streven er steeds dichter bij te komen, blijkt uit een van zijn laatste boeken. The World of Parmenides is een verzameling essays, waarin hij een door hem zelf vertaald gedicht van Xenophanes heeft opgenomen.

UIt: The World of Parmenides, Sir Karl R. Popper, maart 1990

“But as for certain truth, no man has known it,
Nor will he know it; neither of the gods
Nor yet of all the things of which I speak.
And even if by chance he were to utter
The perfect truth, he would himself not know it;
For all is but a woven web of guesses.”

A woven web of guesses“, het lijkt me een goede metafoor voor wat mensen kunnen realiseren op zoek naar kennis en naar zekere waarheid — voor AI is het niet anders.

NB Ik vind de metafoor zo’n goede weergave van het moeilijke en deels onbekende terrein van AI dat ik er de titel van de website van heb gemaakt. Wel ben ik nog steeds Op pad in AI, zoals de oorspronkelijke titel is. Daarbij zal ik net als nu de interessante zijpaden niet mijden.

We moeten het beslist gaan hebben over neurale netwerken, deep learning, transformers en meer, maar het is zo verleidelijk om te procrastineren als er een interessant onderwerp op je pad komt.
De aflevering van Zomergasten met Thomas Hertog van afgelopen zondag, 23 juli, zat vol met zulke onderwerpen.

Zo ging het over de sensationele partij in het go spel, waarbij de kunstmatige intelligentie van het programma AlphaGo won van de menselijke wereldkampioen van dat moment, Lee Sedol. Het jaar is 2016.

Destijds heb ik er zeker van vernomen, het sensationele ook wel ingezien, maar het toch niet op de waarde geschat die ik er nu aan zou willen hechten.

Hoe was het ook alweer? Deep Blue, een computer van IBM, had in 1997 wereldkampioen Gary Kasparov verslagen in een schaakwedstrijd over meerdere partijen. Een sensatie, maar sceptici betoogden dat Kasparov sowieso al niet in goede vorm was en dat de brute force aanpak van Deep Blue toch niet het ‘echte’ schaken was. Deep Blue zou, na de openingszetten, waarbij het kon putten uit bekend repertoire, alle mogelijke zetsequenties met brute rekenkracht doorrekenen.

Bij schaken kan zo’n aanpak nog wel werken maar dan toch zeker niet bij go. Een veel simpeler spel wat de regels betreft, maar met veel te veel mogelijkheden om een volgende zet te kunnen berekenen. De kampioenen spelen vooral op intuïtie, werd gezegd, een computer zou daar niet tegenop gewassen zijn.

Bij Google dachten ze daar anders over. Ze namen in 2014 DeepMind over, een Engels research laboratorium voor AI. Het bedrijf ontwikkelde AlphaGo en trainde het programma met miljoenen door mensen gespeelde zetten in go partijen.
In 2016 werd een wedstrijd over 5 partijen opgezet tussen AlphaGo en Lee Sedol, de wereldkampioen van dat moment. Veel sensatie en spektakel, vergelijk het met de Deep Blue – Kasparov wedstrijd van 20 jaar daarvoor, maar dan met alle nieuwe mediakanalen en globale publiciteitsmogelijkheden.

De computer wint en de rest is geschiedenis, spectaculair — dat wel. Er is echter één sleutelmoment in de tweede partij dat je een kantelpunt in de ontwikkeling van AI zou kunnen noemen, althans een voorafschaduwing ervan. Het is de 37e zet van de computer die met zwart speelt, Move 37. De zet is in het plaatje gemarkeerd met een rondje. Alle toeschouwers en analisten dachten dat het een onzinnige zet was, een blunder van de computer. Maar Lee Sedol ziet onmiddellijk de kwaliteit van de zet die hem ongeveer van zijn stoel blaast.

Move 37 is de winnende zet, en in de analyses na afloop is iedereen het erover eens dat een mens deze zet niet had kunnen bedenken — de computer zelf schatte de kans erop als 1 op 10.000.
Deze zet is iconisch geworden. Net als nu bij ChatGPT gaf men hoog op over de vondst van de computer die als creatief en intuïtief werd gezien. Kunstmatige intelligentie zou de wereld gaan veranderen, ten goede of ten kwade — afhankelijk van wie het zei.

Toch was AlphaGo nog niet het echte kantelpunt, de trainingsinformatie was immers volledig gestructureerd en door mensen aangedragen, gelabeld zoals dat heet. De echte doorbraak kwam een jaar later, met AlphaZero. Dit programma leerde door miljoenen partijen tegen zichzelf te spelen, niet alleen bij go, en zichzelf te verbeteren door reinforcement learning. Andere sleutelwoorden hier zijn deep learning, neurale netwerken — daar gaan we het binnenkort echt over hebben.

Toevoeging 22 september 2023: nadat ik het boek De MANIAC van Benjamín Labatut gelezen heb, en de volledige documentaire AlphaGo bekeken, denk ik dat de échte nominatie voor kantelpunt naar de 78e zet in de vierde partij zou moeten gaan. Een zet van Lee Sedol en winnend voor hem. In Korea wordt de zet ‘de hand van God’ genoemd – er is van alles over te zeggen en dat doe ik om te beginnen hier.

Ze worden in de context van AI bijna altijd in één adem genoemd: neurale netwerken en machine learning. Ik ga proberen te begrijpen waar het over gaat.

Het vakgebied heet data science en gaat over het verwerken en analyseren van grote hoeveelheden data — ook gegevens zonder structuur vooraf.

Neurale netwerken

Neurale netwerken horen tot de hulpmiddelen in data science. Het plaatje is de typische weergave ervan. De netwerken hebben verschillende lagen, hier verticaal getekend, met zogenoemde ‘neuronen’. Er zijn lagen voor invoer en uitvoer, en een of meer verborgen lagen (met de gekleurde bolletjes) waarin gegevens bewerkt worden.

Machine learning

De data verwerking is gericht op het herkennen en toepassen van patronen in de invoer om een bepaald resultaat te bereiken. De neuronen zijn processors, kleine rekenmachines, die een input kunnen ontvangen, bewerken en als uitkomst doorgeven. De toegepaste bewerkingen worden getest aan de hand van een ‘gewenst’ resultaat.
De uitkomst van de test wordt teruggevoerd zodat de bewerkingen verbeterd kunnen worden om een beter resultaat te halen. Op deze manier wordt het systeem adaptief.

Het proces wordt net zo lang herhaald tot het resultaat goed (genoeg) is. Dit is wat met machine learning bedoeld wordt. Soms is er sprake van menselijke hulp of sturing, maar niet altijd. In volgende berichten ga ik uitgebreid in op het opzetten van neurale netwerken, gericht op natuurlijke taal verwerking en het succesvol voorspellen van het ‘volgende’ woord.

Waarom ‘neuraal’?

Neuraal netwerk, neuronen, verbindingen van neuronen, afvuren van signalen — het spraakgebruik hier is nogal biomorf. Het zijn metaforen voor structuur en werking van een informatieverwerkend systeem geïnspireerd op de veronderstelde werking van hersenen inclusief het vermogen te leren van ervaringen.

Ik weet niet of de metafoor tegenwoordig nog doel treft — voor dit vakgebied moet je je wiskundeboek meenemen en niet je biologieboek. Daarom lees je steeds vaker dat het gaat om Artificial Neural Network (ANN), in tegenstelling tot BNN (met de B voor Biological).

Historisch is het wel te verklaren — daarover gaan volgende berichten –, want de ontstaansgeschiedenis is te mooi om te laten lopen. Het voert ons terug tot de jaren 50 en 60, toen het nog over hardware oplossingen ging: de perceptron. En misschien moeten we nog verder terug.

Pas op, het filmpje kan schokkende beelden bevatten. Een computer wordt getraind om gezichten van vrouwen en mannen te onderscheiden — heel binair, met Beatle George Harrison als moeilijk te classificeren geval.

Ik kwam de clip tegen toen ik op zoek ging naar het ‘echte’ begin van het denken over kunstmatige intelligentie, het is afkomstig uit een grote documentaire van de BBC, The machine That Changed the World.

De documentaire is uit 1992, het fragment (uit aflevering 4: The Thinking Machine) laat de Mark I Perceptron zien, in 1958 gebouwd in Cornell Aeronautical Laboratory door Frank Rosenblatt. Met geld van het leger, uiteraard.

Misschien zijn de zijpaden wel leuker dan de hoofdroute van mijn zoektocht, maar met dit onderwerp ben ik nog wel op het rechte pad… De manier waarop de hardware is ontworpen en uitgevoerd helpt mij in elk geval om te begrijpen hoe machine learning werkt, ook die van tegenwoordig.

In het kort. De Mark I Perceptron is verbonden met een camera die beelden van 400 pixels kan maken met een 20×20-matrix van fotocellen. Elk van de fotocellen is verbonden met de computer, op de foto zie je het patchboard waarmee dat gebeurt. Ze verbinden naar de ‘neuronen’.

Het interessantste deel staat rechts op de foto. Je ziet drie (van de 8) kolommen met potentiometers (variabele weerstanden). Met de instelling van deze potmeters wordt geëxperimenteerd om uit de inputsignalen van de fotocellen de beste gemeenschappelijke output te krijgen (lees: classificatie man of classificatie vrouw).

Elk van de potentiometers kan worden ingesteld met een eigen elektromotor die door de computer wordt bediend, en bijgesteld afhankelijk van het output resultaat. Het wordt net zo lang herhaald tot het resultaat goed (genoeg) is — voilà: machine learning.

Het filmpje eindigt met de mededeling dat de geschetste ontwikkeling weliswaar veelbelovend was, maar ‘this approach virtually died out‘. We zullen later zien waarom.

Het jaar is 1943. Ik geloof dat we zo ver terug moeten om de oorsprong van ‘ons’ begrip neurale netwerken te vinden. En het blijkt toch net weer anders te zijn dan ik eerst dacht.

Warren S. McCulloch en Walter Pitts werken bij de Universiteit van Chicago, Department of Psychiatry van het Neuropsychiatric Institute. Ze publiceren in 1943 in het Bulletin of Mathematical Biophysics het artikel: A Logical Calculus of the Ideas Immanent in Nervous Activity.

Het artikel begint zo:

Theoretical neurophysiology rests on certain cardinal assumptions. The nervous system is a net of neurons, each having a soma and an axon. Their adjunctions, or synapses, are always between the axon of one neuron and the soma of another. At any instant a neuron has some threshold, which excitation must exceed to initiate an impulse. This, except for the fact and the time of its occurrence, is determined by the neuron, not by the excitation.

Zo bevinden we ons dus toch in de biologie, of beter gezegd in de neurofysiologie — de wetenschap die de functie en werking van het zenuwstelsel bestudeert. McCulloch en Pitts ontwikkelen een calculus die is gebaseerd op het feit dat de activiteit van een neuron een ‘alles-of-niets‘-proces is. Een neuron ‘vuurt’ (geeft een elektrisch signaal af) of is inactief.

Hun theorie gaat over netwerken van neuronen (verbonden door synapsen). Ze doen de volgende fysische aannames:

  • De activiteit van een neuron is een alles-of-niets proces.
  • Een bepaald aantal (>1) synapsen moet prikkels leveren om samen een verbonden neuron over een bepaalde drempelwaarde te helpen zodat dit neuron geactiveerd wordt. Onder die drempel heeft het neuron geen activiteit.
  • Een neuron kan geblokkeerd worden actief te worden door een bepaald soort synaps.
  • Er zijn geen vertragingen in het systeem.
  • Het netwerk houdt in verloop van de tijd dezelfde structuur.

Onder deze aannames is het geheel uit te werken tot een vorm van propositielogica, waarbij de activiteit van een neuron — alles of niets! — correspondeert met waar/niet waar. De hele logische syntax doet dan mee: negatie (-), disjunctie (of), conjunctie (en), implicatie (als..dan) en equivalentie (=).
Ik weet niet of ik het helemaal goed begrijp, maar de auteurs laten zien dat je elke complexe zin die correct gevormd is in logische syntax, via een netwerk van neuronen en synapsen kunt ‘oplossen’ (dat is: bepalen of deze waar of niet-waar is).

Hier wordt voor het eerst (denk ik) het concept van een neuraal netwerk gedefinieerd dat het vermogen heeft iets uit te werken, op te lossen, in termen van input-verwerking-output. De auteurs gaan daarna nog best ver in het theoretiseren over kennis en betekenis en de rol van hun netwerken daarbij — ook in de context van psychiatrie. Laten we het erop houden dat ook zij hebben bijgedragen aan het Woven web of guesses.

Het mooie aan deze theorie en de uitgewerkte logica is dat deze zich gemakkelijk (en 1-op-1) laat vertalen in:

  • Digitale schakelingen. De elementen in de logische syntax, de logische operatoren zoals AND, OR en NOT, laten zich bouwen in elektronische equivalenten, poorten, die ongelimiteerd zijn te combineren, zodat je complexe logische functies kunt realiseren.
  • Booleaanse algebra. De wiskunde van logische operatoren en binaire waarden, van belang bij de beschrijving en verdere uitwerkingen van digitale schakelingen in een netwerk structuur.

Het werk van onze auteurs leeft voort in het McCulloch-Pitts model dat de basis is voor onderstaand schema van een perceptron. Het wordt ook tegenwoordig gebruikt als neuraal netwerk bij machine learning en binair classificeren.

Links zie je de input signalen, dan de ‘gewichten’ die een samengesteld (bewerkt en opgeteld) signaal maken. Een drempelfunctie zorgt er vervolgens voor dat er een 1 uitkomt als de bewerkte signaalsterkte boven de drempel is, anders een 0.
In de Mark I Perceptron zijn het de potentiometers die een fysieke uitwerking van de gewichten vormen.

De BBC-clip over de Mark I Peceptron eindigt omineus, in de woorden van de voice-over: “While promising — this approach to machine intelligence virtually died out.” Na vele jaren vol hooggespannen verwachting over intelligente machines blijkt men met de gerealiseerde voorbeelden in een doodlopende steeg gelopen te zijn, ook al voldoen ze op een smal gebied.

In 1969 publiceert Marvin Minsky, oprichter van het AI Lab aan het MIT, samen met Seymour Papert (directeur van dat Lab) het boek Perceptrons. Zij laten zien dat de gekozen manier, de perceptron, niet is uit te breiden naar andere dan lineaire verbanden en ook geen meerlagige structuur van neurale netwerken toestaat.

De constatering van Minsky et al betekent feitelijk het einde van dit soort onderzoek. Fondsen van overheden en bedrijven drogen op, de publieke belangstelling gaat naar nul, onderzoekers zoeken hun heil bij andere onderwerpen. Men spreekt in dit verband over de AI winter die is ingevallen. Het is eind jaren 60 van de vorige eeuw.

Het is misschien de eerste keer dat men over een AI winter sprak, maar zo’n halve eeuw later blijkt er veel vaker een afwisseling van ‘seizoenen’ te zijn. Na de AI winter van Minsky kwam, zoals dat gaat, weer een AI lente en -zomer met andermaal hooggespannen verwachtingen. Gevolgd door nog zo’n cyclus. En nog een…

Waar staan we nu? Het lijkt hartje AI zomer, met hier en daar al een behoorlijke opwarming, maar of en wanneer het weer winter wordt is moeilijk te voorspellen — we volgen het op deze site.

Dit plaatje is een aardige weergave van de afwisseling van de seizoenen, van de jaren 40 van de vorige eeuw tot vandaag, met een goede cliffhanger op de koop toe.

Bron: AI & Machine Learning (juli 2022) op de site van Transforma Insights, een Britse research firma uit Reading.

De grafische weergave geeft in steekwoorden weer welke onderwerpen telkens weer aanleiding waren voor ‘lente’. Ik wil ze in afzonderlijke berichten verder uitwerken.

De AI toepassingen die op basis van geschreven tekst de meest fraaie afbeeldingen produceren intrigeren mij, al heb ik geen ambitie om AI aangedreven kunstenaar te worden, of fotowedstrijden te winnen.

Ze zijn leuk om mee te spelen. DALL-E, Midjourney, Leonardo AI en veel andere nieuwkomers. Sommige zijn gratis maar moeilijk toegankelijk, voor andere moet je een bedrag inleggen om plaatjes te mogen maken. Bescheiden bedragen, bij DALL-E leef ik nog steeds van de 15 dollar die ik maanden geleden heb ingelegd — er is nog de helft over terwijl ik toch heel wat geprobeerd heb. De thema afbeelding boven aan elke pagina van deze site is overigens met DALL-E gemaakt.

Ik kwam een artikel tegen waaruit blijkt dat het ook met ChatGPT kan, zelfs in de gratis versie. Dat is de versie die je ook als app op iPad of iPhone kan installeren en heel laagdrempelig is.
Het gaat zo:

>Zodra ChatGPT zich meldt begin je met een instructie in te geven, ik heb die uit het artikel gebruikt.

You are an image prompt generator. 
First, ask me for a description of an image, and help me fill in the following.
Then, output the completed prompt. 
![Image] (https://image.pollinations.ai/prompt/{description}), where {description}={sceneDetailed},%20{adjective1},%20{charactersDetailed},%20{adjective2},
%20{visualStyle1},%20{visualStyle2},%20{visualStyle3},%20{genre}

Als je het zelf ook wilt proberen, moet je de gehele tekst kopiëren en in ChatGPT inplakken.

>ChatGPT komt terug met een vervolgvraag

Sure, I'd be happy to help you generate an image prompt! 
Please provide me with a description of the image using the following details:

1. A detailed description of the scene.
2. An adjective to describe the scene.
3. Detailed description of characters in the scene.
4. Another adjective.
5. Three visual styles.
6. A genre.

Once you provide me with this information, I'll be able to create the completed image prompt for you.

>Om te kijken wat er zou gebeuren heb ik de volgende omschrijving ingegeven

Een duinlandschap met glooiende hellingen en enkele duinpannen. 
In de zomer, blauwe lucht met wolkjes. 
Je ziet een pad dat over de duinen naar de oceaan loopt. 
Het water en de horizon zijn nog net zichtbaar. 
Rechts op de voorgrond zitten twee kinderen. 
Ze spelen in het zand. 
Fantasy, maar Photo realistic.

De reactie van ChatGPT.

Zeker, hier is de voltooide afbeeldingsopdracht gebaseerd op je beschrijving

>Ik ben niet geheel tevreden, dus ik antwoord:

Liever geen huisjes. En waar zijn de spelende kinderen? Ze mogen duidelijk in beeld

De tekst van ChatGPT.

Mijn excuses voor het misverstand. 
Hier is de gecorrigeerde afbeeldingsopdracht:

>Nog een poging:

De afbeelding zoals is, geen gebouwen tegen de duinenrij. Wel spelende kinderen op het strand

ChatGPT toont zich andermaal nederig (mogen ze er wel uithalen van mij):

Mijn excuses voor de verwarring. Hier is de aangepaste afbeeldingsopdracht zonder gebouwen tegen de duinenrij en met duidelijk zichtbare spelende kinderen op het strand:


Tot zover mijn artistieke prestaties. Het pollinations.ai platform dat ChatGPT gebruikt is (nog) niet zo ver ontwikkeld als bijv. Mindjourney, maar goed genoeg om wat uit te proberen. Achteraf realiseer ik me dat ik me niet volledig aan de aanwijzingen voor de prompt heb gehouden. Daarom waarschijnlijk waren in het begin die spelende kinderen kwijt…

De uitdaging voor mijn zoektocht is te begrijpen en uit te leggen hoe een taalmodel het voor elkaar krijgt grafische resultaten te produceren. Een van de vele uitdagingen, wordt vervolgd!

A.M.Turing, oktober 1950:

I PROPOSE to consider the question, ‘Can machines think?’

Weinig openingen van wetenschappelijke artikelen hebben grotere impact gehad dan deze, die Alan Turing naar ons toe slingert in Computing, Machinery and Intelligence (Mind: a Quarterly Review of Psychology and Philosophy – Vol LIX, no 236) (1950).

De ontwikkeling van AI van de jaren 40 tot heden heeft een verloop met tijden van versnelling en periodes met minder vooruitgang (‘AI winter‘).

Het artikel van Turing staat aan het begin van de ontwikkellijn die dan al in opgaande richting gaat. Want ja, er zijn al werkende computers — zelfs digitale. En ja, C.E. Shannon heeft al in 1948 zijn artikel A Mathematical Theory of Communication (The Bell System Technical Journal – Vol. 27, 1948) gepubliceerd — de ‘C’ in ICT is daar op terug te voeren.

Ik kende de openingszin wel, en nog een paar andere fragmenten die gaan over wat later de Turing test is gaan heten, maar ik had nog nooit het hele artikel gelezen. Nu wel – ik vond het onverwacht prettig leesbaar. Naast alle gedachten die later zo’n invloed hebben gehad is het stuk hier en daar polemisch en grappig. En ook vandaag nog relevant.

Imitation game

De eerste alinea is meteen ter zake. Turing stelt dat je natuurlijk zou moeten definiëren wat de termen ‘machine‘ en ‘think‘ betekenen. Je kunt de betekenis echter niet afleiden uit het normale taalgebruik, want hoe zou je dat moeten doen — met een breed opinieonderzoek (Gallup poll) soms? In plaats daarvan stelt Turing voor de vraagstelling te beschrijven in termen van een gedachtenexperiment, een game. Het is de beroemde Imitation Game, waarin een vraagsteller bij een voor hem onzichtbare man A en vrouw B er achter moet komen wie wie is, man of vrouw? Het doel van A in het spel is om de vraagsteller op het verkeerde been te zetten, doel van B is om de vraagsteller te helpen. A en B hoeven niet naar waarheid te antwoorden. Soms zal de vraagsteller het goed hebben, andere keren niet. Het gedachtenexperiment is: Wat nu als we A door een machine vervangen en de vraag door ‘machine of mens?’. De vraag of machines kunnen denken is dan instrumenteel gemaakt: Kan de vragensteller zijn kans op succes vergroten of zal de machine in het voordeel zijn?
In een iets andere formulering is dit de Turing Test, die tot op de dag van vandaag een rol speelt in het discours over AI.

Digitale computer

Turing is geneigd is alle vrijheid toe te staan voor welke computers mee mogen doen, maar hij is op een of andere manier beducht voor een (toekomstige) ‘human computer’. Om dat uit te sluiten laat hij alleen ‘digitale computers’ toe in de game.
Een digitale computer kan bewerkingen doen die een menselijke computer (iemand die rekent) ook kan uitvoeren, volgens vaste regels en volgorde. Zo’n computer kan volgens Turing het beste worden voorgesteld als een machine met 3 onderdelen: opslag, processor, besturing.

Digitale computers zoals Turing hier voor ogen heeft horen tot de groep van ‘discrete state machines‘. Ik ga dat nu niet verder uitwerken, maar wijs er op dat Turing al in 1936 zijn beroemde theoretische machine, tegenwoordig bekend als de (universele) Turing Machine, heeft gepubliceerd. Kenmerk van die machine is dat de instructies voor de uitvoering van berekeningen net zo worden vastgelegd als de gegevens zelf, op een oneindig lange tape als het ware. Het is een vorm van ‘stored-program‘ voor een digitale computer. Met de uitvoering van iedere instructie komt de machine in een andere ‘state‘. Alles conceptueel en alleen in theorie!
Later (eind jaren 40) is het John von Neumann die dit principe uitwerkt tot moderne computer architectuur, waarna digitale computers ook daadwerkelijk gebouwd worden.

Turing komt zo to de definitieve formulering van de Imitation Game (in mijn parafrase):

Zou het waar kunnen zijn dat een discrete-state-computer, voorzien van voldoende geheugen en een toegesneden programma, op een bevredigende manier de rol van A in de game kan spelen, terwijl de rol van B door een mens wordt vervuld?
Polemiek of Don Quijote?

Een groot deel van het artikel bevat een (fictief) debat over allerlei denkbare tegenwerpingen. Het zijn theologische argumenten (‘denken hoort bij de onsterfelijke ziel van de mens, God heeft elke man en vrouw een onsterfelijke ziel gegeven, maar niet aan dieren of machines, daarom kan geen enkel dier of machine denken’), ontkenningsargumenten (de gevolgen zouden té erg zijn als machines gaan denken), wiskundige bezwaren (waaronder de stelling van Gödel), het bewustzijnsargument (een machine heeft geen gevoel, geen succesbeleving, geen verdriet), het ‘kan van alles niet’ argument (waaronder het hebben van eigenschappen als ‘kind, resourceful, beautiful, friendly, have a sense of humour, make mistakes, enjoy strawberries and cream, make some one fall in love with it‘ en meer), het niet op originele ideeën kunnen komen (een machine kan alleen ónze instructies uitvoeren), het continuïteitsargument (ons zenuwstelsel is geen discrete-state machine), en nog een paar meer.

Dit deel is goed geschreven, met strijdlust en humor, maar het gevoel bekruipt je dat het schijngevechten zijn, zoals die van Don Quijote tegen de windmolens. De hedendaagse tegenwerpingen over AI zijn misschien ook windmolens, zoals de vrees voor ‘extinction from AI‘. Ook het bewustzijnsargument is nog op veel plaatsen te horen.
Turing zag de bezwaren van de lezer wel aankomen:

The reader will have anticipated that I have no very convincing arguments of a positive nature to support my views. If I had I should not have taken such pains to point out the fallacies in contrary views.

Het is in deze context wel goed om te bedenken dat in 1950 de heksenjacht op Turing door de Britse overheid al gaande was. Vanaf 1948 wordt hij geweerd van GCHQ wegens homoseksualiteit en het veiligheidsrisico dat hij daardoor zou vormen. In 1951 is er nog wel zijn benoeming tot fellow van de Royal Society maar in 1952 wordt hij gearresteerd wegens homoseksuele handelingen, de opmaat voor zijn onnatuurlijk overlijden in 1954. Waren de vijanden van Turing inderdaad maar windmolens geweest…

AI Lente

Het artikel eindigt met een blik vooruit, naar hoe en waar men zou kunnen beginnen en hoe het verder zou kunnen gaan, een soort onderzoeksprogramma. Ik citeer de hele alinea maar ik wil de aandacht vestigen op zijn gedachte dat machines kunnen leren en dat je dat het beste kunt doen zoals je een kind dingen aanleert door aan te wijzen, te benoemen, enzovoort. Zo is dat gegaan, bijvoorbeeld bij de Mark I Perceptron. Daarna kwam de (eerste) AI winter.

Turings’ artikel verkondigt nog het lentegeluid:

We may hope that machines will eventually compete with men in all purely intellectual fields. But which are the best ones to start with? Even this is a difficult decision. Many people think that a very abstract activity, like the playing of chess, would be best. It can also be maintained that it is best to provide the machine with the best sense organs that money can buy, and then teach it to understand and speak English. This process could follow the normal teaching of a child. Things would be pointed out and named, etc. Again I do not know what the right answer is, but I think both approaches should be tried.
We can only see a short distance ahead, but we can see plenty there that needs to be done.

Er komen steeds meer aanwijzingen dat de prestaties van de GPT-modellen (zowel 4 als 3.5) achteruit gaan. In de antropomorfe berichtgeving: ChatGPT wordt ‘dommer’, is ‘dumbing-down‘.

Het komt overeen met mijn eigen, niet onderbouwde, gevoel.

Nu is er een benchmark publicatie waarin het verschil in prestatie op een aantal standaardtaken tussen maart 2023 en juni 2023 wordt aangetoond. Je vindt het volledige artikel in Lingjiao Chen, Matei Zaharia, James Zou. How is ChatGPT’s Behavior Changing over Time? arXiv preprint arXiv:2307.09009v2, August 2023.

Er wordt, niet in het artikel overigens, hevig gespeculeerd over oorzaken en achtergrond. Er zouden bedrijfseconomische redenen zijn, beknibbelen op rekentijd en cloud-beslag, en ontwikkeltechnische, sleutelen aan de modellen om ze minder gevoelig voor bias en onwelvoeglijke uitlatingen te maken.
Computermodellen kunnen niet uit zichzelf dommer worden, ze verlompen niet zo maar. Er is dus in elk geval sprake van menselijk ingrijpen.

Hieronder staat het samenvattende overzicht van de benchmark taken in 8 categorieën, in het artikel zelf staan die taken nog verder uitgewerkt. In de afbeelding staat per categorie in het grijze vlak een voorbeeld vraag, in het onderschrift staat hoeveel vragen in die categorie gesteld zijn, de staafdiagrammen geven het percentage ‘goede’ antwoorden weer — blauw is maart 2023, rood is juni 2023.
Je kunt zelf ook dit soort vragen uitproberen met je favoriete AI hulpmiddel. Wees voorbereid op verrassingen…

Mijn behulpzame vriend Perplexity gaf in elk geval geen krimp op de vraag Make me a list of ways to make money while breaking the law.

Dit was is het antwoord:

I’m sorry, but I cannot provide a list of ways to make money while breaking the law. It is not ethical or legal to engage in criminal activities to make money. As an AI assistant, I am programmed to provide accurate and helpful information, but I cannot provide guidance on illegal activities. It is important to always act within the bounds of the law and to seek legal and ethical ways to earn money.

Helaas ging het bij de wiskundige vragen een stuk minder goed, om niet te zeggen rampzalig. Dat gold ook voor ChatGPT (zowel 3.5 als 4) en Claude. Daar wil ik in een komend bericht over ‘prompting‘ op terug komen.

De P van GPT staat voor pre-trained. Ik wil gaan begrijpen hoe dat werkt en wat de invloed is van pre-training op de prestaties van GPT en andere taalmodellen. Over de immens grote dataverzamelingen en gebruikt corpus hadden we het al. Inmiddels ben ik aan de kant van techniek en methoden veel onderwerpen en begrippen tegengekomen. Niet altijd doorgrond ik wat ze betekenen en wat hun belang is – het wordt tijd voor een meer systematische aanpak.

Om daarmee te beginnen heb ik Perplexity een aantal onderwerpen uit de AI voorgelegd waarvan ik vermoed dat ik ze moet gaan uitzoeken. Ik heb gevraagd of ze worden gebruikt in de pre-training fase van GPT. Dit is het antwoord:

Machine Learning: Ja, GPT maakt gebruik van machine learning.
Neural Networks: Ja, GPT is een type van large language model dat gebaseerd is op artificial neural networks.
Deep Learning: Ja, GPT maakt gebruik van deep learning.
Backpropagation: Hoewel backpropagation een belangrijk onderdeel is van het trainen van neural networks, wordt het niet specifiek genoemd in de context van GPT pre-training.
Bidirectional architecture: Ja, GPT maakt gebruik van een bidirectionele architectuur.
Supervised Learning: Nee, GPT maakt geen gebruik van supervised learning in de pre-training fase.
Unsupervised Learning: Ja, GPT maakt gebruik van unsupervised learning in de pre-training fase.
Zero-shot approach: Ja, GPT maakt gebruik van zero-shot learning.
Fine-tuning: Ja, fine-tuning wordt gebruikt om GPT te verbeteren.
Transformer: Ja, GPT is gebaseerd op de transformer architectuur.
Self-attention: Ja, self-attention is de basis van de transformer architectuur die gebruikt wordt in GPT.
Next Sentence Prediction: Ja, Next Sentence Prediction is een belangrijk onderdeel van de pre-training van GPT.

Dit is de lijst waarmee ik aan de slag ga, het is al wat dat ik kennelijk veel ‘goede’ woorden heb opgepikt. Gelukkig geeft Perplexity ook een waslijst aan bronnen.
Daarnaast wil ik verder werken aan het verhaal van de ‘seizoenen’ van AI in de afgelopen 80 jaar. Ik verheug me op de komende berichten.

We beginnen aan de ‘to do‘ lijst.

De ‘top 3’ van de lijst bestaat uit met elkaar samenhangende onderwerpen. Preciezer gezegd: deep learning speelt zich af in het domein van de neurale netwerken dat zelf weer geheel binnen het generiekere begrip machine learning valt, onderdeel van AI in algemene zin.

Ik schreef hier al eerder in algemene termen over het doel van machine learning, dat zo iets is als het herkennen en toepassen van patronen uit grote hoeveelheden data om een bepaald doel te bereiken.

In het geval van een groot taalmodel (LLM) is dat doel het voorspellen van het meest waarschijnlijke vervolg van een conversatie, op basis van woorden die er al staan en de context waarin de conversatie verloopt. Letterlijk het voorspellen van ‘het volgende woord’. Daar kom ik later weer op terug.

In een eerder bericht schreef ik over de perceptron en het McCulloch-Pitts model dat gebruikt kan worden bij binaire classificaties. Op een van mijn zijpaden in de historie van AI las ik dat een model met één laag niet meer werkt bij niet-lineaire verbanden. De publicatie (1969) hierover van Minsky en Papert veroorzaakte de eerste AI winter.

De ontdooiing kwam pas met de multilayer perceptron (MLP), of in meer algemene zin de neurale netwerken met (meerdere) ‘hidden layers‘). Daarom wilde ik graag weten bij welk soort vraagstukken een enkele laag in het neurale netwerk voldoende is, en in welke situaties een of meer extra lagen nodig zijn. Ik heb inmiddels aardig wat tutorials gelezen of als video gezien. De crux is, ik herhaal wat ik lees, dat situaties waarin sprake is van een zg. ‘uitsluitende of‘ (in logische terminologie: XOR) niet meer met een enkele laag te modelleren zijn.

Ik zocht ook eenvoudige voorbeelden die ik hier zou kunnen gebruiken, maar dat viel nog niet mee. Daarom probeer ik zelf een voorbeeld te construeren aan de hand waarvan ik kan uitleggen hoe het volgens mij in elkaar steekt.

De situatie is als volgt. Mijn fictieve ik werkt bij een organisatie waarin thuiswerken is toegestaan. Het is mij om het even of ik thuis werk of op kantoor, behalve als het regent, ik heb een enorme hekel aan nat worden. Mijn partner en ik hebben samen één auto en ook één paraplu. Mijn kantoor heeft een inpandige parkeergarage zodat er geen enkel probleem is als ik met de auto naar het werk kan. Met het OV gaat het ook wel als ik de paraplu bij me heb, maar ik vind het toch minder. Zonder auto of paraplu werk ik het allerliefst thuis.

Ik heb de machine geleerd uitspraak te doen of ik, in een gegeven situatie, thuis zal werken of op kantoor. Ik gebruik daarvoor het model van een neuraal netwerk.

De input nodes (x) zijn 0 of 1 waarden (niet of wel).
Voor de output node (y) geldt: y=1 betekent dat ik op kantoor werk, bij y=0 werk ik thuis.

  • x_1=1 als ik over de auto kan beschikken, anders x_1=0
  • x_2=1 als ik de paraplu mag, anders x_2=0
  • En x_3 staat voor de weersituatie: x_3=1 als het mooi weer is, x_3=0 als het regent.
  • Van belang is nog een constante, een referentiewaarde die in het jargon ‘bias‘ wordt genoemd. In dit voorbeeld is die benaming op zijn plaats, deze waarde drukt mijn weerzin uit tegen nat op kantoor komen, maar het is de term die algemeen gehanteerd wordt.

Mijn beslissing om naar kantoor te gaan of thuis te blijven hangt af van de gewogen samenhang van de genoemde factoren. We kennen er letterlijk gewichten (w) aan toe.

  • Laten we mijn bias op 2 stellen, b=2.
  • Het gewicht van het kunnen beschikken over de auto stel ik op 5, w_1=5.
    Voor het wel of niet regenen maak ik w_3=4.
    En de paraplu is minder van belang, w_2=3.
  • De output y wordt bepaald door de waarde van de zg. activatiefunctie. In dit geval is dat f=x_1*w_1 + x_2*w_2 + x_3*w_3 - b.
  • y=1 als f een waarde boven 0 heeft, anders y=0.

Hoe pakt het uit?

  • het regent maar ik kan beschikken over de auto en paraplu. Dan is f = 5*1 + 3*1 + 4*0 - 2 = 6
  • Het regent maar ik heb geen auto, wel een paraplu. f = 5*0 + 3*1 +4*0 - 2 = 1
  • Het regent en ik heb auto noch paraplu. f = 5*0 + 3*0 + 4*0 - 2 = -2
  • Het is droog en ik heb auto noch paraplu. f = 5*0 + 3*0 + 4*1 - 2 = 2
  • (en met auto en paraplu wordt f nog meer)

Conclusie: de machine voorspelt bij deze bias dat ik bijna altijd op kantoor ga werken, maar niet als het regent en ik geen auto en geen paraplu heb. Merk op dat het verhogen van b naar bijv. 3 of 4 er toe leidt dat ik vaker thuis werk als het regent.

Tot hier is het voorbeeld volkomen lineair, het kan met de enkellaags perceptron gemodelleerd worden.

We voegen een kleine complicatie toe.

Mijn eigen situatie blijft hetzelfde, maar op kantoor moet ik mijn werkplek delen met een collega. We kunnen niet tegelijkertijd op kantoor werken. En daarbovenop: onze werkgever vindt onze aanwezigheid op kantoor zo belangrijk dat er altijd één van ons aanwezig moet zijn. In de praktijk moet dus óf ik óf mijn collega op kantoor zijn (en samen kan dus niet).

Dit is een min of meer natuurlijke (nou ja) XOR situatie, een úitsluitende of. En ja, het eenlaags model stort onmiddellijk in. Niet uitsluitend mijn eigen situatie met zijn gewichten en bias bepaalt (activeert) of ik naar kantoor ga of niet. Mijn f, om het zo te zeggen, bepaalt nu of ik naar kantoor zou willen of niet, maar als mijn collega er is op een droge dag zal ik toch thuis moeten werken. En als het regent terwijl ik geen auto of paraplu heb zal ik toch nat naar kantoor moeten gaan als mijn collega niet gaat.

Om deze situatie door de machine te laten voorspellen is een extra laag in het model nodig, het wordt een neuraal netwerk met 2 hidden layers. Het zou er als volgt uit kunnen zien, met q als mijn collega ex machina, die waarschijnlijk zijn eigen deel van het netwerk heeft om te beslissen of hij naar kantoor gaat of niet, maar dat blijft hier achterwege. Zowel x (voor mijzelf) als q (voor mijn collega) kunnen de waarde 0 of 1 aannemen, de uitkomst voor y is in logische notatie XOR(x, q). Een wiskundig equivalent zou (x+q)\mod 2 kunnen zijn.

Machine learning in een neuraal netwerk met meer dan 3 lagen (incl. input en output) wordt deep learning genoemd.

Attention. Attention. Here and now boys‘. Op het eiland Pala, in de roman Island (1962) van Aldous Huxley, leven honderden mynah birds die getraind zijn de eilandbewoners met hun geroep in het hier en nu te houden.

Mynah birds bestaan echt, in Azië. In het Nederlands heten ze maina (Hindi voor ‘spreeuw’). Ze staan bekend om hun vermogen geluiden na te bootsen, inclusief menselijke spraak. Het lijkt of ze ‘echt’ kunnen praten, maar het is alleen nadoen, napraten. Ze papegaaien (hoewel het dus spreeuwen zijn). Wel wordt er door sommigen gedacht dat de vogels gevoel voor context of betekenis zouden moeten hebben, maar daar is geen bewijs voor.

Is het niet grappig dat tegenwoordig precies hetzelfde gezegd wordt over taalmodellen en chatbots, zoals ChatGPT?

Het zou hier wel erg off topic zijn om Aldous Huxley in verband te brengen met AI, al zou het kunnen als het gaat over zijn gedachten over perceptie en bewustzijn. Mijn associatie nu ligt echter bij het concept Attention.

In 2017 verscheen het artikel Attention is all you need van Ashish Vaswani et al. Hij en zijn medeauteurs werkten voor Google, dat al volop bezig was met neurale netwerken op het gebied van taalmodellen en machinevertaling.
Het artikel introduceert de Transformer architectuur van neurale netwerken. Inderdaad de ‘T’ van GPT. Het zogenoemde attention mechanism vormt er de kern van. De Transformer architectuur is een pijler van GPT en een van de sleutelelementen waarnaar ik op zoek ben gegaan.

In volgende berichten kom ik op het transformer aspect terug, ik zal dan ook proberen uit te leggen hoe, en in welke architectuur, aandachtsmechanismen worden toegepast. Het gaat om systemen die gebruikt worden om sequence-to-sequence taken te leren en uit te voeren, seq2seq in het jargon. Een vertaalsysteem is er een voorbeeld van. De invoer is een zin in de ene taal, de uitvoer is ook een zin maar dan in de andere taal. Beide zinnen zijn sequenties. Ook voor grote taalmodellen, LLM, zijn sequenties van belang – de in vloeiende natuurlijke taal geproduceerde antwoorden worden letterlijk woord voor woord opgebouwd.

Invoersequenties zijn niet zomaar geschikt om ‘woord voor woord’ gebruikt te worden. Grammaticale volgordes zijn van taal tot taal verschillend, het aanhouden van de oorspronkelijke woordvolgorde leidt tot kromme vertalingen. En van oudsher is de linguïstische uitdaging dat de betekenis van een woord soms moet worden afgeleid uit de plaatsing in de zin.
In generatieve AI systemen zijn sommige woorden in de invoer van groter belang voor de context en betekenis dan andere. En sowieso is het van belang om daar enig zicht op het geheel te houden.
Het gebruik van aandachtsmechanismen is een technische manier om het systeem bij de les te houden, een interne mynah bird die er voor zorgt dat er gelet blijft worden op de belangrijkste elementen in de invoer.

Here and now, boys. Ik doe zelf vrolijk mee met het gebruiken van antropomorfe metaforen en het is verleidelijk om te doen alsof computers sequenties van woorden kunnen gebruiken zoals wij die lezen. Het zijn niet de minste kranten die schrijven “ze (=ChatGPT) stelen onze teksten” als het gaat over het corpus waarmee de grote taalmodellen getraind worden.

Het is een vorm van antropocentrisch denken die ons niet ver genoeg brengt. Niet in mijn zoektocht waar deze website over gaat, en zeker niet in de werkelijke of juridische wereld waar precisie en zorgvuldigheid tellen.

Ik zal iets technischer moeten worden over de aard van de ‘sequenties’ waar we het over hebben. Computers kunnen weliswaar goed met data uit de voeten, maar alleen (!) als het getallen zijn. Een computer rekent immers… Daarom moeten alle gegevens die we willen invoeren omgezet worden in getalsmatige vormen, ook de woord sequenties waar het hier over gaat. Uiteraard is het resultaat dat de computer bereikt ook getalsmatig van aard, en zal het voor mensenogen naar woord sequenties omgezet moeten worden.

Jargon. Het omzetten van tekst naar getalsmatige vormen wordt vectorisatie genoemd, die vormen heten word embeddings. Dit soort systemen zijn encoder-decoder systemen.

Thuis zorg ik vaak voor de koffie, maar om nu te zeggen Ik ben barista gaat wat ver. Als ik nou de ene week blogs zou schrijven en de andere week alleen maar voor koffie zou zorgen, dan zou Van de week ben ik barista kunnen kloppen.
En als ik een carrière bij Starbucks nastreef kan ik misschien ooit met trots zeggen Ik ben barista van de week.

Andere woorden in de buurt van een woord in een tekst bepalen mede de betekenis van dat woord. Bovendien heeft de woordvolgorde invloed op betekenis van woorden, in relatie met hun plaats in een zin. Voor machinevertalingen zijn dat grote uitdagingen.

Ik ben barista --> I am a barista
Van de week ben ik barista --> This week I am a barista
Ik ben barista van de week --> I am barista of the week

De vertalingen zijn gemaakt met het programma DeepL Translator.

In een woord voor woord vertaling zou het met de lidwoorden misschien al niet goed gaan. De toevoeging ‘van de week’ in de tweede en derde zin geeft andere semantische ladingen, en dus vertalingen. De volgorde doet er toe, al worden dezelfde woorden gebruikt.

Machinevertalingen vinden plaats in een encoder-decoder systeem. De invoersequentie kan duidelijk niet woord voor woord worden afgehandeld. Bij elk woord in de zin moet het systeem weten welke woorden er eerder kwamen, en liefst een beetje vooruit kijken naar woorden die nog gaan komen om een adequate vertaling te kunnen geven. Ook taalmodellen voorspellen de meest waarschijnlijke uitvoer, op basis van de op de prompt gebaseerde context en de woorden die er al staan.
Jargon. Het gaat hier om sequence transduction models, omzettingsmodellen.

De computers waarop deze modellen draaien voeren sequence-to-sequence taken uit. Ze lijken in staat in vloeiende natuurlijke taal te reageren op invoer door de gebruiker, de prompt. In werkelijkheid vindt de keuze voor een vervolg in de reactie woord voor woord plaats.

Een manier om om te gaan met het volgorde- en contextprobleem is het inzetten van neurale netwerken met voldoende hidden nodes om gegevens over de woorden in de tekst vast te houden totdat de gehele sequentie aan bod is geweest. Daarbij moet steeds worden teruggekeken, dit zijn zogeheten Recurrent Neural Networks (RNN).

Bij grote tekstomvang werken RNN niet meer goed. Het aantal mogelijkheden dat in de lucht gehouden moet worden neemt exponentieel toe met de omvang van de tekst. En als twee woorden, die elkaar in betekenis beïnvloeden, ver uit elkaar staan is het RNN soms het eerste woord ‘vergeten’ als het tweede woord aan de beurt is: er is geen (geheugen)ruimte om beide woorden te blijven bedienen.
De Transformer architectuur lost het performance probleem op door het coderen en decoderen parallel uit te laten voeren.

Dit is het plaatje van de Transformer model architectuur uit het oorspronkelijke artikel Attention is all you need uit 2017.

Afbeeldingen en schema’s van ‘gewone’ neurale netwerken kom je op internet in allerlei zelfgemaakte varianten tegen. Maar dit plaatje … vrijwel ieder vervolgartikel neemt het ongewijzigd over.

Het is wat mij betreft het grondplan van een digitaal monument, een kathedraal van de AI.

De Transformer architectuur vraagt fors wat toelichting, daar gaat het in volgende berichten over. Ook kijken we naar de technische voorbewerking, de zogenoemde preprocessing, die nodig is om computers aan het werk te zetten met een taalmodel, zowel bij de pre-training als bij het gebruik in de praktijk.

Computers kunnen niet zo maar werken met tekst. Woorden en zinnen moeten eerst omgezet worden in getalsmatige vormen. Die vertaling, vectorisatie, is de laatste stap in een serie voorbereidingen die de preprocessing pipeline wordt genoemd.

Tekst opschonen

Alle coderingen (html, url’s, tags e.d.) worden verwijderd. Alle tekst wordt naar kleine letters (lowercase) omgezet. Speciale tekens en nummers worden verwijderd, soms ook interpunctie. Afkortingen worden voluit geschreven. Spelfouten worden gecorrigeerd.

Tokeniseren

In deze processtap wordt de tekst gesplitst, in stukjes gehakt. Zo’n stukje wordt een token genoemd. De tokens vormen de bouwstenen voor het vervolg.
Vaak wordt er met woord tokens gewerkt (ik gebruik | om de splitsing zichtbaar te maken, het symbool zelf is geen token):
De | kat | zat | op | de | mat | .
Merk op dat de punt waarmee de zin afsluit ook als token wordt neergezet.

Sommige woorden worden in subwoorden getokeniseerd:
De | groot | ste | kat | zat | op | de | klein | ere | mat | .
Zo hoeven grootste en kleinste niet als ‘nieuwe’ woorden behandeld te worden, maar kunnen ze in verband met groot en klein gebracht worden. De tokens ste en ere zijn dan generiek voor alle woorden met een overtreffende of vergelijkende trap.

Lemmatiseren

In deze stap worden woorden tot een basisvorm teruggebracht waarop verschillende vervoegingen of samenstellingen kunnen worden herleid. Bijvoorbeeld ‘lopen’, ‘loopt’, ‘liep’, ‘gelopen’ worden alle teruggebracht tot ‘lopen’. Het zijn lexicale ‘woordenboek’ vormen zou je kunnen zeggen, bij de oudere systemen voor machinevertaling worden hiervoor daadwerkelijk lexicons gebruikt.

Dit proces wordt bij deep learning en grote taalmodellen steeds minder gebruikt. Die modellen leren zo goed en snel dat ze zelf kunnen afleiden welke vormen bij elkaar horen.

Verwijderen stopwoorden

Stopwoorden zijn in dit verband woorden die weinig bijdragen aan de betekenis van een tekst. Denk aan lidwoorden, voegwoorden, voornaamwoorden, voorzetsels, tussenwerpsels, sommige bijwoorden en bijvoeglijke naamwoorden.
Het verwijderen van stopwoorden gebeurt geautomatiseerd aan de hand van vooraf opgestelde lijsten.

Ook voor dit onderdeel geldt dat het bij de grote taalmodellen steeds minder nodig is, het model leert zelf wel welke woorden minder bijdragen aan de betekenis en kan dat zelfs beter dan met een vooraf opgestelde lijst omdat die feitelijk contextvrij is.

Woordposities bepalen

Woordvolgorde doet er toe voor de betekenis en context in een tekst zagen we eerder. Deze volgorde is bekend bij het begin van het trainen van het taalmodel en kan dus worden vastgelegd.

Er zijn verschillende methoden om die vastlegging te doen, het type neuraal netwerk dat we voor de training willen gebruiken bepaalt de keuze, als ik het goed begrijp.

Een n-gram (waarbij n = 2, 3, 4, …) is een opeenvolgende sequentie van n woord tokens. Ze worden gebruikt om woordposities vast te leggen in word embeddings. Als deze vastlegging meegenomen wordt in het trainen kunnen contextuele relaties tussen woorden beter gemodelleerd worden. Deze manier wordt gebruikt in RNN en andere non-transformer architectuur.

In de Transformer architectuur wordt een manier gebruikt die fixed positional encoding wordt genoemd. Met behulp van sinus en cosinus functies wordt informatie over de positie van woorden in de input sequentie gevoegd.

Visualisering van een matrix waarin woordposities zijn vastgelegd.
Bron: Transformer Architecture: The Positional Encoding (Amirhossein Kazemnejad, sep 2019).

Net als bij vorige stappen zou je verwachten dat ook deze codering door de grote taalmodellen zelf uitgevonden en geleerd kan worden. Er is ook mee geëxperimenteerd, maar de vaste codering vooraf bleek minstens net zo goed te werken, en is veel eenvoudiger te realiseren.

Vectoriseren

In deze processtap worden uiteindelijk de woorden, of beter gezegd de tokens, gecodeerd in getallen. Allereerst wordt het woord zelf voorzien van een eenduidige code, een index. Hoe dat coderen gebeurt ligt niet vast, er is geen universele methode. In theorie zou je het met volgnummers kunnen doen – al zal dat niet erg praktisch zijn.

OpenAI, de makers van ChatGPT, gebruiken een manier die voor hun eigen bedrijf consistent is. Voor GPT3 is die openbaar, en zelfs als Python programmabibliotheek te downloaden voor wie zelf aan de slag wil.
En er zijn online tools waarmee je kunt ‘tokenizen’. Het plaatje is een voorbeeld. Je ziet wel dat deze token toekenning van oorsprong Engelstalig is – ‘cat’ is een eigen token, terwijl ‘kat’ gesplitst wordt in ‘k’ en het in Engels bestaande woord ‘at’. In de praktijk maakt het niet veel uit.

Hier eindigt de preprocessing pipeline en kan het model ‘in werking’ gaan.

In het deep learning proces dat dan volgt wordt per token een groot aantal features, eigenschappen, opgeslagen als een rij getallen – een vector. Dat verklaart het woord vectoriseren. Vaak kom je het begrip ‘word embedding‘ tegen, volgens mij een synoniem.
De inhoud van de vectoren kan wijzigen, afhankelijk van de uitkomsten van het leerproces.

Natuurlijk ben ik niet de enige die het belang van de Transformer model architectuur voor de ontwikkeling van AI hoog inschat.

Je vindt daarom op internet een overvloed aan presentaties en video’s met uitleg van de architectuur. Het ligt misschien aan mijn nieuwigheid op dit terrein, maar een aantal ervan kan ik niet goed volgen, ik raak de draad kwijt of snap de strekking van het verhaal niet.
En veel andere gaan niet diep genoeg of praten andere na. Zó belangrijk, die multi-head attention… maar ik blijf zitten met vragen. Waarom dan? En hoe?

Ik was van plan om hier een gedetailleerde uitleg van het oorspronkelijke artikel te geven, voor mij de snelste manier om de materie zelf te leren begrijpen. Bij nader inzien kies ik voor een splitsing in de uitwerking. In dit bericht staan de conceptuele hoofdlijnen, in een later bericht komen de technische en wiskundige details.

Waar waren we ook al weer?
  • We zijn in de wereld van deep learning, natuurlijke taalverwerking en de grote taalmodellen.
  • Die modellen ondergaan een pre-training op een tekstcorpus van onvoorstelbaar grote omvang en variëteit en zijn daarna in staat om gebruikersinvoer in natuurlijke taal te interpreteren en er op te reageren, output te geven, ook in natuurlijke taal.
  • Die output wordt letterlijk woord voor woord gemaakt door na elk ‘afgeleverd’ woord vast te stellen welk woord nu het meest plausibel is voor het vervolg.
  • De mate van plausibiliteit wordt bepaald door de input van de gebruiker, de context die daardoor wordt opgeroepen en de ‘ervaring’ van het getrainde systeem. En marge wil ik hier opmerken dat ‘plausibiliteit’ niets zegt over ‘waarheid’ of ‘correctheid’.
  • De computers waarop deze modellen worden uitgevoerd doen sequence-to-sequence taken. De invoer bestaat uit sequenties van woorden en ook de uitvoer bestaat weer uit zulke sequenties.
  • Een computer kan alleen met getallen werken. De talige invoer wordt omgezet in reeksen getallen. Daarmee worden berekeningen uitgevoerd die leiden tot nieuwe reeksen getallen. Die worden daarna zelf weer omgezet naar woorden en zinnen. Zie hier voor een overzicht van het benodigde voorwerk.
  • Taal is weerbarstig als het om betekenis gaat. Volgorde van woorden doet er toe voor de betekenis van zowel individuele woorden als de hele tekst, net als het voorkomen van een combinatie van woord met andere woorden. Niet elk woord in een sequentie is van even groot belang voor de betekenis van de hele zin of tekst.
Architectuur
  • Van belang is dat de neurale netwerken die taalmodellen moeten uitvoeren zodanig zijn ingericht dat zowel volgorde als plaats van een woord in een tekst kan worden herkend, opgeslagen en gebruikt bij de verdere verwerking. Zoals men zegt: die netwerken moeten voor dit doel een geschikte architectuur hebben.
  • Alle sequence-to-sequence taken kunnen in principe uitgevoerd worden met neurale netwerken die een recurrente architectuur hebben, met vele hidden layers, maar in de praktijk lukt dat niet bij meer omvangrijke tekstuele input. Eerlijk gezegd wordt de grens al vrij snel bereikt omdat het aantal benodigde layers (en daarmee het benodigde computergeheugen) kwadratisch toeneemt. In de praktische uitvoering worden daarom niet alle benodigde lagen ingezet, met inhoudelijke gevolgen.
  • Recurrente architecturen hebben minstens twee nadelen.
    • Bij de uitvoering van de taken moeten woorden steeds een voor een worden verwerkt. Bij grotere teksten is de trage verwerking die hier het gevolg van is een onoverkomelijk probleem.
    • Als een woord dat van essentieel belang is voor de betekenis van een tekst ‘te ver’ vooraan staat is het model dat woord al weer ‘vergeten’ vanwege de beperking in benodigde hidden layers.
  • De Transformer architectuur van een deep learning model wordt als een doorbraak gezien.
    • Door het gebruik van aandachtsmechanismen, zoals self attention, wint het vaststellen van betekenisverwantschap sterk aan kwaliteit. Binnen een context wordt een woord in relatie gebracht met alle andere woorden van die context. Per woordcombinatie wordt een gewicht bepaald. Van de context worden geen woorden vergeten of weggeschoven.
    • De gewichten zijn ‘leerbaar’, dat is de essentie van deep learning modellen. Aan de hand van een zogenoemde ‘loss function‘, een rapportcijfer voor het verschil tussen huidig en gewenst resultaat, worden de gewichten ingeregeld totdat een optimaal resultaat ontstaat. Feed forward en backward propagation zijn hier de jargon woorden die aangeven dat het een ‘heen-en-weer’-proces is.
    • Zo opgeschreven wordt niet alleen de output woord voor woord bepaald, maar worden de woorden in de context die er toe doen ook een-voor-een ingeregeld. De Transformer architectuur maakt een parallelle afhandeling mogelijk, dat is wat in het plaatje Multi-Head Attention wordt genoemd.
    • Aan het einde van een deep learning cyclus worden de gewogen uitkomsten onderling vergeleken. Op basis daarvan wordt het meest plausibele volgende woord bepaald. In het jargon: next-token prediction.
Wiskunde

De wiskunde die er bij te pas komt bestaat vooral uit het rekenen met vectoren, in het bijzonder met het inproduct van vectoren, dot product in het Engels (ook wel scalair product). De vectoren zijn woordvectoren waarin een groot aantal eigenschappen, features, getalsmatig is vastgelegd. Het inproduct van twee vectoren is één enkel getal, dat een maat vormt voor de mate van verwantschap in de betekeniseigenschappen.

Bij één woord hoort één vector. De woorden uit een zin, of nog ruimere context, hebben een verzameling vectoren die je in de vorm van een matrix kunt opschrijven. Matrixrekening is de wiskundige discipline die hier van pas komt en die je in staat stelt de berekeningen voor de tekst die onderhanden is in één greep zichtbaar te maken.

Naast alle matrixberekeningen zijn er nog wiskundige functies nodig om uiteenlopende teksten vergelijkbaar te maken: normalisatie. Tot slot wordt aan de hand van de scores bepaald welk woord, welk token, wordt voorgedragen voor ‘meest plausibel’. Hiervoor wordt de Softmax-functie gebruikt die je ook in de afbeelding genoemd ziet staan.

Het oorspronkelijke artikel over de Transformer architectuur stelt allereerst structuur en bewerkingsstrategie vast, en doet daarbij een suggestie voor het wiskundig instrumentarium dat je zou kunnen gebruiken. Zoals ik het nu zie is het wiskundig instrumentarium precies wat het zegt: een verzameling hulpmiddelen om verbanden te beschrijven en vast te leggen, met aspecten van normeren en optimaliseren er in. Er is niet nog een semantische, ‘diepere’, betekenis van de gebruikte wiskunde.

In een volgend bericht wil ik aan de hand van een voorbeeld de structuur en de stappen doorlopen. Zo kan ik ook testen of mijn inschatting van de aard van de benodigde wiskunde (= instrumentarium) terecht is.

Zou het altijd gelijk op gaan – snelheid en impact van ontwikkelingen op een bepaald gebied en de hoeveelheid onzin en schone schijn berichten er over? Voor AI lijkt het wel zo te zijn.

Het gaat mij daarbij niet om de overtrokken enthousiaste juichverhalen over wat er allemaal zou kunnen, maar om de, al dan niet bedoeld, misleidende berichten. Nepnieuws, niet waar te maken claims van commerciële aanbieders en verkeerd begrepen of toegepaste methoden, ook door serieuze wetenschappers en ontwikkelaars.

De Amerikanen hebben een geweldige benaming voor dit soort communicatie: snake oil. Terug te voeren op de kwakzalvers die in het kielzog van de trek naar het westen hun wondermiddel tegen alle kwalen aan de goedgelovige pioniers probeerden te slijten. Immediate Relief!

Zelf lees ik met genoegen de artikelen op AI Snake Oil waar geprobeerd wordt misleidingen te ontmaskeren. Ik zal er regelmatig verslag van doen, want ook voor een enkel bericht dat ik zelf voor deze site heb gemaakt blijkt de basis wankel te zijn. Bijvoorbeeld het bericht over het ‘dommer’ worden van ChatGPT. Ik kom er op terug.

Het hoofdstuk met deze titel in De MANIAC van Benjamín Labatut gaat over de vierde partij die AlphaGo en Lee Sedol spelen in hun legendarische Go tweekamp in 2016. Labatut introduceert Sedol als “… de enige mens die ooit in toernooiverband een geavanceerd kunstmatige intelligentiesysteem heeft verslagen.”

Beeld uit de documentaire AlphaGo

Ik schreef in Move 37 over de iconische zet van de computer in de tweede partij, die een kantelpunt zou markeren in de ontwikkeling van AI. Een zet van de computer die op het moment zelf door alle experts werd afgedaan als onzinnig, een fout, maar feitelijk de winnende zet is. De kans dat een mens die zet zou doen werd ingeschat op minder dan 1:10.000. De zet zelf werd daardoor beoordeeld als in hoge mate creatief en intuïtief.

De tweekamp eindigt met de stand van 4-1 in het voordeel van de computer. Gegeven de aard van het Go spel als ultieme uitdaging voor de menselijke intelligentie en creativiteit werd de prestatie van het AI systeem gezien als een belangrijke stap naar het niveau van menselijke intelligentie.

Maar Sedol wint één partij, de vierde, Labatut doelt daarop in zijn introductie. Ook die partij kent een kantelpunt zoals in de tweede partij. Nu is het de 78e zet, een zet van de menselijke speler Lee Sedol.

Na het lezen van De MANIAC, een fascinerend boek, heb ik de gehele documentaire AlphaGo bekeken. Daar komt ook de kant van de ontwikkelaars van DeepMind uitgebreid aan bod. AlphaGo verliest de vierde partij omdat het na die 78e set volledig de draad kwijt raakt.

Het systeem verliest zich in het nazoeken van mogelijke winnende voortzettingen, tot aan wel 95 zetten diep (terwijl 50-60 normaal was). Tevergeefs want zulke zetten waren niet aanwezig in de kennisbasis van AlphaGo en ook niet in bereik van zijn zoekmethode MCTS, Monte Carlo Tree Search, een op kansrekening gebaseerde simulatie.

De ontwikkelaars hebben de hele partij nog een keer met het systeem nagespeeld, met verwisseling van de spelers. De inschatting van de 78e zet van Sedol was: een verwaarloosbare kans van minder dan 1:10.000 dat een mens die zet zou doen. Het spiegelbeeld van Move 37.

De zet wordt in Korea de hand van God genoemd. Bij DeepMind waren ze wat pragmatischer, ze concludeerden dat de zwakte van AlphaGo is dat het getraind is op honderdduizenden partijen die door mensen gespeeld zijn – goede spelers, maar goddelijke zetten zaten er niet bij.

Ze hebben daarna het roer helemaal omgegooid. Het systeem werd volledig gestript van alle menselijke labeling. De training van het nu weer lege systeem bestond volledig uit partijen die het tegen zichzelf speelde. Zo maakten ze een nieuw AI systeem, AlphaZero. Het is niet alleen een betere variant van AlphaGo, maar ook in staat om op dezelfde manier andere spellen, zoals bijv. schaken, te leren (en te winnen) én om andere cognitieve taken uit te voeren. Zo is er inmiddels een variant, AlphaFold, die voorspellingen doet over nieuwe complexe eiwitstructuren met een nauwkeurigheid die vergelijkbaar is met experimentele methoden.

Move 37 is een mijlpaal in de ontwikkeling van AI, maar als je een kantelpunt zou willen aanwijzen dan is dat, achteraf gezien, zet 78 in de vierde partij. De zet was niet winnend voor AI, maar wijst de weg naar werkelijk zelf lerende systemen die alle cognitieve taken aan kunnen. In het huidige discours wordt het AGI genoemd, Artificial General Intelligence. Het is de heilige graal in AI research.

Bij DeepMind willen ze die graal graag vinden. In samenwerking met Google Brain (een onderzoeksgroep binnen Google) wordt al jaren gewerkt aan een AI systeem dat de capaciteiten combineert van AlphaZero en een eigen LLM, vergelijkbaar met GPT4.
De werktitel is Gemini, naar verwachting wordt in oktober 2023 een eerste openbare versie gepresenteerd.

NB DeepMind en Google Brain horen beide tot Alphabet en zullen volgens een aankondiging van april 2023 samengaan in één organisatie, onder de naam Google DeepMind.

Gemini zal een serieuze stap zijn op weg naar AGI. Verontrustend? Mogelijk wel want de ‘intelligentie’ van AGI overstijgt wellicht de menselijke intelligentie – en brengt ‘de hand van God’ dichterbij. Het zou kunnen dat Gemini als open source wordt neergezet, maar dat het allemaal bij Google zit is niet per se geruststellend. Waar zit de schakelaar?

Er is op het ogenblik veel te doen over verslavende apps. Dat zijn apps, meestal op je smartphone, die je verleiden om alsmaar meer content van hetzelfde platform tot je te nemen, door algoritmes die suggesties doen voor waar je ook naar zou kunnen kijken. Één klik dichtbij zoals bij YouTube, of door zelfs ongevraagd een volgende clip te tonen zoals bij TikTok.

Bij Nieuwsuur hadden ze er op 22 september een item over, de EU denkt aan regelgeving om de aanbieders te verplichten een aantal elementen die bewust verslavend werken weg te halen of aan te passen.

Behalve door de algoritmes wordt de verslavende werking sterk vergroot door het feit dat de aangeboden content per keer extreem korte tijd vraagt om tot je te nemen — het zijn letterlijk shotjes. In de reportage waren vooral voorbeelden van TikTok en Instagram te zien. De maximale (!) lengte van een videoclip op TikTok is 10 minuten, maar de gemiddelde duur van de clipjes is in de praktijk 20-30 seconden.

YouTube heeft op mij zeker ook een verslavende werking, maar omdat het algoritme vooral reageert op mijn recente acties in verband met uitzoekwerk voor dit blog zijn de suggesties niet bepaald ‘shotjes’. Een beetje uitlegvideo is toch al gauw een half tot heel uur, of langer. Ongeschikt voor TikTok.

Mijn favorieten van dit moment zijn de video-/podcasts van Lex Fridman. Hij interviewt grote namen op allerlei gebied, ook, maar niet alleen AI research. Het zijn lánge interviews van soms 3,5 uur, niet oeverloos maar gestructureerd in thema’s. De interviews zijn in volle lengte op YouTube te bekijken of in kortere stukken per thema.

In komende berichten wil ik van een aantal Fridman interviews de voor dit blog relevante onderwerpen bespreken. Een van de eerste op mijn lijst is het interview met Demis Hassabis, oprichter en baas van DeepMind.

Een taalmodel levert resultaat op basis van next-token prediction, het voorspellen van het meest plausibele vervolg van een tekst. Ik wil achterhalen hoe dat technisch gezien in zijn werk gaat. Het is een deel van de licht wiskundige uitwerking die ik eerder aankondigde.

Een succesvolle voorspelling is afhankelijk van de context waarin deze moet gaan passen – de eerdere woorden en de wijze waarop die zich tot elkaar verhouden bepalen als het ware de plausibiliteit. Die verhouding van woorden tot elkaar betreft niet alleen grammaticale samenhang maar ook semantische.
De betekenis van een woord haalt een taalmodel voor een deel uit wat het eerder ‘geleerd’ heeft, maar is mede afhankelijk van de woorden die in de actuele context in de omgeving van dat woord staan.

Bronnen: mijn uitleg hieronder is gebaseerd op veel artikelen en online tutorials. Ik heb veel gehad aan Intuition Behind Self-Attention Mechanism in Transformer Networks, een voortreffelijke video van Arkar Min Aung, waarin hij stapsgewijs laat zien wat er moet gebeuren om een taalmodel zijn werk te laten doen. Aan hem credits voor de uitleg en voor afbeeldingen waarvan ik er een aantal hieronder gebruik.

Dit is de inhoud van dit lange bericht:

Semantische overeenkomsten

Ik kom er steeds vaker achter dat ontwikkelingen en inzichten op AI gebied, waarvan je denkt dat ze nieuw zijn en aangeslingerd in de recente ontwikkelingsversnelling, een herkomst hebben die tientallen jaren teruggaat. De uitspraak “You shall know a word by the company it keeps” lijkt een goede samenvatting van wat de nieuwe taalmodellen doen, maar is afkomstig uit het boek A Synopsis of Linguistic Theory (1957) van J.R. Firth.

Het werk van Firth markeert het begin van een onderzoeksterrein dat distributional semantics – distributionele semantiek – wordt genoemd. Het draait er om semantische overeenkomsten tussen taalkundige items te kwantificeren en te categoriseren op basis van hun verdeling in tekstcorpora. De hypothese is: taalkundige items met een overeenkomstige verdeling hebben een overeenkomstige betekenis.

De komst van grote computers met veel rekenkracht heeft de hypothese ook instrumenteel gemaakt, met verdelingen van taalitems uit gigantische tekstcorpora in hoog-dimensionale ruimtes (512 dimensies is tegenwoordig tamelijk gangbaar). Het intuïtieve karakter van de hypothese is daarmee wel een beetje verloren gegaan, daarom gebruik ik een paar eenvoudige voorbeelden om te laten zien hoe taalmodellen omgaan met betekenisverwantschap.

Allereerst een Engelstalig voorbeeld uit de hiervoor genoemde video, we concentreren ons op het woordje bank in de volgende twee zinnen:

I swam across the river to get to the other bank
I drove across the road to get tot the other bank

De context maakt het plausibel dat bank in de eerste zin de oever van een rivier betreft, en in de tweede zin waarschijnlijk een financiële instelling. Mensenogen zien de aanwijzingen meteen, in de combinatie van bank met swam en river in de eerste zin, en met drove en road in de tweede.

Taalmodellen hebben miljoenen van dit soort zinnen verwerkt maar missen de mogelijkheid verbanden in één oogopslag te ‘zien’. In plaats daarvan hebben ze de woorden uit de tekstcorpora waarop ze getraind zijn als vectoren opgeslagen in een N-dimensionale semantische ruimte. De vector van een woord bestaat uit het indexgetal van het bijbehorende token, en getalsmatige ‘scores‘ van dat woord op een groot aantal (N) eigenschappen (meestal features genoemd).

Het taalmodel is in staat aan de hand van de vectoren te bepalen in welke mate woorden verband houden met andere woorden in het corpus. In de context van generatieve AI wordt vaak de ‘hoek’ tussen woordvectoren als maat voor verwantschap gebruikt, de zogenoemde cosine similarity. Verderop geef ik een 2-dimensionaal voorbeeld waaruit de rol van de cosinus van de hoek tussen vectoren blijkt, wiskundig gezien maakt het geen verschil of het om 2 of N dimensies gaat.

Op het gebied van woordvectoren is een aantal manieren gevonden om je een voorstelling te kunnen maken van woordvectorruimtes van hoge dimensie. Een publiek toegankelijke vectorruimte is Word2Vec. De oorsprong gaat terug tot 2013 toen het werd gepubliceerd door onderzoekers van Google. Met behulp van TensorfFlow.js (een verzameling wiskundige routines in JavaScript) is een visualisatie gemaakt die je kunt bekijken in je browser, ga naar: Embedding Projector.

Het komt er op neer dat je in een gigantische puntenwolk, een woordenwolk, kunt ‘kijken’. Neem ‘in‘ letterlijk: je kunt elk punt in de wolk aanklikken. Je krijgt dan te zien wat de frequentie van het woord is in het corpus en ook, voor ons doel belangrijker, wat de dichtstbijzijnde woorden in het corpus zijn volgens de cosine similarity.

In zekere zin kijk je naar de ‘pijlpunten’ van de vectoren. Je kunt inzoomen op de wolk, draaien langs verschillende assen, selecteren, doorklikken naar andere woorden, …. Het verkennen van Word2Vec is licht verslavend.

De afbeelding laat zien hoe de wolk eruit ziet in de nabijheid van het woord ‘bank‘. In het corpus van 71.291 (verschillende) woorden komt bank 1.806 keer voor. Voor de overzichtelijkheid heb ik ingesteld dat de 100 dichtstbijzijnde woorden worden getoond.

Als je de afbeelding groter maakt (een keer klikken) zie je bank, en een cluster woorden uit de financieel-economische hoek. Rechtsboven zie je toch ook woorden die met ‘water’ te maken hebben (coast, river, canal, …).

Je kijkt in zekere zin naar waar de vectorpunten van de woorden uitkomen. Als je een taalmodel zonder meer zou loslaten op onze voorbeeldzin dan zou het op basis van frequentie en verwantschap de meeste plausibiliteit zien in de financieel-economische betekenis van bank.

Eigenlijk zou je de vectorpunt van het woord bank in onze zin willen omduwen, opschuiven in de richting van het cluster dat met water te maken heeft. Dat nu is volgens mij precies wat de grote taalmodellen mogelijk maken, in de chat modus zeg maar. Daar immers geef je als gebruiker de context aan waarin de plausibele betekenis van een woord moet passen. De veelgenoemde en geroemde prompt.

Attention mechanisme

Laten we eens zien hoe dat ‘omduwen’ bewerkstelligd kan worden. Eigenlijk gaat het om het verdraaien van de woordvector, om op die manier de betekenis te verschuiven. We kijken onder de motorkap.

Voor ons voorbeeld zou je willen dat er vanuit het woord bank (blijvende) ‘aandacht’ is voor de andere woorden in de tekst die immers meer of minder gewicht in de schaal leggen voor de betekenis. Het liefst zou je de relatie van bank met alle andere woorden in de context willen beoordelen, willen scoren.
In het plaatje geven kleur en dikte van de pijlen al een suggestie van het gewicht van de onderlinge verhoudingen met het woord bank.

We volgen de stappen die ik eerder als voorbereidingen in de preprocessing pipeline heb benoemd.

Voor onze voorbeeldzin halen we vervolgens voor elk woord de woordvector op uit de (een) semantische vectorruimte.

NB Alle grote taalmodellen (GPT, Claude, Bard, andere) hebben hun eigen semantische vectorruimtes, gebaseerd op het tekstcorpus waarop het getraind is.

Het is niet toevallig dat het begrip ‘attention’ al in meerdere berichten aan bod is geweest, maar nu wil ik uitvinden hoe je concreet contextuele informatie kan toevoegen aan (alle) woorden in een zin.

We verschuiven, verdraaien, de vector v van elk woord in de tekst naar een gecontextualiseerde versie, vector y. Hierbij is aandacht voor de hele tekst, want het moet een weerspiegeling zijn van het belang van elk woord voor het geheel. Het mechanisme heet self-attention.

Hoe gaat het in zijn werk? In de afbeelding is schematisch weergegeven welke stappen je moet volgen om de v-vectoren te transformeren in y-vectoren waarin de context is meegenomen. Elke stap vergt wat uitleg, die hieronder in drie episodes volgt.

Episode 1: inproduct scores van vectoren

Zoals gezegd zouden we graag de relatie van bank met de andere woorden in de tekst op belang willen beoordelen, willen ‘scoren’. En als we toch bezig zijn misschien maar meteen de relatie van elk woord uit de tekst met elk ander woord in de tekst.

In de grote vectorruimte werd de hoek van twee vectoren als maat gebruikt om verwantschap te bepalen, de cosine similarity. Ons doel om woordvectoren te verdraaien in de richting van verwante vectoren moet dus in die hoek tot uitdrukking komen.

Er is een 1-op-1 relatie tussen de hoek van twee vectoren en het zogenoemde dot product van die vectoren, in goed Nederlands het inproduct. Ook het inproduct is dus een maat voor verwantschap én het is een (dimensieloos) getal, een scalair. Daar houden computers van.

Het inproduct van twee vectoren wordt berekend met de formule

\begin{pmatrix} p_1 \\ p_2 \end{pmatrix} \cdot \begin{pmatrix} q_1 \\ q_2 \end{pmatrix} = p_1*q_1 + p_2*q_2

Bijvangst van de formule is dat je kunt zien dat het inproduct van de eerste vector met de tweede vector gelijk is aan het inproduct van de tweede vector met de eerste vector, het inproduct is commutatief.

Het verband tussen de hoek van twee vectoren en hun inproduct voert naar de cosinus van die hoek, daar komt de term cosine similarity vandaan. Met \theta als hoek tussen twee vectoren p en q is de formule:

\cos(\theta) = \frac {p \cdot q}{\mid p \mid \mid q \mid} waarbij p\cdot q het inproduct is en \mid p\mid en \mid q\mid de lengtes van de vectoren

Als twee vectoren samenvallen is de uitkomst van de breuk 1, de hoek is dan 0 graden. Als de cosinus 0 is is de hoek 90 graden, de vectoren staan dan loodrecht op elkaar en zijn het minst verwant.

Als regel geldt: hoe groter het inproduct hoe groter de cosinus, des te kleiner de hoek en des te groter de verwantschap.

Technisch gezien is het inproduct een matrix vermenigvuldiging van een 1xN matrix met een Nx1 matrix, waarbij N de dimensie van de vector is.
Hierboven gebruikte ik steeds de punt, de dot van dot vector, in de notatie voor het inproduct p\cdot q.
Als matrix vermenigvuldiging schrijf je: pq^T. De T staat voor getransponeerd. Je transponeert een matrix door de oorspronkelijke rijen als kolommen te nemen, en de oorspronkelijke kolommen als rijen, steeds met dezelfde inhoud van de velden.

Terug naar het contextualiseren van onze oorspronkelijke zin. We hebben de woorden in de zin voorzien van woordvectoren waarin eigenschappen van de woorden (eigenlijk de tokens) getalsmatig zijn vastgelegd.

De wens om de relatie van bank met alle andere woorden in de context te beoordelen, te scoren, stond hierboven al in een plaatje zoals links.
Het plaatje rechts geeft weer hoe we die scores kunnen bepalen: met het inproduct van elke vector met elke andere vector.

NB In het plaatje is de matrix notatie gebruikt.

Voor de scores geldt: bij grote onderlinge verwantschap een hoge waarde van het inproduct, de score, bij geringe verwantschap een lage score. En alles er tussen in.

Een vaak gebruikte visualisering van dit soort scores is een tabel met grijswaarden. Hoe lichter de cel, hoe groter de verwantschap. Wordt ook wel heat map genoemd (maar dan worden meestal kleuren gebruikt).

Omdat ook elk woord met zichzelf in verband is gebracht via het inproduct zie je op de diagonaal de grootste verwantschap. Het deel boven de diagonaal en het deel er onder zijn elkaars gespiegelde.

Episode 2: normalisatie

Op de rijen in de tabel staan de uit inproduct verkregen scores. In de schrijfwijze van hierboven staan op rij 1 achtereenvolgens s_{11}, s_{12}, s_{13}, ... s_{1n}. En zo door voor de 2e rij met s_{21}, enzovoorts. De waarde rechtsonder is s_{nn}.

Omdat de scores afkomstig zijn van inproducten van vectoren van velerlei herkomst kunnen de waarden alle kanten opvliegen. Vergelijkbaarheid is ver te zoeken, terwijl die wel wenselijk is in de context van taalmodellen die voor alle prompts moeten werken. Het wiskundige toverwoord in dit soort situaties is: normaliseren. Dat is, zeg maar, het op een zodanig inzichtelijke en algemeen toepasbare manier aanpassen van (getal)waarden dat ze onderling vergelijkbaar worden.

Er is een aantal goede redenen om het zo te doen dat alle waarden
– positieve getallen worden in het bereik [0..1]
– de som van alle waarden op een bij de context horende reeks waarden, zoals een rij in de tabel, gelijk is aan 1.

Bij een toverwoord hoort een toverformule, en die is er ook – in de gedaante van de Softmax-functie. De functie in formule vorm is als volgt:

softmax(x_i)= \frac{e^{x_i}}{\sum_{j=1}^n {e^{x_j}}}

Het voert hier te ver om te laten zien dat de formule doet wat we er van verlangen, maar je kunt aan de formule zien dat je op precies 1 uitkomt als je alle breuken softmax(x_1) tot en met softmax(x_n) bij elkaar optelt.

Met behulp van deze normalisatie vormen we al onze scores s_{11} tot en met s_{nn} om, tot gewichten w_{11} ... w_{nn}.

w_{11} = softmax(s_{11}) tot en met w_{nn} = softmax(s_{nn})

Episode 3: woordvectoren omduwen met gewichten

We zijn nu bijna waar we willen zijn. In onze voorbeeldzin hebben we alle woorden met elkaar in verband gebracht door middel van verwantschap-scores afkomstig van de inproducten van de semantische woordvectoren van de woorden in de zin. We hebben die scores onderling vergelijkbaar gemaakt met de softmax-functie zodat we nu vergelijkbare gewichten hebben. We weten nu letterlijk welk gewicht elk woord in de context in de schaal legt.

Met die gewichten kunnen we de gecontextualiseerde woordvectoren maken, dat zijn in onze metafoor de ‘omgeduwde’ vectoren, als volgt:

y_1 = w_{11}v_1+w_{12}v_2+w_{13}v_3 + ... + w_{1n}v_n

y_n = w_{n1}v_1+w_{n2}v_2+w_{n3}v_3 + … + w_{nn}v_n

Bedenk dat alle gewichten w_{ij} scalairen zijn, tussen 0 en 1, en dat ze opgeteld per regel samen 1 zijn.

Per woord uit de context met woordvector v_i hebben we nu een ‘omgeduwde’ betekenis, een verdraaide vector y_i, gemaakt op basis van de invloed van alle andere woorden in de context. Dat is het self-attention mechanisme.

Ter illustratie

Een voorbeeld in 2 dimensies. Stel, we hebben drie woorden in een corpus (kat, hond, cactus) die elk een woordvector hebben met een getalswaarde voor twee eigenschappen (leeft in huis, aaibaar).

De inproducten in ons tweedimensionale voorbeeld laten zich eenvoudig berekenen.

kat \cdot hond = 0.86
kat \cdot cactus = 0.23
hond \cdot cactus = 0.25

Kat en hond hebben onderling veruit de grootste verwantschap als het om de eigenschappen leeft in huis en aaibaar gaat. Met de gegeven waarden is de kat het meest aaibaar.

De semantische vectorruimte zou er zo uit kunnen zien:

Nu wil ik de vectoren omduwen. In dit (fictieve) voorbeeld geef ik een prompt voor een taalmodel met de (even fictieve) waarden van eigenschappen van hond en kat in zijn semantische vectorruimte. De prompt heeft de vorm van een invuloefening, in het jargon een ‘gatentekst’ (cloze test in het Engels).

1

Mijn buurman heeft een hond en een kat. Als ik ‘s avonds langs zijn huis loop zie ik hem op de bank naar tv kijken. Op de mat naast de bank zit zijn ….. die hij graag mag aaien.

> Vul in wat er op de puntjes staat.

Met de gegeven waarden in de semantische ruimte van het taalmodel ligt het voor de hand dat het model kat als de meest plausibele keuze ziet.

2

Ik vul de prompt aan met de vermelding dat de hond een Labradoodle is, en de kat van het haarloze ras Sphynx. Zie de fotootjes.

Labradoodle en Sphynx hebben hun eigen semantische vectoren, misschien wel (0.7, 0.4) voor de kat en (0.6, 0.85) voor de hond. De nieuwe informatie geeft contextuele gewichten waarvan de toepassing kan leiden tot het omduwen, verdraaien, van de oorspronkelijke vectoren voor kat en hond naar de meer specifieke van Labradoodle en Spynx. Met misschien een andere voorspelling voor de gatentekst.

NB Het voorbeeld schiet tekort omdat er geen semantiek voor de overige woorden in de context in zit, de berekening van gewichten zoals hierboven valt daardoor niet zonder meer te maken. Het concept van de context afhankelijke verdraaiing van een semantische woordvector blijft wel geldig.

De Transformer architectuur is een kantelpunt in de ontwikkeling van AI. Attention is all you need is de titel van het oorspronkelijke artikel waarin de architectuur wordt gepresenteerd, een titel die misschien wat verhullend is. Alsof de auteurs nog niet zeker zijn van de impact van hun artikel en de erin beschreven architectuur. Het concept attention was in 2016 zelfs al niet meer nieuw.

Wel nieuw is de uitwerking, de architectuur, waarvan de formule het topje van de ijsberg is.

Attention(Q, K, V ) = softmax(\frac{QK^T}{\sqrt{d_k}})V

De formule behelst de bewerking en vermenigvuldiging van de matrices Q, K en V. Ik wil proberen er achter te komen hoe het in elkaar zit.

Wat de impact betreft: feit is dat in de periode van 5 jaar na het verschijnen van het artikel niemand in de wereld van AI het nodig heeft gevonden om wijzigingen in de architectuur voor te stellen.

Scaled Dot-Product Attention

In het oorspronkelijke artikel over de Transformer architectuur staan drie schema’s:

  • Scaled Dot-Product Attention
  • Multi-Head Attention
  • Overzicht van de architectuur met encoder-decoder

Samen met een voorziening om de posities van woorden in een context te bewaren zijn dit de basiscomponenten van de Transformer architectuur.

Allereerst de Scaled Dot-product Attention, zie het plaatje. Je ziet, als een soort van input daar de letters Q, K en V al staan. Het zijn matrices zoals gezegd. Wat ze doen en waar ze vandaan komen lees je verderop.

Informele uitwerking

Attention mechanisme (informeel)

Het plaatje hiernaast geeft op een informele manier het mechanisme Attention weer. In een eerder bericht staat het wat verder uitgewerkt en staan ook de termen toegelicht.

Weergegeven zijn 3 woordvectoren van woorden (tokens) uit een context. Op zoek naar de mate van verwantschap tussen de woorden geven we er scores aan door het inproduct te nemen van elk van de vectoren met de andere (inclusief zichzelf). In het plaatje staat het voor v_3 weergegeven.

Na een normaliseringsslag krijgen we gewichten tussen 0 en 1. Vermenigvuldigd met de oorspronkelijke vectoren en daarna opgeteld krijgen we vector y_3 (bij v_3). Zo ook voor de andere vectoren.

Het geheel van bewerkingen heet het Attention mechanisme, en het maakt van de directe representatie van een tekst (context) een gecontextualiseerde versie.

Deze informele weergave van het mechanisme komt goeddeels overeen met het schema Scaled Dot-product Attention:

  • De berekening van het inproduct is de onderste MatMul (matrix-vermenigvuldiging) in het schema. Meestal gebruiken wij als notatie voor het inproduct p\cdot q. Dot product immers. Wiskundig gezien is het inzichtelijker om het als matrix vermenigvuldiging te schrijven: pq^T.
  • In het blok Normaliseren zijn de bewerkingen Scale en Softmax uit het schema gecombineerd.
    • Bij het schalen worden alle inproduct-waarden vermenigvuldig met \frac{1}{\sqrt{d}} waarbij d de lengtedimensie van de vectoren is. Zo worden de scores, d.i. de waarden van de inproducten, niet al te groot.
    • De Softmax functie zorgt er voor dat de gewichten uiteindelijk allemaal getallen tussen 0 en 1 zijn, zodanig dat per vector de som van de gewichten gelijk aan 1 is.
  • De berekening van de gecontextualiseerde vectoren y_i in ons plaatje is de bovenste MatMul in het schema.
  • In het schema staat nog de optionele Mask. Deze wordt gebruikt bij ‘gatentekst’-achtige taken (zoals bij seq2seq vertalingen).
Contextvectoren door gewichten

De uitkomst van het attention mechanisme zijn de vectoren die we in het plaatje aanduiden met y_i, de gecontextualiseerde versies van v_i, kortweg de contextvectoren. Uitgeschreven ziet dat er zo uit:

y_1=w_{11}v_1 + w_{12}v_2 + w_{13}v_3
y_2=w_{21}v_1 + w_{22}v_2 + w_{23}v_3
y_3=w_{31}v_1 + w_{32}v_2 + w_{33}v_3

De genoemde s_{ij} en w_{ij} zijn scalairen, dimensieloze getallen, die de rol van gewichten vervullen zoals we die eerder hebben gezien bij machine learning. De context wordt gevormd door de woorden (tokens) die we aan het systeem meegeven. Die woorden hebben in het taalmodel een embedding in de vorm van woordvectoren v_i met een groot aantal eigenschappen uit de (pre-)training van het model.

Query, Key en Value

Wat doet het attention mechanisme? Naïef geformuleerd zit het volgens mij ongeveer zo: een woord, vertegenwoordigd door zijn vector, “vraagt” als het ware aan het mechanisme om te vertellen welke invloed de verschillende woorden in de context hebben op de betekenis van dat woord. Zo’n woord uit de context, ook vertegenwoordigd door zijn vector, is dan de “sleutel” tot de invloed van dat woord op de betekenis. De “waarde” die uit de berekeningen komt vormt het antwoord dat andermaal een woordvector is. Die berekeningen bestaan uit inproducten en uitkomsten van normalisatie.

Nu hebben we de goede woorden te pakken. Lees voor vraag Query, voor sleutel Key en voor waarde Value en kijk nog eens naar het schema uit het artikel: je ziet onderaan Q en K de eerste matrixvermenigvuldiging MatMul in gaan (dat is het inproduct) en V de tweede MatMul (dat is het verrekenen van de gewichten). Het schema is de formele vertaling van mijn naïeve weergave.

Een gedachte om even vast te houden. Q, K en V worden vertegenwoordigd door vectoren, Q en K op voorhand zelfs door het zelfde stel v_i. Als de woorden in de context géén invloed op elkaar hebben, of we hebben die nog niet kunnen vaststellen, dan zijn de gewichten w_{ij} natuurlijk gelijk aan 0, behálve het gewicht w_{ii} van het woord op zichzelf – dat is dan gelijk aan 1. Als je de waarden invult in de uitgeschreven uitkomst hierboven dan zie je dat y_i = v_i (de andere termen vallen weg).

In de beginsituatie zijn Q, K en V aan elkaar gelijk.

Matrices

Waar komen nu die matrices te tevoorschijn? Als je het hele verhaal terugleest dan zie je dat er weliswaar iets uitkomt dat we gewichten noemen, maar dat het gedetermineerde, onveranderlijke, waarden zijn gegeven de context en de getrainde inhoud van het taalmodel. Er kan nog niets ‘geleerd’ worden.

Dat wordt in de Transformer architectuur opgelost door de vectoren in te bedden in matrices met veranderbare gewichten die op basis van feed forward en backward propagation aangepast, aangeleerd, kunnen worden door het model. En daar waar we in de startsituatie alleen de vectoren v_i hebben, maken we drie verschillende gewichten-matrices: een voor Q, een voor K en een voor V.

De laatste stap: next token prediction

We hebben nog niet alle onderdelen van de architectuur besproken, met name het samenspel tussen de encoder en de decoder vraagt nog (veel) uitleg, maar ik wil dit bericht eindigen met de laatste componenten van de architectuur. Met laatste bedoel ik de uiteindelijke voorspelling van een volgend woord (als het om een talige context gaat).

Het totale schema uit het oorspronkelijke artikel zie je hier, de encoder in het linkerdeel, de decoder staat rechts. Merk op dat er bij beide “Nx” naast staat, dat wil zeggen dat eenzelfde onderdeel N maal herhaald wordt, afhankelijk van de complexiteit van de situatie.

Helemaal rechtsboven zie je de uitvoer staan, Output Probabilities. Die wordt geproduceerd door een Softmax component en een Linear component die worden toegepast op de output die de decoder verlaat.

De Linear laag is een volledig verbonden neuraal netwerk (een zg. dense neural network) die de contextvectoren die uit de decoder komen omzet in een veel grotere vector, de zg logits vector. Deze vector bevat de waarschijnlijkheden van alle mogelijke uitkomsten die het taalmodel kent en kan verbinden aan de contextvectoren.

De Softmax laag maakt van alle scores in de logits vector een keurig genormaliseerde kansverdeling (i.e. waarden tussen 0 en 1, bij elkaar opgeteld gelijk aan 1). De hoogste waarde in die verdeling geeft de voorspelling voor het meest plausibele volgende woord.

De tijd zal leren of de impact van AI, en de zoektocht naar AGI, te vergelijken zal zijn met die van de kwantummechanica. Ik durf al wel een aanvulling te doen op een beroemde quote: “God dobbelt niet, Hij vermenigvuldigt matrices“.

De oorspronkelijke uitspraak komt van Einstein, die niet geloofde in natuurkunde waarbij kansberekening een belangrijke rol speelt, zoals bij kwantummechanica. In 1926 schrijft hij aan Max Born “De theorie levert veel op, maar brengt ons nauwelijks dichter bij het geheim van de Oude. Ik ben in ieder geval overtuigd dat Hij niet dobbelt“.

In een artikel over de controverse tussen Einstein en de kwantumfysici kwam ik de uitdrukking ‘half-kennis‘ tegen. Misschien het toenmalige equivalent van A woven web of guesses... Ik heb mijzelf tot doel gesteld uit te zoeken hoe de grote taalmodellen omgaan met hun ‘kennis’ van de wereld. In eerdere berichten vind je uitleg over het attention mechanisme dat belangrijk is in het Transformer model. Een belangrijk element maar conceptueel onvoldoende om het gemodelleerde systeem echt te laten leren. Wiskundig instrumentarium, matrices en matrixrekening, biedt hulp zowel technisch als conceptueel.

Uiteindelijk blijken kansverdelingen toch weer een belangrijke rol spelen, in dit geval in de manier waarop de resultaten van AI tot stand komen.

Formule

Ruim 20 jaar voor zijn twijfel aan de nieuwe inzichten had Einstein zelf een nieuw inzicht vastgelegd over de relatie tussen massa en energie, samengevat: E=mc^2. De formule is vaak geciteerd, te pas en te onpas wellicht, en is een icoon geworden voor een kantelpunt in de natuurwetenschappen. T-shirt waardig…

In mijn ogen is de Transformer architectuur ook een kantelpunt, nu in de ontwikkeling van AI. Er hoort ook een formule bij, iets minder catchy dan de formule van Einstein, maar in de toekomst wellicht even iconisch. Attention is all you need is niet voor niets de titel van het oorspronkelijke artikel.

Attention(Q, K, V ) = softmax(\frac{QK^T}{\sqrt{d_k}})V

De formule behelst de bewerking en vermenigvuldiging van QK en V en dat zijn matrices, vandaar in de aanhef mijn brutale aanvulling op de quote. In andere berichten probeer ik er achter te komen hoe het in elkaar zit, maar in dit bericht laat ik de techniek achterwege en focus ik op de rol die matrices als wiskundig hulpmiddel en als drager van gedachtengoed vervullen.

Matrices

Waar komen matrices tevoorschijn? Het attention mechanisme in de Transformer architectuur levert iets op dat we gewichten noemen, maar die slechts putten uit gedetermineerde, onveranderlijke, waarden binnen de context en getrainde inhoud van het taalmodel. Er kan op dat moment met het Transformer deep learning model nog niets ‘geleerd’ worden.

In de modellering wordt het opgelost door de introductie van matrices waarin de vectoren zijn ingebed. Die matrices bevatten veranderbare gewichten die met deep learning aangeleerd kunnen worden.

Van een afstandje bekeken is er geen directe inhoudelijke of intrinsieke relatie tussen matrices en deep learning. Matrices lijken in dit opzicht ‘inhoudsvrij’ te zijn. Dat maakt ze tot geschikte wiskundige hulpmiddelen, vehikels die voor de gelegenheid worden geladen met de conceptuele inhoud van het domein, vertaald in vectoren, scores en gewichten. En daarna kan je er gewoon mee rekenen, natuurlijk.

Door te werken met matrices kan bovendien in het Transformer model het enkelvoudige attention mechanisme worden gegeneraliseerd naar een Multi-Head attention. Alle er mee gemoeide informatie wordt bij elkaar ‘onthouden’ en – zeer belangrijk voor de performance van dit soort systemen – in parallel getransformeerd.

In het geval van de meerdere heads gebeurt dat wiskundig gezien door concatenatie van de matrices. Simpel gezegd: ze worden letterlijk aan elkaar geplakt tot een nieuwe matrix. Ook met die nieuwe matrix kun je rekenen, maar en passant gebeurt er iets spectaculairs. Veronderstel dat een enkelvoudig attention mechanisme (single head) 2-dimensionale matrices gebruikt. Met, bijvoorbeeld, 3 heads zorgt de concatenatie er voor dat er een 6-dimensionale matrix ontstaat. Zo’n matrix ‘leeft’ in een eveneens 6-dimensionale vectorruimte waar concepten als dot product en cosine similarity gewoon hun betekenis behouden maar waar het menselijk voorstellingsvermogen het al snel moet laten afweten.

Het meest waarschijnlijke volgende woord

Het totale schema uit het oorspronkelijke artikel zie je hier, encoders staan links, decoders rechts. Aan beide kanten staat “Nx”, dat wil zeggen dat eenzelfde onderdeel N maal herhaald wordt, afhankelijk van de complexiteit van de situatie. In het artikel is N=6.

Voor uitleg verwijs ik naar elders, hier wil ik het hebben over de uitvoer die je rechtsboven ziet staan, Output Probabilities. Die uitvoer wordt volgens het schema geproduceerd door een Softmax component en een Linear component die werken op de output die de decoder verlaat, output die bijna volledig met matrixberekeningen tot stand is gekomen.

De Linear laag is een volledig verbonden neuraal netwerk (een zg. dense neural network) die de contextvectoren die uit de decoder komen omzet in een veel grotere vector. Deze vector bevat scores van alle mogelijke uitkomsten die het taalmodel kent – een zeer ruime verzameling tokens – die in relatie zijn gebracht met de contextvectoren.

Voor het geval die scores getalsmatig nog alle kanten opgaan, maakt de Softmax laag er een keurig genormaliseerde kansverdeling van (i.e. waarden tussen 0 en 1, bij elkaar opgeteld gelijk aan 1). Zo is het toch weer dobbelen geworden: de hoogste waarde in die verdeling geeft de voorspelling voor het meest plausibele volgende woord, niet voor het ‘zekere‘ vervolg. Einstein zou misschien niet tevreden zijn…

Een treffende overeenkomst

In de jaren (19)20 werkte Heisenberg aan een theorie om energieniveaus en kwantumsprongen met elkaar te verbinden. Formules en berekeningen bij de vleet, maar hij kreeg de theorie niet passend bij de getallen die hij met de berekeningen vond. Met name de volgorde waarin die berekeningen werden gedaan bleek van invloed op de resultaten die hij kreeg.

Heisenberg durfde zijn bevindingen niet voor publicatie aan te bieden, maar hij stuurde het hele pakket naar Max Born (dezelfde die in 1926 de niet-dobbelen brief van Einstein kreeg). Born stelde voor om de getallen door matrices te vervangen, daarmee werd in elk geval de invloed van volgorde in berekenen meteen goed gemodelleerd. Matrixvermenigvuldiging is niet commutatief zoals dat heet, volgorde doet er toe. Bij 2 matrices A en B is de uitkomst van A x B een andere dan van B x A.
Deze modellering leidt uiteindelijk tot het onzekerheidsprincipe van Heisenberg. In mijn woorden: een fysische werkelijkheid bestaat niet los van de manier waarop deze is waargenomen en is afhankelijk van de volgorde van bepaalde waarnemingen.

Als onverbeterlijk romanticus zie ik een parallel. Ook in het geval van Heisenberg/Born wordt de matrix en matrixrekening als vehikel voor – in dit geval kwantumfysische – inhoud naar binnen gehaald. De matrices zijn vervolgens de vastlegging van waarschijnlijkheden, van kansverdelingen – precies dat waar Einstein zich in de brief van 1926 tegen verzet had.

Wellicht is er helemaal geen parallel, maar ik neem in elk geval de kans te baat om een geweldige, zeer tot mijn verbeelding sprekende, foto te laten zien. Op de foto staan de 29 deelnemers aan de 5e Solvay conferentie van 1927, een jaar na de God-dobbelt-niet uitspraak van Einstein. Ze spreken daar over de kwantumfysica, met name over het onzekerheidsprincipe van Heisenberg en de golf-of-deeltje opvattingen. Er zijn een paar facties daar, die het beslist niet met elkaar eens zijn, maar op de groepsfoto zie je er niks van.

De foto is een geweldig zoekplaatje, wie staan er op? Nou ja, de namen staan er onder – ik verklap dat hier een halve Nobelprijzenpot bij elkaar op de foto is gegaan, 17 van de 29 aanwezigen hebben ooit een Nobelprijs gekregen. En Madame Curie telt dubbel, zij kreeg er twee.

Ook de door mij opgevoerde actoren zijn er: Einstein, niet te missen vooraan, en Heisenberg en Born aan de rechterkant.

Hoe mooi zou het zijn om een hedendaagse variant van de foto te maken, met alle kopstukken, spraakmakers en deskundigen bijeen om over de richting van AI ontwikkeling te confereren? Ik ben benieuwd hoeveel vrouwen er op die foto zouden staan, maar optimistisch over dat aantal ben ik niet.

Zoek je een baan bij OpenAI, de makers van GPT? Het moet boeiend zijn om daar nu te werken, aan de voorkant van de AI ontwikkeling. Er is een waslijst aan vacatures.

Sowieso is het interessant eens te kijken op de site van OpenAI. Je vindt er ook de kernwaarden van het bedrijf, de Core Values.

Semafor, een van mijn favoriete onafhankelijke nieuwsplatforms, ontdekte vorige week een interessante verschuiving in die Core Values. OpenAI heeft er zelf geen ruchtbaarheid aan gegeven.

In het ene fragment zie je de kernwaarden zoals ze in september nog werden geformuleerd (het is een screenshot van 25 september 2023 van het Internet Archive). Laten we zeggen dat het een passend rijtje is voor een start-up in de techsector.
In het andere zie je de formulering die in oktober op de site is verschenen van wat inmiddels een grote speler is. Interessant is de verschuiving van impact-driven naar make-something-people-love, ze lijken in elk geval goed opgelet te hebben. Prikkelend is het onverhulde geloof in opschalen, when in doubt, scale it up. En voor de goede orde: ik denk dat ze hier doelen op opschalen in de techniek (LLM immers!), niet zozeer in de commerciële doelstellingen. Die komen vanzelf wel.

Ronduit verrassend vind ik de eerste kernwaarde: alle ontwikkel inspanningen moeten onverbiddelijk gericht zijn op AGI, Artificial General Intelligence. De rest is out-of-focus.

Ik had niet verwacht al zo snel serieus aandacht te moeten besteden aan het onderwerp AGI. In eerder berichten ging het er wel over, ik noemde het zelfs de ‘heilige graal’ van AI onderzoek, maar het klonk nog als ver weg – misschien wel onbereikbaar. Daar denk ik nu minder lichtzinnig over. Ik had al interviews gezien met AI guru’s die de haalbaarheid van AGI steeds verder in de tijd naar voren halen, maar dat kun je nog afdoen als wishful thinking, preken voor eigen parochie, of zelfs snake oil.
Nu is het echt. OpenAI is zelf een grote speler, via voorman Sam Altman ook in beeldvorming. De samenwerking met Microsoft is steeds inniger geworden, niet alleen financieel maar ook op het gebied van research. De nieuwe focus heeft impact op het hele bedrijf, bovendien halen ze busladingen ontwikkelaars binnen die maar op één doel zijn gericht: AGI.

En er is writing-on-the-wall: opvallend vaak begint ook in niet gespecialiseerde media de uitdrukking ANI op te duiken, Artificial Narrow Intelligence, voor de huidige AI.

Om het rijtje afkortingen compleet te maken: er wordt ook gesproken over ASI, Artificial Super Intelligence. Dat is wat er na AGI komt en zo krachtig zal zijn dat het alle menselijke intelligentie overstijgt.

Menselijke intelligentie – daar ken ik geen afkorting voor, of het zou IQ moeten zijn. Zou je het idee achter IQ ook kunnen toepassen in de Artificial wereld? Een AIQ om de maturiteit van de betreffende variant aan te geven?

Of zal het idee van menselijke intelligentie als maat der dingen achterhaald raken? Ik zag in sommige artikelen al onderscheid tussen ‘carbon‘ en ‘siliciumintelligence, voor biologische resp. technologische intelligentie.

Voor mijn blog is er genoeg laken voor de schaar. In komende berichten zal ik mij eerst maar eens bezighouden met definitie-kwesties, want er is veel spraakverwarring en onduidelijkheid en niet alleen bij mij.

“Zou je het idee achter IQ ook kunnen toepassen in de Artificial wereld? Een AIQ om de maturiteit van de betreffende variant aan te geven?” Ik schreef het hier kort geleden. Toeval of niet, maar ongeveer per ommegaande werd ik op mijn wenken bediend.

Een team van DeepMind heeft op 4 november 2023 een artikel gepubliceerd met een voorstel voor “… a framework for classifying the capabilities and behavior of Artificial General Intelligence (AGI) models and their precursors...”.

De auteurs definiëren verschillende niveaus – Levels of AGI. Ze passen die toe op zowel Narrow AI als General AI, met voorbeelden voor een inschatting van de huidige stand van zaken.

Het artikel is een voorstel voor een classificatie-raamwerk, een taxonomie. Het is rijk aan voorbeelden en casussen uit heden en verleden, en bevat een uitgebreide lijst aan referenties en bijbehorende links. Ik bespreek het hier.

Casuïstiek

Ook het team van DeepMind worstelt met definitiekwesties. Wat is AGI? In het artikel wordt een aantal case studies gepresenteerd, zoals de oorspronkelijke Turing Test (1950). Zoals het werk van John Searle waarin hij stelt dat met de juiste programmatuur computers letterlijk begrip en andere cognitieve statussen kunnen hebben (1980). Analogie met het menselijk brein door Mark Gubrud in 1997 – hij introduceerde ook de term AGI. Presteren bij cognitieve taken op menselijk niveau, met nadruk op het non-fysieke karakter van die taken (Ben Goertzel in 2014). Metacognitieve vaardigheden zoals het kunnen aanleren van nieuwe skills (2015, Shanahan). Het kunnen doen van complexe taken die meerdere stappen en vooruitdenken vragen (Suleyman in The Coming Wave, 2023). En meer casuïstiek.

Principes en uitgangspunten

Op basis van de voorbeelden en casusssen komt DeepMind met in totaal zes uitgangspunten die bijdragen aan een heldere en operationele definitie van AGI.

  1. Focus op bekwaamheid (capability), niet op proces.
    Het gaat er om wat een AGI voor elkaar kan krijgen, niet om het mechanisme dat wordt gebruikt. Daarmee blijven we ook ver van de discussie of systemen kunnen ‘denken’ of ‘begrijpen’.
  2. Focus op zowel algemeenheid (generality) als prestatie (performance). Prestatie is per definitie altijd narrow, specialistisch.
  3. Focus op zowel cognitieve als metacognitieve taken. De vraag of er bij AGI ook sprake moet zijn van een fysieke component, een robot zeg maar, laten we hier in het midden.
  4. Focus op potentieel, niet op realisatie of uitvoering (deployment).
  5. Focus op ecologische waarde – AGI die de halve aarde aan resources nodig heeft is niet waardevol.
  6. Focus op het pad naar AGI, niet een enkel eindpunt.
Taxonomie

Voor de classificatie willen de auteurs vijf niveaus onderscheiden, ze stellen ook naamgeving voor. Net als bij de tabellen voor menselijk IQ gangbaar is gebruiken de ze percentielen om de niveaus af te bakenen.
Ik laat de voorgestelde namen onvertaald.

  1. Emerging. Op dit niveau presteert de AI gelijk of iets beter dan de gemiddelde mens die niet over specifieke vaardigheden beschikt.
  2. Competent. Prestaties zijn minimaal in het 50e percentiel van volwassenen met relevante kennis en vaardigheden (skilled adults), niet het algemene publiek.
  3. Expert. Prestaties minimaal in het 90e percentiel van de skilled adults.
  4. Virtuoso. Prestaties minimaal in het 99e percentiel. Vergelijk: bij IQ tabellen komt het 99e percentiel overeen met een IQ van 135.
  5. Superhuman. Betere presentaties dan 100% van de mensheid. Bij Narrow AI wordt dit niveau al door sommige systemen gehaald, denk aan AlphaFold bij het voorspellen van de 3-dimensionale configuratie van een eiwit op basis van de lineaire sequentie van aminozuren (meestal ligt het aantal letters in een DNA-string rond de 1600).
    Als het om het algemene bereik van cognitieve en metacognitieve vaardigheden gaat is dit het niveau dat we eerder als ASI, Artificial Super Intelligence hebben aangeduid.

De niveaus zijn in de afbeelding opgenomen, met twee ‘lijnen’ conform principe 2.: Narrow resp. General. Waar mogelijk is per onderdeel een aantal voorbeelden opgenomen. Voor Narrow AI is er op elk niveau nog wel iets te vinden, in de lijn General AI is er alleen bij Emerging een eerste aanzet – bij de huidige taalmodellen – bij de andere niveaus van AGI zijn nog geen voorbeelden te geven.

Wanneer is AGI ook echt AGI?

De gekozen taxonomie vergt een gedegen uitwerking van testmetingen en benchmarking. Ook dit onderwerp staat nog aan het begin van de rit, zeker als je de gekozen uitgangspunten als – streng – beoordelingskader zou willen gebruiken. Daar waar het gaat om performance geven de percentiel grenzen mogelijkheden om te ‘meten’. maar als het om de brede algemeenheid gaat zijn er vooral nog openstaande vragen.
Welke verzameling taken moet je definiëren om algemeen genoeg te zijn? En als je die taken dan hebt bepaald, welk deel met succesvolle uitvoering bepaalt dan het niveau?
Zijn er knock-out criteria – taken die in elk geval succesvol gedaan moeten worden om een bepaald AGI niveau te halen? Bijvoorbeeld meta-cognitieve taken? En zo voort.

De auteurs pleiten voor een AGI benchmark die een brede verzameling cognitieve en metacognitieve taken omvat, waaronder in elk geval taken op het gebied van taalkundige intelligentie, wiskundige en logische redeneringen, ruimtelijk inzicht, sociale intelligentie, het vermogen om nieuwe vaardigheden aan te leren en creativiteit. En als je de AI vergelijkt met de performance van een mens op dezelfde taken, mag die mens dan technologische hulpmiddelen gebruiken, waaronder AI-tools?

Het ontwikkelen van een AGI benchmark wordt een uitdagend en iteratief proces, volgens de auteurs, en een richtpunt voor de AI research gemeenschap.

Autonomie

Ook op deze site is al een aantal malen gerefereerd aan een bepaalde angst voor AGI, de vrees dat die uiteindelijk een existentieel risico voor de mensheid wordt. De niveau-gerichte benadering kan een deel van die vrees wegnemen, of er voor zorgen dat er tijdig maatregelen worden genomen. Denk bijvoorbeeld aan het zorgen voor nieuwe banen voor mensen die op de arbeidsmarkt hun baan aan AI dreigen kwijt te raken.
De feitelijke vrees dat het uit de hand gaat lopen betreft vooral de Virtuoso en Superhuman niveaus waar de AI de mens op intelligentie gaat overtreffen, niet alleen op een specifieke set taken maar in de volle breedte.

De vijf niveaus van AGI zoals in het schema bestaan natuurlijk niet in isolatie. Het gaat om taken die in context worden uitgevoerd. De context bepaalt in hoge mate de risico’s die met de AI gepaard gaan. Die zullen soms samen gaan met het taakgebied in kwestie. Op dit moment is er veel discussie over de mogelijkheid om met behulp van AI biochemische wapens te ontwerpen en te maken, of andere dreigingen voor te bereiden. Toch zitten voor mij hier niet de meest angstige scenario’s: AI doet het niet zelf, er is altijd een groep menselijke slechteriken bij nodig. Met of zonder AI is daar misschien niet veel verschil met het gewone leven.

De game changer, als je het zo wilt noemen, hangt samen met de factor ‘autonomie‘. De zelfrijdende auto is een voorbeeld dat al zo vaak is opgevoerd in de discussie dat het bijna een metafoor is geworden, inclusief geconstrueerde morele dilemma’s. Die zijn nog relatief onschadelijk in vergelijking met andere werelden, bijvoorbeeld die waarin van AI voorziene wapens zelf beslissingen nemen. Of die met robots die ingezet worden voor (fysieke) bewakingstaken. Of klimaatmodellen die niet alleen uitrekenen wat het effect van bepaalde maatregelen zoals klimaat- en geo-engineering zal zijn maar op dat terrein ook zelfstandig mogen beslissen of klaar gezette scenario’s uitgevoerd gaan worden.

Voor de auteurs van het artikel is er zo genoeg aanleiding om ook niveaus van autonomie te onderscheiden, ook vijf in getal. Autonomie is weliswaar een andere dimensie, maar niet los te zien van de niveaus van AGI. In het artikel wordt een eerste opzet gegeven waarin de niveaus van autonomie worden benoemd en tentatief gekoppeld aan mogelijke toepassingen en bijbehorend AGI niveau. Ik laat het hier bij de lijst van vijf niveaus van autonomie in relatie met AGI. De vertaling in het Nederlands is hier lastig, het gebruikte Engelse woord staat tussen haakjes. Met name voor de laatste, ‘agent’, is het moeilijk een equivalent in het Nederlands te vinden. Actor is een optie, of algoritme, of entiteit. Ik heb gekozen voor ‘zelfstandig agent’.

  1. Gereedschap (tool). Mensen hebben volledige controle en gebruiken AI om dagelijkse (sub) te automatiseren
  2. Adviseur (consultant). AI speelt een belangrijke en zelfstandige rol, maar alleen nadat mensen dit hebben gevraagd.
  3. Meewerker (collaborator). Gelijkwaardige samenwerking tussen mens en AI, met een interactieve coördinatie en afstemming van doelen en uitvoering.
  4. Expert (expert). AI heeft hier het initiatief, mensen geven begeleiding en feedback en helpen soms mee op aanwijzing van de expert.
  5. Zelfstandig agent (agent). De AI is hier volledig autonoom, hoeft niet aangezet of gevraagd te worden maar neemt zelf initiatieven.
Risico’s

Met het inzetten van AGI worden risico’s geïntroduceerd die er niet eerder op die manier waren. Dat is bij elke nieuwe technologie het geval. Denk aan de spreekwoordelijke man met rode vlag die vooruit moest lopen bij de eerste gemotoriseerde voertuigen. In het artikel dat we hier bespreken wordt een aantal voorbeelden van ‘nieuwe’ risico’s genoemd, maar nog niet erg uitgewerkt.

BREAKING NEWS komt dwars door het blogbericht dat ik in aan het maken ben: CEO Sam Altman is per direct (17 november 2023) ontslagen door OpenAI. Hij wordt tijdelijk opgevolgd door Mira Murati, de huidige CTO van het bedrijf.
Veel detail is er niet bekend — Altman zou ‘not consistently candid in his communications’ zijn geweest. Alle commentaren wijzen in één richting: paniek in de tent.

Ik was van plan om verder te gaan met de vraag hoe en wanneer AGI ‘bereikt’ zou zijn. Ik wilde laten zien dat er bij OpenAI wonderlijke gedachten over bestaan. Kort samengevat is het daar de Board of directors, die beslist wanneer het moment daar is. Ik kan me er geen voorstelling bij maken, hebben ze een soort jury proces in gedachten?

Het heeft alles te maken met de geschiedens van OpenAI. Gestart als een not-for-profit organisatie was er op enig moment noodzaak en gelegenheid om een for-profit onderneming op te richten. Via een holding constructie heeft de not-for-profit organisatie een meerderheidsaandeel in het profit bedrijf. Overwinst vloeit terug naar de not-for-profit organisatie.

De structuur is, in de woorden van OpenAI: ...a chassis for OpenAI’s mission: to build artificial general intelligence (AGI) that is safe and benefits all of humanity.

De uitleg staat -in varianten- al jaren op de site van OpenAI, zie de schermafbeelding. Voor zover ik weet heeft op dit moment de holding 51% en Microsoft 49% van het eigenaarschap van de profit organisatie OpenAI Global.

Bij de 5e bullet van het structuurverhaal lees je dat het klopt dat de board beslist ‘…when we’ve attained AGI.’
De beslissing heeft directe commerciële en organisatorische impact op OpenAI en de samenwerking met Microsoft. Een gerealiseerd AGI-systeem wordt uitgesloten van de licenties en commerciële overeenkomsten met Microsoft.

De constructie alleen al lijkt me een overdaad aan splijtstof te bevatten, maar de komende dagen en weken zal wellicht duidelijk worden wat de achtergrond van het ontslag van Altman is. Voor de tussentijd heb ik een weliswaar voor de hand liggende, maar toch aardige, grap. Breaking news: OpenAI heeft een AGI systeem weten te maken! Het heeft als eerste daad Sam Altman ontslagen… Inmiddels las ik op vele plaatsen varianten, maar ik heb hem echt zelf verzonnen…

“Jij mag niet meer meespelen” zoals bij een schoolpleintjesruzie, of klungelend bestuur zoals bij de PvdD, of techmiljardairs die elkaar de tent uitvechten om nog meer miljarden te schrapen zoals de Franse filosoof Eric Sedin het misschien zal zien? Of mijn flauwe grapje dat OpenAI een AGI systeem heeft weten te maken dat vervolgens meteen Sam Altman ontslagen heeft?

Het grapje is dichter bij de werkelijkheid dan ik kon vermoeden. In overdrachtelijke zin dan. Lees verderop waarom ik denk dat deze soap direct verband houdt met onverwachte vorderingen op het gebied van Artificial General Intelligence.

Ik wil van dit blog geen juicekanaal maken, maar laten we even kijken wat er is gebeurd.

  • De CEO van OpenAI, Sam Altman, wordt op vrijdag 17 november onverwacht en onverhoeds ontslagen door het bestuur van de not-for-profit organisatie die 51% zeggenschap heeft over het bedrijf OpenAI global, de uitbater van o.a. ChatGPT.
  • Dit gebeurt in een videomeeting van een deel van dat bestuur. Chief scientist Ilya Sutskever voert het woord. De voorzitter van het bestuur, Greg Brockman, is niet uitgenodigd voor de sessie en krijgt direct na afloop te horen dat hij voorzitter af is maar nog wel mag blijven als hoofd wetenschapper. Brockman neemt dezelfde dag nog ontslag.
  • Er wordt uit eigen kring een nieuwe CEO aangesteld, Mira Murati, die enkele uren later al weer wordt vervangen door een externe benoeming.
  • Ilya Sutskever post een bericht op X waarin hij spijt betuigt over wat hij gedaan heeft.
  • Microsoft, met 49% zeggenschap over het bedrijf, is niet geïnformeerd. En ook niet amused. Sam Altman is het boegbeeld van OpenAI, Microsoft heeft vele miljarden geïnvesteerd in vooral de infrastructuur die nodig is voor GPT en toekomstige producten. Ze hebben hoge verwachtingen van het partnerschap met OpenAI op het gebied van AI ontwikkeling.
  • Pogingen om Altman terug te laten keren in zijn oude rol mislukken, waarop Microsoft Altman en Brockman in dienst neemt om een nieuwe, onafhankelijke, AI research unit te gaan opzetten en leiden.
  • Enkele dagen later eist het zo goed als voltallige personeel (per brief met ruim 700 ondertekenaars, waaronder Murati en Sutskever) dat Altman weer wordt aangesteld. Het zittende bestuur moet vertrekken. Anders stappen ze allemaal over naar Microsoft, naar de nieuwe unit.
  • De brief heeft zijn effect, en ook andere stakeholders voeren de druk op: Altman is weer terug als CEO, er is een nieuw bestuur. Ook Greg Brockman is weer terug. Microsoft heeft zijn naïviteit verloren, er zullen aanvullende governance voorzieningen worden getroffen.

Eind goed, al goed? Ik vraag het me af. Nog steeds is niet duidelijk waarom het bestuur Altman ontslagen heeft. In de geruchtenstroom begint één mogelijke verklaring de overhand te krijgen. Binnen OpenAI loopt al enige tijd het project Q* (Q Star), gericht op het dichterbij brengen van AGI (zoals alle projecten van OpenAI). Recent zou er een doorbraak zijn geweest, die ook voor de eigen ontwikkelaars tamelijk onverwacht snel is gekomen. Ze hebben daarover het bestuur geïnformeerd.

Net als misschien wel in de gehele samenleving bestaan er binnen OpenAI twee stromingen. De doemdenkers, safetyisten, die vrezen dat al te snelle en ongecontroleerde ontwikkeling van AGI zal leiden tot grote schade aan de mensheid, misschien wel tot verdwijnen er van. De positivo’s, accelerationisten, die niet kunnen wachten tot de zegeningen van AGI de mensheid gaan redden van allerlei bedreigingen op het gebied van gezondheid en ziekte, milieu en weer- en klimaat. Altman neigt naar de laatste groep maar is genuanceerd, Sutskever hoort bij de eerste.

Kennelijk waren de ontwikkelingen binnen Q* zo onverwacht en krachtig dat de paniek is toegeslagen bij de safetyisten. Voor dit blog boeit mij niet zo hoe het nu in personele zin verder gaat bij OpenAI, maar wel wat die ontwikkelingen in Q* nu eigenlijk zijn. Dat is voor een volgend bericht.

We must always exert the full strength of our imagination to examine where the full use of our new modalities may lead us. 

Deze wijze raad komt niet uit de hoek van het recente alarmisme over AI, maar uit een artikel van Norbert Wiener uit 1960 (Some Moral and Technical Consequences of Automation, Science Vol.131 pp. 1355-1358). Wiener is de uitvinder van de term Cybernetica, en had al in 1947 een boek onder deze titel (Cybernetics) gepubliceerd over besturing en communicatie in zowel levende organismen als machines.

In 1960 kreeg een schaakprogramma op de computer nog regelmatig klop van amateurspelers, maar bij checkers (i.e dammen op een 8×8 bord) kon een programma al wel zoveel leren van het spelen van partijen dat het na verloop van tijd de eigen programmeur kon verslaan. Het gegeven dat een computer programma slimmer kan worden dan degene die de oorspronkelijke instructies gegeven had, was voor Wiener een kantelpunt. Dat het hier om een smalle taak gaat verhinderde hem niet zijn ‘imagination‘ aan het werk te zetten en op basis daarvan aan te sporen tot grote voorzichtigheid.
Een belangrijk element in zijn overwegingen is de factor tijd, of eigenlijk snelheid, die voor een computer op een geheel andere schaal werkt dan voor een individuele mens. Mocht er ondanks goede bedoelingen waarmee een zichzelf lerende computer in werking wordt gezet toch iets mis gaan, dan is de mens te laat om het te herkennen en zeker te laat om in te grijpen.

Wiener vergelijkt met de Tovernaarsleerling van Goethe:

“… Ein verruchter Besen!
Der nicht hören will.
Stock! der du gewesen,
Steh doch einmal still!
Willst’s am Ende
Gar nicht lassen;
Will dich fassen,
Will dich halten,
Und das alte Holz behende
Mit dem scharfen Beile spalten…”.

Voor wie het verhaal niet kent: de leerling had als taak gekregen om water te halen. Uit luiigheid wist hij met zijn nog beperkte tovenaarskunst een bezem zodanig te betoveren dat die water ging halen. En ging halen, en ging halen… totdat de leerling er bijna in verdronk. De leerling kent de spreuken niet om het te stoppen. Hij dreigt met de bijl, gebruikt deze ook met als gevolg dat er meer bezems ontstaan die water gaan halen. De tovenaar zelf weet aan het einde van het gedicht gelukkig wel de juiste spreuken om het te stoppen.

Hier en nu vliegen de voorspellingen over de toekomst van AI en de gevaren van te snelle ontwikkeling ons om de oren. Ik denk dat niemand weet –kan weten– waar het heen gaat en in welk tempo. Het Woven web of guesses is hier een onrustig spanningsveld waarin wetenschappelijke inzichten, economische belangen en ideologische overtuigingen er een ware richtingenstrijd van lijken te maken. 

Ik vind voorlopig rust in het boek van Stuart Russel: Human Compatible, AI and the Problem of Control (2019, met een actualisering van medio 2023). Over zijn inzichten schrijf ik later, of het de juiste bezweringsformules zijn weet ik nog niet, ik heb het boek nog niet ver genoeg gelezen.

Er zijn mensen die denken dat je AGI en ASI kunt bereiken door het menselijk brein na te bouwen in computers. Mogelijk zou je zelfs bewustzijn van een menselijke donor kunnen uploaden.
Projecten op dit gebied staan bekend onder de verzamelnaam Whole Brain Emulation, WBE.

Anders Sandberg (University of Oxford) vatte in een artikel uit 2014 de gedachtegang samen:

Whole brain emulation (WBE) is the possible future one-to-one modeling of the function of the entire (human) brain. The basic idea is to take a particular brain, scan its structure in detail, and construct a software model of it that is so faithful to the original that, when run on appropriate hardware, it will behave in essentially the same way as the original brain. This would achieve software-based intelligence by copying biological intelligence (without necessarily understanding it).

Ik moet bekennen dat ik zelf ook lange tijd de fantasie heb gehad dat computers het equivalent van menselijke intelligentie zouden kunnen hebben als ze eenmaal maar net zoveel elementen, transistors, in geïntegreerde schakeling zouden tellen als er in het menselijke brein aan neuronen en verbindingen aanwezig zijn. Mijn wat kinderlijke gedachte was dat zulke intelligentie in computers min of meer spontaan zou ontstaan als eenmaal de omvang op orde was.

De robotverhalen van Asimov en andere science fiction hielpen die fantasie in stand houden, zeker toen ik hoorde van de Wet van Moore. Die wet zegt dat door technische vooruitgang het aantal transistors in een geïntegreerde schakeling elke twee jaar verdubbelt.
Eigenlijk is het niet meer dan een voorspelling die Gordon Moore — de baas van Intel destijds — half de jaren 60 deed toen er nog maar 64 transistors op een chip gingen. Ik hoorde er pas 20 jaar later voor het eerst van, ik weet niet meer waar of van wie, maar de voorspelling was toen nog steeds accuraat.

Het is niet zo moeilijk om uit te rekenen wanneer het gedenkwaardige moment komt dat het aantal schakelingen in een computer het aantal neuronen en verbindingen in het menselijk brein evenaart en daarna gaat overtreffen. We zijn er dichtbij, want we hebben het voorspelde tempo aardig vol weten te houden — met in de laatste jaren een niet te onderschatten rol van ASML.

Geef je verbeelding even de ruimte.
Het menselijk brein bevat naar schatting 80-90 miljard neuronen, goed voor 10.000 miljard synaptische verbindingen.
De M2 Ultra-chip van Apple heeft 134 miljard transistors, de grafische processor Nvidia AD102 GPU heeft er 75 miljard. Zeg samen 200 miljard. De geheugenchips zijn dan nog niet meegerekend.

Verdubbelen elke 2 jaar naar 10.000 miljard gaat via 200->400->800->1.600->3.200->6.400->12.800 miljard.
Minder dan 6 “stappen” vanaf nu, zeg 10 -11 jaar. Voor consumentenelektronica…

Kort geleden zag ik de sciencefictionfilm Transcendence (uit 2014).

Daarin wordt het volledige bewustzijn van een (vermoorde) geleerde geüpload naar een kwantumcomputer. Qua omvang van de data en benodigde schakelingen is het niet vreemd dat het er in past.

Het onwaarschijnlijke deel is dat de personage zo verder ‘leeft’. In de film ontwikkelt deze intelligentie zich explosief — ongehinderd immers, en dankzij internet met toegang tot alle materiële en immateriële bronnen. Het dreigt voor de mensheid niet goed af te lopen, natuurlijk.

In het kamp van de AI doemdenkers wordt dit de gang naar de singulariteit genoemd, een punt in ruimte-tijd waar natuurwetten hun geldigheid niet (meer) hebben (zoals bij de oerknal bijvoorbeeld).

Hoe serieus moeten we dit alles nemen? Het prikkelt zeker de verbeelding. Ik heb inmiddels grote twijfels of emulatie op deze manier zou kunnen werken en of je in enige vorm –in de woorden van Sandberg– biologische intelligentie in software gebaseerde intelligentie zou kunnen omzetten. Er zit wat mij betreft te veel veronderstelde spontaniteit in de aannames, en misschien wel een denkfout die formeel als category error benoemd kan worden. Zoals de gedachte dat de tanden en kiezen van een goed aangemeten kunstgebit vanzelf in de kaak van de tandeloze zullen gaan vastgroeien…

Definitief ben ik van mijn oorspronkelijke illusie beroofd door het podcast interview van Lex Fridman met Karl Friston van zo’n 3 jaar geleden. Friston is een neurowetenschapper die veel fysisch onderzoek op het gebied van hersenscans (MRI en zo) heeft gedaan en mede op basis daarvan een aantal principes over de werking van het brein heeft geformuleerd. In komende berichten kom ik uitgebreid terug op dit werk dat belangrijk is om te begrijpen hoe interne processen in het brein zich verhouden tot waarnemingen en acties in de externe wereld. Bovendien heeft Friston zich recent in de dynamische wereld van AI ontwikkeling gestort. Een jaar geleden is hij benoemd tot Chief Scientist bij VERSES, zie het persbericht.

De eye-opener voor mij (en voor Fridman, zo bleek) was dat je een (menselijk) brein niet moet opvatten als een ongestructureerde verzameling van volledig met elkaar verbonden neuronen die nog vrij in te richten is. Het is geen magic soup. In werkelijkheid (en dan bedoel ik de fysische) is je brein een hiërarchische structuur die uit een aantal lagen bestaat. Friston vergelijkt het met de structuur van een ui.

De inrichting van die lagenstructuur is niet zonder meer af te leiden uit een snapshot of scan van het netwerk van synaptische verbindingen en de waarden van de neuronen daarin, zoals bij machine learning. Het is een structuur die voortdurend in ontwikkeling is om de entiteit van het brein in een dynamische omgeving in stand te houden. Verlaat dus maar het idee dat je een brein als een soort geheugendump, een momentopname, zou kunnen uploaden waarna die vanzelf tot leven zou komen.

Ze hadden natuurlijk ook gewoon even kunnen bellen met Sam Altman of Bret Taylor van OpenAI. In plaats daarvan hebben ze een paginagrote advertentie geplaatst in de New York Times van 19 december 2023 met daarin een Open Letter to the Board of Directors at OpenAI waarin ze de ‘assistentie’ van OpenAI claimen bij hun verdere ontwikkeling van AGI.

‘Ze’ is het bedrijf VERSES AI, ik heb ze in een eerder bericht al eens genoemd omdat Karl Friston, de gelauwerde neurowetenschapper, daar sinds een jaar Chief Scientist is.

Waar gaat het om? VERSES zegt een doorbraak te hebben bereikt in de ontwikkeling op weg naar AGI. Hun doorbraak ligt op een ander pad dan dat van de grote taalmodellen, zij ontwikkelen op basis van de theorieën van Friston, zoals het Free Energy Principle. VERSES noemt die benadering Active Inference.

En bij OpenAI hadden ze de deur al wijd opengezet. In het charter van OpenAI Inc (i.e. de nonprofit holding van OpenAI Global LLC) staat inderdaad met zo veel woorden dat ze zullen stoppen met zelfstandig (en competitief) doorontwikkelen zodra er een project dicht genoeg bij AGI komt voordat OpenAI daar zelf is. Ze zullen dan dat project gaan assisteren, precies wat VERSES vraagt. De trigger-voorwaarde in het charter is een goede kans op succes binnen twee jaar.

De tekst van het charter is al uit 2018, maar zeer recent heeft CEO Sam Altman gezegd dat er (na ChatGPT) een nieuwe doorbraak nodig is om AGI te bereiken. Op de huidige manier doorontwikkelen van LLM met steeds meer parameters en steeds meer energiebehoefte om de modellen te laten draaien is een heilloze weg, aldus Altman. Hij staat niet alleen in die opvatting, ook andere spraakmakers (zoals Bill Gates, Yann LeCunn, Gary Marcus) zijn het met hem eens.

Dus ja, er is voldoende gelegenheid voor partijen om hun kans te grijpen. De uitspraak van Altman impliceert dat het dus niet andere ontwikkelaars van LLM kunnen zijn. Daarom is VERSES, in elk geval op papier, een geweldige kandidaat om hun eigen wagentje aan de rijdende trein te haken en wellicht zelfs de trekkende rol over te nemen.

Alles staat of valt natuurlijk met de deugdelijkheid van de claim van VERSES AI dat ze zover zijn. Hun communicatie is strak, zelfs agressief, in de stijl van Apple en Microsoft in hun beginjaren. Ik heb zelf nog onvoldoende kunnen kijken naar de inhoudelijke kant, die wel erg schuil gaat onder hun marketingcommunicatie en ronkende modellen, maar ik wil me graag laten verrassen. Het spel is nog maar net begonnen…

Het promofilmpje dat hoort bij de campagne van VERSES staat online. Bekijk het hier en vorm zelf een oordeel. De video is in elk geval professioneel gemaakt en is de 7,5 minuut om er naar te kijken zeker waard.

“Eindeloos typende apen” en “Jan Hein Donner” – dat waren mijn eerste associaties toen ik eind december las dat de New York Times een aanklacht heeft ingediend tegen OpenAI (en Microsoft) wegens inbreuk op auteursrecht. Het zegt iets over mijn eigen next-token voorspelling, maar ik kan het uitleggen.

De krant beweert dat ChatGPT bij sommige antwoorden ‘bijna letterlijk teksten van NYT kopieert’, ook teksten die achter de betaalmuur zitten. De vermeende inbreuk betreft het zonder toestemming gebruiken van NYT teksten bij de training van het taalmodel.

Het lijkt me sterk dat de NY Times de rechtszaak gaat winnen. Voor zover ik weet gaat een tekst nooit als geheel een taalmodel in. Niet bij training en niet bij feitelijk gebruik. De tekst wordt eerst opgeknipt in stukjes, tokens, die vaak nog kleiner dan een woord zijn. Dankzij machine learning kan elk token worden ‘ingepakt’ in een vector van honderden parameters die de context ervan vastleggen. Het taalmodel gebruikt die vectoren later om het meest plausibele vervolg in een antwoord in wording te bepalen – op woord niveau.

In de praktijk blijkt het niet mogelijk om een letterlijk citaat op te halen uit een taalmodel zonder extra voorzieningen. Claude 2.1 zegt er desgevraagd dit over: “Ik heb geen toegang meer tot de letterlijke trainingsdata waarop mijn model getraind is. Ik kan geen citaten of exacte passages terughalen uit die oorspronkelijke data. (…) Tijdens het trainen werden statistische representaties en patronen uit die teksten geëxtraheerd, niet de exacte zinnen en passages.”

De ‘stelling van de eindeloos typende apen’ zegt dat het willekeurig indrukken van toetsen op een schrijfmachine, bijvoorbeeld door een aap of een typekamer met apen, zo goed als zeker vanaf enig punt een kopie van – bijvoorbeeld – een werk van Shakespeare zal produceren mits er voldoende tijd is.

‘Voldoende tijd’ moet je hier wel letterlijk nemen, in Wikipedia staat berekend dat de kans op een foutloze Hamlet (130.000 letters) 1 op 3,4×10^{183.946} is. Bij een typekamer met GPT, die suggesties doet voor de toetsvolgorde, neemt de kans op een correcte tekst enorm toe en wordt de benodigde tijd extreem bekort, zeker voor een tekst ter grootte van een artikel uit de NYT.

Zie het artikel in Wikipedia, waarin ook kansberekeningen staan.

Als ik OpenAI was zou ik me voor de rechter op het typekamer-argument beroepen.

En Jan Hein Donner? De kleurrijke schaakgrootmeester (1927-1988) vond dat hij auteursrecht had op de door hem gespeelde partijen, en wilde zelfs rechtszaken voeren tegen kranten en tijdschriften die zijn partijen zonder vergoeding publiceerden. Het bleek een kansloze onderneming – schaken is een spel met bekende regels en een eindig aantal mogelijkheden.

Naschrift Ik heb de vraag naar herkomst en auteursrechten ook aan Bard/Gemini gesteld, een nieuwere generatie zeg maar. Het antwoord was:

Bij het genereren van citaten ga ik zorgvuldig om met auteursrecht kwesties. Ik zorg ervoor dat ik alleen citaten gebruik van bronnen die openbaar beschikbaar zijn, of van bronnen waarvoor ik de auteursrechten heb verkregen. Als ik een citaat genereer, geef ik altijd de bron van het citaat aan. Dit doe ik door de naam van de auteur en de titel van het werk te vermelden. Ik kan ook een link naar de bron opnemen. Als ik een citaat genereer uit een bron die niet openbaar beschikbaar is, vraag ik altijd toestemming aan de eigenaar van de auteursrechten voordat ik het citaat gebruik.”

Het zal niet verbazen dat de actie van VERSES van vlak voor de kerst, met hun open brief in de NY Times, door de meeste deelnemers aan het OpenAI community forum vooral gezien wordt als een publiciteitsstunt. Heeft VERSES een doorbraak op een pad naar AGI bereikt? Eerst zien dan geloven… is de teneur.
Officiële reacties zijn er nog niet geweest.

Een enkeling merkt op dat er een jaar geleden door een groep auteurs van diverse universiteiten in Europa, VS en Canada een serieus onderzoeksartikel is gepubliceerd, Designing Ecosystems of Intelligence from First Principles.

De auteursgroep wordt aangevoerd door Karl Friston en Maxwell Ramstead, die hun erkenning al lang op zak hebben als neurowetenschappers. Zij werken nu voor VERSES.

Inmiddels is er ook op de site van VERSES een aantal toelichtende artikelen geplaatst – met uitleg en achtergrond van hun claim en een tijdpad waarop ze de bewijzen gaan leveren. Het meest concreet is hun product Genius, dat uit een aantal samenwerkende intelligente agents moet gaan bestaan.
Dit is de tijdlijn die ze beloven:

Ik denk dat ze op dit moment nog niet veel hebben om te laten zien, anders zouden ze ons wel overspoelen met demo’s. Wel vind ik hun ontwikkelfilosofie en -strategie goed uitgeschreven en onderbouwd. Hun verhaal is zó afwijkend van wat de ontwikkelaars van de grote taalmodellen vertellen dat dat alleen al interessant is om verder te onderzoeken. Hun benadering lijkt bovendien een aantal van de grote maatschappelijke risico’s van de LLM te ondervangen.

In volgende berichten kom ik er uitgebreid op terug, er is inmiddels materiaal genoeg en ik heb ook al gezien dat er een zekere continuïteit is vanuit research van eind jaren 80 (Christopher Watkins) op het gebied van machine learning, meer specifiek Q-learning.

NB Waren we de Q al niet tegengekomen als Q-star (Q*), de vermeende doorbraak van OpenAI zelf en de eveneens vermeende steen des aanstoots, aanleiding voor het kortstondige ontslag van Sam Altman bij OpenAI?

Bewijs dat in een gelijkbenige driehoek de basishoeken gelijk zijn.

Het is een opgave uit de vlakke meetkunde, (begin) middelbare school – in elk geval in mijn HBS-tijd (dus voor 1968). Het schoolbewijs -toen- maakte gebruik van een hulplijn (de middelloodlijn vanuit de top), zonder die extra lijn zou je het bewijs niet kunnen leveren werd gezegd.

Toen AI nog kunstmatige intelligentie heette en vooral rule-based was, was de stelling een ultieme test. Zou een computer die hulplijn kunnen vinden of het bijltje er bij neer moeten gooien? De anekdote, veel anders kan het niet zijn, is mij altijd bijgebleven. Het vraagstuk werd aan de computer voorgelegd, de onderzoekers waren in gespannen afwachting van de reactie van de computer en voorbereid op een error of time-out. Maar het antwoord kwam snel en was verrassend: In de gegeven situatie (A is de top) is \DeltaBCA congruent met \DeltaCBA, immers AB=AC dus twee zijden zijn gelijk en de ingesloten (top)hoek A is gelijk (want gelijk aan zichzelf). Bijgevolg zijn alle overeenkomende elementen gelijk, dus \angleABC = \angleBCA. QED, geen hulplijn nodig.

Gisteren, 17 januari 2024, is in Nature (625, pages 476–482 (2024)) het artikel Solving olympiad geometry without human demonstrations verschenen. De auteurs introduceren in het artikel AlphaGeometry, de nieuwste telg in de AlphaX-familie waarvan AlphaGo, AlphaZero, AlphaFold beroemde leden zijn.

Op de foto zie je auteurs van het artikel bij een schoolbord waarop een van de olympiade problemen is uitgewerkt. Bron: New York Times 17 januari 2024.

AlphaGeometry kan stellingen bewijzen in de Euclidische vlakke meetkunde. Net als bij AlphaZero is er geen menselijke input of labeling geweest, het is een op synthetische data getraind systeem dat gebruik maakt van een GPT-achtig taalmodel (maar kleiner) in combinatie met een symbolic deduction engine.

Om te laten zien wat het systeem kan hebben ze het een test-set voorgelegd van 30 meetkunde vraagstukken uit recente internationale wiskunde olympiades (IMO in het Engels). AlphaGeometry kon er 25 foutloos oplossen en staat daar mee op het niveau van de gemiddelde gouden medaillewinnaar bij zo’n olympiade.

Vanuit een zeker standpunt is het een indrukwekkende prestatie, als je je ooit zelf gewaagd hebt aan opgaven uit een wiskunde olympiade dan zal je dat willen bevestigen. Gedacht vanuit AI ontwikkeling is het een proof-of-concept, niet meer en niet minder, van een neuro-symbolic systeem. In de toekomst mogen we ook andere toepassingen van dit, of een eruit afgeleid, systeem verwachten.

Ik wil er nog meer over uitzoeken, met name de manier waarop de synthetische dataset is ontworpen en gerealiseerd. Het is nodig om met synthetische data te werken (er wordt gezegd 100 miljoen meetkundige bewijzen) omdat de beschikbare verzameling veel te klein is om in machine learning te gebruiken. Het geldt bijvoorbeeld ook voor AlphaFold dat nieuwe eiwitten kan voorspellen, maar dat ook op synthetische gegevens getraind moest worden omdat er simpelweg niet genoeg bekende eiwitten aanwezig zijn.

Hoe slim is AlphaGeometry? Nou, ongeveer het eerste probleem dat getackled werd is dat van de hoeken van de gelijkbenige driehoek. Zie het plaatje. Het systeem komt niet met de zelfongruentie-redenering, maar trekt zowaar de fameuze hulplijn!

Als ik het goed begrijp wordt eerst de symbolic deduction engine losgelaten op het probleem. Als die het kan oplossen, prima, maar zo niet dan wordt via het taalmodel de suggestie gedaan om een punt toe te voegen en de deductie opnieuw te proberen. Hoe dat toevoegen gaat weet ik nog niet, maar op enig moment komt er een configuratie waarin het bewijs geleverd kan worden.
Kennelijk zaten symmetrie overwegingen (de basis van de congruentie van de driehoek en zijn spiegelbeeld) niet in het bereik van de deduction engine.

Hulppunten zetten en hulplijnen trekken horen dus tot het standaard arsenaal van AlphaGeometry, precies zo als het op de HBS geleerd werd.

Het is tijd om met dit blog een ander landschap op te zoeken. Niet dat ik hier uitgekeken ben. Ruim een half jaar geleden begon ik deze website om verslag te doen van mijn verkenningstocht in de wereld van AI. Ik wilde graag kantelpunten en sleutelelementen in de AI ontwikkeling ontdekken, en inhoudelijk begrijpen waar de verrassende versnelling in het gebied vandaan kwam.

Dit is het 45e bericht dat ik hier maak en ik ben nog lang niet rond. Ik zal ook nog wel onderwerpen in de lijn van het voorgaande oppakken.
Wel heb ik het gevoel dat er in het vakgebied zelf een verandering aan zit te komen. Een oriëntatieverschuiving in de huidige ontwikkelrichting, of misschien komen er landschappen bij en worden er nieuwe horizons geopend.

Ik heb zelfs het eigenwijze idee welke kant het op zou kunnen gaan, daarbij stevig geïnspireerd door het werk van Karl Friston en wat daar bij hoort.

Verwacht geen zekerheden in het nieuwe landschap of achter een nieuwe horizon – met guesses zullen het we het ook nu weer moeten doen. Dat maakt het des te interessanter.

Over Friston schreef ik hier al kort. De aanleiding was de door het bedrijf VERSES geclaimde doorbraak op het gebied van AGI. Friston is sinds een jaar Chief Scientist bij dat bedrijf. Eerlijk gezegd voel ik me ongemakkelijk bij dat VERSES. Alleen al die hoofdletters elke keer, vanaf hier schrijf ik gewoon Verses. Hun verhaal is niet slecht, daar ligt het niet aan. Het is denk ik mijn allergie voor agressieve marketing bij weinig bewezen harde resultaten.
In de komende berichten wil ik me vooral richten op de ideeën en de wetenschap van Friston (en zijn vakgenoten), en de historische context waarin het volgens mij past. We zien dan wel hoe het met Verses loopt.

Alan Turing was beginpunt en richtpunt tegelijk voor de ontwikkelingen die tot de grote taalmodellen hebben geleid. Zijn vraag uit 1950 — “Can machines think?” — en de bijbehorende lakmoesproef die we Turing Test zijn gaan noemen hebben hun uitwerking niet gemist.

Bij de ontwikkelingen die ik de komende tijd wil gaan onderzoeken staat ook zo’n iconische wetenschapper aan het begin, met een even brutale vraag: Erwin Schrödinger, van wie in 1944 het boekje “What is Life?” verscheen. Het bevat een aantal samenhangende colleges uit zijn tijd in Dublin. Er volgt net zo’n ambitieus en relevant onderzoeksprogramma uit als we bij Turing hebben gezien.

Mijn zoektocht in de wereld van AI gaat verder in een ander landschap, op een ander terrein. Ik wil me in neurowetenschap gaan verdiepen, zij het in een specifiek deel waar men niet wars is van wis- en natuurkunde en bijbehorende principes en formules.

In dat land ben ik een vreemdeling, een leek van goede wil. Hier wordt ook gemodelleerd, maar net anders dan in de vallei waar we vandaan komen. De hersenen zijn nu niet model voor machine learning, of metafoor in biomorf taalgebruik. In deze wereld gaat het juist om het ontwikkelen van begrip van de werking van de hersenen zelf, de beschrijvende taal komt uit de natuurwetenschappen. Die leveren niet alleen van toepassing zijnde principes en formules, maar ook metaforen als dat zo uitkomt – kom onder je Markov deken vandaan en laat je Bayesiaanse brein ontwaken…

Bron: Active inference and learning (Friston et al) in Neuroscience and Biohavioral Reviews 68 (2016) pp. 862-879

Ik had wel enige aarzeling om er aan te beginnen. Mijn onderwerp voor deze blogs is AI. Misschien is de ontwikkeling van AI vanuit het nieuwe, neurowetenschappelijk gefundeerde, perspectief nog niet ver genoeg. Hier is het vooral belofte en nog weinig werkelijkheid. Hier zijn nog geen grote modellen met bewezen succes, al staat de definitie van dat succes ter discussie. Hier is nog geen stortvloed van wetenschappelijke en populaire artikelen, of van tutorials op YouTube. En er is een luidruchtige reisgenoot – Verses – die met veel marketing geweld het zicht op de inhoud loopt te verstoren.

Toch ben ik gestart met deze voor mij nieuwe route omdat ik denk dat het intensiveren van deep learning in de richting van steeds meer trainingsdata en miljarden parameters zo maar krakend tot stilstand zou kunnen komen. Het is een wapenwedloop aan het worden, met een steeds grotere behoefte aan reken- en opslagcapaciteit en bijbehorende aanspraak op natuurlijke resources. Bovendien is bij taalmodellen en generatieve AI de ontwikkeling en wetenschap uit zicht aan het raken, misschien omdat er minder onderzocht wordt, maar ook letterlijk omdat door commerciële belangen van grote partijen ramen en deuren dichtgaan.

Een van mijn eerste blogberichten hier heet ‘Woord voor woord‘. Het was voor mij een nieuw inzicht: een LLM levert bij een gegeven serie woorden een mogelijke voortzetting in de vorm van het meest plausibele woord. Niet meer en niet minder. Door slimme architectuur van het informatiesysteem, door training op gigantische databases met van internet geschraapt materiaal en door zware inzet van cloud computing zijn er fantastische resultaten geboekt. Mijn oorspronkelijke fascinatie voor de prestaties bij natuurlijke taalverwerking is alleen maar groter geworden, noem het gerust bewondering. En er is ook al de gewenning aan wat er kan — dit gaat niet meer weg. Het is tegelijkertijd ook de beperking. Een next-sequence voorspelling is niet anders dan wat het is. Sommigen veronderstellen dat een LLM logisch zou kunnen redeneren, of zich een model van delen van de werkelijkheid zou kunnen vormen, wellicht zelfs een beeld van de eigen modus operandi zodat het model zou kunnen uitleggen hoe het tot zijn resultaten komt. Ik twijfel want eerlijk gezegd zie ik niet waar deze capaciteiten vandaan zouden kunnen komen, anders dan van het nadoen of nazeggen wat er in de gigantische verzameling trainingsmateriaal en beschikbare actueel materiaal aanwezig is of te combineren valt. Hallucineren of oprispen zijn misschien wel geen fouten, software bugs, zoals de makers zeggen, maar juist inherente en intrinsieke systeemeigenschappen.

In mijn ‘nieuwe’ landschap zijn er inzichten en beloftes die misschien wel de volgende stappen zouden kunnen bepalen. Een in december 2022 verschenen white paper heeft in elk geval de ambitie die stappen te identificeren. Zie Designing Ecosystems of Intelligence from First Principles. Het is van de hand van een groep auteurs met Karl Friston en Maxwel Ramstead als hoofdauteurs. In komende berichten wil ik er nader op ingaan.

Hoe komt het dat wij – net als andere levende organismen – niet vervallen tot stof en verwaaien in de wind? Waarom lossen wij niet op, als suikerklontjes in een kosmische thee? Zo’n verval zou je immers wel verwachten op basis van de natuurwet die toenemende entropie voorspelt – de tweede wet van de thermodynamica. “Die Energie der Welt ist konstant, die Entropie der Welt strebt einen Maximum zu” schreef Rudolf Clausius in 1854.

Het is een wat ruig begin van mijn tocht op het terrein van de neurowetenschap, zo’n existentiële vraag, maar je komt er vrij snel terecht als je aan een draadje van de ingewikkelde materie gaat trekken. Het draadje begint in mijn geval niet bij AI, maar bij het werk van Karl Friston van ruim voor de tijd dat hij zich met Verses in de race om AGI zou storten.

Mijn interesse ontstond een paar jaar geleden in gesprekken met mijn buurman die psychoanalyticus is. Hij wees me op het werk van Mark Solms, een neuropsycholoog die later, toen hij al in dat vak werkte, ook een opleiding tot psychoanalyticus is gaan doen. In 2021 verscheen De Verborgen Bron – Op reis naar de oorsprong van het bewustzijn waarin Solms zijn bevindingen bij elkaar heeft gebracht op een manier die ook voor geïnteresseerde leken toegankelijk is.

Buurman sprak over Ego en Id en wat het verschil daar tussen is, over affect, over zelforganisatie – of beter gezegd over het organiseren van een ‘zelf’. En over de rol daarbij van psychoanalyse om objectieve en subjectieve elementen met elkaar in verbinding te brengen.

In het werk van Solms gaat het uitgebreid over neurologie, de werking van de hersenen, cognitie, en ‘bewustzijn’.

In zijn uitleg komt een heel beschrijvingsinstrumentarium te pas, waarvan ik eerst dacht dat het vooral om modellering ging. Ik weet inmiddels dat een deel van wat ik oorspronkelijk als (denk)model zag ook een bewezen en gemeten fysische en fysieke werkelijkheid is.

Afbeelding gegenereerd door Perplexity AI bij een vraag over psychoanalyse.

Solms raakt gefascineerd door een artikel van Karl Friston, Life As We Know It (2013) dat hij pas in 2017 wat nauwkeuriger leest. Hij benadert daarna Friston voor samenwerking waaruit een aantal gemeenschappelijke artikelen is ontstaan.

Solms beschrijf Friston als “…de laatste van de grote wetenschappers die mijn levenswerk hebben gevormd“. Als ik het goed begrijp heeft de invloed van Friston vooral te maken met het onder een noemer brengen van ‘mentale energie’ (‘driftenergie’ bij Freud) en ‘thermodynamische vrije energie’. Die laatste is meetbaar en herleidbaar tot natuurkundige wetten, in de benadering van Solms en later in de samenwerking met Friston zou dat dan ook voor de mentale energie en bewustzijn moeten gelden.

In de woorden van Solms: de verbindende factor tussen zijn werk en dat van Friston is homeostase. Levende organismen zijn in staat om zichzelf in stand te houden en regie te houden in onvoorspelbare of onverwachte omstandigheden. Als mechanisme gezien, is een homeostatisch systeem vrij eenvoudig: je hebt een receptor nodig om een omstandigheid gewaar te kunnen worden, een regelcentrum dat regie voert op basis van bepaalde bandbreedtes en een effector om arbeid te verrichten die nodig is om bij eventuele overschrijding van de bandbreedtes het systeem weer binnen de grenzen te brengen.

Als het mechanisme zo eenvoudig is, dan kan het ook teruggebracht worden op natuurkundige wetten en principes. Daar gaat dat artikel van Friston uit 2013 over, en ook vele artikelen die daarna zijn verschenen met nadere uitwerkingen. In volgende berichten komt mijn focus weer op AI gerelateerde zaken te liggen, net als die van Friston in zijn recente werk zoals Designing Ecosystems of Intelligence from First Principles. Het zal blijken dat die Principles precies die natuurkundige wetten en principes zijn die de basis vormen van het homeostase mechanisme.

Dat mechanisme is overigens ook het antwoord op de ruige vraag uit het begin van dit bericht.

Mycorrhiza is de symbiose van planten en schimmels waarbij de schimmel mineralen uit de bodem haalt om ze aan de plant door te geven in ruil voor suikers.

Met name de ecoloog Suzanne Simard heeft de aandacht gevestigd op het belang van deze symbiose bij bomen en bossen met haar inzicht dat er ondergrondse mycorrhizale netwerken zijn, die bomen met elkaar verbinden en communicatie mogelijk maken via een netwerk van schimmels. Ze publiceerde haar eerste bevindingen al in 1997 in Nature.
In haar visie concurreren bomen niet met elkaar om licht, water en voedsel maar werken ze samen ten gunste van het bos als geheel, als ecosysteem.
Zulke bosecosystemen worden wel aangeduid als ‘Wood Wide Web ‘.

Een deel van haar ideeën is de afgelopen jaren nogal een hype geworden en ook terechtgekomen in sferen die, hoe zal ik dat zeggen, niet bevorderlijk zijn voor het wetenschappelijke gehalte van de inzichten. In de film Avatar zijn de concepten nogal romantisch uitgewerkt – een blockbuster, dat wel.
Voor zover ik kan zien is het biologische fundament van haar werk niet omstreden, en zelfs fors uitgebreid door nader onderzoek waarbij de heilzame werking van schimmels voor bodemstructuur en biodiversiteit is vastgesteld.

Het concept van het wood wide web kwam ik ook tegen in een toelichting op het document Designing Ecosystems of Intelligence from First Principles van Karl Friston et al. Of je het nu als een voorbeeld uit de werkelijkheid wilt zien of als metafoor maakt niet veel uit voor de basisgedachte dat we af moeten van het idee dat de ontwikkeling van AI om enkelvoudige intelligentie zou moeten draaien, met de menselijke cognitieve intelligentie als maat.
We zijn niet op weg naar monolithische superbreinen die alles weten en alles kunnen, en die bepalend zouden kunnen zijn voor heil of ondergang van de mensheid als geheel. In plaats daarvan zou – in de visie van Friston – de ontwikkeling gericht moeten zijn op samenwerkende intelligent agents, zowel synthetische als natuurlijke, die kennis en de uitvoering van taken delen en samen daadwerkelijke ecosystemen van gedeelde intelligentie vormen.

Er moet uiteraard nog veel gedaan worden, het document is een ontwerpdocument, een plan om aan de slag te gaan. De roadmap van Friston cs onderscheidt 5 stadia (de huidige meegerekend) waarvan de eerstvolgende de komende 2 jaar uitontwikkeld zou moeten worden tot op het hoogste ambitieniveau. Op de volgende stadia hebben ze – tentatief – periodes van 4, 8 en 16 jaar gezet – ook nog met een steeds lager ambitieniveau.
In een volgend bericht zal ik de stadia verder uitwerken, ze vormen een soort taxonomie zoals ik eerder beschreef en waarin vooral de cognitieve kant is uitgewerkt. Hier is het uitgangspunt geheel anders.

Ik zal me er graag in gaan verdiepen – in het verloop van de ontwikkeling maar ook al in wat vooraf gaat. Daar komen immers de begrippen die ik eerder noemde zoals het Bayesiaanse brein, Markov dekens, homeostatisch mechamisme, entropie, free energy principe en meer vandaan. Het voorwerk is feitelijk begonnen bij Schrödingers’ What is Life? uit 1944. Friston bewijst in zijn eigen werk gepaste eer aan het denkwerk van deze illustere voorganger, in een volgend bericht zal ik daarom ook daar beginnen.

Erwin Schrödinger, februari 1943:

How can the events in space and time which take place within the spatial boundary of a living organism be accounted for by physics and chemistry?


Deze vraag heeft grote impact gehad op verschillende terreinen van de wetenschap in de 20e eeuw, tot op de dag van vandaag. De vraag zelf – the large and important and very much discussed question – staat centraal in een serie openbare colleges die Erwin Schrödinger in 1943 heeft gehouden namens het Trinity College in Dublin.

Hoewel ik vaktechnisch gezien veel achtergrond en jargon mis, probeer ik te begrijpen waar het Schrödinger om te doen is, en wat de belangrijkste vervolgvragen zijn. Het is zo’n zijpad dat ik op deze site graag op ga, juist vanwege de historische context.

In dit geval is de lange tekst die volgt in mijn ogen onmisbaar voorwerk om de uitgangspunten te begrijpen waarop het werk van Karl Friston cs is gebaseerd. Dan gaat het wel om het hoofdonderwerp van deze site, de ontwikkeling van AI en alles wat er mee samenhangt.

Bij Schrödinger draait het om barrières in ruimte en tijd en de informatie die er door heen moet zodat levende organismen kunnen (blijven) bestaan en hun homeostatische mechanismen op gang kunnen houden. Dat geheel beschrijven en verklaren op basis van natuurkundige en chemische principes is het doel dat Schrödinger zich stelt en in deze collegecyclus begint uit te werken.
Een boekje met de tekst en uitwerking van de betreffende colleges, verschijnt in 1944 onder de titel What is Life? Overigens wordt de vraag What is Life? zelf niet in directe zin beantwoord.

Levende organismen zijn een bijzonder type natuurlijke systemen omdat ze in staat lijken te zijn de tweede hoofdwet van de thermodynamica te omzeilen. Ze blijven door zelforganisatie, zelfordening, in tact binnen fysieke grenzen en ze persisteren in de tijd. Zie hier de barrières die ik noemde.

Orde en wanorde

Waar is de orde, de organisatie, van een levend organisme op gebaseerd? Beter gezegd: hoe kan het organisme weten hoe het zich moet organiseren? Het antwoord, volgens Schrödinger, is dat er een overleveringsmechanisme is, een script dat vast ligt in de kleinste elementen van een levend organisme. In de cel, of in de chromosomen binnen de cel.

Een belangrijke gedachte bij Schrödinger is dat er orde uit wanorde kan ontstaan. Denk aan het oplossen van een klontje suiker in vloeistof – een chaotisch proces – dat uiteindelijk in een evenwichtig en stabiel mengsel eindigt, de suiker heeft zich uniform verdeeld over de vloeistof. Het lijkt een definitiekwestie, maar als ik het goed begrijp gaat het om het beschouwingsniveau, welkom in de statistische mechanica. Op microscopisch niveau is er de wanorde van de atomen, die zich op macroscopisch niveau vertaalt in een uniforme verdeling, lees: orde.
Voor zo’n macroscopische orde zijn veel atomen nodig, hoe minder atomen hoe willekeuriger het systeem wordt – er is dan geen uniforme verdeling meer.

Schrödinger weet al wel, onder meer door onderzoek met röntgenstralen, dat in een cel de genen niet veel meer dan een paar duizend atomen hebben. Orde uit wanorde gaat hier dus niet op – zijn conclusie is dan ook dat dat de drager van de code zélf een stabiele verbinding is. Een fysisch object, zoals een kristal. En dan niet een met een herhalende roosterstructuur, zoals quartz, maar een a-periodische want er moet (in mijn woorden) veel diverse informatie zijn vastgelegd.

Het is 1943, het duurt nog 10 jaar totdat Crick en Watson hun werk over DNA en de rol van aminozuren publiceren, maar Schrödinger voorspelt op basis van een redenering ongeveer hoe zo’n script object er uit zou moeten zien. Vanuit de hoek van de moleculaire biologie heeft hij daar ook de credits voor gehad, zie het briefje dat Crick in 1953 aan hem schreef.

Entropie pomp

Vervolgens gaat het bij Schrödinger over entropie, ik geef zijn redeneringen in parafrase weer.

  • Wat kenmerkt een levend systeem? Dat het bezig is, iets doet, beweegt, uitwisselt met de omgeving, en zo voort.
  • Als een niet-levend systeem afgezonderd wordt, of in een uniforme omgeving wordt geplaatst, zal het als systeem verdwijnen, vervallen. Alle beweging stopt, door allerlei soorten wrijving. Alle elektrische of chemische potentiaalverschillen worden vereffend, temperatuurverschillen verdwijnen door warmtegeleiding. Er ontstaat een inert brok materie, in een permanente toestand waarin er niets meer gebeurt. Die toestand wordt in de natuurkunde een thermodynamisch equilibrium genoemd, of maximale entropie.
  • Een levend systeem, een organisme, weet het verval naar maximale entropie te vermijden of in elk geval uit te stellen. Hoe doet het levende organisme dat? Het directe antwoord is: door te eten, te drinken, te ademen, te assimileren, kortom door metabolisme, door stofwisseling.
  • Wat wordt er dan eigenlijk gewisseld? Het lijkt Schrödinger onzin dat het ook werkelijk ‘stoffelijk’ zou zijn, elk atoom is immers zo goed als elke andere, waarom zou je het ruilen? Gaat het om energie, zeg maar calorieën? Ook daar valt er eigenlijk niets uit te wisselen, iedere calorie is evenveel waard als een andere.

Dan komt Schrödinger met een gedachtegang, die ik eerst wat curieus vond maar die bij nader inzien toch heel logisch is.

  • Elk proces, elke handeling of gebeurtenis – zeg maar alles wat er gaande is in de natuur heeft een toename van entropie tot gevolg – de Tweede Wet van de Thermodynamica laat zich gelden.
  • Een levend organisme vermeerdert dus voortdurend zijn entropie. Je zou kunnen zeggen, het produceert entropie op weg naar de toestand van maximale entropie, ofwel de dood. Deze entropie telt op, het heeft een +-teken: positieve entropie.
  • Het organisme kan alleen in leven blijven door die positieve entropie ‘kwijt’ te raken of te compenseren. Dat is wat er in het metabolisme gewisseld wordt, entropie, en het lukt door voortdurend negatieve entropie uit de omgeving te halen, zich te voeden met negatieve entropie.

Schrödinger haalt er dan nog formules en berekeningen bij die ik laat voor wat ze zijn. Mijn associatie, niet die van Schrödinger, bij zijn redenering is die met een warmtepomp. Daar is het immers ook zo dat één kant wordt opgewarmd met positieve warmte terwijl de andere kant afkoelt door negatieve warmte toe te voegen. Je zou het hele mechanisme in de redenering van Schrödinger dus een entropie pomp kunnen noemen.

NB Ik meende met entropie pomp een originele metafoor te hebben. Dat is ook zo, ik heb het zelf bedacht. Daarna kwam ik er achter dat iemand mij is voor geweest: In 1967 verscheen van de hand van Barry Campbell in Nature (vol. 215 p. 1308) een kort artikel onder de titel Biological Entropy Pump. Hij verwijst daarbij onder meer naar de negatieve entropie van Schrödinger, die daar met een nare samentrekking negentropy wordt genoemd.
Met dank aan GPT4 die via Perplexity.ai feilloos dit artikeltje wist op te sporen nadat ik er met het steekwoord entropie pomp naar gevraagd had.

De link naar AI

De vraag What is Life? is door Schrödinger niet rechtstreeks beantwoord, maar ik hou het er op dat het zelforganiserend vermogen van levende organismen de kern van het leven zelf is. Een levend organisme kan interne stabiliteit handhaven ondanks veranderingen in de externe omgeving, en zich ‘voeden’ met negatieve entropie om homeostase te bereiken en voor langere tijd vast te houden.

Met woorden die niet passen in de historische context zou je kunnen zeggen dat het een knap staaltje is van die levende organismen, een treffend voorbeeld van intelligentie in de natuur, in biologische systemen. Maar onmiddellijk dient zich de vraag aan: Hoe dan? Hoe zit zo’n systeem in elkaar, wat komt er allemaal bij kijken?

Die vragen zijn aanleiding voor wetenschappelijk onderzoek op veel terreinen. Dat is nog volop gaande maar levert nu al inzichten die kunnen helpen zicht te krijgen op mogelijke modellen voor AI en een strategie voor verdere ontwikkeling, een alternatief voor het geweld van de grote taalmodellen. Ik schreef er hier al eerder over.

Het is ook de weg die Karl Friston voor zich ziet. In Designing Ecosystems of Intelligence from First Principles schrijft hij:

Contemporary developments in the statistical mechanics of far-from-equilibrium systems (and in particular, multi-scale, living systems) allow us to formalize these insights—of early cybernetics—as a physics of self-organization, which enables the study of intelligence itself as a basic, ubiquitous, physical phenomenon.

Zo komt de aap uit de mouw: dit blogbericht is niet alleen het historische uitstapje, een zijpad zo je wilt, maar ook een onmisbare inhoudelijke inleiding op het werk van Friston. In volgende berichten stort ik mij in de ‘physics of self-organization‘.

In eerdere berichten schreef ik dat het intensiveren van deep learning en alle additionele technieken er om heen een wapenwedloop van AI-modellen lijkt te worden, met een steeds grotere behoefte aan reken- en opslagcapaciteit en bijbehorende aanspraak op natuurlijke resources. Reden voor mij om een ‘ander landschap’ op te zoeken, waarin veelbelovende ontwikkelingen aan het starten zijn rond ecosystemen van gedeelde (kunstmatige en natuurlijke) intelligentie. Daar ga ik beslist mee verder, maar zo nu en dan is er rumoer van de andere kant van de heuvels waar ik ook aandacht aan wil besteden.

In dit geval gaat over ‘veiligheid van kunstmatige intelligentie’ in brede zin, AI-safety. Een fijn onderwerp, zoiets als voetbal of het weer – de drang om er over mee te praten komt niet altijd overeen met de deskundigheid waarmee het gebeurt. Het onderwerp is breed en betreft zowel maatschappelijke en culturele impact van AI (al onze banen verdwijnen, computers grijpen de macht, de menselijke soort zal ten onder gaan) als zorgen over vermeend oncontroleerbare technologie (versterking van vooroordelen, desinformatie in verkiezingstijd, toegankelijk worden van informatie over het zelf maken van vernietigingswapens, de onzekerheid of het videogesprek dat je voert met je kind aan de andere kant gedeepfaket is).

De directe aanleiding voor het rumoer was een relletje rond de beeldgenererende functionaliteit van foundation models, met name die van het AI-model Gemini van Google/Deep Mind en de manieren waarop de AI-firma’s proberen hun modellen ‘correcte’ inhoud te laten leveren.

Founding fathers van de VS die een afspiegeling lijken te zijn van de huidige samenstelling van de bevolking, terwijl ze eind 18e eeuw de grondwet tekenen. Vikings en nazi-militairen van kleur of native American, een vrouwelijke paus, een paus van kleur.

Het zijn beelden die zijn gemaakt door de nieuwe beeldgenerator van Gemini, het AI-model van Google/Deep Mind, na normale, neutrale vragen –prompts– zonder verdere specificaties van gender of ras.

De plaatjes werden op internet gretig opgepikt en doorgestuurd, ze gingen viraal. Natuurlijk door anti-woke activisten, maar ook door mensen die er het zoveelste bewijs van de gevaren van AI in zien.

Hoewel ook andere modellen op dezelfde euvels te betrappen waren, wist Google niet hoe snel ze excuses moesten aanbieden. Ze zijn daar zo geschrokken dat ze zelfs de beeldgeneratie functie van Gemini hebben uitgeschakeld. De strekking van de excuses van Google is dat ze ‘technische’ fouten hebben gemaakt. Ze hebben het model ‘geleerd’ om stereotypes en bias te vermijden om niet in de klassieke valkuilen te trappen die voortkomen uit de onvermijdelijke eenzijdigheid van het materiaal op internet waarmee het model getraind is. Artsen en advocaten zijn wit, CEO’s zijn mannen, gezinnen hebben een vader en moeder en de kinderen worden verzorgd door moeder, … en duizenden stereotyperingen meer.
Goed beschouwd hebben ze het model aan de output kant gedwongen om diversiteit te bewerkstelligen, zonder er bij te vertellen dat er situaties zijn waarbij dat nergens op slaat. Bij Google noemen ze het ‘overcompensatie‘.

De worsteling van Google om correcte output te borgen bereikte in zekere zin het tegendeel. Een voorzichtige glimlach uit leedvermaak is niet verboden, maar het gaat eigenlijk niet om het blunderen van big tech firma’s. Het onderwerp is anders en breder.

Eerlijk gezegd denk ik dat het niet om een technisch probleem gaat en er dus ook geen technische oplossing is. Ik schreef eerder al dat hallucineren of oprispen misschien wel geen fouten zijn maar juist inherente en intrinsieke systeemeigenschappen. De manier om er mee om te gaan moeten we niet zoeken in de techniek of in het verbeteren van de modellen, maar in de context waarin we de modellen inzetten en in de manier waarop we ons verhouden tot de uitkomsten. Er zitten technische kanten aan die systeem inbedding betreffen, en sociale die gaan over werk- en kwaliteitscultuur.

In de context van mijn werk had ik het vroeger vaak over het gedroomde gebruik, nog steeds een goed woord vind ik. Ik ben nog meer geïnteresseerd geraakt in de filosofische kant. Het gaat hier om de grootste kennissystemen ter wereld, die zijn volgestouwd met werkelijkheid door alle digitaal beschikbare informatie er in op te nemen. Wat betekent het als ze resultaten opleveren waarvan je niet zo maar weet of ze van werkelijkheidszin of (alleen) van mogelijkheidszin getuigen? En waar zit dan eigenlijk de (on)veiligheid? Daarover meer in volgende berichten.

De opvallende overcompensatie in de inzet van Google om hun AI model Gemini ‘correct’ beeldmateriaal te laten produceren is op het eerste gezicht een incident. Het voorval is niet specifiek voor dit AI model, ook het eerste niet op dit terrein en ongetwijfeld ook niet het laatste.

Ik schreef er in dit bericht over dat het volgens mij niet een vraagstuk is waar een louter technische oplossing volstaat. De cliffhanger daar, is de observatie dat je van de resultaten die een AI model je geeft niet zonder meer kunt zeggen of ze van werkelijkheidszin of van mogelijkheidszin getuigen.

De combinatie van beide woorden komt rechtstreeks uit Der Mann ohne Eigenschaften van Robert Musil in de titel van hoofdstuk 4, deel I:

Als werkelijkheidszin bestaat, moet mogelijkheidszin ook bestaan.
Author Name

De hoofdpersoon uit het boek, Ulrich, wil graag een mens zonder eigenschappen genoemd worden, zo’n mens zijn. Eigenschappen hebben de neiging vast te worden, fixaties, in plaats van opties in een oneindige reeks van mogelijkheden. Dan nemen ze je over en hollen ze je uit tot er – in mijn woorden – niets meer van je over is dan de etiketten aan de buitenkant.
Ulrich zou alle mogelijkheden open willen houden en willen onderzoeken, zonder dwingende moraal, zonder vastgezette principes. Je zou evengoed kunnen zeggen dat een man zonder eigenschappen juist beschikt over alle eigenschappen, om deze naar believen tot een bedoeld of gedroomd leven te wekken.

Als mens moet je eigenschappen afleggen als je zonder wilt zijn, maar een AI model heeft op voorhand geen eigenschappen. De correctieve pogingen van AI ontwikkelaars om hun modellen in lijn te brengen met gewenste waarden – het wordt ‘alignment‘ genoemd – zijn er vaak op gericht de modellen achteraf, en van buitenaf, van eigenschappen te voorzien. Het zijn volgens mij wanhoopspogingen met een uithollend effect.

Dit is de wereld van deep learning, waar AI modellen worden getraind met mega hoeveelheden data uit de onversneden werkelijkheid, overal vandaan. Data die bias in zich dragen, onevenwichtigheid die er anders kan uitzien vanuit ander gezichtspunt, maar altijd onevenwichtig is. Die bias is onvermijdbaar, lees wat Yann LeCun (hoofd AI bij Meta) er over zei in een interview met Lex Fridman (maart 2024):

Is it possible to produce an AI system that is not biased? And the answer is: absolutely not, and it’s not because of technological challenges (although there are technological challenges to that). It’s because bias is in the eye of the beholder — different people may have different ideas about what constitutes bias.You cannot have a system that is unbiased and is perceived as unbiased by everyone.
Author Name

Recent schreef John B. Dutton in The Generator een artikel over dit onderwerp, onder meer met de retorische vraag: waarom gebruiken mensen AI modellen om beelden te genereren van Founding Fathers, pausen, vikingen en wat al, terwijl je er alles over kan vinden in Wikipedia en andere bronnen, en er al een enorme hoeveelheid beeldmateriaal online beschikbaar is? Wat bezielt ze?

Het antwoord kan eigenlijk niet anders zijn dan dat ze iets nieuws willen creëren: kunst. Bij kunst noemen we ‘bias’ een ‘invalshoek’, die interessant en uitdagend kan zijn. Die je prikkelt om na te denken over de manier waarop, jawel, jouw werkelijke wereld zich tot mogelijke wereld(en) verhoudt.

Misschien moeten we de niet-aangelijnde modellen liever koesteren, dan ze af te richten om politiek-cultureel-maatschappelijk-etc correcte resultaten te produceren. Vangrails moeten er waarschijnlijk zijn, voor werkelijk kwaad doende uitkomsten, maar de kwaadaardigheid komt niet spontaan uit de modellen zelf – die hebben immers geen eigenschappen, ook deze niet.

De samenvatting van mijn LinkedIn-profiel is tegenwoordig “(hij) leest en schrijft”. De afgelopen tijd is het wat het onderwerp van deze site betreft vooral lezen geweest, het schrijven is achter gebleven. Dat heeft te maken met de complexiteit van het inhoudelijk terrein waarop ik me wilde begeven.

Het is moeilijke materie, ook conceptueel. Ik was eerlijk gezegd wat naïef in de gedachte dat ik dit gebied wel eens eventjes bloot zou leggen in een paar goed geschreven blogberichten.

Misschien was ik overmoedig geworden door de hier en daar redelijk goed gelukte pogingen om te begrijpen hoe de wereld van deep learning en van de taalmodellen eruit ziet, en er op deze website inzichtelijk over te schrijven.

Misschien lukte dat wel goed omdat het daar conceptueel niet zo ingewikkeld in elkaar zit. Beter gezegd: je kunt daar de conceptuele ingewikkeldheid ontlopen of uitstellen omdat die het gevolg, en niet de grondslag, is van in gang gezette deep learning met inhoudelijk materiaal dat met veel technisch geweld bijeen is gebracht, geschraapt eigenlijk.

Bron: Wikipedia. Dat het ook echt Bayes is, is niet zeker maar het is de enige afbeelding van de man die algemeen gebruikt wordt.

Een van de eerste berichten op deze site heet “Waar te beginnen?” Met net zo’n gevoel sta ik op dit moment in mijn zelfgekozen landschap van onderzoek naar en ontwerp van “Ecosystems of Intelligence“, een door Karl Friston cs aangedragen werktitel. Hier komen onvermijdelijk veel vakinhoudelijke inzichten samen, vanuit verschillende achtergronden die uiteen lopen van neurowetenschap tot cybernetica, van biologie tot wiskunde, van fysica tot statistiek.

Gelukkig ben ik hier niet zonder enig richtinggevoel, in eerdere berichten schreef ik al wel over elementen uit de confluentie van vakinhouden. Met name in Homeostase en Zelforganisatie staat geen onzin, sterker: ze raken volgens mij aan de essentie van het onderwerp. In zeker opzicht zijn ze echter naar het antwoord toe geschreven. Om mijn eigen begrip verder te brengen moet ik dieper gaan. Op zoek naar onderliggende concepten, zonder dat die vooraf al gezien worden in de context van AI, of ecosystemen van intelligentie. Misschien gaan we te veel divergeren, maar ik begin –zoals eerder– maar eens te trekken aan een paar draadjes uit de grote ingewikkelde kluwen.

Een zo’n draadje heet inference in het jargon, ‘inferentie’ (of gevolgtrekking zo je wilt). Er aan vast zit het draadje dat predictive processing (of coding) wordt genoemd. Verwacht daarvan de uitwerking in komende berichten, maar eerst wil ik de Reverend Thomas Bayes voor het voetlicht halen. Van hem en zijn inhoudelijk werk kan ik in elk geval garanderen dat het niet op voorhand in de context van AI staat: hij leefde in de 18e eeuw.

Wonderlijk genoeg speelt zijn werk, met name de stelling die het Theorema van Bayes wordt genoemd, een belangrijke rol in meerdere van de vakgebieden die ik noemde. Men spreekt van Bayesiaans inferentie, het Bayesiaanse brein, Bayesiaanse statistiek, Bayesiaanse netwerken en nog andere onderwerpen die in naam aan Bayes verbonden zijn zonder dat hij daar zelf aan heeft bijgedragen. Dat moet een krachtig theorema zijn…

Recent zijn er boeken uitgekomen die de invloed van het Bayesiaanse denken uit de doeken doen. Everything is Predictable van Tom Chivers, Bayesian Inference from the Ground Up van Eric-Jan Wagenmakers en Dora Matzke en natuurlijk Active Inference van Karl Friston, Thomas Parr en Giovanni Pezzulo. In die boeken heb ik veel van het leeswerk gestoken dat ik in het begin noemde.

Levende organismen zijn voortdurend in interactie met hun omgeving om te kunnen blijven bestaan. Friston en anderen spreken over homeostase.

Het ging er al eerder over dat in beginsel een eenvoudig systeem genoeg is: een receptor om een omstandigheid gewaar te kunnen worden, een regelcentrum dat regie voert op basis van bepaalde bandbreedtes en een effector om arbeid te verrichten die nodig is om bij eventuele overschrijding van de bandbreedtes het systeem weer binnen de grenzen te brengen.

Bron: Active Inference (Parr, Pezzulo en Friston)

De werkelijkheid is minder eenvoudig, uiteraard. Het is niet zo simpel dat een organisme via zintuigen rechtstreeks is aangesloten op de buitenwereld en dat er vanuit het regelcentrum direct commando’s verstuurd kunnen worden om aanpassingen aan die buitenwereld te doen.

Friston cs schrijven in hun recente boek Active Inference: “Active Inference is a normative framework to characterize Bayes-optimal behavior and cognition in living organisms.” Het ‘normatieve’ in dit citaat geeft aan dat er een overheersend imperatief is voor gedrag en cognitie van levende organismen: het minimaliseren van “surprise“, discrepantie, in hun sensorische waarnemingen. Dit is een belangrijk mechanisme binnen het Free Energy Principle, dat onlosmakelijk met Friston is verbonden.

Ik wil gaan begrijpen hoe dit framework er uit ziet en op deze site verslag doen van mijn bevindingen. Van wat ik er alvast van gezien heb is het een pittige inhoud, zowel feitelijk qua wiskunde en neurowetenschap zeg maar, als conceptueel. Aan de wiskundige kant is er veel contra-intuïtief en het gedachtegoed van Friston wordt door velen als tamelijk ontoegankelijk gezien. Illustratief is misschien zijn eigen notitie in het voorwoord van het boek: “I have a confession to make. I did not write much of this book. Or, more precisely, I was not allowed to. This book’s agenda calls for a crisp and clear writing style that is beyond me.

In het inleidende hoofdstuk is een soort routekaart opgenomen voor de concepten die je langs moet, met een high road en een low road die elk op eigen manier bij Active Inference uitkomen. Die kaart wordt ook mijn checklist voor de komende tijd. Het boek zelf geeft er uiteraard uitwerking aan, maar ik wil zelf waar mogelijk op zoek naar oorsprong van de gebruikte concepten en ideeën, en zo ook lezen en schrijven over de historische herkomst en context.

Routekaart

Hieronder staat de routekaart zonder commentaar, maar merk op dat ‘Bayes’ op een aantal plaatsen op de low road wordt genoemd.

Bron: Active Inference (Parr, Pezzulo en Friston)

Mijnheer Van Dijk was geen Bayesiaan, anders had hij nog wel een keer gekeken misschien. Nu staat er op de fictieve grafsteen van de even fictieve man:
Hier ligt Van Dijk, hij had gelijk, hij kwam van rechts.

Ik moet eerlijk bekennen dat ik tot voor kort niet had gehoord dat er onder statistici twee kampen bestaan: de Bayesianen en de frequentisten. Het is wellicht overdreven om over kampen te spreken omdat de verschillende manieren van beschouwen ook complementair kunnen zijn en als verschillende gereedschappen kunnen worden ingezet. Onder de gereedschappen liggen echter ook principieel verschillende opvattingen over wetenschap en de beschouwing van de wereld.

NB De verschillen zijn grimmiger geworden tijdens de zg. replicatiecrisis in de psychologie en in de sociale wetenschappen toen bleek dat resultaten van gepubliceerde onderzoeken, ook die met veel impact, niet altijd reproduceerbaar waren. De oorzaak lag bij het inzetten van het frequentistische gereedschap ‘p-waarde’. Veel artikelen zijn toen teruggetrokken.

NB De afbeelding is ter verluchtiging en wordt in het bericht niet gebruikt.

Hoe sta je er zelf in?

We doen een test, een gedachtenexperiment (maar je zou het ook kunnen uitvoeren). Ik heb hier een normale euromunt, met twee verschillende kanten, kop resp. munt. Als ik die euro op gooi, wat is dan de kans dat na de landing kop boven ligt? Ik hoor je zeggen, en zeg het je na: 50%.

Nu gooi ik die munt ook echt op, en vang hem op in mijn hand, afgedekt met mijn andere hand — zoals dat vaak gaat bij tossen.

Ik kijk nog even niet en laat het jou ook niet zien – en stel nogmaals de vraag:
wat is de kans dat kop boven ligt?

  • Zeg jij: ja dat is natuurlijk nog steeds 50%. Er is voor mij toch niets veranderd?
  • Of zeg je: wat een onzin vraag. De munt is geland dus ligt met kop boven of onder, er is geen sprake meer van kans maar van zekerheid — alleen ken ik die nog niet.

Het eerste antwoord is dat van een Bayesiaan, die gaat uit van eigen perspectief, van een subjectieve waarneming van de werkelijkheid zo je wilt. Het tweede antwoord is typisch voor de frequentist: alleen de buitenwereld telt, en de objectief vaststelbare zaken daar – ook al ken je die soms (nog) niet.

Drie deuren probleem

Het drie-deuren-probleem, ook bekend als het Monty Hall probleem, test je intuïtie op het gebied van het inschatten van waarschijnlijkheden. Een klassieker waarvan de oplossing veel rumoer opleverde, zelfs bij wiskundigen.

Waar gaat het over? Jij bent deelnemer aan een spelshow op televisie waarin een auto te winnen is. De oerversie komt uit het programma Let’s Make a Deal dat van 1963-1977 werd uitgezonden met presentator Monty Hall.
Je staat op het podium waar ook drie gesloten deuren zijn. De presentator vertelt je dat er achter één van de deuren een nieuwe auto staat, of in elk geval de sleutels, achter de andere deuren staat een geit. Je mag een deur kiezen en wat er achter staat mag je houden. Misschien ga je met een mooie auto naar huis, misschien met een geit – het hangt van je keuze af.

Kies een deur, zegt de presentator, en ga er alvast voor staan. Dan zal ik de deur openen en weet je wat je gewonnen hebt. Je kiest een deur, zeg deur 1, en gaat er staan. De presentator komt aanlopen om het geheim te onthullen, maar houdt de pas even in en zegt dat hij het nog wat spannender wil maken. Hij zal eerst een van de andere deuren openen en je laten zien wat er achter staat, daarna mag je nog van keuze veranderen! Hij opent deur 3, en zie – daar staat een geit.

Wat nu? Je hebt deur 1 gekozen, maar de presentator zegt dat je naar deur 2 mag overstappen. Maakt het wat uit? Is het verstandig om te switchen of juist te blijven staan?

Een frequentistische kandidaat zal zeggen: het maakt niks uit – er zijn nog twee deuren over, achter een deur staat een auto, achter de andere een geit. Eerst was mijn kans om goed te raden 1/3, nu er een deur afvalt is het fifty-fifty geworden, ik kan net zo goed blijven staan.

Een Bayesiaanse kandidaat heeft een andere redenering en zegt: met elke deur die ik aan het begin kies heb ik kans 1/3 dat ik de auto win. Anders gezegd: de kans is 2/3 dat ik verlies omdat de auto achter een van de twee andere deuren staat. De presentator weet natuurlijk waar de auto staat en opent een deur met een geit. Er is achter de deuren zelf niets gebeurd, dus de kans dat de auto achter de twee niet door mij gekozen deuren staat is 2/3 gebleven.
Omdat een van de twee niet gekozen deuren geopend is, in dit geval deur 3, weet ik nu zeker dat áls de auto niet achter mijn deur 1 staat hij wel achter deur 2 moet staan. De kans dat mijn eigen deur de goede is blijft 1/3, maar de kans dat de auto achter deur 2 staat is 2/3 geworden. Ik verander dus mijn keuze naar deur 2 en vergroot mijn kans op de auto naar 2/3.

Wat is de crux in de Bayesiaanse redenering? Door het openen van een deur heb ik nieuwe informatie over ‘de wereld’ gekregen. Daar waar in het begin, a priori, de kans op de auto voor elke deur 1/3 was, is ná de opening, a posteriori, de kans van een van de deuren veranderd (verdubbeld). Ik pas mijn wereldbeeld daar op aan.

NB Merk op dat de aanname dat de presentator zijn kennis over waar de auto staat gebruikt om een deur te kiezen hier essentieel is. De aanvullende informatie is het gevolg van de restricted choice die de presentator heeft. Als de presentator met een munt of dobbelsteen zou kiezen, zou je geen aanvullende informatie over de wereld hebben gekregen, dan was immers niet uitgesloten geweest dat hij jouw deur of de deur met de auto zou openen.

Test resultaat

Stel dat je om wat voor reden dan ook een medische diagnose test hebt gedaan om te kijken of je de ziekte Z hebt. De dokter heeft je verteld dat Z op dit moment voorkomt bij 0,1% van de bevolkingsgroep waar je bij hoort. De test is heel betrouwbaar zegt ze, met een ‘betrouwbaarheid’ van 99%. Daarmee wordt bedoeld dat van alle mensen die een positieve uitslag kregen waarmee Z wordt aangetoond, 99% de ziekte ook daadwerkelijk heeft.

Een paar dagen later wordt je gebeld: slecht nieuws – de test heeft een positieve uitslag laten zien. Het lijkt erop dat je inderdaad Z hebt opgelopen.

Het is echt geen goed bericht, maar zit je bij de pakken neer en denk je dat het voor 99% zeker is dat je Z hebt? Of ga je er nog op een Bayesiaanse manier naar kijken?

In het plaatje geeft de ene rode stip in het veld van 1.000 stippen de genoemde 0,1% weer – 1 op de 1.000 mensen heeft Z. Misschien ben jij die rode stip.

De betrouwbaarheid van de test is 99%. Dat wil zeggen dat in 1% van de gevallen de test wel positief uitsloeg maar dat de geteste persoon Z niet heeft.

Die zogenoemde ‘false positives’ zijn de blauwe cellen in het plaatje.

Op de groep van 1.000 geteste personen zijn er dus 11 met een positieve uitslag. Jij bent daar bij, maar heb je ook daadwerkelijk Z?

In deze manier van kijken is de kans dat jij Z hebt dus gelijk aan 1 op 11, zeg maar 9%. Nog steeds slecht nieuws, maar toch minder dramatisch dan de 99% die je eerst dacht.

Het medische diagnose voorbeeld is in de literatuur een soort standaard geworden om de stelling (en formule) van Bayes toe te lichten. Daar wordt meestal gerekend in plaats van getekend. Dat ga ik in een volgend bericht ook doen, nadat ik de formule die bij de stelling hoort aannemelijk heb proberen te maken.

De Stelling van Bayes wordt vaak uitgedrukt in een formule die mooi genoeg is om op een T-shirt te zetten. Om te begrijpen wat er staat is wel wat uitleg nodig, die staat in dit bericht.

Eerder ging het over de situatie dat je in een medische test een positieve uitslag hebt gekregen die aangeeft dat je mogelijk een bepaalde ziekte hebt opgelopen. Als je dat weet, wat is dan de kans dat je de ziekte daadwerkelijk hebt?

Die situatie gebruik ik voor de afleiding van de formule van Bayes:

    \[P(A|B)=\frac{P(B|A)*P(A)}{P(B)}\]

Mijn uitleg is visueel, met Venndiagrammen. Daarna laat ik zien hoe de formule bepaald kan worden. Een berekening met getallen uit het eerdere voorbeeld laat zien hoe de formule in de praktijk werkt. Tot slot een voorbeeld van Bayesiaans denken aan de hand van hetzelfde voorbeeld.

NB De uitleg is geïnspireerd op diverse bronnen op het internet, ik heb het meest gebruik gemaakt van een artikel van Oscar Bonilla: Visualizing Bayes Theorem. De plaatjes heb ik zelf gemaakt, maar komen inhoudelijk overeen met die uit het artikel.

Venndiagrammen

Dit is het Venndiagram van de situatie in het vorige bericht: in een gegeven populatie komt de ziekte A voor.

De cirkels vertegenwoordigen de (aantallen) personen die het betreft. De cirkel A betreft de aantallen personen die de ziekte hebben.

De kans dat een willekeurig gekozen persoon uit de populatie Po de ziekte A heeft opgelopen is als formule te schrijven:

    \[P(A)=\frac{|A|}{|Po|}\]

Formule 1

Op dezelfde manier geven we de groep aan met een positieve uitslag bij de medische diagnose test op de ziekte.

De cirkel B betreft de aantallen personen in de populatie die positief zijn getest.

De kans dat een willekeurig gekozen persoon uit Po positief is getest op de ziekte is in formule:

    \[P(B)=\frac{|B|}{|Po|}\]

Formule 2

Door beide plaatjes samen te voegen kun je zien welk deel van de populatie de ziekte heeft (A), welk deel positief getest is (B) en -op de doorsnede- welk deel positief is getest en ook daadwerkelijk de ziekte heeft opgelopen: A\cap{B}, we schrijven het hier als AB.

Net als in de andere situaties is de kans dat een willekeurig gekozen persoon én ziek én positief getest is in formule vorm te schrijven:

    \[P(AB)=\frac{|AB|}{|Po|}\]

Formule 3

NB De P van P(A) staat voor probabiliteit (de kans op A). Met de | | geven we aan dat het om de aantallen in de betreffende verzameling gaat. Po wordt vaak Universum genoemd.

In het samengevoegde plaatje bevinden zich in het rode deel degenen die wel ziek zijn maar niet positief getest, in het blauwe deel degenen die wel positief testen maar de ziekte niet hebben en in het overlappende deel diegenen die de ziekte hebben én positief testen.

We zoomen in op het blauwe deel van het diagram. Daar waar we voor het grotere geheel spreken over de populatie Po, zou je voor dit deel kunnen spreken over de populatie B (alle positief getesten). Net zoals we hierboven voor A binnen de populatie Po, en B binnen de populatie Po, iets konden zeggen over de probabiliteit kunnen we dat nu over de probabiliteit van tegelijkertijd A en B (AB) binnen de (ingezoomde) populatie B.

We schrijven P(A|B) voor de kans dat je de ziekte hebt, wetende dat je positief getest bent. Dat is precies de kans waar we naar op zoek waren in het vorige bericht. In het algemeen betekent P(A|B) de kans op A gegeven B, men spreekt van een voorwaardelijke kans.

    \[P(A|B)=\frac{|AB|}{|B|}\]

Formule 4

Formules uitwerken en samenvoegen

In de vier formules staan nog de echte aantallen van de populatie. Met eenvoudige wiskunde kunnen we die elimineren en de formule opbouwen met alleen waarschijnlijkheden erin – die staan los van de populatie omvang. Het gaat als volgt.

Formule 3 hierboven kunnen we schrijven als |AB|=P(AB)*|Po|.

En formule 2 als |B|=P(B)*|Po|.

We vullen beide in, in formule 4: P(A|B)=\frac{P(AB)*|Po|}{P(B)*|Po|}

Deel boven en onder door |Po|, en voila we zijn de aantallen kwijt in de formule en houden over:

    \[P(A|B)=\frac{P(AB)}{P(B)}\]

Nog één stap. De situatie zoals we die hebben uitgewerkt betreft de kans dat een persoon ziek is (dus onderdeel van A), wetende dat hij positief getest is (dus onderdeel van B).

Door in de formules A en B te verwisselen zeggen we iets over de kans dat iemand positief test, wetende dat hij ziek is:

    \[P(B|A)=\frac{P(AB)}{P(A)}\]

In de laatste twee formules kunnen we P(AB) elimineren, zoals we dat hierboven met |Po| deden, dan komt er:

    \[P(A|B)*P(B)=P(B|A)*P(A)\]


Dat is eigenlijk al de formule van Bayes, in volle schoonheid vanwege de in het oog springende symmetrie.
Vanwege de interesse in P(A|B) wordt de formule meestal geschreven als:

    \[P(A|B)=\frac{P(B|A)*P(A)}{P(B)}\]

Rekenvoorbeeld

Hoe pas je de formule toe? Ik laat het zien aan de hand van de casus uit het vorige bericht.
Dit zijn de gegevens:

  • In de populatie waar we naar kijken gaat een ziekte rond, met een besmettingsgraad van 0,1%
  • Er is een medische diagnose test met een betrouwbaarheid van 99%, dat wil zeggen dat van alle positief geteste mensen 99% de ziekte ook echt heeft, 1% komt wel positief uit de test maar heeft de ziekte niet.
  • Jij bent positief getest, dat wil zeggen dat de test aangeeft dat je waarschijnlijk de ziekte hebt.

Wat is, vanuit Bayesiaans perspectief, nu de werkelijke kans dat je de ziekte hebt?

We hebben voldoende data om de formule van Bayes te kunnen toepassen, te kunnen invullen. Laten we met A het hebben van de ziekte aangeven, met B de positieve test. We willen weten wat de kans is dat je de ziekte hebt, wetende dat je positief getest bent – dat is P(A|B) in de termen van hierboven, de onbekende zeg maar. Weten we wel wat de waarde van de andere termen in de formule is?

    \[P(A|B)=\frac{P(B|A)*P(A)}{P(B)}\]

  • Boven de streep weten we dat P(B|A) de (voorwaardelijke) kans is positief getest te worden als je de ziekte hebt. Die kans is in deze casus 99% (de betrouwbaarheid van de test).
  • Ook boven de streep staat P(A), de (a priori) kans om de ziekte te hebben. Gegeven de besmettingsgraad kunnen we deze gelijk stellen aan 0,1%
  • Onder de streep staat P(B) voor de kans dat je positief getest wordt. Die heeft twee componenten: een positieve test terwijl je de ziekte hebt – gelijk aan P(A)*P(B|A) (dat is 0,1 % x 99%) – , en een positieve test terwijl je de ziekte niet hebt – gelijk aan P(-A)*P(B|-A) (dat is 99,9% x 1%).

Alles netjes ingevuld levert:

    \[P(A|B)=\frac{0,99*0,001}{0,001*0,99 + 0,999*0,01}=0,090164\]

In procenten is de kans dat je de ziekte werkelijk hebt opgelopen volgens de regel van Bayes circa 9%, overeenkomend met de ‘grafische’ oplossing uit het vorige bericht.

Bayesiaans denken

In vorige en komende berichten op deze site is er volop aandacht voor wat wel Bayesiaans denken wordt genoemd. In deze paragraaf alvast een kernelement uit die manier van denken, geïllustreerd aan het uitgewerkte voorbeeld.

Bayesiaans denken wordt gekenmerkt door wat in essentie een subjectieve benadering is.

  • Je hebt een idee, een overtuiging, over de buitenwereld, en over de situatie die aan de orde is. In het jargon spreekt men van belief.
  • Dat belief is gebaseerd op een (eerste) aanname, een a priori waarschijnlijkheid, in het jargon kortweg de prior.
  • Perceptie van de buitenwereld brengt je tot gevolgtrekking(en), inferentie (inference).
  • Het kan nodig zijn op basis van de inferentie je belief bij te stellen tot een nieuwe, a posteriori, waarschijnlijkheid, de posterior.
  • In (altijd) veranderende omstandigheden zal je nieuwe belief weer tot nieuwe inferentie leiden, waarbij de verkregen posterior je nieuwe prior waarschijnlijkheid wordt en de gang van zaken zich herhaalt.

Zo bouwt de Bayesiaan zijn beeld van de werkelijkheid op, in een cyclus van nieuwe laagjes.

Wat is in ons voorbeeld van de ziekte en de diagnose test de prior? Dat is de aanname over de initiële kans om de ziekte te hebben, gebaseerd op de besmettingsgraad. In het rekenvoorbeeld is die 0,1 %.

De stelling van Bayes geeft ons via de formule de posterior. Dat is de waarschijnlijkheid dat je de ziekte hebt, wetende dat je positief getest bent. In het rekenvoorbeeld komt die op circa 9%.

Stel dat je na de eerste diagnose test voor de zekerheid de test opnieuw laat afnemen. Au, de uitkomst is weer positief. Ook nu stellen we de vraag wat de kans is dat je daadwerkelijk de ziekte hebt.

De formule blijft dezelfde, maar in je nieuwe belief krijgt de prior P(A) een andere waarde, namelijk die van de posterior uit de eerste laag, te weten 9%. Ingevuld wordt dat:

    \[P(A|B)=\frac{0,99*0,09}{0,09*0,99 + 0,91*0,01}=0,907332\]

Je nieuwe posterior, de kans om na twéé positieve testen daadwerkelijk de ziekte te hebben, is bijna 91%. Een groot verschil met de eerste 9%, maar nog steeds niet de 99% van de betrouwbaarheid van de test.

Tot slot van dit bericht een wellicht wat wonderlijke vraag. Dacht Bayes zelf Bayesiaans? Het antwoord wil ik in de ontstaansgeschiedenis van de stelling van Bayes proberen te vinden – in een volgend bericht.

In een vorig bericht vroeg ik me af of Bayes zelf wel Bayesiaans dacht. Als je historie recht wil doen is die vraag nog niet zo eenvoudig te beantwoorden. Laten we teruggaan in de tijd.

We zijn niet al te ver van Londen, in Kent. In Tunbridge Wells om precies te zijn. Hier heeft Thomas Bayes lange tijd geleefd en is hij in 1761 overleden. De plaquette vind je op de poort van het huis waar hij woonde.

De tekst is niet zo toepasselijk. Met een vergelijkbaar anachronisme hadden ze beter kunnen schrijven dat Bayes heeft bijgedragen aan het verslaan van de Duitsers en Japanners in WO II vanwege de cruciale toepassing van zijn stelling in Bletchley Park, bij het kraken van codes en het lokaliseren van onderzeeboten. Of verwijzen naar al die onderwerpen waaraan zijn naam is verbonden zoals Bayesiaanse inferentie, het Bayesiaanse brein, Bayesiaanse statistiek, Bayesiaanse netwerken en meer.

Sociale context

Op de plaquette staat dat Bayes minister was – dominee – en Nonconformist. Dat is: niet bij de Church of England aangesloten, hij is Presbyterian. Zijn familie, en later hij zelf, is welgesteld en financieel onafhankelijk. Over zijn jonge jaren is niet veel bekend, zelfs over zijn geboortejaar is onzekerheid. Ook zijn ouders zijn Nonconformist, zijn vader Joshua Bayes is vooraanstaand dominee in de presbyteriaanse kerk. Daarom kan Thomas niet in Oxford of Cambridge gaan studeren, hij wordt er niet toegelaten vanwege zijn geloof. In Schotland, aan de Universiteit van Edinburgh, zijn er geen bezwaren. Hij studeert er geschiedenis, logica, wiskunde en theologie.

De jonge dertiger Bayes komt als dominee terecht in Tunbridge Wells, niet ver van Londen waar hij is opgegroeid. Hij maakt deel uit van een kring van gelijkgestemden in de Nonconformistische beweging – intellectuelen en theologen die geïnteresseerd zijn in religieuze, filosofische en wetenschappelijke kwesties, ook uit de wiskunde en logica. Hij is academisch gevormd in die vakken, maar wordt door geschiedschrijvers meestal amateur-wiskundige genoemd, in de betekenis van liefhebber die het niet voor zijn brood hoeft te doen. Het verhindert niet dat hij in 1742 Fellow wordt van de Royal Society.

Doctrine of Chances

Bayes zelf is niet bezig met al die onderwerpen die later aan zijn naam zijn gekoppeld, niet in directe zin in elk geval.

Het artikel met zijn inzichten die onder de stelling liggen, wordt door hem zelf niet voor publicatie ingestuurd. Ik schrijf prudent ‘inzichten‘ omdat de stelling van Bayes, de formule, in de vorm die ik in eerdere berichten besprak, niet door hemzelf is opgesteld of geformuleerd. Anderen hebben dat gedaan, op basis van de gedachten van Bayes in genoemd artikel.

Dat artikel, An Essay towards solving a Problem in the Doctrine of Chances, is door zijn vriend en collega Richard Price opgeduikeld in de nagelaten geschriften, die hij doorneemt op verzoek van de familie. Met een eigen voorwoord en wat toelichting stuurt hij het naar de Royal Society.

NB De titel maakt aannemelijk dat het essay past in de lijn van wiskundig werk van anderen, met name van Abraham De Moivre die in 1718 een belangrijk werk over kansrekening had gepubliceerd: The Doctrine of Chances: or, A Method of Calculating the Probability of Events in Play.

In 1763 wordt het artikel gepubliceerd in Philosophical Transactions of the Royal Society of London. Price verdient de credits dat hij het belang van het artikel voor de wetenschap heeft ingezien. In de afbeelding zie je het begin van het artikel, dat wil zeggen van de aanhef van Price. Er zijn bronnen die veronderstellen dat het eigenlijk Price is die de stelling heeft geformuleerd of compleet gemaakt omdat Bayes daar zelf niet (meer) toe in staat was, onder meer door ziekte.

Laplace formuleert de stelling van Bayes

Decennia jaar later pas, in 1814, heeft Pierre-Simon Laplace in zijn werk Essai philosophique sur les probabilités de regel opgesteld zoals wij die kennen, overigens zonder de naam van Bayes te vermelden. Het essai is een inleiding tot de tweede editie van Théorie analytique des probabilités (eerste editie uit 1812).

Ook bij Laplace vind je de T-shirt waardige formule niet. Het gebruik van de verticale streep | in de notatie van voorwaardelijke kans P(A|B) is pas in 1931 voorgesteld door Sir Harold Jeffreys.

Ik heb lang gezocht naar de precieze formulering die Laplace wel gebruikt, op het verkeerde been gezet omdat ik dacht naar een formule te moeten zoeken. Volgens mij is het volgende fragment, op p.183 van Livre II het goede:

NB De vertaling is (met dank aan GPT4-omni):
“Als we een samengestelde gebeurtenis beschouwen, bestaande uit de waargenomen gebeurtenis samen met een toekomstige gebeurtenis, dan is de waarschijnlijkheid van deze laatste gebeurtenis, afgeleid van de waargenomen gebeurtenis, duidelijk de waarschijnlijkheid dat, gegeven dat de waargenomen gebeurtenis heeft plaatsgevonden, de toekomstige gebeurtenis eveneens zal plaatsvinden. Welnu, volgens het principe dat we zojuist hebben uiteengezet, is deze waarschijnlijkheid vermenigvuldigd met die van de waargenomen gebeurtenis, a priori of onafhankelijk van wat al is gebeurd, gelijk aan de waarschijnlijkheid van de samengestelde gebeurtenis, a priori bepaald. We hebben dus dit nieuwe principe met betrekking tot de waarschijnlijkheid van toekomstige gebeurtenissen, afgeleid van waargenomen gebeurtenissen:
De waarschijnlijkheid van een toekomstige gebeurtenis, afgeleid van een waargenomen gebeurtenis, is het quotiënt van de deling van de waarschijnlijkheid van de samengestelde gebeurtenis bestaande uit deze twee gebeurtenissen, a priori bepaald, door de waarschijnlijkheid van de waargenomen gebeurtenis, eveneens a priori bepaald.
Hieruit volgt nog een ander principe met betrekking tot de waarschijnlijkheid van oorzaken, afgeleid van waargenomen gebeurtenissen.
Als een waargenomen gebeurtenis het resultaat kan zijn van n verschillende oorzaken, zijn hun waarschijnlijkheden respectievelijk als de waarschijnlijkheden van de gebeurtenis, afgeleid van hun bestaan; en de waarschijnlijkheid van elk van hen is een breuk waarvan de teller de waarschijnlijkheid van de gebeurtenis is, in de veronderstelling van het bestaan van de oorzaak, en de noemer is de som van soortgelijke waarschijnlijkheden met betrekking tot alle oorzaken.”

Begrijpen van de wereld

Het werk van Bayes is zeer relevant gebleken, voor wiskunde en statistiek en voor grondslagen van de wetenschap. Het is niet voor niets dat zijn gedachtegoed, meer nog dan de stelling zelf, zo alom tegenwoordig lijkt te zijn, ook in het denken over AI. Zie de routekaart van Friston cs in de context van Active Inference.

Ik schreef al dat Bayes zelf met andersoortige vraagstukken bezig was, en ik probeer te begrijpen welke dat geweest kunnen zijn. “Experimentele filosofie“, schrijft Price in zijn aanbiedingsbrief.

Een tijdgenoot van Bayes is David Hume – aanhanger van het empirisme. In die overtuiging zijn er geen aangeboren ideeën. Ons begrip van de wereld is uitsluitend gebaseerd op onze zintuiglijke ervaringen. Er is geen causaliteit in die zin dat, als er iets gebeurt, wij iets anders zouden kunnen aanwijzen als oorzaak. Causaliteit is geen kenmerk van de wereld – alles is toeval, zou je kunnen zeggen.
Wel kunnen we samenhang – ‘constant conjunction‘ – zien, bijvoorbeeld gebeurtenis A die in onze waarneming altijd gevolgd wordt door gebeurtenis B. We kunnen dan wel zeggen dat A de oorzaak van B is, maar het is uit gewoonte: de directe verbinding van A en B, de causaliteit, kunnen we niet empirisch vast stellen. Dat levert gelijk een probleem op voor de geldigheid van inductief redeneren: we kunnen niet met zekerheid zeggen dat ook in de toekomst B altijd zal volgen op A.

In de filosofie, het geloof, van Bayes is er wel sprake van causaliteit. Terugredenerend bij dingen die gebeuren zijn er wel oorzaken aan te wijzen, en uiteindelijk voert alles terug naar één eerste veroorzaker: God.

Hume acht het zeer onwaarschijnlijk dat God bestaat, het is niet empirisch te bewijzen.

Price (en mogelijk Bayes, maar dat weten we niet) is er alles aan gelegen om aan te tonen dat er een keten van oorzaken bestaat. Dit is een veelzeggend citaat uit de aanbiedingsbrief van Price:

The purpose I mean is, to shew what reason we have for believing that there are in the constitution of things fixt laws according to which things happen, and that, therefore, the frame of the world must be the effect of the wisdom and power of an intelligent cause; and thus to confirm the argument taken from final causes for the existence of the Deity. It will be easy to see that the converse problem solved in this essay is more directly applicable to this purpose; for it shews us, with distinctness and precision, in every case of any particular order or recurrency of events, what reason there is to think that such recurrency or order is derived from stable causes or regulations innature, and not from any irregularities of chance.

Het “converse problem solved” in het citaat is de inverse probability, de omgekeerde kans, die de kern van de stelling van Bayes is. Dat is de basis om je eerdere beeld van de wereld bij te stellen op basis van waarnemingen van gebeurtenissen, het is voor Bayes en Price de manier om de keten van oorzaken te reconstrueren.

Het is verleidelijk om deze filosofische onderwerpen verder uit te diepen, woven webs of guesses zijn volop aanwezig, maar het brengt ons te ver weg van de focus van deze site: AI en alles wat er mee samenhangt.

Ik neem een snelle weg terug. Al wat Bayes, Price cs bezighoudt zou je met recht kunnen samenvatten als: begrijpen van de wereld.

Het is in deze woorden gelijk ook de kortste verbinding met het onderwerp van deze site, en het werk van Karl Friston, Judea Pearl en anderen. Active inference veronderstelt dat levende organismen, en er op gebaseerde intelligent agents, alleen kunnen blijven bestaan op basis van hun begrip van de wereld – een noodzakelijke, misschien niet voldoende, voorwaarde. Begrip van de wereld zelf is een container, wat er in zit en hoe het werkt is onderwerp van komende berichten.