Veroveren AI-toepassingen natuurkunde?

Onderwerp: Gebruik van computer bij natuurkunde

Je kunt er niet omheen: toepassingen van kunstmatige intelligentie of Artificial Intelligence (AI) duiken overal op. Vooral de toepassing die je kunt gebruiken om informatie te verzamelen en teksten te schrijven komt daarbij vaak prominent in beeld. Ook voor de natuurkunde biedt AI kansen. Wat kun je daarbij met AI en hoe werkt dat?

De eerste ideeën over AI en de ontwikkeling hiervan gaan veel verder terug dan veel mensen denken. Al in de oudheid waren hier ideeën over en vanaf de jaren vijftig werden de eerste stappen gezet voor het bouwen van een ‘intelligente’ machine. AI is dus niet nieuw, maar wat wel nieuw is, is dat we nu voor het eerst iets hebben dat ook echt werkt en voelt als AI. De mogelijke toepassingen van AI breiden zich enorm uit en zijn voor steeds meer mensen toegankelijk. Met de lancering van ChatGPT in november 2022 lag het gebruik van een AI-toepassing opeens voor iedereen binnen handbereik.

Weten wat je doet

De toepassingen van AI zijn ook in de natuurkunde bezig aan een opmars. Sascha Caron is natuurkundige en werkt als onderzoeker en docent machine learning in de hoge energiefysica bij de Radboud Universiteit in Nijmegen en als onderzoeker bij Nikhef, het Nationaal instituut voor subatomaire fysica. Hij bevestigt dat er al handige toepassingen zijn van AI voor de fysica. Maar hij benadrukt ook dat het klakkeloos gebruik van AI geen goed idee is. “Mensen die werken met AI, ook in het natuurkundig onderzoek, moeten wel weten waar ze mee bezig zijn. Bovendien is het belangrijk dat zij beseffen dat ze zelf verantwoordelijk blijven voor de resultaten van AI. Ik vind daarom dat er in Nederland een speciaal onderzoeksinstituut zou moeten komen dat zich bezighoudt met AI, zodat hier meer kennis over komt”, benadrukt Caron. “De invloed van AI neemt alleen maar toe, terwijl de ontwikkeling van grote AI-modellen nu in handen ligt van slechts een paar heel grote bedrijven, die natuurlijk zo hun eigen belangen hebben.”

AI in natuurkundig onderzoek

Hoe kan AI het natuurkundig onderzoek helpen? Eén van de toepassingen is dat je AI kunt gebruiken in plaats van een klassiek simulatiemodel. “Onderzoekers gebruiken sinds de jaren zeventig – met de opkomst van de computer – simulatieprogramma’s voor natuurkundig onderzoek”, legt Caron uit. “In zo’n programma geef je de beginsituatie aan door de beginwaarden voor een aantal parameters - de variabelen die een systeem beschrijven - in te voeren. In het simulatieprogramma zitten dan allerlei theoretische (natuurkundige) formules – waarin deze parameters verwerkt zitten – die het probleem beschrijven dat je onderzoekt. Met de beginwaardes van de parameters berekent de simulatie dan wat de mogelijke eindsituatie zal zijn.”

Simulatiemodel schematisch
Figuur 1: Schematische voorstelling van een simulatiemodel. Het model rekent vanuit de beginwaarden van de parameters (invoer) met natuurkundige formules de uitvoerparameters. Bron: auteur.

Een simulatie is heel handig, want je kunt er een theoretisch model in stoppen en dan voorspellen wat er in verschillende situaties gebeurt. Denk maar eens aan het simuleren van een slinger. Daarmee kun je gegeven een beginpositie op t=0 voorspellen waar de slinger is op tijdstip t. Natuurlijk zou je dit ook eenvoudig kunnen uitrekenen. Maar maak je de situatie ingewikkelder door naar twee slingers te kijken die onderling verbonden zijn met een veer, dan is zelf uitrekenen veel lastiger. Een simulatie waarbij je met kleine tijdstapjes de positie op het volgende tijdstip benadert is dan heel krachtig.

“Met AI kun je de mogelijkheden van een simulatie uitbreiden”, vervolgt Caron. “Je kunt AI leren een simulatie te doen. Zo kan AI helpen bij een klassieke simulatie of deze zelfs helemaal vervangen. Het gebruik van AI kan een simulatie aanzienlijk versnellen. Maar er is nog iets essentieel anders. Bij een klassieke simulatie kun je alleen uitrekenen hoe je van A naar B komt. Maar bij AI kun je vaak ook teruggaan en zo achterhalen als je B hebt, wat dan A geweest moet zijn. Dat maakt AI superinteressant.”

Klassieke simulatie versus AI

Om beter te begrijpen wat het verschil is tussen het gebruik van een klassieke simulatie of het gebruiken van AI, kun je kijken naar een simpel voorbeeld. Stel dat je wilt weten wat de y-waarde is bij een gekozen x-waarde voor de functie f(x) = x2. Als je hiervoor een klassieke simulatie uitvoert, dan zit deze functie in het simulatieprogramma. Je voert dan een waarde in voor x en het simulatieprogramma berekent met deze functie wat dan de y-waarde is.

Simulatie y is x-kwadraat
Figuur 2: Simuleren van functie y=x2 met simulatieprogramma. Bron: auteur.

Bij AI werkt dat anders. Er is nu geen functie, maar een zogeheten neuraal netwerk dat bij een gegeven x-waarde de bijbehorende y-waarde bepaalt.

Neuraal netwerk schematisch
Figuur 3: Simuleren van functie y=x2 met AI die gebruikmaakt van een neuraal netwerk. Bron: auteur.

Maar hoe kan AI een natuurkundige functie leren alleen maar met behulp van data, zonder de functie te kennen? Je kunt het AI-programma trainen door het veel voorbeelden te geven van een x-waarde met de bijbehorende y-waarde. Dat kun je visualiseren als allemaal losse punten met (x,y)-coördinaten die AI in een grafiek zet. Geef je het AI-programma dan een nieuwe x-waarde, dan zal het op basis van de combinaties van x en y die het al heeft gezien, gokken wat de y-waarde moet zijn die hoort bij deze nieuwe x-waarde. Het AI-programma maakt dus een soort functie die door alle x,y-punten gaat, zonder een idee te hebben wat het werkelijke verband is. Je kunt je wel voorstellen dat hoe meer punten van de grafiek al bekend zijn – dus met hoe meer data AI is getraind – hoe beter de gok van AI zal zijn.

Onzichtbaar proces

Het toepassen van AI bij simulaties klinkt ontzettend handig, maar hieraan zit ook een keerzijde. “Het lastige hierbij is”, legt Caron uit, “dat je bij een klassieke simulatie precies weet hoe je van een beginsituatie A naar de eindsituatie B bent gekomen. Dit ligt vastgelegd in de theoretische, natuurkundige formules in het simulatieprogramma. Bij AI wordt de waarde van B echter bepaald door wat er gebeurt in het neurale netwerk in het AI-programma. Dit neurale netwerk ‘gokt’ wat de waarde van B moet zijn wanneer de beginsituatie A is. Maar wat er dan precies in het neurale netwerk gebeurt, dat is voor mensen niet goed inzichtelijk.”

Hoe werkt een neuraal netwerk?

De meeste AI-toepassingen gebruiken een kunstmatig neuraal netwerk, dat lijkt op hoe onze hersenen werken. Vandaar ook de naam kunstmatige intelligentie of artificial intelligence (AI). Een voorbeeld van hoe een kunstmatig neuraal netwerk kan zijn opgebouwd, zie je in figuur 4.

Neuraal netwerk met knooppunten
Figuur 4: Schematische opbouw van een neuraal netwerk. Hierin zie je een invoerlaag met één invoerpunt, een uitvoerlaag met één uitvoerpunt en twee verborgen lagen van drie knooppunten. Alle invoer-, uitvoer- en knooppunten met zijn verbonden met de daaropvolgende laag. Bron: auteur.

Hoe werkt zo’n neuraal netwerk in de praktijk? Stel je voor dat alle bolletjes in het netwerk in figuur 4 personen zijn. En dat het netwerk – zonder dat het bij de personen in de tussenliggende lagen bekend is – getraind wordt om de functie f(x)= x2 te kunnen berekenen.

Neuraal netwerk met mensen
Figuur 5: Het netwerk met namen van personen erbij. Let op: hierin zijn alleen voor de eerste verbindingen de weegfactoren aangegeven. Bron: auteur.

Joep die bij de invoer staat geeft het getal 5 door aan Emma, Paul en Evi die in de volgende laag staan. Zij vermenigvuldigen het getal 5 dan eerst met een zelfgekozen weegfactor. Emma kiest bijvoorbeeld ½, Paul 2 en Evi 5. Na deze berekening geven ze alle drie hun getal door aan Tom, Ahmed en Julia. Ook zij vermenigvuldigen elk getal dat ze krijgen met een weegfactor. De getallen die hieruit komen, tellen ze dan bij elkaar op. Dit getal geven ze ten slotte door aan Nora die bij de uitvoer staat. Nora vermenigvuldigt de getallen die zij van Tom, Ahmed en Julia krijgt ook met een weegfactor en telt die getallen vervolgens op. Dit is dan het eindresultaat dat het neurale netwerk vindt voor de y-waarde die hoort bij x=5. Dit voorbeeld met personen is een vereenvoudigde voorstelling van hoe een neuraal netwerk werkt. In werkelijkheid zit er nog een stap tussen. De invoer van elk knooppunt gaat ook nog door een activatiefunctie die verschillende vormen kan hebben, bijvoorbeeld de ReLU (rectified linear unit). Deze activatiefunctie zet negatieve getallen om in nul.

Figuur 6: De activatiefunctie ReLU zet negatieve getallen om in nul. 
Figuur 6: De activatiefunctie ReLU zet negatieve getallen om in nul. 

Een activatiefunctie is een eenvoudige aanpassing van de getallen die nodig is om niet-lineaire functies te leren (zoals y=x2). Maar het beschreven voorbeeld geeft wel goed inzicht in hoe het proces werkt.

Zoals gezegd wordt het netwerk getraind. Nora is de enige die weet dat er bij deze eerste situatie met een invoer van 5, de waarde 25 uit de berekening zou moeten komen – zonder dat zij overigens weet dat de functie f(x)=x2 hieraan ten grondslag ligt. Dat betekent dat wanneer Nora het getal 65 krijgt, zij weet dat dit een te groot getal is. Nora roept dus naar alle anderen in de verborgen laag dat het getal dat eruit gekomen is veel te hoog is. Met deze kennis past iedereen zijn of haar weegfactor aan, in de hoop dat de volgende uitkomst beter klopt.

Dan begint het proces weer opnieuw met een nieuwe invoer. Nu stopt Joep het getal 7 in het netwerk. Emma, Paul, Evi, Tom, Ahmed en Julia vermenigvuldigen het getal 7 met hun nieuwe weegfactor en geven hun getal weer door. Nu krijgt Nora bijvoorbeeld het getal 36. Zij weet dat bij de invoer van 7 het uitvoergetal 49 moet zijn en ziet dat het getal dat er nu uitkomt te laag is. Weer roept Nora naar de anderen dat de uitkomst niet klopt en dat deze nu te laag is. Ze passen hun weegfactoren daarom allemaal weer aan. Zo gaat het proces door, totdat er zoveel situaties zijn doorgerekend, dat de weegfactoren precies goed zijn en er steeds het goede antwoord uitrolt.

In dit voorbeeld zie je dat degenen die in de verborgen laag zitten, geen idee hebben wat het verband is tussen de ingevoerde waarde en de uitkomst. Ze krijgen alleen wat informatie die zij gebruiken om hun weegfactor aan te passen. Je kunt je voorstellen dat wanneer een netwerk uit heel veel knooppunten en verborgen lagen bestaat, het onmogelijk is om te zien hoe het neurale netwerk tot een eindoordeel is gekomen.

Wat AI dus eigenlijk doet is het bepalen hoe de grafiek van een functie loopt. AI bepaalt deze vorm door de weegfactoren van onderlinge verbindingen tussen knooppunten steeds weer aan te passen. Hoe dat aanpassen van de weegfactoren gaat, is vastgelegd in een algoritme. AI kan dus na verloop van tijd een patroon (de functie) herkennen, zonder dat het ook maar iets weet over de wiskunde achter deze functie.

Op het verkeerde been

In het voorbeeld zag je een eenvoudige functie, f(x)=x2, waarbij er maar één invoer (het getal x) en één uitvoer (het getal y) is. AI kan hetzelfde trucje ook voor meer complexe situaties uitvoeren waarbij er meer invoerpunten zijn en meer uitvoerpunten. Als je AI dan traint, gaat het ook op zoek naar patronen in deze combinatie van invoer- en uitvoergegevens. Omdat je geen inzicht hebt in wat het patroon is dat AI heeft gevonden, kan het soms zo zijn dat je denkt dat AI goed werkt, maar dat het zich eigenlijk baseert op een verkeerd patroon.

In zijn theatershow over AI gaf Lieven Scheire hiervan een mooi voorbeeld. Onderzoekers gebruikten AI een keer om te beoordelen of op een foto een wolf of een husky stond. Het systeem was getraind met heel veel foto’s van husky’s en wolven. De beoordeling ging steeds goed. Totdat er een foto beoordeeld werd als husky, terwijl het toch echt een wolf was. Hoe dat kwam? Alle foto’s van husky’s hadden sneeuw op de achtergrond. Dat bleek het patroon te zijn dat AI had gevonden om foto’s van husky’s te onderscheiden van foto’s van wolven. Toen de foto van een wolf in de sneeuw langskwam, zag AI dit daarom aan voor een husky.

Figuur 6: Wolf of husky uit de theatershow Artificiële intelligentie van Lieven Scheire. Bron: YouTube.

Je kunt AI dus gebruiken in plaats van een simulatie, maar aan welke toepassingen in de natuurkunde kun je nog meer denken? Caron: “Je zou AI bijvoorbeeld ook kunnen gebruiken als je metingen hebt gedaan en je wilt uitzoeken of je kijkt naar het signaal dat je wilt meten of naar ruis. Of om te onderzoeken welke parameters in een proces een rol spelen en welke niet.” Maar om AI op de juiste manier voor dit soort toepassingen te gebruiken, moet je dus wel goed weten wat je doet. Kennis hierover is daarom heel belangrijk, zeker omdat er steeds meer AI-toepassingen bijkomen. “Ik ben ervan overtuigd dat AI niet meer zal verdwijnen. We zullen daarom moeten leren hoe je er op een verantwoorde manier mee kan omgaan”, benadrukt Caron. “Hoe belangrijk het zal worden? Dat blijft moeilijk te voorspellen.”